c++rosslamsensor-fusionslam-algorithm

Error with FAST_LIO_LC package: Invalid quaternion in transform


I'm using the FAST_LIO_LC package (https://github.com/yanliang-wang/FAST_LIO_LC) which integrates the fastlio package with a graph optimization method. When running the roslaunch fast_lio mapping_velodyne.launch and roslaunch aloam_velodyne fastlio_velodyne_VLP_16.launch commands with my own rosbag file, I encountered the following error:

[ERROR] [1689143757.287959229]: Ignoring transform for child_frame_id "aft_pgo" from authority "unknown_publisher" because of an invalid quaternion in the transform (-nan -nan -nan -nan)

I'm unsure about the cause of this error and how to resolve it. Can someone provide insights or suggestions on how to troubleshoot and fix this issue?

I'm currently working with a ROS bag file that I generated, and I'm trying to analyze the IMU data by using rostopic echo /imu/data/header. However, I've noticed that my ROS bag file publishes /imu/data with frame_id set to "imu_link". On the other hand, the ROS bag file provided by the FAST_LIO_LC package (https://github.com/yanliang-wang/FAST_LIO_LC) publishes /imu/data with frame_id set to "imu".

I suspect that this difference in frame_id values is causing the problem. Is it possible that my ROS bag file has an incorrect frame_id value?

Should I modify the frame_id value in my ROS bag file to match the one used by the FAST_LIO_LC package? Or is there a different approach to solve this problem?


Solution

  • You can change the speedFactor in fastlio_velodyne_VLP_16.launch to a lower value. the default speed is 1. You can change to a lower value until the error is not come out. This is maybe because the timestamp from the pose graph optimization is faster than your own data. Hope this help you.