当前位置: 华文星空 > 汽车

如何基于ROS学习激光SLAM?

2021-10-24汽车

首先我们看下最终无人机SLAM定位的计算图,然后根据计算图追根溯源分析实现算法在ROS中实现的流程

从图中可以看出总共包含的ros节点有5个,分别所属三个包,其中包1、2是ROS官方现成直接可以使用的,只需要根据实际使用配置下launch文件即可,包3是针对无人机应用平台自己实现用于处理机载端、飞控端数据交互。

1、其中由rplidar_ros包提供的节点为rplidarNode,rplidarNode发布的雷达数据扫描的话题为"/scan",雷达数据扫描节点的订阅者为hector_mapping节点。

2、其中由hector_mapping包提供的节点有:hector_mapping、imu_attitude_to_tf_node、base_to_laser_broadcaster,hector_mapping节点用于处理包括:/scan、base_stailized到laser的tf、base_stailized到base_link的tf,同时hector_slam发布了poseupdate位姿估计话题给t265_serialport节点。

3、由serialport包提供的节点为t265_serialport,作用是订阅poseupdate话题,将位姿数据打包发给飞控串口,飞控接收机载计算机的位姿数据实现自主定位与运动控制等。同时t265_serialport节点将飞控端发送来的飞行器IMU姿态数据解析后,并发布话题:sensor_msgs::Imu imu_fc给imu_attitude_to_tf_node,用于hector_slam在水平俯仰、横滚方向上有运动的slam定位。

预告:下一篇给初学者理一下hector_slam建图需要用到的坐标系、坐标轴与旋转方向、tf等基础知识: