2、开发环境搭建:PX4源码获取、交叉编译工具链安装、仿真环境配置、IDE推荐与配置
说实话,搭建开发环境这件事,看着简单,但坑不少。我见过太多新手卡在这一步,一卡就是好几天。今天我把这些年踩过的坑、积累的经验,一次性给你讲清楚。
2.1 PX4源码获取
源码获取,说白了就是把PX4的代码从GitHub上拉下来。但这里有个细节——千万别直接下载ZIP包。为什么?因为PX4用了很多子模块,ZIP包会漏掉这些东西。
正确的做法是用git clone,而且得加上--recursive参数:
git clone --recursive https://github.com/PX4/PX4-Autopilot.git
cd PX4-Autopilot
嗯,这里要注意。如果你网络不太好,子模块可能会下载失败。我建议你分两步走:
- 先拉主仓库:
git clone https://github.com/PX4/PX4-Autopilot.git - 再初始化子模块:
git submodule update --init --recursive
这样就算某个子模块失败了,你也能单独重试,不用从头再来。
2.2 交叉编译工具链安装
交叉编译,说白了就是在你的电脑上编译出能在飞控板上运行的程序。这需要一套专门的工具链。
PX4官方推荐用gcc-arm-none-eabi这个工具链。安装方式取决于你的操作系统:
Ubuntu系统(推荐)
sudo apt-get update
sudo apt-get install gcc-arm-none-eabi
# 验证安装
arm-none-eabi-gcc --version
macOS系统
brew tap ArmMbed/homebrew-formulae
brew install arm-none-eabi-gcc
Windows系统
我个人不太建议在Windows上直接搞,坑太多。如果你非要用,可以装WSL2,然后在Ubuntu子系统里操作。
2.3 仿真环境配置
仿真环境,就是让你在没有真实硬件的情况下,也能测试代码。PX4支持多种仿真方式,我重点讲两种最常用的。
Gazebo仿真(最常用)
Gazebo是PX4官方主推的仿真器。安装命令如下:
# 安装Gazebo
sudo apt-get install gazebo9 libgazebo9-dev
# 安装PX4的Gazebo插件
cd ~/PX4-Autopilot
make px4_sitl gazebo
第一次运行会下载一些模型文件,耐心等就行。我记得第一次跑仿真时,看到无人机在虚拟世界里飞起来,那种感觉真的很奇妙。
JMAVSim仿真(轻量级)
如果你的电脑配置不高,或者只想测试基本的飞行逻辑,可以用JMAVSim:
make px4_sitl jmavsim
它比Gazebo轻量得多,启动也快。但画面嘛...你想想看,就是个简笔画风格。
2.4 IDE推荐与配置
写代码嘛,总得有个趁手的工具。我试过不少IDE,最后固定下来两套方案。
VS Code(强烈推荐)
VS Code是目前最流行的选择,轻量、插件丰富。我建议你装这几个插件:
| 插件名 | 作用 |
|---|---|
| C/C++ | 代码补全、语法高亮 |
| CMake Tools | CMake构建支持 |
| GitLens | Git历史查看 |
| Python | Python脚本支持 |
配置好之后,按Ctrl+Shift+P,输入CMake: Configure,选择PX4-Autopilot目录就行。
Eclipse(老牌选择)
如果你习惯用Eclipse,也可以。但配置起来稍微麻烦点。我个人觉得VS Code更香,除非你已经在Eclipse上积累了大量配置。
src/modules/fw_att_control,这样快得多。
2.5 知识体系总览
说了这么多,我画了张图帮你理清思路:
这张图把四个核心模块串起来了。你想想看,源码获取是起点,工具链是基础,仿真环境是测试场,IDE是武器。缺了哪个都不行。