国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于STM32的四旋翼飛行器姿態(tài)測量系統(tǒng)設(shè)計

2015-07-03 11:58:26曹延超
軟件 2015年1期

曹延超

摘要:隨著無人飛行器的發(fā)展,四旋翼飛行器逐漸受到更多研究者的關(guān)注。本文主要提出了一種基于STM32的姿態(tài)測量系統(tǒng)設(shè)計方案。該姿態(tài)測量平臺是采用STM32為主控制器的數(shù)據(jù)采集和計算姿態(tài)平臺。在本文中,整個系統(tǒng)在STM32上移植μC/OS-Ⅲ操作系統(tǒng),實現(xiàn)對加速度、角速度、磁阻數(shù)據(jù)等的采集,采用四元數(shù)計算、卡爾曼濾波等實現(xiàn)姿態(tài)數(shù)據(jù)測量,通過無線模塊實現(xiàn)數(shù)據(jù)流的傳送。通過無線接收模塊,PC端上位機(jī)實現(xiàn)姿態(tài)獲取展示。最后,通過對建立的實驗平臺的綜合實驗,驗證了本文系統(tǒng)的可行性和有效性,能夠?qū)崟r采集有效的姿態(tài)數(shù)據(jù)。

關(guān)鍵詞:四旋翼飛行器;姿態(tài)測量;STM32;μC/OS-Ⅲ;四元數(shù)

中圖分類號:V19

文獻(xiàn)標(biāo)識碼:A

0 引言

四旋翼飛行器近來已經(jīng)成為研究的大熱課題。四旋翼飛行器是一種四螺旋槳驅(qū)動的、可垂直起降的飛行器。四旋翼飛行器在總體布局形式上屬于非共軸式碟形飛行器,比起普通飛行器結(jié)構(gòu)緊湊,升力更大,4只旋翼能夠相互抵消反扭力矩,設(shè)計更加簡單。四旋翼飛行器以其新穎的外形、簡單的結(jié)構(gòu)、低廉的成本、卓越的性能以及獨(dú)特的飛行控制方式等諸多優(yōu)勢吸引了越來越多的科研人員,成為了現(xiàn)在的研究熱點。目前國內(nèi)外都對四旋翼飛行器進(jìn)行了大量的研究,如美國Draganflyer公司研制的DraganflyerⅢ和賓夕法尼亞大學(xué)的HMX4等。

姿態(tài)測量是無人四旋翼飛行器重要功能之一,無人四旋翼飛行器需要實時準(zhǔn)確地采集來自多路傳感器的數(shù)據(jù),并根據(jù)數(shù)據(jù)采集結(jié)果獲取姿態(tài),通過控制器完成對無人飛行器的控制。本文將主要圍繞四旋翼飛行器的姿態(tài)測量系統(tǒng)展開軟硬件的設(shè)計。本文采用ARM Cortex-M3架構(gòu)為基礎(chǔ)的STM32開發(fā)板,移植最新的μC/OS-Ⅲ實時操作系統(tǒng),通過全數(shù)字三軸角速率陀螺儀及三軸加速度傳感器和無線傳輸模塊對無人四旋翼飛行器的姿態(tài)進(jìn)行采集,通過無線傳送最后實現(xiàn)上位機(jī)的三維立體展示。本文將μC/OS-Ⅲ實時操作系統(tǒng)應(yīng)用到四旋翼飛行器數(shù)據(jù)采中,提高了四旋翼飛行器的數(shù)據(jù)采集能力。最終通過本文實現(xiàn)了一個穩(wěn)定的四旋翼飛行器姿態(tài)測量的實驗平臺。

1 四旋翼飛行器原理與系統(tǒng)框架設(shè)計

1.1四旋翼飛行器簡介

1.1.1四旋翼飛行器結(jié)構(gòu)

四旋翼直升機(jī),國外又稱Quadrotor,F(xiàn)our-rotor,4rotors helicopter,X4-flyer等等,是一種具有四個螺旋槳的飛行器并且四個螺旋槳呈十字形交叉結(jié)構(gòu)。飛行器相對的四旋翼具有相同的旋轉(zhuǎn)方向,可以分為兩組,兩組的旋轉(zhuǎn)方向不同。如圖1,與傳統(tǒng)的直升機(jī)不同,四旋翼直升機(jī)只能通過改變螺旋槳的速度來實現(xiàn)各種動作。

1.1.2四旋翼飛行器工作原理

簡化的四旋翼飛行器可以得出,四旋翼飛行器具有呈十字交叉的四個螺旋槳,它通過改變四個螺旋槳的升力來獲取不同的運(yùn)動,主要方法是改變螺旋槳的轉(zhuǎn)速。四旋翼有且僅有四個輸入力,卻需要產(chǎn)生6個自由度方向的運(yùn)動,屬于典型的欠驅(qū)動系統(tǒng)。四旋翼飛行器具有高度的耦合動特性,一個螺旋槳速度發(fā)生變化,將會引起整個系統(tǒng)的不穩(wěn)定。四旋翼飛行器在空間共有6個自由度可以通過調(diào)節(jié)不同電機(jī)的轉(zhuǎn)速來實現(xiàn)。基本運(yùn)動狀態(tài)分別是:1)垂直運(yùn)動;2)俯仰運(yùn)動;3)滾轉(zhuǎn)運(yùn)動;4)偏航運(yùn)動;5)前后運(yùn)動;6)側(cè)向運(yùn)動。

1.2四旋翼飛行器系統(tǒng)框架設(shè)計

1.2.1系統(tǒng)框架設(shè)計

本系統(tǒng)是設(shè)計基于STM32的四旋翼飛行器姿態(tài)測量系統(tǒng),本系統(tǒng)采用自頂向下的設(shè)計思路進(jìn)行。STM32系列基于專為要求高性能、低成本、低功耗的嵌入式應(yīng)用專門設(shè)計的ARM Cortex-M3內(nèi)核。按性能分成兩個不同的系列:STM32F103“增強(qiáng)型”系列和STM32F101“基本型”系列。增強(qiáng)型系列時鐘頻率達(dá)到72MHz,是同類產(chǎn)品中性能最高的產(chǎn)品;基本型時鐘頻率為36MHz,以16位產(chǎn)品的價格得到比16位產(chǎn)品大幅提升的性能,是16位產(chǎn)品用戶的最佳選擇。整個系統(tǒng)分為傳感器測量部分,無線傳輸部分和上位機(jī)顯示部分。傳感器測量部分主要負(fù)責(zé)將傳感器的數(shù)據(jù)獲取,根據(jù)獲取的傳感器數(shù)據(jù)轉(zhuǎn)換成所需的數(shù)據(jù),整合幾個傳感器的數(shù)據(jù),根據(jù)算法得到相應(yīng)的姿態(tài)狀況。無線模塊將獲取的姿態(tài)狀況以及測得的角速度、加速度和電子羅盤數(shù)據(jù)轉(zhuǎn)換成所需的特定格式,最后通過STM32端的無線模塊傳輸?shù)紸Tmega16端的無線接收模塊。上位機(jī)部分接收來自ATmega16的串口數(shù)據(jù),將獲取的姿態(tài)狀況顯示出來。

1.2.2姿態(tài)測量平臺設(shè)計

四旋翼飛行器的姿態(tài)測量主要依靠處理傳感器數(shù)據(jù)獲取。本文的姿態(tài)測量系統(tǒng)將使用加速度傳感器、角速度傳感器和電子羅盤來對四旋翼飛行器的姿態(tài)做測量。在本課題中的四旋翼姿態(tài)測量系統(tǒng)的陀螺儀角速度傳感器采用的是L3G4200D,加速度計采用的是BMA180,電子羅盤采用的是HMC5883L。軟件部分,本文移植最新的μC/OS-Ⅲ實時操作系統(tǒng),通過全數(shù)字三軸角速率陀螺儀、三軸加速度傳感器、磁阻傳感器和無線傳輸模塊對無人四旋翼飛行器的姿態(tài)進(jìn)行采集,實現(xiàn)測量捷聯(lián)慣性系統(tǒng)姿態(tài)角。在本文中采用了四元數(shù)法來更新姿態(tài)測量。

2 姿態(tài)測量系統(tǒng)

2.1數(shù)據(jù)采集平臺

在這個系統(tǒng)中主要是獲取相應(yīng)傳感器的數(shù)據(jù),然后將得到的傳感器的數(shù)據(jù)進(jìn)行處理,得到姿態(tài)測量平臺的各項姿態(tài)參數(shù),為旋翼電機(jī)的控制提供參數(shù)。如圖2,本姿態(tài)測量平臺主要是獲取當(dāng)前的三軸加速度、三軸角速度和磁通量,更新當(dāng)前的姿態(tài),得到飛行器平臺的姿態(tài),為四個旋翼電機(jī)的控制提供參數(shù),引導(dǎo)飛行器的飛行。

2.2無線傳輸

在本文四旋翼飛行器姿態(tài)測量系統(tǒng)中采用的無線模塊為nRF24L01模塊,無線模塊的發(fā)送端主機(jī)為四旋翼飛行器姿態(tài)測量系統(tǒng)的主控制器STM32,無線模塊的接收端為ATmega16,發(fā)送的數(shù)據(jù)為姿態(tài)數(shù)據(jù)與三軸的加速度、角速度、磁通量。如圖3為無線傳輸?shù)氖疽鈭D。

2.3上位機(jī)展示

如圖4,上位機(jī)顯示部分顯示四旋翼飛行器姿態(tài)測量系統(tǒng)的測量結(jié)果。在上位機(jī)的顯示部分主要顯示的是一個三維的姿態(tài)變換和三軸的角度、角速度、加速度、磁通量數(shù)值。該上位機(jī)比較簡單明了,方便對姿態(tài)進(jìn)行觀測。上位機(jī)接收的數(shù)據(jù)格式為“$x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12$”,其中傳輸12個數(shù)據(jù),分別為三軸姿態(tài)數(shù)據(jù)、三軸角速度、三軸加速度和三軸磁通量。這些數(shù)據(jù)將分別打印在對應(yīng)位置,其中姿態(tài)數(shù)據(jù)將用于三維圖像的姿態(tài)更新。

3 姿態(tài)測量軟件算法

3.1采集平臺軟件設(shè)計

嵌入式操作系統(tǒng)是一種支持嵌入式系統(tǒng)應(yīng)用的操作系統(tǒng)軟件。μC/OS-Ⅲ前身是μC/OS,最早出自于1992年美國嵌入式系統(tǒng)專家Jean J.Labrosse在《嵌入式系統(tǒng)編程》雜志的5月和6月刊上刊登的文章連載,并把μC/OS的源碼發(fā)布在該雜志的BBS上。在本文中,移植μC/OS-Ⅲ的主要步驟包括:1)從官網(wǎng)下載源代碼;2)建立IAR工程;3)BSP移植;4)編譯測試。

在完成基本操作系統(tǒng)之后,在工程中將創(chuàng)建任務(wù),實現(xiàn)應(yīng)用開發(fā)。如圖5為程序流程圖,主要包括以下幾個模塊:1)角速度測量任務(wù);2)加速度測量任務(wù);3)測通量測量任務(wù);4)濾波姿態(tài)更新任務(wù);5)定時中斷任務(wù);6)無線發(fā)送任務(wù)。任務(wù)間通過發(fā)送消息和信號量來進(jìn)行通信,實現(xiàn)任務(wù)的工作。

3.2四元數(shù)姿態(tài)解析

在3D圖形學(xué)中,最常用的旋轉(zhuǎn)表示方法便是四元數(shù)和歐拉角,比起矩陣來具有節(jié)省存儲空間和方便插值的優(yōu)點。兩種表達(dá)方式可以互相轉(zhuǎn)換,計算公式采用3D笛卡爾坐標(biāo)系。

如圖6,歐拉角-XYZ系統(tǒng)(固定),XYZ系統(tǒng)(旋轉(zhuǎn)),線的節(jié)點,標(biāo)記為N。四元數(shù)可以用于描述一個坐標(biāo)系或矢量相對某一坐標(biāo)系的旋轉(zhuǎn)幅度。這個轉(zhuǎn)角的一半余弦值可以用四元數(shù)的標(biāo)量部分來表示,瞬時轉(zhuǎn)軸的方向、瞬時轉(zhuǎn)動軸與參考坐標(biāo)系軸間的方向余弦值可以用矢量部分來表示。一個四元數(shù)可以包含轉(zhuǎn)軸的方向和轉(zhuǎn)角大小信息,往往稱其為轉(zhuǎn)動四元數(shù)。如R′=qRq′表示矢量R相對參考坐標(biāo)系旋轉(zhuǎn)一個轉(zhuǎn)角,旋轉(zhuǎn)軸的方向由四元數(shù)的虛部確定,cosα、cosβ、cosγ表示旋轉(zhuǎn)軸n與參考坐標(biāo)系軸間的方向余弦值。式中:R為某矢量;

本文系統(tǒng)的實驗將圍繞得到的傳感器數(shù)據(jù)分析,得到的傳感器數(shù)據(jù)進(jìn)行姿態(tài)數(shù)據(jù)更新。定時中斷發(fā)送信號量使得數(shù)據(jù)得以更新,更新數(shù)據(jù)后運(yùn)對這些數(shù)據(jù)進(jìn)行上述計算處理,得到當(dāng)前姿態(tài),最后通過無線模塊和串口傳輸給PC。

4 平臺測量實驗

在完成本四旋翼飛行器姿態(tài)測量系統(tǒng)后,對系統(tǒng)的各項參數(shù)進(jìn)行了實驗,如圖7、圖8、圖9、圖10,得到三軸加速度、三軸角速度、三軸磁通量和計算的實時姿態(tài)數(shù)據(jù)。

通過實驗可以知道,本文設(shè)計的姿態(tài)測量系統(tǒng)在實際中是可行的,能夠?qū)崟r的測量出飛行器平臺的姿態(tài)。通過跟蹤上位機(jī)的三維姿態(tài)展示可以很好的反饋出目前的空中姿態(tài)情況。

5 總結(jié)

本文給出了一個基于STM32的四旋翼飛行器的姿態(tài)測量系統(tǒng)設(shè)計;通過移植最新的實時操作系統(tǒng)μC/OS-Ⅲ創(chuàng)建任務(wù),實現(xiàn)系統(tǒng)流程;通過陀螺儀、加速度傳感器等傳感器來實現(xiàn)捷聯(lián)慣性系統(tǒng)、四元數(shù)更新姿態(tài);采用了卡爾曼濾波來提高系統(tǒng)的穩(wěn)定性和姿態(tài)精度;最后,本文在平臺實現(xiàn)中驗證了姿態(tài)測量數(shù)據(jù)基本穩(wěn)定,基本達(dá)到了設(shè)計要求。

长子县| 泰安市| 大邑县| 社会| 绥阳县| 陆川县| 新安县| 阿鲁科尔沁旗| 收藏| 冷水江市| 万安县| 格尔木市| 安岳县| 五寨县| 安仁县| 宁陕县| 游戏| 磴口县| 安图县| 哈尔滨市| 定南县| 揭西县| 南澳县| 台山市| 乐至县| 漳浦县| 宁德市| 呼和浩特市| 仙桃市| 江阴市| 油尖旺区| 澄迈县| 临城县| 济南市| 同德县| 屏东市| 宁国市| 苍梧县| 建水县| 桃园县| 大化|