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