Commit Graph

351 Commits (e2c67a7bdef63441ee8b437b18677ee5310c8d8a)

Author SHA1 Message Date
jie e2c67a7bde Fix Lint and ClangTidy warnings. () 2017-08-31 13:39:47 +02:00
Wolfgang Hess 3215035c1c Add thread annotation to LogResidualHistograms(). () 2017-08-31 12:26:31 +02:00
Mac Mason b54ca0cca6 Fix Rigid2 and Rigid3 to default to an identity transform. () 2017-08-31 11:32:04 +02:00
Christoph Schütte 06e9112bc8 Unify GlobalTrajectoryBuilder across 2D and 3D ()
This PR unifies GlobalTrajectoryBuilder across 2D and 3D by templating
it with the LocalTrajectoryBuilder and the SparsePoseGraph. It thus
includes small changes to interfaces in LocalTrajectoryBuilder and
SparsePoseGraph.
2017-08-30 16:34:26 +02:00
Wolfgang Hess 3c22c8253a Refactoring: Do not pass 'constant_data' in pieces. ()
Also removes the no longer used range data from trajectory nodes
in 2D.
2017-08-30 14:22:12 +02:00
Wolfgang Hess 094b5a4d93 Template dispatching of sensor data. ()
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 a7fe8bd2ab Add filtered point cloud to TrajectoryNode::Data for 2D. () 2017-08-28 11:17:53 +02:00
jie 42d8a8f005 Add filtered point clouds to TrajectoryNode::Data for 3D. () 2017-08-25 16:56:50 +02:00
jie 0837d4b228 Add fixed frame pose constraints to 3D problem. () 2017-08-25 15:26:19 +02:00
jie 449799719f Extract rotation parameterization to a separate file. () 2017-08-25 12:06:22 +02:00
Christoph Schütte 96b71e227f Add histograms for pose residuals ()
* WIP Add histograms for pose residuals

* Address reviewers comments

* Address more comments.
2017-08-25 11:39:56 +02:00
jie 2fd2e86351 Add fixed frame pose weight into optimization problem options. () 2017-08-24 15:40:48 +02:00
jie 14977f73f1 Add fixed frame pose data to the 3D optimization problem. () 2017-08-24 15:02:23 +02:00
Wolfgang Hess a239b71a6e Dynamic dispatch of sensor::Data. ()
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. () 2017-08-24 12:49:03 +02:00
Wolfgang Hess e78e2cb5ad Extract PoseEstimate into its own file. ()
This is to remove the dependency of GlobalTrajectoryBuilderInterface
on the TrajectoryBuilder.
2017-08-24 12:04:39 +02:00
Wolfgang Hess f0e1dab031 Add a histogram of low resolution scores for 3D. () 2017-08-24 09:28:12 +02:00
Wolfgang Hess 4d11a226ff Expose low resolution matching scores. ()
This is needed in preparation of adding a low resolution score histogram.
2017-08-23 17:48:49 +02:00
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