Commit Graph

533 Commits (636f3bbc2fd48ee400acdfb7cb2dbf791bee0a3f)

Author SHA1 Message Date
Jihoon Lee 2dd2d6f448 Use vector<map<>> instead of vector<deque> for submap_data. () 2017-08-23 12:16:42 +02:00
zjwoody 2e53586818 Also check low resolution match for 3D loop closure. ()
Related to .
2017-08-22 17:29:20 +02:00
Wolfgang Hess 297e9cc02d Remove unused argument. () 2017-08-22 12:22:41 +02:00
zjwoody ac693f3e04 Use separate voxel filter options for 3D loop closure. () 2017-08-21 18:01:23 +02:00
Damon Kohler edfd6ac8d7 Also log the IMU correction as a quaternion. () 2017-08-21 17:26:48 +02:00
Moritz Münst 0ef372d584 Use odometry in 2D pose graph optimization. () 2017-08-21 15:12:00 +02:00
Wolfgang Hess bcde3b45b0 Tiny cleanup of TransformInterpolationBuffer. () 2017-08-18 16:19:50 +02:00
Wolfgang Hess 14d868869f Add slides from yesterday and next date. () 2017-08-18 12:06:53 +02:00
Wolfgang Hess c29fec3dd0 Fix colors in the X-ray points processor. ()
mean_..._in_column was broken in .
2017-08-17 18:07:33 +02:00
Wolfgang Hess 9498cc90ca Estimate angular velocities from odometry. ()
If no IMU is available we will now use odometry to estimate
angular velocities if available instead of the last poses.

Fixes .
2017-08-16 16:55:39 +02:00
Wolfgang Hess 0c6d6979c4 Fix header. ()
RegisterBuiltInPointsProcessors() declaration was broken in .
2017-08-16 16:22:42 +02:00
zjwoody ba6f782949 Fix ClangTidy warnings. () 2017-08-16 15:21:04 +02:00
Wolfgang Hess 11dbdf91b9 Remove unused code and option for odometry states. () 2017-08-11 17:38:48 +02:00
Wolfgang Hess e79a918989 Use PoseExtrapolator in the 3D trajectory builder. ()
This replaces the Predict() logic in the 3D trajectory builder.
2017-08-11 17:13:28 +02:00
Wolfgang Hess 73b0e5e20a Use PoseExtrapolator in the 2D trajectory builder. ()
This replaces the Predict() logic in the 2D trajectory builder.
2017-08-11 12:38:34 +02:00
Wolfgang Hess 6ebfa50291 Use odometry to extrapolate linear motion. () 2017-08-08 16:30:53 +02:00
Wolfgang Hess 8732e43f16 Add sensor::OdometryData. () 2017-08-08 14:52:47 +02:00
Wolfgang Hess f60b2cbb16 Pass IMU data as sensor::ImuData. () 2017-08-08 14:27:08 +02:00
Wolfgang Hess eb53b70fec Towards localization in 3D. ()
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. () 2017-08-01 10:44:32 +02:00
Wolfgang Hess b28bc3bc9e Extract velocity estimation from poses into a function. () 2017-07-31 12:31:28 +02:00
Wolfgang Hess a6d94c07cf Use IMU data when extrapolating poses if available. () 2017-07-28 17:12:12 +02:00
Andrew Hundt d22402bdfa color.cc constexpr std::sqrt is not ISO C++ () 2017-07-28 12:11:57 +02:00
damienrg 46c7ce886d Change Color to Uint8Color and FloatColor ()
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. ()
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 () 2017-07-26 11:14:22 +02:00
Holger Rapp 3859da7ea4 Better tuning for 2D. () 2017-07-26 10:50:01 +02:00
Juraj Oršulić 347dc8cec5 Fix debug build ()
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 .
2017-07-25 17:39:49 +02:00
lanyaye 56dbad15e3 Fix proto_stream to support 32-bit platforms. ()
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 .
2017-07-25 15:59:57 +02:00
Holger Rapp ea7c39b6f0 Draw Trajectories onto X-Rays and ProbabilityGrids. ()
This behavior can be turned off with the 'draw_trajectories' setting in Lua.

Fixes .
2017-07-25 13:36:50 +02:00
Holger Rapp 8dfd650068 Pull some functionality from cartographer_ros into cartographer. ()
- Moved color.h.
- Moved Cairo types.
- Simplifications in XRayPointsProcessor.
2017-07-24 13:22:06 +02:00
Wolfgang Hess 4d087cd159 Towards localization in 3D. ()
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 ()
Fixes .
2017-07-24 10:41:45 +02:00
Holger Rapp 6303a96bc8 Add slides from yesterday and next date. () 2017-07-21 12:25:51 +02:00
Holger Rapp 481211073f Build relocatable code. ()
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. ()
This mostly follows the implementation as done for 3D.

Towards .
2017-07-18 12:10:40 +02:00
Mac Mason 3ef680e791 Remove extraneous include () 2017-07-18 09:01:12 +02:00
Jochen Sprickerhof e345ae8280 Support compiling with CMAKE_BUILD_TYPE set to None ()
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. () 2017-07-11 11:59:42 +02:00
Wolfgang Hess 167047173c Tiny improvement of HybridGrid::ToProto(). ()
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. ()
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. ()
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 () 2017-07-10 11:02:14 +02:00
Wolfgang Hess 78bd37ec26 Unify 2D/3D range data in trajectory nodes. ()
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. ()
We compress 2D range data before serialization to reduce
output size.

Related to .
2017-07-07 15:39:55 +02:00
Wolfgang Hess 94a848cd46 Rename ScanId to NodeId in the serialization. ()
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. () 2017-07-07 13:28:22 +02:00
Brandon D. Northcutt f7af7ae238 Add serialization of compressed range data. () 2017-07-07 12:26:36 +02:00
Jihoon Lee 75d5b7a453 Check imu_data array size before access () 2017-07-06 14:32:45 +02:00
Moritz Münst 3f4d795c3e Add pure localization parameter to trajectory builder options. () 2017-07-05 16:55:06 +02:00