孫澤華(山東科技大學,山東青島,266590)
?
無人機機載視覺測速系統(tǒng)設(shè)計
孫澤華
(山東科技大學,山東青島,266590)
摘要:具有魯棒性和高更新速率的速度和位置估計對可無人機的航行至關(guān)重要。本論文給出了一種具有高感光度的視覺傳感器設(shè)計,使用ARM核M4單片機STM32以250Hz的實時更新速率來估計無人機的運動狀態(tài),使用板載慣性傳感器進行角速率補償,使用超聲波傳感器測量距離。在硬件設(shè)計基礎(chǔ)上,提出了一種基于預測的圖像塊匹配算法,實現(xiàn)速度的精準測量。
關(guān)鍵詞:STM32單片機;無人機;塊匹配算法;慣性傳感器
移動式機器人航行的成功依賴于高魯棒性的位置和速度信息,足夠高的更新速率和足夠小的延遲是維持飛行軌跡所必須的。近年來,基于計算機鼠標傳感器的光流傳感器已成功用于此目的。然而,鼠標傳感器的準確測量需要在強有力的照明下。車載CMOS圖像傳感器有更好的光敏感度,可以無人工照明的在室內(nèi)環(huán)境和不良的戶外條件下工作,但是基于CMOS的輕量傳感器不能簡單的集成在無人機系統(tǒng)中。因此,論文提出了一個基于ARM 核M4的傳感器系統(tǒng),它使用CMOS機器視覺傳感器,對分辨率64x64像素的子樣品以每秒250幀執(zhí)行光流處理;一個超聲波傳感器用來測量對場景的距離以及實現(xiàn)圖像速度場和三維運動場的轉(zhuǎn)換;利用機載陀螺儀正確估計平移速度來補償角速度。
運動場是三維速度場在成像平面的投影。設(shè)P3=[X,Y,Z]T是相機三維參考坐標系上的一點,光軸是這個坐標系的Z軸,f代表焦距,投影中心在原點上,則P點在成像平面的投影像素坐標由式(1.1)給出,

因為焦距f等于成像平面到原點的距離,所以p點的第三個坐標是恒定的p=[x,y,f]T。相機和P點的相對運動由式(1.2)給出,其中,w是角速度,T運動的平移分量。取(1.1)式兩邊關(guān)于時間的導數(shù),得到相機參考坐標系中的P點的速度和成像平面中的p點的速度或者流度之間的關(guān)系:

將(1.2)式帶入到運動場的x和y分量得到:

運動場成分等于純粹的平移部分加上純粹的轉(zhuǎn)動部分。(1.4)式中的平移分量由焦距和Z到場景的當前距離決定。如果需要平移速度,例如,如果轉(zhuǎn)動速率是零或者已知(由陀螺儀測量)并由運動場補償,就可以用下式計算米制比例下的平移速率:

本文設(shè)計的視覺傳感器,通過一個M12鏡頭(21°視野)來捕捉畫面,這個鏡頭覆蓋在MT9V034芯片的上方。在752H×480V的全分辨率下,視覺傳感器圖像輸出頻率達到60fps。當啟用像素合并,幀率可以進一步提高。在像素4倍合并,即188H×120V的分辨率下,圖像輸出頻率達到250Hz。像素4倍合并模式中,MT9V034給出的一個像素值是普通模式下4×4像素的均值[2]。
圖2.1顯示了視覺傳感器的系統(tǒng)配置,MT9V034直接連在STM32F417單片機一個特殊的外圍圖像總線上,對從CMOS鏡頭獲得的圖像進行計算,像素數(shù)據(jù)流使用并行接口。MT9V034在相應的像素時鐘對像素值進行采樣,使用具有雙緩沖處理功能的直接內(nèi)存訪問(DMA)將圖像數(shù)據(jù)傳輸?shù)絊TM32F417內(nèi)存,只存儲當前幀和參考幀。STM32F417提供配置幀的水平和垂直尺寸以及像素顏色深度的全參數(shù)相機接口,在處理圖像數(shù)據(jù)時,采用每個像素分配8位分辨率的方法,保證在特殊的32位指令下同時處理四個像素。相機接口使用DMA方式將傳入的像素數(shù)據(jù)存儲在STM32F417內(nèi)存中。

圖2 .1 視覺傳感器模塊框圖Fig. 2.1 The format of visual sensor
在視覺測量的過程中,首先由2節(jié)設(shè)計的視覺傳感器得到了前后兩幀的圖像信息,然后根據(jù)塊匹配算法的絕對差之和(SAD)匹配準則,進行前后兩幀圖像的匹配。
3.1搜索中心的預測
針對現(xiàn)有的塊匹配搜索算法計算復雜這一不足,采用視覺預測方法來定位算法的初始搜索點,節(jié)省大量的搜索時間。為了預測圖像在當前幀中的位移dt,需要利用上一刻(t-1)的速度更新Vt-1、視覺傳感器的抓幀頻率Fcam。因此,前一幀圖像中的像素位置X1在當前幀圖像Ⅰ2中的預測位置可以表示為:(3.2)
3.2基于梯度先驗的選域加權(quán)平均處理
第一步,在搜索中心點Xpred周圍以3像素點為單位間隔選取8×8個點,對這64個點進行4×4的梯度運算,記錄梯度值滿足梯度閾值條件的點及個數(shù)NSAD。梯度值不滿足閾值條件,證明特征點不明顯,認為是不可用的點,所以將其剔除,不再進行使用。
第二步,對第二步中滿足梯度閾值條件的NSAD個匹配點逐個進行前后兩幀圖像的8×8的SAD運算,找到各自SAD值最小時的整像素偏移點。
第四步,對NSAD個匹配點全部執(zhí)行第四步的計算后,得到了NSAD個像素點偏移值。對這NSAD個點做加權(quán)均值處理,得到最終的像素點偏移值λL,λL可以看作為視覺導航系統(tǒng)在二維光流場中的位移。
3.3消除旋轉(zhuǎn)分量
將本文設(shè)計的視覺導航系統(tǒng)安裝在六旋翼無人機平臺的底部中央位置,安裝時盡量與無人機平臺的底面負載板平行,鏡頭垂直向下放置。通過無人機的懸停和飛行實驗,驗證提出的導航算法的實際應用性能。在100s的懸停實驗中,最終獲得的數(shù)據(jù)顯示無人機懸停精度為±40cm,飛行實驗結(jié)果比較GPS測量位移和視覺系統(tǒng)測量結(jié)果,顯示視覺測量誤差為3%。
本文給出了一種應用于無人機的視覺測速系統(tǒng)方案,包括硬件配置和實現(xiàn)算法,通過實際測試表明,應用該系統(tǒng)的無人機具有一定自主導航能力。
參考文獻
[1]Honegger D, Meier L, Tanskanen P, et al. An open source and open hardware embedded metric optical flow CMOS camera for indoor and outdoor applications[C]// Robotics and Automation (ICRA), 2013 IEEE International Conference on. IEEE, 2013:1736-1741.
[2]Aptina Imaging,1/3-Inch Wide-VGA CMOS Digital Image Sensor MT9V034 Datasheet[EB/OL] (2014-6).http:// www.aptina.com.
[3]張瑞.基于稀疏梯度場的非局部圖像去噪算法[J]. 自動化學報,2015(9):1542-1546.
[4]方凱.一種基于矢量方法的彩色圖像雙線性插值算法[J]. 計算機與數(shù)字工程,2006(35):100-103.
[5]Pal M, Gupta A P V. An Efficient Block Matching Algorithm Using Logical Image[J]. International Journal of Engineering Research & Applications, 2014, 4(12).
Vision-Based Velocity Measurement System for Unmanned Aerial Vehicle
Sun Zehua
(Shandong University of Science and Technology,Qingdao Shandong,266590)
Abstract:Robust velocity and position estimation at high update rates is crucial for mobile robot navigation.We present an optical flow sensor based on a machine vision CMOS image sensor for indoor and outdoor applications with very high light sensitivity.Optical flow is estimated on an ARM Cortex M4 microcontroller in real-time at 250 Hz update rate. Angular rate compensation with a gyroscope and distance scaling using a ultrasonic sensor are performed onboard.
Keywords:STM32 microprocessor;Unmanned Aerial Vehicle;Block Matching Algorithm;Inertial Sensor
作者簡介
孫澤華(1990—),男,山東煙臺,碩士研究生。主要研究方向:通信與信息系統(tǒng)。