Commit Graph

983 Commits (a3c9e9f1ca0f4bdee8d50809f2fd34d981bb2cf9)

Author SHA1 Message Date
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
Alexander Belyaev c473a65a5e Move FindOrNull to common/utils.h. (#1305) 2018-07-20 10:07:45 +02:00
Alexander Belyaev 42d7133a2b
[GenericPoseGraph] Move ParseProto and Near to test_helpers.h (#1307) 2018-07-20 09:30:03 +02:00
Christoph Schütte 7fa11dcde6 Implement recovery behavior for LocalTrajectoryUploader (#1287) 2018-07-20 00:09:44 +02:00
Michael Grupp 5911181849 Fix usage message of map_builder_server_main.cc (#1302) 2018-07-19 22:46:44 +02:00
Martin Bokeloh 5fdb705ea5
[GenericPoseGraph] Added relative pose cost 3d. (#1303)
* [GenericPoseGraph] Added relative pose cost 3d.

* Added another case to the test.

* Removed ceres function from cost function.

* Ran clang-format.

* Minor renaming.
2018-07-19 16:35:27 +02:00
Alexander Belyaev a60b3e2d2d
[GenericPoseGraph] Add CeresOptimizer. (#1300) 2018-07-19 12:41:14 +02:00
Alexander Belyaev df337194e2
[GenericPoseGraph] Add RelativePoseConstraint2D. (#1297) 2018-07-19 09:17:22 +02:00
gaschler ce7f33f97a Fix LoadState trajectory options access (#1298)
FIXES=#1296
2018-07-18 17:08:00 +02:00
Alexander Belyaev 0ab591aa01 [GenericPoseGraph] Add RelativePoseCost2D. (#1295)
This is the implementation of the ceres::CostFunction that uses the new proto definition. It is tested using the Autodiff version.
2018-07-18 15:58:33 +02:00
Martin Schwörer ce9c567e3c No re-use of trajectory node proto in SerializeTrajectoryNodes (#1293)
When serializing `TrajectoryNode`, the declared proto is currently re-used. This can lead to unexpected behavior, in particular when the serialization of the proto is performed in an external function.

This PR also relates PR #1277 where exactly that problem occurred in the SerializeSubmaps.
2018-07-18 12:22:00 +02:00