0%
✍️ Insight

迟到六拍:车已经越线,控制器还在催它往前

把一次振荡暂停在 0.7 秒:一条轨道画真实位置,一条画收到的消息。沿这一个瞬间,找到“更用力”为什么可能更糟。

· 更新于 2026-09-30

淋浴的水还凉,你把热水开大。没等那一截热水走到身边,又拧大一点。几秒后,前面几次“再热一点”一起到达,水温越过了舒服的范围。

动作在回应消息,消息却属于过去。这里先不摆满一页控制参数;只暂停在一个瞬间,看看两份位置怎样对不上。

0.7 秒,发生了哪件不对劲的事

小车的目标在 1 米处,每 0.1 秒算一次动作。下面默认停在第 7 拍:实心点是车实际的位置,空心点是控制器收到的位置。两条轨道使用同一个米制刻度,虚线是目标。

逐拍放大镜:比较同一拍里的真实位置与迟到消息。先看第 7 拍,再拖动时间,最后才展开参数与算式。

这里没有播放按钮,也没有必须完成的任务条。先拖一拍,看看谁走了,谁还留在过去。若图像不方便阅读,下方的文字始终给出同一份数值,滑块也支持方向键。

把这一拍摊成一张小票

默认设置是 K=4 /s、延迟六拍、无噪声。第 7 拍的记录可以直接读成:

小票上的量此刻的值它属于什么时间
车实际在哪1.050 m第 7 拍,0.7 s
控制器收到的位置0.150 m第 1 拍,0.1 s
算出的误差1 − 0.15 = 0.850 m根据旧消息
速度请求4 × 0.85 = 3.400 m/s此刻发出
限幅后的速度+1.500 m/s实际使用的命令
下一拍位置1.05 + 0.1 × 1.5 = 1.200 m第 8 拍

车已经越过目标五厘米,收到的消息却说还差八十五厘米。于是它还在向前推。消息的数值可以正确,发生时间却不适合这次决定。

把“晚六拍”换成“消息及时”,仍看第 7 拍。此时位置约是 0.910 m,速度命令是 +0.360 m/s。两次轨迹不同,是因为此前的每个动作也受到了不同的消息;不是只在这一拍把一份测量换掉。

再往后拖,方向为什么会翻过来

迟到的“已经过头”终于抵达时,命令开始往回。可小车又走了一段,回头的命令仍在执行过去的误差。

  1. 还没到。 旧消息说距离很远,命令持续向前。
  2. 已经越线。 现实先改变,测量通道还没把它告诉控制器。
  3. 终于知道越线。 命令转向,却可能已经回应得太晚。

这个顺序足以生出一次来回追赶。要认出它,往往不必先看整条漂亮曲线,而要保留测量的时间来源。

展开两个参数,只改变 K,再回到这几拍检查。较大的 K 会把旧误差执行得更坚决,但输出仍被限制在 ±1.5 m/s;不能把这个模型的振荡直接写成“位置无限发散”。

公式只是在重写刚才的小票

目标是 r=1 mr=1\,\mathrm m,每拍 Δt=0.1 s\Delta t=0.1\,\mathrm s,延迟为 dd 拍。无噪声时收到的位置是:

x^k=xmax⁡(0,k−d).\hat x_k=x_{\max(0,k-d)}.

开跑前没有更早历史,所以用初始位置补齐。接着算速度,再推进位置:

uk=clip⁡(K(r−x^k),−1.5,1.5),xk+1=xk+Δt uk.u_k=\operatorname{clip}\big(K(r-\hat x_k),-1.5,1.5\big),\qquad x_{k+1}=x_k+\Delta t\,u_k.

K 的单位是每秒,输出是速度。文中“用力”只是比喻,模型没有质量、惯性、摩擦和电机动态,也没有连接硬件。

无延迟时,为什么靠近以后会收小步子?

暂时不触碰限幅,记误差为 ek=r−xke_k=r-x_k。无延迟时:

ek+1=(1−KΔt)ek.e_{k+1}=(1-K\Delta t)e_k.

本例 K=4、每拍 0.1 秒,误差乘数是 0.6。误差变小,速度请求也跟着变小。这个递推针对无延迟、未限幅的简化情形;加入延迟后,不能继续用同一条乘数解释整套系统。

看到来回摆动以后,先补哪条记录

先补收到的测量属于哪一拍,再对齐命令发出与动作执行的时刻。接着才判断,是增益、执行限制、噪声还是模型里缺少的动态在主导当前现象。

降低 K 可以减少这份模型里对旧消息的过激响应,也可能让到达变慢。滤波能减少某些噪声,同时可能增加延迟。多加一个模块前,先写下它准备解决哪一条已观察到的问题。

想继续放开参数时

完整实验台保留了曲线对照、噪声、反馈开关与 CSV 导出。它适合继续比较条件;本文先用两个位置,把迟到这一件事讲完整。

计算来源是 model.js,无第三方依赖。放大镜与原实验台使用同一个计算模型;显示到第 119 拍,下一步恰好到 12.0 s。模型的有限轨迹不是稳定性证明,也不代表某个参数能直接移植到机器人。

控制理论的后续入口是 Åström 与 Murray 的开放教材 Feedback Systems。换一种判断练习,则可以读坐标案卷:那里要问的,是消息虽然到得及时,却有没有用错方向。