赞
踩
通过建图教程(1)的学习,我们已经初步的完成了mid360的基本配置,成功驱动雷达的工作,接下来就进入第二部分利用FAST_LIO来进行建图。
通过查找了网上很多资料,基本的都是通过ros来运行的fast_lio,完全移植到ros2中需要进行的工作量太过于庞大,我经过很多次编译和查找问题,基本总结了以下的几个问题:
(本节是我实践过程遇到的问题,或许对其他ros1的包移植到ros2中会有所启发,如不需要请直接看下节)
将catkin
改为ament_cmake
以符合ROS 2的构建系统。
- /home/lsj/test_ws/src/pcd2pgm/src/pcdrgba2pgm.cpp:1:10: fatal error: ros/ros.h: 没有那个文件或目录
- 1 | #include <ros/ros.h>
- | ^~~~~~~~~~~
- 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>
以上问题就需要个人根据不同的包,不同的保存去单独修改文件,工作量还是很大的。
这里我们就不再通过一步步更改相关文件来实现这个包的使用,这里特别感谢深圳北理莫斯科大学RoboMaster北极熊战队开源他们robomaster项目,因为他们写的集成度比较高,对于新手去单独择出相应的功能包比较麻烦。因此我这里将他们的包分离出fast_lio的包编写了一个build.sh提供给大家。
1.进入到你的fast_lio的目录中(在此过程中,可能会出现以下权限情况,具体解决办法如下)
- ./build.sh humble #编译
-
- sudo chmod 777 . /bulid. sh #编译权限不够运行此代码
2.返回到你的工作空间
打开两个终端
- cd ..
- source install/setup.sh
- ros2 launch livox_ros_driver2 msg_MID360_launch.py
- source install/setup.sh
- 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
以上就是mid360的使用教程的第二部分,包含个人的实践过程和理解,希望对大家有所帮助,本人随后即将在第三部分更新3维pcd图转化2维地图的详细教程,最后再次感谢北极熊战队的陈同学为我提供的帮助!
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。