從零開始搭建ROS下無人機(jī)激光雷達(dá)SLAM——hector_slam建圖入門——綜述篇
首先我們看下最終無人機(jī)SLAM定位的計(jì)算圖,然后根據(jù)計(jì)算圖追根溯源分析實(shí)現(xiàn)算法在ROS中實(shí)現(xiàn)的流程

?從圖中可以看出總共包含的ros節(jié)點(diǎn)有5個(gè),分別所屬三個(gè)包,其中包1、2是ROS官方現(xiàn)成直接可以使用的,只需要根據(jù)實(shí)際使用配置下launch文件即可,包3是針對無人機(jī)應(yīng)用平臺自己實(shí)現(xiàn)用于處理機(jī)載端、飛控端數(shù)據(jù)交互。
1、其中由rplidar_ros包提供的節(jié)點(diǎn)為rplidarNode,rplidarNode發(fā)布的雷達(dá)數(shù)據(jù)掃描的話題為"/scan",雷達(dá)數(shù)據(jù)掃描節(jié)點(diǎn)的訂閱者為hector_mapping節(jié)點(diǎn)。
2、其中由hector_mapping包提供的節(jié)點(diǎn)有:hector_mapping、imu_attitude_to_tf_node、base_to_laser_broadcaster,hector_mapping節(jié)點(diǎn)用于處理包括:/scan、base_stailized到laser的tf、base_stailized到base_link的tf,同時(shí)hector_slam發(fā)布了poseupdate位姿估計(jì)話題給t265_serialport節(jié)點(diǎn)。
3、由serialport包提供的節(jié)點(diǎn)為t265_serialport,作用是訂閱poseupdate話題,將位姿數(shù)據(jù)打包發(fā)給飛控串口,飛控接收機(jī)載計(jì)算機(jī)的位姿數(shù)據(jù)實(shí)現(xiàn)自主定位與運(yùn)動控制等。同時(shí)t265_serialport節(jié)點(diǎn)將飛控端發(fā)送來的飛行器IMU姿態(tài)數(shù)據(jù)解析后,并發(fā)布話題:sensor_msgs::Imu imu_fc給imu_attitude_to_tf_node,用于hector_slam在水平俯仰、橫滾方向上有運(yùn)動的slam定位。
預(yù)告:下一篇給初學(xué)者理一下hector_slam建圖需要用到的坐標(biāo)系、坐標(biāo)軸與旋轉(zhuǎn)方向、tf等基礎(chǔ)知識:


?