5_樹莓派機(jī)載計(jì)算機(jī)的實(shí)現(xiàn)SLAM定位教程——無名創(chuàng)新
樹莓派機(jī)載計(jì)算機(jī)的實(shí)現(xiàn)SLAM定位教程
SLAM定位
激光雷達(dá)SLAM建圖
首先確定已將飛機(jī)定點(diǎn)模式設(shè)置成Lidar/T265,具體操作方法見《從零開始學(xué)習(xí)飛控教程》—5躺贏者PRO飛控OLED顯示屏主要頁面介紹,因?yàn)镾LAM定位時,飛控需要將自身位姿信息發(fā)送給機(jī)載計(jì)算機(jī),提供base_stabilized到base_link之間的tf信息,缺少此tf信息無法完成slam定位。需要注意的是飛控后開啟溫控系統(tǒng),然后執(zhí)行陀螺儀標(biāo)定過程,為了避免激光雷達(dá)轉(zhuǎn)動過程影響陀螺儀標(biāo)定過程,飛控發(fā)送位姿數(shù)據(jù)是在陀螺儀標(biāo)定完成之后才發(fā)布的,機(jī)載計(jì)算機(jī)接收到位姿tf數(shù)據(jù)才使能激光雷達(dá)運(yùn)轉(zhuǎn)。

rplidar a2雷達(dá)安裝方向?yàn)椋?/p>
啟動激光雷達(dá)slam定位腳本,通過終端輸入如下命令:
roslaunch serialport serialport_rplidar_slam.launch
為了方便客戶使用,上面的激光雷達(dá)定位腳本已經(jīng)設(shè)置了開機(jī)自啟動,自啟動設(shè)置參考教程0中的開機(jī)自啟動AP部分.

通過Rviz可以觀察slam建圖情況,查看slam輸出的位姿態(tài)信息可以通過終端輸入如下命令:
rostopic echo /poseupdate


查看飛控上發(fā)的位姿數(shù)據(jù)信息可以通過終端輸入如下命令:
rostopic echo /flight_state

命令行輸入rqt_topic
會調(diào)用gui顯示有關(guān) ROS 主題的調(diào)試信息,包括發(fā)布者、訂閱者、發(fā)布速率和 ROS 消息:

執(zhí)行激光雷達(dá)slam定位腳本后,樹莓派機(jī)載計(jì)算機(jī)會發(fā)送slam輸出的位姿數(shù)據(jù)給飛控,飛控接收并解析數(shù)據(jù)幀后融合自身慣導(dǎo)加速度數(shù)據(jù),得到飛機(jī)位置、速度估計(jì)用于飛機(jī)自身定位。

在SLAM定位模式下操作無人機(jī)前,需要先熟悉飛控教程中——《4、躺贏者PRO飛控解鎖上鎖、功能模式操作教程》的內(nèi)容和操作類視頻教程。
機(jī)載計(jì)算機(jī)控制無人機(jī)自主飛行
在激光雷達(dá)slam定位定況下,可以通過發(fā)布位置控制話題信息,控制飛行器自主飛行,終端輸入:
rosrun auto_flight auto_flight_demo

執(zhí)行的動作命令為一個邊長為100cm的正方形軌跡,節(jié)點(diǎn)圖信息可以直接輸入命令行輸入:rqt_graph


用戶可以參考默認(rèn)的demo,調(diào)整參數(shù)后catkin_make編譯后,實(shí)現(xiàn)自定義軌跡飛行。
同理,當(dāng)采用T265定位時,在終端命令行窗口輸入如下命令:
roslaunch serialport serialport_t265.launch

在終端命令行窗口輸入如下命令:
realsense-viewer


需要注意的是T265傳感器需要接在樹莓派4B的USB 3.0端口上,同時在樹莓派4B、部分英偉達(dá)Nano上電自啟動的過程中,usb的枚舉過程失敗,導(dǎo)致必須上電插拔后才能正常使用。由于T265已經(jīng)停產(chǎn),英特爾官方對此問題一直沒有有效解決。

如果在啟動時連接,則無法在樹莓派 4 上識別 T265 ·問題 #5079 ·英特爾實(shí)感/自由感知 (github.com)
265 ·問題 #5079 ·英特爾實(shí)感/自由感知 (github.com)](https://github.com/IntelRealSense/librealsense/issues/5079)
T265 在啟動后未正確枚舉 ·問題 #4681 ·英特爾實(shí)感/自由感知 (github.com)