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接口代码修改。