Adds an FAQ entry why the IMU is required in 3D (#328)

master
Holger Rapp 2017-05-08 16:04:27 +02:00 committed by GitHub
parent b6fa20c9d5
commit 1d256adeb5
1 changed files with 17 additions and 0 deletions

View File

@ -34,3 +34,20 @@ measurements, for matching. Since there are two VLP-16s, 160 UDP packets is
enough for roughly 2 revolutions, one per VLP-16. enough for roughly 2 revolutions, one per VLP-16.
__ https://github.com/googlecartographer/cartographer_ros/blob/master/cartographer_ros/configuration_files/backpack_3d.lua __ https://github.com/googlecartographer/cartographer_ros/blob/master/cartographer_ros/configuration_files/backpack_3d.lua
Why is IMU data required for 3D SLAM, but not for 2D?
-----------------------------------------------------
In 2D, Cartographer supports running the correlative scan matcher, which is normally used for finding loop closure constraints, for local SLAM.
It is computationally expensive but can often render the incorporation of odometry or IMU data unnecessary.
2D also has the benefit of assuming a flat world, i.e. up is implicitly defined.
In 3D, an IMU is required mainly for measuring gravity.
Gravity is an attractive quantity to measure since it does not drift and is a very strong signal and typically comprises most of any measured accelerations.
Gravity is needed for two reasons:
1. There are no assumptions about the world in 3D.
To properly world align the resulting trajectory and map, gravity is used to define the z-direction.
2. Roll and pitch can be derived quite well from IMU readings once the direction of gravity has been established.
This saves work for the scan matcher by reducing the search window in these dimensions.