張道宏 鐵振弘




摘要:本系統(tǒng)基于Esp32控制器,使用4個820空心杯電機,制作小型四旋翼無人機,能實現(xiàn)空中自平衡,紅外自避障,并簡要介紹了四旋翼無人機在6個自由度上的控制方法及原理。
關(guān)鍵詞:四旋翼無人機;嵌入式應(yīng)用;ESP32
中圖分類號:TN929.54
引言
無人機就是利用無線遙控或程序控制來執(zhí)行特定的航空任務(wù)的飛行器,普遍運用在當(dāng)代工業(yè),軍事上。無人機采用空氣動力為飛行器提供所需的升力,特別的,四旋翼無人機采用四個螺旋槳,通過控制不同螺旋槳電機的轉(zhuǎn)速實現(xiàn)無人機在三維中的移動,旋轉(zhuǎn)。
雖然無人機的定點作業(yè)目標(biāo)一般不會非常復(fù)雜,但是在高空中,無人機作業(yè)的不可控因素過大,比如說由于氣壓的不穩(wěn)定,無人機的四旋翼即使在相同的轉(zhuǎn)速下,產(chǎn)生的力也可能不同,或者由于在高空,無人機將收到完全不可控的來自于各個方向上的風(fēng)阻。再者,無人機的硬件磨損等將使得四旋翼的電壓無法達到預(yù)期電壓,即四旋翼的轉(zhuǎn)速控制可能產(chǎn)生相應(yīng)的誤差。因此即使訓(xùn)練有素的無人機操控者也無法在高空中穩(wěn)定地操控?zé)o人機作業(yè)。
因此,本文介紹了一種基于Esp32的四旋翼無人機的實現(xiàn)方式,能夠使用無線遙控控制無人機的移動,對外界的不可控干擾可以自發(fā)地調(diào)整四旋翼電機快速對干擾做出反應(yīng),在風(fēng)較小的環(huán)境下實現(xiàn)自平衡,并通過紅外測距實現(xiàn)自避障。
1.無人機構(gòu)造
本系統(tǒng)無人機采用四旋翼結(jié)構(gòu),主控板集成Esp32,驅(qū)動,陀螺儀,紅外測距,放置在整個無人機的重心處,四個空心杯電機對稱分布在無人機的四周,空心杯電機上方裝有小型螺旋槳,提供升力。
1.1 Esp32主控制器
ESP32 是由樂鑫公司推出的一款采用高性能 Xtensa? 32 位 LX6 雙核處理器的微控制器,集成了天線開關(guān)、射頻 balun、功率放大器、低噪放大器、過濾器和電源管理模塊,整個解決方案占用了最少的印刷電路板面積。2.4 GHz Wi-Fi 加藍牙雙模芯片采用 TSMC 低功耗 40nm 技術(shù),具有最佳的功耗性能、射頻性能、穩(wěn)定性、通用性和可靠性,適用于各種應(yīng)用場景和不同功耗需求。
1.2無人機電源
無人機對各模塊重量有著較高的要求,過重的電池會導(dǎo)致無人機難以平衡,因此市面上的無人機一般都采用鋰聚合物電池,相對普通電池來說,鋰聚合物電池具有超薄化特征,可以做成各式各樣的小型電池,較適合于無人機的使用。
1.3陀螺儀
無人機的平衡,移動,升降都離不開陀螺儀提供的三軸角度,因此選擇一個合適的陀螺儀是無人機研發(fā)的重要環(huán)節(jié)。本系統(tǒng)采用Mpu6050陀螺儀芯片,其能輸出三軸角速度及角加速度,并自帶旋轉(zhuǎn)矩陣,四元數(shù),歐拉角格式的融合演算。
1.4電機驅(qū)動
本系統(tǒng)采用4個820空心杯電機控制螺旋槳旋轉(zhuǎn)。采用L9110S芯片驅(qū)動,L9110S是一款低成本直流電機驅(qū)動集成電路,廣泛應(yīng)用于玩具汽車無人機的電機驅(qū)動。本系統(tǒng)使用ESP32輸出pwm信號至L9110S,驅(qū)動空心杯電機,其電路如下:
1.5無人機外形
無人機在空中移動過程中,受到的主要阻力即為不可控分風(fēng)阻,為了使無人機的所受的阻力盡可能地小、均勻,應(yīng)當(dāng)將無人機的外殼設(shè)計為流線型,本設(shè)計PCB板即為流線型的設(shè)計。使用四個等半徑的圓弧,與四個等徑圓交織形成流線型中心對稱的無人機板。
2.無人機的基本控制
無人機的基本控制主要分為:上升下降,自轉(zhuǎn),前后運動,側(cè)向運動。
1.上升下降
無人機在豎直方向上主要受到兩個力,分別為無人機機身的重力G以及四個螺旋槳提供的升力F。當(dāng)F=G時,無人機的高度將保持不變;當(dāng)F>G時,無人機逐漸升高;而當(dāng)F<G時,無人機逐漸下降,其升高或下降的速度及加速度滿足以下公式:
其中v為升高或下降的速度,a為加速度,v為豎直方向上的初始速度,當(dāng)無人機的豎直方向上靜止時,v0=0。但在無人機中,無法直接測得無人機所提供的升力以及無人機的所受的重力,因此一般采用PID控制使得無人機達到目標(biāo)高度。具體控制如下:
規(guī)定以下符號:
高度計測得當(dāng)前高度ht,
無人機的新期望高度h1,
四個空心杯的初始電壓v0,
四個空心杯的當(dāng)前電壓vt,
無人機的上升下降速度S。
在每一個時刻,令高度差值dh=h1-ht。通過單片機控制vt=v0+S*dh。當(dāng)dh較大時,四個空心杯的電壓較高,轉(zhuǎn)速較快,無人機的上升速度較快,而當(dāng)無人機接近目標(biāo)高度時,dh較小,無人機停止上升,最終停留在目標(biāo)高度,實現(xiàn)無人機對目標(biāo)高度的控制。在實際運用中,一般采用PID的控制方式使得目標(biāo)控制更加平滑,高效。在該控制目標(biāo)中,采用位置式PID,輸入量為ht-h1,輸出量為電壓增量dv,其與vt的關(guān)系應(yīng)當(dāng)滿足vt=v0+dv。
2.自轉(zhuǎn)
為了保證四懸翼飛行器偏航角的穩(wěn)定,飛控模塊會調(diào)整四個電機的速度來保證這兩個旋轉(zhuǎn)力矩可以被互相抵消進而保證飛機不會自旋,因此,如果想讓無人機自轉(zhuǎn)的話,主要打破這個平衡即可,即按照圖中的旋轉(zhuǎn)方向,增加 1 4 的轉(zhuǎn)速,減少 2 3 的轉(zhuǎn)速可以在保證姿態(tài)穩(wěn)定的條件下將飛機逆時針轉(zhuǎn)動;減少 1 4 的轉(zhuǎn)速,增加 2 3 的轉(zhuǎn)速可以在保證姿態(tài)穩(wěn)定的條件下將飛機順時針轉(zhuǎn)動。
3.前后運動及左右運動
為了使無人機產(chǎn)生在14方向上的扭矩,則應(yīng)該令電機1加速,電機4減速,電機2、3保持不變,使得無人機產(chǎn)生一定的傾斜,無人機就會得到水平方向上的力,即可朝著14方向移動。相反,加速電機4,減速電機1,其余兩電機保持不變即可朝著41方向移動。左右運動同理。
在各個控制方向上,使用并級PID控制連接,則能協(xié)調(diào)各個無人機的參數(shù),使其同時達到平衡,并完成特定的移動目標(biāo),即完成移動控制。
3.無人機的校準(zhǔn)與自平衡
3.1無人機的校準(zhǔn)
無人機的校準(zhǔn)是無人機保持平衡的關(guān)鍵步驟之一。無人機在空中保持平衡主要依賴于陀螺儀的x,y,z軸三軸偏向角,因此需要取陀螺儀零位角作為基準(zhǔn)角。具體方式為,將無人機放在水平的地面上,按下校準(zhǔn)鍵,主控單片機將此時的陀螺儀的三軸角度保存為基準(zhǔn)角(P0,Y0,R0)。當(dāng)無人機起飛后,對當(dāng)前時刻的三軸角(Pt,Yt,Rt)與基準(zhǔn)角做差即可得到在三個方向上角度的期望改變量(Pd,Yd,Rd)。
3.2不可控誤差的消除
無人機在飛行過程中,受到風(fēng)阻,壓強,機身不平衡,電壓不穩(wěn)定等繁多的不可控因素。因此,在無人機控制算法中,需要包含一定的控制算法以消除這些不可控因素。本研究擬針對誤差的不同種類型,采用不同的消除誤差方式,具體如下:
參數(shù)采樣誤差:
無人機在采集自身參數(shù)時,由于電壓的不穩(wěn)定,模塊的精準(zhǔn)度有一定的局限性,無法使得獲得的參數(shù)達到完全的精準(zhǔn)。因此,對于參數(shù)的采樣誤差,擬采用卡爾曼濾波,對參數(shù)的采樣進行濾波,提高獲取參數(shù)值的可靠性及穩(wěn)定性。
風(fēng)阻誤差:
無人機在高空飛行中,所面臨的風(fēng)阻可能來源于各個方向,并且強度未知。轉(zhuǎn)換為物理模型即可以理解為無人機將收到來自于隨機方向上,且強度不定的力。為了消除這種力,首先我們對該力進行分析,并命名為f。f的大小總體將滿足高斯分布,方向完全隨機。因此在計算受力分析時,應(yīng)該同時包含f的受力。
在每一個時間周期后,無人機將返回自身的位置參數(shù),同時計算出無人機當(dāng)前的位置參數(shù)與上一個時刻的期望位置參數(shù)的差值。而此刻造成該誤差的原因即為不可控因素所造成的誤差,此時即可定性分析不可控誤差所造成的影響,并在下一個時刻嘗試抵消該不可控誤差,并在下一個時刻更新不可控誤差的分析,如此反復(fù)即可最終實現(xiàn)盡可能的消除無人機所受的不可控誤差。
3.3紅外測距自動避障
無人機板載四個紅外測距,朝向四個無人機方向,時刻檢測無人機的各方向上是否有障礙物。具體擺放方式如下:
當(dāng)無人機在某個方向上的障礙物距離小于特定值a時,緊急停止無人機在該方向上的移動,并反饋在飛控系統(tǒng)當(dāng)中。必要時應(yīng)當(dāng)產(chǎn)生在相反反向上的移動目標(biāo),以實現(xiàn)四旋翼無人機的紅外自動避障系統(tǒng)。
4.結(jié)語
四旋翼無人機主要通過改變4個電機的轉(zhuǎn)速來調(diào)節(jié)螺旋槳的轉(zhuǎn)速,控制螺旋槳的升力以實現(xiàn)對無人機的垂直起降,自由懸停,自轉(zhuǎn),前后左右移動的六個自由度上的移動控制。這些優(yōu)勢決定了他是一種軍民兩用的高科技設(shè)備,從當(dāng)前國內(nèi)外的諸多領(lǐng)域中可以了解到,四旋翼無人機當(dāng)前已經(jīng)能夠完成各種各樣復(fù)雜及危險的任務(wù),實踐價值較高。