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