|
| __init__ (self, dll_name, CopterID=1, ClassID=-1, MapName='Grasslands', ip='127.0.0.1', LocX=0, LocY=0, Yaw=0, UdpMode=0, useGPS=False, GpsOrin=[0, 0, 0]) |
| 这是类的构造函数,用于初始化 ModelLoad 类的实例。参数的详细含义参考 Bat脚本使用参考
|
|
| CreateVehicle (self, CopterID=1, ClassID=-1, MapName='Grasslands', ip='127.0.0.1', LocX=0, LocY=0, Yaw=0, UdpMode=0, useGPS=False, GpsOrin=[0, 0, 0]) |
| 初始化并配置载具模型。参数的详细含义参考 Bat脚本使用参考
|
|
| Updata3Doutput (self) |
| 用于更新载具模型仿真输出,读取车辆当前的运动状态数据并更新到 out3Ddata 和 outHilData,并与地形数据进行交互。
|
|
| SendUpdate3DMap (self, isSetSpeed=False) |
| 用于向 RflySim3D发送命令,更新 3D 地图或设置RflySim3D仿真速度。
|
|
| get3DDataBuf (self) |
| 提取载具模型的 3D 仿真数据out3Dvect并将其打包,以便通过网络转发给RflySim3D
|
|
| Send3DData (self) |
| 将打包的 3D 数据通过 UDP 发送到端口 20010,用于与 RflySim3D 进行通信
|
|
| SendSimData (self) |
| 将与 Send3DData 同样的 3D 数据发送到端口 30100,用于仿真数据的传输
|
|
| SendHILData (self) |
| 发送硬件在环(HIL)仿真数据到指定的端口,通常用于与飞控系统交互
|
|
| SendOutCopter (self) |
| 发送仿真数据到30100端口,可用于日志记录
|
|
| fillList (self, data, inLen, fill=0) |
| 填充或裁剪一个列表
|
|
| StartAutUpdate (self, UpdateFreq=30, speed=-1) |
| 用于启动自动更新循环,以指定的频率更新仿真状态。
|
|
| StopAutUpdate (self) |
| 用于停止自动更新循环
|
|
| AutUpdateLoop (self) |
| 自动更新循环的核心逻辑,实现持续的仿真更新、数据发送等功能。
|
|
| StartExtCtrl (self) |
| 用于启动外部控制功能,创建两个用于接收外部控制数据的UDP套接字,并开启两个线程来监听数据。
|
|
| StopExtCtrl (self) |
| 停止外部控制,关闭UDP套接字并终止接收线程。
|
|
| Recv20100Loop (self) |
| 线程的主循环,用于接收20100端口的数据并根据控制模式执行相应的控制命令。
|
|
| Recv30100Loop (self) |
| 线程的主循环,用于接收30100端口的数据并根据不同的数据类型执行相应处理。
|
|
| DllDestroyModel (self) |
| 销毁当前加载的仿真模型
|
|
| DllReInitModel (self) |
| 重新初始化仿真模型。
|
|
| DllInputSILs (self, in_ints=[0] *8, in_floats=[0] *20) |
| 将综合模型系统仿真输入数据传递给 DLL,参见 sendSILIntFloat
|
|
| DllInputColls (self, in_floats_collision=[0] *20) |
| 将碰撞数据传递给 DLL,用于仿真中处理碰撞情况,参见 sendColl20d
|
|
| DllTerrainIn15d (self, terrain15d=[0] *15) |
| 输入三维场景的地形高度数据给DLL,用于仿真环境的地形建模,参见 sendTerrIn15d
|
|
| DllInitGpsPos (self, gps=[0] *3) |
| 初始化仿真的 GPS 坐标原点,用于地理位置相关的仿真,参见 sendReGPSOrin
|
|
| DllInitPosAngState (self, init_pos_offset=[0, 0, 0], init_ang_offset=[0, 0, 0]) |
| 初始化位置和姿态状态,用于设置仿真对象的初始位置信息和朝向,参见 sendReSimXyzRPYaw
|
|
| DllInputDoubCtrls (self, in_doub_ctrls=[0] *28) |
| 综合模型外部控制指令输入接口,用于传递 28 维的双精度控制指令数据,参见 sendInDoubCtrls
|
|
| DllinSIL28d (self, in_doub_ctrls=[0] *28) |
| 综合模型外部控制指令输入接口,用于传递 28 维的双精度控制指令数据,参见 sendInDoubCtrls
|
|
| DllInCtrlExt (self, in_ctrl_ext=[0] *140) |
| 扩展控制数据,用于支持更高级的控制仿真功能,参见 sendInCtrlExtAll
|
|
| DllInFromUE (self, in_from_ue=[0] *32) |
| 从RflySim3D输入自定义数据到 DLL,用于与外部仿真环境的集成。
|
|
| DllInputColls (self, inCll=[0] *20) |
| 传递 20 维float数组的碰撞数据的接口,用于处理仿真对象之间的碰撞检测。
|
|
| DllGetStep0 (self) |
| 获取仿真的步长,用于确定仿真时间步的大小。如果 DLL 中没有对应的函数,默认返回 0.001
|
|
| Dllstep (self) |
| 执行一次仿真步骤。这是对 DLL 中仿真时间推进的基本调用。
|
|
| ModelUpdate (self, step_time) |
| 手动更新仿真状态的接口
|
|
| DlloutVehileInfo60d (self) |
| 从 DLL 获取 60 维的载具三维信息数据。包括各种飞行器或车辆的状态数据。
|
|
| DllOutCopterData (self) |
| 从 DLL 获取 32 维数据,包括飞行器的传感器读数、状态信息等
|
|
| SendPosNED (self, x=0, y=0, z=0, yaw=0) |
| 发送NED(北东地)地球参考系下的位置控制命令。
|
|
| SendPosLocal (self, x=0, y=0, z=0, yaw=0) |
|
| SendVelNED (self, vx=0, vy=0, vz=0, yawRate=0) |
| 发送NED(北东地)地球参考系下的速度及偏航控制命令。
|
|
| SendVelFRD (self, vx=0, vy=0, vz=0, yawRate=0) |
| 发送FRD(前右下)机体参考系下的速度控制命令。
|
|
| SendVelNEDNoYaw (self, northvel=0, eastvel=0, downvel=0) |
| 发送NED(北东地)地球参考系下的速度及偏航控制命令。
|
|
DLL文件外部加载接口类
用于加载和初始化一个指定的 DLL 文件(动态链接库)