SLAM package using NDT registration library of Autoware with loop-closure detection (odometry based) referenced from lego_loam.
loop-closure enabled map cloud loop-closure disabled map cloud loop-closure enabled trajectory loop-closure disabled trajectory
- Point Cloud(
/lslidar_point_cloud
) - Odometry(
/odom/imu
) - Imu(
/imu/data
) - TF: /base_link -> /laser, /odom -> /base_link(
/tf
)
- (
/laser_cloud_surround
)
- Run the launch file:
roslaunch ndt_map test.launch
- Play existing bag files test_0515.bag:
rosbag play test_0515.bag --clock
- thread-safe
- optimize initial guess in point cloud registration
- add other initial guess support(use_odom need to be set true currently)
- error estimation of pitch will cause accumulated error of height estimation
- a little bit shake in pose estimation when playing test_0515.bag (especially in z axis), haven't check it out yet
- save/load NDT map using
$(\mu,\Sigma)$ format - add appearence based loop-closure detection support
- add gpu support (based on modified ndt_gpu lib)
- learning engineering tricks of NDT localization implementation in Apollo