羅澤勇
(中國(guó)科學(xué)院長(zhǎng)春光學(xué)精密機(jī)械與物理研究所,吉林長(zhǎng)春130033)
一種小型無(wú)人機(jī)的機(jī)載計(jì)算機(jī)軟件系統(tǒng)設(shè)計(jì)
羅澤勇
(中國(guó)科學(xué)院長(zhǎng)春光學(xué)精密機(jī)械與物理研究所,吉林長(zhǎng)春130033)
針對(duì)某小型無(wú)人機(jī)的飛行任務(wù)要求,設(shè)計(jì)并實(shí)現(xiàn)了該無(wú)人機(jī)機(jī)載計(jì)算機(jī)軟件系統(tǒng).通過(guò)對(duì)該無(wú)人機(jī)航電系統(tǒng)結(jié)構(gòu)特點(diǎn)進(jìn)行分析,提出了軟件系統(tǒng)結(jié)構(gòu)的層次化設(shè)計(jì)方法,并利用模塊化設(shè)計(jì)思想對(duì)軟件系統(tǒng)進(jìn)行任務(wù)劃分.按照ORB機(jī)制設(shè)計(jì)了系統(tǒng)進(jìn)程間的通信方式,采用狀態(tài)機(jī)設(shè)計(jì)方法實(shí)現(xiàn)了系統(tǒng)的應(yīng)急策略.所設(shè)計(jì)的機(jī)載計(jì)算機(jī)軟件系統(tǒng)結(jié)構(gòu)優(yōu)良,層次清晰,具有高度可擴(kuò)展性和可繼承性.半物理仿真試驗(yàn)和外場(chǎng)試驗(yàn)結(jié)果表明,該機(jī)載計(jì)算機(jī)軟件系統(tǒng)功能正常,運(yùn)行穩(wěn)定.
小型無(wú)人機(jī);軟件系統(tǒng);系統(tǒng)架構(gòu);進(jìn)程間通信;狀態(tài)機(jī)
在過(guò)去的幾十年里,小型無(wú)人機(jī)在全世界的軍事和民用領(lǐng)域內(nèi)得到廣泛應(yīng)用.小型無(wú)人機(jī)具有靈活性高、隱蔽性好以及對(duì)燃料要求較低等優(yōu)勢(shì),能夠在惡劣(dirty)、枯燥(dull)、危險(xiǎn)(dangerous)的3D環(huán)境中執(zhí)行各種艱巨任務(wù)[1].現(xiàn)在其機(jī)載計(jì)算機(jī)軟件系統(tǒng)的設(shè)計(jì)已經(jīng)成為限制小型無(wú)人機(jī)向全自主、多任務(wù)、高安全方向發(fā)展的主要障礙[2].無(wú)人機(jī)機(jī)載計(jì)算機(jī)與大多數(shù)嵌入式系統(tǒng)一樣,大小有限、資源有限,但要求能夠滿(mǎn)足各種復(fù)雜條件實(shí)時(shí)應(yīng)用,因而其軟件系統(tǒng)的開(kāi)發(fā)是一個(gè)復(fù)雜的過(guò)程.在小型無(wú)人機(jī)機(jī)載計(jì)算機(jī)軟件系統(tǒng)設(shè)計(jì)過(guò)程中,需要重點(diǎn)考慮的問(wèn)題:(1)如何設(shè)計(jì)靈活、可擴(kuò)展的軟件系統(tǒng)架構(gòu)以滿(mǎn)足任務(wù)多樣性要求,以及越來(lái)越廣泛的傳感器處理要求[3];(2)無(wú)人機(jī)的廣泛應(yīng)用導(dǎo)致越來(lái)越多的飛行事故的出現(xiàn),頻繁的飛行事故率導(dǎo)致無(wú)人機(jī)在軍用和民用領(lǐng)域中受限[4-5],所以如何在設(shè)計(jì)中保證無(wú)人機(jī)的安全性和可靠性也是機(jī)載計(jì)算機(jī)軟件系統(tǒng)設(shè)計(jì)的一個(gè)重要任務(wù).
國(guó)內(nèi)文獻(xiàn)中關(guān)于機(jī)載軟件系統(tǒng)的研究大多數(shù)都是從特定平臺(tái)著手,介紹軟件具體實(shí)現(xiàn)方式,很少介紹軟件的結(jié)構(gòu)化設(shè)計(jì)方法.而國(guó)外文獻(xiàn)研究中更強(qiáng)調(diào)頂層的結(jié)構(gòu)設(shè)計(jì),美國(guó)斯坦福大學(xué)采用基于Server-Client的軟件架構(gòu)、Server建立與硬件層接口、Client建立與用戶(hù)層的接口,這種架構(gòu)能夠?qū)㈨攲尤蝿?wù)和底層服務(wù)隔離開(kāi)[6].本文借鑒了這種分層設(shè)計(jì)的方法,通過(guò)對(duì)功能模塊的層次劃分和任務(wù)劃分,在高實(shí)時(shí)性和高可靠性的嵌入式實(shí)時(shí)多任務(wù)操作系統(tǒng)的基礎(chǔ)上完成了多任務(wù)的并發(fā)設(shè)計(jì),確定了高度可擴(kuò)展的軟件系統(tǒng)的架構(gòu).引入以數(shù)據(jù)為中心的系統(tǒng)進(jìn)程間通信方式,增加了軟件系統(tǒng)的數(shù)據(jù)通信的可靠性和靈活性.本文通過(guò)軟件設(shè)計(jì)中充分考慮無(wú)人機(jī)在地面和空中的應(yīng)急情況處理,為提高無(wú)人機(jī)安全性和可靠性提供了另一種有效手段.
機(jī)載計(jì)算機(jī)軟件系統(tǒng)設(shè)計(jì)與航電系統(tǒng)結(jié)構(gòu)密不可分,圖1描述了該小型無(wú)人機(jī)航電系統(tǒng)的結(jié)構(gòu).整個(gè)航電系統(tǒng)以機(jī)載計(jì)算機(jī)為核心,各種傳感器、組合導(dǎo)航、數(shù)傳等航電設(shè)備通過(guò)串口與機(jī)載計(jì)算機(jī)進(jìn)行通信,共同完成無(wú)人機(jī)的傳感器數(shù)據(jù)采集、飛行控制和任務(wù)管理.機(jī)載計(jì)算機(jī)采用實(shí)時(shí)多任務(wù)操作系統(tǒng),處理通過(guò)各個(gè)傳感器采集到的數(shù)據(jù),進(jìn)行位置和姿態(tài)的預(yù)測(cè),實(shí)現(xiàn)飛控算法,將控制指令和動(dòng)力指令分別發(fā)送給執(zhí)行機(jī)構(gòu)和發(fā)動(dòng)機(jī)ECU,并通過(guò)數(shù)傳系統(tǒng)向地面站發(fā)送飛行狀態(tài)信息,同時(shí)利用數(shù)據(jù)記錄儀記錄相應(yīng)的飛行狀態(tài)數(shù)據(jù);組合導(dǎo)航系統(tǒng)包含三軸陀螺、三軸加速度計(jì)和GPS,用于測(cè)量無(wú)人機(jī)機(jī)體坐標(biāo)下的位置、速度和加速度等信息;空速計(jì)、壓力傳感器分別用于測(cè)量空速和氣壓高度信息;安控系統(tǒng)用于執(zhí)行緊急情況下的無(wú)人機(jī)應(yīng)急策略.
該小型無(wú)人機(jī)飛行任務(wù)要求:實(shí)現(xiàn)從自主滑跑起飛、爬升、姿態(tài)穩(wěn)定飛行到遙控降落;通過(guò)數(shù)傳系統(tǒng)將飛行任務(wù)狀態(tài)和通信鏈路本身狀態(tài)發(fā)送給地面站進(jìn)行監(jiān)測(cè);對(duì)各個(gè)航電設(shè)備進(jìn)行自檢測(cè)功能;通過(guò)飛行管理實(shí)現(xiàn)對(duì)多個(gè)任務(wù)的實(shí)時(shí)調(diào)度;能夠在航電設(shè)備故障狀態(tài)下進(jìn)行應(yīng)急處理.
系統(tǒng)的架構(gòu)是否合理以及模塊化設(shè)計(jì)是否清晰,是影響機(jī)載計(jì)算機(jī)軟件系統(tǒng)能否順利開(kāi)展詳細(xì)設(shè)計(jì)工作的主要因素.系統(tǒng)的架構(gòu)表示為系統(tǒng)的基本組件、組件之間的相互關(guān)系以及對(duì)這些組件管理的基本原則[7].優(yōu)良的軟件架構(gòu)能夠清楚地對(duì)系統(tǒng)進(jìn)行描述,有利于軟件的擴(kuò)展、測(cè)試和維護(hù).模塊化的目的是為了降低程序復(fù)雜度,減少程序的耦合程度,使程序設(shè)計(jì)、調(diào)試和維護(hù)等操作簡(jiǎn)單化.圖2為機(jī)載計(jì)算機(jī)軟件系統(tǒng)的層次化結(jié)構(gòu).根據(jù)功能需求,將機(jī)載計(jì)算機(jī)軟件系統(tǒng)劃分為驅(qū)動(dòng)層、數(shù)據(jù)處理層、控制層和應(yīng)用層4個(gè)層次.
從圖2中可以看出,軟件系統(tǒng)結(jié)構(gòu)的最底層為軟件的驅(qū)動(dòng)層,直接和硬件相關(guān),主要負(fù)責(zé)傳感器數(shù)據(jù)的采集、數(shù)傳通信數(shù)據(jù)的讀取、組合導(dǎo)航原始數(shù)據(jù)的采集、執(zhí)行機(jī)構(gòu)的控制等工作;驅(qū)動(dòng)層之上為數(shù)據(jù)處理層,數(shù)據(jù)處理層調(diào)用驅(qū)動(dòng)層模塊獲取原始數(shù)據(jù),對(duì)原始數(shù)據(jù)進(jìn)行解碼、變換等加工,將加工后的數(shù)據(jù)發(fā)布給控制層;控制層位于數(shù)據(jù)處理層之上,控制層需要的數(shù)據(jù)依賴(lài)于數(shù)據(jù)處理層,但是控制層不會(huì)與具體的數(shù)據(jù)處理任務(wù)耦合,而是通過(guò)對(duì)象請(qǐng)求代理進(jìn)行接口數(shù)據(jù)耦合,具體來(lái)說(shuō)是通過(guò)ORB機(jī)制為驅(qū)動(dòng)層和控制層之間提供通用的數(shù)據(jù)通信服務(wù),實(shí)現(xiàn)控制層和數(shù)據(jù)處理層數(shù)據(jù)的同步;軟件結(jié)構(gòu)的最上層為應(yīng)用層,根據(jù)功能需求進(jìn)行飛行任務(wù)管理,直接調(diào)用控制層的控制模塊實(shí)現(xiàn)自主起降、航跡飛行、區(qū)域偵察等特定任務(wù),同時(shí)進(jìn)行無(wú)人機(jī)狀態(tài)的切換.
3.1多任務(wù)劃分和管理
任務(wù)是能夠獨(dú)立執(zhí)行的一個(gè)功能或處理過(guò)程,是操作系統(tǒng)調(diào)度的基本單位,任務(wù)的合理劃分和優(yōu)先級(jí)的合理設(shè)置對(duì)保證系統(tǒng)的實(shí)時(shí)性至關(guān)重要.機(jī)載計(jì)算機(jī)軟件的設(shè)計(jì)采用了VxWorks實(shí)時(shí)操作系統(tǒng),該操作系統(tǒng)支持多任務(wù),并基于優(yōu)先級(jí)進(jìn)行任務(wù)調(diào)度.在多任務(wù)實(shí)時(shí)操作系統(tǒng)下進(jìn)行任務(wù)劃分需要遵循以下原則:
(1)功能獨(dú)立的操作劃分為一個(gè)任務(wù);
(2)功能聯(lián)系密切的操作劃為同一個(gè)任務(wù);
(3)I/O操作劃分為單獨(dú)任務(wù);
(4)周期性的操作作為任務(wù)來(lái)執(zhí)行;
(5)根據(jù)操作的緊急程度劃分為不同優(yōu)先級(jí)的任務(wù).
根據(jù)機(jī)載計(jì)算機(jī)軟件系統(tǒng)的層次架構(gòu)和任務(wù)劃分的原則,在機(jī)載計(jì)算機(jī)軟件系統(tǒng)中設(shè)計(jì)了不同優(yōu)先級(jí)的幾類(lèi)任務(wù)(如表1所示).表1中:傳感器數(shù)據(jù)采集、組合導(dǎo)航和舵機(jī)控制執(zhí)行I/O操作劃分為單獨(dú)的任務(wù);數(shù)傳通信作為周期性任務(wù);功能完整并具有大量運(yùn)算的飛行控制率計(jì)算作為獨(dú)立的任務(wù);飛行管理、應(yīng)急處理和數(shù)據(jù)記錄等操作功能獨(dú)立,也劃分為單獨(dú)的任務(wù).
機(jī)載計(jì)算機(jī)軟件系統(tǒng)中的多任務(wù)并發(fā)圖如圖3所示.多任務(wù)的并發(fā)執(zhí)行能夠提高任務(wù)調(diào)度的靈活性,總體上減少系統(tǒng)的執(zhí)行時(shí)間.在圖3中,數(shù)傳通信是地面站和無(wú)人機(jī)交互的直接通道,包括遙控任務(wù)和遙測(cè)任務(wù),這2個(gè)任務(wù)執(zhí)行周期設(shè)計(jì)為40ms;控制率計(jì)算任務(wù)實(shí)現(xiàn)自主滑跑和基本飛行模態(tài)的控制算法,應(yīng)具有較高優(yōu)先級(jí),執(zhí)行周期設(shè)計(jì)為20ms;傳感器數(shù)據(jù)采集、組合導(dǎo)航和舵機(jī)控制任務(wù)主要執(zhí)行I/O操作,設(shè)計(jì)為中斷驅(qū)動(dòng)方式的異步任務(wù);組合導(dǎo)航數(shù)據(jù)處理、傳感器數(shù)據(jù)處理、控制指令轉(zhuǎn)換等任務(wù)屬于重要數(shù)據(jù)獲取的中間層,執(zhí)行周期設(shè)計(jì)為40ms;飛行管理任務(wù)和應(yīng)急處理任務(wù)屬于非緊急任務(wù),執(zhí)行周期設(shè)計(jì)為80ms.
3.2以數(shù)據(jù)對(duì)象為中心的通信方式設(shè)計(jì)
進(jìn)程間通信是多任務(wù)系統(tǒng)設(shè)計(jì)的重要功能,在VxWorks操作系統(tǒng)中,任務(wù)取代了進(jìn)程的概念.機(jī)載計(jì)算機(jī)的軟件系統(tǒng)中采用了ORB機(jī)制實(shí)現(xiàn)多對(duì)多的任務(wù)間通信,ORB機(jī)制提供了開(kāi)放的對(duì)象通信的框架,以數(shù)據(jù)對(duì)象為中心,在不同任務(wù)間建立了數(shù)據(jù)交換的軟總線(xiàn),將數(shù)據(jù)和任務(wù)解耦合,對(duì)數(shù)據(jù)對(duì)象進(jìn)行封裝和管理.
機(jī)載計(jì)算軟件系統(tǒng)中通過(guò)Publish/Subscribe方法實(shí)現(xiàn)ORB機(jī)制.圖4表示采用Publish/Subscribe方法,實(shí)現(xiàn)不同任務(wù)間的數(shù)據(jù)通信.中間為對(duì)象請(qǐng)求代理,它將所有的交互的數(shù)據(jù)進(jìn)行分類(lèi)和封裝,確定不同的數(shù)據(jù)通道;消費(fèi)數(shù)據(jù)的任務(wù)(Subscriber)首先向?qū)ο蟠戆l(fā)生訂閱請(qǐng)求;生成數(shù)據(jù)的任務(wù)(Publisher)產(chǎn)生數(shù)據(jù)的同時(shí),將該事件發(fā)布出去;對(duì)象請(qǐng)求代理監(jiān)聽(tīng)到數(shù)據(jù)發(fā)布事件發(fā)生后,將該事件通知給所有訂閱該數(shù)據(jù)的任務(wù),訂閱數(shù)據(jù)的任務(wù)即可通過(guò)該數(shù)據(jù)通道獲得所需要的數(shù)據(jù).生成和消費(fèi)數(shù)據(jù)的任務(wù)彼此透明,生成和消費(fèi)過(guò)程不需要嚴(yán)格同步,通過(guò)采用互斥信號(hào)量和加鎖的方式保證對(duì)不同任務(wù)對(duì)數(shù)據(jù)的讀寫(xiě)不發(fā)生沖突,解決進(jìn)程間通信的數(shù)據(jù)一致性問(wèn)題;另外,這種處理方式以數(shù)據(jù)對(duì)象作為中心,當(dāng)需要新的數(shù)據(jù)結(jié)構(gòu)可以直接添加到ORB中,并且生產(chǎn)數(shù)據(jù)和消費(fèi)數(shù)據(jù)的任務(wù)可以根據(jù)需要被具有該數(shù)據(jù)接口的其他模塊替換,顯著增強(qiáng)了系統(tǒng)設(shè)計(jì)的獨(dú)立性和擴(kuò)展性.
3.3復(fù)雜應(yīng)急處理的狀態(tài)機(jī)設(shè)計(jì)
復(fù)雜情況下的安全保障是無(wú)人機(jī)系統(tǒng)面對(duì)的一個(gè)重大挑戰(zhàn)[8].尤其是在航電設(shè)備出現(xiàn)故障、復(fù)雜環(huán)境下數(shù)傳系統(tǒng)失靈等狀況下,做出合理的應(yīng)急決策是保證無(wú)人機(jī)和地面指揮、操作人員安全的重要手段.在機(jī)載計(jì)算機(jī)軟件系統(tǒng)設(shè)計(jì)過(guò)程中,針對(duì)自主滑跑和空中飛行過(guò)程中可能會(huì)出現(xiàn)的緊急情況制定了應(yīng)急策略.首先描述出可能出現(xiàn)故障情況和無(wú)人機(jī)所處的飛行狀態(tài),然后針對(duì)各個(gè)故障情況制定相應(yīng)的應(yīng)急策略,再通過(guò)狀態(tài)機(jī)直觀(guān)地給出緊急情況下?tīng)顟B(tài)的轉(zhuǎn)換關(guān)系,最后在機(jī)載計(jì)算機(jī)中將狀態(tài)機(jī)轉(zhuǎn)化為代碼.
(1)地面應(yīng)急處理
自主滑跑階段包括自主滑跑、手遙滑跑和應(yīng)急處理的3個(gè)狀態(tài),主要針對(duì)可能出現(xiàn)的數(shù)傳系統(tǒng)故障、無(wú)人機(jī)偏離跑道、超出決斷距離等情況進(jìn)行應(yīng)急處理.當(dāng)出現(xiàn)數(shù)傳故障、超出最大滑跑速度及超出最大滑跑距離的情況,關(guān)閉發(fā)動(dòng)機(jī),繼續(xù)自主糾偏;當(dāng)航向角超出允許范圍,認(rèn)為滑跑已經(jīng)偏離正常軌道,在關(guān)閉發(fā)動(dòng)機(jī)的情況下,進(jìn)行一定程度的剎車(chē)制動(dòng);當(dāng)超出滑跑允許最長(zhǎng)距離和側(cè)偏距離,認(rèn)為情況緊急,為避免嚴(yán)重事故發(fā)生,采取關(guān)閉發(fā)動(dòng)機(jī)、剎車(chē)剎死的應(yīng)急措施.具體的狀態(tài)機(jī)轉(zhuǎn)換過(guò)程如圖5所示.
(2)空中應(yīng)急處理
無(wú)人機(jī)在空中自主飛行過(guò)程中,各種航電設(shè)備一旦出現(xiàn)故障,都有可能導(dǎo)致嚴(yán)重的事故發(fā)生,在軟件設(shè)計(jì)通過(guò)實(shí)現(xiàn)完善的應(yīng)急策略能夠顯著地增加無(wú)人機(jī)的安全性.本文以數(shù)傳系統(tǒng)故障為例介紹應(yīng)急狀態(tài)機(jī)的設(shè)計(jì)過(guò)程.當(dāng)無(wú)人機(jī)在空中發(fā)生數(shù)傳故障的情況下,首先通過(guò)無(wú)人機(jī)當(dāng)前的飛行高度、飛行速度和飛行姿態(tài)判斷當(dāng)前處于何種飛行狀態(tài),并確定出應(yīng)急安全狀態(tài);然后根據(jù)當(dāng)前飛行狀態(tài)判斷能否進(jìn)入到應(yīng)急安全狀態(tài),若能進(jìn)入應(yīng)急安全狀態(tài),就切換到應(yīng)急安全狀態(tài)等待數(shù)傳故障恢復(fù),若不能進(jìn)入應(yīng)急安全狀態(tài)或者進(jìn)入應(yīng)急安全狀態(tài)以后數(shù)傳故障長(zhǎng)時(shí)間不能恢復(fù),就采取緊急處理措施,關(guān)閉發(fā)動(dòng)機(jī)開(kāi)傘降落.具體空中應(yīng)急的狀態(tài)機(jī)描述如圖6所示.
4.1半物理仿真
圖7為小型無(wú)人機(jī)半物理仿真的實(shí)驗(yàn)室環(huán)境.通過(guò)利用三軸轉(zhuǎn)臺(tái)、仿真計(jì)算機(jī)、視景仿真平臺(tái)等設(shè)備對(duì)無(wú)人機(jī)機(jī)載計(jì)算機(jī)軟件系統(tǒng)進(jìn)行測(cè)試.試驗(yàn)中不僅測(cè)試了基本的飛行模態(tài),還對(duì)加入干擾以及主要航電設(shè)備出現(xiàn)異常等情況進(jìn)行了模擬,通過(guò)試驗(yàn)數(shù)據(jù)分析,判定機(jī)載計(jì)算機(jī)軟件系統(tǒng)運(yùn)行是否穩(wěn)定,控制算法是否滿(mǎn)足要求以及應(yīng)急策略是否合理.
半物理仿真試驗(yàn)的主要測(cè)試項(xiàng)目及測(cè)試結(jié)果如表2所示.
4.2飛行試驗(yàn)
在外場(chǎng)飛行試驗(yàn)中,測(cè)試了包括平飛、定向飛、爬升、左盤(pán)旋、右盤(pán)旋、下滑等飛行模態(tài),這里僅列舉部分飛行模態(tài)的測(cè)試結(jié)果.橫坐標(biāo)表示數(shù)據(jù)點(diǎn),實(shí)際飛行過(guò)程中40ms產(chǎn)生一個(gè)數(shù)據(jù)點(diǎn),縱坐標(biāo)分別是滾轉(zhuǎn)、俯仰和偏航3個(gè)姿態(tài)角.無(wú)人機(jī)做30°航向角定向飛行,無(wú)人機(jī)姿態(tài)角響應(yīng)如圖8所示,從圖8中可以看出滾轉(zhuǎn)角控制穩(wěn)定,偏航角控制精度較高;無(wú)人機(jī)做-0.3°等俯仰角下滑,無(wú)人機(jī)姿態(tài)角響應(yīng)如圖9所示,從圖9中可以看出滾轉(zhuǎn)角控制穩(wěn)定,俯仰角控制角度與期望值吻合.整個(gè)飛行試驗(yàn)過(guò)程軟件系統(tǒng)未出現(xiàn)異常.
本文針對(duì)自主研發(fā)的小型無(wú)人機(jī)平臺(tái),進(jìn)行了機(jī)載計(jì)算機(jī)軟件系統(tǒng)的設(shè)計(jì),該機(jī)載計(jì)算機(jī)軟件系統(tǒng)結(jié)構(gòu)層次分明、模塊化清晰.利用松耦合的ORB通信機(jī)制,完成了機(jī)載計(jì)算機(jī)軟件系統(tǒng)內(nèi)部不同構(gòu)建的復(fù)雜交互.通過(guò)設(shè)計(jì)狀態(tài)機(jī)實(shí)現(xiàn)了地面和空中的復(fù)雜應(yīng)急策略,保證了無(wú)人機(jī)的安全性.從半物理試驗(yàn)和外場(chǎng)飛行試驗(yàn)的結(jié)果可以看出,機(jī)載計(jì)算機(jī)軟件系統(tǒng)的設(shè)計(jì)穩(wěn)定可靠,完全能夠滿(mǎn)足無(wú)人機(jī)飛行任務(wù)的要求.
[1] DANIELA MEOLA,LUIGI IANNELLI,LUIGI GLIELMO.Flight control system for small-size unmanned aerial vehicles:design and software-in-the-loop validation[C]//21st Mediterranean Conference on Control &Automation,Chaina:IEEE,2013:357-362.
[2] YI-RUI TANG,YANGMIN Li.The software architecture of a reconfigurable real-time onboard control system for a small UAV helicopter[C]//The 8th International Conference on Ubiquitous Robots and Ambient Intelligence,Incheon:IEEE,2011:228-233.
[3] JOHN TISDALE,ALLISON RYAN,MARCO ZENNARO,et al.The software architecture of the berkeley UAV platform[C]//Proceedings of the 2006IEEE International Conference on Control Applications,Munich:IEEE,2006:1420-1425.
[4] DAVID W KING,ALLEN BERTAPELLE,CHAD MOSES.UAV failure rate criteria for equivalent level of safety[C]//International Helicopter Safety Symposium,Montereal:American Helicoper Society,2005:269-381.
[5] JAMES T HING,PAUL YOH.Development of an unmanned aerial vehicle piloting system with integrated motion cueing for training and pilot evaluation[J].Journal of Intelligent and Robotic Systems International Inc,2008:3-19.
[6] JANG JS,C TOMLIN J.Design and implementation of a low cost,hierarchical and modular avionics architecture for the dragonFly UAVs[C]//Proceedings of AIAA Guidance,Navigation,and Control Conference,Minneapolis:AIAA,2002:4465-4477.
[7] FRED BRIGGS.UAV software architechure[C]//Infotech@Aerospace Conferences,California:AIAA,2012:2539.
[8] MIAOBO DONG,BEN M CHEN,GUOWEI CAI.Development of a real-time onboard and ground station software systerm for a UAV helicopter[J].Journal of Aerospace Computing,Information,and Communication,2007:933-955.
Design of an airborne computer software system for a small UAV
LUO Ze-yong
(Changchun Institute of Optics Fine Mechanics and Physics,Chinese Academy of Sciences,Changchun 130033,China)
An airborne computer software system was developed,which could be used for flight mission of a certain small UAV.For the structure of the avionics,a hierarchical software design method was proposed,and the software task component was divided by quoting the concept of modulization.The interprocess communication(IPC)was implemented according to ORB mechanism.The safety strategy was set up by state machine.The designed airborne computer software system has a good architecture with high scalability and inheritable.The entire software system has been successfully tested in both a hardware-in-the-loop simulation environment and actual field flights.The flight results have shown that the software system is competent and reliable enough to go on with automatic flight of the UAV.
UAV;software system;system architecture;IPC;state machine
TP 336;V 249 [學(xué)科代碼] 520·60 [
] A
(責(zé)任編輯:石紹慶)
1000-1832(2015)01-0064-07
10.16163/j.cnki.22-1123/n.2015.01.013
2013-12-30
中國(guó)科學(xué)院“三期創(chuàng)新”平臺(tái)資助項(xiàng)目;吉林省科技發(fā)展計(jì)劃項(xiàng)目(20100458).[作者簡(jiǎn)介] 羅澤勇(1984—),男,碩士,助理研究員,主要從事飛行仿真技術(shù)研究.