Ardupilot安装与配置

在上一篇QGC+PX4+AirSim软件仿真(Linux+Windows下)中,使用QGC+PX4+AirSim进行仿真测试,本文尝试使用Ardupilot替换PX4。

Cygwin

cygwin下载setup-x86_64.exe

在命令行中运行

1
setup-x86_64.exe -P autoconf,automake,ccache,cygwin32-gcc-g++,gcc-g++,git,libtool,make,gawk,libexpat-devel,libxml2-devel,python37,python37-future,python37-lxml,python37-pip,libxslt-devel,python37-devel,procps-ng,zip,gdb,ddd

或者根据Cygwin安装与配置使用界面安装

AirSim

按照流程编译安装运行UE/VS/AirSim

ARM-GCC

ARM-GCC下载程序

一路默认

记得勾选添加环境变量

MAVProxy

MAVProxy下载程序

一路默认安装

编译

打开Cygwin65-Terminal终端,先下载代码

1
2
3
4
5
6
7
8
9
$ git clone https://github.com/ArduPilot/ardupilot.git
Cloning into 'ardupilot'...
remote: Enumerating objects: 436168, done.
remote: Counting objects: 100% (191/191), done.
remote: Compressing objects: 100% (106/106), done.
remote: Total 436168 (delta 110), reused 132 (delta 85), pack-reused 435977
Receiving objects: 100% (436168/436168), 300.50 MiB | 1.11 MiB/s, done.
Resolving deltas: 100% (326866/326866), done.
Updating files: 100% (5805/5805), done.

切换至Copter-4.3分支

基础库

先编译基础库

1
2
./waf configure --board CubeBlack
./waf copter

命令运行会停在

1
2
3
4
5
6
7
8
9
10
Checking for program 'arm-none-eabi-size'      : /cygdrive/c/Program Files (x86)/GNU Arm Embedded Toolchain/10 2020-q4-major/bin/arm-none-eabi-size
Benchmarks : disabled
Unit tests : disabled
Scripting : enabled
Scripting runtime checks : enabled
Debug build : disabled
Coverage build : disabled
SITL 32-bit build : disabled
Checking for program 'rsync' : /usr/bin/rsync
'configure' finished successfully (6.434s)

直接Ctrl + C退出即可

SITL

编译软件在环

1
2
./waf configure --board=sitl --toolchain x86_64-pc-cygwin
./waf copter

测试

使用软件在环测试

1
./Tools/autotest/sim_vehicle.py --map --console -v ArduCopter -f airsim-copter --add-param-file=./Tools/autotest/default_params/airsim-quadX.parm --auto-sysid -N
  • -n 启动几个
  • --instance 0 单线程运行,与-n冲突
  • -N 不编译运行
  • --auto-sysid 自动配置id

经过一段时间的编译后

自动运行程序、地图、MAVProxy

运行程序

启动AriSim,运行,自动显示模型

airsim

手动打开qgc,等待一段时间后

qgc

地图上出现四旋翼无人机

规划航线,起飞

起飞

问题

GPS is not healthy

起飞时提示GPS不健康,添加命令行参数--add-param-file=./Tools/autotest/default_params/airsim-quadX.parm

同时在此文件中添加

1
ARMING_CHECK 0

说明

  • SITL需要比UE先启动,否则UE会处于假死状态等待SITL启动
  • 中文版QGC无法规划航线
  • m 切换至 模型视角 WASD控制上下左右,上下左右控制场景缩放 Page Up/Down控制模型
  • i 切换至 模型摄像头视角

Ardupilot安装与配置
https://feater.top/sim/simulation-with-qgc-ardupilot-airsim-under-windows/
作者
JackeyLea
发布于
2024年1月14日
许可协议