参考文献
【1】https://ardupilot.org
主打的就是一个炫酷
自驾仪 Ardupilot
一套开源的自驾仪,集成了各种各样的代码,包括其他开源代码(如PX4代码)和项目、驱动等。
即:自驾仪即集成了整个可以实现无人载具(如无人机)自动驾驶功能的代码。
固件 Firmware
指定硬件(即target board)后,将Ardupilot编译后的可以下载到硬件的二进制程序(文件)。
文件后缀一般为.hex
软件(地面站)
一般指运行在pc上的地面站Mission Planner或QGC。
常用的地面站包括:
- Mission Planner
- QGC
- APM Planner 2 Home
- MAVProxy
地面站的主要功能包括:
- Point-and-click waypoint/fence/rally point entry, using Google Maps/Bing/Open street maps/Custom WMS.
- Select mission commands from drop-down menus
- Download mission log files and analyze them
- Configure autopilot settings for your vehicle
- Interface with a PC flight simulator to create a full software-in-the-loop (SITL) UAV simulator.
- Run its own SITL simulation of many frames types for all the ArduPilot vehicles.
支持的硬件
不同的载具类型由不同的硬件设备支持,以copter为例:
- 开源硬件 Open hardware:
ARKV6X DS-10 Pixhawk6
CUAV V5 Plus
CUAV V5 Nano
CUAV Nora
CUAV Pixhawk v6X
CUAV X7/X7Pro/X7+/X7+ Pro
Drotek Pixhawk3
F4BY
CubePilot Cube Black
CubePilot Cube Orange/+
CubePilot Cube Purple
CubePilot Cube Yellow
CubePilot Cube Green
Holybro Durandal H7
Holybro Pix32 v5
Holybro Pixhawk 4
Holybro Pixhawk6X
Holybro Pixhawk6C/ 6C Mini
Holybro Pix32v6(Pixhawk6C variant)
mRo Pixhawk
mRo Pixracer
mRo X2.1
mRo X2.1-777
OpenPilot Revolution
TauLabs Sparky2* - 不开源的硬件 Closed hardware:
Aerotenna Ocpoc-Zynq
Airvolute DroneCore
AtomRC F405-NAVI
Emlid NAVIO2 (Linux)
Flywoo F745 AIO BL_32/ Nano
Foxeer Reaper F745-AIO V2
Furious FPV F-35 Lightning and Wing FC-10
Holybro Kakute F4*
Holybro Kakute F4 Mini*
Holybro Kakute F7 AIO*
Holybro Kakute F7 Mini* (only V1 and V2 are compatible)
等等…
更多请参考官网:https://ardupilot.org/copter/docs/common-autopilots.html
查询与Ardupilot兼容的硬件方法:
以Coppter为例
https://ardupilot.org --> DOCUMENTATION --> Coppter --> Autopilot Hardware Options
支持的机器类型(载具) Vehicle Types Supported by ArduPilot
如:多旋翼、直升机、无人船、无人小车等…
更多兼容的载具类型请参考官网:https://ardupilot.org/ardupilot/docs/common-all-vehicle-types.html
MAVLink协议
自驾仪Ardupilot与地面站、上位机、ros等设备或软件通讯的协议。
MAVProxy(最小地面站)
一个基于MAVLink的地面站软件包。A UAV ground station software package for MAVLink based systems。
MAVProxy是一个功能齐全的、最低限度、便携的、可扩展的无人机UAV地面站。
特点:
- 基于命令行的地面站软件,一般适合开发人员使用。
- 它可以通过附加模块进行扩展,也可以与另一个地面站(如Mission Planner、APM Planner 2、QGroundControl等)进行相互的功能补充,以提供图形用户界面。
- 可以通过UDP通信协议将无人机的信息通过网络转发到在其他设备上运行的地面站软件。
- 用户现在在其他地面站工具中看到的许多功能可以追溯到MAVProxy。
- 它是一个基于命令行控制台的应用程序。MAVProxy中包含一些插件来提供基本的GUI。
- 可以联网并在任何数量的计算机上运行。
- 它是便携的,可以在Linux、OS X、Windows和其他操作系统上运行。只要这些系统满足:any POSIX OS with python, pyserial, and select() function calls。
- 它支持可加载模块,并具有支持控制台、移动地图、操纵杆、天线跟踪器等的模块。
- 按Tab键完成命令。
常用的MAVProxy命令:https://ardupilot.org/mavproxy/docs/getting_started/cheatsheet.html#mavproxy-cheetsheet
学习MAVProxy更多知识请参考官网https://ardupilot.org/mavproxy/index.html
配套计算机(上位机) Companion Computers
一般指:
运行地面站的PC
负责运行一些高级任务(目标检测、拍照等)的上位机,如树莓派、TX2等。
这些上位机与飞控(下位机)通过Mavlink进行通信。
上位机可以划分未两个部分,即:
- 硬件选型,如树莓派
- 软件,如Ros机器人操作系统
流行的上位机硬件和使用教程(与ardupilot通信的教程)
流行的上位机软件和使用教程(与ardupilot通信的教程)
具体请参考官网:https://ardupilot.org/dev/docs/companion-computers.html
ArduPilot外围设备 AP_Periph
AP_Periph是ArduPilot外围设备的缩写,即基于现有ArduPilat自动驾驶仪代码的ArduPilet外围设备。它采用ArduPilot的外围设备驱动程序库,并使其在独立的外围设备上运行,这些外围设备通过CAN、MSP或其他外围总线协议与主自动驾驶仪通信。
详细请参考https://ardupilot.org/dev/docs/ap-peripheral-landing-page.html
Ardupilot 二次开发
官方开发者文档:https://ardupilot.org/dev/index.html
下载代码
- ArduPilot官方GitHub仓库Repo:https://github.com/ArduPilot/ardupilot
- fork 官方Repo成为自己的代码副本。