1. 代码下载

打开git输入命令:(从国内gitee上下载速度快)

git clone https://gitee.com/ardupilot/ardupilot.git

下载完成后查看分支,先进入ardupilot文件夹里:

git tag 

查看最新的稳定分支,我这里使用的最新的分支是(Plane-4.5.5),输入命令切换到最新分支,并且将新的分支名字改为Plane4.5.5:

git checkout -b Plane4.5.5 Plane-4.5.5

更新子模块:(这里多更新几次,防止有部分更新失败)

git submodule update --init --recursive

2. 编译环境搭建

进入ardupilot源码目录"…\ardupilot\Tools\environment_install\install-prereqs-windows.ps1"运行install-prereqs-windows.ps1,自动安装编译环境,最好是把翻墙软件运行上,速度会快很多。可能会失败,可以多试几次确保成功安装。
我当前用的版本比较新,如果网也不好,用的是低版本的开源代码,则参考怒飞垂云老师的教程,他的教程可以解决你的很多麻烦。
最开始我用的是怒飞老师的教程将环境搭建起来,后来把代码由4.2.2更新为4.5后,发现编译环境就不行了,然后我就用4.5源码中的脚本重新安装了一下环境,本来不想改的,因为低版本不支持雷迅的双天线定向差分GPS了,没办法就只能升级。

3. 代码编译

搭建完成后会生成一个软件Cygwin64 Terminal,打开这个软件,进入源码目录:

cd ./ardupilot

先清除一下

./waf distclean

然后根据自己的硬件去定义需要编译的硬件类型(以CUAV-X7为例)

./waf configure --board CUAV-X7

编译源码(以固定翼为例)

./waf plane

如果编译遇到如图问题,输入命令:

pip3 install empy==3.3.4 --user

出现dronecangen return 1 error code

4. 仿真

打开Cygwin64 Terminal软件,进入源码目录:

cd ./ardupilot

运行纯软件仿真脚本(-v ArduPlane 固定翼 -f quadplane VTOL模型 --console启动控制台 --map打开地图 在默认位置,默认经纬度)

./Tools/autotest/sim_vehicle.py -v ArduPlane -f quadplane --console --map

如果要在指定地址仿真,打开“ardupilot\Tools\autotest”文件夹下的“locations.txt”文件,在第二行添加一个新的位置点。如下图所示,这个文件给出了很明确的注释,每一行表示一个位置点。我这里添加了一个名称为“NT”、纬度为“34.4584397”、经度为“108.3380857”、海拔高度为0米、初始航向为30度的位置点(纬度:北纬为正,南纬为负;经度:东经为正,西经为负);
添加新的位置
运行指定位置NT的纯软件仿真,则运行

./Tools/autotest/sim_vehicle.py -v ArduPlane -f quadplane --console --map -L NT
Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐