Commit Graph

993 Commits (77886cb53b3978f46a731c9e57df827e3b013f45)

Author SHA1 Message Date
Kevin Daun 77886cb53b Integrate TSDF components into SLAM pipeline. (#1361)
[RFC=0019](https://github.com/googlecartographer/rfcs/blob/master/text/0019-probability-grid-and-submap2d-restructuring.md)
2018-08-03 11:56:35 +02:00
Arno Fleck 12e11856af Use absl::Mutex instead of custom implementation (#1356)
Makes `common::Mutex` an alias for `absl::Mutex` and replaces the logic inside `common::MutexLocker` with `absl::MutexLock`.

A future PR can then remove these classes entirely and replace references to it across the Cartographer code base with the Abseil classes directly.
2018-08-03 11:15:50 +02:00
Michael Grupp b841ebf170 Fix typo in last commit (negate condition). (#1365) 2018-08-02 20:59:23 +02:00
Michael Grupp 4cd1528ffb Replace CHECK() by a warning in MapBuilderStub::SerializeState() (#1364)
See discussion in https://github.com/googlecartographer/cartographer_ros/pull/966
2018-08-02 19:35:19 +02:00
gaschler 39e5943abc Add slides (#1363) 2018-08-02 11:13:07 +02:00
Kevin Daun 748deb910a Add TSDF match cost function. (#1359) 2018-08-01 23:46:33 +02:00
Kevin Daun 6c070acff5 Introduce GridType for Grid2D (#1355) 2018-07-31 15:13:37 +02:00
gaschler c1fbb6bb07
Fill submaps slices (#1353)
This implements a frequently used function (two times in cartographer_ros).
Also, it corrects a wrong repeated proto field access,
so we can fix cartographer_ros/issues/944.
2018-07-31 11:48:04 +02:00
Julius Kammerl c041635fb5 Add sensor counter metrics to TrajectoryCollator class (#1342)
Adds metrics to monitor the incoming sensor messages processed by the TrajectoryCollator class.
2018-07-31 10:06:54 +02:00
Julius Kammerl 537b2d6762 Add metric counters to track sensor data in the AddSensorDataBatchHandler class (#1338)
Adds additional metrics to track incoming sensor and local slam result data in Prometheus.
2018-07-30 19:42:08 +02:00
Christoph Schütte a3c9e9f1ca Add argument to SerializeState for excluding unfinished submaps (#1352)
Adds a boolean argument to MapBuilderInterface::SerializeState() to indicate whether the caller wants to include unfinished submaps in the serialized state.

For cartographer_grpc this argument will be set to false since unfinished submaps do not have a Grid which would lead to a crash in the Submap::ToProto() function.
2018-07-30 17:27:54 +02:00
Alexander Belyaev 5c61148f26 [ABSL] Remove common/optional.h. (#1349) 2018-07-30 13:44:55 +02:00
Juraj Oršulić 0a10bc3a15 Make standalone_absl imported target global. (#1351) 2018-07-30 13:06:15 +02:00
Juraj Oršulić b1855d0d06 Fix Abseil build command (#1350)
@pifon2a I've noticed the `BUILD_COMMAND` is broken. You're setting `ABSL_BUILD_COMMAND`, but using `ABSEIL_BUILD_COMMAND` (effectively empty). Somehow this doesn't confuse newer CMakes, but the one you install on Trusty gets confused and interprets this as a no-op build step. This causes the indigo pipeline in cartographer_ros to fail.

Use the cross-platform build command instead: 
https://cmake.org/cmake/help/latest/module/ExternalProject.html#obtaining-project-properties (just above the linked paragraph)
2018-07-28 17:42:09 +02:00
Juraj Oršulić 27a7a3dbdf FindAbseil.cmake: cross-platform library names (#1348)
Fixes #1347
2018-07-27 23:41:25 +02:00
Alexander Belyaev 3c5f2cd154
[GenericPoseGraph] Add PoseGraphController. (#1335) 2018-07-27 20:35:27 +02:00
Alexander Belyaev 5b44305ea3
[ABSL] Purge common::make_unique. (#1340) 2018-07-27 19:43:35 +02:00
Alexander Belyaev 4990d4d5e9
[ABSL] Purge common::optional. (#1339) 2018-07-27 19:05:45 +02:00
Christoph Schütte dafb4149ed Revert: Fix writing state of trajectories with unfinished submaps. #1286 (#1346)
Reason: Break rviz visualization for submaps loaded from pbstreams.
2018-07-27 17:20:42 +02:00
Martin Schwörer 3af5086dc7 removed redundant condition (#1344)
Removes an additional condition that is not required.
2018-07-27 13:45:59 +02:00
Wolfgang Hess 8b329efc8e Don't process PoseGraph2D work items in foreground. (#1341)
This is #1285 for 2D.
Fixes #1250.
2018-07-26 17:05:23 +02:00
Alexander Belyaev c2c341397f [GenericPoseGraph] Add InterpolatedRelativePose2D constraint. (#1337) 2018-07-26 15:00:13 +02:00
Wolfgang Hess e87100a3ad Introduce separate mutex for PoseGraph2D work queue access. (#1333)
This is #1284 for 2D.
2018-07-26 11:15:56 +02:00
Arno Fleck 9a2df068ed Check for collated_fixed_frame_ for AddSensorData(FixedFramePoseData). (#1331)
PR #1224 introduced checks for `collate_landmarks` and `collate_fixed_frame` in the `CollatedTrajectoryBuilder`. However, it falsely checks for `collate_landmarks` in the `AddSensorData(FixedFramePoseData)` function. This PR fixes that.
2018-07-26 10:36:17 +02:00
Alexander Belyaev e3a7f39889
Add absl to CMake and Bazel builds. (#1301) 2018-07-26 06:49:37 +02:00
Alexander Belyaev 926b8540f6
Use CMake 3.2. (#1332) 2018-07-25 21:40:06 +02:00
Wolfgang Hess f61a944938 Fine-grained locking for PoseGraph2D constraints. (#1327)
This is #1279 for 2D.
2018-07-25 15:26:29 +02:00
Michael Grupp 4ba9d9168b Migrate pbstream files with old probability grid format. (#1314) 2018-07-25 13:06:58 +02:00
Arno Fleck 52804df988 Remove warning at the beginning of localization. (#1329)
* Remove warning.

* Remove warning from 2D as well.
2018-07-25 11:02:52 +02:00
Sebastian Klose 2b042311d8
Unified pbstream tool (#1326)
Consolidating pbstream tools into a single tool

* adds two subcommands for now (info and migrate)
* removes commandline flags for filenames in favor of commandline args
* updates documentation for migration tool
2018-07-24 15:48:34 +02:00
Martin Bokeloh 8219117a17
[GenericPoseGraph] Add serialization tests for constraints. (#1318)
* [GenericPoseGraph] Add rotation 3d constraint.

* [GenericPoseGraph] Add serialization tests for constraints.

* Remove files from other branch

* Updated include paths.
2018-07-24 14:32:38 +02:00
Martin Bokeloh f7b3d34ae5
[GenericPoseGraph] Add interpolated constraint/cost 3d. (#1325)
* [GenericPoseGraph] Add interpolated rotation constraint/cost 3d.

* Rename tests

* Update include paths.
2018-07-24 13:24:11 +02:00
Alexander Belyaev d4193d4a2a
[GenericPoseGraph] Add acceleration constraint. (#1319) 2018-07-24 06:36:24 +02:00
Alexander Belyaev 8250264441
Move test_helpers to testing/. (#1321) 2018-07-23 21:18:32 +02:00
Martin Schwörer a42fd47146 Preparation for #1277: refactor rotation scan matcher (#1316)
Added new constructor for `RotationalScanMatcher` and exposed `RotateHistogram`.

This PR prepares for PR #1277 where the constructor 
`RotationalScanMatcher(const std::vector<std::pair<Eigen::VectorXf, float>>& histograms_at_angles)`
will be removed and only the new constructor
`RotationalScanMatcher(const Eigen::VectorXf& histogram)`
will remain. The unit tests will be updated to use the new constructor in #1277.
2018-07-23 19:02:17 +02:00
Susanne Pielawa 25f79cb6eb Added metrics RealTimeRatio and CpuRealTimeRatio to 2d. (#1324)
Added the metrics RealTimeRatio and CpuRealTimeRatio also to local_trajectory_builder_2d.

This is similar to[ PR 1275](https://github.com/googlecartographer/cartographer/pull/1275) and resolves a TODO.
2018-07-23 18:23:41 +02:00
Martin Schwörer fc78288ef8 remove duplicate code for deserialization of Submap3D from proto (#1322)
This PR removes the duplicate code for deserialization/updating Submap3Ds from a proto.
2018-07-23 17:38:48 +02:00
gaschler 33fcc1a3de
Set client_id in LoadState(FromFile) (#1320) 2018-07-23 16:42:44 +02:00
Juraj Oršulić 5b35641881 Small readability improvement (#1304) 2018-07-23 16:21:45 +02:00
Martin Bokeloh 29420b1912
[GenericPoseGraph] Remove unused declarations. (#1323) 2018-07-23 15:10:16 +02:00
Martin Bokeloh bc8a7d7c00
[GenericPoseGraph] Add rotation 3d constraint. (#1317) 2018-07-23 13:43:26 +02:00
gaschler d306eaddda Add pbstream_info executable (#1311)
This is useful to debug and inspect serialized files.
2018-07-23 11:34:37 +02:00
Alexander Belyaev 681cff0435
[GenericPoseGraph] Add proto defs for landmark cost functions. (#1312) 2018-07-22 13:36:25 +02:00
Martin Bokeloh 3a9d1bc465
[GenericPoseGraph] Added rotation cost 3d. (#1313) 2018-07-20 17:45:41 +02:00
Martin Bokeloh bb80d78293
[GenericPoseGraph] Add relative pose constraint 3d. (#1309) 2018-07-20 16:34:27 +02:00
Martin Schwörer f1ac896729 Return the proto from Submap::ToProto instead of passing pointer. (#1294)
Submap::ToProto now returns the proto. 

This PR makes the interfaces for serialization more consistent: In `mapping_state_serialization.cc` all `ToProto` methods return the proto except Submap::ToProto.
2018-07-20 15:16:44 +02:00
danielsievers 2de0e5f04b Don't process PoseGraph3D work items in foreground (#1285)
This helps the foreground thread in keeping up real time.
Also see issue #1250.
2018-07-20 14:41:57 +02:00
Wolfgang Hess 5077224f8e Take PoseGraph2D mutex inside instead of outside work item. (#1310)
This is #1264 for 2D.
2018-07-20 13:31:18 +02:00
Alexander Belyaev 665b95d5c6 [GenericPoseGraph] Add a loss function. (#1308) 2018-07-20 12:50:29 +02:00
Alexander Belyaev 1b455e57e5 [GenericPoseGraph] Use GradientChecker to check gradients (Ba-Dum-Tss). (#1306)
Ba-Dum-Tss!
2018-07-20 10:55:05 +02:00