FAST_LIO----AGV_PRO基于MID360激光雷达的3DSLAM及NAV2导航方案
运行建图各节点:
- 在
~/agv_pro_ros2/
下打开第一个终端:
source ./install/setup.bash
ros2 launch agv_pro_bringup agv_pro_bringup.launch.py
# agv_pro驱动节点
- 在
~/agv_pro_ros2/
下打开第二个终端:
source ./install/setup.bash
ros2 launch livox_ros_driver2 msg_MID360_launch.py
# MID360雷达驱动节点
- 在
~/agv_pro_ros2/
下打开第三个终端:
source ./install/setup.bash
ros2 launch fast_lio mapping.launch.py
# slam建图节点
此指令会启动rviz2可视化界面,显示激光雷达点云数据和建图效果。
- 在
~/agv_pro_ros2/
下打开第四个终端:
source ./install/setup.bash
ros2 run teletop_twist_keyboard teletop_twist_keyboard
# 键盘控制节点
FAST_LIO在rviz2下的建图效果默认为增量式地图,建图完成区域的点云效果会持续显示在rviz2中
建图结束后按Ctrl+C
结束各终端,pcd地图文件自动保存至FAST_LIO/PCD
文件夹内。
打开pcd地图
进入PCD保存的文件夹~/agv_pro_ros2/src/FAST_LIO/PCD
中打开终端,然后输入以下指令打开地图:
pcl_viewer scans.pcd
- 注意:如果提示
pcl_viewer: command not found
,请先安装pcl_viewer。操作如下:
sudo apt update
sudo apt install libpcl-dev pcl-tools
成功打开scans.pcd后,scans.pcd地图会显示在窗口中,可以使用鼠标和键盘进行交互操作。
- 提示:pcl_viewer 基本功能按键说明
视图控制
按键 | 功能描述 |
---|---|
鼠标左键拖动 | 旋转视角 |
鼠标右键拖动 | 平移视角 |
鼠标滚轮 | 缩放视图 |
r |
重置视角到初始状态 |
f |
进入/退出全屏模式 |
显示设置
按键 | 功能描述 |
---|---|
+ |
增大点的大小 |
- |
减小点的大小 |
b |
切换背景色(黑/白) |
c |
显示/隐藏点云颜色 |
s |
切换表面渲染模式 |
点云操作
按键 | 功能描述 |
---|---|
1 |
为所有点随机分配RGB颜色 |
2 |
根据点的X坐标值映射为渐变色 |
3 |
根据点的Y坐标值映射为渐变色 |
4 |
根据点的Z坐标值(高度)映射为渐变色 |
5 |
根据点云强度映射为渐变色 |
u |
更新点云显示 |
j |
保存当前视图为截图 |
pcd点云地图转换为pgm栅格地图
导航功能的使用与使用手册6.2.6 point_lio的pcd点云地图处理部分完全相同,可以参考相关内容进行操作。
导航功能配置与使用
- 首先需要修改导航需要加载的地图文件路径,打开
~/agv_pro_ros2/agv_pro_navigation/launch/navigation2_active.launch.py
文件,找到以下配置:
def generate_launch_description():
use_sim_time = LaunchConfiguration('use_sim_time', default='false')
use_rviz = LaunchConfiguration('use_rviz', default='true')
map_dir = LaunchConfiguration(
'map',
default=os.path.join(
get_package_share_directory('agv_pro_navigation2'), # 修改此处的文件夹为你保存地图的文件夹
'map', # 修改此处的文件夹为你保存地图的文件夹
'map_end.yaml')) # 修改此处的地图文件名称为你保存的地图文件名称
- 然后保存文件并重新编译工作空间,打开终端执行如下指令:
cd ~/agv_pro_ros2/
colcon build --packages-select agv_pro_navigation
source install/setup.bash
- 然后可以进行导航建图功能的使用,在
~/agv_pro_ros2/
下打开第一个终端执行如下指令:
source ./install/setup.bash
ros2 launch agv_pro_bringup agv_pro_bringup.launch.py
# agv_pro驱动节点
- 在
~/agv_pro_ros2/
下打开第二个终端执行如下指令:
source ./install/setup.bash
ros2 launch livox_ros_driver2 rviz_MID360_launch.py
# MID360雷达驱动节点
- 在
~/agv_pro_ros2/
下打开第三个终端:
source ./install/setup.bash
ros2 launch pointcloud_to_laserscan pointcloud_to_laserscan_launch.py
# 3D点云转化为2D点云节点
- 在
~/agv_pro_ros2/
下打开第四个终端:
source ./install/setup.bash
ros2 launch agv_pro_navigation2 navigation2_active.launch.py
# 导航节点
这个节点运行后,会打开rviz2并加载好导航相关内容,看到类似如下画面即表明导航功能已准备就绪。
导航功能的使用与使用手册6.2.3 NAV2导航功能部分类似,可以参考相关内容进行操作。