周寒宇,彭衛韶,黃相賢
(中南大學 信息科學與工程學院 湖南 長沙 410083)
根據無人機自主飛行的原理和控制原則,本文設計了一款基于OV7670的無人機室內定位追蹤的四旋翼,本文設計的四旋翼解決了以下問題:
在算法上,提高了姿態控制和定位導航穩定性。
在定位上,室外常常采用的是GPS定位,而室內信號太差,容易導致定位精度很低,因此選用攝像頭來進行室內定位,提高定位精度。
攝像頭定位核心采用的是STM32F407為核心的單片機,單片機通過DCMI數字圖像通道進行采集通過DMA進行傳輸到緩沖區中,然后通過閾值算法進行二值化處理,再通過腐蝕算法進行像素點提取進行坐標計算和提取以實現定位效果。
腐蝕算法是處理的核心部分,用3*3的結構元素,掃描圖像的每個像素,用結構元素與其覆蓋的二值圖像做“與”操作,把結構元素B平移a后得到Ba,若Ba包括于X,我們記下這個a點,全部滿足上述條件的a點組成的集合稱做X被B腐蝕(Erosion)的結果。用公式表示為:E(X)={a|Ba->X}=X->B。見圖1。

圖1 腐蝕算法
O V767腐蝕處理后,將得到的圖像進行位移的定位處理可以得目標標記物的具體坐標點和相對位移。
(1)無人機姿態解算
歐拉角是用來唯一地確定定點轉動明體位置的三個一組獨立角參量,由翻滾角θ、俯仰角ψ和自轉角φ組成。將一次剛體的旋拆分成三個坐標軸上的三次旋轉,三次轉動的旋轉角度就是所謂的歐拉角。
q表示是一個四元數,歸一化處理,然后得,

這里創造一個運算q(w,θ),用于把繞單位向量w轉θ角的旋轉表示為四元數。通過q(w,θ),引伸出一個更方便的運算q(f,t)

通過矩陣轉換可以得到姿態角

其中,ψ是偏航角yaw,θ為俯仰角pitch,φ為翻滾角roll。
(2)無人機定位控制
通過對目標標記物進行目標位移捕捉和高度處理進行雙閉環控制四個電機實現室內懸停[5],控制流程圖如圖2所示。

圖2 閉環控制流程
由于懸停控制主要對翻滾角和俯仰角的控制,而對航向角的控制要求并不高,因此攝像頭對目標標記物的捕捉得到的x、y坐標偏移主要用于對無人機翻滾角和俯仰角的補償。
測得四旋翼水平位移速度分量為vx,vy。vx正比于俯仰角誤差φ',vy正比于翻滾角誤差θ',且vx,vy∈(-1.0,1.0)m/s,期望的目標偏移為0。將位移偏差作為控制輸入,采用PI控制器作為外環姿態角補償控制器。控制輸出為角度誤差φ',θ'。由于期望的姿態角均為0,將經過修正的Φ,Θ,Ψ作為控制輸入,采用PID控制器作為內環控制,則姿態角控制量

式中,SΦ,SΘ,SΨ是三個姿態角從四旋翼起飛到當前時刻的累加和,k,I,d,分別是姿態角控制器的比例系數、積分系數、微分系數。
同理,對超聲波測得的實際高度也進行控制,則高度控制量為:

式中,SH為高度H從起飛到當前時刻的累加和;kph、kih、kdh是高度控制器的比例系數、積分系數、微分系數。

飛行器基于OV7670攝像頭定位模組的定位測試是靜止時室內定點坐標效果。
根據測試方案的方法,表1給出了部分測試點的測試結果,在高度為1米的區域靜止飛行器,觀察測試標記點的波動數據如表1所示。

表1 靜止坐標測試結果
本文設計的系統的設計和分析可以進一步改進,無人機視覺標記穩定定點是基于特征視覺的定位方法實現的室內穩定定點,可根據定位的范圍對目標物定點位移參數進行調整,實現更穩定的懸停。
[1]邵貝貝.單片機嵌入式應用的在線開發方法[M].北京.清華大學出版社,2004.
[2]安鵬,馬偉.S12單片機模塊應用及程序調試[J].電子產品世界.2006.第211期:162-163.
[3]尹怡欣,陶永華.新型PID控制及其應用.北京:機械工業出版社,1998年.
[4]李慧敏,樊記明,楊笑.《基于STM32和OV7670的圖像采集與顯示系統設計》[J].《傳感器與微系統》,2016(9):4-7.
[5]邵帥,廖仙華,代南明.《基于計算機視覺的四旋翼無人機自主懸停方法研究》[J].《科技風》,2016)(11):34-37.