RflySimSDK v3.08
RflySimSDK说明文档
载入中...
搜索中...
未找到
RflyReqVehicleData(FString isEnable)(激活数据回传)

激活数据回传模式,在该模式下,一旦 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