功能 | 通过UDP端口向CopterSim中dll模型发送仿真参数。 |
---|---|
参数 | |
Target IP Address | 目标coptersim的IP地址 |
CopterID | 目标coptersim的序号 |
输入 | |
Bitmask | (uint32): 一个32位无符号的位掩码,指定要修改什么参数。每个位代表一个不同的参数,如果一个位被设置为1,那么对应的参数将被修改。<br>bitshift(1,2) 这个操作将数字 1 左移了两位,结果是 4 ,其二进制表示为 100 。这意味着第三个位被设置为 1 ,其他所有位都是 0 。因此, bitshift(1,2) 修改了第三个位(从右数起),即这个位表示的参数将被修改。对于32位的无符号整数,结果是 00000000 00000000 00000000 00000100 。bitshift(1,31) * 2 + 1可以直接修改全部32位参数 |
InParams | (list或numpy.array): 32维包含双精度浮点数的列表或数组。 |
输出 | 通过UDP向CopterSim模型发送仿真参数 |
struct PX4ModelInParams{ int checksum;//1234567891 for PX4ModelInParams, and 1234567892 for PX4InitInParams uint32_t Bitmask; double InParams[32]; }; checksum要求为1234567891。函数预留copterID参数传入位,当函数传入的CopterID大于0时,函数采用传入的 CopterID,否则取对象本身的CopterID。通过30100+(copterID-1)*2 UDP端口号通讯(copterID从1开始计数)。将函数传入的InParams进行 长度校正后将结构体相关数据按iI32d的格式打包,并通过UDP的方式发出,其中 'i' 表示1个整型数据(校验位),'I'表示无符号整型,'32d' 表示32个双精度浮点数。 | |
使用示例 | 【安装目录】\RflySimAPIs\4.RflySimModel\3.CustExps\e0_AdvApiExps\5.ParamAPI\2.FaultInParams\2.Matlab\Readme.pdf |