激活数据回传模式,在该模式下,一旦 RflySim3D 收到 Copter 的更新数据,它会再次将相关数据发送出来。
参数 | 解释 |
---|---|
isEnable | 0 表示不激活数据回传模式,1 表示激活数据回传模式 |
默认情况下,RflySim3D 只接收来自外部的 Copter 的信息,而收到的 UDP 数据的
结构类似于以下的结构体:
struct SOut2SimulatorSimple {
int checkSum;
int copterID;
int vehicleType;
float MotorRPMSMean;
float PosE[3];
float AngEuler[3];
}
该结构体的成员变量和类型:
成员变量 | 解释 |
---|---|
checkSum | 整型变量,表示数据包的校验码。 |
copterID | 整型变量,表示飞机的 ID 号。 |
vehicleType | 整型变量,表示飞机的类型。 |
MotorRPMSMean | 浮点型变量,表示电机转速的平均值。 |
PosE | 包含 3 个浮点型变量的数组,表示飞机的位置,三个元素分别是 X、Y 和 Z 坐标。 |
AngEuler | 包含 3 个浮点型变量的数组,表示飞机的欧拉角,三个元素分别是 Roll、Pitch 和 Yaw。 |
RflySim3D 默认不会发送三维场景中无人机的位置和姿态信息,但是如果有需要 的话,可以调用该命令 "RflyReqVehicleData 1"。当 RflySim3D 收到此命令时,它 将进入 "数据回传模式",开始使用 UDP 发送请求的 Copter 的数据。在该模式下, 一旦 RflySim3D 收到 Copter 的更新数据,它会再次将相关数据发送出来。具体发送的数据结构如 reqVeCrashData,包含以下字段
成员变量 | 解释 |
---|---|
checkSum | 数据包的校验码(固定值 1234567897) |
copterID | 当前飞机的 ID 号 |
vehicleType | 当前飞机的样式 |
CrashType | 碰撞物体类型,-2 表示地面,-1 表示场景静态物体,0 表示无碰撞,1 及以上表示被碰飞机的 ID 号 |
runnedTime | 当前飞机的时间戳 |
VelE | 当前飞机的速度 |
PosE | 当前飞机的位置 |
CrashPos | 碰撞点的坐标 |
targetPos | 被碰物体的中心坐标 |
AngEuler | 当前飞机的欧拉角 |
MotorRPMS | 当前飞机的电机转速 |
ray | 飞机的前后左右上下扫描线 |
CrashedName | 被碰物体的名字 |
操作示例
RflyReqVehicleData 1