Wolfgang Hess
f60b2cbb16
Pass IMU data as sensor::ImuData. ( #441 )
2017-08-08 14:27:08 +02:00
Wolfgang Hess
eb53b70fec
Towards localization in 3D. ( #438 )
...
Adds loading maps to 3D, deserializes submaps and supports trajectories
without any node. Still no trimming support.
2017-08-02 14:17:50 +02:00
Wolfgang Hess
5369c3ced1
Use the ImuTracker in the PoseExtrapolator. ( #436 )
2017-08-01 10:44:32 +02:00
Wolfgang Hess
b28bc3bc9e
Extract velocity estimation from poses into a function. ( #435 )
2017-07-31 12:31:28 +02:00
Wolfgang Hess
a6d94c07cf
Use IMU data when extrapolating poses if available. ( #434 )
2017-07-28 17:12:12 +02:00
Andrew Hundt
d22402bdfa
color.cc constexpr std::sqrt is not ISO C++ ( #432 )
2017-07-28 12:11:57 +02:00
damienrg
46c7ce886d
Change Color to Uint8Color and FloatColor ( #423 )
...
As almost all computations for color are done in float, use FloatColor
format by default and convert to Uint8Color only when needed.
2017-07-27 11:03:55 +02:00
Wolfgang Hess
6035f63860
Add a extrapolator for poses. ( #430 )
...
This will be used in Cartographer ROS to extrapolate poses for tf.
PAIR=damonkohler
2017-07-26 15:21:05 +02:00
Jihoon Lee
30f7de1a32
fix num submaps in trimmer_test ( #424 )
2017-07-26 11:14:22 +02:00
Holger Rapp
3859da7ea4
Better tuning for 2D. ( #428 )
2017-07-26 10:50:01 +02:00
Juraj Oršulić
347dc8cec5
Fix debug build ( #418 )
...
Add a fake return value after LOG(FATAL) in
HybridGridPointsProcessor::Flush(). This keeps gcc versions lower
than 7 happy when building without optimisation (i.e. debug build).
Fixes #412 .
2017-07-25 17:39:49 +02:00
lanyaye
56dbad15e3
Fix proto_stream to support 32-bit platforms. ( #427 )
...
In proto_stream.cc, size_t is only correct on 64-bit platforms. Changing it to uint64 adds support for 32-bit platforms. This fixes #426 .
2017-07-25 15:59:57 +02:00
Holger Rapp
ea7c39b6f0
Draw Trajectories onto X-Rays and ProbabilityGrids. ( #421 )
...
This behavior can be turned off with the 'draw_trajectories' setting in Lua.
Fixes #174 .
2017-07-25 13:36:50 +02:00
Holger Rapp
8dfd650068
Pull some functionality from cartographer_ros into cartographer. ( #420 )
...
- Moved color.h.
- Moved Cairo types.
- Simplifications in XRayPointsProcessor.
2017-07-24 13:22:06 +02:00
Wolfgang Hess
4d087cd159
Towards localization in 3D. ( #417 )
...
Adds trimmer handling (but no trimming yet) and frozen trajectories
to 3D. Also freezes nodes, not just submaps.
2017-07-24 11:42:23 +02:00
damienrg
21cc270645
Fix ProbabilityPointsProcessor mirroring output ( #419 )
...
Fixes #414 .
2017-07-24 10:41:45 +02:00
Holger Rapp
6303a96bc8
Add slides from yesterday and next date. ( #416 )
2017-07-21 12:25:51 +02:00
Holger Rapp
481211073f
Build relocatable code. ( #413 )
...
This is required to reuse code from cartographer_ros in cartographer_rviz. Otherwise linking fails with errors like these:
~~~
/usr/bin/ld: libcartographer_ros.a(msg_conversion.cc.o): relocation R_X86_64_32S against `_ZNSs4_Rep20_S_empty_rep_storageE' can not be use
d when making a shared object; recompile with -fPIC
~~~
While this could be fixed locally in cartographer_ros, it is a reasonable default to compile with `-fPIC` always.
2017-07-20 14:31:50 +02:00
Wolfgang Hess
1bce14b7b5
Adds accumulation of range data to 2D. ( #408 )
...
This mostly follows the implementation as done for 3D.
Towards googlecartographer/cartographer_ros#212 .
2017-07-18 12:10:40 +02:00
Mac Mason
3ef680e791
Remove extraneous include ( #407 )
2017-07-18 09:01:12 +02:00
Jochen Sprickerhof
e345ae8280
Support compiling with CMAKE_BUILD_TYPE set to None ( #405 )
...
Debian defaults to setting CMAKE_BUILD_TYPE to None and setting CFLAGS
and alike to Debian standards.
2017-07-17 10:34:14 +02:00
Wolfgang Hess
10a19d0a3f
Add rotational score histograms in 3D. ( #403 )
2017-07-11 11:59:42 +02:00
Wolfgang Hess
167047173c
Tiny improvement of HybridGrid::ToProto(). ( #401 )
...
Makes it a member function and adds a check for left over
update markers.
2017-07-11 09:26:07 +02:00
Wolfgang Hess
0da3fad9b0
Improve handling of grid updates. ( #400 )
...
Changes the grids to only contain update markers during updates.
Serialized grids will never contain them.
2017-07-10 16:14:50 +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
damienrg
39cb8401a5
Implements a ProbabilityGridPointsProcessor ( #383 )
2017-07-10 11:02:14 +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
Wolfgang Hess
5378ee2adc
Serialize range data. ( #395 )
...
We compress 2D range data before serialization to reduce
output size.
Related to #253 .
2017-07-07 15:39:55 +02:00
Wolfgang Hess
94a848cd46
Rename ScanId to NodeId in the serialization. ( #394 )
...
This is consistent with the naming in the C++ structs.
2017-07-07 13:58:23 +02:00
Holger Rapp
00e3d33e43
Add slides from yesterday and next date. ( #393 )
2017-07-07 13:28:22 +02:00
Brandon D. Northcutt
f7af7ae238
Add serialization of compressed range data. ( #334 )
2017-07-07 12:26:36 +02:00
Jihoon Lee
75d5b7a453
Check imu_data array size before access ( #392 )
2017-07-06 14:32:45 +02:00
Moritz Münst
3f4d795c3e
Add pure localization parameter to trajectory builder options. ( #389 )
2017-07-05 16:55:06 +02:00
Wolfgang Hess
9042450aaf
Fix initial pose of loaded submaps. ( #391 )
...
PAIR=SirVer
2017-07-05 16:24:02 +02:00
Wolfgang Hess
3819dd3806
Use an Eigen::AlignedBox to track known cells. ( #388 )
...
PAIR=SirVer
2017-07-05 15:05:46 +02:00
Holger Rapp
3346474963
Grow the ProbabilityGrid as needed instead of preconfiguring its size. ( #387 )
...
This removes the 'half_length' option.
PAIR=wohe
2017-07-05 14:17:04 +02:00
Holger Rapp
a313448bf0
Change CastRays to directly take the ProbabilityGrid. ( #386 )
...
PAIR=wohe
2017-07-05 13:39:44 +02:00
Holger Rapp
611f244d7a
Remove HybridGrid slicing into a ProbabilityGrid. ( #385 )
...
This code is currently unused. The feature of slicing a HybridGrid into a Probability grid could be useful to for example collect a map in 3D, then slice the 3D data to create a 2D map. There are simpler ways to implement this, especially in the context of the assets_writer_main.
PAIR=wohe
2017-07-05 13:17:20 +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
7434e96369
First rough implementation of loading a map. ( #382 )
...
This implements loading of serialized maps in 2D:
We insert all submaps at the serialized optimized pose into
the pose graph and remove their poses from the optimization.
Related to #197 and #315 .
2017-07-04 17:20:13 +02:00
Wolfgang Hess
31f77a01d2
Serialize submaps. ( #380 )
2017-07-04 12:11:54 +02:00
Brandon D. Northcutt
5396156968
Submap serialization support. ( #376 )
2017-07-03 17:59:55 +02:00
Wolfgang Hess
03b9285034
Add support for serializing to a proto stream. ( #379 )
...
Also changes the ground truth tools to read from such a file.
This resolves #335 . Related to #253 .
2017-07-03 15:23:15 +02:00
Wolfgang Hess
54bd81a78b
Remove UKF related code and configuration. ( #378 )
2017-06-30 13:19:13 +02:00
Wolfgang Hess
17a22edebc
Change local 3D SLAM to not use a UKF. ( #375 )
...
This follows the 2D local SLAM in implementing a simple
constant velocity model and allows integrating odometry and
rotation information from an IMU.
2017-06-30 11:49:22 +02:00
Damon Kohler
f765e55ea9
Use multi-res scan matching for loop closures too. ( #374 )
...
Improves loop closure scan matcher refinement.
2017-06-30 09:30:09 +02:00
Wolfgang Hess
955e190166
Add IMU orientation correction to the pose graph optimization. ( #361 )
...
Orientation of the IMU, most importantly pitch, is crucial to correctly
track changes in altitude. Each trajectory gets optimization variables
to correct for small errors in the IMU orientation.
Also adds separate gravity constants for each trajectory. The idea is
that different trajectories might use different hardware and slightly
disagree about the strength of gravity.
PAIR=damonkohler
2017-06-28 18:12:24 +02:00
Wolfgang Hess
19da0ab7c8
Gravity align in local 3D SLAM. ( #373 )
2017-06-28 16:17:18 +02:00
Wolfgang Hess
ffc939706d
Rename the KalmanLocalTrajectoryBuilder. ( #372 )
2017-06-28 15:32:43 +02:00