hku-mars / FAST-LIVO

A Fast and Tightly-coupled Sparse-Direct LiDAR-Inertial-Visual Odometry (LIVO).
GNU General Public License v2.0
1.26k stars 202 forks source link

MID360激光雷达跑自己数据集时无效,while循环卡在if(!sync_packages(LidarMeasures)) #56

Closed ZRS0326 closed 1 year ago

ZRS0326 commented 1 year ago

问题1,我自己的数据集是MID360雷达录制的,点云格式是livox_ros_driver2::CustomMsg,实际上与livox_ros_driver::CustomMsg一致。日志输出已获取到点云,不过LIO模块不执行,经测试卡在sync_packages(LidarMeasures)中的 meas.lidar = lidar_buffer.front(); // push the firsrt lidar topic if(meas.lidar->points.size() <= 1) { mtx_buffer.lock(); if (img_buffer.size()>0) // temp method, ignore img topic when no lidar points, keep sync { lidar_buffer.pop_front(); img_buffer.pop_front(); } mtx_buffer.unlock(); sig_buffer.notify_all(); // ROS_ERROR("out sync"); cout<<"A3"<<endl; return false; 卡在这一步 } 请问是数据集的关系吗?想要寻求解决方式。 问题2,MID360雷达也是内置IMU,但在我启动后发现IMU初始化似乎没运行。 void ImuProcess::IMU_init(const MeasureGroup &meas, StatesGroup &state_inout, int &N) { / 1. initializing the gravity, gyro bias, acc and gyro covariance 2. normalize the acceleration measurenments to unit gravity */ ROS_INFO("IMU Initializing: %.1f %%", double(N) / MAX_INI_COUNT 100); 这一步没有执行 V3D cur_acc, cur_gyr;

fy99925 commented 1 year ago

我测试的时候也遇到这个问题,求教。

SunZezhou commented 1 year ago

I noticed the problem occurred with the tag of Mid360 points.

It works well for me after commenting out the following line, but I don't know what this line means.

https://github.com/hku-mars/FAST-LIVO/blob/a8918c23dc4dba7d98fa723a9fa0fc2cbdf4d977/src/preprocess.cpp#L139

Screenshot 2023-03-23 16:14:09

xuankuzcr commented 1 year ago

问题1,我自己的数据集是MID360雷达录制的,点云格式是livox_ros_driver2::CustomMsg,实际上与livox_ros_driver::CustomMsg一致。日志输出已获取到点云,不过LIO模块不执行,经测试卡在sync_packages(LidarMeasures)中的 meas.lidar = lidar_buffer.front(); // push the firsrt lidar topic if(meas.lidar->points.size() <= 1) { mtx_buffer.lock(); if (img_buffer.size()>0) // temp method, ignore img topic when no lidar points, keep sync { lidar_buffer.pop_front(); img_buffer.pop_front(); } mtx_buffer.unlock(); sig_buffer.notify_all(); // ROS_ERROR("out sync"); cout<<"A3"<<endl; return false; 卡在这一步 } 请问是数据集的关系吗?想要寻求解决方式。 问题2,MID360雷达也是内置IMU,但在我启动后发现IMU初始化似乎没运行。 void ImuProcess::IMU_init(const MeasureGroup &meas, StatesGroup &state_inout, int &N) { / 1. initializing the gravity, gyro bias, acc and gyro covariance 2. normalize the acceleration measurenments to unit gravity */ ROS_INFO("IMU Initializing: %.1f %%", double(N) / MAX_INI_COUNT 100); 这一步没有执行 V3D cur_acc, cur_gyr;

核对下IMU和LiDAR之间的时间戳吧,最好打印出来。

xuankuzcr commented 1 year ago

I noticed the problem occurred with the tag of Mid360 points.

It works well for me after commenting out the following line, but I don't know what this line means.

https://github.com/hku-mars/FAST-LIVO/blob/a8918c23dc4dba7d98fa723a9fa0fc2cbdf4d977/src/preprocess.cpp#L139

Screenshot 2023-03-23 16:14:09

这是通过mid360的tag判断回波的,注释掉试试?

tdcsu commented 8 months ago

I noticed the problem occurred with the tag of Mid360 points.

It works well for me after commenting out the following line, but I don't know what this line means.

https://github.com/hku-mars/FAST-LIVO/blob/a8918c23dc4dba7d98fa723a9fa0fc2cbdf4d977/src/preprocess.cpp#L139

Screenshot 2023-03-23 16:14:09

Thanks for your tips, could you please tell me your sensor type of the camera