复现FAST_LIO【Ubuntu 20.04.6 LTS】_fastlio复现-CSDN博客
对于新手来说(比如我这颗大白菜)找对教程比随便一个教程一味执行来的高效的多,还有就是理解linux的编译思路比一味地跟着指令操作要来的有用的多。
大佬的话可以完全无视我这些啰里吧嗦。建议好好了解一番linux下编译c语言的底层逻辑,知道为什么代码运行不起来的根本原因,我总结下来就是要么没下载好依赖,要么依赖的路径找不到(求指导!!)
好进入正题!我先复现的FAST_LIVO2再复现的FAST_LIVO,只要2成功了1非常简单了。
所以建议看看我的这个博客:
跟的最上面的那个教程,在这里稍微记录一下我的踩坑情况。
雷达配置文件和数据文件topic不一致问题
roslaunch fast_lio mapping_velodyne.launch
#rosbag play YOUR_DOWNLOADED.bag
rosbag play demo01_velodyne.bag
发现rviz没有任何响应!于是查找资料找原因!
原来疏忽了一点!这里忽视了雷达配置文件与bag数据包中的话题两者一致的规则!
这个看的这个网址的教程:
激光里程计:fast-lio复现_51CTO博客_激光里程计和imu里程计
fast_lio是一种里程计算法,他可以根据输入的传感器的数据,输出机器人的里程计信息等。如下图所示,fast_lio文件下的launch文件夹下,共计有四种雷达的launch文件,分别为avia、horizon、outer64、velodyne,其config文件下为这四种雷达的yaml配置文件。
而我们下面即将进行的rosbag example,其实就是先启动对应的launch文件,然后再rosbag play bag文件,利用bag文件中的数据,模拟传感器发送给fastlio的数据。其中的bag文件中,包含了对应的传感器的数据,而要保证bag文件中的数据能够正确的发送给fastlio,我们还需确保对应的雷达配置文件中的 topic 与 bag文件中数据的topic一致。
如果不一致,rviz中就不会有任何反应。显然我就属于这种情况,于是赶紧查看雷达配置文件中的 topic 与 bag文件中数据的topic是否一致:
可以看到雷达配置文件的topic为:
lid_topic: "/velodyne_points"
imu_topic: "/imu/data"
bag文件中的数据topic为:
lid_topic: "points_raw"
imu_topic: "imu_raw"
雷达配置文件 | bag文件 |
lid_topic: "/velodyne_points" | lid_topic: "points_raw" |
imu_topic: "/imu/data" | imu_topic: "imu_raw" |
从对比表中可以看出两者的topic不一致,所以rviz中就不会有任何反应!
因此需要将两者的topic进行一致,查阅资料方法步骤如下:
将雷达配置文件的topic进行如下改动:
lid_topic: "/velodyne_points"改为lid_topic: "points_raw"
imu_topic: "/imu/data"改为imu_topic: "imu_raw"
roslaunch fast_lio mapping_velodyne.launch
#rosbag play YOUR_DOWNLOADED.bag
rosbag play demo01_velodyne.bag
再按照上述指令进行输入,分别启动launch和运行rosbag play:
问题解决,成功复现!