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

        ?

        無人機飛行控制程序在樹莓派上的移植

        2016-02-13 05:56:49林志潔周旭寶
        浙江科技學院學報 2016年6期

        韓 宇,林志潔,周旭寶

        (1.浙江科技學院 信息與電子工程學院,杭州 310023;2.溫州市文成縣科學技術局,浙江 文成 325300)

        無人機飛行控制程序在樹莓派上的移植

        韓 宇1,林志潔1,周旭寶2

        (1.浙江科技學院 信息與電子工程學院,杭州 310023;2.溫州市文成縣科學技術局,浙江 文成 325300)

        基于無人機應用的擴大及微型板載電腦性能的提高,提出一種將APM(ArduPilotMega)飛行控制程序移植到樹莓派微型板載電腦的方法,并增加視頻回傳功能。對該方法進行實驗驗證,結果表明:采用此方法可使無人機擁有更好的飛行穩(wěn)定性和實時視頻回傳的功能。該研究對無人機的飛行控制具有一定的參考價值。

        無人機;飛行控制;樹莓派;APM(ArduPilot Mega)

        無人機(unmanned aerial vehicle, UAV)是一種由預設程序操控或遙控設備操控的無人駕駛的航空器,低損耗、低成本、零傷亡、高機動性和可重復使用等優(yōu)點使其在軍事、民用和科學研究三大領域得到廣泛應用。飛行控制器,即自動駕駛儀(autopilot),代替飛機駕駛員來控制無人機的飛行,是無人機的組成核心和控制核心[1-2]。近年來,無人機和飛行控制器技術越來越成熟,微型板載電腦的性能越來越高,各種傳感器的靈敏度和抗干擾能力也越來越好。因此,將高性能的微型板載電腦作為無人機的飛行控制器成為現(xiàn)實,其性能足夠用來運行機器視覺、ROS、光流測速、圖像捕捉、視頻實時回傳及雙目避障等程序,亦可方便地接入網(wǎng)絡實現(xiàn)云端控制。微型板載電腦結合無人機在行業(yè)的應用具有一定的創(chuàng)新性和實際意義。因此,飛行控制成了對無人機研究的焦點。

        張昊天等[3-6]采用了APM飛行控制程序及與該飛行控制程序適配的單片機作控制器,該單片機成熟且工作穩(wěn)定,但主頻低、運算性能弱,不能滿足視頻實時傳輸?shù)葘τ嬎隳芰σ筝^高的應用條件。袁博等[7-8]基于樹莓派硬件平臺研發(fā)飛行控制程序,但研發(fā)的飛行控制程序不如現(xiàn)有開源飛行控制程序功能強大,其飛行控制程序僅適用于其特定硬件和用途,且不支持GPS定位和自動巡航等功能。王利民等[9-12]研究了基于航拍圖像的機器視覺技術,這類研究在現(xiàn)有無人機上加裝了復雜的獨立攝像裝置以實現(xiàn)圖像采集,但其額外增加的重量極大增加了無人機的功耗。

        針對上述不足,本研究將高性能的微型板載電腦作為無人機的主控,并基于該高性能板載電腦實現(xiàn)實時視頻回傳的功能。

        1 飛行控制器嵌入式平臺與控制程序的選擇

        由于微型板載電腦要搭載在無人機上,對其體積、重量和功耗要求較高。綜合對比Arduino、Galileo、Mini2440和Raspberry Pi四種主流嵌入式平臺的性能(CPU主頻分別為16、400、400、1 200 MHz),性能強大的樹莓派(Raspberry Pi)成為了本研究首選嵌入式平臺。

        在飛行控制程序的選擇上,本研究選擇了APM(ArduPilot Mega)這款開源飛行控制程序。它由DIY Drones社區(qū)和3D Robotics公司共同發(fā)起,在開源社區(qū)有數(shù)百位愛好者負責維護,支持固定翼機、多旋翼機和直升機等,可以支持上百個三維航點,使用強大的MAVLink協(xié)議,支持雙向遙測站和飛行中任務設置等[13],是開源社區(qū)中開發(fā)最久的飛行控制程序。

        2 飛行控制器的主要技術路線

        因APM的官方代碼已經(jīng)向Linux做了移植,故理論上可使得其在樹莓派(運行Raspbian操作系統(tǒng),基于Debian)上運行,具體實現(xiàn)思路如下。

        移植:APM飛行控制器的硬件部分主要包括作數(shù)據(jù)處理、信號輸出的單片機和收集無人機飛行信息的傳感器。要使用樹莓派作處理器則需要為樹莓派配備合適的傳感器,同時,修改程序與傳感器相關的部分代碼,使程序能與傳感器進行通信。

        改進:采用樹莓派連接攝像頭,程序使用系統(tǒng)接口從攝像頭中采集圖片,對用戶的請求返回圖片,通過連續(xù)的圖片流組成了視頻。

        無人機飛行控制整體結構如圖1所示。

        2.1 硬件部分

        樹莓派是一款只有銀行卡大小的ARM架構的微型板載電腦,其軟硬件平臺已經(jīng)比較成熟且性能較好,最新硬件版本為樹莓派3Model B,CPU 1.2 GHz*4, 1 GB RAM,有GPU,可使用CSI接口的攝像頭。有1路SPI總線(通過片選可接2個設備)和2路I2C總線,其引腳如圖2[14]所示。其中MOSI、MISO、SCLK、CE0、CE1為SPI總線,SCL0、SDA0、SCL1、SDA1為I2C總線[15]。

        飛行控制器中僅有樹莓派是不夠的,還需要傳感器為樹莓派提供飛行數(shù)據(jù)。其中,陀螺儀可以采集角速度,加速度計可以采集線加速度,這兩組數(shù)據(jù)是無人機飛行必須的信息[16];氣壓傳感器可以采集氣壓并算出海拔高度,幫助無人機穩(wěn)定高度,磁場傳感器可以采集地磁,幫助無人機穩(wěn)定方向。本研究只使用了此4種傳感器作測試。另外,由于樹莓派只有1路硬件PWM輸出,故應另外使用芯片擴展PWM輸出。飛行控制器所需硬件見表1,硬件連接如圖3所示。

        圖2 樹莓派引腳Fig.2 Pin of Raspberry Pi

        圖3 無人機飛行控制硬件連接Fig.3 Hardware connection of UAV flight control

        2.2 軟件部分

        軟件部分基于APM開源飛行控制程序,對應上述硬件架構,增加實時視頻回傳功能。由于樹莓派原版的操作系統(tǒng)是非實時操作系統(tǒng),而作為飛行控制器要保證中斷響應時間是可控的,所以,要增加實時補丁,重新編譯內(nèi)核和飛行控制程序代碼。

        ArduPilot的代碼主要分為vehicle directories、AP_HAL、libraries、tools directories、external support code這5個主要部分,AP_HAL為硬件抽象層[17,18],該層為不同的硬件定義了統(tǒng)一的接口,其下各模塊為有對具體硬件平臺的適配程序,AP_HAL_Linux為官方代碼對Linux平臺做的移植,應對該目錄下的程序進行修改。即要將負責同模塊通信的程序中的引腳定義、地址定義等與實際硬件模塊對應,例如,pca9685的時鐘是內(nèi)部時鐘,通道映射也有區(qū)別,于是要將源碼中/libraries/AP_HAL_Linux/HAL_Linux_Class.cpp文件的第173行改為static RCOutput_PCA9685 rcoutDriver(i2c_mgr_instance.get_device(1,PCA9685_PRIMARY_ADDRESS ), false,0,RPI_GPIO_27)。

        圖4 實時視頻回傳數(shù)據(jù)流Fig.4 Data flow of real-time video viewing

        對于實時視頻回傳功能,參考了開源項目mjpg-streamer[19-20]的方法,即使用攝像頭采集數(shù)據(jù)之后以流的形式通過網(wǎng)絡來傳輸,其數(shù)據(jù)流如圖4所示。

        核心實現(xiàn)步驟為:

        1)用一個給定的結構體描述攝像頭采集圖片的大小和編碼格式等設置信息,利用Linux的V4L2接口,通過ioctl將有設置信息的結構體寫入驅(qū)動來實現(xiàn)對攝像頭的初始化。

        2)通過ioct讀取攝像頭采集的圖片,通過mmap來實現(xiàn)內(nèi)存的映射,將圖片放在全局內(nèi)存中。

        圖5 實時視頻回傳程序流程Fig.5 Program flow of real-time video viewing

        3)通過基于TCP的socket通信來實現(xiàn)對http請求的響應,新建一個socket對象綁定一個端口并對其監(jiān)聽,讀取內(nèi)存中的圖片并通過網(wǎng)絡進行輸出。輸出連續(xù)的圖片流就組成了視頻。

        實時視頻回傳程序流程見圖5。

        為提高編譯效率,可以使用有Linux環(huán)境的PC機交叉編譯,具體步驟為:

        1)下載樹莓派內(nèi)核源碼,該源碼已在GitHub中開源[21]。

        2)配置編譯選項,對于實驗用的樹莓派3B應執(zhí)行以下命令。

        i.cd linux

        ii.KERNEL=kernel7

        iii.make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- bcm2709_defconfig

        3)下載工具鏈。

        4)根據(jù)樹莓派內(nèi)核版本對應版本下載相應的補丁[22],之后解壓下載的文件并應用該補丁,命令如下。

        i.gunzip patch-4.1.10-rt11.patch.gz

        ii.cat patch-4.1.10-rt11.patch | patch -p1

        5)編譯內(nèi)核和飛行控制程序,使用以下命令編譯內(nèi)核。

        i.make -j4 ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- zImage modules dtbs

        使用以下命令編譯飛行控制程序。

        ii.cd ArduCopter

        iii.make-j4 ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- ArduCopter

        3 實驗測試

        采用普通四旋翼飛行器機架和動力部分,支持S.BUS協(xié)議的遙控器和接收器進行實驗。在實驗中,飛行器在遙控器控制下完成升降、定高懸停等動作,并通過網(wǎng)絡進行視頻實時回傳。實驗測試結果表明,樹莓派與各模塊工作正常,飛行控制程序移植成功。飛行器測試情況如圖6~7所示。

        圖6 無人機飛行實驗Fig.6 UAV flight test

        圖7 無人機回傳視頻截圖Fig.7 Screenshots of UAV real-time video viewing

        由于目前無同類飛行器的航拍圖像穩(wěn)定性研究,故需自行做對照實驗,以測試所移植飛行控制器的穩(wěn)定性。實驗在無風時同時起飛采用移植飛行控制器的四旋翼飛行器和采用APM原版飛行控制器四旋翼飛行器加裝攝像裝置的飛行器,使其穩(wěn)定在空中并錄制視頻,對其所攝視頻的第10幀至第40幀相對于第10幀的圖像位移進行分析,結果見圖8。由圖8可以得出,采用移植飛行控制的飛行器視頻抖動較小,飛行較穩(wěn)定,具有更好的飛行穩(wěn)定性。

        圖8 無人機回傳視頻逐幀位移分析Fig.8 Displacement analysis frame by frame on UVA video viewing

        4 結 語

        本文通過對無人機飛控的研究,提出并實現(xiàn)了移植APM飛行控制程序運行在樹莓派上的方案,并在實驗中使用樹莓派攝像頭完成了圖像捕捉和視頻錄制。搭載該飛行控制器的無人機較之市面上的其他無人機有著更高的硬件性能和更好的可擴展性,可為今后實現(xiàn)無人機機器視覺等研究提供參考。

        [1] FAHLSTORM P G, GLEASON T J. Introduction to UAV Systems[M]. New Delhi: John Wiley & Sons, 2012:12.

        [2] 李曉鋒,程莉,蔡雨辰,等.基于集成數(shù)字化的月地高速再入返回飛行器飛控支持系統(tǒng)[J].中國科學(技術科學),2015,45(3):284.

        [3] 張昊天.基于多旋翼無人機的實時紅外圖像采集系統(tǒng)的設計[D].南京:南京林業(yè)大學,2015:15.

        [4] 張騰.基于智能手機運動感知的小型無人飛行器姿態(tài)控制[D].哈爾濱:哈爾濱工業(yè)大學,2014:16.

        [5] 董曉婉.基于APM飛控板的模型直升機控制技術研究[D].北京:北方工業(yè)大學,2016:18.

        [6] 商博.基于ROS的室內(nèi)四旋翼飛行器SLAM研究[D].沈陽:東北大學,2013:17.

        [7] 袁博,陳昕,高銘.基于四旋翼飛行器的航拍增穩(wěn)云臺系統(tǒng)的控制算法[J].數(shù)字技術與應用,2016(1):116.

        [8] 曾亞堅.小型四旋翼飛行器集群協(xié)作實驗平臺設計[D].大連:大連理工大學,2013:10.

        [9] 王利民,劉佳,楊玲波,等.基于無人機影像的農(nóng)情遙感監(jiān)測應用[J].農(nóng)業(yè)工程學報,2013,29(18):136.

        [10] 王琳.基于雙目立體視覺技術的橋梁裂縫測量系統(tǒng)研究[D].上海:上海交通大學,2015:17.

        [11] 湯明文,戴禮豪,林朝輝,等.無人機在電力線路巡視中的應用[J].中國電力,2013(3):35.

        [12] 常燕敏.無人機影像在地震災區(qū)道路損毀應急評估中的應用研究[D].成都:西南交通大學,2013:12.

        [13] APM Studio. GitHub-ArduPilot/ardupilot: ArduPlane, ArduCopter, ArduRover source[EB/OL]. [2015-10-11]. https:∥github.com/ArduPilot/ardupilot.

        [14] The Raspberry Pi Foundation. GPIO: Models A+, B+, Raspberry Pi 2 B and Raspberry Pi 3 B-Raspberry Pi Documen-tation[EB/OL].[2016-05-01].https:∥www.raspberrypi.org/documentation/usage/gpio-plus-and-raspi2/README.md.

        [15] The Raspberry Pi Foundation. Raspberry Pi 3 Model B-Raspberry Pi[EB/OL].[2016-05-01].https:∥www.raspberrypi.org/products/raspberry-pi-3-model-b/.

        [16] 蔡紅專,牟濤,劉靜超,等.一種農(nóng)用噴灑無人機飛控系統(tǒng)的設計[J].農(nóng)業(yè)與技術,2015,35(17):41.

        [17] 路青起,席丹丹.嵌入式Linux系統(tǒng)移植[J].國外電子測量技術,2014(12):78.

        [18] 耿道渠,郭春,李小龍,等.基于ARM9的嵌入式Linux系統(tǒng)移植研究與QoS功能實現(xiàn)[J].四川大學學報(自然科學版),2014,51(4):719.

        [19] STOEVEKEN T. MJPG-streamer download | SourceForge.net[EB/OL]. [2015-11-25]. https:∥sourceforge.net/projects/mjpg-streamer/.

        [20] STOEVEKEN T. GitHub - jacksonliam/mjpg-streamer: Fork of http:∥sourceforge.net/projects/mjpg-streamer/[EB/OL]. [2014-11-25]. https:∥github.com/jacksonliam/mjpg-streamer.

        [21] The Raspberry Pi Foundation. GitHub-raspberrypi/linux: Kernel source tree for Raspberry Pi Foundation-provided kernel builds. Issues unrelated to the linux kernel should be posted on the community forum at https:∥www.raspberrypi.org/forum[EB/OL]. [2015-02-24]. https:∥github.com/raspberrypi/linux.

        [22] Linux Kernel Organization, Inc. Index of /pub/linux/kernel/projects/rt[EB/OL]. [2015-11-02]. https:∥www.kernel.org/pub/linux/kernel/projects/rt/.

        Transplantation of UAV flight control program on Raspberry Pi

        HAN Yu1, LIN Zhijie1, ZHOU Xubao2

        (1.School of Information and Electronic Engineering, Zhejiang University of Science and Technology, Hangzhou 310023,China; 2.Science and Technology Bureau of Wencheng County, Wencheng 325300, Zhejiang, China)

        Base on the widening of UVA applications and improvement of the performance of micro-board computer in recent years, this paper presents a method of transferring APM flight control program to the raspberry mini-on-board computer adding real-time video viewing capabilities. The method is tested experimentally, and the experimental results show that this method can make the UAV stability better and with the real-time video capability viewing, which has some reference value for UVA flight control.

        unmanned aerial vehicle(UAV); flight control; Raspberry Pi; APM(ArduPilot Mega)

        10.3969/j.issn.1671-8798.2016.06.004

        2016-11-28

        國家級大學生創(chuàng)新創(chuàng)業(yè)訓練計劃項目(201611057006);浙江省科技計劃項目(2017C3317);浙江科技學院教師教學發(fā)展專題研究項目(教務處[2015]2號);浙江科技學院引進企業(yè)優(yōu)秀課程項目(浙科院教[2015]37號)

        韓 宇(1996— ),男,山東省濟寧人,2014級計算機科學與技術專業(yè)本科生。

        林志潔,講師,博士研究生,主要從事計算機視覺、數(shù)字圖像處理研究。

        TP319;V249.1

        A

        1671-8798(2016)06-0433-06

        国产精品久久久久久无码| 精品国产一区二区三区av天堂| 亚洲av成人无码一二三在线观看| 人妻无码αv中文字幕久久琪琪布| 欧美日韩亚洲国产千人斩| 久草91这里只有精品| 国产精品国产三级野外国产| 内地老熟女老少配视频| 国产精品无需播放器| 美女福利一区二区三区在线观看 | 亚洲一区极品美女写真在线看| 国产一区二区三区免费精品视频| 精品亚洲国产成人| 国产精品露脸视频观看| 国产美女自拍国语对白| 国产精品亚洲一级av第二区| 国产精品久久久久9999吃药| 秋霞午夜无码鲁丝片午夜精品| 美女被射视频在线观看91| 国产精品亚洲一区二区麻豆| 中文字幕人妻熟在线影院| 亚洲天堂在线播放| 中文字幕a区一区三区| 午夜视频在线观看视频在线播放 | 最新国产精品拍自在线观看 | 亚洲av高清在线观看一区二区| 人人妻人人澡人人爽人人精品| 国产桃色精品网站| 开心久久婷婷综合中文字幕 | 四虎成人精品国产永久免费| 久久综合国产精品一区二区| 国内成+人 亚洲+欧美+综合在线| 亚洲综合性色一区| 人妻av不卡一区二区三区 | 成人欧美一区二区三区| 另类欧美亚洲| 国产av精品一区二区三区视频| 亚洲av永久无码精品漫画| 中文在线а√天堂官网| 女优免费中文字幕在线| 久久久久亚洲av无码a片|