Expand description
Loop Runner - 控制循环包装器
提供高级控制循环接口,处理定时、dt 钳位、异常检测等。
§核心功能
- 精确定时: 使用
spin_sleep实现低抖动延时 - dt 钳位: 限制异常大的时间步长
- 时间跳变处理: 自动调用
on_time_jump() - 错误传播: 透明传播控制器和命令错误
§使用场景
ⓘ
use piper_client::control::{run_controller, LoopConfig, Controller};
use piper_client::state::Piper;
let config = LoopConfig {
frequency_hz: 100.0, // 100Hz 控制频率
dt_clamp_multiplier: 2.0, // dt 最大为 2x 标称值
max_iterations: Some(1000), // 运行 1000 次后停止
};
run_controller(piper, controller, config)?;Structs§
- Loop
Config - 控制循环配置
Functions§
- run_
controller - 运行控制循环
- run_
controller_ spin - 使用 spin_sleep 的高精度控制循环