Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Rb 1639 #4

Closed
wants to merge 219 commits into from
Closed

Rb 1639 #4

wants to merge 219 commits into from

Conversation

schayapathy
Copy link

Want to contribute? Great! Make sure you've read, understood and considered all
the points below before creating your PR:

  • Keep your PR under 200 lines of code and address a single concern.
  • Add unit test(s) and documentation (these do not count toward your 200 lines).
  • Adhere to the Google C++ Style Guide.
  • Run ninja test or catkin_make_isolated --install --use-ninja --pkg cartographer --make-args test as appropriate.
  • Keep rebasing (or merging) of master branch to a minimum. It triggers Travis
    runs for every update which blocks merging of other changes. Our merge bot
    will rebase your branch, reformat your source code and merge as the last step
    in the review process.
  • Please replace this template text with the commit message you want for your
    PR. You and/or the reviewer should keep it updated during the course of the
    review using the GitHub edit feature.

pifon2a and others added 30 commits July 18, 2019 13:45
- Adds TSDF2D Grid
- Adds tests for TSDF2D Grid
- Introduces Grid2D::GrowLimits(...) for multiple grids to reduce code duplication between TSDF2D and Grid2D
* update TrajectoryState of trajectories that got 'trimmed' away to be
 deleted in the PureLocalizationTrimmer
 * update serialization to only serialize 'undeleted' trajectories and
 corresponding options.

cartographer-project#1111
Adds Normal Estimation needed for TSDF RangeDataInserter.
…#1215)

Extract ground truth generation from `autogenerate_ground_truth_main.cc` into a library function in `ground_truth.h/cc`, so it can be reused outside that binary.

Tested with Cartographer ROS.
`cartographer_autogenerate_ground_truth -pose_graph_filename=/home/afleck/Downloads/b3-2016-04-05-15-51-36.bag.pbstream -output_filename=/home/afleck/Downloads/ground_truth.pb`
still runs as before.
…efault. (cartographer-project#1217)

Add the parameter `OptimizationProblemOptions.use_online_imu_extrinsincs_in_3d`. Set it to true by default to not change existing behavior.

Using online IMU extrinsics is not always desirable, and particularly during localization, we have determined that it is preferable to turn this feature off.
Previously, NodeId and SubmapId could be (partially) uninitialized,
for instance like this:

```
NodeId node_id;
SubmapId submap{0}; // uninitialized submap_index
```

This introduces constructors to prevent this.
Adds tests for MapById for the cases: empty MapById, invalid trajectory_id, deleting all entries for a trajectory.
…t#1141)

Adds a parameter for the currently hard coded `kSubmapsToKeep` in `pure_localization` mode.

The new parameter `max_submaps_with_pure_localization` allows to specify the history size of submaps in `pure_localization` mode.

Closes cartographer-project#1116
Before, the metric was in integer seconds and since measurements
are usually quite small, it was mostly outputting 0.
Separate raycast and grid update logic.
Rename raycast to ray_to_pixel_mask.
…rapher-project#1239)

Fixed unintentional casting of high_resolution_max_range from double to int, to float

In SubmapsOptions3D the parameter "high_resolution_max_range" is defined as double. In the code it gets casted to int when calling Submap3D::InsertRangeData and to float when calling FilterRangeDataByMaxRange.
…bmaps2D) (cartographer-project#1238)

Removed the unused member matching_submap_index of ActiveSubmaps3D and ActiveSubmaps2D.
Adjusted the test accordingly.
…t#1237)

As discussed and requested in cartographer-project#1218, this PR removes the substring "_internal" from all the metric family names.
Adds TSDF RangeDataInserter, tests and integrates the configuration files.
Fixes a crash if a client initializes with an initial pose inside a frozen map
that isn't known to the server.
…artographer-project#1244)

Introduce a new overload of ToSeconds for std::chrono::steady_clock and use it for the work queue delay metric.
Removed redundant adaptive voxel fitering in trajectory builder 2d.

Adaptive voxel filtering of the lidar point cloud was performed in InsertIntoSubmap and ScanMatch. Both methods are called from AddAccumulatedRangeData. Now, adaptive voxel filtering is done only once in AddAccumulatedRangeData and the filtered point cloud is then forwarded to InsertIntoSubmap and ScanMatch.
to measure fraction of sensor time that is taken up by voxel filter, scan matcher, and inserting into submap.
…project#1245)

Extracted the ScanMatch method in the LocalTrajectoryBuilder3D.

This is a short refactoring. With that change, the code of LocalTrajectoryBuilder3D resembles LocalTrajectoryBuilder2D more. (see LocalTrajectoryBuilder2D::ScanMatch)
…ject#1247)

This was called fast_correlative before, but the metric was about
the score of the real-time correlative scan matcher in local SLAM.
damienrg and others added 19 commits July 18, 2019 13:45
…oject#1529)

On Ubuntu 16.04, we have to install Protobuf 3. Unfortunately, `find_package()`ing Protobuf using native installed CMake `CONFIG` is problematic in case if there is a system Protobuf 2 installed, while the bundled CMake module works correctly and manages to avoid interference with system-installed Protobuf 2.
…ct#1334)

This commit add support of specifying the option to collate data by
trajectory introduced in cartographer-project#828 in the lua configuration files.
The value is set to false as when a boolean option is not specified it
is initialized to false.
…1537)

This removes the hardcoded value of `collate_by_trajectory` in the cloud
map builder server and permits to configure `collate_by_trajectory`
option with lua.
Remove GenericPoseGraph implementation not to confuse the users. It will come back one day.
* Update dependencies

Update protobuf grpc and bazel-rules and added bazel-skylib (required by
protobuf 3.7.1).

Closes cartographer-project#1519
…ct#1558)

An empty basename would mean a directory path is returned by
GetFullPathOrDie(), which then leads to a cryptic exception when trying
to read from it using the istreambuf_iterator:

"basic_filebuf::underflow error reading the file: iostream error"
…tographer-project#1556)

Add saturation_factor to scale the saturation of the point color to get darker XRay for sparse point cloud.
Apparently the format bot uses a bleeding edge clang-format that uses
the new Google style and reformats a bunch of files in every PR. This is
an empty commit to trigger this in a separate commit.

See llvm-mirror/clang@62e3198
…ct#1563)

`absl::StrCat/StrAppend` convert numeric values to strings with inconsistent
decimal precision, which can lead to ugly formatting of the histogram.

This can be fixed by using `StrAppendFormat` with `%f`, which uses 6
decimals (printf default and as it was when we had `std::to_string`).
…mon/histogram.cc (cartographer-project#1576)

Also updates com_github_jupp0r_prometheus_cpp and bazel_skylib to fix
compatibility issues with bazel 0.25
Copy link

@akshay-prsd akshay-prsd left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Some minor requests

CHANGELOG.rst Outdated
@@ -2,9 +2,21 @@
Changelog for package cartographer
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

<<<<<<< 7c531d49368090ee50c84499a299440e1f5af36f

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

? Rebase problem?

@@ -279,7 +279,11 @@ void PoseGraph2D::ComputeConstraint(const NodeId& node_id,
// local search window.
maybe_add_local_constraint = true;
} else if (global_localization_samplers_[node_id.trajectory_id]->Pulse()) {
maybe_add_global_constraint = true;
if(options_.reduce_global_constraint_search_area()){
maybe_add_local_constraint = true;

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Both cases set it to true?

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The difference between add_local_constraint and add_global_constraint is the area that is searched to find a constraint.
add_local_constraint calls FastCorrelativeScanMatcher2D::MatchWithSearchParameters() function.
Here the current pose of the scan is transformed relative to the submap and then optimized within a search area in the submap to find a loop closure constraint.
add_global_constraint calls FastCorrelativeScanMatcher2D::MatchFullSubmap() functions.
Here the current scan pose is randomly initialized at the center of the submap and then the entire submap is searched to find a loop closure constraint.

If you have prior information about the start of a new trajectory then you can add a local_constraint and restrict the search area. It is better because for global search to work the submaps should have a lot of unique features.
If you are trying to solve robot kidnap problem or any other problem with no prior then it makes sense to add a global_constraint.

options_.reduce_global_constraint_search_area() parameter will give us the flexibility to reduce the global search area if we have prior.
In lines 254 and 255 add_local_constraint and add_global_constraint is set to false.

bool maybe_add_local_constraint = false;

@schayapathy schayapathy force-pushed the RB-1639 branch 2 times, most recently from 2cbaad2 to 5f63a60 Compare August 28, 2019 13:59
@akshay-prsd
Copy link

Also can we run the existing tests?

1 similar comment
@akshay-prsd
Copy link

Also can we run the existing tests?

@schayapathy
Copy link
Author

ninja: warning: multiple rules generate abseil/src/abseil-build/absl/synchronization/libabsl_synchronization.a. builds involving this target will not be correct; continuing anyway [-w dupbuild=warn]
[0/1] Running tests...
Test project /home/sindhura/catkin_ws/build_isolated/cartographer/install
Start 1: cartographer.mapping.2d.range_data_inserter_2d_test
1/80 Test #1: cartographer.mapping.2d.range_data_inserter_2d_test ......................................... Passed 0.01 sec
Start 2: cartographer.mapping.2d.xy_index_test
2/80 Test #2: cartographer.mapping.2d.xy_index_test ....................................................... Passed 0.00 sec
Start 3: cartographer.mapping.2d.map_limits_test
3/80 Test #3: cartographer.mapping.2d.map_limits_test ..................................................... Passed 0.00 sec
Start 4: cartographer.mapping.2d.tsdf_2d_test
4/80 Test #4: cartographer.mapping.2d.tsdf_2d_test ........................................................ Passed 0.01 sec
Start 5: cartographer.mapping.2d.submap_2d_test
5/80 Test #5: cartographer.mapping.2d.submap_2d_test ...................................................... Passed 0.01 sec
Start 6: cartographer.mapping.2d.probability_grid_test
6/80 Test cartographer-project#6: cartographer.mapping.2d.probability_grid_test ............................................... Passed 0.01 sec
Start 7: cartographer.mapping.2d.tsdf_range_data_inserter_2d_test
7/80 Test cartographer-project#7: cartographer.mapping.2d.tsdf_range_data_inserter_2d_test .................................... Passed 0.02 sec
Start 8: cartographer.mapping.2d.tsd_value_converter_test
8/80 Test cartographer-project#8: cartographer.mapping.2d.tsd_value_converter_test ............................................ Passed 0.01 sec
Start 9: cartographer.mapping.submaps_test
9/80 Test cartographer-project#9: cartographer.mapping.submaps_test ........................................................... Passed 0.00 sec
Start 10: cartographer.mapping.3d.submap_3d_test
10/80 Test cartographer-project#10: cartographer.mapping.3d.submap_3d_test ...................................................... Passed 0.00 sec
Start 11: cartographer.mapping.3d.range_data_inserter_3d_test
11/80 Test cartographer-project#11: cartographer.mapping.3d.range_data_inserter_3d_test ......................................... Passed 0.01 sec
Start 12: cartographer.mapping.3d.hybrid_grid_test
12/80 Test cartographer-project#12: cartographer.mapping.3d.hybrid_grid_test .................................................... Passed 0.33 sec
Start 13: cartographer.mapping.pose_graph_trimmer_test
13/80 Test cartographer-project#13: cartographer.mapping.pose_graph_trimmer_test ................................................ Passed 0.00 sec
Start 14: cartographer.mapping.map_builder_test
14/80 Test cartographer-project#14: cartographer.mapping.map_builder_test ....................................................... Passed 5.64 sec
Start 15: cartographer.mapping.pose_graph_test
15/80 Test cartographer-project#15: cartographer.mapping.pose_graph_test ........................................................ Passed 0.01 sec
Start 16: cartographer.mapping.internal.2d.ray_to_pixel_mask_test
16/80 Test cartographer-project#16: cartographer.mapping.internal.2d.ray_to_pixel_mask_test ..................................... Passed 0.00 sec
Start 17: cartographer.mapping.internal.2d.normal_estimation_2d_test
17/80 Test cartographer-project#17: cartographer.mapping.internal.2d.normal_estimation_2d_test .................................. Passed 0.01 sec
Start 18: cartographer.mapping.internal.2d.pose_graph_2d_test
18/80 Test cartographer-project#18: cartographer.mapping.internal.2d.pose_graph_2d_test ......................................... Passed 0.99 sec
Start 19: cartographer.mapping.internal.2d.scan_matching.real_time_correlative_scan_matcher_2d_test
19/80 Test cartographer-project#19: cartographer.mapping.internal.2d.scan_matching.real_time_correlative_scan_matcher_2d_test ... Passed 0.01 sec
Start 20: cartographer.mapping.internal.2d.scan_matching.correlative_scan_matcher_test
20/80 Test cartographer-project#20: cartographer.mapping.internal.2d.scan_matching.correlative_scan_matcher_test ................ Passed 0.00 sec
Start 21: cartographer.mapping.internal.2d.scan_matching.ceres_scan_matcher_2d_test
21/80 Test cartographer-project#21: cartographer.mapping.internal.2d.scan_matching.ceres_scan_matcher_2d_test ................... Passed 0.01 sec
Start 22: cartographer.mapping.internal.2d.scan_matching.fast_correlative_scan_matcher_2d_test
22/80 Test cartographer-project#22: cartographer.mapping.internal.2d.scan_matching.fast_correlative_scan_matcher_2d_test ........ Passed 3.05 sec
Start 23: cartographer.mapping.internal.2d.scan_matching.tsdf_match_cost_function_2d_test
23/80 Test cartographer-project#23: cartographer.mapping.internal.2d.scan_matching.tsdf_match_cost_function_2d_test ............. Passed 0.01 sec
Start 24: cartographer.mapping.internal.2d.scan_matching.occupied_space_cost_function_2d_test
24/80 Test cartographer-project#24: cartographer.mapping.internal.2d.scan_matching.occupied_space_cost_function_2d_test ......... Passed 0.01 sec
Start 25: cartographer.mapping.internal.2d.scan_matching.interpolated_tsdf_2d_test
25/80 Test cartographer-project#25: cartographer.mapping.internal.2d.scan_matching.interpolated_tsdf_2d_test .................... Passed 0.01 sec
Start 26: cartographer.mapping.internal.2d.overlapping_submaps_trimmer_2d_test
26/80 Test cartographer-project#26: cartographer.mapping.internal.2d.overlapping_submaps_trimmer_2d_test ........................ Passed 0.01 sec
Start 27: cartographer.mapping.internal.connected_components_test
27/80 Test cartographer-project#27: cartographer.mapping.internal.connected_components_test ..................................... Passed 0.01 sec
Start 28: cartographer.mapping.internal.3d.pose_graph_3d_test
28/80 Test cartographer-project#28: cartographer.mapping.internal.3d.pose_graph_3d_test ......................................... Passed 0.02 sec
Start 29: cartographer.mapping.internal.3d.local_trajectory_builder_3d_test
29/80 Test cartographer-project#29: cartographer.mapping.internal.3d.local_trajectory_builder_3d_test ........................... Passed 2.36 sec
Start 30: cartographer.mapping.internal.3d.scan_matching.ceres_scan_matcher_3d_test
30/80 Test cartographer-project#30: cartographer.mapping.internal.3d.scan_matching.ceres_scan_matcher_3d_test ................... Passed 0.01 sec
Start 31: cartographer.mapping.internal.3d.scan_matching.interpolated_grid_test
31/80 Test cartographer-project#31: cartographer.mapping.internal.3d.scan_matching.interpolated_grid_test ....................... Passed 0.02 sec
Start 32: cartographer.mapping.internal.3d.scan_matching.real_time_correlative_scan_matcher_3d_test
32/80 Test cartographer-project#32: cartographer.mapping.internal.3d.scan_matching.real_time_correlative_scan_matcher_3d_test ... Passed 0.04 sec
Start 33: cartographer.mapping.internal.3d.scan_matching.precomputation_grid_3d_test
33/80 Test cartographer-project#33: cartographer.mapping.internal.3d.scan_matching.precomputation_grid_3d_test .................. Passed 0.02 sec
Start 34: cartographer.mapping.internal.3d.scan_matching.rotation_delta_cost_functor_3d_test
34/80 Test cartographer-project#34: cartographer.mapping.internal.3d.scan_matching.rotation_delta_cost_functor_3d_test .......... Passed 0.00 sec
Start 35: cartographer.mapping.internal.3d.scan_matching.rotational_scan_matcher_test
35/80 Test cartographer-project#35: cartographer.mapping.internal.3d.scan_matching.rotational_scan_matcher_test ................. Passed 0.00 sec
Start 36: cartographer.mapping.internal.3d.scan_matching.fast_correlative_scan_matcher_3d_test
36/80 Test cartographer-project#36: cartographer.mapping.internal.3d.scan_matching.fast_correlative_scan_matcher_3d_test ........ Passed 1.55 sec
Start 37: cartographer.mapping.internal.trajectory_connectivity_state_test
37/80 Test cartographer-project#37: cartographer.mapping.internal.trajectory_connectivity_state_test ............................ Passed 0.01 sec
Start 38: cartographer.mapping.internal.range_data_collator_test
38/80 Test cartographer-project#38: cartographer.mapping.internal.range_data_collator_test ...................................... Passed 0.00 sec
Start 39: cartographer.mapping.internal.motion_filter_test
39/80 Test cartographer-project#39: cartographer.mapping.internal.motion_filter_test ............................................ Passed 0.00 sec
Start 40: cartographer.mapping.internal.constraints.constraint_builder_2d_test
40/80 Test cartographer-project#40: cartographer.mapping.internal.constraints.constraint_builder_2d_test ........................ Passed 0.73 sec
Start 41: cartographer.mapping.internal.constraints.constraint_builder_3d_test
41/80 Test cartographer-project#41: cartographer.mapping.internal.constraints.constraint_builder_3d_test ........................ Passed 0.72 sec
Start 42: cartographer.mapping.internal.optimization.cost_functions.landmark_cost_function_2d_test
42/80 Test cartographer-project#42: cartographer.mapping.internal.optimization.cost_functions.landmark_cost_function_2d_test .... Passed 0.00 sec
Start 43: cartographer.mapping.internal.optimization.cost_functions.spa_cost_function_2d_test
43/80 Test cartographer-project#43: cartographer.mapping.internal.optimization.cost_functions.spa_cost_function_2d_test ......... Passed 0.00 sec
Start 44: cartographer.mapping.internal.optimization.cost_functions.landmark_cost_function_3d_test
44/80 Test cartographer-project#44: cartographer.mapping.internal.optimization.cost_functions.landmark_cost_function_3d_test .... Passed 0.00 sec
Start 45: cartographer.mapping.internal.optimization.optimization_problem_3d_test
45/80 Test cartographer-project#45: cartographer.mapping.internal.optimization.optimization_problem_3d_test ..................... Passed 0.05 sec
Start 46: cartographer.mapping.id_test
46/80 Test cartographer-project#46: cartographer.mapping.id_test ................................................................ Passed 0.00 sec
Start 47: cartographer.mapping.trajectory_node_test
47/80 Test cartographer-project#47: cartographer.mapping.trajectory_node_test ................................................... Passed 0.00 sec
Start 48: cartographer.mapping.pose_extrapolator_test
48/80 Test cartographer-project#48: cartographer.mapping.pose_extrapolator_test ................................................. Passed 0.78 sec
Start 49: cartographer.mapping.imu_tracker_test
49/80 Test cartographer-project#49: cartographer.mapping.imu_tracker_test ....................................................... Passed 0.00 sec
Start 50: cartographer.mapping.probability_values_test
50/80 Test cartographer-project#50: cartographer.mapping.probability_values_test ................................................ Passed 0.01 sec
Start 51: cartographer.mapping.value_conversion_tables_test
51/80 Test cartographer-project#51: cartographer.mapping.value_conversion_tables_test ........................................... Passed 0.04 sec
Start 52: cartographer.common.math_test
52/80 Test cartographer-project#52: cartographer.common.math_test ............................................................... Passed 0.00 sec
Start 53: cartographer.common.fixed_ratio_sampler_test
53/80 Test cartographer-project#53: cartographer.common.fixed_ratio_sampler_test ................................................ Passed 0.23 sec
Start 54: cartographer.common.thread_pool_test
54/80 Test cartographer-project#54: cartographer.common.thread_pool_test ........................................................ Passed 0.01 sec
Start 55: cartographer.common.lockless_queue_test
55/80 Test cartographer-project#55: cartographer.common.lockless_queue_test ..................................................... Passed 0.00 sec
Start 56: cartographer.common.blocking_queue_test
56/80 Test cartographer-project#56: cartographer.common.blocking_queue_test ..................................................... Passed 0.51 sec
Start 57: cartographer.common.task_test
57/80 Test cartographer-project#57: cartographer.common.task_test ............................................................... Passed 0.01 sec
Start 58: cartographer.common.configuration_files_test
58/80 Test cartographer-project#58: cartographer.common.configuration_files_test ................................................ Passed 0.02 sec
Start 59: cartographer.common.lua_parameter_dictionary_test
59/80 Test cartographer-project#59: cartographer.common.lua_parameter_dictionary_test ........................................... Passed 0.38 sec
Start 60: cartographer.common.rate_timer_test
60/80 Test cartographer-project#60: cartographer.common.rate_timer_test ......................................................... Passed 0.00 sec
Start 61: cartographer.io.serialization_format_migration_test
61/80 Test cartographer-project#61: cartographer.io.serialization_format_migration_test ......................................... Passed 0.00 sec
Start 62: cartographer.io.points_processor_pipeline_builder_test
62/80 Test cartographer-project#62: cartographer.io.points_processor_pipeline_builder_test ...................................... Passed 0.01 sec
Start 63: cartographer.io.fake_file_writer_test
63/80 Test cartographer-project#63: cartographer.io.fake_file_writer_test ....................................................... Passed 0.00 sec
Start 64: cartographer.io.internal.in_memory_proto_stream_test
64/80 Test cartographer-project#64: cartographer.io.internal.in_memory_proto_stream_test ........................................ Passed 0.00 sec
Start 65: cartographer.io.probability_grid_points_processor_test
65/80 Test cartographer-project#65: cartographer.io.probability_grid_points_processor_test ...................................... Passed 0.01 sec
Start 66: cartographer.io.proto_stream_deserializer_test
66/80 Test cartographer-project#66: cartographer.io.proto_stream_deserializer_test .............................................. Passed 0.13 sec
Start 67: cartographer.io.proto_stream_test
67/80 Test cartographer-project#67: cartographer.io.proto_stream_test ........................................................... Passed 0.00 sec
Start 68: cartographer.sensor.map_by_time_test
68/80 Test cartographer-project#68: cartographer.sensor.map_by_time_test ........................................................ Passed 0.00 sec
Start 69: cartographer.sensor.point_cloud_test
69/80 Test cartographer-project#69: cartographer.sensor.point_cloud_test ........................................................ Passed 0.00 sec
Start 70: cartographer.sensor.compressed_point_cloud_test
70/80 Test cartographer-project#70: cartographer.sensor.compressed_point_cloud_test ............................................. Passed 0.26 sec
Start 71: cartographer.sensor.internal.ordered_multi_queue_test
71/80 Test cartographer-project#71: cartographer.sensor.internal.ordered_multi_queue_test ....................................... Passed 0.01 sec
Start 72: cartographer.sensor.internal.voxel_filter_test
72/80 Test cartographer-project#72: cartographer.sensor.internal.voxel_filter_test .............................................. Passed 0.00 sec
Start 73: cartographer.sensor.internal.collator_test
73/80 Test cartographer-project#73: cartographer.sensor.internal.collator_test .................................................. Passed 0.01 sec
Start 74: cartographer.sensor.internal.trajectory_collator_test
74/80 Test cartographer-project#74: cartographer.sensor.internal.trajectory_collator_test ....................................... Passed 0.01 sec
Start 75: cartographer.sensor.range_data_test
75/80 Test cartographer-project#75: cartographer.sensor.range_data_test ......................................................... Passed 0.00 sec
Start 76: cartographer.sensor.landmark_data_test
76/80 Test cartographer-project#76: cartographer.sensor.landmark_data_test ...................................................... Passed 0.00 sec
Start 77: cartographer.transform.timestamped_transform_test
77/80 Test cartographer-project#77: cartographer.transform.timestamped_transform_test ........................................... Passed 0.00 sec
Start 78: cartographer.transform.transform_test
78/80 Test cartographer-project#78: cartographer.transform.transform_test ....................................................... Passed 0.00 sec
Start 79: cartographer.transform.transform_interpolation_buffer_test
79/80 Test cartographer-project#79: cartographer.transform.transform_interpolation_buffer_test .................................. Passed 0.00 sec
Start 80: cartographer.transform.rigid_transform_test
80/80 Test cartographer-project#80: cartographer.transform.rigid_transform_test ................................................. Passed 0.00 sec

100% tests passed, 0 tests failed out of 80

Total Test time (real) = 18.20 sec

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet