丁嘉俊 馬一川 尹恒宇
(南通大學,江蘇 南通226019)
小型四旋翼飛行器是一種欠驅動強耦合無人飛行裝置,其4個旋翼分別由4個微型電動機驅動,且均勻分布在十字交叉結構的頂端,通過控制4個旋翼的轉速來調節螺旋槳轉速,由旋翼升力的變化實現飛行器的垂直、俯仰、滾轉、側向、前后、偏航等姿態控制,它可自由實現空中懸停和自由移動,具有較大的靈活性與機動性能[1]。由于四旋翼飛行器具有結構簡單、機械穩定性好、成本低等特點,被廣泛應用于巡檢、安防、測繪等各個領域。對于搜救過程而言,通過結合多傳感檢測、圖像采集與處理、人機交互等多個模塊,一方面可以提供更廣闊的視角和全局信息;另一方面可以定位捕捉到更多的細節,能夠為高效的搜救工作提供有力依據。
PID控制是最為經典的控制算法,被廣泛應用于多種控制系統,為了克服對環境抗干擾性的不足,誕生了多種PID的延伸算法,例如,模糊PID[2]、神經網絡PID[3]、串聯PI-PID[4]等。此外,韓京清研究出了自抗擾控制器(ADRC)提高了控制對象對環境擾動的抗性[5];楊立本等人成功地將此控制算法應用到多旋翼的姿態控制中[6]。
本文綜合考慮四旋翼飛行器的特點及搜救方案中的實際因素,設計了一款具有輔助搜救功能的小型四旋翼飛行器。采用STM32單片機作為主控制器,在硬件上搭載三軸陀螺儀、三軸加速度計以及電子羅盤、氣壓計等多個傳感器,利用四元數法對四軸飛行器姿態進行解算,利用超聲波、氣壓計、GPS模塊和加速度計進行空間位姿的解算,采用PID-LADRC串級控制算法實現飛行器姿態和位置的控制。
四旋翼的飛行方式大體分為兩種:X形四旋翼和十字形四旋翼。由于在姿態控制時,X形四旋翼同時有兩個槳葉提供動力,在機動上更加具有優勢,本文采用X形四旋翼進行設計。
飛行器主體采用低壓無刷電機與10寸(1寸≈3.33cm)螺旋槳,可以有足夠的力量搭載其他用于搜救的傳感器。將搭載對地超聲波測距模塊、光流模塊、無線模塊、GPS模塊及4個無刷電機。其中,對地超聲波模塊用于檢測飛行器的對地高度,實現穩定起飛與降落;光流模塊用于白天GPS信號弱時檢測飛行器的水平移動,實現空中穩定定點;無線模塊用于實時檢測飛行器狀態,確保飛行安全。
飛行控制器內部搭載IMU系統,可以實時檢測飛行器姿態,通過姿態控制4個無刷電機旋轉速度,通過外部連接的傳感器檢測空間移動,并做出相應地姿態調整。
飛行控制器采用STM32F407VET6單片機作為主控芯片。基于該單片機,設計系統硬件結構如圖1所示。系統主要擁有4個傳感器,分別為加速度計、陀螺儀、電子羅盤、氣壓計。其中,加速度計與陀螺儀選用MPU6050六軸姿態傳感器,該傳感器同時擁有三軸陀螺儀與三軸加速度計,用于解算俯仰角、翻滾角以及機體旋轉角速度。

圖1 硬件系統結構圖
電子羅盤采用HMC5883L三軸磁力計,用于補償航向角的誤差;氣壓計采用MS5611氣壓計,用于解算飛行器的飛行高度。這3款傳感器通過同一個IIC接口與單片機通信。接收機采用PPM信號與單片機通訊。單片機采用外部中斷EXIT接收PPM信號的脈沖,通過TIM1計算脈沖寬度。FLASH模塊采用SPI2接口雙向通信,無線模塊采用SPI1接口雙向通信,以保證無線通信的高效性與可靠性。
另外,為保證飛行器與地面站通信,我們將采用兩塊NRF24L01無線通信模塊進行數據傳輸通信,無人機飛行姿態等信息傳送到遙控器,再由遙控器通過無線網傳送到PC端地面站,實現無人機通信地面站的功能。
微型無人機通常采用捷聯慣性導航系統,因此,飛行器在導航上面常常采用四元數法解算姿態[7,8]。通過陀螺儀數據積分計算可以得到姿態角度,數據受機體振動影響較小,但數據會由于積分原因產生漂移,因此,該數據在短時間內可靠,長時間內不可靠;根據傳感器數據相互補償的原理,姿態解算主要依靠陀螺儀數據積分計算,再加速度計數據求得的姿態角修正陀螺儀數據積分數據漂移,再轉化為四元數,通過四元數微分計算,最后得出機體的姿態角。其解算原理如圖2所示。

圖2 姿態解算原理
采用四元數方法解算陀螺儀姿態,并用加速度計對陀螺儀數據進行PI修正,以得到較為精確的姿態數據。
在位置解算中,主要采用三軸加速度計數據通過旋轉矩陣旋轉到水平面和垂直平面,再通過積分可以得到機體的運動速度,速度再積分可以得到位移距離,但是積分得到的數據會產生漂移,因此,采用相應的其他傳感器進行修正。
機體水平位置的解算主要采用三軸加速度計數據通過旋轉矩陣從機體坐標系轉換到地理坐標系,對水平方向的加速度分量進行積分得到水平方向的速度,再積分得到水平方向位移距離,通過GPS測得的絕對水平位置和加速度計積分得到的位置做差,使用差通過PID校正網絡校正速度與位移。
豎直位置解算和水平位置解算大體相同,豎直方向采用超聲波或者氣壓計修正。
四旋翼的姿態控制采用二階控制形式,控制量有角度控制和角速度控制。因此,四旋翼的姿態控制采用兩個控制器串級控制來實現,本文采用了PID-LADRC串級控制來實現飛行器的雙閉環控制,控制原理圖如圖3所示。
(1)四種中心錐結構水力旋流器內壓力場與速度場均呈軸對稱分布。適當的減小上錐段底角能增大徑向壓力梯度和最大切向速度,有利于固液分離從而提高分離效率。
串聯控制器主要用于四旋翼飛行器的姿態控制。其輸入量是期望角度,反饋量是角速度和角度。因此,需要精確地控制機體的旋轉角度,才能取得良好的控制效果。在四旋翼的控制中角速度環的控制極為重要,它直接決定了四旋翼飛行的穩定性,因此,選擇PID控制器控制機體角度作為外環控制,選擇LADRC控制機體角速度作為內環控制。
由圖3可知,控制算法是利用機體角度與期望角度的差,通過PID控制器輸出期望的角速度,再通過期望角速度與機體角速度的差,再由LADRC控制器輸出PWM信號控制電機,最后控制機體的姿態。

圖3 PID-LADRC串級控制器
本文通過方案設計及器件選型完成了四旋翼飛行器的設計與制作。如圖4所示,采用在姿態控制上更具優勢的X形四旋翼,機架采用3D打印的F450機架,有4個旋翼位于其結構四個頂端,相鄰的兩個旋翼以不同的方向旋轉以用于抵消反扭力[9]。另外,該飛行器電機及電調選擇無刷電機及20A電調。

圖4 F450機架
無線通信模塊、慣性傳感器模塊以及接收機模塊分布如圖5所示,光流模塊以及超聲波模塊分布如圖6所示。

圖5 傳感器分布圖一

圖6 傳感器分布圖二
本文設計了上位機監控界面,可以實時監控飛行器飛行狀態,如圖7所示。狀態顯示界面可以實時顯示無人機姿態角、氣壓計海拔高度、對地高度以及電池電壓數據。通過這些數據操作員可以清楚地了解飛行器的飛行狀態,并安全駕駛。

圖7 地面監控系統數據顯示界面
調試姿態控制器需要先調節內環控制器,因此,應先調節LADRC參數,取步長h=0.001。LADRC調試步驟如下:
(2)增大ωc值,檢查機體是否有力平衡,當能平衡時暫定ωc值。
(3)調節b0值,至系統不會因靜態誤差而轉動。
LADRC控制參數初定后,開始調節外環PID參數,調試步驟如下:
(1)增大Kp參數,拉動遙控器,檢查機體響應時間,增大Kp值快速響應,系統開始微微震蕩。
(2)增大Kd參數,拉動遙控器至系統不再震蕩。
當PID參數初定后,系統還需要在實際測試中再對各參數進行微調,以達到想要的控制效果。
四旋翼飛行器應用在救援搜救領域具有實際意義,其擁有較大的靈活性與機動性能。本文采用四旋翼飛行器設計方案,利用主控制器和一些必備的三軸陀螺儀、三軸加速度計、電子羅盤、氣壓計等多個傳感器,又利用超聲波、氣壓計、GPS模塊和加速度計進行空間位姿的解算,采用經典PID控制算法與LADRC控制算法串級控制完成飛行器姿態和位置的控制,具有結構簡單,控制算法靈活的特點,在后續試驗飛行調試的過程中也展示了設計方案的可靠性和穩定性。