Commit Graph

630 Commits (ad4dc3c4d328fef63678c3f4299ed87cc53d1b7b)

Author SHA1 Message Date
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
Christoph Schütte 35a9c3d63b Implement sensor data uploading in LocalTrajectoryUploader. () 2018-01-17 12:01:29 +01:00
gaschler f64eef876a Optional GetBlockingTrajectoryId ()
[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. ()
* Move 'finished' getter to the base class.

* Ran clang-format.

* Ran clang-format.
2018-01-16 14:20:33 +01:00
Christoph Schütte 712c7e3e39 Fix namespace of serialization functions. () 2018-01-16 12:20:15 +01:00
Christoph Schütte 31ec89614c Add parameter to Submap::ToProto() to determine whether to include loop () 2018-01-16 11:23:29 +01:00
Christoph Schütte 3660408ae6 Forward declare unique_ptr<LocalSlamResultData> () 2018-01-16 10:20:51 +01:00
Christoph Schütte c053fc7a2f Implement sensor data forwarding. () 2018-01-15 15:31:33 +01:00
Christoph Schütte 903e6432b9 Add slides from Cartographer Open House. () 2018-01-15 12:11:58 +01:00
Christoph Schütte f49e798ef9 Start DataUploader implementation, implement Add/FinishTrajectory ()
[RFC=0002](https://github.com/googlecartographer/rfcs/blob/master/text/0002-cloud-based-mapping-1.md)
2018-01-12 23:16:29 +01:00
gaschler 057bd8ce6a Public SpaCostFunction::Compute* () 2018-01-12 21:46:47 +01:00
Wolfgang Hess 19ff047a79 Allow FixedRatioSampler to drop all data. ()
This is useful to disable loop closure by setting
constraint_builder.sampling_ratio = 0.
2018-01-12 18:54:41 +01:00
Christoph Schütte 1de696d45f Introduce PoseGraphInterface::ToProto() () 2018-01-12 13:55:14 +01:00
Christoph Schütte fee77c8a99 Add LocalSlamResultData retrieval and submap management ()
[RFC=0002](https://github.com/googlecartographer/rfcs/blob/master/text/0002-cloud-based-mapping-1.md)
2018-01-12 13:00:25 +01:00
gaschler 51ccee3e74 CollatorInterface ()
[RFC=0008](https://github.com/googlecartographer/rfcs/blob/master/text/0008-collator-interface.md)
2018-01-11 16:02:03 +01:00
Christoph Schütte 8fc64fdbb5 Wrap HybridGrid in unique_ptr to make Submap updatable () 2018-01-11 14:34:56 +01:00
Christoph Schütte e1a182d1fa Implement LocalSlamResult data adding to PoseGraph. () 2018-01-11 10:19:37 +01:00
Christoph Schütte d313af8674
Add InsertionResult to LocalSlamResult. () 2018-01-10 17:26:04 +01:00
Susanne Pielawa c7a8c5fda9 Keep fixed frame across optimizations. ()
PAIR=wohe
2018-01-10 16:01:27 +01:00