跳至内容

控制分配器状态(UORB 消息)

源文件

c
uint64 timestamp # 系统运行以来的时间 启动 (微秒)

bool 已达到的扭矩设定点 # 布尔型 表明是否 3D 扭矩设定点已正确分配给执行机构。 0 如果 没有实现、 1 如果 实现了。
float32[3] unallocated_torque # 未分配扭矩。等于 0 如果 达到设定点。
                                        # 计算结果为:未分配扭矩 = 扭矩设定点 - 分配扭矩

bool 已达到的推力设定点 # 布尔型 表明是否 3D 推力设定点已正确分配给执行机构。 0 如果 没有实现、 1 如果 实现了。
float32[3] unallocated_thrust # 未分配推力。等于 0 如果 达到设定点。
                                        # 计算结果为:未分配推力 = 推力设定点 - 分配的推力

int8 ACTUATOR_SATURATION_OK        =  0 # 执行器未达到饱和状态
int8 ACTUATOR_SATURATION_UPPER_DYN =  1 # 执行器是 饱和 (数值为 <= 所需的 价值),因为它不能更快地增值
int8 ACTUATOR_SATURATION_UPPER     =  2 # 执行器是 饱和 (数值为 <= 所需的 价值),因为它已达到最大值
int8 ACTUATOR_SATURATION_LOWER_DYN = -1 # 执行器是 饱和 (数值为 >= 所需的 价值),因为它不能更快地降低其值
int8 ACTUATOR_SATURATION_LOWER     = -2 # 执行器是 饱和 (数值为 >= 所需的 价值),因为它已达到最小值

int8[16] actuator_saturation # 表示执行机构的饱和状态。
                                        # 注 1执行机构饱和:执行机构饱和并不一定意味着没有达到推力设定点或扭矩设定点。
                                        # 注 2示例:动态性能有限的制动器可表示为上部-甚至饱和 如果 未达到最大值。

uint16 handled_motor_failure_mask # 从分配中移除的失败电机的位掩码 / 有效性矩阵。不一定与 FailureDetector 的报告完全相同