Commit Graph

1145 Commits (81d34ef18548bb35d0e1c1c4832d3f3e6031603b)

Author SHA1 Message Date
Christoph Schütte 92fa1782f3 Implement RetryStrategies and use for AddTrajectory (#880) 2018-02-01 22:31:33 +01:00
gaschler 9eaf960936 Configure remaining tests in bazel (#879) 2018-02-01 21:58:59 +01:00
Alexander Belyaev eed51b8bb6 Cleaning up dependencies for constraint builder & optimization problem. (#877) 2018-02-01 20:59:22 +01:00
Michael Grupp 9ca06bd06b Add ground truth documentation. (#853)
See [RFC 10](https://github.com/googlecartographer/rfcs/blob/master/text/0010-document-groundtruth-features.md)

[Rendered version](https://github.com/magazino/cartographer/blob/doc-groundtruth/docs/source/evaluation.rst)
2018-02-01 18:53:43 +01:00
Christoph Schütte 302320b1a9 Use framework::Client everywhere. (#875)
This switches all gRPC method invocation to using framework::Client. After this change we can remove the gRPC proto compiler from the build files.

[RFC=0002](https://github.com/googlecartographer/rfcs/blob/master/text/0002-cloud-based-mapping-1.md)
2018-02-01 17:19:15 +01:00
Alexander Belyaev 8ea46857ac
Move cerec_pose.* to mapping/pose_graph. (#874) 2018-02-01 15:16:50 +01:00
gaschler 731bc89f22 Move handlers to cc, use MapBuilderContextInterface (#873)
This is to avoid a circular dependency with LocalTrajectoryUploader and to clean up.
2018-02-01 14:34:41 +01:00
Alexander Belyaev d195c77ebc
Add a 2D landmark cost function. (#868)
[RFC=0011](https://github.com/googlecartographer/rfcs/blob/master/text/0011-landmarks.md)
2018-02-01 13:39:24 +01:00
Christoph Schütte 60e9fa59fe
Implement AddImuDataHandlerTest (#872)
This PR introduces first gRPC handler test that takes advantage of new RpcHandlerTestServer.
2018-02-01 13:05:08 +01:00
Alexander Belyaev e735203a05
Extend MapById::lower_bound() to support structs with 'time' field. (#871)
[RFC=0011](https://github.com/googlecartographer/rfcs/blob/master/text/0011-landmarks.md)
2018-02-01 11:58:13 +01:00
Christoph Schütte eb3e63bad6 Implement WriteMapHandler. (#851) 2018-02-01 11:21:50 +01:00
Christoph Schütte 27e8c84f2e Introduce MapBuilderContextInterface (#869) 2018-01-31 19:22:08 +01:00
Alexander Belyaev ab890a8e15
Move 3D landmark cost function to mapping_3d/. (#870)
[RFC=0011](https://github.com/googlecartographer/rfcs/blob/master/text/0011-landmarks.md)
2018-01-31 18:40:10 +01:00
Christoph Schütte a749d28a67 Introduce framework::Client (#867)
Introduces a framework::Client class that makes it more convenient to call gRPC methods.

[RFC=0002](https://github.com/googlecartographer/rfcs/blob/master/text/0002-cloud-based-mapping-1.md)
2018-01-31 17:45:57 +01:00
Alexander Belyaev 0440761474
Move slerp and scaling of error to 'cost_helpers'. (#864)
[RFC=0011](https://github.com/googlecartographer/rfcs/blob/master/text/0011-landmarks.md)
2018-01-31 17:06:49 +01:00
Rodrigo Queiro ad4dc3c4d3 Bazel: build with -Wno-sign-compare (#863)
This avoids warnings for code like:

```
  CHECK_EQ(local_to_cloud_trajectory_id_map_.count(local_trajectory_id), 0);
```
2018-01-31 15:19:36 +01:00
Christoph Schütte 855743cac4 Check handler signature (#866) 2018-01-31 14:46:59 +01:00
Christoph Schütte 9aecf23a37 Simplify Handler registration. (#865) 2018-01-31 12:26:56 +01:00
Alexander Belyaev 708e7fc57d
Add a 'cost_helpers' library. (#862)
* Add a 'cost_helpers' library.

* Change naming and add comments.
2018-01-30 22:12:25 +01:00
Alexander Belyaev 93568641f9
Implement LandmarkCostFunction 3D. (#860) 2018-01-30 15:18:13 +01:00
gaschler a7ed7e224f Upload LocalSlamResultData (#858)
[RFC=0002](https://github.com/googlecartographer/rfcs/blob/master/text/0002-cloud-based-mapping-1.md)
PAIR=cschuet
2018-01-29 14:02:33 +01:00
Christoph Schütte 7d2e39af4b gRPC handler testing (#857) 2018-01-29 12:01:17 +01:00
Alexander Belyaev 8316444319
Store landmark observations as LandmarkNodes in PoseGraph. (#850) 2018-01-29 10:17:05 +01:00
Christoph Schütte 49d89d0759 Move mocks out of client_test.cc into testing/ folder. (#854) 2018-01-26 17:56:36 +01:00
gaschler dab69e0ca0 Struct SensorId (#839)
* WIP, started unordered_set<SensorId>

* struct SensorId. Works for cartographer without grpc.

* correct test

* SensorId in cartographer_grpc/

* clean up

* try to fix for trusty

* SensorId::operator==

* Ran clang-format.
2018-01-26 15:07:49 +01:00
Alexander Belyaev 1d2613c8e2 Add gRPC version of RunFinalOptimization(). (#852) 2018-01-25 17:31:03 +01:00
Christoph Schütte edb18231b6 Add ProtoStreamWriterInterface and implement forwarding writer. (#849) 2018-01-25 15:27:50 +01:00
Rodrigo Queiro 65889f14a0 Bazel: use cartographer_grpc_server as in CMakeLists.txt (#848) 2018-01-25 13:28:31 +01:00
Alexander Belyaev 894bad397d
Rename Landmark->LandmarkObservation. (#847) 2018-01-25 12:10:30 +01:00
Alexander Belyaev 37ddf9e550 Add gRPC version of LoadMap(). (#842)
Later they will be used in map_builder_stub and load_map_handler.
2018-01-25 09:27:42 +01:00
Alexander Belyaev a103e8f93a Implement 'num_trajectory_builders' in map_builder_stub. (#845)
A huuuuuge PR.
2018-01-25 08:59:52 +01:00
Alexander Belyaev aee1bc46dc
Introduce InMemoryProtoStreamReader. (#844)
* Introduce InMemoryProtoStreamReader.

* Move inmemory*.* to in_memory*.*.
2018-01-24 13:58:15 +01:00
Rodrigo Queiro 52527ec6d4 Add licenses() declarations to BUILD files (#843)
These were in some, but not all, of the existing BUILD files. They make
it easier to vendor cartographer, as Bazel complains if a BUILD file in
//third_party is missing a licenses() declaration.
2018-01-24 13:16:25 +01:00
Rodrigo Queiro 1ff4c00d70 Fix the Bazel build when used as an external repo (#840)
Specifically, the cartographer_repositories() macro must refer to the
BUILD files contained in the cartographer workspace.
2018-01-23 22:00:12 +01:00
Rodrigo Queiro 8e2a017612 Build cartographer_grpc with Bazel (#841)
This doesn't work when cartographer is an external workspace, due to a
limitation in cc_grpc_library. However, the //cartographer target will
still work it is external, and cartographer_grpc users can vendor the
repository.
2018-01-23 21:29:41 +01:00
Christoph Schütte f1616e16ec Introduce bazel docker file (#838) 2018-01-23 10:50:51 +01:00
Alexander Belyaev 43008d391d
Introduce a ProtoStreamReaderInterface. (#837)
* Introduce a ProtoStreamReaderInterface.

* Remove the comments from interface def.
2018-01-23 09:09:37 +01:00
Alexander Belyaev 986ac28ff8
Rename 'tranform' to 'landmark_to_tracking_transform'. (#836) 2018-01-22 18:30:14 +01:00
Alexander Belyaev 6d4649857a
Move implementation of ReadProto/WriteProto to .cc (#835) 2018-01-22 17:53:31 +01:00
Rodrigo Queiro 0c227097e7 Add a Bazel build for cartographer (#834)
This does not include cartographer_grpc, nor any of the binaries
(*_main.cc). It has been tested with Bazel 0.9.0 on Ubuntu 14.04 with
the latest (at time of writing) dazel/dazel container, by running:

```
bazel build //...
bazel test //...
```

While this is a large CL, the files under third_party are not new - they have been through internal review, and this is their open-source release. The other files come to 212 lines of code.
2018-01-22 16:47:07 +01:00
Alexander Belyaev 67850d25a0 Replace templates in io/proto_stream.h with upcasting. (#833) 2018-01-22 14:12:14 +01:00
Alexander Belyaev 9e30c1e0cd
Send LandmarkData via gRPC. (#831)
* Send LandmarkData via gRPC.

[RFC PR](https://github.com/googlecartographer/rfcs/pull/18)

* Fix the nits.
2018-01-19 17:24:30 +01:00
Alexander Belyaev 746c9c83c8
Propagate LandmarksData to the PoseGraph. (#830)
Propagate LandmarkData to the PoseGraph.
2018-01-19 09:41:24 +01:00
gaschler de5937856d Collate_by_trajectory option (#828)
Adds an option to create a MapBuilder using TrajectoryCollator
(instead of Collator).

[RFC=0008](https://github.com/googlecartographer/rfcs/blob/master/text/0008-collator-interface.md)
2018-01-17 21:15:15 +01:00
gaschler d92040d0e6 Test Collator for multiple trajectories (#829) 2018-01-17 20:43:20 +01:00
gaschler 70e378b7c5 TrajectoryCollator (#827)
Introduces TrajectorCollator, which collates sensor data ignoring
other trajectories.
Tests the same.

[RFC=0008](https://github.com/googlecartographer/rfcs/blob/master/text/0008-collator-interface.md)
2018-01-17 17:48:20 +01:00
Wolfgang Hess ffdbf1c161 Fix debug output for 3D loop closure error. (#826)
PAIR=spielawa
2018-01-17 13:09:48 +01:00
Christoph Schütte 35a9c3d63b Implement sensor data uploading in LocalTrajectoryUploader. (#822) 2018-01-17 12:01:29 +01:00
gaschler f64eef876a Optional GetBlockingTrajectoryId (#820)
[RFC=0008](https://github.com/googlecartographer/rfcs/blob/master/text/0008-collator-interface.md)
2018-01-16 16:21:22 +01:00
Alexander Belyaev 53c2a6b58f
Move 'finished' getter to the base class. (#803)
* Move 'finished' getter to the base class.

* Ran clang-format.

* Ran clang-format.
2018-01-16 14:20:33 +01:00