本文详细介绍了基于PX4飞控与Gazebo仿真器,对标准垂直起降(VTOL)无人机进行硬件在环(HITL)仿真的完整流程。通过此方法,可以在连接真实飞控硬件的情况下,于仿真环境中安全地测试飞行控制算法与整机性能。
仿真环境
为了确保仿真顺利进行,请预先准备好以下软硬件环境:
| 组件 |
版本/型号 |
| 操作系统 |
Ubuntu 20.04 |
| PX4 固件 |
stable v1.12.3 |
| QGroundControl (QGC) 地面站 |
v4.14 |
| 飞控硬件 |
Pixhawk CUAV V5+ |
| Gazebo 仿真器 |
11.9.0 |
教程步骤
1. 烧录飞控固件
- 使用USB线将Pixhawk飞控连接至电脑。
- 打开QGroundControl地面站。
- 点击左上角“Q”图标,依次点击 Vehicle Setup > Firmware。
- 界面右侧将弹出固件设置选项,选择 PX4 Pro Stable Release v1.12.3,点击 OK 开始下载并烧录固件。
2. 配置无人机机型
固件烧录完成后,重新连接飞控,进行机型选择:
- 在QGC中点击 Airframe(机型)。
- 在列表中选择 HIL Standard VTOL QuadPlanner。
- 点击右上角的 Apply and Restart,应用配置并重启飞控。

飞控重启后,进入 Summary 概览页面,确认机型已正确设置为 Standard VTOL。

3. 准备并启动Gazebo仿真环境
本步骤需要在PX4-Autopilot项目目录中进行操作,主要涉及Python脚本与编译命令。
- 初始化子模块:进入
PX4-Autopilot/Tools/sitl_gazebo/ 目录。如果该目录为空,请先运行以下命令初始化子模块:
git submodule init && git submodule update
- 编译生成SDF模型文件:返回至
PX4-Autopilot 根目录,执行以下编译命令以生成仿真所需的模型文件:
make clean && make distclean && DONT_RUN=1 make px4_sitl_default gazebo
- 定位并修改SDF文件:编译完成后,进入以下路径找到VTOL的模型文件:
PX4-Autopilot/Tools/sitl_gazebo/models/standard_vtol/standard_vtol.sdf
在该文件中,找到并确保以下参数被正确设置,以启用与飞控的硬件在环通信:
<serialEnabled>1</serialEnabled>
4. 运行硬件在环仿真
完成上述配置后,即可启动HITL仿真。在 PX4-Autopilot 根目录下运行以下命令:
make px4_sitl_default gazebo
此时,Gazebo将启动并加载VTOL无人机模型,同时与已连接且配置好的真实Pixhawk飞控建立通信,开始硬件在环仿真。
常见问题与解决
- 飞控连接或通信异常:尝试重新插拔USB线或重启电脑。这通常能解决网络与系统层面的临时识别问题。
- QGC版本差异:不同版本的QGC地面站界面可能略有不同,但核心配置流程(固件烧录、机型选择)基本一致,请根据实际界面提示进行操作。
- Gazebo模型未加载:请严格按照步骤3执行编译命令,确保
standard_vtol.sdf 文件被正确生成。
通过以上步骤,你可以成功搭建一个连接真实飞控的VTOL无人机Gazebo仿真环境,为后续的算法验证和系统测试打下坚实基础。
|