Alexander Belyaev
3ebfa757ef
Move mapping_*d to mapping/*d. ( #935 )
...
[Code structure RFC](https://github.com/googlecartographer/rfcs/blob/master/text/0016-code-structure.md )
2018-02-26 17:40:29 +01:00
Alexander Belyaev
7d13383dec
Remove 'mapping_3d' namespace. ( #922 ) ( #925 )
...
Remove 'mapping_3d' namespace. (#922 )
It is removed from everywhere but 'scan_matching', 'pose_graph'
subfolders of 'mapping_3d'.
[Code structure RFC](e11bca586f/text/0000-code-structure.md
)
2018-02-21 14:24:12 +01:00
gaschler
7448f93b50
Avoid auto for Eigen expressions. ( #899 )
...
While harmless in most cases, auto can delay evaluation
of expressions in unexpected ways.
So it is better to avoid auto for Eigen expressions.
https://eigen.tuxfamily.org/dox/TopicPitfalls.html
2018-02-13 12:34:43 +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
894bad397d
Rename Landmark->LandmarkObservation. ( #847 )
2018-01-25 12:10:30 +01:00
Alexander Belyaev
986ac28ff8
Rename 'tranform' to 'landmark_to_tracking_transform'. ( #836 )
2018-01-22 18:30:14 +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
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
gaschler
51ccee3e74
CollatorInterface ( #808 )
...
[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
e1a182d1fa
Implement LocalSlamResult data adding to PoseGraph. ( #804 )
2018-01-11 10:19:37 +01:00
Susanne Pielawa
91034eaf58
Making pose in FixedFramePoseData optional. ( #792 )
...
This is for the case that the GPS signal is not available.
2018-01-08 11:37:07 +01:00
Christoph Schütte
02734c296d
Implement ReceiveLocalSlamResultsHandler. ( #772 )
2017-12-19 15:11:29 +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
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
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
Wolfgang Hess
055728af93
Rename options for consistency. ( #686 )
...
"scan" is better named "node" if it refers to a node in global SLAM.
"penalty factor" is renamed "weight" for consistency with other similar options.
"scans_per_accumulation" is renamed "num_accumulated_range_data" to match the code and since the accumulated data is not called "scan".
2017-11-17 10:52:22 +01:00
catskul
f6192e4735
replace implicit use of cartographer::string with explicit use of std::string ( #673 )
...
Fixes #622 .
2017-11-15 10:17:59 +01:00
Wolfgang Hess
3ec583a327
Change fixed_frame_pose_data_ to MapByTime. ( #662 )
2017-11-13 17:41:04 +01:00
Wolfgang Hess
4a8607810e
Change odometry_data_ to MapByTime. ( #655 )
2017-11-13 13:21:53 +01:00
Christoph Schütte
6e274766f2
Remove unnecessary [packed=true] annotation ( #660 )
...
[RFC=0000](https://github.com/googlecartographer/rfcs/blob/master/text/0000-proto3-transition.md )
2017-11-13 09:18:53 +01:00
Christoph Schütte
53471359f8
Convert all .proto files to proto3 syntax. ( #653 )
...
[RFC=0000](https://github.com/googlecartographer/rfcs/blob/master/text/0000-proto3-transition.md )
2017-11-13 08:26:35 +01:00
Juraj Oršulić
8186316d77
Range loop over trajectories for MapByTime ( #633 )
2017-11-06 17:14:01 +01:00
Alexander Belyaev
0d2bc8b938
Adds a 'LandmarkData' struct and proto. ( #628 )
2017-11-06 15:35:21 +01:00
Wolfgang Hess
77fb50fd76
Introduce sensor::MapByTime<>. ( #631 )
...
This data structure is used for keeping IMU data. This
allows trimming IMU data in the middle which is needed for
life-long mapping.
2017-11-06 13:36:59 +01:00
gaschler
d4db1e79a6
Add TimedPointCloud and TimedRangeData. ( #601 )
...
Adds a type TimedPointCloud that holds 4-dimensional vectors where measurement time of individual points are stored in the fourth entry.
Uses TimedRangeData to pass TimedPointCloud of incoming measurements to LocalTrajectoryBuilder.
Fixes #573 .
2017-10-24 11:47:35 +02:00
Holger Rapp
0c9f2c4f65
Remove unused concept of CompressedRangeData. ( #604 )
2017-10-19 11:19:56 +02:00
Wolfgang Hess
cb41777b9e
Introduces mapping::MapById in the 2D pose graph for submaps. ( #578 )
...
PAIR=cschuet
2017-10-12 11:58:59 +02:00
Holger Rapp
6708930bbf
Adds 'offset_seconds' to PointCloudWithIntensities. ( #571 )
...
This is preparing using per-point-unwarping in the `assets_writer` in `cartographer_ros`.
Related to googlecartographer/cartographer_ros#521 .
PAIR=@wohe
2017-10-06 13:21:02 +02:00
Wolfgang Hess
094b5a4d93
Template dispatching of sensor data. ( #484 )
...
This reduces the amount of code that needs to be written when a
new type of sensor data is introduced by a tiny bit.
Rangefinder data is not yet following this pattern.
2017-08-28 15:43:26 +02:00
Wolfgang Hess
a239b71a6e
Dynamic dispatch of sensor::Data. ( #475 )
...
This ensures at compile time that all types of data are handled,
and only keeps the data needed for each individual type.
2017-08-24 14:17:51 +02:00
jie
0671e8835e
Add interface to process fixed frame pose, e.g. GPS. ( #471 )
2017-08-24 12:49:03 +02:00
zjwoody
ba6f782949
Fix ClangTidy warnings. ( #455 )
2017-08-16 15:21:04 +02:00
Wolfgang Hess
8732e43f16
Add sensor::OdometryData. ( #442 )
2017-08-08 14:52:47 +02:00
Wolfgang Hess
b0b4f30007
Cleanup of cell index conversion in 2D. ( #399 )
...
This makes 2D more similar to 3D. GetProbability() only takes
cell indices which are computed using GetCellIndex().
2017-07-10 15:01:13 +02:00
Wolfgang Hess
78bd37ec26
Unify 2D/3D range data in trajectory nodes. ( #396 )
...
Since we only convert compressed range data to protos, we remove the
unused code to serialize (non-compressed) range data which should also
not be used in the future.
2017-07-07 17:07:04 +02:00
Brandon D. Northcutt
f7af7ae238
Add serialization of compressed range data. ( #334 )
2017-07-07 12:26:36 +02:00
Wolfgang Hess
3819dd3806
Use an Eigen::AlignedBox to track known cells. ( #388 )
...
PAIR=SirVer
2017-07-05 15:05:46 +02:00
Jihoon Lee
1e6723e214
Move ImuData to sensor, add ImuData proto. ( #381 )
2017-07-05 12:28:40 +02:00
Holger Rapp
9b48ba5ff4
Remove unused code. ( #384 )
2017-07-05 12:16:29 +02:00
Wolfgang Hess
565e9c3eff
Simplify the handling of weights in the optimization problem. ( #309 )
...
This replaces the 3x3 (2D) or 6x6 (3D) matrix by the weights
for the translational and rotational component. The matrices
only contain these values now anyway, so this simplifies
the code and increases performance.
Also removes 2D from the UKF implementation which has not been
used for quite some time now.
2017-06-01 17:03:49 +02:00
Wolfgang Hess
3d0d1e46b5
Remove unused code. ( #304 )
2017-05-23 14:17:20 +02:00
Wolfgang Hess
9033fad1ab
Always use the origin as the origin for grids. ( #294 )
...
Also removes convenience functions from mapping_3d::Submap.
PAIR=SirVer
2017-05-18 12:00:45 +02:00
Wolfgang Hess
79dc1f848f
Remove 'laser' references from parameter names. ( #259 )
...
Related to #250 .
2017-05-04 15:38:41 +02:00
Wolfgang Hess
6d2feaa8c7
Build and run all tests found by the glob. ( #258 )
2017-05-03 16:55:13 +02:00
Wolfgang Hess
ff06e37579
Remove the LaserScan proto. ( #257 )
2017-05-03 16:20:04 +02:00
Holger Rapp
cdd366bab4
Remove intensities - they are unused in SLAM. ( #247 )
2017-05-03 13:44:15 +02:00
Mac Mason
4f1914b2b4
Remove extraneous Eigen/Geometry include ( #232 )
2017-03-31 08:46:48 +02:00
Wolfgang Hess
4fa190d316
Rename LaserFan to RangeData. ( #224 )
...
LaserFan is misleading since range data can come from
various sensor types.
2017-03-23 14:56:18 +01:00