Susanne Pielawa
a04b6cbc48
use common::ToSeconds in local_trajectory_builder and rate_timer.h ( #1248 )
...
use the new overload of ToSeconds (introduced in
[PR1244](https://github.com/googlecartographer/cartographer/pull/1244/files )) in local_trajectory_builder.
2018-07-10 13:14:54 +02:00
Wolfgang Hess
afa3ba5336
Fix the name of real_time_correlative metric in 2D. ( #1247 )
...
This was called fast_correlative before, but the metric was about
the score of the real-time correlative scan matcher in local SLAM.
2018-07-10 10:53:23 +02:00
Martin Schwörer
1fed98727d
extracted ScanMatch method in LocalTrajectoryBuilder3D ( #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)
2018-07-10 10:19:25 +02:00
Susanne Pielawa
3ee7c6710f
Adding metrics ( #1240 )
...
to measure fraction of sensor time that is taken up by voxel filter, scan matcher, and inserting into submap.
2018-07-09 21:20:58 +02:00
Martin Schwörer
aa3ac7e837
Removed redundant 2d voxel filtering ( #1243 )
...
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.
2018-07-09 20:45:55 +02:00
Arno Fleck
9e54a981c6
Introduce common::ToSeconds for std::chrono::steady_clock::duration. ( #1244 )
...
Introduce a new overload of ToSeconds for std::chrono::steady_clock and use it for the work queue delay metric.
2018-07-09 20:13:17 +02:00
Kevin Daun
7dfe404278
Add TSDF RangeDataInserter ( #1236 )
...
Adds TSDF RangeDataInserter, tests and integrates the configuration files.
2018-07-09 13:46:46 +02:00
Arno Fleck
8b2c755a13
Remove "_internal" from the metric family names. ( #1237 )
...
As discussed and requested in #1218 , this PR removes the substring "_internal" from all the metric family names.
2018-07-07 00:20:20 +02:00
Martin Schwörer
044f53735c
removed unused member matching_submap_index (ActiveSubmaps3D,ActiveSubmaps2D) ( #1238 )
...
Removed the unused member matching_submap_index of ActiveSubmaps3D and ActiveSubmaps2D.
Adjusted the test accordingly.
2018-07-06 11:48:25 +02:00
Martin Schwörer
902459e95c
fixed casting of high_resolution_max_range (SubmapsOptions3D) ( #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.
2018-07-06 11:02:38 +02:00
Arno Fleck
627ebb39b9
Add function to get the work queue delay from PoseGraph. ( #1218 )
2018-07-06 09:40:44 +02:00
Kevin Daun
cc9fc75757
Separate raycast and grid update ( #1216 )
...
Separate raycast and grid update logic.
Rename raycast to ray_to_pixel_mask.
2018-07-03 19:51:39 +02:00
Wolfgang Hess
d2f3c1ea31
Fix the local SLAM latency metric. ( #1231 )
...
Before, the metric was in integer seconds and since measurements
are usually quite small, it was mostly outputting 0.
2018-07-03 16:35:58 +02:00
Alexander Belyaev
ddce76d9fb
Make old pbstreams compatible with the new pure_localization_trimmer options. ( #1230 )
2018-07-03 14:27:38 +02:00
Alexander Belyaev
ffb5034390
Mark TSDF::ToProto with override. ( #1227 )
2018-07-03 12:46:30 +02:00
Alexander Belyaev
0a253d24f6
Remove unnecessary std::move. ( #1228 )
2018-07-03 10:56:33 +02:00
Alexander Belyaev
3540996e91
Add options to (not)collate fixed-frame/landmarks data. ( #1224 )
2018-07-02 21:49:00 +02:00
Alexander Reimann
0981620d8f
Add max_submaps_with_pure_localization parameter ( #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 #1116
2018-07-02 20:32:23 +02:00
gaschler
d5ed8a9ded
Add further tests for MapById ( #1226 )
...
Adds tests for MapById for the cases: empty MapById, invalid trajectory_id, deleting all entries for a trajectory.
2018-07-02 19:37:44 +02:00
gaschler
7839f3f216
Avoid uninitialized NodeId, SubmapId ( #1223 )
...
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.
2018-07-02 14:51:48 +02:00
Arno Fleck
7fcc4576a8
Add use_online_imu_extrinsics_in_3d parameter and set it to true by default. ( #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.
2018-07-02 13:40:21 +02:00
gaschler
22ea782fad
Handle invalid requests. ( #1222 )
...
FIXES=#1221
2018-07-02 13:05:28 +02:00
Kevin Daun
b4594bcdbd
Add Normal Estimation ( #1213 )
...
Adds Normal Estimation needed for TSDF RangeDataInserter.
2018-06-26 14:22:16 +02:00
Sebastian Klose
2bd987ffb4
Fix serialization for deleted trajectories. ( #1214 )
...
* update TrajectoryState of trajectories that got 'trimmed' away to be
deleted in the PureLocalizationTrimmer
* update serialization to only serialize 'undeleted' trajectories and
corresponding options.
#1111
2018-06-26 13:36:42 +02:00
Kevin Daun
15ecb88a92
Add TSDF2D Grid ( #1209 )
...
- Adds TSDF2D Grid
- Adds tests for TSDF2D Grid
- Introduces Grid2D::GrowLimits(...) for multiple grids to reduce code duplication between TSDF2D and Grid2D
2018-06-25 11:40:12 +02:00
gaschler
41b642d92b
check trajectory remapping in test ( #1208 )
2018-06-20 13:55:09 +02:00
Kevin Daun
d36cbc39b8
Truncated Signed Distance Value Converter ( #1204 )
...
Introduces conversions between float and uint16 representations for truncated signed distance values and weights.
2018-06-19 16:19:46 +02:00
gaschler
54041d76eb
DeleteTrajectory ( #1205 )
...
[RFC=0023](https://github.com/googlecartographer/rfcs/blob/master/text/0023-delete-load.md )
2018-06-19 13:41:55 +02:00
Kevin Daun
ecaa95f3b0
Move occupied space cost function to .cc ( #1200 )
2018-06-19 12:31:11 +02:00
gaschler
a9045fa375
Introduce TrajectoryState ( #1201 )
...
[RFC=0023](https://github.com/googlecartographer/rfcs/blob/master/text/0023-delete-load.md )
2018-06-19 11:48:09 +02:00
gaschler
5d26742bfa
LoadStateFromFile ( #1202 )
...
[RFC=0023](https://github.com/googlecartographer/rfcs/blob/master/text/0023-delete-load.md )
2018-06-19 11:00:41 +02:00
gaschler
849f2a66ac
clarify comment ( #1196 )
2018-06-15 13:06:02 +02:00
Wolfgang Hess
0e25fafc47
Fixes display of IMU correction angle. ( #1193 )
...
When the 'imu_calibration' quaternion has a negative real part,
correction angles above 180 degrees were displayed. This fixes
the issue.
2018-06-12 17:10:19 +02:00
gaschler
de22b9c311
Rename to TrimSubmap ( #1192 )
...
Trimmable::MarkSubmapAsTrimmed was incorrectly named and commented.
It really trims the submap.
2018-06-12 16:01:14 +02:00
gaschler
f79c6afee7
Rename namespace to testing ( #1191 )
...
We commonly use the namespace testing for test helpers,
so rename similar namespaces to "testing" for consistency.
2018-06-12 15:18:20 +02:00
gaschler
29f6ea9ea3
Test LoadState and pure localization ( #1190 )
2018-06-12 12:49:07 +02:00
Alexander Belyaev
5055703490
Use PoseGraphData in PoseGraph3d. ( #1188 )
...
[RFC](https://github.com/googlecartographer/rfcs/blob/master/text/0022-pose-graph-data.md )
2018-06-08 14:40:24 +02:00
Alexander Belyaev
3437b931dd
Introduce PoseGraphModel and use it in 2D. ( #1185 )
...
[RFC](https://github.com/googlecartographer/rfcs/blob/master/text/0022-pose-graph-data.md )
2018-06-08 11:52:08 +02:00
sotnik-github
3f0bb0eec5
Fixing 846 without tests. ( #1183 )
...
Fixing "Optimizing: -nan%... #846" https://github.com/googlecartographer/cartographer/issues/846 .
The issue was triggered in a multithreaded execution, when all nodes were processed, but the working queue was still non empty (having other kind of jobs).
Unfortunately I failed to reproduce the bug in tests, so no new tests were added.
2018-06-06 15:38:10 +02:00
Alexander Belyaev
4ef38497a9
Skip the Collator for the landmark data. ( #1184 )
2018-06-06 14:14:01 +02:00
Sebastian Klose
73d18e5fc5
Using new serialization format. ( #1174 )
...
Updates everyone to use the new serialization format.
A corresponding PR will be made in cartographer_ros for the various tools.
2018-05-30 13:31:33 +02:00
Christoph Schütte
876a41f06f
Provide local poses via GetTrajectoryNodePoses() ( #1172 )
2018-05-30 07:34:49 +02:00
Sebastian Klose
405c0e17e8
Defining new serialization proto ( #1165 )
...
[Serialization RFC](https://github.com/googlecartographer/rfcs/blob/master/text/0021-serialization-format.md )
2018-05-28 15:11:29 +02:00
Christoph Schütte
ce18ec7295
Add SetGlobalSlamOptimizationCallback() ( #1164 )
...
to allow setting the GlobalSlamOptimizationCallback after MapBuilder and PoseGraph
creation. Also removes the GlobalSlamOptimizationCallback from the Constructor
since it is not used.
Prerequisite for implementing ReceiveGlobalSlamOptimizations() in gRPC MapBuilderInterface.
2018-05-25 12:29:52 +02:00
Alexander Belyaev
2f9ee597d0
Add analytical 2d cost function for pose graph (not used yet). ( #1161 )
2018-05-23 12:07:27 +02:00
Sebastian Klose
d419fe8fd7
More const PoseGraph interface ( #1156 )
...
Making getters and non-modifying methods in PoseGraph* const.
Before most getters where marked non-const because of the need to acquire the mutex for thread safety. This forces all code using the PoseGraph to pass it around as a non-const object even if the consumer is not altering the object.
By making the mutexes mutable we can make getters and methods that do not change the PoseGraph const and thus enable consumer APIs to express how they are going to use the PoseGraph as well.
fixes #1021
2018-05-17 09:30:40 +02:00
Robert Milijaš
a0ec8046bd
Allow easier access to CeresPose's data_ ( #1149 )
...
Introduce a FromPose function which transforms a Ridig3d pose into the
CeresPose's Data format.
2018-05-15 22:32:03 +02:00
Christoph Schütte
ce67d684ba
Introduce a GlobalSlamResultCallback ( #1143 )
2018-05-10 11:25:00 +02:00
Sebastian Klose
c2f54b8df2
Organize all protos in mapping in a single folder. ( #1147 )
2018-05-09 11:22:07 +02:00
Alexander Belyaev
ff18bae528
Transform submap cells to global frame correctly. ( #1130 )
2018-04-30 12:12:48 +02:00
gaschler
a3b746ff67
Use Task in ConstraintBuilder3D ( #1119 )
2018-04-27 22:14:19 +02:00
gaschler
c46fe073b4
Use Task in ConstraintBuilder2D ( #1118 )
2018-04-26 12:33:36 +02:00
Christoph Schütte
5356bdf9a8
Rename metrics since slashes are not allowed in Prometheus ( #1115 )
2018-04-25 17:34:30 +02:00
Kevin Daun
41f17e57cd
Introduce Grid and RangeDataInserter ( #1108 )
...
- Introduce `RangeDataInserterInterface` as common interface for all range data inserters
- Introduce a minimal `GridInterface` as a base for a common interface for 2D and 3D grids
- Rename `RangeDataInserter2D` to `ProbabilityGridRangeDataInserter2D`
- Move grid generation logic from `Submap2D` to `ActiveSubmaps2D`
- Update proto and configuration structure to mirror the code structure - backwards compatibility is maintained
- Step towards [RFC 0019](https://github.com/googlecartographer/rfcs/blob/master/text/0019-probability-grid-and-submap2d-restructuring.md )
2018-04-25 16:51:30 +02:00
gaschler
89ac5cbabf
Test GlobalSlam3D ( #1114 )
2018-04-25 15:00:13 +02:00
Martin Schwörer
d9ada58710
Removed check for existence of first submap of first trajectory in pose graph optimization ( #1099 )
...
Removed check for existence of first submap of first trajectory.
This check is equivalent to the original implementation which got changed in [#584 ](https://github.com/googlecartographer/cartographer/pull/584/files )
2018-04-24 16:32:31 +02:00
Alexander Belyaev
3dd37da51b
Move constraint_builders together. ( #1103 )
2018-04-23 13:49:25 +02:00
gaschler
3b5830745e
Test ConstraintBuilder2D/3D ( #1100 )
2018-04-23 12:52:20 +02:00
Kevin Daun
d29153a744
Replace ProbabilityGrid in Submap2D by Grid2D ( #1097 )
2018-04-20 22:58:46 +02:00
Alexander Belyaev
e2623991da
Return only optimized & finished submaps for trimmer. ( #1104 )
2018-04-20 22:19:16 +02:00
Alexander Belyaev
4aa2af23de
Move files related to optimization to optimization/. ( #1102 )
2018-04-20 20:52:17 +02:00
Alexander Belyaev
eebced5e16
Clean-up colliding 'SubmapData' names. ( #1096 )
2018-04-20 18:15:37 +02:00
Alexander Belyaev
8816d5710c
Invoke trimmer only when there are enough added submaps. ( #1095 )
2018-04-20 09:05:05 +02:00
Alexander Belyaev
ab7402ffbb
Use references for constraints & nodes in TrimmingHandle. ( #1091 )
2018-04-19 17:09:16 +02:00
Kevin Daun
20c80068b2
Base ConstraintBuilder2D on correspondence cost function ( #1088 )
...
- Base `ConstraintBuilder2D` and `FastCorrelativeScanMatcher2D` on correspondence cost function instead of probabilities
- No changes in the options of `ConstraintBuilder2D` and `FastCorrelativeScanMatcher2D`
- Add properties `min/max_correspondence_cost` to `Grid2D` and `proto::Grid2D`
- Provide backwards compatibility for `proto::Grid2D`
- Step towards [RFC 0019](https://github.com/googlecartographer/rfcs/blob/master/text/0019-probability-grid-and-submap2d-restructuring.md )
2018-04-19 11:59:28 +02:00
Kevin Daun
f4937b5cc6
Base ceres scan matcher on correspondence cost function ( #1085 )
...
- Base ceres scan matcher on correspondence cost function instead of probabilities
- Step towards [RFC 0019](https://github.com/googlecartographer/rfcs/blob/master/text/0019-probability-grid-and-submap2d-restructuring.md )
2018-04-19 10:24:16 +02:00
Kevin Daun
03d56871c1
Correspondence cost based probability grid ( #1081 )
...
- Store probabilities as correspondence costs
- Add conversion functions for correspondence cost values
- Step towards [RFC 0019](https://github.com/googlecartographer/rfcs/blob/master/text/0019-probability-grid-and-submap2d-restructuring.md )
2018-04-18 14:46:38 +02:00
Alexander Belyaev
23f6de46b0
Use area instead of cells count for overlapping trimmer options. ( #1080 )
2018-04-17 18:22:38 +02:00
gaschler
4278dbb7ea
Speed up slow tests ( #1077 )
...
Same checks, half the time.
2018-04-17 15:41:09 +02:00
Kevin Daun
ed0a8846f1
Allow execution of Submap2D::ToResponseProto without a grid ( #1078 )
...
- related to https://github.com/googlecartographer/cartographer_ros/issues/819
2018-04-17 14:27:09 +02:00
Alexander Belyaev
74970be757
Add overlapping trimmer params to TrajectoryBuilderOptions. ( #1076 )
2018-04-17 13:00:04 +02:00
Alexander Belyaev
e215c170e7
Remove redundant function declaration. ( #1075 )
...
Makes clang happy again.
2018-04-17 10:22:00 +02:00
Kevin Daun
a82a62f8a0
Replace Submap2D grid member by unique_ptr ( #1073 )
...
- replace the `ProbabilityGrid` member of `Submap2D` by `unique_ptr<ProbabilityGrid>`
- allow `Submap2D` to handle `proto::Submap2D` without a defined grid field
- resolve https://github.com/googlecartographer/cartographer/issues/1071
2018-04-16 18:19:59 +02:00
Alexander Belyaev
7b68844937
Add a gRPC version of SetLandmarkPose(). ( #1068 )
2018-04-16 15:49:08 +02:00
Alexander Belyaev
75f899117a
Move to testing/. ( #1067 )
2018-04-16 12:47:11 +02:00
gaschler
663e135426
add check ( #1063 )
2018-04-16 12:01:09 +02:00
Alexander Belyaev
74f74c4b61
Deserialize landmark poses. ( #1064 )
2018-04-13 16:38:45 +02:00
Kevin Daun
46d3a9443a
Introduce Grid2D as base class for 2D grids ( #1046 )
...
This is a first step towards generalizing submaps (see [ongoing RFC discussion](https://github.com/googlecartographer/rfcs/pull/30 )).
Although this PR already introduces a correspondence cost grid, the grid is still used as probability grid.
2018-04-13 13:43:09 +02:00
Christoph Schütte
b4c4ae6ea9
Update unfinished submap list on SLAM thread ( #1061 )
...
Fixes #1052
2018-04-13 12:15:26 +02:00
Michael Grupp
d2f29d04b9
Improve pose terminology of 2D optimization problem. ( #1053 )
...
Removes the confusing term `initial_pose` from global 2D optimization.
It makes sense in other areas like scan matching, but has a completely
different meaning there. Also matches the 3D equivalents better.
- `local_pose_2d` replaces `initial_pose` as the name for the
non-gravity-aligned, local 2D pose in the submap
- `global_pose_2d` replaces `pose` as the name for the
non-gravity-aligned, global 2D pose that is optimized
See the comment in the PR for how this improves readability.
2018-04-12 16:00:56 +02:00
Alexander Belyaev
a4346337bc
Address the comments for the overlapping submaps trimmer. ( #1060 )
2018-04-12 14:28:33 +02:00
Alexander Belyaev
771336b3c9
Add overlapping submaps trimmer. ( #1027 )
...
Trims submaps that have less than 'min_covered_cells_count' cells not overlapped by at least 'fresh_submaps_count` submaps.
2018-04-12 11:53:56 +02:00
jie
d1161b5f8e
Internal cleanup ( #1051 )
...
Fix lint errors.
2018-04-11 09:56:22 +02:00
Alexander Belyaev
7b0963216f
Move FakeTrimmable implementation to internal/testing. ( #1050 )
...
* Move FakeTrimmable implementation to internal/testing.
* Address the comments.
2018-04-10 18:05:03 +02:00
Michael Grupp
4351bdb3c8
Separate global optimization constraints for local SLAM and odometry ( #1029 )
...
Implements [RFC-0018](https://github.com/googlecartographer/rfcs/blob/master/text/0018-odometry-use-in-optimization-problem.md )
2018-04-10 14:44:43 +02:00
jie
cf358e7640
Internal cleanup ( #1045 )
...
Clean up the lint errors.
2018-04-10 09:43:36 +02:00
jie
74b35caf6e
Internal clean up. ( #1042 )
...
Add necessary headers to convenient the import to google.
Require holding mutex for some function that access the variables that guard by mutex.
2018-04-09 19:18:58 +02:00
gaschler
e89625d36a
Correctly use PrecomputationGridStack for 2D and 3D ( #1040 )
...
FIXES=#1038
2018-04-09 14:29:45 +02:00
Alexander Belyaev
b1dcb0cc5e
Remove unused 'freeze_landmarks_' field. ( #1039 )
2018-04-05 18:40:48 +02:00
gaschler
e26e9f172b
RangeDataCollator handles empty range data. ( #1036 )
...
FIXES=#1019
2018-04-04 15:20:10 +02:00
Alexander Belyaev
abb2661b76
Allow trimmer to get nodes/constraints. ( #1034 )
...
* Allow trimmer to get nodes/constraints.
* Mark the methods const.
2018-04-04 12:50:12 +02:00
Alexander Belyaev
41fc7e38cc
Rename the setters according to style-guide. ( #1032 )
...
just a nit
2018-04-03 18:56:44 +02:00
Alexander Belyaev
8c6c584524
Allow trimmers fetch submap data. ( #1024 )
2018-03-28 12:07:28 +02:00
Alexander Belyaev
962393074a
New fixes for Jets. ( #1023 )
...
Issue #1015
2018-03-27 14:26:21 +02:00
gaschler
94f564d871
Test trimming within trajectory ( #1020 )
2018-03-27 12:50:35 +02:00
Alexander Belyaev
e0e1c081e7
Do not use operator*= with Jets. ( #1018 )
2018-03-26 15:55:50 +02:00
Alexander Belyaev
e48e21849a
Acquire mutex before copying landmark poses. ( #1007 )
2018-03-19 16:16:46 +01:00
Alexander Belyaev
4cc758e830
Serialize landmark observations. ( #1006 )
2018-03-19 15:12:47 +01:00
gaschler
7a7908ebb9
Test PureLocalizationTrimmer with actual pose graph ( #1004 )
2018-03-19 11:43:19 +01:00
gaschler
b23ec8ce4e
Fix PureLocalizationTrimmer ( #1002 )
...
Remove the wrong assumption that submap index is sequential from 0.
2018-03-19 10:35:35 +01:00
Juraj Oršulić
ee530d2423
Purge some additional jets ( #1000 )
2018-03-16 19:12:56 +01:00
Alexander Belyaev
1f9c78a82b
Remove float-to-jet casts where possible. ( #998 )
2018-03-16 14:53:10 +01:00
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
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
daa35d3bc8
Move in_memory_proto_stream.* to internal. ( #969 )
...
Internal Headers RFC
2018-03-09 15:24:07 +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
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
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
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
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
Alexander Belyaev
e75e023ce2
Purge 'mapping_3d::'. ( #927 ) ( #928 )
...
[Code structure RFC](https://github.com/googlecartographer/rfcs/blob/master/text/0016-code-structure.md )
2018-02-26 14:26:41 +01:00
danielsievers
258aa715ba
Move GetTrajectoryData() down to PoseGraphInterface ( #932 )
2018-02-26 12:45:53 +01:00
Alexander Belyaev
94fce13f62
Purge 'mapping_2d::'. ( #927 )
...
[Code structure RFC](e11bca586f/text/0000-code-structure.md
)
2018-02-21 19:44:53 +01:00
gaschler
2711f4492f
Test PoseExtrapolator ( #926 )
2018-02-21 16:43:58 +01:00
Alexander Belyaev
7d13383dec
Remove 'mapping_3d' namespace. ( #922 ) ( #925 )
...
Remove 'mapping_3d' namespace. (#922 )
It is removed from everywhere but 'scan_matching', 'pose_graph'
subfolders of 'mapping_3d'.
[Code structure RFC](e11bca586f/text/0000-code-structure.md
)
2018-02-21 14:24:12 +01:00
Alexander Belyaev
f8dc89d8ff
Remove 'mapping_2d' namespace. ( #922 )
...
It is removed from everywhere but 'scan_matching', 'pose_graph'
subfolders of 'mapping_2d'.
[Code structure RFC](e11bca586f/text/0000-code-structure.md
)
2018-02-21 12:41:14 +01:00
gaschler
ab05459f1c
Move GlobalTrajectoryBuilder to cc file ( #923 )
...
* Move GlobalTrajectoryBuilder to cc file.
This allows to instrument file-level static metrics.
Also, it is a cleaner interface.
* two create functions
* drop superfluous typename
2018-02-21 08:53:09 +01:00
Alexander Belyaev
a58866cb38
Rename mapping_3d::PoseGraph to mapping::PoseGraph3D. ( #918 )
...
[Code structure RFC](e11bca586f/text/0000-code-structure.md
)
2018-02-20 15:28:21 +01:00
Alexander Belyaev
43544f0fbc
Rename mapping_2d::PoseGraph to mapping::PoseGraph2D. ( #917 )
...
[rCode structure RFC](e11bca586f/text/0000-code-structure.md
)
2018-02-19 20:01:29 +01:00
danielsievers
c38bb60407
(De)serialize trajectory data from the optimization problem ( #915 )
...
* Write/Read the trajectory data (gravity, imu calibration, and fixed frame origin) into the serialized state proto
2018-02-19 16:30:32 +01:00
gaschler
244cf615f5
Make clang compile without warnings. ( #903 )
...
Rule out accidental usage of integer-only ::abs.
Correct static, override and protected annotations.
2018-02-14 11:06:46 +01:00
Alexander Belyaev
95dbcfdf9e
Serialize landmarks. ( #889 )
...
[RFC=0011](https://github.com/googlecartographer/rfcs/blob/master/text/0011-landmarks.md )
2018-02-07 10:47:39 +01:00
Alexander Belyaev
58bc1ced68
Implement GetLandmarkPoses method. ( #888 )
...
[RFC=0011](https://github.com/googlecartographer/rfcs/blob/master/text/0011-landmarks.md )
2018-02-06 18:13:31 +01:00
Alexander Belyaev
28993a8963
Use landmarks in optimization (both 2D & 3D). ( #884 )
...
[RFC=0011](https://github.com/googlecartographer/rfcs/blob/master/text/0011-landmarks.md )
2018-02-05 13:23:00 +01:00
Juraj Oršulić
9bebeea742
Serialize and deserialize trajectory builder options ( #859 )
2018-02-05 09:45:43 +01:00