2. PX4 开发环境搭建:Ubuntu系统安装、交叉编译工具链、QGC地面站安装、MAVSDK安装、VS Code配置
说实话,搭建开发环境这件事,看着琐碎,但却是整个PX4学习过程中最容易被卡住的一步。我见过太多朋友,代码写得挺好,结果环境没配好,编译报错一整天,心态直接崩了。
这一章,咱们就把这些基础工具一个一个装好。你跟着我的步骤来,基本不会出问题。
本章核心目标: 搭建一套完整的PX4开发环境,包括操作系统、编译工具、地面站、SDK和代码编辑器。完成后,你能从零开始编译PX4固件,并连接QGC进行仿真测试。
2.1 Ubuntu 系统安装
PX4 官方推荐在 Ubuntu 20.04 LTS 上开发。我个人也一直用这个版本,稳定,坑少。
你可能会问:用 Windows 行不行?嗯,也能跑,但编译速度慢,而且很多工具链的兼容性问题会让你抓狂。我建议你直接装双系统或者用虚拟机。
我的建议: 如果你有 16GB 以上内存,用 VMware 或 VirtualBox 装 Ubuntu 20.04 就行。硬盘至少分 60GB。如果条件允许,直接装双系统,性能最好。
安装步骤很简单:
- 下载 Ubuntu 20.04 LTS 镜像(官网或国内镜像站)
- 用 Rufus 或 balenaEtcher 制作启动 U 盘
- 重启电脑,从 U 盘启动,按提示安装
- 分区时建议:
/分 30GB,/home分剩余空间,swap 给 8GB
注意: 安装时选择「最小安装」,别装一堆用不上的软件。装完后先执行 sudo apt update && sudo apt upgrade -y 更新系统。
2.2 交叉编译工具链安装
交叉编译,说白了就是在电脑上编译出能在飞控芯片上运行的代码。PX4 主要用 ARM 架构的芯片,所以我们需要装 ARM 交叉编译器。
我记得第一次配这个的时候,被各种版本号搞晕了。后来发现,直接用 PX4 官方脚本最省事。
打开终端,执行:
# 安装 PX4 官方推荐的依赖和工具链
git clone https://github.com/PX4/PX4-Autopilot.git --recursive
cd PX4-Autopilot
bash ./Tools/setup/ubuntu.sh
这个脚本会自动安装:
- gcc-arm-none-eabi:ARM 交叉编译器
- cmake、ninja:构建工具
- Python 依赖:用于编译脚本和测试
- 其他系统库:如 SDL2、OpenCV 等
验证安装: 装完后运行 arm-none-eabi-gcc --version,如果显示版本号,说明工具链装好了。我习惯再跑一次 make px4_fmu-v5_default 测试编译,确保一切正常。
2.3 QGC 地面站安装
QGroundControl(简称 QGC)是 PX4 的官方地面站。你用它来调参、看日志、做仿真测试。
安装方式有两种:
| 安装方式 | 命令 / 步骤 | 适用场景 |
|---|---|---|
| AppImage(推荐) | 下载 .AppImage 文件 → chmod +x → 双击运行 |
日常使用,升级方便 |
| 从源码编译 | git clone → cmake → make |
需要二次开发或调试 |
我个人推荐用 AppImage 版本。下载后给执行权限就行,不用装一堆依赖。
# 下载 QGC AppImage(以 v4.2.0 为例)
wget https://d176tv9ibo4jno.cloudfront.net/latest/QGroundControl.AppImage
chmod +x QGroundControl.AppImage
./QGroundControl.AppImage
小技巧: 第一次启动 QGC 时,它会自动检测串口。如果你连了飞控,记得在「Comm Links」里添加对应的串口设备。我曾经因为没选对波特率,折腾了半天才发现是 921600 而不是 115200。
2.4 MAVSDK 安装
MAVSDK 是 PX4 的官方开发库。你想用 C++、Python、Swift 等语言写无人机控制程序,都得靠它。
安装 MAVSDK 有两种方式:
- 通过包管理器安装(推荐)
- 从源码编译
我建议你用包管理器,省时间。以 C++ 版本为例:
# 添加 MAVSDK 的 APT 源
sudo wget https://github.com/mavlink/MAVSDK/releases/download/v1.4.0/libmavsdk-dev_1.4.0_amd64.deb
sudo dpkg -i libmavsdk-dev_1.4.0_amd64.deb
# 或者用 Python 版本
pip3 install mavsdk
注意: MAVSDK 版本要和 PX4 固件版本匹配。比如 PX4 v1.13 对应 MAVSDK v1.x。我曾经因为版本不匹配,导致无人机起飞后无法切换模式,差点炸机。嗯,从那以后我每次都先查版本兼容性。
2.5 VS Code 配置
编辑器这块,我强烈推荐 VS Code。免费、插件多、对 PX4 支持好。
安装 VS Code 很简单:
# 下载 .deb 包安装
wget https://code.visualstudio.com/sha/download?build=stable&os=linux-deb-x64
sudo dpkg -i code_*.deb
装完后,我建议你装这几个插件:
- C/C++:代码补全和调试
- Python:写 MAVSDK 脚本用
- CMake Tools:编译 PX4 固件时方便
- GitLens:看代码历史,找 bug 时很有用
- Remote - SSH:如果你用远程服务器编译,这个必备
配置技巧: 在 VS Code 里打开 PX4-Autopilot 文件夹,按 Ctrl+Shift+P,输入「CMake: Configure」,选择 px4_fmu-v5_default。之后按 F7 就能编译。比在终端敲命令方便多了。
2.6 环境验证:跑一次仿真
所有工具装完后,我们来验证一下环境是否正常。跑一次 PX4 的软件在环仿真(SITL)。
cd ~/PX4-Autopilot
make px4_sitl gazebo
如果一切顺利,你会看到 Gazebo 仿真界面弹出来,一架无人机出现在跑道上。这时候打开 QGC,应该能看到无人机已经连接上了。
我的经验: 第一次编译大概要 20-30 分钟,取决于你的电脑配置。如果编译过程中报错,多半是依赖没装全。回头检查一下 ubuntu.sh 脚本的输出,看看有没有失败的步骤。
好了,环境搭好了。接下来你就可以开始写代码、调参数了。记住,环境搭建是基础,基础打牢了,后面才走得稳。