四旋翼無(wú)人機(jī)控制系統(tǒng)設(shè)計(jì)分析
時(shí)間:2022-09-08 10:06:51
導(dǎo)語(yǔ):四旋翼無(wú)人機(jī)控制系統(tǒng)設(shè)計(jì)分析一文來(lái)源于網(wǎng)友上傳,不代表本站觀點(diǎn),若需要原創(chuàng)文章可咨詢客服老師,歡迎參考。
摘要:針對(duì)四旋翼無(wú)人機(jī)受干擾時(shí)姿態(tài)控制效果差的問題,提出了基于深度學(xué)習(xí)的無(wú)人機(jī)控制系統(tǒng)設(shè)計(jì)。系統(tǒng)選用STM32芯片進(jìn)行控制,采用MEMS傳感器采集姿態(tài)調(diào)節(jié)數(shù)據(jù),選用NRFNRF51822芯片實(shí)現(xiàn)遠(yuǎn)距離監(jiān)控和參數(shù)調(diào)節(jié),電源模塊采用TP4059芯片供電,并對(duì)電池電量進(jìn)行監(jiān)控。構(gòu)建深度學(xué)習(xí)目標(biāo)控制模型,運(yùn)用深度學(xué)習(xí)算法設(shè)計(jì)無(wú)人機(jī)控制器,保證系統(tǒng)處于一種高動(dòng)態(tài)平衡穩(wěn)定狀態(tài),提高了無(wú)人機(jī)的控制精準(zhǔn)度,對(duì)處理突發(fā)性群體事件具有重要意義。
關(guān)鍵詞:四旋翼無(wú)人機(jī);深度學(xué)習(xí);姿態(tài)控制;STM32
四旋翼無(wú)人機(jī)是一種能夠垂直起降的自主飛行器[1],具有結(jié)構(gòu)簡(jiǎn)單、便于懸停及垂直起降的特點(diǎn),同時(shí)具有較為良好的可控性,既在近地監(jiān)視與偵察等軍事任務(wù)中有著廣泛的應(yīng)用[2],又在環(huán)境監(jiān)測(cè)、森林防火、農(nóng)業(yè)植保等民用方面具有廣闊的研究和應(yīng)用前景[3]。由于四旋翼無(wú)人機(jī)是一個(gè)非線性、欠驅(qū)動(dòng)、強(qiáng)耦合且存在多個(gè)變量的控制對(duì)象[4],為較好的完成四旋翼無(wú)人機(jī)的位姿控制,本文根據(jù)深度學(xué)習(xí)的原理,設(shè)計(jì)了一種基于STM32的四旋翼無(wú)人機(jī)控制系統(tǒng)。
1無(wú)人機(jī)控制系統(tǒng)總體設(shè)計(jì)
四旋翼無(wú)人機(jī)主要由機(jī)架、飛行控制器、導(dǎo)航與定位系統(tǒng)、自動(dòng)避障系統(tǒng)等組成,無(wú)人機(jī)控制系統(tǒng)負(fù)責(zé)控制無(wú)人機(jī)飛行,控制系統(tǒng)的性能決定了無(wú)人機(jī)飛行的穩(wěn)定性。本控制系統(tǒng)總體框圖如圖1所示。主控制器主要完成控制電路初始化、驅(qū)動(dòng)外圍模塊電路,以及核心算法處理等操作;姿態(tài)檢測(cè)模塊負(fù)責(zé)將姿態(tài)傳感器采集到的位置信息輸入到算法單元進(jìn)行估算,并將獲取的此刻及下一時(shí)刻的姿態(tài)信息傳送到控制模塊,通過(guò)測(cè)算下一步動(dòng)作實(shí)現(xiàn)無(wú)人機(jī)姿態(tài)調(diào)節(jié);通過(guò)主控制器提供的四路PWM波完成直流電機(jī)的控制和調(diào)節(jié);電源管理模塊提供適配電壓給各模塊電路;無(wú)線通信模塊負(fù)責(zé)遠(yuǎn)距離通信。
1、1主控制器
作為飛行控制器的核心,主控制器負(fù)責(zé)接收四旋翼無(wú)人機(jī)的各項(xiàng)控制指令,在無(wú)遙控信號(hào)輸入時(shí)自主完成飛行。本設(shè)計(jì)選用ST公司的STM32F4作為主控芯片。主控制器將遙控器接收到的PWM信號(hào)進(jìn)行解碼,得到目標(biāo)姿態(tài),為電調(diào)提供4路PWM信號(hào)控制4個(gè)無(wú)刷電機(jī)的轉(zhuǎn)速,以控制飛行姿態(tài),并將姿態(tài)傳感器的實(shí)時(shí)數(shù)據(jù)發(fā)送給存儲(chǔ)器,估計(jì)下一時(shí)刻的姿態(tài)。STM32F4系列芯片的電路圖如圖2所示。
1、2姿態(tài)檢測(cè)模塊
為獲取四旋翼無(wú)人機(jī)的姿態(tài)信息,本設(shè)計(jì)中選擇MPU6050為主控制器提供無(wú)人機(jī)的姿態(tài)變化檢測(cè);磁力傳感器選用HMC5883L元件,完成四軸無(wú)人機(jī)航向角的檢測(cè);氣壓高度計(jì)芯片選用的MS5611系列芯片,可對(duì)周圍10cm的大氣壓進(jìn)行精確測(cè)量,經(jīng)各自測(cè)量的數(shù)據(jù)進(jìn)行融合,優(yōu)劣互補(bǔ)。
1、3無(wú)線通信模塊
為完成無(wú)人機(jī)控制系統(tǒng)和地面站之間的遠(yuǎn)程通信,無(wú)線通信模塊采用NRF模塊。系統(tǒng)采用基于2、4GHz的無(wú)線通信技術(shù)的新一代低功耗芯片NRF51822,將其作為協(xié)處理器,與遠(yuǎn)程遙控器交互通信,實(shí)現(xiàn)遠(yuǎn)距離調(diào)節(jié)參數(shù),并監(jiān)控?zé)o人機(jī)飛行狀態(tài)。通信模塊中選用了FLY-SKYFS-T62、4G數(shù)碼比率遙控器,該遙控器采用的是間隔發(fā)送工作模式,發(fā)射功率低,工作時(shí)間長(zhǎng),且具有較高的性價(jià)比。NRF模塊原理圖如圖3所示。
1、4電機(jī)驅(qū)動(dòng)模塊
電機(jī)驅(qū)動(dòng)模塊由電機(jī)和電調(diào)組成,二者相互配合帶動(dòng)無(wú)人機(jī)的螺旋槳轉(zhuǎn)動(dòng)。無(wú)人機(jī)的空中姿態(tài)由電機(jī)轉(zhuǎn)速?zèng)Q定,主控制器通過(guò)電機(jī)驅(qū)動(dòng)電路完成電機(jī)控制,控制器輸出的PWM信號(hào)并未直接作用于電機(jī),而是通過(guò)電調(diào)進(jìn)行處理,將處理后得到的三相電流驅(qū)動(dòng)無(wú)刷電機(jī)。本系統(tǒng)的驅(qū)動(dòng)裝置采用MT2213-920KV型無(wú)刷直流電機(jī),連接線路如圖4所示。
1、5電源管理模塊
本設(shè)計(jì)中的電源管理模塊不僅負(fù)責(zé)為系統(tǒng)各模塊電路提供適配電壓,并為電池提供充電功能,也要實(shí)時(shí)監(jiān)控電池電量的使用情況,當(dāng)電池電量低于設(shè)定閾值時(shí),需將緊急處理指令傳至地面站。系統(tǒng)供電方案如圖5所示。電源管理模塊選擇的是TP4059電池充電管理芯片和XC6204穩(wěn)壓器芯片。TP4059通過(guò)USB接口給電池充電,XC6204保證在低壓時(shí)能夠?yàn)橹骺刂破骱蜔o(wú)線通信模塊供電,為系統(tǒng)提供穩(wěn)定電源。
2系統(tǒng)軟件功能設(shè)計(jì)
本系統(tǒng)按照模塊化、結(jié)構(gòu)化的思想,開發(fā)各模塊的軟件系統(tǒng),目的是即使四旋翼硬件平臺(tái)變更,只需將原有軟件系統(tǒng)稍作修改,即可在新的平臺(tái)上應(yīng)用。針對(duì)傳統(tǒng)控制算法需要建立復(fù)雜數(shù)據(jù)模型這一不足,本軟件系統(tǒng)的設(shè)計(jì)是采用基于深度學(xué)習(xí)的無(wú)人機(jī)控制算法。根據(jù)深度學(xué)習(xí)的原理,對(duì)控制系統(tǒng)軟件進(jìn)行局部設(shè)計(jì),提出區(qū)域卷積神經(jīng)網(wǎng)絡(luò)(R-CNN)。首先,將圖像劃分成2000-3000個(gè)候選區(qū)域,支持向量機(jī)訓(xùn)練分類器將每個(gè)區(qū)域的特征進(jìn)行分類和排序,最后采用回歸算法進(jìn)行目標(biāo)邊界框重新定位,深度學(xué)習(xí)目標(biāo)控制模型如圖7所示[5]。將無(wú)人機(jī)的三軸加速度和角速度作為六個(gè)狀態(tài)量,該狀態(tài)量與目標(biāo)值之間的差距Error如式(1)所示:(式中1α和2α表示加速度與角速度的權(quán)值;c1c2c3ss、sc1c2c3sss、c1c2c3sss表示當(dāng)前狀態(tài)中的各分量;t1t2t3ss、st1t2t3sss、t1t2t3ss表示目標(biāo)狀態(tài)中的各分量。式(1)中第一部分為三軸加速度,第二部分為三軸角速度。若目標(biāo)值與六個(gè)狀態(tài)量的差距越大,Error會(huì)增大,無(wú)人機(jī)飛離目標(biāo)狀態(tài)越遠(yuǎn),表明無(wú)人機(jī)飛行越不平穩(wěn);若兩者差距為0,則Error也為0,說(shuō)明無(wú)人機(jī)達(dá)到了目標(biāo)狀態(tài)。由式(1)可知,Error的數(shù)值大小與無(wú)人機(jī)穩(wěn)定時(shí)的狀態(tài)呈負(fù)相關(guān)。在本設(shè)計(jì)中使用Error值衡量無(wú)人機(jī)飛行的穩(wěn)定性,Error值越小,無(wú)人機(jī)飛行越趨于目標(biāo)狀態(tài),飛行越穩(wěn)定,控制器的控制效果越好。依照模型,系統(tǒng)的軟件設(shè)計(jì)由主控制器模塊、數(shù)據(jù)采集模塊、電機(jī)控制模塊、無(wú)線通信模塊等四部分組成。主控制器的流程如圖8所示。主控制器模塊負(fù)責(zé)完成整個(gè)控制電路硬件初始化,算法處理,控制器外圍電路驅(qū)動(dòng)等操作。通過(guò)消息機(jī)制,各任務(wù)管理模塊之間進(jìn)行信息交互處理,在整個(gè)控制系統(tǒng)中,控制中心負(fù)責(zé)提供需要調(diào)節(jié)的位置變化量,系統(tǒng)控制中心需要的最新姿態(tài)信息由姿態(tài)測(cè)算模塊實(shí)時(shí)提供,姿態(tài)調(diào)整由電機(jī)驅(qū)動(dòng)器驅(qū)動(dòng)電機(jī)實(shí)現(xiàn)。整個(gè)主控制器采用模塊化編程,以方便程序移植,四旋翼無(wú)人機(jī)飛行器軟件流程圖如下:無(wú)人機(jī)上電初始化后,首先設(shè)置無(wú)人機(jī)工作模式,接下來(lái)檢測(cè)電源系統(tǒng)、傳感器等是否正常,自檢正常后則啟動(dòng)運(yùn)行程序,獲取姿態(tài)檢測(cè)模塊中各傳感器數(shù)據(jù),利用核心算法獲取實(shí)時(shí)姿態(tài)信息,反饋給主控制器,以調(diào)整飛行狀態(tài)。本系統(tǒng)軟件流程如圖9所示。
3仿真分析
本系統(tǒng)基于GitHub中一個(gè)開源的四旋翼無(wú)人機(jī)平臺(tái)驗(yàn)證控制器的控制效果[6]。六個(gè)狀態(tài)量分別是無(wú)人機(jī)的三軸角速度與三軸加速度,四個(gè)動(dòng)作量分別是四個(gè)電機(jī)的轉(zhuǎn)速,并添加噪聲模擬無(wú)人機(jī)真實(shí)飛行中受到的干擾,無(wú)人機(jī)的仿真環(huán)境如圖10所示。針對(duì)無(wú)人機(jī)控制系統(tǒng)的設(shè)計(jì)合理性進(jìn)行仿真實(shí)驗(yàn),在控制器控制下,設(shè)定無(wú)人機(jī)飛行500步,并記錄Error的最大值、最小值和平均值。分別對(duì)不加控制器、加PID控制器與基于深度學(xué)習(xí)的控制器在空中飛行時(shí)進(jìn)行對(duì)比實(shí)驗(yàn)。三者的error變化曲線如圖11所示。圖11中,橫坐標(biāo)(step)表示無(wú)人機(jī)飛行步數(shù),縱坐標(biāo)為每步對(duì)應(yīng)的error值,圖中的虛線表示500步error的均值。由圖11(a)知,error值隨步數(shù)增大顯現(xiàn)出明顯的單調(diào)遞增趨勢(shì),表明不加控制器時(shí),無(wú)人機(jī)的三軸姿態(tài)角離期望值越來(lái)越偏離,不能穩(wěn)定飛行;圖11(b)曲線隨步數(shù)增加在一個(gè)較小的范圍內(nèi)上下波動(dòng),但沒有發(fā)散趨勢(shì),500步error的均值比圖11(a)小,表明加PID控制器時(shí),無(wú)人機(jī)的姿態(tài)角保持在一定范圍內(nèi),提高了系統(tǒng)的穩(wěn)定性;圖11(c)的曲線與圖11(b)比較接近,但其均值明顯比PID控制器小,表明基于深度學(xué)習(xí)的控制器性能優(yōu)于傳統(tǒng)PID控制器。
4結(jié)論
四旋翼無(wú)人機(jī)控制作為控制領(lǐng)域的研究熱點(diǎn),具有非線性、強(qiáng)耦合等特點(diǎn),本文設(shè)計(jì)出一種基于深度學(xué)習(xí)的四旋翼無(wú)人機(jī)控制系統(tǒng)設(shè)計(jì)方案,該方法相較傳統(tǒng)PID控制器。避免了復(fù)雜的建模過(guò)程,通過(guò)仿真實(shí)驗(yàn),其控制效果優(yōu)于PID控制器,具有較好的抗擾性。后續(xù)將進(jìn)一步優(yōu)化算法,使該算法能適應(yīng)不同結(jié)構(gòu)的無(wú)人機(jī),以及更加復(fù)雜的環(huán)境,提高算法的魯棒性。
作者:黃靚 單位:平頂山工業(yè)職業(yè)技術(shù)學(xué)院