Christoph Schütte
27e8c84f2e
Introduce MapBuilderContextInterface ( #869 )
2018-01-31 19:22:08 +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
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
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
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
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
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
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
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
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
Christoph Schütte
35a9c3d63b
Implement sensor data uploading in LocalTrajectoryUploader. ( #822 )
2018-01-17 12:01:29 +01:00
Christoph Schütte
712c7e3e39
Fix namespace of serialization functions. ( #825 )
2018-01-16 12:20:15 +01:00
Christoph Schütte
c053fc7a2f
Implement sensor data forwarding. ( #818 )
2018-01-15 15:31:33 +01:00
Christoph Schütte
f49e798ef9
Start DataUploader implementation, implement Add/FinishTrajectory ( #811 )
...
[RFC=0002](https://github.com/googlecartographer/rfcs/blob/master/text/0002-cloud-based-mapping-1.md )
2018-01-12 23:16:29 +01:00
Christoph Schütte
1de696d45f
Introduce PoseGraphInterface::ToProto() ( #813 )
2018-01-12 13:55:14 +01:00
Christoph Schütte
fee77c8a99
Add LocalSlamResultData retrieval and submap management ( #810 )
...
[RFC=0002](https://github.com/googlecartographer/rfcs/blob/master/text/0002-cloud-based-mapping-1.md )
2018-01-12 13:00:25 +01:00
Christoph Schütte
e1a182d1fa
Implement LocalSlamResult data adding to PoseGraph. ( #804 )
2018-01-11 10:19:37 +01:00
Christoph Schütte
d313af8674
Add InsertionResult to LocalSlamResult. ( #801 )
2018-01-10 17:26:04 +01:00
Christoph Schütte
8165da873f
Add GetConstraints() to gRPC service. ( #798 )
2018-01-09 14:25:28 +01:00
Christoph Schütte
bd2fbbf1a1
Implement GetLocalToGlobalTransform() in gRPC service ( #797 )
2018-01-08 16:28:41 +01:00
Christoph Schütte
d240261701
Add GetAllSubmapPoses to gRPC interface. ( #791 )
2018-01-08 15:34:00 +01:00
Christoph Schütte
78d05bf745
Add GetTrajectoryNodePoses() to gRPC service ( #796 )
2018-01-08 14:19:39 +01:00
Christoph Schütte
d57c2441b8
Implement gRPC submap query. ( #794 )
2018-01-08 13:52:14 +01:00
gaschler
920a34a938
Fix RpcEvent lifetime ( #793 )
...
Fixes #788 .
Uses two different types of events whether the event goes through the CompletionQueue or not.
CompletionQueueRpcEvent is again a member of Rpc.
2018-01-08 12:42:19 +01:00
Christoph Schütte
196b4b891c
Add PoseGraphInterface::GetTrajectoryNodePoses() ( #795 )
2018-01-08 09:13:51 +01:00
Christoph Schütte
1a837ef3ab
Introduce PoseGraphInterface::GetAllSubmapPoses() ( #790 )
2018-01-05 14:19:08 +01:00
gaschler
923d643b86
Fix obvious asan warnings. ( #787 )
...
Adds a few missing overrides and removes a std::move that
prevented copy elision.
2018-01-05 10:18:08 +01:00
gaschler
dbb3f7cde4
Test TrajectoryBuilderStub ( #780 )
2018-01-03 14:56:56 +01:00
gaschler
c881fe90cf
Stub receives LocalSlamResults. ( #778 )
...
[RFC=0002](https://github.com/googlecartographer/rfcs/blob/master/text/0002-cloud-based-mapping-1.md )
PAIR=cschuet
2017-12-20 12:42:27 +01:00
gaschler
f5e99089a9
Notify LocalSlamResults subscription ends. ( #777 )
...
[RFC=0002](https://github.com/googlecartographer/rfcs/blob/master/text/0002-cloud-based-mapping-1.md )
PAIR=cschuet
2017-12-20 11:42:01 +01:00
Christoph Schütte
e0faf7094e
Change MapBuilderServer::LocalSlamSubscriptionCallback ( #776 )
...
PAIR=gaschler
2017-12-20 09:46:54 +01:00
gaschler
383b988548
TrajectoryBuilderStub sends WritesDone ( #774 )
...
This is required to close the connection, otherwise the server
cannot shutdown.
2017-12-19 15:49:56 +01:00
Christoph Schütte
02734c296d
Implement ReceiveLocalSlamResultsHandler. ( #772 )
2017-12-19 15:11:29 +01:00
gaschler
5fbc4ca568
Test gRPC client/server ( #773 )
...
Adds an integration test and a test with a mock MapBuilderInterface to cover client/server communication.
2017-12-19 14:36:25 +01:00
Christoph Schütte
dea6c3d7ce
Implement server-streaming RPCs and add unittest ( #768 )
...
[RFC=0002](https://github.com/googlecartographer/rfcs/blob/master/text/0002-cloud-based-mapping-1.md )
2017-12-19 10:27:30 +01:00
Christoph Schütte
c79425cbb0
Implement RpcHandler::GetWriter and add unittest ( #767 )
2017-12-18 21:27:03 +01:00
gaschler
def442b9db
Make MapBuilderServer testable ( #771 )
...
Pass MapBuilder to the constructor so the MapBuilder can be mocked.
2017-12-18 20:47:00 +01:00
gaschler
5bb81a9b4a
correct MapBuilderStub ( #770 )
...
Context: The `::grpc::ClientContext` represents a single RPC on the client side. Therefore it is illegal to share the same context between two different RPC invocations.
2017-12-18 17:12:29 +01:00
Christoph Schütte
03751b3c9f
Implement local SLAM subscriptions in MapBuilderServer ( #766 )
2017-12-18 16:32:34 +01:00
gaschler
db0d5bc746
correct PoseGraphStub ( #769 )
2017-12-18 15:57:49 +01:00