隨著無人機(jī)行業(yè)的發(fā)展,無人機(jī)在影視航拍、地理勘察、公共安全等領(lǐng)域有著不同程度的發(fā)揮。而說起無人機(jī),最為核心的技術(shù)之一莫過于飛控技術(shù),它的技術(shù)發(fā)展,影響著無人機(jī)姿態(tài)穩(wěn)定和控制、無人機(jī)任務(wù)設(shè)備管理和應(yīng)急控制。
目前市場(chǎng)上常用的飛控,包括開源飛控和閉源飛控。由于閉源飛控開發(fā)者有限,我們這里就重點(diǎn)為大家介紹一下開源飛控。所謂開源飛控就是建立在開源思想基礎(chǔ)上的飛行自主控制器項(xiàng)目(Open Source AutoPilot),同時(shí)包含開源軟件和開源硬件,而軟件則包含飛控硬件中的固件和地面站軟件。
一、開源飛控發(fā)展
第一代開源飛控系統(tǒng)使用Arduino或其他類似開源電子平臺(tái)為基礎(chǔ),擴(kuò)展連接各種MEMS傳感器,能夠讓無人機(jī)能平穩(wěn)地飛起來。主要特點(diǎn)是模塊化和可擴(kuò)展能力。
第二代開源飛控系統(tǒng)大多擁有自己的開源硬件、開發(fā)環(huán)境和社區(qū),采用全集成的硬件架構(gòu)。主要特點(diǎn)是高度集成、高可靠,其功能已經(jīng)接近商業(yè)自動(dòng)駕駛儀。
第三代開源飛控系統(tǒng)將會(huì)在軟件、人工智能以及云應(yīng)用方面進(jìn)行革新。加入集群飛行、圖像識(shí)別、自主避障、自動(dòng)跟蹤飛行等高級(jí)飛行功能,向機(jī)器視覺、集群化、開發(fā)過程平臺(tái)化的方向發(fā)展。
二、開源飛控介紹
Arduino飛控
Arduino 是最早的開源飛控,由Massimo Banzi、David Cuartielles、Tom Igoe、Gianluca Martino、David Mellis 和 Nicholas Zambetti于2005年在意大利交互設(shè)計(jì)學(xué)院合作開發(fā)而成。Arduino公司首先為電子開發(fā)愛好者搭建了一個(gè)靈活的開源硬件平臺(tái)和開發(fā)環(huán)境,用戶可以從Arduino官方網(wǎng)站取得硬件的設(shè)計(jì)文檔,調(diào)整電路板及元件,以符合自己實(shí)際設(shè)計(jì)的需要。
Arduino可以通過與其配套的Arduino IDE軟件查看源代碼并上傳自己編寫的代碼,Arduino IDE使用的是基于C語言和C++的Arduino語言,十分容易掌握,并且Arduino IDE可以在Windows、Macintosh OSX和Linux三大主流操作系統(tǒng)上運(yùn)行。
隨著該平臺(tái)逐漸被愛好者所接受,各種功能的電子擴(kuò)展模塊層出不窮,其中最為復(fù)雜的便是集成了MEMS傳感器的飛行控制器。為了得到更好的飛控設(shè)計(jì)源代碼,Arduino公司決定開放其飛控源代碼,他們開啟了開源飛控的發(fā)展道路。著名的開源飛控WMC和APM都是Arduino飛控的直接衍生產(chǎn)品,至今仍然使用Arduino開發(fā)環(huán)境進(jìn)行開發(fā)。
APM飛控
APM(ArduPilotMega)是在2007年由DIY無人機(jī)社區(qū)(DIY Drones)推出的飛控產(chǎn)品,是當(dāng)今最為成熟的開源硬件項(xiàng)目。APM基于Arduino的開源平臺(tái),對(duì)多處硬件做出了改進(jìn),包括加速度計(jì)、陀螺儀和磁力計(jì)組合慣性測(cè)量單元(IMU)。由于APM良好的可定制性,APM在全球航模愛好者范圍內(nèi)迅速傳播開來。通過開源軟件Mission Planner,開發(fā)者可以配置APM的設(shè)置,接受并顯示傳感器的數(shù)據(jù),使用google map 完成自動(dòng)駕駛等功能,但是Mission Planner僅支持windows操作系統(tǒng)。
目前APM飛控已經(jīng)成為開源飛控成熟的標(biāo)桿,可支持多旋翼、固定翼、直升機(jī)和無人駕駛車等無人設(shè)備。針對(duì)多旋翼,APM飛控支持各種四、六、八軸產(chǎn)品,并且連接外置GPS傳感器以后能夠增穩(wěn),并完成自主起降、自主航線飛行、回家、定高、定點(diǎn)等豐富的飛行模式。APM能夠連接外置的超聲波傳感器和光流傳感器,在室內(nèi)實(shí)現(xiàn)定高和定點(diǎn)飛行。
PX4和PIXHAWK
PX4是一個(gè)軟硬件開源項(xiàng)目(遵守BSD協(xié)議),目的在于為學(xué)術(shù)、愛好和工業(yè)團(tuán)體提供一款低成本、高性能的高端自駕儀。
這個(gè)項(xiàng)目源于蘇黎世聯(lián)邦理工大學(xué)的計(jì)算機(jī)視覺與幾何實(shí)驗(yàn)室、自主系統(tǒng)實(shí)驗(yàn)室和自動(dòng)控制實(shí)驗(yàn)室的PIXHawk項(xiàng)目。PX4FMU自駕儀模塊運(yùn)行高效的實(shí)時(shí)操作系統(tǒng)(RTOS),Nuttx提供可移植操作系統(tǒng)接口(POSIX)類型的環(huán)境,軟件可以使用USB bootloader更新。
PX4通過MAVlink同地面站通訊,兼容的地面站有QGroundControl和Mission Planner,軟件全部開源且遵守BSD協(xié)議。
由3DR聯(lián)合APM小組與PX4小組于2014年推出的PIXHawk飛控是PX4飛控的升級(jí)版本,擁有PX4和APM兩套固件和相應(yīng)的地面站軟件。該飛控是目前全世界開源飛控產(chǎn)品中硬件規(guī)格最高的產(chǎn)品,也是當(dāng)前愛好者手中最炙手可熱的產(chǎn)品。
PIXHawk擁有168MHz的運(yùn)算頻率,并突破性地采用了整合硬件浮點(diǎn)運(yùn)算核心的Cortex-M4的單片機(jī)作為主控芯片,內(nèi)置兩套陀螺和加速度計(jì)MEMS傳感器,互為補(bǔ)充矯正,內(nèi)置三軸磁場(chǎng)傳感器并可以外接一個(gè)三軸磁場(chǎng)傳感器,同時(shí)可外接一主一備兩個(gè)GPS傳感器,在故障時(shí)自動(dòng)切換。
基于其高速運(yùn)算的核心和浮點(diǎn)算法,PIXHawk使用最先進(jìn)的定高算法,可以僅憑氣壓高度計(jì)便將飛行器高度固定在1米以內(nèi)。它支持目前幾乎所有的多旋翼類型,甚至包括三旋翼和H4這樣結(jié)構(gòu)不規(guī)則的產(chǎn)品。它使飛行器擁有多種飛行模式,支持全自主航線、關(guān)鍵點(diǎn)圍繞、鼠標(biāo)引導(dǎo)、“FollowMe”、等高級(jí)的飛行模式,并能夠完成自主調(diào)參。
PIXHawk飛控的開放性非常好,幾百項(xiàng)參數(shù)全部開放給玩家調(diào)整,靠基礎(chǔ)模式簡(jiǎn)單調(diào)試后亦可飛行。PIXHawk集成多種電子地圖,愛好者們可以根據(jù)當(dāng)?shù)厍闆r進(jìn)行選擇。
Openpilot
OpenPilot是由OpenPilot社區(qū)于2009年推出的自動(dòng)駕駛儀項(xiàng)目,旨在為社會(huì)提供低成本但功能強(qiáng)大的穩(wěn)定型自動(dòng)駕駛儀。這個(gè)項(xiàng)目由兩部分組成,包括OpenPilot自駕儀與其相配套的軟件。其中,自駕儀的固件部分由C語言編寫,而地面站則用C++編寫,并可在Windows、Macintosh OSX和Linux三大主流操作系統(tǒng)上運(yùn)行。
OpenPilot的最大特點(diǎn)是硬件架構(gòu)非常簡(jiǎn)單,從它目前擁有的眾多硬件設(shè)計(jì)就可以看出其與眾不同之處。官方發(fā)布的飛控硬件包括CC、CC3D、ATOM、Revolution、Revolution nano等,衍生硬件包括Sparky、Quanton、REVOMINI等,甚至包含直接使用STM32開發(fā)板擴(kuò)展而成的FlyingF3、FlyingF4、DescoveryF4等,其中CC3D已經(jīng)是300mm以下軸距穿越機(jī)和超小室內(nèi)航模的首選飛控,而DiscoveryF4被大量用于愛好者研究飛控,Quanton更是成為了Taulabs的首選硬件。
Multiwiicopter
Multi Wii Copter(MWC)飛控是一款典型的Arduino衍生產(chǎn)品,是專為多旋翼開發(fā)的低成本飛控,它完整地保留了Arduino IDE開發(fā)和Arduino設(shè)備升級(jí)和使用的方法。由于成本低、架構(gòu)簡(jiǎn)單、固件比較成熟,因此該飛控在國(guó)內(nèi)外擁有大量愛好者。除了支持常見的四、六、八旋翼以外,該飛控的最大特點(diǎn)是支持很多奇特的飛行器類型,比如三旋翼、阿凡達(dá)飛行器(BIcopter avatar style)、Y4型多旋翼(其中兩軸為上下對(duì)置)等,使得該飛控的開發(fā)趣味性較強(qiáng),容易博得大家的喜愛。
KK飛控
KK飛控是源于韓國(guó)的一款開源飛控項(xiàng)目,也是第一種廣為大眾接受的多旋翼飛控,在開源飛控發(fā)展的初期,該飛控的橫空出世對(duì)整個(gè)四旋翼行業(yè)是一種震撼。
該飛控只使用三個(gè)成本低廉的單軸陀螺,配合一臺(tái)最簡(jiǎn)單的四通道遙控設(shè)備,就能控制常見的三、四、六旋翼飛行器,并且支持“十字”型,X型、H型和上下對(duì)置等多種布局。該飛控使用三個(gè)可調(diào)電阻調(diào)整感度作為調(diào)參方法,保留了早期航模陀螺儀的特征。作為多旋翼飛控起始的重要見證,這款“古董”級(jí)經(jīng)典飛控,依然擁有眾多玩家。
Paparazzi
Paparazzi(PPZ)是一個(gè)軟硬件全開源的項(xiàng)目,它始于2003年,開發(fā)目標(biāo)是建立一個(gè)配置靈活且性能強(qiáng)大的開源飛控項(xiàng)目。PPZ的一大特點(diǎn)是,該開源飛控方案中除了常見的飛控硬件、飛控軟件和地面站軟件之外,還包含地面站硬件,包括各種調(diào)制解調(diào)器、天線等設(shè)備。從功能上講,PPZ已經(jīng)接近一個(gè)小型的無人機(jī)系統(tǒng)了。
該開源項(xiàng)目的另一個(gè)特點(diǎn)是采用ubuntu操作系統(tǒng),它將全部地面站軟件和開發(fā)環(huán)境集成于該系統(tǒng)下,官方稱之為L(zhǎng)ive CD。一張CD加飛控硬件就可完成從開發(fā)到使用的全部工作。
PPZ目前最流行的硬件版本是Paparazzi(PPZ)Lisa/Mv2.0。該硬件擁有大量的擴(kuò)展接口,并且使用可擴(kuò)展的單獨(dú)的IMU傳感器板。這也是早期開源飛控比較流行的做法,這樣可以像DIY臺(tái)式計(jì)算機(jī)那樣,隨著傳感器升級(jí)而不斷升級(jí)IMU硬件。