| RMVL 2.3.0 Robotic Manipulation and Vision Library

载入中...
搜索中...
未找到
在整车状态估计中涉及到的预测量

作者
  赵曦

日期
  2023/07/23

上一篇教程：如何使用/开发 predictor 模块
下一篇教程：k 步前向预估能量机关预测

相关类 rm::GyroPredictor

## 预测量分类

- 静态响应预测量：包含旋转、平移两种，由于通信延迟的存在需要提前瞄准的预测量，调节参数为 `B`，为时间量（单位/秒）
- 动态响应预测量：包含旋转、平移两种，对击中目标起到决定性作用的预测量，与子弹飞行时间呈正相关，调节参数为 `K`，为无量纲量
- 射击延迟预测量：一般在跟随目标的情况下， `Kt + B` 的预测量会让云台响应到 `Kt` 预测量的位置，这正是参数 `B` 的作用，此时目标与发射机构之间都只差近似 `Kt` 的角度。而通过判断云台是否进入 `Kt` 的预测圈内（在决策中由 `canShoot` 判断）来进行发弹控制，因此即使存在发弹延迟，也能够保证在紧跟目标的情况下击打中目标。然而，在不跟随目标的情况下，由于发弹延迟存在，单靠 `Kt` 预测圈的发弹控制绝对不可能击打到目标，因此需要引入第三个预测量： 射击延迟预测量 。射击延迟预测量目前仅包含旋转一种，因为只有旋转分量需要让云台保持静止（瞄准中心点）或者切换，该预测量用于抵消射击延迟带来的发射滞后，调节参数为 `SHOOT_B`，为时间量（单位/秒）

## 调参策略

- 对于参数 `K` 和参数 `B` 而言，调参方式与单纯的平移目标完全一致，即先设 `K` 为 `0` 并调节参数 `B` 直至目标不再滞后，即目标中心稳定进入预测圈内。之后再调节参数 `K` 以击中单纯的平移目标。此时发弹控制由 `Kt` 决定。
- 对于参数 `SHOOT_B` 而言，可以从其定义出发进行分析：该参数用于抵消射击延迟，原先的发弹控制仅由 `Kt` 动态响应预测量进行控制。若仍采用 `Kt` 作为发弹策略，则无法击中目标，因此需要在云台静止状态（瞄准中心点时）调节该参数以确定参数 `SHOOT_B`。此时发弹控制则由 `Kt + SHOOT_B` 共同控制。