当前位置:   article > 正文

ROS2+mid360建图教程(2)_ros2 fastlio mid360

ros2 fastlio mid360

1.   前言

通过建图教程(1)的学习,我们已经初步的完成了mid360的基本配置,成功驱动雷达的工作,接下来就进入第二部分利用FAST_LIO来进行建图。

2.   FAST_LIO包

通过查找了网上很多资料,基本的都是通过ros来运行的fast_lio,完全移植到ros2中需要进行的工作量太过于庞大,我经过很多次编译和查找问题,基本总结了以下的几个问题:

(本节是我实践过程遇到的问题,或许对其他ros1的包移植到ros2中会有所启发,如不需要请直接看下节)

  • catkin改为ament_cmake以符合ROS 2的构建系统。

    

  • ros1中CMakeLists.txt的使用find package()用法与ros2中有所不同(左ros 右ros2)

  • 功能包中的一些库和组织结构已经改变
  1. /home/lsj/test_ws/src/pcd2pgm/src/pcdrgba2pgm.cpp:1:10: fatal error: ros/ros.h: 没有那个文件或目录
  2. 1 | #include <ros/ros.h>
  3. | ^~~~~~~~~~~
  4. compilation terminated.
IMU_Processing.hpp:19:10: fatal error: tf/transform_broadcaster.h: 没有那个文件或目录    19 | #include <tf/transform_broadcaster.h>       |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ros2

等等这些问题基本是ros1和ros2中,一些包和库的命名和组织结构已经发生了变化,比如:

#include <ros/ros.h>需要更换成<rclcpp/rclcpp.hpp>

以上问题就需要个人根据不同的包,不同的保存去单独修改文件,工作量还是很大的。

2.1 运行问题

        这里我们就不再通过一步步更改相关文件来实现这个包的使用,这里特别感谢深圳北理莫斯科大学RoboMaster北极熊战队开源他们robomaster项目,因为他们写的集成度比较高,对于新手去单独择出相应的功能包比较麻烦。因此我这里将他们的包分离出fast_lio的包编写了一个build.sh提供给大家。

2.2 运行过程

1.进入到你的fast_lio的目录中(在此过程中,可能会出现以下权限情况,具体解决办法如下)

  1. ./build.sh humble #编译
  2. sudo chmod 777 . /bulid. sh #编译权限不够运行此代码

2.返回到你的工作空间

打开两个终端

  1. cd ..
  2. source install/setup.sh
  3. ros2 launch livox_ros_driver2 msg_MID360_launch.py
  1. source install/setup.sh
  2. ros2 launch fast_lio mapping_mid360.launch.py

3.建图保存pcd文件

pcd文件路径更改的位置在/home/lsj/ws_livox/src/fast_lio/config/你的雷达.yaml

保存: 一般ctrl+c关闭终端自动保存 或者运行

ros2 service call /map_save std_srvs/srv/Trigger

3.总结

以上就是mid360的使用教程的第二部分,包含个人的实践过程和理解,希望对大家有所帮助,本人随后即将在第三部分更新3维pcd图转化2维地图的详细教程,最后再次感谢北极熊战队的陈同学为我提供的帮助!

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/羊村懒王/article/detail/597625
推荐阅读
相关标签
  

闽ICP备14008679号