一、基础环境:PX4 源码编译与环境配置
1.1 源码下载与分支切换
首先搞定 PX4 核心源码,建议选择 V1.13 版本(稳定性高,适配性好):
# 创建 PX4 专属目录,克隆源码(--recursive 拉取子模块)
git clone https://github.com/PX4/PX4-Autopilot.git --recursive
cd PX4-Autopilot
# 切换到 V1.13 分支并更新子模块
git checkout -b V1.13
git submodule update --init --recursive
1.2 依赖安装与系统配置
运行 PX4 官方脚本完成环境初始化,过程中所有弹窗提示直接确认即可:
bash ./Tools/setup/ubuntu.sh
# 可选:跳过 nuttx/仿真工具(按需选择)
# bash ./Tools/setup/ubuntu.sh --no-nuttx --no-sim-tools
安装完成后必须重启系统,让依赖生效。
1.3 编译避坑:Python 版本冲突
重启后编译 PX4 SITL+Gazebo,大概率会遇到 empy 包版本问题,按以下步骤解决:
# 卸载冲突包
pip3 uninstall -y empy em cheetah3 Cheetah
# 安装兼容版本(3.3.4 亲测可用)
pip3 install empy==3.3.4
# 验证安装结果
pip3 show empy
# 清理旧构建缓存(关键!避免编译残留)
cd ~/PX4-Autopilot
make clean
rm -rf build/px4_sitl_default
# 重新编译核心指令
make px4_sitl_default gazebo
二、硬件集成:Mid360 激光雷达 + IMU 配置
2.1 模型文件放置
将 Mid360 和 IMU 的仿真模型文件,放到 PX4 的 Gazebo 模型目录:
PX4-Autopilot/Tools/sitl_gazebo/models/
目录结构参考:
- models/imu:IMU 仿真模型
- models/mid360:Livox Mid360 激光雷达仿真模型
2.2 SDF 文件修改:挂载传感器到 r1_rover
编辑 PX4-Autopilot/Tools/sitl_gazebo/models/r1_rover/r1_rover.sdf,在 base_link 下添加 IMU 和 Mid360 的挂载配置:
<!-- IMU 挂载(200Hz 频率) -->
<INCLUDE>
model://imu
0 0.06 0 0 0 0
imu::link
r1_rover::base_link
0 0 1
0
0
model://mid360
0 0 0 0 30 0
mid360::link
r1_rover::base_link
0 0 1
0
0
rover/imu_link


