开源飞控APM小结

基础知识

1. APM飞控官网

2. 上层控制DroneKit官网

3. 地面站,mission planner

4. 固件下载地址:

Apm主要支持五类机器:

英文中文
Copter旋翼机
Plane固定翼
Rover小车
Sub潜艇
Blimp飞艇
Antenna Tracker导弹
支持类型示意图

工作模式:

Acro
Stabilize
Loiter
Alt-hold
Return To Launch
Land
Follow Me
GeoFence

APM开发

下载源码:

git clone https://github.com/ArduPilot/ardupilot.git --recursive
git submodule update --init --recursive  

安装一些包

./Tools/environment_install/install-prereqs-ubuntu.sh -y
. ~/.profile

waf配置

./waf configure  

# 清楚构建文件 
./waf clean

设备权限修改

sudo usermod -a -G dialout $USER 

代码基础架构:

代码架构示意图

底层操作系统:ChibiOS(一个嵌入式实时操作系统)。

核心库:13

- AP_AHRS
- AP_common
- AP_math
- AP_PID
- AP_InertialNav
- AC_AttitudeControl
- AC_WPNav
- AP_Motors
- RC_Channel
- AP_HAL, AP_HAL_ChibiOS、AP_HAL_Linux

传感器库:6

- AP_InertialSensor
- AP_RangeFinder
- AP_Baro
- AP_GPS
- AP_Compass
- AP_OpticalFlow

其他库:5

- AP_InertialSensor
- AP_RangeFinder
- AP_Baro
- AP_GPS
- AP_Compass
- AP_OpticalFlow

WAF编译烧录工具使用

官网:

使用waf工具

./waf configure --board px4-v5  
# 编译 
./waf copter

列出支持的板卡

./waf list_boards

上传固件

./waf --targets bin/arducopter --upload

发布于 2022-07-09 15:31