Commit Graph

788 Commits (26e8ce63ba4f56c91f208cd177bf9082fd027b58)

Author SHA1 Message Date
Alexander Belyaev 06a9d3544d
Interpolate trajectory node to compute starting point for landmarks. (#997)
[Landmarks RFC](https://github.com/googlecartographer/rfcs/blob/master/text/0011-landmarks.md)
2018-03-16 12:01:55 +01:00
gaschler 37a68cd7f4 LocalTrajectoryBuilder uses RangeDataCollator (#996)
Local SLAM accepts and unwarps time-overlapping range data from multiple sensors.

[RFC=0017](https://github.com/googlecartographer/rfcs/blob/master/text/0017-synchronize-points.md)
FIXES=#910
2018-03-15 16:34:51 +01:00
gaschler 55065a2108 Mockable optimization (#994) 2018-03-15 14:13:59 +01:00
gaschler bd7d7202bf Filter RangeMeasurement (#995)
[RFC=0017](https://github.com/googlecartographer/rfcs/blob/master/text/0017-synchronize-points.md)
2018-03-15 12:31:08 +01:00
gaschler 067d01a364 Test PoseGraph3D (#990) 2018-03-15 11:44:47 +01:00
gaschler ed47f9d8f8 OptimizationProblemInterface (#991)
Derive optimization problems from a new OptimizationProblemInterface.
Move fix_z into OptimizationProblemOptions.
Move trivial getters to header files.
This will allow mocking the optimization problems.
2018-03-15 11:12:26 +01:00
Alexander Belyaev e6c4ee4b8b Move interpolation of poses to 'cost_helpers'. (#992) 2018-03-15 10:33:02 +01:00
Alexander Belyaev 1e4d558ac4
Add landmarks to the state and deserialize them. (#988) 2018-03-14 21:36:15 +01:00
gaschler 36df3eec19
Instrument metrics in GlobalTrajectoryBuilder. (#945)
RFC=[0014](https://github.com/googlecartographer/rfcs/blob/master/text/0014-monitoring.md)
2018-03-14 14:51:40 +01:00
Alexander Belyaev 0190e7cd99 Clean-up dependencies of map_builder and put getters to the header. (#989) 2018-03-14 13:33:44 +01:00
Alexander Belyaev c060a15670
Remove dead code: fast_global_localizer. (#987) 2018-03-13 16:23:27 +01:00
Alexander Belyaev 4d52c46629
Clean-up dependencies and move real_time_correlative_scan_matcher. (#986)
[Internal headers RFC](https://github.com/googlecartographer/rfcs/blob/master/text/0003-internal-headers.md)
2018-03-13 15:18:05 +01:00
Wolfgang Hess c09b643d8d Synchronize correctly in FinishTrajectory(). (#980)
PoseGraph{2D,3D}::FinishTrajectory() calls AddWorkItem() which
requires the mutex to be held. This adds code to do this.
2018-03-13 14:10:51 +01:00
Alexander Belyaev 525f7afe7e
Move sensor-related stuff to internal/. (#985)
[Internal headers RFC](https://github.com/googlecartographer/rfcs/blob/master/text/0003-internal-headers.md)
2018-03-13 13:36:45 +01:00
gaschler 1187480fe6 Introduce RangeDataCollator (#975)
Synchronizes and merge-sorts TimedPointCloudData by per-point timestamps from
multiple sensors.

[RFC=0017](https://github.com/googlecartographer/rfcs/blob/master/text/0017-synchronize-points.md)
2018-03-13 11:08:01 +01:00
Alexander Belyaev 976736051c
Move scan matchers to internal/. (#983) 2018-03-13 10:21:27 +01:00
Alexander Belyaev 70c7660348
Move even more stuff to internal/. (#982)
[Internal headers RFC](https://github.com/googlecartographer/rfcs/blob/master/text/0003-internal-headers.md)
2018-03-12 17:46:31 +01:00
Alexander Belyaev bfbf29dcd6
Move mapping/pose_graph/ to internal/. (#979)
[Internal headers RFC](https://github.com/googlecartographer/rfcs/blob/master/text/0003-internal-headers.md)
2018-03-12 14:00:18 +01:00
Alexander Belyaev 418e0964bf
Move pose_graph_*d related files to internal/. (#976)
[Internal headers RFC](https://github.com/googlecartographer/rfcs/blob/master/text/0003-internal-headers.md)
2018-03-12 12:42:52 +01:00
Juraj Oršulić 091a4f852d Update descriptions in pose_graph.h (#977)
Remove "frozen", since deserialized trajectories can be unfrozen since #891.
2018-03-10 23:50:31 +01:00
Alexander Belyaev def4048e95
Make the cloud_uplink address empty by default. (#974) 2018-03-09 16:57:58 +01:00
Alexander Belyaev 2fe1867221
Fix writing the pbstream via gRPC. (#973) 2018-03-09 16:26:03 +01:00
Alexander Belyaev daa35d3bc8
Move in_memory_proto_stream.* to internal. (#969)
Internal Headers RFC
2018-03-09 15:24:07 +01:00
Juraj Oršulić e1109356cf Require Ceres built against SuiteSparse (#972)
Fixes #971.
2018-03-09 10:24:19 +01:00
Alexander Belyaev bb4ba8b319
Split local_slam_result_data.h into base and 2d/3d parts. (#967) 2018-03-08 15:17:31 +01:00
Alexander Belyaev b29986f297
Remove the pointers to the derived PoseGraph*D classes from map_builder. (#966) 2018-03-08 14:49:41 +01:00
Alexander Belyaev 20a980aade
Remove 'pose_graph_*d.h' from local_slam_result_data.h. (#965) 2018-03-08 13:09:43 +01:00
Alexander Belyaev 256b5a6ff0
Remove '2d/probability_grid.h' include from 'submaps.h'. (#964) 2018-03-08 11:56:42 +01:00
Kevin Daun 82a491181d Add IsTrajectoryFrozen to PoseGraph (#962)
Adds IsTrajectoryFrozen to the PoseGraph interface
2018-03-08 11:18:08 +01:00
gaschler ec078c7e1c Pin gRPC version (#963)
Fixes build failure on trusty
2018-03-08 10:18:28 +01:00
Michael Grupp 7e05daa8ca Remove dotfiles from build files in CMakeLists.txt (#897)
Avoids including unwanted files that could appear in a developer
workspace (e.g. auto-generated files in "dot" folders).
2018-03-06 18:39:46 +01:00
Alexander Belyaev f34df22a24
Update header guards. (#959) 2018-03-05 14:55:51 +01:00
Alexander Belyaev cf180a0b19
Move mapping:: related mocks to cartographer/internal/testing. (#960) 2018-03-05 14:09:04 +01:00
Alexander Belyaev f76d8a8a0d
Move cartographer_grpc/ to cartographer/cloud. (#958)
[Code structure RFC](https://github.com/googlecartographer/rfcs/blob/master/text/0016-code-structure.md)
2018-03-05 12:41:38 +01:00
Alexander Belyaev 93c450bf6c
Change R"PROTO raw strings to just R". (#957)
That is actually why Wally was pushing these changes to everyone: clang-format is ignoring these raw strings and does some weird formatting.
2018-03-05 11:47:00 +01:00
Alexander Belyaev 61552314a0
Rename cartographer_grpc:: namespace as cartographer:☁️:. (#955)
[Code structure RFC](e11bca586f/text/0000-code-structure.md)

also
`cartographer_grpc::mapping::` ->  `cartographer:☁️:`.
`cartographer_grpc::sensor::` ->  `cartographer:☁️:`.
2018-03-02 23:21:28 +01:00
Alexander Belyaev b79e5b8e29
Move framework/, sensor/, testing/ to internal/. (#954)
[Internal hdrs RFC](https://github.com/googlecartographer/rfcs/blob/master/text/0003-internal-headers.md)

Added `map_builder_server_interface.h/cc` to hide `framework/*.h`.
2018-03-02 14:16:49 +01:00
Rodrigo Queiro b51bf3dd6d Fix warning about incorrect workspace name (#951)
The workspace name for prometheus-cpp has been updated to the correct
canonical name.
2018-03-02 13:32:58 +01:00
Alexander Belyaev d05e5d99f4
Hide 'handlers' to internal/. (#952)
[Internal hdrs RFC](https://github.com/googlecartographer/rfcs/blob/master/text/0003-internal-headers.md)

`LocalTrajectoryUploader` implementation was hidden in the anonymous namespace in `local_trajectory_uploader.cc` to remove dependency from handlers/ in the header. The follow-up PR will include splitting the files into `local_trajectory_uploader_interface.h` & `internal/local_trajectory_uploader.*`
2018-03-02 11:38:35 +01:00
gaschler a2219cb2fc
Correct comment (#948) 2018-03-02 10:25:23 +01:00
Alexander Belyaev 97c039bab2
Move pose_graph_stub/trajectory_builder_stub to internal. (#950)
[Internal hdrs RFC](https://github.com/googlecartographer/rfcs/blob/master/text/0003-internal-headers.md)

Also moved /mapping to /client. Namespace changes will follow.
2018-03-01 18:30:30 +01:00
gaschler 0156e6b8ce Instrument metrics in local trajectory builders. (#946)
RFC=[0014](https://github.com/googlecartographer/rfcs/blob/master/text/0014-monitoring.md)
2018-02-28 16:32:40 +01:00
gaschler df1ee4bb29 Fix metric label. (#944)
This makes metrics_test in debug mode happy.
2018-02-28 14:46:26 +01:00
Christoph Schütte c8c81dff35 Ignore pure_localization option on server (#933)
Fixes #914
2018-02-28 12:47:19 +01:00
gaschler 363a337e67 Re-implement VoxelFilter with unordered_set (#938)
Use hashing to filter voxels.
Handles arbitrary grid coordinates up to sizeof(int).

FIXES=#937
2018-02-28 11:12:18 +01:00
Juraj Oršulić 32b8bd3581 Enable loading unfrozen state (#891)
Enable loading unfrozen state
2018-02-27 20:38:57 +01:00
Alexander Belyaev 29875117b3
Move internal/mapping to mapping/internal. (#941) 2018-02-27 16:25:53 +01:00
gaschler 63fd497e0f Document HybridGrid limits. (#939)
Adds documentation to avoid issue #937.
2018-02-27 15:28:35 +01:00
gaschler f606d4b91c Gracefully handle time-overlapping point clouds. (#936)
Per-point relative times are usually computed by multiplying
a per-point time increment by the number of points.
So it is not uncommon for consecutive point clouds of a single
sensor to overlap in time.
When this happens, we act as if no backward jump in time happened
and warn once per input point cloud.

FIXES=#912
2018-02-26 18:38:00 +01:00
Alexander Belyaev 3ebfa757ef
Move mapping_*d to mapping/*d. (#935)
[Code structure RFC](https://github.com/googlecartographer/rfcs/blob/master/text/0016-code-structure.md)
2018-02-26 17:40:29 +01:00