一、開源Ardupilot / APM?
APM是在2007年由DIY無人機社區(DIY Drones)推出的飛控系統。也是迄今為止最為成熟的開源自動導航系統,可支持多旋翼、固定翼、直升機和無人駕駛車等無人設備。
APM基于Arduino的開源平臺,對多處硬件做出了改進,包括加速度計、陀螺儀和磁力計組合慣性測量單元(IMU)。由于APM良好的可定制性,APM在全球航模愛好者范圍內迅速傳播開來。通過開源軟件Mission Planner,開發者可以配置APM的設置,接收并顯示傳感器的數據,使用Google map 完成自動駕駛等功能,但是Mission Planner僅支持windows操作系統。
目前,APM飛控已經成為開源飛控成熟的標桿,針對多旋翼 APM飛控支持各種四、六、八軸產品,并且連接外置GPS傳感器以后能夠增穩,并完成自主起降、自主航線飛行、回家、定高、定點等豐富的飛行模式。APM能夠連接外置的超聲波傳感器和光流傳感器,在室內實現定高和定點飛行。
APM系列發展至今,APM2.5和APM2.6已經是ardupilot飛控最終版本,APM給我們帶來非常強大的功能,非常的成熟可靠,潛能被充分挖掘出來,功能也非常的豐富。但源于APM系列8位CPU計算與存儲的能力已經遠遠不能夠滿足未來的運用需求了,APM系列產品的終結也是勢在必行。
APM系列支持如下自動導航板:
· PX4 – 一款32位基于ARM的自動導航儀,支持很多高級特性,使用NuttX實時操作系統;
· APM2 – 一款受歡迎的AVR2560 8位自動導航儀;
· APM1(已終止開發) – 一款基于AVR2560的自動導航儀,使用分離式結構。
由于ArduPilot/APM源碼基于AP-HAL硬件抽象層編寫,使代碼能支持更多自動導航板變為可能。
APM開發語言與工具:
用于ArduPilot/APM的主要飛行代碼使用C++編寫。支持工具使用多語言編寫,最常用的是python。目前,主要載具代碼編寫為“.pde”文件,由Arduino構建系統得來。pde文件是預處理為.cpp文件構建的一部分。pde文件中包含的聲明也能提供構建規則,說明需要包含與連接到哪些庫。
地面站:
ArduPilot/APM支持多種地面站用于計劃與控制飛行。飛行固件使用MAVLink協議,它允許飛機被任何MAVLink兼容設備控制。
· 使用最廣泛的地面站就是Mission Planner,使用用于Windows的C#語言編寫。Mission Planner的源碼可以在github上查看。Mission Planner也能通過 mono運行在Linux與MacOS 上。
· QGroundControl也是地面站的一個選擇,使用C++的Qt庫編寫
· 對于面相命令行與可編腳本地面站,你可以使用 MAVProxy
· 對于android平板,你可以使用ArdroPilot或者 DroidPlanner
其他特征:
主控芯片:AvrAtmega1280/2560
主要傳感器:Atmega168/328。雙軸陀螺,IMU(單軸陀螺,三軸加速度計,三軸磁力計模塊)。氣壓計,AD芯片。
編譯環境:Arduino IDE
開發語言:arduino
開發軟件:Arduino IDE界面友好簡單,Arduino語言類似于C語言
采用算法:兩級PID控制方式,第一級是導航級,第二級是控制級
硬件平臺:
APM2.5:板載電子羅盤;
APM2.6:電子羅盤外置和GPS融合了。
優缺點:
優勢 |
1. APM使用人數多,資料豐富齊全,特別是經典款APM2.5,上手快 2. 功能完全滿足使用 3. apm固件相對PX4成熟 4. 有震動,姿態的日志記錄,出現問題有據可查 |
劣勢 |
1. 處理器相比F407落后,但是夠用 2. 傳感器分散,集成度不高 |
二、開源PX4 / PIXHAWK系列
PX4系列:
PIXHAWK是根據飛控設計需求,結合PX4系列飛控發展而來的PX4飛控單塊電路板版本, PX4系列最初有兩個版本:PX4FMU與PX4IO。
PX4是一個由Lorenz Meier所在的瑞士小組所開發的學校項目,其擁有一個32位處理器,提供更多內存、運用分布處理方式并且包含一個浮點運算協處理器。相比APM,PX4 具有相對于前者10倍以上的CPU性能及其他更多方面的改進,Diydrones和3DRobotics把PX4系統視作他們下一代飛控的基礎。
PIXHAWK系列:
由3DR聯合APM小組與PX4小組于2014年推出的PIXHAWK飛控是PX4飛控的升級版本,擁有PX4和APM兩套固件和相應的地面站軟件。該飛控是目前全世界飛控產品中硬件規格最高的產品,也是當前愛好者手中最炙手可熱的產品。
PIXHAWK擁有168MHz的運算頻率,并突破性地采用了整合硬件浮點運算核心的Cortex-M4的單片機作為主控芯片,內置兩套陀螺和加速度計MEMS傳感器,互為補充矯正,內置三軸磁場傳感器并可以外接一個三軸磁場傳感器,同時可外接一主一備兩個GPS傳感器,在故障時自動切換。
基于其高速運算的核心和浮點算法,PIXHAWK使用最先進的定高算法,可以僅憑氣壓高度計便將飛行器高度固定在1米以內。它支持目前幾乎所有的多旋翼類型,甚至包括三旋翼和H4這樣結構不規則的產品。它使飛行器擁有多種飛行模式,支持全自主航線、關鍵點圍繞、鼠標引導、“FollowMe”、對尾飛行等高級的飛行模式,并能夠完成自主調參。
PIXHAWK飛控的開放性非常好,幾百項參數全部開放給玩家調整,靠基礎模式簡單調試后亦可飛行。PIXHAWK集成多種電子地圖,愛好者們可以根據當地情況進行選擇。PIXHAWK被定位為下一代無人機飛控,系統具備的所有特征,均符合未來無人機飛控系統未來發展的基礎需求,未來將會有更大的發展空間。
技術規格
處理器
32位 STM32F427 ARM Cortex M4 核心外加 FPU(浮點運算單元)
168 Mhz/256 KB RAM/2 MB 閃存
32位 STM32F103 故障保護協處理器
傳感器
Invensense MPU6000 三軸加速度計/陀螺儀
ST Micro L3GD20 16位陀螺儀
ST Micro LSM303D 14位加速度計/磁力計
MS5611 MEAS 氣壓計
舵機端口7V高壓與高電流輸出
所有的外圍設備輸出都有過流保護,所有的輸入都有防靜電保護
5個UART串口,1個支持大功率,兩個有硬件流量控制
Spektrum DSM/DSM2/DSM-X 衛星輸入
Futaba SBUS輸入(輸出正在完善中)
PPM sum信號
RSSI(PWM或者電壓)輸入
3.3 與 6.6 ADC 輸入
尺寸
重量 38g?
長 81.5 mm x 寬 50 mm x 高 15.5 mm
Pixhawk的接口分配
PWM,PPM-SUM和SBUS模式下的舵機與電調的連接方法
Pixhawk接口圖
* 備注:
上圖中針腳1在右邊:串口 1 (Telem 1),串口 2 (Telem 2) ,串口 (GPS) 針腳:6 = GND, 5 = RTS, 4 = CTS, 3 = RX, 2 = TX, 1 = 5V。
開源飛控系統在廣大飛控愛好者、機構的開發維護下,功能日漸強大,系統趨于完善。而且,開源系統的開發維護都是基于Google Code、GitHub等開放式開發平臺,開發者們為了保證遠程協作的順利進行,通常會維護一個詳盡具體的說明文檔,這也是開源飛控系統一個突出的特點,即整套飛控系統的開發說明文檔十分詳細,入門教程豐富,非常適合新手學習、了解,或者基于現有飛控系統做二次開發。
PX4、APM等開源飛控憑借完善強大的功能以及相關技術支持,為無人機產品線的開發鋪平了道路。大量實踐表明:一名電子或者自動化相關專業的碩士研究生甚至本科生發燒友,或者相關專業從業人員,都可以按照相關手冊、教程在較短的時間內開發出一臺功能齊備的無人機樣機,這也是隨后出現的井噴現象的一個技術基礎。
編輯:黃飛
?
評論