亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        DSP的MAVLink微型無人機通信協(xié)議移植與應(yīng)用

        2014-07-03 03:33:24呂強倪佩佩王國勝劉峰
        關(guān)鍵詞:發(fā)送數(shù)據(jù)通信協(xié)議字節(jié)

        呂強,倪佩佩,王國勝,劉峰

        (裝甲兵工程學(xué)院 控制工程系,北京100072)

        引 言

        無人機(Unmanned Air Vehicle,UAV)是一種搭載飛行控制器、空氣動力承載、無人駕駛并且能夠重復(fù)使用、搭載多種設(shè)備、執(zhí)行多種任務(wù)的飛行器[1-2]。無人機一般包括固定翼飛行器和旋翼式飛行器。其中微小型旋翼機因其具有便攜、機動性好、垂直起降、空中懸停的特點而廣泛應(yīng)用于災(zāi)害救援、交通巡查、航空攝影、軍事偵察等。無人機的地面控制系統(tǒng)可以完成對無人機的飛行操控、航路規(guī)劃、飛行狀態(tài)獲取及分析、前方圖像獲取等[3-4];而一個完善的無人機通信協(xié)議則是連接無人機與地面站的重要橋梁。MAVLink是一個開源的基于C/C++或者Python語言的能夠?qū)ξ⑿惋w行器(MAV)進行數(shù)據(jù)封裝和解析的庫。國外許多開源的地面站控制軟件包括QGround-Control(QGC)、HK Ground Control Station、APM Planner、Copter GCS等,都是基于MAVLink開發(fā)并集成一套完整的可視化界面,包括地圖、儀表、實時參數(shù)曲線繪制和視頻顯示界面等。因此,基于MAVLink微型無人機通信協(xié)議傳輸無人機參數(shù),可以幫助開發(fā)者節(jié)省單獨開發(fā)地面站軟件的時間。

        由于TMS320F28335(簡稱F28335)的32位浮點運算單元能夠大大提高控制算法的處理速度,故采用該DSP控制器作為飛行控制器,并提出一種基于該控制器的MAVLink微型無人機通信協(xié)議的移植與應(yīng)用方法。

        1 MAVLink介紹

        表1是MAVLink協(xié)議的數(shù)據(jù)結(jié)構(gòu)。雖然MAVLink只使用1字節(jié)FE作為數(shù)據(jù)包第0位的固定起始標志,但是第1位的有效載荷長度和第(n+7)~(n+8)位的兩位校驗和,能夠區(qū)別當前接收到的FE是隨機噪聲還是數(shù)據(jù)包起始標志。因此MAVLink不僅無需用多個字節(jié)作為起始標志,還能保證數(shù)據(jù)長度簡短而又安全。

        表1 MAVLink協(xié)議的數(shù)據(jù)結(jié)構(gòu)

        2 MAVLink移植方法

        F28335的外設(shè)寄存器為16位,而一般的微控制器都是8位。MAVLink默認支持8位外設(shè)寄存器的微控制器,因此DSP并不兼容MAVLink,無法生成正確的數(shù)據(jù)。

        F28335基于標準C語言使用CCS作為開發(fā)環(huán)境,具體的移植方法如下:

        ①在主程序中定義typedef unsigned char uint8_t,否則程序無法識別uint8_t。F28335的庫文件里面未定義uint8_t數(shù)據(jù)類型,而unsigned char數(shù)據(jù)類型為16位,即使參數(shù)定義為8位,也是默認以16位進行存儲,不影響編程。

        ②在主程序中定義大端模式(#define NATIVE_BIG_ENDIAN),并修改 MAVLink庫protocol.h頭文件中的byte_swap函數(shù)。如修改byte_swap_4():

        MAVLink默認選擇小端模式,即數(shù)據(jù)的低位字節(jié)保存在內(nèi)存的高地址中,而數(shù)據(jù)的高位字節(jié)保存在內(nèi)存的低地址中。同時也有大端模式的函數(shù)代碼以滿足用戶的特殊要求。雖然F28335也是小端模式,但其16位的寄存器會使原本一個寄存器存儲1個字節(jié)的情況變成2個字節(jié)填滿一個寄存器,造成移位和串位的現(xiàn)象。因此可以選擇設(shè)置一個自定義的偽大端模式,即在大端模式代碼中對數(shù)據(jù)進行移位和交換操作,實現(xiàn)我們希望的自定義小端模式,其他函數(shù)修改方法類似。

        ③修改發(fā)送序列的計數(shù)范圍。16位的寄存器導(dǎo)致生成序列current_tx_seq的計數(shù)范圍為0~65 535,而我們只需要0~255,因此對生成序列的高8位清零即可,即current_tx_seq&0x00ff。

        ④修改校驗和代碼。對MAVLink庫checksum.h頭文件中crc_accumulate()函數(shù)的參數(shù)temp也進行高8位清零的操作。MAVLink是按照CRC-16-CCITT標準計算校驗和的。其主要思想是對數(shù)據(jù)包的第1位至第n+6位進行一系列按位異或、移位和循環(huán)累加等操作,生成16位校驗和。

        ⑤修改時間簽。部分類型的數(shù)據(jù)包內(nèi)的Data包含時間簽,以便實時繪制參數(shù)變化曲線;而CCS基本庫內(nèi)沒有生成時間簽的函數(shù),故用戶需自定義??稍诙〞r器0的中斷函數(shù)中定義一個時間累加器。注意區(qū)分不同數(shù)據(jù)包的時間簽單位是毫秒還是微秒。

        ⑥由于CCS庫的math.h未定義π/2,故在主程序中定義:

        #define M_PI_2 1.57079632679489661923。至此,MAVLink移植方法基本完成。

        3 四旋翼無人機與地面站的通信

        引言中提到的開源的QGC是基于MAVLink協(xié)議編寫的一款用戶界面友好的地面站控制軟件。其連接方式可以選擇串口通信或者基于TCP/UDP協(xié)議的無線網(wǎng)絡(luò)。使用XBee模塊通過串行通信接口(SCI)連接發(fā)送的數(shù)據(jù)波特率最高只有115 200 bps,尤其在高頻率發(fā)送大量數(shù)據(jù)時會發(fā)生嚴重的數(shù)據(jù)丟失現(xiàn)象;而串行外設(shè)接口(SPI)是一個高速同步的串行輸入輸出接口,并且F28335支持一個16級深度的發(fā)送接收FIFO,可減少CPU開銷,故采用新力維WM001S V3.0高速SPI轉(zhuǎn)WiFi模塊進行四旋翼無人機與地面站實時通信。

        3.1 無線網(wǎng)絡(luò)的建立

        配置SPI時有以下三點注意:

        ①SPI時鐘方案選擇有相位延時的下降沿,與WiFi模塊一致,否則WiFi模塊將停止工作。

        ②WiFi模塊最高支持50 MHz的時鐘頻率,且SPI波特率設(shè)置不能過大,否則會造成WiFi模塊無法及時響應(yīng)和數(shù)據(jù)丟失。

        ③發(fā)送數(shù)據(jù)以左對齊的方式存儲在串行輸出緩沖寄存器(SPITXBUF)中,接收數(shù)據(jù)以右對齊的方式存儲在串行輸入緩沖寄存器(SPIRXBUF)中。單次發(fā)送或接收小于16位數(shù)據(jù)時,尤其要注意這一點。本文選擇單次發(fā)送8位數(shù)據(jù)。

        圖1是WM001S V3.0WiFi模塊發(fā)送數(shù)據(jù)時的流程。向WiFi模塊發(fā)送RBRS命令(0x40),準備讀取WiFi模塊當前可寫數(shù)據(jù)大?。╒C)和可讀數(shù)據(jù)大小(RC);發(fā)送4次RSR命令(0x00),讀取4字節(jié)的VC和RC。如果VC≥lenth,lenth為待發(fā)送數(shù)據(jù)包長度,則先發(fā)送寫命令(0x D0),然后開始發(fā)送MAVLink數(shù)據(jù)包。

        圖1 WiFi模塊發(fā)送數(shù)據(jù)的流程圖

        F28335 SPIA主機向WiFi從機寫數(shù)據(jù)的代碼分三部分。

        ①SPIA初始化設(shè)置:

        ②自定義SPIA發(fā)送單個字節(jié)函數(shù):

        ③定時器0中斷中發(fā)送數(shù)據(jù)代碼:

        3.2 實驗驗證

        MAVLink包含多達255種數(shù)據(jù)包類型,有心跳包、姿態(tài)角數(shù)據(jù)包、GPS信息包、光流數(shù)據(jù)包等等,用戶也可以自己定義數(shù)據(jù)包的封裝和解析方法。來自無人機的一套完整的數(shù)據(jù)包括一個心跳包和其他需要解析的參數(shù)包。地面站檢測是否與無人機失聯(lián),主要依靠地面站能否以固定頻率接收到來自無人機的心跳包。建議心跳包以1 Hz頻率發(fā)送。在此基礎(chǔ)上,地面站方可接收并解析其他數(shù)據(jù)包。

        首先通過 mavlink_msg_heartbeat_pack()函數(shù)生成心跳包,頻率為1 Hz。然后通過 mavlink_msg_attitude_pack()函數(shù)生成飛行器姿態(tài)數(shù)據(jù)包,頻率為20 Hz。其中包含姿態(tài)角信息和對應(yīng)的角速度信息。

        打開QGC建立WiFi連接時,選擇TCP協(xié)議,端口號為5000,IP地址為192.168.2.3。以上均為 WiFi模塊默認設(shè)置,用戶可自定義協(xié)議、端口號和IP地址。圖2為QGC獲取的橫滾角信息和橫滾角加速度信息導(dǎo)入到Matlab后繪制的曲線圖。其中圖2(a)為橫滾角曲線,(b)為橫滾角加速度曲線,橫滾通道控制算法選用PID控制算法。通過觀察可以發(fā)現(xiàn),四旋翼無人機在有效數(shù)據(jù)接收范圍內(nèi)能夠保持與地面站的連接,并且以固定頻率發(fā)送飛行數(shù)據(jù)到地面站。

        圖2 橫滾角和橫滾角加速度曲線圖

        結(jié) 語

        本文提出一種基于DSP的MAVLink微型無人機協(xié)議移植方法,實現(xiàn)通過WiFi與地面站控制軟件QGround-Control進行通信的應(yīng)用。該方法能夠使MAVLink有效兼容DSP,并且通過SPI轉(zhuǎn)WiFi連接QGC地面站控制軟件,減小了CPU開銷,提高了數(shù)據(jù)傳輸速率,減少了數(shù)據(jù)的丟失情況,并且增強了數(shù)據(jù)的分析能力。下一步將研究DSP作為底層控制板與在板計算機的連接,由在板計算機實時獲取處理環(huán)境圖像,并通過WiFi傳輸飛行數(shù)據(jù)和圖像到地面站軟件。

        [1]王冬來,呂強,劉峰.基于L1自適應(yīng)方法的四旋翼飛行器縱向控制[J].彈箭與制導(dǎo)學(xué)報,2011,31(6):37-40.

        [2]呂強,王冬來,劉峰,等.基于非線性指數(shù)趨近體的離散滑膜變結(jié)構(gòu)控制[J].彈箭與制導(dǎo)學(xué)報,2012,32(5):50-54.

        [3]寧金星,盧京潮,閆建國.基于VC++ 的無人機飛控地面站軟件的開發(fā)[J].計算機測量與控制,2009,17(3):596-598.

        [4]詹鐳,賀人慶,謝陽,等.基于微型四旋翼無人機的智能導(dǎo)航系統(tǒng)[J].電子測量與計數(shù),2011,34(6):1-3.

        猜你喜歡
        發(fā)送數(shù)據(jù)通信協(xié)議字節(jié)
        移動自組網(wǎng)中MAC層協(xié)議研究
        No.8 字節(jié)跳動將推出獨立出口電商APP
        No.10 “字節(jié)跳動手機”要來了?
        基于馬爾科夫鏈的LoRaWAN網(wǎng)絡(luò)節(jié)點性能分析
        帶標記方式的CRDSA++協(xié)議性能分析*
        基于Z-Stack通信協(xié)議棧的紅外地溫采集電路設(shè)計
        簡談MC7字節(jié)碼
        使用IPSec安全傳輸數(shù)據(jù)
        基于DMX512通信協(xié)議的多路轉(zhuǎn)發(fā)器設(shè)計與研究
        基于NS-3的PLC多頻通信協(xié)議仿真平臺設(shè)計與實現(xiàn)
        電測與儀表(2016年2期)2016-04-12 00:24:52
        亚洲av一区二区三区蜜桃| 国产成人无码精品午夜福利a| 精品无码AV无码免费专区| 无码啪啪熟妇人妻区| 中文片内射在线视频播放| 手机在线免费av资源网| 久久综合加勒比东京热| 成人免费毛片立即播放| 在线日本看片免费人成视久网| 51国产偷自视频区视频| 玩弄少妇人妻中文字幕| 少妇下蹲露大唇无遮挡| 国产成人九九精品二区三区| av资源在线看免费观看| 免费a级毛片无码a∨免费| 久草国产手机视频在线观看| 精品老熟女一区二区三区在线| 国产精品国产三级国产a | 亚洲视频不卡免费在线| 天堂av一区二区麻豆| 不卡av网站一区二区三区| 久久狠狠色噜噜狠狠狠狠97| 亚洲va久久久噜噜噜久久男同| 色多多a级毛片免费看| 天天做天天躁天天躁| 国产精品不卡无码AV在线播放| 青青草视频在线播放观看| 色综合悠悠88久久久亚洲| 国产在线播放一区二区不卡| 色一情一乱一伦一视频免费看| 国产成人精品久久一区二区三区| 久久久久99精品国产片| 喷潮出白浆视频在线观看| 黄片亚洲精品在线观看| 国产精品妇女一区二区三区| 男女猛烈无遮挡免费视频| 黄色视频在线免费观看 | av无码精品一区二区乱子| 国产精品一区二区三区女同| 亚洲一区二区三区成人网| 女人高潮久久久叫人喷水|