《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 嵌入式技術(shù) > 業(yè)界動態(tài) > 基于RTOS的小型無人機飛行控制系統(tǒng)

基于RTOS的小型無人機飛行控制系統(tǒng)

2009-06-19
作者:陳 杰,陳 超,周建軍,莫欽

  摘 要: 一種基于RTOS的小型無人機飛行控制系統(tǒng)的設(shè)計與實現(xiàn)。該系統(tǒng)基于C8051F120單片機和USOS II嵌入式實時操作系統(tǒng),通過使用實際飛行獲取的飛行參數(shù),采用PID控制律實現(xiàn)了姿態(tài)控制;通過使用GPS提供的方位信息,實現(xiàn)了無人機的軌跡控制。同時,該控制系統(tǒng)還提供了飛行參數(shù)的存儲。
  關(guān)鍵詞: C8051F120;實時操作系統(tǒng);無人機;PID

?

  隨著無人機的逐漸小型、微型化,無人機的飛行控制系統(tǒng)逐漸向微型化、低功耗、低成本的方向發(fā)展。飛行控制系統(tǒng)作為無人機的關(guān)鍵技術(shù)部件,國外已有廠商針對小型無人機開發(fā)出了微型飛控系統(tǒng),如美國Vesta Technology公司的AP30、AP40、AP50[1]系列、Cloud Cap Technology公司的PICCOLO系列以及MICROPILOT公司研制的MP 1000等。它們體積小、重量輕,但價格都比較高,或者根本就限制對華銷售。國內(nèi)科研單位主要研制的是針對中、大型無人機的飛控系統(tǒng)。這類飛行控制系統(tǒng)的體積、重量、功耗都很大,而且成本高,不能滿足微、小型無人機的需要。針對以上情況,本文研究設(shè)計了針對微、小型無人機的小體積、低功耗、低成本的小型無人機飛行控制系統(tǒng)。
1 系統(tǒng)總體設(shè)計
1.1 飛行控制系統(tǒng)系統(tǒng)需求

  針對小型無人機飛控系統(tǒng)的特點,提出了系統(tǒng)的軟硬件需求。
  (1)硬件需求
  小型無人機飛行控制系統(tǒng)的硬件需要滿足處理速度快、多路模擬、數(shù)字信號采集/輸出能力及數(shù)據(jù)存儲能力強。其具體需求如下:
 ?、倬哂休^高的處理速度,能夠勝任控制系統(tǒng)的眾多事務(wù)處理。
 ?、诰哂卸嗦纺M信號的較高精度的采集能力。飛機姿態(tài)參數(shù)的采集使用空速傳感器、高度傳感器、角速度傳感器等,上述傳感器輸出的都是模擬信號,需經(jīng)量化后送往處理器處理。
 ?、劬邆鋵?路遙控PCM指令信號的采集能力。本系統(tǒng)有自主飛行和遙控兩種控制模式,在起飛和著陸階段均采用遙控模式。在遙控模式下,由操縱員操作遙控器發(fā)送指令控制舵機、油門等執(zhí)行機構(gòu)。遙控器發(fā)送的指令形式為PCM,一般有8個通道。
 ?、芴峁┒嗦稰WM信號輸出接口。升降舵、方向舵、副翼、油門都擬采用PWM控制方式。
 ?、菘纱鎯s10min的飛行記錄信息。
 ?、拗辽賰陕稶ART接口。飛控系統(tǒng)擬采用GPS導航,GPS模塊通信接口為UART;采用GPRS模塊實現(xiàn)地面站與飛控系統(tǒng)的通信,GPRS模塊通信接口也為UART。
  ⑦提供航路點等參數(shù)的設(shè)置、飛行記錄等信息輸出的接口。通過PC、PDA可方便地訪問這些參數(shù)。
 ?、酁橐院蠊δ軘U展預留接口。
  (2)軟件需求
  無人機飛行控制系統(tǒng)的軟件設(shè)計較為復雜。飛行動態(tài)連續(xù)控制中,應(yīng)確保處理運算、控制等所有任務(wù)無相互干擾,同步、實時進行;需要完成姿態(tài)控制、軌跡控制、數(shù)據(jù)采集記錄、舵機油泵的控制等任務(wù)。
1.2 飛行控制系統(tǒng)硬件總體設(shè)計
  硬件系統(tǒng)的總體框圖如圖1所示,整個系統(tǒng)由接收機信號采集通道、接口電路、傳感器信號轉(zhuǎn)換電路、PWM輸出通道組成。GPS導航模塊、GPRS無線通信模塊均通過UART接口與系統(tǒng)相連。系統(tǒng)與PC、PDA的通信接口也采用UART口,由于只在地面時才使用PC、PDA進行參數(shù)設(shè)置、讀出飛行記錄信息等,故與GPRS模塊復用同一路UART。

?


1.3 飛行控制系統(tǒng)軟件總體設(shè)計
  為確保程序運行可靠及編程簡便,系統(tǒng)采用了嵌入式操作系統(tǒng)USOS II[2]。USOS II是針對中低檔單片機而設(shè)計的嵌入式實時操作系統(tǒng)內(nèi)核。同時支持按時間片輪轉(zhuǎn)、按優(yōu)先級搶占、二者結(jié)合共三種調(diào)度策略,具有完善的任務(wù)管理功能,提供定時、延時服務(wù),支持消息、信號(signal)通信機制,支持臨界代碼段保護,提供二進制、計數(shù)型信號量(semaphore)同步對象等,支持Bottom-half中斷管理機制[3]。通過對飛行控制任務(wù)的分析,將整個程序分為縱向控制任務(wù)、橫向控制任務(wù)、飛行軌跡控制任務(wù)、飛行參數(shù)記錄任務(wù)。其中,縱向控制任務(wù)包含油門控制和升降舵控制兩個相互交聯(lián)的子任務(wù);而橫向控制任務(wù)包含方向舵控制、副翼控制兩個相互交聯(lián)的子任務(wù),同時這兩個子任務(wù)也與升降舵控制子任務(wù)有交聯(lián),以保證轉(zhuǎn)彎過程中對高度的損失能夠及時補償。與任務(wù)并列的程序還有AD中斷、串口中斷、比較器中斷等。軟件系統(tǒng)結(jié)構(gòu)圖如圖2所示。


2 硬件設(shè)計
2.1 處理器的選型
  在選擇處理器時,需考慮可靠性、處理速度、系統(tǒng)集成度、開發(fā)成本方面的因素。
  盡管ARM和DSP有相當高的處理速度,但多為商業(yè)級芯片。在使用中,一般要進行數(shù)據(jù)存儲器和程序存儲器的擴展,另外其I/O口不兼容5V電平邏輯,不便于芯片擴展,開發(fā)工具成本也較高。故在本系統(tǒng)中未采用,而選用了Cygnal公司的高速混合信號系統(tǒng)級C8051F120[4]單片機。針對本應(yīng)用,它有以下優(yōu)點:
  (1)100MI/s的處理速度,完全能夠勝任飛行控制系統(tǒng)的事務(wù)處理。
  (2)片上集成Flash程序存儲器。
  (3)2路UART口,滿足本系統(tǒng)對UART的需求。
  (4)共有16路AD采樣通道,12位和8位精度通道各有8路,滿足本系統(tǒng)的要求。
  (5)6路PWM通道,可完成對升降舵、方向舵、副翼、發(fā)動機等執(zhí)行機構(gòu)的控制。
  (6)片內(nèi)集成比較器,可完成遙控指令測量。
2.2 接收機信號采集電路
  遙控接收機的輸出信號為PCM脈寬信號。接收機輸入控制系統(tǒng)的通道為8個,分別控制油門、升降舵、方向舵、副翼、遙控模式與自主模式狀態(tài)切換及備用。
  C8051F120內(nèi)部集成了斯密特回滯比較器,上升沿和下降沿都允許中斷,因此可用來測量信號脈寬。由于輸入通道共有8個,而C8051F120僅有2個比較器,因此需要通過多路開關(guān)實現(xiàn)分時采集。為了防止接收機與系統(tǒng)之間的干擾,兩板之間采用光耦實現(xiàn)電氣隔離。電路原理如圖3所示。8路PCM碼信號經(jīng)雙路四選一模擬開關(guān)CD4052選擇后再經(jīng)光耦輸入單片機比較器的引腳;通道選擇信號由單片機普通I/O經(jīng)光耦后接到CD4052的選擇引腳。


2.3 控制信號輸出電路
  方向舵、升降舵、副翼、發(fā)動機[5]等都通過PWM信號控制,C8051F120自身已提供了6路PWM通道,基本滿足了控制需求。
  為便于擴展,控制系統(tǒng)將C8051F120內(nèi)部集成的兩路12位數(shù)模轉(zhuǎn)換器接出,用以控制模擬量的執(zhí)行機構(gòu)。
2.4 擴展Flash電路
  由于飛行控制器需要具有記錄至少最后10min飛行數(shù)據(jù)的能力,而頻繁改動單片機自身Flash則有可能會帶來不可預知的后果,因此擴展了一片Sumsung公司的NAND結(jié)構(gòu)Flash存儲器K9F2808。該存儲器按頁進行讀寫,按塊擦除,通過I/O口分時復用作為命令/地址/數(shù)據(jù)。為防止啟動或復位時電壓不穩(wěn)的誤擦除操作,K9F2808的WP接了10 kΩ的上拉電阻,同時與地之間連接濾波電容。其余控制引腳直接與單片機的普通IO口相連。
3 飛行控制律設(shè)計
3.1 飛行控制系統(tǒng)結(jié)構(gòu)
  一般的飛行控制結(jié)構(gòu)如圖4所示,由內(nèi)部的姿態(tài)控制回路和外部的軌跡控制回路組成。其中,內(nèi)回路主要用來控制和穩(wěn)定飛機的姿態(tài);外回路主要功能是控制飛機飛行軌跡,如高度的穩(wěn)定與控制。因此,飛行控制軟件的設(shè)計也分為內(nèi)部控制回路和外部控制回路兩部分。


  控制律的設(shè)計方法上,考慮到控制對象為高穩(wěn)定性小型無人機,因此采用較為靈活簡單的PID[6]控制方式。從成本考慮,無人機的建模采用實際遙控飛行,利用飛行數(shù)據(jù)采集系統(tǒng)記錄飛行數(shù)據(jù)[7],繼而推算模型的方法,節(jié)省使用風洞的費用。
3.2 姿態(tài)控制律設(shè)計
??? 姿態(tài)控制回路PID控制器結(jié)構(gòu)圖如圖5所示,利用角速率ω和角度θ雙路反饋, 由三軸角速率陀螺反饋構(gòu)成阻尼回路,角速率通過積分得到角度反饋組成姿態(tài)角穩(wěn)定回路。


??? 將通過遙控飛行所得出的飛機模型帶入上述姿態(tài)回路PID控制器結(jié)構(gòu)圖,調(diào)整PID控制的各項參數(shù),利用Matlab仿真軟件進行模擬控制律仿真,可分別得到各個姿態(tài)回路的PID控制參數(shù)。由于對控制對象的靈敏性要求并不高,而對可靠性要求較高,因此調(diào)整參數(shù)時,控制系統(tǒng)的三大特性排序為:穩(wěn)定性>準確性>快速性;表現(xiàn)在實際飛行中,飛行器在進行姿態(tài)變換時,反應(yīng)較慢,但平穩(wěn)性較高。
3.3 縱向控制律的分析與設(shè)計
  縱向控制時,油門、升降舵分別為兩個相互關(guān)聯(lián)的回路,體現(xiàn)在編程上,兩個回路由兩個任務(wù)控制,采用共用變量在兩個任務(wù)間傳遞數(shù)據(jù)。
  設(shè)計中,采用高度偏差控制油門,采用空速偏差控制升降舵位置。同時,為防止飛機失速進入俯沖,對迎角進行限幅處理。
3.3.1 高度控制原理
  常規(guī)控制原理認為油門位置的變化導致推力的變化,從而使飛機的飛行速度變化。
  但是在實際飛行中發(fā)現(xiàn),推力的改變只是在開始過渡階段使飛行速度變化。而當飛行速度的改變使升力發(fā)生變化時,飛機的航跡角將改變,使飛機爬升或下滑,而飛機的迎角和速度最終不會改變。因此,單純改變油門位置時,飛機運動狀態(tài)有一個變化過程。過渡階段引起速度的變化,穩(wěn)態(tài)后飛行速度和迎角均不改變,但飛機的高度發(fā)生了變化。
  整個控制過程表現(xiàn)為:如果高度大于設(shè)定值→油門減小→速度減小→俯仰角減小→飛機下滑→速度增大→俯仰角增大→高度降低/速度、俯仰角不變;反之,高度小于設(shè)定值→油門增大→速度增大→俯仰角增大→飛機爬升→速度減小→俯仰角減小→高度增加/速度、俯仰角不變。
  高度偏差的大小直接決定油門的位置,從油門的位移到建立一定拉力(推力)的過程是非周期過程,時間常數(shù)較大。飛機質(zhì)量越大,則發(fā)動機剩余功率越小,這個動態(tài)過程也就越長。
3.3.2 速度控制原理
  常規(guī)控制原理認為升降舵位置的變化導致迎角的變化,從而使飛機的飛行高度產(chǎn)生變化。
  在實際飛行中發(fā)現(xiàn),水平直線飛行中,升降舵的偏轉(zhuǎn)位置對應(yīng)著一個迎角。在油門保持不變的情況下,單純偏轉(zhuǎn)升降舵,迎角的變化不僅能夠改變飛機的俯仰角,使飛機做曲線運動,而且飛行速度也會發(fā)生顯著變化。
  控制過程表現(xiàn)為:如果速度低于設(shè)定值→升降舵下偏→迎角減小→俯仰角減小→飛機下滑→速度增大;反之,速度高于設(shè)定值→迎角增大→俯仰角增大→飛機爬升→速度減小。
  采用速度偏差控制升降舵的優(yōu)點是:速度偏差的大小通過升降舵的作用直接決定迎角的大小,飛機迎角變化范圍大,速度控制過程快,作用效果明顯,很容易實現(xiàn)穩(wěn)定。
3.4 橫側(cè)向控制律的分析與設(shè)計
  橫側(cè)向控制時,副翼、方向舵分別為兩個相互關(guān)聯(lián)的回路,體現(xiàn)在編程上,兩個回路由兩個任務(wù)控制,并采用共用變量在兩個任務(wù)之間傳遞數(shù)據(jù)。同時,在側(cè)向轉(zhuǎn)彎時,副翼、方向舵回路也和升降舵聯(lián)動,用升降舵的偏轉(zhuǎn)補償轉(zhuǎn)彎過程中損失的高度。
  系統(tǒng)采用轉(zhuǎn)彎速率控制方式進行轉(zhuǎn)彎??刂苹芈吠ㄟ^航向偏差測算出偏差量,從而確定希望的轉(zhuǎn)彎速率。
3.4.1 方向舵控制原理
  在水平直線飛行中,方向舵的偏轉(zhuǎn)位置對應(yīng)著一個側(cè)滑角,側(cè)滑方向與方向舵的偏轉(zhuǎn)方向相反。如果只是單純的偏轉(zhuǎn)方向舵,則飛機還會向方向舵的偏轉(zhuǎn)方向滾轉(zhuǎn)。
  在一定的滾轉(zhuǎn)角和飛行速度下,只有一個與之對應(yīng)的轉(zhuǎn)彎速率(轉(zhuǎn)彎角速度)。飛機的空速矢量以這個轉(zhuǎn)彎速率轉(zhuǎn)動時,就是側(cè)滑角為零的協(xié)調(diào)轉(zhuǎn)彎。
  系統(tǒng)的側(cè)向控制通道是由航向通道和方向舵、副翼通道共同組成的一個串級控制回路。具有航向控制、偏航增穩(wěn)控制、轉(zhuǎn)彎控制和航跡控制功能。常規(guī)的水平轉(zhuǎn)彎最好使用方向舵控制,同時采用副翼控制飛機轉(zhuǎn)彎過程中的滾轉(zhuǎn)。
3.4.2 副翼控制原理
  在無側(cè)滑的條件下,副翼的偏轉(zhuǎn)位置對應(yīng)著一個穩(wěn)定的滾轉(zhuǎn)角速度。
  單純偏轉(zhuǎn)副翼,飛機在滾轉(zhuǎn)的同時還會向滾轉(zhuǎn)的方向側(cè)滑,并使機頭向滾轉(zhuǎn)的方向偏轉(zhuǎn)。
  無側(cè)滑的滾轉(zhuǎn)沒有安定力矩,只有操縱力矩和機翼的阻轉(zhuǎn)力矩。若保持滾轉(zhuǎn)的角度,副翼必須回中使操縱力矩為零。
  飛行速度增大,橫側(cè)操縱性變好;迎角增大,副翼效能變差;迎角增大到一定程度,將發(fā)生反操縱現(xiàn)象。飛機的副翼通道,具有滾轉(zhuǎn)角控制、滾轉(zhuǎn)增穩(wěn)控制和協(xié)調(diào)方向舵轉(zhuǎn)彎的控制功能。
4 軟件設(shè)計
4.1 主程序設(shè)計

  主程序主要完成硬件的初始化、操作系統(tǒng)的初始化以及文件系統(tǒng)的初始化。
  在以上任務(wù)和中斷中,中斷的優(yōu)先級大于任務(wù)優(yōu)先級。而任務(wù)優(yōu)先級根據(jù)其特性設(shè)定為:縱向控制任務(wù)>橫向控制任務(wù)>軌跡控制任務(wù)>飛參記錄任務(wù)。
4.2 縱向控制任務(wù)設(shè)計
  縱向控制任務(wù)完成無人機飛行過程中縱向的姿態(tài)控制,保證了無人機處于可控的飛行速度及飛行高度狀態(tài)之中,不會發(fā)生失速現(xiàn)象。
4.3 橫向控制任務(wù)設(shè)計
  橫向控制任務(wù)完成無人機轉(zhuǎn)彎過程中的橫向姿態(tài)控制,控制無人機轉(zhuǎn)彎的速率,保證無人機在轉(zhuǎn)彎過程中的安全性,不會陷入“荷蘭滾”狀態(tài)中。
4.4 飛行軌跡控制設(shè)計
  飛行軌跡控制任務(wù)完成對飛機的飛行軌跡的控制。該任務(wù)通過將GPS提供的方位參數(shù)、高度計提供的高度參數(shù)、空速管提供的空速參數(shù)與預先設(shè)定在Flash中各階段的飛行參數(shù)相比對,得出高度、速度、方位的誤差傳遞給縱向控制任務(wù)和橫向控制任務(wù),以保證無人機按照預先設(shè)定的飛行參數(shù)飛行。
4.5 飛行參數(shù)記錄任務(wù)設(shè)計
  由于USOS II已經(jīng)提供了比較完善的文件系統(tǒng)管理,因此可采用類似于PC機Dos系統(tǒng)對文件的管理模式。本設(shè)計中,將存儲用戶預先設(shè)定各個飛行點參數(shù)的Flash部分設(shè)定為C盤,而存儲飛行數(shù)據(jù)的Flash存儲設(shè)定為D盤。在Flash的初始化成功后,即將以Flash為存儲媒介的C、D盤添加入文件系統(tǒng)中,并創(chuàng)建各個任務(wù)。
  飛行參數(shù)記錄任務(wù)將AD中斷、UART中斷、比較器中斷采集到的各種飛行數(shù)據(jù)進行計算、打包。為提高寫Nand Flash的效率,在內(nèi)存中開辟了兩個與Flash頁面大小相同、長度為512 B的緩沖區(qū),打包完畢的數(shù)據(jù)先存入其中一個緩沖區(qū)內(nèi)。當緩沖區(qū)存滿后,將緩沖區(qū)滿標志置位,并向飛行參數(shù)記錄任務(wù)發(fā)送消息;飛行參數(shù)記錄任務(wù)接收到緩沖區(qū)滿的消息后,會將對應(yīng)的緩沖區(qū)中的數(shù)據(jù)寫入Flash,并將緩沖區(qū)滿的標志清空。
4.6 中斷程序設(shè)計
  AD采樣中斷完成對高度、速度、航向、姿態(tài)、舵機位置的數(shù)據(jù)采集,比較器中斷完成對油門控制信號的數(shù)據(jù)采集,UART中斷完成對GPS定位信號的數(shù)據(jù)采集。
  由于采用了雙緩沖區(qū)設(shè)置,在中斷進行采集數(shù)據(jù)的情況下,不會影響飛行參數(shù)記錄任務(wù)將打包后的數(shù)據(jù)寫入Flash。
  目前該小型無人機飛行控制系統(tǒng)已經(jīng)安裝到試驗的小型無人機上進行多次試飛,經(jīng)過檢測,該系統(tǒng)運行穩(wěn)定、可靠。通過試驗取得小型高穩(wěn)定性無人機的飛行參數(shù),并通過PID控制律設(shè)計無人機姿態(tài)控制回路的方法,節(jié)省了人力、物力,為后續(xù)進行較大型無人機飛行控制系統(tǒng)的設(shè)計提供了經(jīng)驗。


參考文獻
[1] AP50控制系統(tǒng)技術(shù)手冊[EB/OL].Rev 030505,2003.
[2] 嵌入式軟件網(wǎng).USOS II嵌入式操作系統(tǒng)使用手冊[EB/OL].http://www.mcu-soft.com, 2006.
[3] 鄭玉全.微型搶占式實時操作系統(tǒng)的設(shè)計與實現(xiàn).單片機與嵌入式系統(tǒng),2004(1):27-31.
[4] SILICON LABORATORIES.C8051F120混合信號ISP?FLASH.微控制器數(shù)據(jù)手冊[EB/OL],Rev.1.1,2003,12.
[5] 鄭玉全,陳杰,沈為群,等.基于RTOS的渦噴發(fā)動機數(shù)字控制系統(tǒng)[J].電子技術(shù)應(yīng)用,2005,31(06):34-37.
[6] 李瑋.無人機飛行PID控制及智能PID控制技術(shù)研究.南京理工大學碩士畢業(yè)論文,2004(3):29-52.
[7] 陳杰,蔣玉峰.基于RTOS的飛行數(shù)據(jù)采集記錄統(tǒng).電子技術(shù)應(yīng)用,2007,33(10):21-25.

本站內(nèi)容除特別聲明的原創(chuàng)文章之外,轉(zhuǎn)載內(nèi)容只為傳遞更多信息,并不代表本網(wǎng)站贊同其觀點。轉(zhuǎn)載的所有的文章、圖片、音/視頻文件等資料的版權(quán)歸版權(quán)所有權(quán)人所有。本站采用的非本站原創(chuàng)文章及圖片等內(nèi)容無法一一聯(lián)系確認版權(quán)者。如涉及作品內(nèi)容、版權(quán)和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當措施,避免給雙方造成不必要的經(jīng)濟損失。聯(lián)系電話:010-82306118;郵箱:aet@chinaaet.com。