kevin2431 / Traj-LO

[RA-L 2024] In Defense of LiDAR-Only Odometry Using an Effective Continuous-Time Trajectory
MIT License
234 stars 15 forks source link

Support for MID-40? #4

Open yorklyb opened 1 month ago

yorklyb commented 1 month ago

Thanks for releasing the code! I'm wondering if Traj-LO supports Livox MID-40? We tried to run Traj-LO with our bags. However, we encountered with Segmentation fault.

kevin2431 commented 1 month ago

Thanks for watching our Traj-LO and use it for your academic work. Traj-LO is designed to be compatible with various LiDAR models, including the Livox MID-40.

The segmentation fault issue you encountered stems from the utilization of the data structure livox_ros_driver/CustomMsg to read points stored in the type sensor_msgs/PointCloud2. To address this problem, we recommend using livox_lidar_msg.launch instead of livox_lidar.launch when launching the Livox ROS driver for recording LiDAR points.

It's important to note that Traj-LO operates on a continuous-time basis, necessitating each point in your rosbag to have a corresponding timestamp. If you intend to reuse a bag storing points in the type sensor_msgs/PointCloud2, which lacks timestamp recording, you should opt for data_type: "bag_velodyne". Additionally, Livox Mid-40 timestamps can be computed as follows:

double ts = (j * 1.0 / 10000) * 0.1;
scan->points[j].ts = tbase + ts;