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

?

基于樹(shù)莓派和Pixhawk的多旋翼無(wú)人機(jī)自主著陸系統(tǒng)的研究

2019-07-08 02:23:41魯青青宋志強(qiáng)陳豪
電腦知識(shí)與技術(shù) 2019年13期
關(guān)鍵詞:樹(shù)莓派

魯青青 宋志強(qiáng) 陳豪

摘要:多旋翼無(wú)人機(jī)的自主著陸系統(tǒng)研究對(duì)于其智能應(yīng)用具有重要作用。著重研究如何通過(guò)樹(shù)莓派3B和開(kāi)源Pixhawk飛行控制器構(gòu)建性價(jià)比高的多旋翼無(wú)人機(jī)自主著陸系統(tǒng),從硬件構(gòu)成、開(kāi)發(fā)環(huán)境搭建、軟件仿真等方面做了較為詳細(xì)的介紹,可給經(jīng)費(fèi)緊張的研究人員搭建系統(tǒng)提供有益參考。仿真實(shí)驗(yàn)和實(shí)物驗(yàn)證證明了方案的可行性。

關(guān)鍵詞:樹(shù)莓派;PX4飛控;多旋翼無(wú)人機(jī);自主著陸系統(tǒng)

中圖分類號(hào): TP391? ? ? 文獻(xiàn)標(biāo)識(shí)碼: A

文章編號(hào):1009-3044(2019)13-0263-03

Abstract: The study of autonomous landing systems for multi-rotor UAVs plays an important role in their intelligent applications. Focusing on how to build a cost-effective multi-rotor UAV autonomous landing system by using Raspberry Pi 3B and open source Pixhawk flight controller, the hardware composition, development environment construction, software simulation and other aspects have been introduced in detail, which can provide useful reference for researchers with limited funds to build the system. Simulation experiments and physical verification prove the feasibility of the scheme.

Key words: Raspberry Pi; PX4 flight control; multi-rotor drone; autonomous landing system

無(wú)人機(jī)最初應(yīng)用于軍事領(lǐng)域,近年來(lái)在民用領(lǐng)域,特別是搜救、災(zāi)害監(jiān)管、測(cè)繪、安防、農(nóng)業(yè)、電力、交通、環(huán)保等領(lǐng)域均有無(wú)人機(jī)的身影。隨著現(xiàn)代技術(shù)的進(jìn)步,特別是人工智能技術(shù)的快速發(fā)展,未來(lái)無(wú)人機(jī)+行業(yè)應(yīng)用的模式具有廣闊的應(yīng)用前景。目前無(wú)人機(jī)還不能做到完成自主地執(zhí)行任務(wù),其背后都有操作人員在控制,而無(wú)人機(jī)的主要優(yōu)勢(shì)之一就是在無(wú)須大量人力勞動(dòng)參與的前提下進(jìn)行工作,因此提高無(wú)人機(jī)的自動(dòng)化和智能化水平是目前迫切需要解決的問(wèn)題。自主著陸操作對(duì)于其能否智能地完成作業(yè)任務(wù)有重要影響,是學(xué)術(shù)界和工業(yè)界均希望迫切解決的關(guān)鍵技術(shù)。Ruchanurucks等[1]提出一種自主著陸輔助系統(tǒng)綜合方法,該方法利用跑道上的標(biāo)記作為算法的對(duì)象點(diǎn),采用透視n點(diǎn)(PnP))算法控制固定翼無(wú)人機(jī)自動(dòng)著陸。Wang等[2]采用紅外T形標(biāo)記概念,使得固定翼無(wú)人機(jī)能夠在任何天氣條件下著陸。對(duì)于多點(diǎn)特征情況,使用單應(yīng)性算法[3]來(lái)針對(duì)平面標(biāo)記進(jìn)行定位,但由于單應(yīng)性的線性特性,當(dāng)場(chǎng)景中出現(xiàn)一定程度的圖像噪聲時(shí),輸出姿勢(shì)會(huì)出錯(cuò),這會(huì)導(dǎo)致著落中墜機(jī)。

對(duì)于自主著陸的研究,學(xué)術(shù)界主要集中于算法,對(duì)如何搭建無(wú)人機(jī)自主著陸硬件系統(tǒng)則鮮有研究。本文著重研究如何通過(guò)樹(shù)莓派3B和開(kāi)源Pixhawk飛行控制器構(gòu)建性價(jià)比高的多旋翼無(wú)人機(jī)自主著陸系統(tǒng),可給經(jīng)費(fèi)緊張的研究人員搭建系統(tǒng)提供有益參考。

1 Pixhawk飛行控制器簡(jiǎn)介

Pixhawk是由PX4開(kāi)源項(xiàng)目小組聯(lián)合3DR公司于2014年推出的飛行控制器[4],Pixhawk開(kāi)源飛控項(xiàng)目已在國(guó)內(nèi)引起廣泛關(guān)注[5]。Pixhawk的開(kāi)放性非常好,參數(shù)全部開(kāi)放給開(kāi)發(fā)者調(diào)整,其集成多種電子地圖,開(kāi)發(fā)者可以根據(jù)當(dāng)?shù)厍闆r進(jìn)行選擇。Pixhawk被定位為下一代無(wú)人機(jī)飛控,系統(tǒng)具備的所有特征均符合未來(lái)無(wú)人機(jī)飛行控制系統(tǒng)未來(lái)發(fā)展的需求。Pixhawk飛行控制器的主要組成部分如下:

主控制器:32位STM32F427 ARM Cortex M4 核心外加浮點(diǎn)運(yùn)算單元,主頻168MHz;

故障保護(hù)協(xié)處理器:32位STM32F103;

存儲(chǔ)器:2M RAM和256K運(yùn)行內(nèi)存;

三軸加速度計(jì)/陀螺儀:InvenSense MPU6000,測(cè)量將三軸加速度和角速度,用于后續(xù)姿態(tài)控制;

16位陀螺儀:ST Micro L3GD20,用于測(cè)量旋轉(zhuǎn)速度;

14位加速度計(jì)/磁力計(jì):ST Micro LSM303D,用于確認(rèn)外部影響和羅盤指向;

氣壓計(jì):MS5611 MEAS,,用來(lái)測(cè)量高度。

2 基于Pixhawk的無(wú)人機(jī)組裝

采用Pixhawk飛行控制器結(jié)合自行采購(gòu)的其他部件組裝無(wú)人機(jī),組成無(wú)人機(jī)的主要部件如表1所示。

組裝后的無(wú)人機(jī)實(shí)物圖如圖1所示,飛行控制器固件采用開(kāi)源固件PX4,地面站采用QGroundControl,運(yùn)行于操作系統(tǒng)Ubuntu 16.04 LTS之上。

3基于樹(shù)莓派3B的無(wú)人機(jī)系統(tǒng)硬件構(gòu)成

樹(shù)莓派3B和Pixhawk飛行控制器的接線如圖2所示。Telem 2的5V連接樹(shù)莓派的5V (Pin 2);Telem 2的GND連接樹(shù)莓派的GND (Pin 6);Telem 2的RX連接樹(shù)莓派的TX (Pin 8);Telem 2的TX連接樹(shù)莓派的RX (Pin 10)。Pixhawk上,Telem 2的5V接口支持大電流輸出,可以給樹(shù)莓派供電,這樣樹(shù)莓派可作為機(jī)載電腦充當(dāng)決策者的角色,決定無(wú)人機(jī)的飛行路線。

樹(shù)莓派3B安裝raspbian-stretch版操作系統(tǒng),TF卡中寫入2018-11-13-raspbian-stretch.img系統(tǒng)鏡像,其內(nèi)核為L(zhǎng)inux。樹(shù)莓派3B充當(dāng)高性能的機(jī)載指揮和決策平臺(tái),可讀取飛行控制器的狀態(tài)信息,運(yùn)行機(jī)器學(xué)習(xí)、圖像識(shí)別等程序,給飛行控制器發(fā)送指令,控制無(wú)人機(jī)的飛行。

4基于DroneKit的Python程序開(kāi)發(fā)

樹(shù)莓派端采用Python進(jìn)行程序設(shè)計(jì),為達(dá)到快速開(kāi)發(fā)的效果,采用DroneKit-Python庫(kù),其提供了控制無(wú)人機(jī)的庫(kù)函數(shù),代碼獨(dú)立于飛行控制器,可運(yùn)行于機(jī)載電腦(本文將樹(shù)莓派3B作為機(jī)載電腦)上,可采用串口或無(wú)線方式通過(guò)MAVLink協(xié)議和飛行控制器通信。樹(shù)莓派操作系統(tǒng)raspbian-stretch或Ubuntu 16.04 LTS安裝DroneKit方法比較簡(jiǎn)單,在終端輸入如下命令:

sudo pip install dronekit

4.1樹(shù)莓派3B下通用串口的設(shè)置

樹(shù)莓派3B通過(guò)串口和Pixhawk飛行控制器相連接(如圖2),但是樹(shù)莓派3B增加了藍(lán)牙功能,這一功能正好占用了開(kāi)發(fā)想要使用的串口,故需要關(guān)閉藍(lán)牙功能并更改串口配置,使之變?yōu)橥ㄓ么?,步驟如下:

1.關(guān)閉板載藍(lán)牙功能。打開(kāi)終端,輸入語(yǔ)句:

sudo systemctl disable hciuart

2.恢復(fù)串口使用并設(shè)置為通用串口。

(1)編輯文檔 /boot/config.txt,命令如下:

sudo nano /boot/config.txt

在文檔末尾添加語(yǔ)句:

dtoverlay=pi3-miniuart-bt

(2)編輯文檔/boot/cmdline.txt,命令如下:

sudo nano /boot/cmdline.txt

將文檔中原來(lái)的console=serial0,115200 console=tty1修改為console=tty1,即刪除“console=serial0,115200 ”。

3. 依次執(zhí)行以下命令完成更新并重啟:

sudo apt-get update

sudo reboot

經(jīng)過(guò)上述步驟后,樹(shù)莓派3B的串口變?yōu)橥ㄓ么冢梢酝ㄟ^(guò)串口和飛行控制器通信。

4.2仿真環(huán)境搭建

在做樹(shù)莓派與飛行控制器聯(lián)調(diào)測(cè)試之前,應(yīng)先對(duì)樹(shù)莓派端的Python程序進(jìn)行仿真,以測(cè)試程序是否正確,這樣可最大程序地減少墜機(jī)的危險(xiǎn)。在Ubuntu 16.04 LTS下進(jìn)行仿真,環(huán)境的搭建步驟如下:

1.建立Pixhawk原生固件PX4編譯環(huán)境,具體可參考官方教程[6];

2.采用jMAVSim作為仿真軟件,在PX4源碼中自帶jMAVSim仿真源碼,路徑為:/Firmware/Tools/jMAVSim,因此不需要另外下載源碼。執(zhí)行如下步驟:

(1) 打開(kāi)終端,切換至Firmware文件夾:

cd Firmware

(2) 輸入以下指令:

make posix_sitl_default jmavsim

上述指令意思為將Firmware目標(biāo)代碼編譯為posix系統(tǒng)軟件仿真代碼,并用JMAVSim仿真器打開(kāi)編譯好的目標(biāo)文件。

若編譯成功,則打開(kāi)三維仿真界面。在仿真過(guò)程中JMAVSim終端會(huì)顯示來(lái)自仿真四旋翼無(wú)人機(jī)的MAVLink指令。三維仿真界面效果圖如圖3所示。

若安裝過(guò)程中出現(xiàn)如下錯(cuò)誤:

"com.jogamp.opengl.GLException: J3D-Renderer-1: createImpl ARB n/a but required, profile > GL2 requested (OpenGL >= 3.1). Requested: GLProfile[GL3bc/GL3bc.hw], current: 3.0 (Compat profile, compat[ES2], FBO, hardware) - 3.0 Mesa 17.2.8"

則為OpenGL的版本問(wèn)題,需要更新OpenGL版本,在終端按序輸入以下三條命令:

sudo apt-add-repository ppa:oibaf/graphics-drivers

sudo apt-get update

sudo ?apt-get dist-upgrade

在Ubuntu 16.04 LTS測(cè)試通過(guò)的Python程序在樹(shù)莓派3B上也能運(yùn)行。進(jìn)行仿真的Python程序部分源代碼如下:

#!/usr/bin/env python

# -*- coding: utf-8 -*-

from __future__ import print_function

import time

from dronekit import connect, VehicleMode, LocationGlobalRelative

# 通過(guò)本地14540端口,使用UDP連接到JMAVSim

connection_string = '127.0.0.1:14540'

print('Connecting to vehicle on: %s' % connection_string)

# connect函數(shù)將會(huì)返回一個(gè)Vehicle類型的對(duì)象

猜你喜歡
樹(shù)莓派
基于Raspberry Pi的智能教室系統(tǒng)
基于樹(shù)莓派的車載無(wú)線視頻傳輸系統(tǒng)
基于微信端的智能家居監(jiān)控系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
智能安全防盜探測(cè)小車
一種基于樹(shù)莓派的門禁系統(tǒng)快速構(gòu)建方法
基于樹(shù)莓派+云服務(wù)器的網(wǎng)絡(luò)監(jiān)控及家居控制系統(tǒng)的研究與實(shí)際應(yīng)用
基于樹(shù)莓派的課堂實(shí)驗(yàn)設(shè)計(jì)
煙草物流中心工業(yè)無(wú)線網(wǎng)絡(luò)安全監(jiān)測(cè)系統(tǒng)設(shè)計(jì)
手勢(shì)繪圖鎖的應(yīng)用研究
基于樹(shù)莓派的高清視頻播放器的設(shè)計(jì)與實(shí)現(xiàn)
科技視界(2015年29期)2015-10-19 10:55:56
都江堰市| 仙游县| 左贡县| 怀远县| 远安县| 永昌县| 台中市| 绥棱县| 肇东市| 剑川县| 南陵县| 翁源县| 金秀| 广丰县| 新津县| 客服| 洞头县| 金华市| 保康县| 治多县| 徐汇区| 常德市| 岑巩县| 嘉鱼县| 汝阳县| 孟津县| 徐汇区| 乌拉特中旗| 龙岩市| 江都市| 四子王旗| 杭锦后旗| 金塔县| 随州市| 商南县| 固始县| 拉萨市| 黑山县| 梨树县| 临江市| 林甸县|