Files
acRealman_xr/docs/superpowers/specs/2026-07-28-rm75-control-timing-stats-design.md
T

31 lines
1.1 KiB
Markdown

# RM75 控制周期统计设计
## 目标
在不改变控制、QP、安全停止和真机通信行为的前提下,确认激活遥操作时的
125 Hz 控制链路是否满足 `8 ms` 周期。
## 方案
`SingleArmVelocityTeleop` 内使用 `time.perf_counter_ns()` 采样,仅在
Grip 激活并执行关节命令的周期记录:
- 相邻控制回调的实际周期;
- 控制回调总执行时间;
- Placo QP 求解时间;
- `send_joint_target()` 调用时间;
- 当前关节反馈年龄。
每累计约 5 秒激活样本,通过现有 ROS logger 输出一次汇总并清空窗口。每项
输出样本数、mean、P95、P99 和 max;实际周期与总执行时间额外输出超过
`self._dt` 的次数。首个激活周期没有可靠的相邻周期值,因此不记录周期。
统计只输出日志,不新增 ROS 消息、话题、参数、依赖或后台线程。计时与日志
异常不得影响控制路径。
## 验证
先添加一个小单元测试,使用确定性样本验证百分位数、超限计数、日志输出和
窗口清空。随后运行相关 pytest、姿态控制测试和
`colcon build --symlink-install`