Commit Graph

789 Commits (23f6de46b0804d3f4d0828a4853cfd0a5338d9d6)

Author SHA1 Message Date
jie 14977f73f1 Add fixed frame pose data to the 3D optimization problem. (#476) 2017-08-24 15:02:23 +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
Wolfgang Hess e78e2cb5ad Extract PoseEstimate into its own file. (#474)
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. (#473) 2017-08-24 09:28:12 +02:00
Wolfgang Hess 4d11a226ff Expose low resolution matching scores. (#470)
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. (#422) 2017-08-23 12:16:42 +02:00
zjwoody 2e53586818 Also check low resolution match for 3D loop closure. (#468)
Related to #369.
2017-08-22 17:29:20 +02:00
Wolfgang Hess 297e9cc02d Remove unused argument. (#466) 2017-08-22 12:22:41 +02:00
zjwoody ac693f3e04 Use separate voxel filter options for 3D loop closure. (#465) 2017-08-21 18:01:23 +02:00
Damon Kohler edfd6ac8d7 Also log the IMU correction as a quaternion. (#463) 2017-08-21 17:26:48 +02:00
Moritz Münst 0ef372d584 Use odometry in 2D pose graph optimization. (#456) 2017-08-21 15:12:00 +02:00
Wolfgang Hess bcde3b45b0 Tiny cleanup of TransformInterpolationBuffer. (#462) 2017-08-18 16:19:50 +02:00
Wolfgang Hess 14d868869f Add slides from yesterday and next date. (#461) 2017-08-18 12:06:53 +02:00
Wolfgang Hess c29fec3dd0 Fix colors in the X-ray points processor. (#460)
mean_..._in_column was broken in #423.
2017-08-17 18:07:33 +02:00
Wolfgang Hess 9498cc90ca Estimate angular velocities from odometry. (#458)
If no IMU is available we will now use odometry to estimate
angular velocities if available instead of the last poses.

Fixes #453.
2017-08-16 16:55:39 +02:00
Wolfgang Hess 0c6d6979c4 Fix header. (#457)
RegisterBuiltInPointsProcessors() declaration was broken in #455.
2017-08-16 16:22:42 +02:00
zjwoody ba6f782949 Fix ClangTidy warnings. (#455) 2017-08-16 15:21:04 +02:00
Wolfgang Hess 11dbdf91b9 Remove unused code and option for odometry states. (#451) 2017-08-11 17:38:48 +02:00
Wolfgang Hess e79a918989 Use PoseExtrapolator in the 3D trajectory builder. (#450)
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. (#448)
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. (#443) 2017-08-08 16:30:53 +02:00
Wolfgang Hess 8732e43f16 Add sensor::OdometryData. (#442) 2017-08-08 14:52:47 +02:00
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