文/任曉壯 王藝璇 馬新瑞 李敏 孫立平
本文主要介紹四旋翼飛行器在設定高度下懸停并實現追蹤地面小車和定點懸停。四旋翼自主飛行器探測跟蹤系統主要由圖像識別模塊、飛控模塊、導航模塊、圖像識別模塊、電源模塊組成。在四旋翼的性能測試過程中,主控制器件、圖像識別模塊、電機驅動模塊等方面進行了調換和改進。
對于飛控芯片的選用,首先進行了QQ飛控的測試,原因是這種飛控價格相對便宜且自穩功能強大,但是測試過程中發現該飛控不能實現定高,不能直接進行姿態控制,不方便任務的順利進行;之后選用領航者飛控,該飛控最大的特點是完全開源,具有很強的二次開發和可拓展性,飛控資料也會不斷更新,同時支持定高和姿態控制,方便實用。
在測距模塊選用時,剛開始選擇常用的HC——SR04超聲波測距模塊,但是使用過程中發現數據不穩的原因包括該模塊易受溫度變化的影響,不利于四旋翼保持穩定;查資料后,選擇帶有溫度補償的US——100超聲波測距模塊,內含看門狗,工作穩定可靠。圖像識別模塊線性CCD攝像頭前瞻性好,循跡效果好,是一個不錯的選擇,但是程序處理復雜,圖形容易丟失,因此選用配置驅動比較簡單的OV7670攝像頭,并且信息采集量也比較大。電機驅動首先使用了好盈天行者電調驅動電機,但是后期發現各電調響應時間不同,無法保證四旋翼正常飛行,最后采用好盈樂天電調驅動電機,電流持續性強,工作穩定可靠,可以保證四旋翼穩定飛行。
四旋翼設計有飛控模塊、導航模塊、電源模塊、測距模塊、圖像識別模塊、激光照射模塊、通信模塊(藍牙模塊)等組成。四旋翼機架結構選用固定的剛性十字架交叉骨架和四個固定于展臂中間的電調和展臂末端的電機組成,各個模塊均放置在四旋翼十字架骨架中心,攝像頭和超聲波模擇位置安裝于飛行器。
四旋翼飛行器依靠四個電機的轉速差進行控制,基本動作原理為:1號電機和3號電機逆時針旋轉驅動,兩個正螺旋槳產生升力,2號電機和4號電機順時針旋轉驅動兩個反螺旋槳產生升力。反向旋轉的兩組電機和螺旋槳使其各自對機身產生的轉矩相互抵消,保證四個電機轉速一致,機身不發生轉動。使得四旋翼的姿態得以穩定。
四旋翼飛行器穩定飛行最主要的算法是PID控制算法。PID控制是將偏差的比例(P)積分(I)微分(D)通過線性組合構成控制量,用這一控制量實現對被控對象的控制。通過人為引入四個控制量(a,b,c,d),從而把非線性耦合模型解耦為四個獨立的控制通道,四旋翼直升機系統可以被描述為由角運動和平移運動這兩個子系統組成,角運動影響平移運動,而平移運動則不影響角運動。控制系統主要包含兩個控制回路:一個是飛行器姿態控制回路,另一個是飛行器位置控制回路。由于姿態運動模態的頻帶寬,運動速率快,所以姿態控制回路作為內回路進行設計;而位置運動模態的頻帶窄,運動速度慢,所以位置控制回路作為外回路進行設計。位置控制回路的控制指令預先設置或者由導航系統實時產生。位置控制回路使飛行器能夠懸停在指定位置或者按照設定好的軌跡飛行。姿態控制回路使四旋翼飛行器保持穩定的飛行姿態。
跟蹤小車需要使用四旋翼飛行器上的攝像頭采集圖像。對于中心的判定,把小車近似看作一個圓面,首先找到圓的最底端,利用垂徑定理找到圓心所在的橫坐標,之后利用測量直徑法測量得出圓心縱坐標。將小車上加裝紅色指示燈作為信標,在攝像頭上我們將圖像中的紅色區域甄別出來,其他顏色區域全部過濾掉,即以紅色分量為依據進行二值化[4],這樣就可以將小車識別出來。具體判斷條件是選取其中紅色分量(即RED值)較高且藍色分量(即BLUE)值較低的像素塊。
對于四旋翼飛行器的測試,設計了硬件測試、軟件仿真測試和硬件軟件聯調。硬件測試主要是通過調試PID值的三個參數,當飛行器反應迅速且兩邊機翼等幅震蕩時即可確定P參數,調節D參數時當飛行器從任意角度都可以一次直接返回平衡位置即可,當某一邊機翼反應過小時加一個I參數,直至測試出一組合適的PID參數,同時測試電源給電機供電電壓和電流是否正常。
軟件仿真測試則是用串口顯示超聲波測距高度,指定高度時的油門值,輸出各個電機的PWM,觀察各種姿態下的PID控制后的油門大小;硬件軟件聯調則是將飛行器當前狀態參數值以及超聲波和攝像頭等采集到的數據發送至匿名上位機,便于觀察和調適,并可以使用上位機對飛行器PID進行修正,從飛行器定高、定點到測量飛行器與小車間距、跟蹤小車都使用到串口調試,上位機觀察起飛、定高、降落的各參數、波形,通過超聲波實現飛行器定高,攝像頭采集小車位置信息,藍牙測距模塊測量飛行器和小車之間的距離以實現早一定距離范圍內的聲光顯示。