使用mid360进行fast_lio建图、octomap天生栅格舆图

打印 上一主题 下一主题

主题 550|帖子 550|积分 1650

 前面我已经实现了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
 下载之后记得把文件名改了
二、安装依赖

  1. sudo apt install libeigen3-dev
  2. sudo apt install libpcl-dev
  3. # ros2需要安装
  4. sudo apt install ros-humble-pcl-ros
复制代码
三、编译fast_lio

  1. #进入你的雷达驱动工作空间,我的是catkin_livox_ros_driver2
  2. cd catkin_livox_driver2
  3. #将源码包放入src,和驱动的包在同一目录下,见图
  4. #编译
  5. catkin_make -DPYTHON_EXECUTABLE=/usr/bin/python3
  6. source devel/setup.bash
复制代码
 


注意,这里一定是先把驱动编译乐成再编译fast_lio
四、安装sophus库

直接照搬教程
  1. # 安装sophus
  2. git clone https://github.com/strasdat/Sophus.git
  3. cd Sophus
  4. git checkout a621ff
  5. mkdir build
  6. cd build
  7. cmake ../ -DUSE_BASIC_LOGGING=ON
  8. make
  9. sudo make install
  10. 报错的话:打开其位置so2.cpp:32:26改为
  11. SO2::SO2()
  12. {
  13.   unit_complex_.real(1.);
  14.   unit_complex_.imag(0.);
  15. }
  16. ¥sophus安装成功后再重新编译fast-lio
复制代码
 五、运行fast_lio

  1. source devel/setup.bash
  2. roslaunch livox_ros_driver2 msg_MID360.launch
  3. #再开一个终端
  4. source devel/setup.bash
  5. roslaunch fast_lio mapping_mid360.launch
复制代码
运行完毕后效果自动保存到PCD文件夹中,名称为scans.pcd
效果:

六、使用octomap转为栅格舆图

1.转为二维栅格舆图

我之前已经装过octomap了,如果你没有,按照大佬的教程:
  1. sudo apt install ros-noetic-map-server
  2. # 打开一个终端.(ctrl+alt+T)输入下面指令安装octomap.
  3. sudo apt-get install ros-noetic-octomap-ros #安装octomap
  4. sudo apt-get install ros-noetic-octomap-msgs
  5. sudo apt-get install ros-noetic-octomap-server
  6. # 安装octomap 在 rviz 中的插件
  7. sudo apt-get install ros-noetic-octomap-rviz-plugins
  8. # install move_base
  9. sudo apt-get install ros-noetic-move-base
  10. #如果使用方式一,还需将pcd2pgm拉到工作空间的src目录下编译
  11. #本文代码仓库已经包含了该仓库,再sentry_tools/pcd2pgm,如果直接使用本文代码仓库,则不需要再拉
  12. git clone https://github.com/Hinson-A/pcd2pgm_package.git
复制代码
 教程里作者已经把建图,重定位和栅格舆图写在了一个launch里:
  1. roslaunch fast_lio_localization sentry_build_map.launch
复制代码
效果:

 如果你想保存二维栅格舆图:
  1. # save the pgm map file
  2. rosrun map_server map_saver map:=/<Map Topic> -f PATH_TO_YOUR_FILE/mymap
  3. #eg,举例:
  4. rosrun map_server map_saver map:=/projected_map -f /home/rm/ws_sentry/src/FAST_LIO/PCD/scans
复制代码

 2.保存为三维栅格舆图

参考这篇里文末的链接: 
 使用Livox-Mid360激光雷达,复现FAST_LIO(保姆级教程)-CSDN博客
 将前面建图得到的scans.pcd文件放到data文件夹中,然后去修改launch文件里的路径,就可以了。
舆图保存:
  1. rosrun octomap_server octomap_saver -f my_map1.bt
  2. octovis my_map.bt  #查看保存的地图
复制代码
效果:

这是点云和舆图一起体现的效果,单独体现舆图:

 这次的效果感觉比上次的好。
这样的圆满完成了!!!
 

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

用多少眼泪才能让你相信

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表