无人机开发环境和搭建(PX4和APM)
概述
本文主要描述了APM和PX4使用最新固件搭建无人机开发环境的过程,主要解决了:
- 使用fastgithub工具解决从github上下载代码和软件问题
- 详尽描述了windows下搭建开发环境的过程,在windows 11 sandbox验证通过,在linux x64和arm64版本也均已经验证通过
- 为了方便安装环境的搭建,文末提供windows11 下已经验证好的环境
- 目前仅验证了固件编译,并未验证仿真功能
安装fastgithub软件
- 直接上github上下载对应版本的fastgithu软件
- 下载完成后,按照github上说明运行软件即可
- windows上解压文件运行相应的exe即可
- linux上,解压后,进入目录运行 ./fastgithub start
注: 此时之前下载速度慢或者无法下载的github文件就可以正常下载了。主要是方便后续克隆文件
下载px4最新代码
这里假设已经安装号git了。
- 打开命令行运行
git clone https://github.com/PX4/PX4-Autopilot.git
命令克隆PX4-Autopilot固件 - 下载完成后,
cd PX4-Autopilot
,进入PX4-Autopilot文件夹下 - 运行
git submodule update --init --recursvie
,拉取所有子模块- 注意这里一定需要用recursvie,否则有部分内容会下载不完全
下载APM最新代码
这里假设已经安装号git了。
- 打开命令行运行
git clone https://github.com/ArduPilot/ardupilot.git
命令克隆PX4-Autopilot固件 - 下载完成后,
cd ardupilot
,进入ardupilot文件夹下 - 运行
git submodule update --init --recursvie
,拉取所有子模块- 注意这里一定需要用recursvie,否则有部分内容会下载不完全
windows 开发环境配置
安装github编译环境下载
- 参照PX4官方文档 下载
PX4+Windows+Cygwin+Toolchain
- 下载完成后以管理员身份运行PX目录下的run-console.bat,这样就进入无人机开发环境中
PX4 编译
- 进入
cd PX4-Autopilot
文件夹 - 运行
make all
进行编译,如遇到提示python模块出错,pip3 install xxx 安装对应模块就好 - 如果报错无法解决,用
make clean
清除编译,或者重新打开开发环境。
APM 编译
- 进入
cd ardupilot
文件夹 - 先运行
./waf configure --board CUAV-X7
配置板卡类型,这里配置板卡为雷迅X7飞控,如用其他飞控,也可进行相应配置。 - 编译直升机固件 ./waf copter,如遇到提示python模块出错,pip3 install xxx 安装对应模块就好
- 如果报错无法解决,用
./waf clean
清除编译,或者重新打开开发环境。
linux 下开发环境配置
PX4 开发环境搭建和编译
- 安装gcc-arm-none-eabi,这里参考链接博文,以免出现工具链下不下来的情况
- 命令行运行
./Tools/setup/ubuntu.sh
进行脚本安装,- 这里使用的是ubuntu,如果采用其他linux系统,也可以运行相应的sh进行环境安装
- 由于之前安装了gcc-arm-none-eabi,这里选择跳过(主要是考虑到下载慢的问题)
- 安装完成后,可以参考windows下编译,进行编译
ardupilot开发环境搭建
- 基本流程与PX4流程相同
- 不同的是工程中安装环境路径不一致,这里采用的是
./Tools/environment_install/install-prereqs-ubuntu.sh
打包环境百度云下载
链接:https://pan.baidu.com/s/1sgsfb-ellzqsIuii1swPvQ?pwd=0c6x
提取码:0c6x
–来自百度网盘超级会员V9的分享
- 文件夹中对应关系
- fastgithub_win-x64 github 加速之用
- PX4+Windows+Cygwin+Toolchain+0.9.exe 开发环境安装exe
- PX4 对应已经打包好的开发环境,解压后管理员身份运行
run-console.bat
即可,在windows11 sandbox沙箱中验证通过 - PX4-Autopilot 当前日期最新PX4固件,已拉取所有submodule,可正常进行编译
- ardupilot 当前日期最新APM固件,已拉取所有submodule,可正常进行编译
MAVProxySetup-latest
可能用到的比较难下载的软件,如果不涉及仿真不用安装。