當前位置: 華文星空 > 汽車

如何基於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等基礎知識: