Christoph Schütte
ba7d375a25
Refactor Write()/Finish() and make thread-safe. ( #760 )
...
[RFC=0002](https://github.com/googlecartographer/rfcs/blob/master/text/0002-cloud-based-mapping-1.md )
2017-12-18 13:36:44 +01:00
gaschler
c6decd5b7b
Test MapBuilderServer ( #762 )
...
Test to start and stop the MapBuilderServer.
Moves test helper functions in common with MapBuilderTest
to internal/mapping.
2017-12-18 11:52:17 +01:00
gaschler
89b49dfefb
TrajectoryBuilderStub implementation ( #764 )
2017-12-18 11:24:16 +01:00
gaschler
3fbc642a89
PopWithTimeout for sensor data queue ( #763 )
...
PopWithTimeout is necessary to ensure the SLAM thread
in the MapBuilderServer finishes when the server is
shut down.
2017-12-18 10:02:57 +01:00
gaschler
d49706944f
FixedFramePoseData in gRPC server ( #761 )
...
Defines the FixedFramePoseData RPC and implements
the handler for the gRPC server.
2017-12-15 15:26:58 +01:00
gaschler
6817d22788
Test global 2D SLAM. ( #751 )
2017-12-15 14:45:56 +01:00
Christoph Schütte
69f74a11ba
Implement EventQueues. ( #759 )
2017-12-15 12:21:44 +01:00
Christoph Schütte
e023ec5ecc
In RpcEvent use std::weak_ptr<Rpc> rather than Rpc* ( #757 )
...
[RFC=0002](https://github.com/googlecartographer/rfcs/blob/master/text/0002-cloud-based-mapping-1.md )
2017-12-14 16:30:01 +01:00
Juraj Oršulić
29e4395a5a
Make WaitForAllComputation wait for work queue in 3D as well ( #758 )
...
Repeat the change in #754 by @gaschler for 3D as well.
2017-12-14 10:02:54 +01:00
gaschler
f8452821d7
WaitForAllComputation waits for work queue ( #754 )
2017-12-13 18:49:22 +01:00
gaschler
59d1b968bc
Unwarp by point in LocalTrajectoryBuilder. ( #636 )
2017-12-13 18:29:42 +01:00
Christoph Schütte
e16d1b1207
Heap-allocate RpcEvents. ( #756 )
...
Replace Rpc's RpcEvent members with heap-allocated RpcEvents.
[RFC=0002](https://github.com/googlecartographer/rfcs/blob/master/text/0002-cloud-based-mapping-1.md )
2017-12-13 18:01:01 +01:00
Christoph Schütte
69787f288f
Introduce skeletons for various stubs. ( #752 )
...
Adds skeletons for
* MapBuilderStub
* PoseGraphStub
* TrajectoryBuilderStub
[RFC=0002](https://github.com/googlecartographer/rfcs/blob/master/text/0002-cloud-based-mapping-1.md )
2017-12-13 15:53:47 +01:00
Christoph Schütte
636f3bbc2f
Add slides from 171207. ( #753 )
2017-12-13 14:51:50 +01:00
Christoph Schütte
bf77b11645
Implement gRPC data handlers and SLAM thread. ( #749 )
2017-12-12 22:36:44 +01:00
Christoph Schütte
e596b75113
Add binary for cartographer_grpc_server. ( #747 )
...
[RFC=0002](https://github.com/googlecartographer/rfcs/blob/master/text/0002-cloud-based-mapping-1.md )
2017-12-11 19:09:52 +01:00
Christoph Schütte
c5ec086968
Introduce TimedPointCloudData. ( #748 )
...
This data structure is needed to forward RangeFinderData over gRPC.
[RFC=0002](https://github.com/googlecartographer/rfcs/blob/master/text/0002-cloud-based-mapping-1.md )
2017-12-08 19:28:47 +01:00
Christoph Schütte
3ae78563c6
Introduce TrajectoryBuilderInterface. ( #736 )
...
[RFC=0004](https://github.com/googlecartographer/rfcs/blob/master/text/0004-trajectory-builder-interface.md )
2017-12-08 11:52:29 +01:00
Christoph Schütte
96cdbde5bf
Introduce PoseGraphInterface. ( #744 )
...
[RFC=0005](https://github.com/googlecartographer/rfcs/blob/master/text/0005-pose-graph-interface.md )
2017-12-08 11:13:48 +01:00
gaschler
549eef0000
Correct namespace ( #742 )
2017-12-07 21:17:30 +01:00
gaschler
3b5a72eebc
Script for address sanitizer tests ( #745 )
2017-12-07 15:26:10 +01:00
Michael Grupp
176fc42c3f
Remove empty leftover of pose_estimate.h ( #740 )
...
Follow-up of #670 .
2017-12-07 08:53:04 +01:00
gaschler
5c694adf93
Correct cmake install ( #739 )
...
Simplify how file lists are collected depending on options.
Omits gRPC headers if they were not built.
2017-12-06 20:34:07 +01:00
Christoph Schütte
2a7a6ef934
Make sensor::Data dispatchable to TrajectoryBuilder. ( #738 )
...
This change allows to dispatch sensor::Data to implementations of mapping::TrajectoryBuilder, i.e. CollatedTrajectoryBuilder. We need this for cartographer_grpc as the incoming sensor data is inserted into a queue by the gRPC threads and dequeued by a SLAM threads that inserts them into a CollatedTrajectoryBuilder.
2017-12-06 16:36:36 +01:00
gaschler
4c999037b4
Integration tests for local slam. ( #734 )
2017-12-06 15:58:16 +01:00
Christoph Schütte
ded778cd34
Implementation of Add/FinishTrajectoryHandler. ( #732 )
2017-12-05 16:36:54 +01:00
Christoph Schütte
697be9a77b
Add MappingServer skeleton. ( #730 )
2017-12-05 14:46:25 +01:00
gaschler
49d55d97c1
Test MapBuilder ( #731 )
2017-12-05 14:04:10 +01:00
gaschler
b77a1f2178
Remove implementation from TrajectoryBuilder. ( #728 )
...
To simplify the implementation of a gRPC-based trajectory builder,
this moves the existing implementation to CollatedTrajectoryBuilder
and organizes the interface by sensor type.
2017-12-05 11:05:05 +01:00
gaschler
ee9c61a736
Move LocalSlamResultCallback to AddTrajectory ( #724 )
2017-12-04 22:41:38 +01:00
Christoph Schütte
0315acf050
Add Slides for Cartographer open house X ( #725 )
2017-12-04 20:08:31 +01:00
Christoph Schütte
e950062367
Add Cartographer service proto. ( #723 )
2017-12-04 17:30:42 +01:00
Christoph Schütte
32a8364b98
Implement bi-directional streaming RPCs. ( #720 )
...
[RFC=0002](https://github.com/googlecartographer/rfcs/blob/master/text/0002-cloud-based-mapping-1.md )
2017-12-04 15:28:19 +01:00
gaschler
1ff8243802
Test RotationDeltaCostFunctor ( #721 )
2017-12-01 09:25:15 +01:00
gaschler
63e901d276
Create AutoDiffCostFunction in cost functions. ( #718 )
...
Creating a ceres::AutoDiffCostFunction requires specifying numbers
of residuals and variables, so it is safer to implement this within
the cost functions, which know best.
2017-11-30 15:41:57 +01:00
gaschler
85bfb888eb
Interface for MapBuilder ( #715 )
...
Defines an interface for MapBuilder that can be used to implement a gRPC stub.
[RFC=0002](https://github.com/googlecartographer/rfcs/blob/master/text/0002-cloud-based-mapping-1.md )
2017-11-30 14:41:48 +01:00
Christoph Schütte
5147af9763
Implement unary gRPC calls. ( #719 )
...
[RFC=0002](https://github.com/googlecartographer/rfcs/blob/master/text/0002-cloud-based-mapping-1.md )
2017-11-30 13:18:16 +01:00
gaschler
24f253a2aa
Remove GetBlockingTrajectoryId ( #714 )
2017-11-30 12:04:14 +01:00
Christoph Schütte
999820d845
Implement shared ExecutionContext for handlers. ( #716 )
...
[RFC=0002](https://github.com/googlecartographer/rfcs/blob/master/text/0002-cloud-based-mapping-1.md )
2017-11-29 14:05:31 +01:00
Christoph Schütte
3a46804393
Implement end-to-end client streaming RPC. ( #713 )
...
[RFC=0002](https://github.com/googlecartographer/rfcs/blob/master/text/0002-cloud-based-mapping-1.md )
2017-11-29 10:40:26 +01:00
Christoph Schütte
02359a98ae
Implement connection establishment and server startup and shutdown. ( #712 )
...
[RFC=0002](https://github.com/googlecartographer/rfcs/blob/master/text/0002-cloud-based-mapping-1.md )
2017-11-28 10:50:30 +01:00
Jihoon Lee
88805a301d
Trim all submaps when pure localization trajectory is finished. ( #563 )
...
Fixes #560
based on #562
2017-11-28 10:21:55 +01:00
Juraj Oršulić
bebe021b04
Serialize fixed frame pose data. ( #689 )
...
Similar to #666 and #548 .
2017-11-28 09:44:35 +01:00
gaschler
1c7183d5c4
VoxelFilter for TimedPointCloud, Filter method. ( #710 )
...
This makes the VoxelFilter ready for TimedPointCloud and
per-point unwarping.
2017-11-27 15:12:07 +01:00
gaschler
c292d76f86
Test ImuTracker ( #711 )
...
Adds unit tests for ImuTracker to cover filtering of the gravity
vector and tracking angular velocity.
2017-11-27 14:46:32 +01:00
Christoph Schütte
cd289bbcee
Introduce RPC class and start wiring up in Service ( #701 )
...
[RFC=0002](https://github.com/googlecartographer/rfcs/blob/master/text/0002-cloud-based-mapping-1.md )
2017-11-24 23:41:58 +01:00
Christoph Schütte
f6a7dfd07b
Update Travis Docker file for Trusty to build gRPC code ( #709 )
...
[RFC=0002](https://github.com/googlecartographer/rfcs/blob/master/text/0002-cloud-based-mapping-1.md )
2017-11-24 22:08:51 +01:00
Wolfgang Hess
7e82ac3bbf
Make IMU cost functions internal. ( #708 )
...
[RFC=0003](https://github.com/googlecartographer/rfcs/blob/master/text/0003-internal-headers.md )
2017-11-24 15:29:48 +01:00
Wolfgang Hess
79b83b92b2
Make the MotionFilter internal. ( #707 )
...
Also moves it from mapping_3d to mapping since it is used
in both 2D and 3D SLAM.
[RFC=0003](https://github.com/googlecartographer/rfcs/blob/master/text/0003-internal-headers.md )
2017-11-24 14:01:07 +01:00
gaschler
0084f14c1c
CeresScanMatcher target_translation ( #702 )
...
For its translation cost function, CeresScanMatcher now takes
a target translation as an argument instead of a pose, which
was confusing.
2017-11-24 12:26:14 +01:00