Commit Graph

818 Commits (fe7aaf4d9410ddfaaca51fb845ef7ff2cf6c15a2)

Author SHA1 Message Date
Martin Schwörer fe7aaf4d94 Added a fake file writer (writes to string instead of file) (#1101)
Added fake filer writer which writes the output to a string instead of a file.

This will help writing tests for classes that use the file writer interface to write data.
2018-04-27 13:45:54 +02:00
gaschler c46fe073b4 Use Task in ConstraintBuilder2D (#1118) 2018-04-26 12:33:36 +02:00
Christoph Schütte 666095cb41 Introduce metric to measure the length of the SLAM queue (#1117) 2018-04-25 22:09:56 +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 91fda93757 Schedule Task in ThreadPool (#1113)
This introduces scheduling of tasks with dependencies to ThreadPool.
Contrary to work items, tasks are only queued for execution after all
their dependencies have completed.
2018-04-25 16:12:30 +02:00
gaschler 89ac5cbabf
Test GlobalSlam3D (#1114) 2018-04-25 15:00:13 +02:00
gaschler 0118531659
correct bazel define (#1112)
This is required by map_builder_server_main.cc
2018-04-25 13:56:34 +02:00
Michael Grupp 3d2ca564b6 Fix some Clang warnings. (#1109)
task.cc: -Wparentheses
task_test.cc: -Winconsistent-missing-override
2018-04-25 12:22:11 +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
Christoph Schütte f51e4f4f05 Introduce Task (#1066)
This introduces the new class common::Task. A Task can have dependencies to other tasks, notify ThreadPoolInterface when all its dependencies are fulfilled, and can be executed in the background.
2018-04-24 15:57:44 +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
gaschler 643bc825e9 ThreadPoolForTesting (#1098)
Necessary to test ConstraintBuilder.
2018-04-20 13:12:52 +02:00
Alexander Belyaev 8816d5710c
Invoke trimmer only when there are enough added submaps. (#1095) 2018-04-20 09:05:05 +02:00
Holger Rapp 29c3e056ed Next Open house and switch CET to CEST. (#1092) 2018-04-20 00:30:12 +02:00
Rodrigo Queiro 7f67f074a1 Limit `bazel test` parallelism more precisely (#1094)
Since it is only the tests in cartographer/cloud that cannot run
concurrently with each other, use `tags = ["exclusive"]` to say that
they should not be run at the same time as other tests.

This works locally, not just in CI, and should speed up the CI job by
2-3 minutes.
2018-04-19 18:51:20 +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
Rodrigo Queiro 9b3606b7c0 Fix glog warning (#1082)
by updating to a version that properly enables __attribute__. This is
the last warning in the Bazel build.
2018-04-18 21:04:11 +02:00
Christoph Schütte 337e594662 Introduce option to enable SSL encryption for LocalTrajectoryUploader (#1084) 2018-04-18 16:47:03 +02:00
Rodrigo Queiro 3383643627 Add configuration for Bazel CI (#1083)
This builds and tests on Ubuntu 16.
2018-04-18 15:43:39 +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
Christoph Schütte 214606457c Switch to batch uploading for cloud based mapping and add retries (#1070) 2018-04-18 14:02:43 +02:00
Alexander Belyaev 23f6de46b0 Use area instead of cells count for overlapping trimmer options. (#1080) 2018-04-17 18:22:38 +02:00
Julius Kammerl 26e8ce63ba Add async_grpc dependency to cartographer_grpc (#1079)
The map_builder_server target requires async_grpc.
2018-04-17 17:25:18 +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
Christoph Schütte 2be3c1f636 Add sparse Eigen support to Bazel build. (#1074) 2018-04-17 09:46:51 +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
Rodrigo Queiro c20f22e986 Suppress warnings for Bazel third_party deps (#1054)
These warnings occur when building with gcc 7.3.0.
2018-04-16 17:48:18 +02:00
Rodrigo Queiro 911c9ab920 Update Prometheus to avoid warning (#1058)
This pulls in https://github.com/jupp0r/prometheus-cpp/pull/103 (fix
warning) and https://github.com/jupp0r/prometheus-cpp/pull/98 (add
missing header).
2018-04-16 17:15:10 +02:00
Christoph Schütte ce71273737 Add error messages for gRPC connection failures (#1072)
Fixes https://github.com/googlecartographer/cartographer_ros/issues/825.
2018-04-16 16:40:03 +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 b5e5477f75 Fix Sphinx build warning. (#1055)
Removes 'WARNING: html_static_path entry [...] does not exist'.
2018-04-12 16:33:38 +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
Christoph Schütte 14465aa23e Refactor MapBuilderContext to reduce code duplication. (#1059) 2018-04-12 15:27:24 +02:00
Alexander Belyaev a4346337bc
Address the comments for the overlapping submaps trimmer. (#1060) 2018-04-12 14:28:33 +02:00