`make px4_sitl gazebo_iris` 和 `roslaunch px4 mavros_posix_sitl.launch`区别
·
make px4_sitl gazebo_iris 和 roslaunch px4 mavros_posix_sitl.launch 是两种不同的PX4仿真启动方式,主要区别如下:
1. make px4_sitl gazebo_iris
功能特点:
- 纯PX4仿真:仅启动PX4飞控软件在环仿真(SITL)和Gazebo环境
- 无ROS集成:不自动启动MAVROS或任何ROS节点
- 直接通信:通过UDP端口(14550/14580)直接与QGC通信
- 轻量级:占用资源较少,适合飞控算法测试
典型输出:
[init] shell id: 140735313312544
[init] task name: px4
______ __ __ ___
| ___ \ \ \ / / / |
| |_/ / \ V / / /| |
| __/ / \ / /_| |
| | / /^\ \ \___ |
\_| \/ \/ |_/
px4 starting.
适用场景:
- 需要快速验证飞控行为
- 不涉及ROS的纯PX4开发
- 与QGroundControl直接交互调试
2. roslaunch px4 mavros_posix_sitl.launch
功能特点:
- 全栈仿真:同时启动:
- PX4 SITL
- Gazebo环境
- MAVROS节点(ROS与PX4的桥梁)
- 默认加载iris无人机模型
- ROS集成:自动建立ROS话题和服务:
/mavros/state /mavros/setpoint_position/local /mavros/vision_pose/pose 等 - 开发友好:直接支持ROS控制接口
典型输出:
[ INFO] [1620000000.000000000]: MAVROS started. MY ID 1.240, TARGET ID 1.1
[ INFO] [1620000000.100000000]: FCU: Connected!
[ INFO] [1620000000.200000000]: FCU: GPS: 1, MAG: 1
适用场景:
- 需要ROS节点控制无人机的场景
- 视觉导航、SLAM等ROS生态开发
- 多机协同仿真
核心区别对比
| 特性 | make px4_sitl gazebo_iris |
roslaunch px4 mavros_posix_sitl.launch |
|---|---|---|
| 启动组件 | 仅PX4 + Gazebo | PX4 + Gazebo + MAVROS + ROS接口 |
| 通信方式 | 直接UDP (14550) | 通过ROS话题中转 |
| QGC连接 | 直接可连 | 需额外配置端口转发 |
| ROS集成 | 无 | 完整MAVROS接口 |
| 资源占用 | 较低 | 较高 |
| 典型用途 | 飞控算法验证 | ROS生态开发 |
如何选择?
- 只需测试PX4基础功能 → 用
make命令 - 需要ROS开发/MAVROS控制 → 用
roslaunch命令 - 需要两者结合:
# 终端1:启动基础仿真 make px4_sitl gazebo_iris # 终端2:手动启动MAVROS roslaunch mavros px4.launch fcu_url:="udp://:14540@127.0.0.1:14557"
连接QGC的注意事项
- 使用
make命令时:QGC直接连接14550端口 - 使用
roslaunch时:需要检查launch文件中fcu_url参数配置:
此时QGC应连接14557端口<!-- 在mavros_posix_sitl.launch中确保有 --> <arg name="fcu_url" default="udp://:14540@127.0.0.1:14557"/>
建议通过netstat -tulnp命令查看实际开放的端口号。
更多推荐




所有评论(0)