两个人的电影免费视频_国产精品久久久久久久久成人_97视频在线观看播放_久久这里只有精品777_亚洲熟女少妇二三区_4438x8成人网亚洲av_内谢国产内射夫妻免费视频_人妻精品久久久久中国字幕

基于arm和fpga的無人直升機(jī)導(dǎo)航與飛行控制系統(tǒng)的制作方法

文檔序號:6020037閱讀:207來源:國知局
專利名稱:基于arm和fpga的無人直升機(jī)導(dǎo)航與飛行控制系統(tǒng)的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及一種無人飛行器的導(dǎo)航與飛行控制技術(shù)。具體來說,是一種小型旋翼無人直升機(jī)的導(dǎo)航與自主飛行控制系統(tǒng)。
背景技術(shù)
無人直升機(jī)以其具有垂直起降、空中懸停、慢速飛行、機(jī)動性好等特性,填補(bǔ)了近地面環(huán)境智能化武器裝備的空白,成為當(dāng)前無人機(jī)發(fā)展的一個(gè)重要方向。在軍事方面,無人直升機(jī)既能執(zhí)行各種攻擊性任務(wù),又能執(zhí)行各種非攻擊性任務(wù),其中,包括戰(zhàn)場偵查、目標(biāo)監(jiān)視、目標(biāo)攻擊、以及通信中繼等;在民用方面,無人直升機(jī)可用于大地測量、氣象觀測、城市環(huán)境監(jiān)測、交通監(jiān)控、地球資源勘探和森林防火等。導(dǎo)航是無人直升機(jī)的關(guān)鍵技術(shù)之一,它猶如無人直升機(jī)的眼睛,能夠?qū)崟r(shí)地為無人機(jī)自主飛行提供外部導(dǎo)航參數(shù),因此可以說導(dǎo)航功能的優(yōu)劣直接決定了無人直升機(jī)的性能的好壞。捷聯(lián)慣性導(dǎo)航系統(tǒng)(SINS)具有自主導(dǎo)航能力,不受外部干擾的影響,能夠連續(xù)地提供載體位置、速度和載體信息,其數(shù)據(jù)更新率快,且在較短時(shí)間內(nèi)有較高的精度,但 SINS系統(tǒng)隨著工作時(shí)間的延長,導(dǎo)航參數(shù)誤差隨著時(shí)間積累增長,最終發(fā)散,需要外部觀測信息經(jīng)常修正SINS系統(tǒng),因此SINS系統(tǒng)單獨(dú)工作難以滿足用戶的精度要求。全球定位系統(tǒng) (GPS)的定位誤差不隨時(shí)間積累,已在軍民領(lǐng)域獲得了廣泛應(yīng)用。但是GPS的不足之處在于它的自主性差,容易受到干擾,數(shù)據(jù)更新率低,單獨(dú)使用時(shí)難以滿足高速、實(shí)時(shí)導(dǎo)航的要求。 要使導(dǎo)航系統(tǒng)性能得到提高,僅靠提高單一導(dǎo)航系統(tǒng)的精度,不僅在技術(shù)上難度很大,而且無法滿足高精度、低成本、體積小等多方面的要求。SINS與GPS組成的導(dǎo)航系統(tǒng)可以克服兩者單獨(dú)工作的缺點(diǎn),再加上磁阻傳感器、氣壓高度計(jì)和聲納高度計(jì)的輔助校正,可以獲得高精度的導(dǎo)航效果。目前,多傳感器組合導(dǎo)航系統(tǒng)已成為現(xiàn)有的最可靠和最穩(wěn)定的組合導(dǎo)航系統(tǒng)。無人直升機(jī)的控制也是無人直升機(jī)技術(shù)的一個(gè)難點(diǎn)問題。無人直升機(jī)是一個(gè)高度非線性、開環(huán)不穩(wěn)定、具有不確定性、強(qiáng)耦合的復(fù)雜系統(tǒng),對氣動環(huán)境的變化和外部擾動非常敏感等。因此,無人直升機(jī)作為被控對象的控制器設(shè)計(jì)是控制理論的難點(diǎn)之一。隨著小型無人直升機(jī)的應(yīng)用越來越廣泛,無人直升機(jī)的控制已經(jīng)成為一個(gè)國際性的研究熱點(diǎn)。無人直升機(jī)機(jī)飛行控制計(jì)算機(jī)大致可以分成三大類以PC/104工控機(jī)為核心的飛行控制計(jì)算機(jī);以單片機(jī)、數(shù)字信號處理器(DSP)為核心的飛行控制計(jì)算機(jī);以專用嵌入式微處理器為核心的飛行控制計(jì)算機(jī)。PC/104模塊的主要缺點(diǎn)是功耗較高,不利于微小型無人機(jī)低功耗設(shè)計(jì),而且器件成本較高,結(jié)構(gòu)也不夠緊湊;DSP在一些通用性的應(yīng)用方面與 CPU有所差異,一般很少用到嵌入式操作系統(tǒng),也缺乏一些通用的應(yīng)用軟件的支持,因此不利于實(shí)現(xiàn)復(fù)雜的應(yīng)用設(shè)計(jì),如網(wǎng)絡(luò)協(xié)議、多線程任務(wù)處理。

發(fā)明內(nèi)容
針對上述現(xiàn)有技術(shù),本發(fā)明提供一種基于ARM和FPGA的無人直升機(jī)的導(dǎo)航與自主飛行控制系統(tǒng),并且實(shí)現(xiàn)無人機(jī)的導(dǎo)航與自主飛行。本發(fā)明以無人直升機(jī)為載體,搭建了集飛行器導(dǎo)航與控制等相關(guān)理論問題研究、數(shù)據(jù)采集、信息傳遞、嵌入式控制于一體的一整套飛行控制系統(tǒng)軟硬件系統(tǒng)。為了解決上述技術(shù)問題,本發(fā)明一種基于ARM和FPGA的無人直升機(jī)導(dǎo)航與飛行控制系統(tǒng)予以實(shí)現(xiàn)的技術(shù)方案是包括PC機(jī)、組合導(dǎo)航子系統(tǒng)、供電模塊和控制器;所述組合導(dǎo)航子系統(tǒng)有傳感器組構(gòu)成,所述傳感器組包括GPS、陀螺儀、加速度計(jì)、磁阻傳感器、氣壓高度計(jì)和聲納高度計(jì);所述控制器包括主控制器和舵機(jī)控制器;所述主控制器采用ARM微處理器用于運(yùn)行組合導(dǎo)航算法和飛行控制PID算法,同時(shí)完成對所述GPS、氣壓高度計(jì)和聲納高度計(jì)的數(shù)據(jù)采集;所述主控制器通過串口獲取GPS的數(shù)據(jù),所述主控制器通過SPI總線接口獲得數(shù)字氣壓高度計(jì)的數(shù)據(jù),所述主控制器通過IIC總線獲得聲納高度計(jì)的數(shù)據(jù);所述舵機(jī)控制器采用FPGA用于實(shí)現(xiàn)所述陀螺儀、加速度計(jì)和磁阻傳感器的數(shù)據(jù)采集,并在自主飛行模式根據(jù)主控制器給定的控制指令產(chǎn)生相應(yīng)的PWM信號控制舵機(jī)組,在遙控飛行模式根據(jù)所述遙控接收機(jī)輸出的PWM信號控制所述舵機(jī)組,以及根據(jù)遙控接收機(jī)的飛行模式切換信號實(shí)現(xiàn)無人直升機(jī)在自主飛行模式與遙控飛行模式之間的切換;所述主控制器通過并行總線與所述FPGA器件進(jìn)行通信,將所述陀螺儀、加速度計(jì)和磁阻傳感器輸出的模擬信號通過模/數(shù)轉(zhuǎn)換器ADC進(jìn)行模/數(shù)轉(zhuǎn)換,然后通過SPI總線接口與FPGA器件相連接;所述FPGA器件將采集到的陀螺儀、加速度計(jì)和磁阻傳感器數(shù)據(jù)經(jīng)過并行總線傳給所述主控制器,進(jìn)行無人直升機(jī)的姿態(tài)解算及控制運(yùn)算。與現(xiàn)有技術(shù)相比,本發(fā)明的有益效果是由于,嵌入式ARM (Advanced RISC Machines)微處理器具有體系結(jié)構(gòu)可擴(kuò)展性強(qiáng)、 功耗低、體積小、性價(jià)比高、功能豐富、接口完善和支持管理實(shí)時(shí)多任務(wù)等特點(diǎn);FPGA(Field -Programmable Gate Array)內(nèi)部硬件結(jié)構(gòu)可通過軟件靈活配置,有集成度高和功耗低等特點(diǎn);可以在不修改硬件電路的前提下修改相應(yīng)的硬件功能;FPGA支持并行運(yùn)算,同時(shí)可以進(jìn)行數(shù)據(jù)采集,飛行模式切換以及舵機(jī)控制的功能,可以在同一時(shí)刻輸出多路PWM信號, 并且彼此之間互不影響。本發(fā)明采用ARM和FPGA的硬件架構(gòu)平臺,不僅降低了系統(tǒng)的功耗和體積,還提高了系統(tǒng)的實(shí)時(shí)性。由于LINUX嵌入式操作系統(tǒng)支持多線程任務(wù)和應(yīng)用程序的開發(fā),本發(fā)明的硬件平臺支持后期開發(fā)各種應(yīng)用程序,可擴(kuò)展性強(qiáng)。本發(fā)明中采用ARM為處理器作為主控制器,運(yùn)行組合導(dǎo)航算法和飛行控制PID算法,同時(shí)完成對GPS、氣壓高度計(jì)和聲納高度計(jì)的數(shù)據(jù)采集。FPGA作為舵機(jī)控制器,實(shí)現(xiàn)陀螺儀、加速度計(jì)和磁阻傳感器的數(shù)據(jù)采集,舵機(jī)控制以及自主飛行模式與遙控飛行模式的切換。本發(fā)明中的組合導(dǎo)航子系統(tǒng)硬件部分由低成本的GPS、陀螺儀、加速度計(jì)、磁阻傳感器、氣壓高度計(jì)和聲納高度計(jì)組成,軟件部分采用緊密組合的GPS和SINS作為主濾波器, 并且以磁阻傳感器、氣壓高度計(jì)和聲納高度計(jì)作為輔助濾波器,大大提高了導(dǎo)航的精度和穩(wěn)定性,并且降低了成本。本發(fā)明的控制目標(biāo)是在滿足直升機(jī)穩(wěn)定可控的前提下,構(gòu)建直升機(jī)發(fā)動機(jī)轉(zhuǎn)速閉環(huán)控制回路,實(shí)現(xiàn)對直升機(jī)最基本的控制;在發(fā)動機(jī)轉(zhuǎn)速可控的前提下,構(gòu)建直升機(jī)姿態(tài)和航向閉環(huán)控制回路,改善直升機(jī)的操縱性能,穩(wěn)定直升機(jī)的姿態(tài)和航向;利用組合導(dǎo)航子系統(tǒng)提供的參數(shù)對直升機(jī)的高度與位置進(jìn)行控制,使直升機(jī)具有保持高度和位置的懸停飛行;在實(shí)現(xiàn)直升機(jī)懸停控制的基礎(chǔ)上,利用組合導(dǎo)航子系統(tǒng)提供的導(dǎo)航參數(shù),使直升機(jī)按預(yù)先設(shè)定的飛行路徑實(shí)現(xiàn)航線飛行。本發(fā)明對于中國無人直升機(jī)自主飛行控制系統(tǒng)研究的發(fā)展具有十分重要的意義。 本發(fā)明具有國際先進(jìn)水平,不僅可以提高國內(nèi)無人直升機(jī)控制的水平,滿足國內(nèi)軍用市場的需求,還可參與國際競爭。同時(shí)能為多無人機(jī)協(xié)調(diào)控制系統(tǒng)的研究與發(fā)展打下良好的試驗(yàn)平臺基礎(chǔ),為無人直升機(jī)自主飛行控制系統(tǒng)的產(chǎn)業(yè)化做好了準(zhǔn)備。本發(fā)明不但具有上述的社會效益而且還具有重大的經(jīng)濟(jì)價(jià)值。無人直升機(jī)以其具有垂直起降、空中懸停、慢速飛行、機(jī)動性好等特性,在軍事和民用方面具有很大的潛在價(jià)值。在軍事方面,無人直升機(jī)既能執(zhí)行各種攻擊性任務(wù),又能執(zhí)行各種非攻擊性任務(wù),其中, 包括戰(zhàn)場偵查、目標(biāo)監(jiān)視、目標(biāo)攻擊、以及通信中繼等,無人直升機(jī)的使用可避免在戰(zhàn)爭中造成的人員傷亡,從而降低戰(zhàn)爭的經(jīng)濟(jì)成本;在民用方面,無人直升機(jī)可用于大地測量、氣象觀測、城市環(huán)境監(jiān)測、交通監(jiān)控、地球資源勘探和森林防火等,同樣具有很大的經(jīng)濟(jì)價(jià)值。


圖1是本發(fā)明一種無人直升機(jī)的導(dǎo)航與自主飛行控制系統(tǒng)的結(jié)構(gòu)框圖;圖2是本發(fā)明中組合導(dǎo)航子系統(tǒng)的基本結(jié)構(gòu)框圖;圖3是本發(fā)明中主控制器的總體結(jié)構(gòu)框圖;圖4是本發(fā)明中舵機(jī)控制器的總體結(jié)構(gòu)框圖;圖5是本發(fā)明中主控制器控制流程圖;圖6是本發(fā)明中舵機(jī)控制器控制流程圖。
具體實(shí)施例方式如圖1所示,本發(fā)明一種基于ARM和FPGA的無人直升機(jī)導(dǎo)航與飛行控制系統(tǒng)的結(jié)構(gòu)包括PC機(jī)、組合導(dǎo)航子系統(tǒng)、供電模塊和控制器。所述組合導(dǎo)航子系統(tǒng)有傳感器組構(gòu)成。所述傳感器組包括GPS、陀螺儀、加速度計(jì)、磁阻傳感器、氣壓高度計(jì)和聲納高度計(jì)。所述控制器包括主控制器和舵機(jī)控制器,采用ARM和FPGA的硬件架構(gòu)方案,選用ARM微處理器作為主控制器,選用FPGA作為舵機(jī)控制器,所述主控制器采用ARM微處理器用于運(yùn)行組合導(dǎo)航算法和飛行控制PID算法,同時(shí)完成對所述GPS、氣壓高度計(jì)和聲納高度計(jì)的數(shù)據(jù)采集。所述主控制器通過串口獲取GPS的數(shù)據(jù),所述主控制器通過SPI總線接口獲得數(shù)字氣壓高度計(jì)的數(shù)據(jù),所述主控制器通過IIC總線獲得聲納高度計(jì)的數(shù)據(jù)。所述舵機(jī)控制器采用FPGA用于實(shí)現(xiàn)所述陀螺儀、加速度計(jì)和磁阻傳感器的數(shù)據(jù)采集,并在自主飛行模式根據(jù)主控制器給定的控制指令產(chǎn)生相應(yīng)的PWM信號控制舵機(jī)組。遙控接收機(jī)輸出的PWM信號通過FPGA測量其占空比,然后將控制器的自主控制信與地面的遙控信號進(jìn)行累加,得到當(dāng)前舵機(jī)的控制信號,輸出至FPGA控制舵機(jī)的動作。 FPGA器件內(nèi)運(yùn)行陀螺儀、加速度計(jì)、磁阻傳感器的數(shù)據(jù)采集程序,遙控接收機(jī)輸出的PWM信號測量程序以及舵機(jī)控制程序。在遙控飛行模式時(shí),F(xiàn)PGA根據(jù)遙控接收機(jī)輸出的PWM信號控制所述舵機(jī)組,以及根據(jù)所述遙控接收機(jī)的飛行模式切換信號實(shí)現(xiàn)無人直升機(jī)在自主飛行模式與遙控飛行模式之間的切換;所述主控制器通過并行總線與所述FPGA器件進(jìn)行通信,將所述陀螺儀、加速度計(jì)和磁阻傳感器輸出的模擬信號通過模/數(shù)轉(zhuǎn)換器ADC進(jìn)行模/數(shù)轉(zhuǎn)換,然后通過SPI總線接口與FPGA器件相連接;所述FPGA器件將采集到的陀螺儀、加速度計(jì)和磁阻傳感器數(shù)據(jù)經(jīng)過并行總線傳給所述主控制器,進(jìn)行無人直升機(jī)的姿態(tài)解算及控制運(yùn)算。下面結(jié)合附圖對本發(fā)明作進(jìn)一步詳述。圖1示出了本發(fā)明無人直升機(jī)導(dǎo)航與飛行控制系統(tǒng)結(jié)構(gòu)框圖。由以ARM微處理器作為主控制器的PXA270,F(xiàn)PGA作為舵機(jī)控制器的EP1C3T144,傳感器組,供電模塊以及舵機(jī)組構(gòu)成。主控制器通過串口獲取GPS的數(shù)據(jù),通過SPI總線接口獲得數(shù)字氣壓高度計(jì)的數(shù)據(jù),通過IIC總線獲得聲納高度計(jì)的數(shù)據(jù),主控制器通過并行總線與舵機(jī)控制器FPGA進(jìn)行通信,為了提高總線的驅(qū)動能力,在PXA270和EP1C3T144之間的并行總線上增加了總線驅(qū)動模塊。模擬量輸出的陀螺儀和加速度計(jì)通過ADC芯片AD7927進(jìn)行A/D轉(zhuǎn)換,然后通過SPI 總線接口與舵機(jī)控制器FPGA相連接,模擬量輸出的磁阻傳感器通過ADC芯片ADS8343進(jìn)行 A/D轉(zhuǎn)換,F(xiàn)PGA采集到的傳感器數(shù)據(jù)經(jīng)過并行總線傳給主控制器,進(jìn)行無人直升機(jī)的姿態(tài)解算及控制運(yùn)算。遙控接收機(jī)輸出的PWM信號通過數(shù)字隔離器ADUM1400隔離后與FPGA線連接,F(xiàn)PGA測量遙控接收機(jī)PWM信號的占空比,然后將控制器的自主控制信與地面的遙控信號進(jìn)行累加,得到當(dāng)前舵機(jī)的控制信號,輸出至FPGA控制舵機(jī)的動作。遙控接收機(jī)輸出的飛行模式切換信號通過數(shù)字隔離器ADUM1400隔離后與FPGA相連接,F(xiàn)PGA根據(jù)輸入的切換信號完成無人直升機(jī)自主飛行模式和遙控飛行模式的切換。所述的傳感器組包括全球定位系統(tǒng)GPS,氣壓高度計(jì),聲納高度計(jì),陀螺儀,加速度計(jì)和磁阻傳感器。其中,全球定位系統(tǒng)GPS選用Fastrax公司的UP500GPS模塊,其輸出為高電平3. 3V的CMOS電平,通過MAX3232接口轉(zhuǎn)換為ARM可接收的RS-232電平,接入ARM 的UARTl通道。氣壓高度計(jì)采用芬蘭VTI公司生產(chǎn)的數(shù)字壓力傳感器SCP1000-D01,其輸出接口為SPI總線,輸出范圍為0 3. 3V,可直接與ARM的SPI總線連接。聲納高度計(jì)采用 SRF08超聲測距模塊,其輸出為0 5V的電壓信號,輸出接口為IIC總線,而PXA 270的IIC 總線接口的輸入范圍為0 3. 3V,因此通過2N7002進(jìn)行電壓轉(zhuǎn)換,轉(zhuǎn)換到與PXA270兼容的 0 3. 3V之間。陀螺儀采用美國ADI公司推出的新型單片偏航角速度陀螺儀ADXRS610,其輸出范圍為0 5V。加速度計(jì)采用ADI公司生產(chǎn)的ADXL330三軸iMEMS型IC芯片加速度計(jì),其輸出范圍為0 3. 3V。陀螺儀和加速度計(jì)直接接到A/D轉(zhuǎn)換器AD7927的模擬輸入端。磁阻傳感器選用的是Honeywell公司生產(chǎn)的HMC2003三軸磁阻傳感器,屬于磁阻式磁強(qiáng)計(jì),可測量χ,y, ζ三軸的磁場分量。所述舵機(jī)組由螺距舵、副翼舵、升降舵、尾舵和油門舵組成,其中,所述螺距舵、 副翼舵和升降舵均選用Futaba S9252,所述尾舵選用Futaba S9254,所述油門舵選用 FutabaS3001 ;所述遙控接收機(jī)為Futaba公司的6通道接收機(jī),接收地面遙控的信號,輸入到FPGA器件。所述遙控接收機(jī)輸出的PWM信號通過一數(shù)字隔離器ADUM1400隔離后與所述 FPGA器件相連接,所述FPGA器件根據(jù)輸入的切換信號完成無人直升機(jī)自主飛行模式和遙控飛行模式的切換;所述FPGA器件測量遙控接收機(jī)PWM信號的占空比,然后將舵機(jī)控制器的自主控制信號與地面的遙控信號進(jìn)行累加,得到當(dāng)前舵機(jī)的控制信號,輸出至舵機(jī)組,從而控制舵機(jī)的動作。圖2示出了本發(fā)明中組合導(dǎo)航子系統(tǒng)的基本結(jié)構(gòu)框圖。由所述GPS、陀螺儀和加速度計(jì)構(gòu)成一緊組合卡爾曼濾波器,由所述磁阻傳感器、氣壓高度計(jì)和聲納高度計(jì)構(gòu)成一無軌跡卡爾曼濾波器;所述組合導(dǎo)航子系統(tǒng)利用所述陀螺儀和加速度計(jì)的慣性測量輸出的無人直升機(jī)的姿態(tài)角速率和加速度信息進(jìn)行慣性導(dǎo)航系統(tǒng)SINS解算來獲得無人直升機(jī)的位置、速度和姿態(tài)信息,慣性導(dǎo)航系統(tǒng)SINS解算完成以后,主控制器利用緊組合卡爾曼濾波器進(jìn)行第一次卡爾曼濾波,將GPS的偽距觀測量、偽距率觀測量與根據(jù)慣性導(dǎo)航系統(tǒng)SINS 解算得到的偽距計(jì)算量、偽距率計(jì)算量的差值作為卡爾曼濾波器的輸入值,估算出誤差值用于修正導(dǎo)航參數(shù);利用上述反饋校正后得到的無人直升機(jī)的姿態(tài)角將磁阻傳感器的機(jī)體坐標(biāo)系下的三維磁場信息轉(zhuǎn)化為水平坐標(biāo)系下的磁場信息,并計(jì)算得到無人直升機(jī)的航向角,然后將慣性導(dǎo)航系統(tǒng)SINS和磁阻傳感器進(jìn)行航向角誤差方程組合,利用無軌跡卡爾曼濾波器進(jìn)行無軌跡卡爾曼濾波,估計(jì)出無人直升機(jī)的姿態(tài)誤差,對慣性導(dǎo)航系統(tǒng)SINS的航向角進(jìn)行反饋校正;同時(shí)在第一次卡爾曼濾波完成以后,氣壓高度計(jì)和聲納高度計(jì)的高度信息通過該無軌跡卡爾曼濾波器對慣性導(dǎo)航系統(tǒng)SINS進(jìn)行高度誤差校正。圖3示出了本發(fā)明中的主控制器總體結(jié)構(gòu)框圖,所述ARM微處理器采用Intel 的Xscale型處理器PXA270具有三個(gè)UART接口、一個(gè)IIC接口和兩個(gè)SPI接口,一個(gè)以太網(wǎng)接口 ;系統(tǒng)擴(kuò)展了 64Mbyte的SDRAM,64Mbyte的SDRAM部分由2片16位的SDRAM 芯片HY57V561620FTP-H組成32位接口,作為ARM最小系統(tǒng)的動態(tài)存儲器;主控制器擴(kuò)展了 32Mbyte的Nor Flash, 32Mbyte Nor Flash靜態(tài)存儲部分采用2片16M容量的 IntelE28F128J3A組成32位接口,存儲啟動引導(dǎo)程序Boot loader、Linux系統(tǒng)內(nèi)核以及根文件系統(tǒng);主控制器外部還擴(kuò)展了 64M的Nand Flash,64M的Nand Flash采用一片 K29FXX08,用來存儲控制器的應(yīng)用程序。圖4示出了本發(fā)明中的舵機(jī)控制器總體結(jié)構(gòu)框圖。所述舵機(jī)控制器包括由FPGA 器件內(nèi)部邏輯實(shí)現(xiàn)的舵機(jī)控制模塊和傳感器數(shù)據(jù)采集模塊及FPGA器件的外圍硬件。所述舵機(jī)控制模塊根據(jù)主控制器的舵機(jī)控制編碼指令,從而控制多個(gè)舵機(jī)運(yùn)轉(zhuǎn); 并采集多路遙控PWM信號和遙控飛行/自主飛行切換信號;FPGA器件的外圍硬件用于輸入信號的隔離處理和輸出信號的隔離驅(qū)動等。在自主飛行模式時(shí),主控制器輸出的控制指令通過并行總線發(fā)送給FPGA,F(xiàn)PGA接收到控制指令后,首先把控制指令存儲在內(nèi)部構(gòu)造的雙口 RAM內(nèi),然后對控制指令進(jìn)行解析,產(chǎn)生相應(yīng)的PWM控制信號,PWM信號通過數(shù)字隔離器 ADUM1400給舵機(jī),控制舵機(jī)動作。在遙控飛行模式時(shí),遙控接收機(jī)輸出的5路舵機(jī)控制PWM 信號通過數(shù)字隔離器ADUM1400隔離后與FPGA線連接,F(xiàn)PGA測量遙控接收機(jī)PWM信號的占空比,然后將控制器的自主控制信號與地面的遙控信號進(jìn)行累加,得到當(dāng)前舵機(jī)的控制信號,輸出至FPGA,F(xiàn)PGA產(chǎn)生5路的PWM信號通過隔離器ADUM1400輸出到舵機(jī),控制舵機(jī)的動作。遙控接收機(jī)輸出的1路PWM信號為飛行模式切換信號,通過數(shù)字隔離器ADUM1400隔離后與FPGA相連接,F(xiàn)PGA根據(jù)輸入的切換信號的占空比,完成無人直升機(jī)自主飛行模式和遙控飛行模式的切換。數(shù)字隔離器ADUM1400的一次側(cè)由系統(tǒng)的電源模塊供電,數(shù)字隔離器的二次側(cè)由遙控接收機(jī)供電。所述傳感器數(shù)據(jù)采集模塊實(shí)現(xiàn)模/數(shù)轉(zhuǎn)換器ADC接口 SPI總線的擴(kuò)展,從而使加速度計(jì)、陀螺儀輸出的模擬信號經(jīng)過AD7927轉(zhuǎn)換為數(shù)字信號,數(shù)字信號通過SPI接口傳送給FPGA ;;同時(shí),磁阻傳感器輸出的模擬信號經(jīng)過ADS8343進(jìn)行A/D轉(zhuǎn)換為數(shù)字信號,數(shù)字信號通過SPI接口傳送給FPGA ;并且在所述FPGA器件內(nèi)部構(gòu)造有雙口 RAM存儲器,從而將采集到的傳感器數(shù)據(jù)存儲在所述的雙口 RAM存儲器內(nèi),通過并行總線傳給主控制器ARM。
嚴(yán)格意義上FPGA的實(shí)現(xiàn)是屬于硬件實(shí)現(xiàn),因?yàn)镕PGA的程序下載配置之后可以認(rèn)為是硬件的,包括接收發(fā)送主控制器指令編碼、分析編碼、控制模式切換、數(shù)據(jù)采集、狀態(tài)控制等,全部采用硬件邏輯實(shí)現(xiàn),并非傳統(tǒng)軟件實(shí)現(xiàn)時(shí)的按指令周期順序執(zhí)行,而是根據(jù)狀態(tài)變化執(zhí)行。在本發(fā)明的一種基于ARM和FPGA的無人直升機(jī)導(dǎo)航與飛行控制系統(tǒng)硬件環(huán)境的基礎(chǔ)上,如何設(shè)計(jì)其中主控制器的流程屬于本技術(shù)領(lǐng)域內(nèi)公知慣用的技術(shù)手段。下面所提供的一種主控制器及舵機(jī)控制器的流程是為了理解的方便,絕不是限制本發(fā)明。圖5示出了本發(fā)明中主控制器的一種流程圖。程序進(jìn)行初始化以后,創(chuàng)建傳感器數(shù)據(jù)采集子線程、控制算法子線程,并且,創(chuàng)建一塊可擴(kuò)展的公共數(shù)據(jù)存儲空間來存儲最新的飛行數(shù)據(jù);傳感器數(shù)據(jù)采集子線程采用中斷觸發(fā)模式,子線程在進(jìn)行串口、SPI、IIC、并行總線以及相應(yīng)的傳感器設(shè)置之后進(jìn)入循環(huán)等待,利用主控制器的中斷服務(wù)程序處理經(jīng)串口輸入的GPS,氣壓高度計(jì)、聲納高度計(jì)的數(shù)據(jù),以及從并行總線輸入的陀螺儀,加速度計(jì)和磁阻傳感器數(shù)據(jù)。當(dāng)某一傳感器數(shù)據(jù)采集子線程進(jìn)入中斷服務(wù)程序以后,其他中斷使能寄存器均置位,禁止進(jìn)入中斷,然后中斷服務(wù)程序采集當(dāng)前傳感器的數(shù)據(jù)。在當(dāng)前數(shù)據(jù)采集子進(jìn)程退出中斷后,其他中斷使能寄存器清零,允許中斷,將最新的數(shù)據(jù)存儲至公共數(shù)據(jù)存儲空間,重新進(jìn)入循環(huán)等待;控制算法子線程首先進(jìn)行內(nèi)存空間以及并行總線的初始化,然后進(jìn)入定時(shí)器循環(huán)等待,定時(shí)器中斷時(shí)間設(shè)置為50ms,即每隔50ms控制算法子進(jìn)程從公共數(shù)據(jù)存儲空間獲取一次最新的傳感器數(shù)據(jù),進(jìn)行無人機(jī)的姿態(tài)解算,并利用卡爾曼濾波對數(shù)據(jù)進(jìn)行融合,依據(jù)PID控制方法對當(dāng)前的傳感器數(shù)據(jù)進(jìn)行計(jì)算,從而得到當(dāng)前飛機(jī)應(yīng)有的控制狀態(tài),通過并行總線向FPGA發(fā)送舵機(jī)組的控制信號,然后重新進(jìn)入定時(shí)器中斷循環(huán), 等待下一個(gè)周期中斷。圖6示出了本發(fā)明中舵機(jī)控制器的一種控制流程圖。主進(jìn)程對系統(tǒng)及程序進(jìn)行初始化,創(chuàng)建舵機(jī)控制子進(jìn)程,傳感器數(shù)據(jù)采集子進(jìn)程和遙控接收機(jī)輸出信號采集子進(jìn)程。 舵機(jī)控制子進(jìn)程通過并行總線接收主控制器的控制指令并存儲,直到所有的控制指令數(shù)據(jù)位接收完畢,分析指令,產(chǎn)生相應(yīng)的PWM舵機(jī)控制信號,并輸出5路PWM信號到舵機(jī)。傳感器數(shù)據(jù)采集子進(jìn)程,對采集陀螺儀ADXRS610和加速度計(jì)ADXL330的A/D轉(zhuǎn)換器AD7927的 SPI接口及傳感器進(jìn)行初始化以后,根據(jù)傳感器的輸出采集相應(yīng)傳感器的當(dāng)前輸出值,并分別存儲到相應(yīng)的存儲通道,對采集磁阻傳感器的ADC芯片ADS8343的SPI接口和傳感器進(jìn)行初始化以后,完成一次對傳感器的數(shù)據(jù)采集以后,發(fā)送給主控制器。如果為飛行模式切換指令,則根據(jù)遙控接收機(jī)的輸出信號判斷給定的飛行模式指令,并切換到相應(yīng)的飛行模式。盡管上面結(jié)合圖對本發(fā)明進(jìn)行了描述,但是本發(fā)明并不局限于上述的具體實(shí)施方式
,上述的具體實(shí)施方式
僅僅是示意性的,而不是限制性的,本領(lǐng)域的普通技術(shù)人員在本發(fā)明的啟示下,在不脫離本發(fā)明宗旨的情況下,還可以作出很多變形,這些均屬于本發(fā)明的保護(hù)之內(nèi)。
權(quán)利要求
1.一種基于ARM和FPGA的無人直升機(jī)導(dǎo)航與飛行控制系統(tǒng),包括PC機(jī)、組合導(dǎo)航子系統(tǒng)、供電模塊和控制器,其特征在于,所述組合導(dǎo)航子系統(tǒng)有傳感器組構(gòu)成,所述傳感器組包括GPS、陀螺儀、加速度計(jì)、磁阻傳感器、氣壓高度計(jì)和聲納高度計(jì);所述控制器包括主控制器和舵機(jī)控制器;所述主控制器采用ARM微處理器用于運(yùn)行組合導(dǎo)航算法和飛行控制PID算法,同時(shí)完成對所述GPS、氣壓高度計(jì)和聲納高度計(jì)的數(shù)據(jù)采集;所述主控制器通過串口獲取GPS的數(shù)據(jù),所述主控制器通過SPI總線接口獲得數(shù)字氣壓高度計(jì)的數(shù)據(jù),所述主控制器通過IIC總線獲得聲納高度計(jì)的數(shù)據(jù);所述舵機(jī)控制器采用FPGA用于實(shí)現(xiàn)所述陀螺儀、加速度計(jì)和磁阻傳感器的數(shù)據(jù)采集, 并在自主飛行模式根據(jù)主控制器給定的控制指令產(chǎn)生相應(yīng)的PWM信號控制舵機(jī)組,在遙控飛行模式根據(jù)所述遙控接收機(jī)輸出的PWM信號控制所述舵機(jī)組,以及根據(jù)遙控接收機(jī)的飛行模式切換信號實(shí)現(xiàn)無人直升機(jī)在自主飛行模式與遙控飛行模式之間的切換;所述主控制器通過并行總線與所述FPGA器件進(jìn)行通信,將所述陀螺儀、加速度計(jì)和磁阻傳感器輸出的模擬信號通過模/數(shù)轉(zhuǎn)換器ADC進(jìn)行模/數(shù)轉(zhuǎn)換,然后通過SPI總線接口與FPGA器件相連接;所述FPGA器件將采集到的陀螺儀、加速度計(jì)和磁阻傳感器數(shù)據(jù)經(jīng)過并行總線傳給所述主控制器,進(jìn)行無人直升機(jī)的姿態(tài)解算及控制運(yùn)算。
2.根據(jù)權(quán)利要求1所述的基于ARM和FPGA的無人直升機(jī)導(dǎo)航與飛行控制系統(tǒng),其特征在于,所述ARM微處理器采用Intel的Xscale型處理器PXA270具有三個(gè)UART接口、一個(gè)IIC 接口和兩個(gè)SPI接口,一個(gè)以太網(wǎng)接口 ;系統(tǒng)擴(kuò)展了 64Mbyte的SDRAM,64Mbyte的SDRAM部分由2片16位的SDRAM芯片HY57V561620FTP-H組成32位接口,作為ARM最小系統(tǒng)的動態(tài)存儲器;主控制器擴(kuò)展了 32Mbyte的Nor Flash, 32Mbyte Nor Flash靜態(tài)存儲部分采用2 片16M容量的Intel E28F128J3A組成32位接口,存儲啟動引導(dǎo)程序Boot loader、Linux 系統(tǒng)內(nèi)核以及根文件系統(tǒng);主控制器外部還擴(kuò)展了 64M的Nand Flash,64M的Nand Flash 采用一片K29FXX08,用來存儲控制器的應(yīng)用程序。
3.根據(jù)權(quán)利要求2所述的基于ARM和FPGA的無人直升機(jī)導(dǎo)航與飛行控制系統(tǒng),其特征在于,所述FPGA采用EP1C3T144,在PXA270和EP1C3T144之間的并行總線上設(shè)有總線驅(qū)動模塊。
4.根據(jù)權(quán)利要求1所述的基于ARM和FPGA的無人直升機(jī)導(dǎo)航與飛行控制系統(tǒng),其特征在于,所述舵機(jī)控制器包括由FPGA器件內(nèi)部邏輯實(shí)現(xiàn)的舵機(jī)控制模塊和傳感器數(shù)據(jù)采集模塊及FPGA器件的外圍硬件;所述舵機(jī)控制模塊根據(jù)主控制器的舵機(jī)控制編碼指令,從而控制多個(gè)舵機(jī)運(yùn)轉(zhuǎn);并采集多路遙控PWM信號和遙控飛行/自主飛行切換信號;所述傳感器數(shù)據(jù)采集模塊實(shí)現(xiàn)模/數(shù)轉(zhuǎn)換器ADC接口 SPI總線的擴(kuò)展,從而使加速度計(jì),陀螺儀和磁阻傳感器輸出的模擬信號經(jīng)過ADC進(jìn)行A/D轉(zhuǎn)換,轉(zhuǎn)換為數(shù)字信號,數(shù)字信號通過SPI接口傳送給FPGA ;所述FPGA器件內(nèi)部構(gòu)造有雙口 RAM存儲器,從而將采集到的傳感器數(shù)據(jù)存儲在所述的雙口 RAM存儲器內(nèi),通過并行總線傳給主控制器ARM ;FPGA器件的外圍硬件用于輸入信號的隔離處理和輸出信號的隔離驅(qū)動;在FPGA器件內(nèi)部構(gòu)造了一個(gè)串口模塊,所述串口模塊采用RS-232串口通信協(xié)議實(shí)現(xiàn)與PC機(jī)進(jìn)行連接。
5.根據(jù)權(quán)利要求1所述的基于ARM和FPGA的無人直升機(jī)導(dǎo)航與飛行控制系統(tǒng),其特征在于,所述舵機(jī)組由螺距舵、副翼舵、升降舵、尾舵和油門舵組成,其中,所述螺距舵、副翼舵和升降舵均選用Futaba S9252,所述尾舵選用Futaba S9254,所述油門舵選用 FutabaS3001 ;所述遙控接收機(jī)采用Futaba公司的6通道接收機(jī),接收地面遙控的信號,輸入到FPGA 器件;所述遙控接收機(jī)輸出的PWM信號通過一數(shù)字隔離器ADUM1400隔離后與所述FPGA器件相連接,所述FPGA器件根據(jù)輸入的切換信號完成無人直升機(jī)自主飛行模式和遙控飛行模式的切換;所述FPGA器件測量遙控接收機(jī)PWM信號的占空比,然后將舵機(jī)控制器的自主控制信號與地面的遙控信號進(jìn)行累加,得到當(dāng)前舵機(jī)的控制信號,輸出至舵機(jī)組,從而控制舵機(jī)的動作。
6.根據(jù)權(quán)利要求1所述的基于ARM和FPGA的無人直升機(jī)導(dǎo)航與飛行控制系統(tǒng),其特征在于,所述GPS采用Fastrax公司的UP500GPS模塊,其輸出為高電平3. 3V的CMOS電平,通過MAX3232接口轉(zhuǎn)換為ARM可接收的RS-232電平,接入ARM的UARTl通道;所述氣壓高度計(jì)采用芬蘭VTI公司生產(chǎn)的數(shù)字壓力傳感器SCP1000-D01,其輸出接口為SPI總線,輸出范圍為0 3. 3V,可直接與ARM的SPI總線連接;所述聲納高度計(jì)采用SRF08超聲測距模塊,其輸出為0 5V的電壓信號,輸出接口為 IIC總線,而PXA 270的IIC總線接口的輸入范圍為0 3. 3V,因此通過2N7002進(jìn)行電壓轉(zhuǎn)換,轉(zhuǎn)換到與PXA270兼容的0 3. 3V之間;所述陀螺儀采用美國ADI公司的單片偏航角速度陀螺儀ADXRS610,其輸出范圍為0 5V;所述加速度計(jì)采用ADI公司生產(chǎn)的ADXL330三軸iMEMS型IC芯片加速度計(jì),其輸出范圍為0 3. 3V ;所述陀螺儀和所述加速度計(jì)直接接到一 ADC轉(zhuǎn)換器AD7927的模擬輸入端;所述磁阻傳感器采用的是Honeywell公司生產(chǎn)的HMC2003三軸磁阻傳感器,屬于磁阻式磁強(qiáng)計(jì),可測量X,y, ζ三軸的磁場分量。
7.根據(jù)權(quán)利要求1所述的基于ARM和FPGA的無人直升機(jī)導(dǎo)航與飛行控制系統(tǒng),其特征在于,由所述GPS、陀螺儀和加速度計(jì)構(gòu)成一緊組合卡爾曼濾波器,由所述磁阻傳感器、氣壓高度計(jì)和聲納高度計(jì)構(gòu)成一無軌跡卡爾曼濾波器;所述組合導(dǎo)航子系統(tǒng)利用所述陀螺儀和加速度計(jì)的慣性測量輸出的無人直升機(jī)的姿態(tài)角速率和加速度信息進(jìn)行慣性導(dǎo)航系統(tǒng)SINS解算來獲得無人直升機(jī)的位置、速度和姿態(tài)信息,慣性導(dǎo)航系統(tǒng)SINS解算完成以后,主控制器利用緊組合卡爾曼濾波器進(jìn)行第一次卡爾曼濾波,將GPS的偽距觀測量、偽距率觀測量與根據(jù)慣性導(dǎo)航系統(tǒng)SINS解算得到的偽距計(jì)算量、偽距率計(jì)算量的差值作為卡爾曼濾波器的輸入值,估算出誤差值用于修正導(dǎo)航參數(shù);利用上述反饋校正后得到的無人直升機(jī)的姿態(tài)角將磁阻傳感器的機(jī)體坐標(biāo)系下的三維磁場信息轉(zhuǎn)化為水平坐標(biāo)系下的磁場信息,并計(jì)算得到無人直升機(jī)的航向角,然后將慣性導(dǎo)航系統(tǒng)SINS和磁阻傳感器進(jìn)行航向角誤差方程組合,利用無軌跡卡爾曼濾波器進(jìn)行無軌跡卡爾曼濾波,估計(jì)出無人直升機(jī)的姿態(tài)誤差,對慣性導(dǎo)航系統(tǒng)SINS的航向角進(jìn)行反饋校正;同時(shí)在第一次卡爾曼濾波完成以后,氣壓高度計(jì)和聲納高度計(jì)的高度信息通過該無軌跡卡爾曼濾波器對慣性導(dǎo)航系統(tǒng)SINS進(jìn)行高度誤差校正。
全文摘要
本發(fā)明公開了一種基于ARM和FPGA的無人直升機(jī)的導(dǎo)航與自主飛行控制系統(tǒng),包括PC機(jī)、組合導(dǎo)航子系統(tǒng)、供電模塊和控制器;組合導(dǎo)航子系統(tǒng)有傳感器組構(gòu)成,傳感器組包括GPS、陀螺儀、加速度計(jì)、磁阻傳感器、氣壓高度計(jì)和聲納高度計(jì);控制器包括主控制器和舵機(jī)控制器;主控制器采用ARM微處理器用于運(yùn)行組合導(dǎo)航算法和飛行控制PID算法,同時(shí)完成對GPS、氣壓高度計(jì)和聲納高度計(jì)的數(shù)據(jù)采集;舵機(jī)控制器采用FPGA用于實(shí)現(xiàn)陀螺儀、加速度計(jì)和磁阻傳感器的數(shù)據(jù)采集,經(jīng)并行總線傳給主控制器,進(jìn)行無人直升機(jī)的姿態(tài)解算及控制運(yùn)算。以無人直升機(jī)為載體,搭建了集飛行器導(dǎo)航與控制理論問題的研究、數(shù)據(jù)采集、信息傳遞、嵌入式控制于一體的一整套飛行控制系統(tǒng)的硬件環(huán)境。
文檔編號G01S19/40GK102360218SQ20111031350
公開日2012年2月22日 申請日期2011年10月14日 優(yōu)先權(quán)日2011年10月14日
發(fā)明者侯志寧, 吳宏碩, 宗群, 廖海林, 曲照偉 申請人:天津大學(xué)
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
1
当阳市| 韶山市| 肃北| 东辽县| 军事| 金昌市| 沂水县| 山西省| 阜新市| 镇坪县| 长丰县| 保定市| 葵青区| 辰溪县| 山西省| 杨浦区| 乐都县| 平昌县| 盐边县| 固镇县| 镇雄县| 象山县| 行唐县| 黄骅市| 巴林右旗| 盐源县| 河源市| 玛曲县| 霍林郭勒市| 冷水江市| 金沙县| 社旗县| 滁州市| 舞阳县| 普宁市| 永泰县| 仙居县| 永清县| 巴林右旗| 哈巴河县| 英吉沙县|