Commit Graph

648 Commits (c212bbb698beb8ad1736f189555a6485ef996080)

Author SHA1 Message Date
Holger Rapp c212bbb698 Hand through intensities into the generated PLY - if they exist. () 2018-02-02 18:29:18 +01:00
Michael Grupp 655bd65abc Fix sphinx-build errors in evaluation.rst ()
Adds language arguments that are required for code blocks in newer Sphinx versions.

Resolves the missing code blocks in the HTML output.
2018-02-02 15:13:23 +01:00
Christoph Schütte 86a8944589 Implement tests for various data adding handlers () 2018-02-02 01:16:14 +01:00
Christoph Schütte 92fa1782f3 Implement RetryStrategies and use for AddTrajectory () 2018-02-01 22:31:33 +01:00
gaschler 9eaf960936 Configure remaining tests in bazel () 2018-02-01 21:58:59 +01:00
Alexander Belyaev eed51b8bb6 Cleaning up dependencies for constraint builder & optimization problem. () 2018-02-01 20:59:22 +01:00
Michael Grupp 9ca06bd06b Add ground truth documentation. ()
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. ()
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. () 2018-02-01 15:16:50 +01:00
gaschler 731bc89f22 Move handlers to cc, use MapBuilderContextInterface ()
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. ()
[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 ()
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. ()
[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. () 2018-02-01 11:21:50 +01:00
Christoph Schütte 27e8c84f2e Introduce MapBuilderContextInterface () 2018-01-31 19:22:08 +01:00
Alexander Belyaev ab890a8e15
Move 3D landmark cost function to mapping_3d/. ()
[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 ()
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'. ()
[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 ()
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 () 2018-01-31 14:46:59 +01:00
Christoph Schütte 9aecf23a37 Simplify Handler registration. () 2018-01-31 12:26:56 +01:00
Alexander Belyaev 708e7fc57d
Add a 'cost_helpers' library. ()
* Add a 'cost_helpers' library.

* Change naming and add comments.
2018-01-30 22:12:25 +01:00
Alexander Belyaev 93568641f9
Implement LandmarkCostFunction 3D. () 2018-01-30 15:18:13 +01:00
gaschler a7ed7e224f Upload LocalSlamResultData ()
[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 () 2018-01-29 12:01:17 +01:00
Alexander Belyaev 8316444319
Store landmark observations as LandmarkNodes in PoseGraph. () 2018-01-29 10:17:05 +01:00
Christoph Schütte 49d89d0759 Move mocks out of client_test.cc into testing/ folder. () 2018-01-26 17:56:36 +01:00
gaschler dab69e0ca0 Struct SensorId ()
* 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(). () 2018-01-25 17:31:03 +01:00
Christoph Schütte edb18231b6 Add ProtoStreamWriterInterface and implement forwarding writer. () 2018-01-25 15:27:50 +01:00
Rodrigo Queiro 65889f14a0 Bazel: use cartographer_grpc_server as in CMakeLists.txt () 2018-01-25 13:28:31 +01:00
Alexander Belyaev 894bad397d
Rename Landmark->LandmarkObservation. () 2018-01-25 12:10:30 +01:00
Alexander Belyaev 37ddf9e550 Add gRPC version of LoadMap(). ()
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. ()
A huuuuuge PR.
2018-01-25 08:59:52 +01:00
Alexander Belyaev aee1bc46dc
Introduce InMemoryProtoStreamReader. ()
* Introduce InMemoryProtoStreamReader.

* Move inmemory*.* to in_memory*.*.
2018-01-24 13:58:15 +01:00
Rodrigo Queiro 52527ec6d4 Add licenses() declarations to BUILD files ()
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 ()
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 ()
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 () 2018-01-23 10:50:51 +01:00
Alexander Belyaev 43008d391d
Introduce a ProtoStreamReaderInterface. ()
* 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'. () 2018-01-22 18:30:14 +01:00
Alexander Belyaev 6d4649857a
Move implementation of ReadProto/WriteProto to .cc () 2018-01-22 17:53:31 +01:00
Rodrigo Queiro 0c227097e7 Add a Bazel build for cartographer ()
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. () 2018-01-22 14:12:14 +01:00
Alexander Belyaev 9e30c1e0cd
Send LandmarkData via gRPC. ()
* 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. ()
Propagate LandmarkData to the PoseGraph.
2018-01-19 09:41:24 +01:00
gaschler de5937856d Collate_by_trajectory option ()
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 () 2018-01-17 20:43:20 +01:00
gaschler 70e378b7c5 TrajectoryCollator ()
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. ()
PAIR=spielawa
2018-01-17 13:09:48 +01:00