一句话定义:控制频率(Control Loop Frequency)是控制系统每秒钟完整走完“读传感器 → 算出该出多大力 → 驱动电机或执行器”这一圈的次数,单位是赫兹(Hz)。它的倒数叫控制周期(Control Period):100 Hz 意味着每 10 毫秒必须完成一次“感知—决策—动作”。
打个比方:端着一杯水走路
想象你端着一杯快要洒出来的水从客厅走到厨房。决定水会不会洒的,不是“你走得多快”,而是“你每一步的节奏稳不稳”。如果步子时大时小、时快时慢,水就会晃得越来越厉害;节奏均匀,哪怕走得慢一点,水也稳稳当当。
控制回路就是这个道理。机器人的平衡控制、机械臂的轨迹跟踪,内部通常是一个按固定周期反复执行的小循环。控制算法(比如 PID)里的参数,是按“每隔 T 毫秒算一次”这个前提调出来的。一旦实际周期忽长忽短,等效的“力度”就跟着变:本该轻推的时候推重了,本该收手的时候收晚了。轻则抖动、轨迹发毛,重则直接振荡失稳。
所以真正要盯的不是平均频率,而是抖动(Jitter)——每次循环间隔的波动有多大。平均值漂亮、p99 很难看的系统,在纸面上很快,在现场很不稳。
和几个容易混的概念分开
| 概念 | 回答的问题 | 单位 |
|---|---|---|
| 控制频率 | 每秒做几次“决定” | Hz |
| 采样率(Sampling Rate) | 每秒读几次传感器 | Hz |
| 帧率(FPS) | 每秒画几张画面 | 帧/秒 |
| 端到端延迟(Latency) | 从感知到动作平均花了多久 | ms |
| 抖动(Jitter) | 每次循环的间隔差多少 | ms |
采样率只是循环里的第一环;帧率关心“看得顺不顺”,控制频率关心“动得对不对”。而延迟讲的是平均值,抖动讲的是最坏情况,这两者常常比频率本身更决定成败。
对做实时语音的人同样成立
语音交互也是一条控制回路:采集音频帧(常见 20 毫秒一帧)→ 语音识别(ASR)→ 大模型(LLM)→ 语音合成(TTS)→ 播放。如果这条链路的第一声响应时快时慢,用户会觉得“这机器人在犹豫”;用户中途打断(Barge-in)时,系统能不能在稳定的时间内闭嘴,直接决定体验好坏。这里同样是看 p99 而非平均值。
实际意义
做机器人,要按最坏情况的周期去设计控制参数,留出余量,用带时间戳的实时调度而不是“尽力而为”的循环;做语音产品,要把“稳定在多长时间内响应”写成指标,而不是只优化平均延迟。一句话:快是加分项,稳是及格线。 具体平台的实时性指标以其官方文档为准。
