第二章 运动学基础:位置、速度、加速度的关系

各位工程师,大家好。欢迎来到《纵向控制速度约束全解析》的第二讲。

这一章,我们聊点最基础的东西——运动学。你可能会想:“这玩意儿我初中就学过,还用讲?” 嗯,我当年也这么想。直到我在项目里调一个纵向控制器,发现车怎么都刹不住,最后查出来是加速度积分算位置时,采样周期搞错了。所以,别小看这些基础公式,它们是整个控制系统的地基。

2.1 三个核心物理量:位置、速度、加速度

我们先明确一下这三个量的定义。说白了,它们描述的是“物体怎么动”这件事。

  • 位置 (Position, s):物体在空间中的坐标。在纵向控制里,通常指沿着道路的里程,单位是米(m)。
  • 速度 (Velocity, v):位置随时间的变化率。也就是物体移动的快慢和方向,单位是米/秒(m/s)。
  • 加速度 (Acceleration, a):速度随时间的变化率。它描述了速度变化的快慢,单位是米/秒²(m/s²)。

我个人习惯把这三个量想象成一条链:加速度决定速度怎么变,速度决定位置怎么变。你想想看,踩油门(正加速度),速度增加,车就跑得更远。就是这么个逻辑。

核心关系:

速度是位置的一阶导数:v = ds/dt

加速度是速度的一阶导数:a = dv/dt

加速度是位置的二阶导数:a = d²s/dt²

2.2 运动学方程:匀加速直线运动

在自动驾驶的纵向控制中,我们最常处理的是匀加速直线运动。为什么?因为大多数控制周期(比如10ms、20ms)内,我们可以近似认为加速度是恒定的。这给计算带来了极大的便利。

假设初始时刻 t=0,初始位置为 s₀,初始速度为 v₀,加速度 a 为常数。那么经过时间 t 后:

物理量 公式 说明
速度 v(t) = v₀ + a·t 速度随时间线性变化
位置 s(t) = s₀ + v₀·t + ½·a·t² 位置随时间二次变化
速度-位移关系 v² = v₀² + 2·a·(s - s₀) 不依赖时间,非常实用

这三个公式,我建议你刻在脑子里。尤其是第三个——速度-位移关系式。我在做紧急制动距离计算时,几乎天天用它。举个例子,假设车速 20m/s,最大制动减速度 -5m/s²,那么从踩刹车到停车的距离是多少?直接用公式:0 = 20² + 2*(-5)*Δs,算出来 Δs = 40米。嗯,这就是你的安全跟车距离底线。

我的小技巧:

在实际代码中,我很少直接用二次方程算位置。因为浮点数运算有误差,时间一长位置会漂。我更喜欢用“增量法”:每个控制周期,用当前速度和加速度更新位置。虽然理论等价,但数值稳定性好得多。

2.3 从连续到离散:控制周期里的运动学

理论公式是连续的,但我们的控制器是离散的。每个控制周期(比如 20ms),我们都要计算一次。这里有个坑,我曾经踩过。

假设控制周期为 Δt,当前时刻的位置为 s_k,速度为 v_k,加速度为 a_k。那么下一个时刻:

// 错误的做法:直接用连续公式
s_{k+1} = s_k + v_k * Δt + 0.5 * a_k * Δt²
v_{k+1} = v_k + a_k * Δt

// 我个人推荐的做法:先更新速度,再用平均速度更新位置
v_{k+1} = v_k + a_k * Δt
s_{k+1} = s_k + (v_k + v_{k+1}) / 2 * Δt

为什么推荐第二种?因为第一种假设加速度在整个 Δt 内恒定,但实际加速度可能变化。第二种用了梯形积分,精度更高。说白了,就是更接近真实物理过程。

避坑指南:

我曾经在一个项目中,直接用连续公式做位置积分。结果跑了10分钟后,位置误差累积到了好几米。后来改成梯形法,误差降到了厘米级。记住:离散化不是简单的公式代入,要考虑数值积分方法。

2.4 运动学约束:速度与加速度的极限

在自动驾驶中,车辆的运动不是自由的。它受限于物理极限和舒适性要求。这些约束,最终都会体现在运动学方程里。

  • 速度约束:v_min ≤ v ≤ v_max。v_min 通常是0(不能倒车),v_max 是道路限速或车辆极速。
  • 加速度约束:a_min ≤ a ≤ a_max。a_min 是最大制动减速度(比如 -5m/s²),a_max 是最大加速能力(比如 3m/s²)。
  • 加加速度约束 (Jerk):j_min ≤ j ≤ j_max。加加速度是加速度的变化率,它直接影响乘坐舒适性。我一般把 jerk 限制在 ±2 m/s³ 以内。

你想想看,如果只约束速度和加速度,那控制器可能会让加速度瞬间从0跳到最大值。乘客会感觉被踹了一脚。所以,加加速度约束也很重要。

2.5 知识体系总览

为了让你更直观地理解这一章的内容,我画了一张图。它展示了位置、速度、加速度、加加速度之间的微分/积分关系,以及它们在实际控制中的角色。

运动学核心关系与约束 位置 s(t) 速度 v(t) 加速度 a(t) 加加速度 j(t) d/dt d/dt d/dt ∫dt ∫dt ∫dt 实际约束 速度约束 v_min ≤ v ≤ v_max 限速、物理极速 加速度约束 a_min ≤ a ≤ a_max 制动/加速能力 加加速度约束 j_min ≤ j ≤ j_max 舒适性、执行器限制 微分关系:上层决定下层的变化率 | 积分关系:下层累积得到上层

这张图把这一章的核心逻辑串起来了。从加加速度到位置,每向上积分一次,物理意义就变得更直观。而每一层,都有对应的约束需要满足。

好了,这一章就到这里。运动学是纵向控制的基础,看似简单,但细节决定成败。下一章我们会聊动力学的部分,到时候这些公式会派上大用场。

本章要点回顾:

  • 位置、速度、加速度是纵向控制的三个核心量,它们通过微分/积分关联。
  • 匀加速运动学方程是基础,但离散化时要注意数值积分方法。
  • 速度、加速度、加加速度都有物理或舒适性约束,控制器必须考虑。
  • 推荐使用梯形法更新位置,精度更高,误差更小。

可可精品资料库