CTLO is a light-weight Continuous Time Lidar Odometry for lidar data collected by UGVs. As a pure lidar odometry, It can achieve over 50hz with high accuracy.
nsh_indoor_outdoor rotation_dataset hdl_400 Deutsches Museummkdir -p ctlo_ws/src
cd ctlo_ws/src/
git clone https://github.com/G3tupup/ctlo.git
cd ..
catkin_make
source devel/setup.bash
roslaunch ctlo lidar_odometry.launch
CTLO is tested in Ubuntu 16.04, 18.04 and 20.04. Please install the following libraries before compilation.
- ROS
- Ceres Solver
- Eigen
- PCL(only used to display pointcloud in rviz)
- OpenMP(optional)
- lidar_topic: the topic of pointcloud in your rosbag. (Do not mix up "/xxx" with "xxx", which may cause error.)
- rosbag_folder_name: the path of your rosbag. (Do not forget "/" at the end.)
- rosbag_file_name: the name of your rosbag.
- accumulate_count: the number of pointcloud which belongs in one frame. (1 for default and 75 for cartographer datasets)
- set OPENMPTHREAD in active_feature_map.hpp larger if your cpu have more cores.
- set image_height_sample_step_ in feature_processor.hpp to 2/3 to reduce point cloud size.(This may reduce a bit of accuracy and robustness.)
- set edge_feature_num_per_sub_line_ in feature_processor.hpp to 2/1 to reduce feature number.(This may reduce a bit of accuracy and robustness.)
VLP16/HDL32 data collected by a UGV is highly recommended. Here are some tested public datasets:
- nsh_indoor_outdoor(VLP16)
- rotation_dataset(VLP16)
- same_position(VLP16)
- hdl_400(HDL32)
- cartographer(VLP16)
- feature extraction proposed in LeGO-LOAM and improved
- continuous time solver proposed in CT-ICP
- incremental ndt in voxels for fast data assosiation and O(1) sliding window map update
- Default parameters in feature_processor.hpp are for VLP16/HDL32 data, and you need to modify some of them for other kinds of lidar.
- Feature extraction is similar with LeGO-LOAM, so it performs well for ground outdoor environment. Commenting function markGroundPoints() in feature_processor.hpp can help to cover with indoor/UAV environment.