何建方,席 濤,張 凌
(韶關東陽光自動化設備有限公司,廣東 韶關 512721)
小型旋翼無人機在偵察、探測和監控等領域扮演著越來越重要的角色。面對不同的復雜任務,小型無人機智能化是當前的必然趨勢[1],而自主定位是其中最重要的組成之一。
視覺定位是當前無人機自主定位導航最常用的手段[2-4]。慕尼黑科技大學在四旋翼平臺上搭載RGB-D攝像頭,建立室內環境的稠密地圖,完成無人機的自主定位和導航[5]。但是采用的SLAM算法需要遠程依賴地面站,導致控制延遲以及成本高。
本文設計一種小型化、輕量級的無人機視覺定位系統,研究了單目視覺定位算法,設計了自主定位系統的軟硬件架構。驗證實驗表明,本文設計的輕量級視覺定位系統可以實現無人機單目定位。
本文搭建的多旋翼無人機平臺包括Pixhawk飛行控制板、視覺傳感器、機載嵌入式計算機。搭建的視覺定位無人機平臺如圖1所示。

圖1 視覺定位旋翼無人機平臺
飛行控制板Pixhawk使無人機執行自主命令和控制飛行。Pixhawk是一種高性能的自動駕駛儀,以兩片STM32芯片為主從控制器,并且集成了三軸陀螺儀、三軸加速度計、高度計等MEMS傳感器。將傳感器采集的數據發送給處理器,采用擴展卡爾曼濾波(EKF)算法對無人機平臺的位置進行估計[6]。
機載嵌入式計算機是視覺定位信息處理的核心。本文的機載嵌入式計算機采用ODROID XU4控制板。從參數上來看,ODROID XU4的整體性能基本和目前的中端智能手機相似,它搭載了主頻為2 GHz的三星Exynos5422八核處理器與2GB RAM,主板上設有以太網接口、2個USB 3.0接口、1個USB 2.0接口、1個HDMI視頻接口以及1個GPIO接口。由于采用了ARM架構,ODROID XU4可以運行基于ARM架構所設計的操作系統,包括Debian,Ubuntu以及 Android等。
視覺定位系統中所有的視覺信息處理和控制均在機載計算機上完成。因此,需在機載計算機上安裝Ubuntu系統,實現視覺定位算法以及和無人機的通信。另外,在Ubuntu系統上安裝機器人操作系統(Robot Operating System,ROS),幫助建立定位算法、模塊通信、采集傳感器數據。ROS主要應用在機器人平臺操作與控制系統的軟件框架,其最大優勢為點對點設計,工具包豐富,系統模塊化,非常便于應用。
機載嵌入式計算機與Pixhawk飛行控制板之間的通信接口節點是實現機載計算機實時獲取飛行器飛行狀態和自主控制飛行狀態的關鍵。該節點主要通過Mavlink協議接收多旋翼飛行器的心跳包、姿態角數據包和位置數據包等,并按類別以特定消息格式將數據發布到不同的主題上。同時訂閱了vision 和position 等主題,再以Mavlink協議的形式將這些主題數據發送到飛行控制板,獲取外部傳感器的數據并實現自主飛行控制。自主控制節點的設計原理可以總結為訂閱飛行器的當前位置主題,提供位置反饋,再將位置控制命令發布到通信節點的/mavros/setpoint/local_position主題上。通過對無人飛行器狀態的實時監測調整位置控制信息。
本文無人機視覺定位系統框架如圖2所示,描述了硬件系統和軟件系統各組成部分之間的連接關系。
本節主要研究一種實時、穩定的單目視覺定位算法,該算法能夠通過采集單目相機信息,在機載計算機上實時運行,實現無人機的定位。由于單目相機獲得的視覺信息是沒有深度的,因此必須移動相機之后能估計它的運動,優點在于成本低,處理視覺信息消耗的計算資源小。
SVO(Semi-direct Visual Odoemtry)是瑞士蘇黎世理工學院提出的一種半直接法視覺里程計,可建立稀疏地圖,實現實時的無人機定位[7]。SVO里程計的跟蹤線程框架如圖3所示。SVO框架包括了運動估計和建圖兩個線程,采用稀疏關鍵點的灰度值匹配法得到估計位置。

圖3 SVO里程計算法流程
該算法使用直接法最小化稀疏關鍵點的重投影殘差來獲取位置,假設Tk,k-1為位置變化,通過不斷優化位置Tk,k-1最小化殘差損失函數,如公式1所示。
(1)
其中,δI(T,u)為相鄰圖像幀對應關鍵點的灰度值差,如公式2所示。
δI(T,u)=Ik(π(T·π-1(u,du)))-Ik-1(u)
(2)
本節將對設計的無人機視覺定位系統進行試驗分析,驗證視覺定位的實時性和穩定性。以開源數據集airground_rig_s3_2013-03-18_21-38-48.bag作為圖像輸入,在本文設計的硬件系統下,運行視覺定位算法,運行結果顯示,圖像處理幀率在10 fps~25 fps,視覺定位系統數據集運行實驗如圖4所示。視覺定位系統單目相機運行實驗如圖5所示,幀率平均值為15 fps。

圖4 視覺定位系統運行數據集實驗

圖5 視覺定位系統單目相機運行實驗。
多旋翼無人機的應用需求促進了智能化的趨勢,在未知和復雜環境下,視覺定位成了重要手段。本文提出了基于單目視覺的無人機定位系統,搭建了定位系統的軟件硬件架構,研究了單目視覺定位算法。實驗驗證結果表明本文的定位系統滿足實時性和穩定性要求。