RflySim 平台使用统一规划的 UDP/TCP 端口体系 及 **硬件串口**,支持硬件飞控 HIL、PX4 SITL 与多机并行仿真。每个载具使用编号 n
(从 1 开始),端口或串口按步长自动递增。
通信类别 | 接口类型/协议 | 默认端口/串口 | 用途说明 |
---|---|---|---|
硬件飞控 HIL(串口) | 串口 MAVLink | /dev/ttyUSBn 或 COMn (baud 921600) | Pixhawk PX4 ↔ CopterSim:• mavlink_hil_actuator_controls 执行器控制(inPWMs)• mavlink_hil_sensor 、mavlink_hil_gps 传感器/GPS 数据 |
PX4 SITL 网络命令 | TCP MAVLink | TCP 4561++(n-1) | CopterSim ↔ PX4 SITL:基于 MAVLink 的命令下发与状态同步 |
PX4 SITL 传感器 HIL | UDP MAVLink | UDP 17540++(n-1) | PX4 SITL → CopterSim:HIL 传感器(GPS/IMU)数据 |
PX4 SITL 执行器 HIL | UDP MAVLink | UDP 16540++(n-1) | CopterSim → PX4 SITL:HIL 执行器控制指令(如 inPWMs via mavlink_hil_actuator_controls ) |
状态回传 (MAVLink) | UDP 20101++2*(n-1) | UDP 20101, 20103, … | CopterSim → 外部控制器:飞控状态(位置、速度、姿态等) |
控制指令接收 | UDP 20100++2*(n-1) | UDP 20100, 20102, … | 外部控制器 → CopterSim:位置、速度、Offboard 控制等指令 |
仿真真值输出 | UDP 30101++2*(n-1) | UDP 30101, 30103, … | CopterSim → 外部程序:仿真“真值”状态(真实位置、速度、碰撞射线等) |
故障注入/综合控制 | UDP 30100++2*(n-1) | UDP 30100, 30102, … | 外部程序 → CopterSim:上层模型控制指令或故障注入消息 |
底层控制桥接 | UDP 40100++2*(n-1) | UDP 40100, 40102, … | 外部程序 → PX4:ACTUATOR_CONTROL_TARGET MAVLink 消息转发至飞控 |
地面站通信 (QGC) | TCP 14550TCP 18570++(n-1) | UDP 14550 , 18570, 18571, … | CopterSim ↔ QGroundControl:MAVLink 数据下发与用户遥控命令回传 |
三维渲染 & 场景同步 | UDP 20008–20009UDP 20010++(n-1) | UDP 20008,20009 , 20010,20011,… | CopterSim ↔ RflySim3D:飞机位姿、场景命令、碰撞反馈等 |
视觉图像数据流 | 共享内存 或 自定义 UDP | 用户在 Config.json 中自定义 | RflySim3D → 上层程序(Python/MATLAB):高效图像帧流输出 |
说明
n
为 CopterID(从 1 开始);++(n-1)
表示每个载具端口按步长 1 或 2 递增;(串口)
可根据实际硬件映射为/dev/ttyUSB0
、COM3
等;- 视觉数据流若使用 UDP,需在
Config.json
的port
字段中配置;- 所有外部控制端口均可通过
Config.json
、Simulink Block 或对应Python接口代码修改。