?????????我用mid360錄制的bag包,激光雷達的數據類型是sensor_msgs::PointCloud2,但是運行fast_lio中的mid360 launch文件,會報錯(沒截圖),顯示無法從livox_ros_driver2::CustomMsg轉換到sensor_msgs::PointCloud2。這是因為fast_lio中默認mid360雷達的消息格式為livox_ros_driver2::CustomMsg。這個時候有兩種方法,一是改錄制的bag包的消息格式,二是修改fast_lio源碼。我選擇的是第二種。
一、修改livox_pcl_cbk中的消息格式
????????首先修改lasermapping.cpp中的livox_pcl_cbk中的消息格式
二、lidar_type設置為了2
????????修改完第一步編譯通過,但是播放數據集時,會發現rviz沒有點云,同時終端一直顯示點云為空。這個時候我直接把mid360.yaml文件中的lidar_type設置為了2,后面進行處理的時候點云直接按照 velodyne格式修改
?
?三、最終結果:終端會提示
????????Failed to find match for field 'ring'.
????????Failed to find match for field 'time'.
????????這是因為只處理了XYZI字段,而實際錄制的bag包中還有ring和time兩個字段