赞
踩
前面我已经实现了fast_lio建图并使用octomap转为三维栅格地图,今天来填上次留的坑
使用Livox-Mid360激光雷达,复现FAST_LIO(保姆级教程)-CSDN博客
这是我上次写的,来复现上次失败的,这个教程:
使用mid360从0开始搭建实物机器人入门级导航系统,基于Fast_Lio,Move_Base-CSDN博客
之前由于怕把我已经装好的雷达驱动给破坏了,我想着新建一个工作空间,然后在新的空间里去再装一次雷达驱动,装好后再去编译fast_lio,但这样一直编译失败,显示找不到驱动的包,试了很多方法也不行。最后大着胆子在已经编译好的雷达驱动工作空间里进行了fast_lio的编译,居然就成功了。想了一下,应该是路径的问题。
按照链接里的教程来,几乎没有大问题,感谢大佬们的开源!
前提:保证你已经安装好了mid360的雷达驱动
正式开始!
GitHub - 66Lau/NEXTE_Sentry_Nav: The navigation system of "sentry" for Next-E team in RoboMaster2023
下载之后记得把文件名改了
- sudo apt install libeigen3-dev
-
- sudo apt install libpcl-dev
-
- # ros2需要安装
- sudo apt install ros-humble-pcl-ros
-
-
-
- #进入你的雷达驱动工作空间,我的是catkin_livox_ros_driver2
- cd catkin_livox_driver2
-
- #将源码包放入src,和驱动的包在同一目录下,见图
-
- #编译
- catkin_make -DPYTHON_EXECUTABLE=/usr/bin/python3
-
- source devel/setup.bash
-
-
-
注意,这里一定是先把驱动编译成功再编译fast_lio
直接照搬教程
- # 安装sophus
- git clone https://github.com/strasdat/Sophus.git
- cd Sophus
- git checkout a621ff
- mkdir build
- cd build
- cmake ../ -DUSE_BASIC_LOGGING=ON
- make
- sudo make install
-
- 报错的话:打开其位置so2.cpp:32:26改为
- SO2::SO2()
- {
- unit_complex_.real(1.);
- unit_complex_.imag(0.);
- }
-
-
- ¥sophus安装成功后再重新编译fast-lio
- source devel/setup.bash
- roslaunch livox_ros_driver2 msg_MID360.launch
- #再开一个终端
- source devel/setup.bash
- roslaunch fast_lio mapping_mid360.launch
-
运行完毕后结果自动保存到PCD文件夹中,名称为scans.pcd
结果:
我之前已经装过octomap了,如果你没有,按照大佬的教程:
- sudo apt install ros-noetic-map-server
- # 打开一个终端.(ctrl+alt+T)输入下面指令安装octomap.
- sudo apt-get install ros-noetic-octomap-ros #安装octomap
- sudo apt-get install ros-noetic-octomap-msgs
- sudo apt-get install ros-noetic-octomap-server
-
- # 安装octomap 在 rviz 中的插件
- sudo apt-get install ros-noetic-octomap-rviz-plugins
- # install move_base
- sudo apt-get install ros-noetic-move-base
-
- #如果使用方式一,还需将pcd2pgm拉到工作空间的src目录下编译
- #本文代码仓库已经包含了该仓库,再sentry_tools/pcd2pgm,如果直接使用本文代码仓库,则不需要再拉
- git clone https://github.com/Hinson-A/pcd2pgm_package.git
教程里作者已经把建图,重定位和栅格地图写在了一个launch里:
roslaunch fast_lio_localization sentry_build_map.launch
结果:
如果你想保存二维栅格地图:
- # save the pgm map file
- rosrun map_server map_saver map:=/<Map Topic> -f PATH_TO_YOUR_FILE/mymap
- #eg,举例:
- rosrun map_server map_saver map:=/projected_map -f /home/rm/ws_sentry/src/FAST_LIO/PCD/scans
参考这篇里文末的链接:
使用Livox-Mid360激光雷达,复现FAST_LIO(保姆级教程)-CSDN博客
将前面建图得到的scans.pcd文件放到data文件夹中,然后去修改launch文件里的路径,就可以了。
地图保存:
- rosrun octomap_server octomap_saver -f my_map1.bt
-
- octovis my_map.bt #查看保存的地图
结果:
这是点云和地图一起显示的结果,单独显示地图:
这次的效果感觉比上次的好。
这样的圆满完成了!!!
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。