前言
無人四旋翼飛行器的發展已經有很多年的歷史,一開始因為受科技的限制和元件取得的不易,所以大部分使用在軍事等特殊方面,但隨著時代的變遷,無人四旋翼飛行器的應用不再只是侷限在一些特殊方面,也可適用於一些民生用途如空拍導航、地形偵查。
四旋翼飛行器它能夠直接的垂直起飛及降落、可以立刻變換飛行姿態及路徑、可在空中隨意定點旋停等優勢,是一般的定翼飛機所無法做到的,但是相對的由於需要同時控制四顆馬達,容易造成飛行時的不穩定,所以本研究利用微製程之慣性元件來量測飛行姿態的變化,並加以回授控制使四旋翼飛行器能夠穩定,雖不如真實飛機及軍事系統那樣的精密準確,還須適時的修正誤差,但取得價格相對較便宜,使用於在一般民生用途上則已足夠,本研究從基本電子電路開始著手,到完成整個控制系統硬體部分,最後實際測試飛行控制板的控制結果。
四旋翼飛行器主要是利用四顆馬達來帶動螺旋槳產生的浮力,使得四旋翼飛行器能於空中飛行,但螺旋槳的轉動會產生作用力與反作用力以及一些旋轉的慣性,而當飛行於室外時,也會因為氣流和風勢的影響,這些都會是造成四旋翼飛行器飛行時不穩定的因素。
所以使用者在使用四旋翼飛行器時,必須要全神貫注,注意四旋翼飛行器的姿態、航向、轉向,並且隨時都要利用遙控器修正來穩定四旋翼飛行器,所以在使用上,使用者幾乎都需要一些時間來訓練,才能熟悉的操控且穩定的控制四旋翼飛行器。
本研究以四旋翼飛行器為平台,以飛行控制系統微型化、功能模組化以及能達到自主平穩飛行為研究目的。利用核心控制器和慣性感測器的硬體系統整合,就能夠即時量測到四旋翼飛行器的航向、俯仰、側滾等資訊,再透過控制核心作運算處理,並回授矯正誤差值,最後輸出訊號控制馬達動作,如此一來四旋翼飛行器便能平穩的飛行與保持固定的航向。
工作原理
控制核心
本系統所選用的控制核心為盛群半導體所生產的HT32F1253微控制器,本晶片為新型的32-bit微控制器,晶體震盪器選用8MHz,內部倍頻至72MHz,因此每個機械指令週期為0.0138μs。
HT32F1253微控制器內含八通道的ADC,其解析度為12-bit,負責轉換姿態感測器所回傳的類比訊號,PA0~PA2為加速度計X、Y、Z三軸的訊號輸入,PA3~PA5為陀螺儀X、Y、Z三軸的訊號輸入;兩組通用計時器(GPTM),本系統利用GPTM0產生PWM控制訊號,經由PB11、PA13~PA15輸出送至馬達驅動器,控制四旋翼飛行器的直流馬達;GPTM1則是負責接收來自使用者的控制訊號,控制訊號經由接收器轉換為PWM訊號輸入由PB12~PB15輸入至微控制器;一組USART接腳用於資料傳輸,PA10、PA11為USART所使用的RX、TX,微控制器可透過USART將飛行控制系統的資料送至PC顯示。
姿態感測
本作品的感測系統是由三軸加速度計(MMA7260Q)、單軸陀螺儀(ISZ-650)量測與雙軸陀螺儀(IDG-650)所組成,主要測量飛行器的重力與角速度的變化,供控制核心(HT32F1253)進行計算以求得飛行姿態。感測系統架構由圖1所示:
加速度計主要測量飛行器X、Y、Z軸的重力變化,計算飛行器飛行時的傾斜與測滾。飛行器飛行時進行前傾、後仰或側滾翻時,一定會產生重力的變化,因此我們可利用加速度計進行量測,並計算出飛行器的角度。
陀螺儀又名角速度計,為角慣量感測器,用於感測物體圍繞某個軸發生的旋轉,測量以度/秒(°/s)為單位的角速度;陀螺儀與加速度計不同的是,陀螺儀量測飛行器的偏行或者斜度時,與地心引力或者飛行速度無關,且陀螺儀可偵測物體水平旋轉的角速度,但無法偵測飛行器的水平移動速度,所以若將陀螺儀和加速度計結合起來,就能夠做出偵測飛行器轉動與傾斜的感測器。
飛行控制系統透過加速度計與陀螺儀的量測,可得到四旋翼飛行器的飛行姿態,飛行姿態以尤拉角表示,其中定義俯仰角(Pitch Angle)為繞著x軸所產生的夾角?,側滾角(Roll Angle)為繞著y軸所產生的夾角O,以及航向角(Yaw Angle)為繞著z軸的夾角ψ,如圖2所示:
圖二 : 四旋翼飛行器之Pitch、Roll、Yaw示意圖 |
|
飛行原理
一般旋翼機是由升力、重量(重力)、推力、阻力間的平衡來控制飛行器的姿態,四旋翼飛行器的飛行原理亦同於一般旋翼機,本飛行器事由四個直流馬達帶動螺旋槳,透過調整馬達的轉速,可使螺旋槳產生不同的升力,進而達到上升、下降、前進、後退、左移、右移以及定點旋轉等不同的飛行方式。
一般旋翼機是使用可變傾角的正向螺旋槳,來控制姿態的改變,但四旋翼飛行器必須使用兩組正槳與兩組反槳,依照正反槳轉動的方向和轉速來控制飛行時的姿態。
本研究使用兩組正槳、兩組反槳,若四組螺旋槳都往同一個方向轉動,就會造成極大的慣性,使機身朝螺旋槳轉動的反方向不斷旋轉,所以在設計上對稱的兩個螺旋槳必須朝著各自不同的方向做旋轉以抵消旋轉所產生的慣性。四旋翼飛行器螺旋槳旋轉方向示意圖如圖3所示:
飛行控制方法
四旋翼飛行器主要是依照遙控器的指令動作,遙控器可操作四旋翼飛行器的起飛、降落、側翻、俯仰,遙控器的控制訊號有副翼(Aileron)、升降舵(Elevator)、油門(Throttle)、方向(Rudder),飛行控制板上裝有RF接收器接收遙控器訊號,當飛行控制板接收到遙控器訊號時,飛行控制板上的微控制器會將控制訊號與感測器訊號做融合,計算出使用者的期望姿態,再與目前姿態計算出所需的修正量,最後將修正量轉換為PWM訊號,交由馬達控制器改變相對應的馬達轉速,使各個馬達產生不同的升力以進行姿態上的修正。控制方法如圖3所示。
作品結構
硬體架構
四旋翼飛行器硬體架構如圖4所示。飛行控制板主要由微控制器核心、加速度計、陀螺儀、電源電路、遙控接收電路所構成。
本作品所使用的加速度計與陀螺儀皆為類比式輸出,輸出訊號為電壓變化,因此我們使用微控制器的ADC功能,將感測器的類比訊號轉換為數位訊號,透過程式計算出目前飛行器的姿態,而遙控接收器所輸出的訊號為PWM訊號,所以我們利用微控制器的GPTM1來接收並利用程式計算出PWM的Duty Cycle,計算出Duty Cycle後透過程式處理解讀出使用者的控制指令。
接下來將飛行器的姿態與使用者的控制指令進行融合,利用PID控制器計算出各個馬達的控制量,最後利用GPTM0將各個馬達的控制量轉換為PWM訊號,傳送至馬達控制器,控制各個馬達的轉速。微控制器與各周邊感測器的關係如圖5所示。
軟體架構
本作品重點在於利用微控制器配合周邊微機電製成之慣性元件,製作出可達到低成本高穩定度之飛行控制系統,飛行控制系統之方塊圖如圖6所示,本系統主要核心為盛群半導體所生產的HT32F1253微控制器,周邊配有加速度計(MMA7260Q)與陀螺儀(IDG-650、ISZ-650)負責量測飛行器的姿態並交給微控制器進行計算,微控制器會依照所設計的程式,計算出飛行器目前的飛行姿態,再將計算結果轉成控制訊號送至馬達驅動器,透過驅動器控制馬達的轉速,使螺旋槳產生不同的升力,以達到飛行姿態的控制。
圖7為本系統飛行控制系統流程圖,當系統啟動時會先將所有參數初始化,初始化的參數包含陀螺儀以及加速度計的基準值,初始化後程式會開始進入主迴圈,接收遙控器的訊號,並解析使用者所下達的指令,並讀取感測器ADC值進行姿態解算,解算後利用PID控制器,將飛行器姿態與控制指令進行計算,計算完成後系統會將各個馬達所需的修正量,利用PWM訊號傳送至各個馬達驅動器,控制各個馬達進行飛行器的姿態調整,經過不斷的計算及調整,就能使飛行器保持平穩的飛行。
四旋翼飛行器是否能穩定飛行,且受到外界干擾時直流馬達的補償量是否正確,都取決於控制器的設計。目前本作品的控制系統為PID控制器,其中比例增益為Kp、積分增益為Ki、微分增益為Kd,不同的增益組合會直接影響四旋翼飛行器的反應速度以及穩定性,因此調整出最佳化的PID參數是極為重要的。
在調整PID參數時發現,當Kp過大時會使整個系統產生最大超越量,使四旋翼飛行器補償過度,最後導致飛行器翻覆,當Ki過大時會使系統在穩態誤差時產生震盪,使四旋翼飛行器無法平穩飛行,而當Kd過大會使系統呈現過阻尼系統,會導致反應速度較慢,無法跟上四旋翼飛行器所需要的快速動態響應。
測試方法
感測器訊號分析
感測器在本系統中扮演著重要的角色,負責量測飛行器的姿態,本系統所使用的加速度與陀螺儀皆是類比輸出,因此訊號經過AD轉換後還必須濾波才可使用。圖8為硬體濾波後加速度計X軸的訊號,由圖可知訊號經過硬體濾波後還是有很大的雜訊,因此我們必須利用軟體再次進行濾波,加速度計訊號經過軟體濾波後明顯平穩許多如圖9所示。
感測器訊號經過軟體濾波後就可將訊號換算為角度,加速度計與陀螺儀計算角度值都須扣除基準值,基準值必須在系統初始化時計算,量測值扣除基準值就可算出變化量,變化量再乘上靈敏度就可算出我們所需要的角度
PID參數調整
PID Controller是目前應用最多的控制器,但其控制參數不易調整,所以大多人會利用Matlab等程式進行模擬,但想要利用程式必須要先建立出模型,對四旋翼飛行器來說建立模型不但麻煩,且必須將大部份變數理想化,如此模擬出來的結果也必須調整,因此本文調整PID參數的方式是實際調整參數,觀察並紀錄找出最理想的PID參數。
實際飛行姿態測試
四旋翼飛行器飛行時是根據使用者遙控器的操作,由接收器輸出至飛行控制板,再透過控制核心做運算處理,了解使用者所想要的飛行姿態,並且利用正槳與反槳的不同方向慣性,藉此控制四旋翼飛行器之飛行動態。四旋翼飛行器是利用兩正槳與兩反槳,將慣性抵消才得以保持平穩,也利用了這種慣性使四旋翼飛行器改變飛行姿態。
前進:由使用者下達遙控器前進之命令,透過飛行控制板控制使得3號旋翼轉速下降、4號旋翼轉速上升,藉由這種控制使四旋翼飛行器前傾,達到前進之飛行姿態,再配合慣性元件所量測之訊號補償1號、2號旋翼的轉速,使機體能平穩往前飛行。
後退:由使用者下達遙控器退後之命令,透過飛行控制板控制使得4號旋翼轉速下降、3號旋翼轉速上升,藉由這種控制使四旋翼飛行器後傾,達到退後之飛行姿態,再配合慣性元件所量測之訊號補償1號、2號旋翼的轉速,使機體能平穩往後飛行。
左平移:由使用者下達遙控器左平移之命令,透過飛行控制板控制使得1號旋翼轉速下降、2號旋翼轉速上升,藉由這種控制使四旋翼飛行器左傾,達到左平移之飛行姿態,再配合慣性元件所量測之訊號補償3號、4號旋翼的轉速,使機體能平穩往左飛行。
右平移:由使用者下達遙控器右平移之命令,透過飛行控制板控制使得2號旋翼轉速下降、1號旋翼轉速上升,藉由這種控制使四旋翼飛行器右傾,達到右平移之飛行姿態,再配合慣性元件所量測之訊號補償3號、4號旋翼的轉速,使機體能平穩往右飛行。
左旋轉:由使用者下達遙控器左旋轉之命令,透過飛行控制板控制使得1、2號旋翼轉速上升,藉由順槳旋轉之逆向慣性,藉由這種控制使四旋翼飛行器往左轉,達到左旋轉之飛行姿態,再配合慣性元件所量測之訊號補償3號、4號旋翼的轉速,使機體能平穩往左旋轉。
右旋轉:由使用者下達遙控器右旋轉之命令,透過飛行控制板控制使得3、4號旋翼轉速上升,藉由逆槳旋轉之順向慣性,藉由這種控制使四旋翼飛行器往右轉,達到右旋轉之飛行姿態,再配合慣性元件所量測之訊號補償1號、2號旋翼的轉速,使機體能平穩往右旋轉。
結論
本研究四旋翼飛行器微控制器核心是使用盛群的HT32F1253 32bit MCU,並搭配MMA7260Q加速度計與IDG-650、ISZ650陀螺儀以達成飛行姿態控制目的。經由設計、分析、製作與實驗測試,已完成四旋翼飛行器製作與測試,經實測結果四旋翼飛行器可完成穩定之飛行控制,包含前進、後退、起飛、降落、定點盤旋、側飛、旋轉、曲線飛行、急速飛行等均可達到穩定飛行目的。
(本文由盛群半導體提供;作者為明志科技大學機電工程研究所陳源林教授、洪瑋廷、蘇信毓、郭耀文、洪偉哲等)