飛控開發android
一.名字的由來。
ArduPilot的「Ardu」部分取自Arduino。最初APM1自動導航板是基於Arduino開發環境的。自從咱們成長的比Arduino環境更快時,咱們就再也不使用Arduino運行庫了。儘管咱們仍然使用稍加修改的Arduino集成開發環境版本,來支持用於基於AVR的APM1與APM2板的ArduPilot。由於咱們如今不只支持Arduino兼容硬件(如PX4),爲表示當前代碼的跨平臺特性,咱們把「Ardu」前綴從軟件項目取消,改成了「APM」 前綴(APM:Copter,APM:Plane,APM:Rover等)。
二.支持的硬件平臺。
目前ArduPilot/ APM支持如下硬件平臺。
Pixhawk - 次世代PX4,與更多的內存,提升了傳感器和更容易使用的設計。
PX4FMU - 基於一個32位的ARM自動駕駛儀與許多先進的功能,使用NuttX實時操做系統。
VRBrain。
FlyMaple。
BeagleBone黑色 - 在開發,測試平臺在Linux上運行ArduPilot(僅開發版)。
APM2 - 一種流行的AVR2560 8位自動駕駛儀。
APM1(停產) - 一個基於AVR2560獨立傳感器板(又名「oilpan」)。
所述ArduPilot/ APM源代碼被寫入該AP-HAL硬件抽象層的頂部上,使得端口代碼可以普遍兼容不一樣的硬件平臺。
三.工程目錄。
該ArduPilot系統是由在下面列出的幾個不一樣的項目。
APM:Plane – 固定翼。
APM:Copter – 多旋翼和直升機。
APM:Rover – 地面車輛。
Mission Planner – 用C#編寫的Windows最經常使用的地面站也經過mono運行在Linux和MacOS。
APM Planner 2.0 – 用C++使用Qt庫專門爲APM寫的是一個地面站。
MAVProxy – 命令行導向和編寫腳本的地面站(主要用於開發)。
MinimOSD – 在屏上顯示飛行數據。
AndroPilot – android地面站。
DroneAPI – 用於無人機協處理器和Web應用程序開發人員API。
DroidPlanner2 – android地面站。
QGroundControl –用C ++編寫使用Qt庫作的一個替代地面站。
PX4 – PX4FMU板的支持代碼。
MAVLink – 爲地面站,飛行控制器和一些外設包括OSD之間的通訊的協議。
四.入門飛行代碼開發。
apm代碼庫。
學習ArduCopter代碼。
創建代碼。
下載代碼到板子。學習