3. 运动学模型
运动学模型,说白了就是描述车子怎么动的数学工具。你想想看,要让决策算法知道「打多少方向、踩多大油门」,总得有个数学模型来算一算吧?
我个人习惯把运动学模型分成三类:最简单的质点模型、工程中最常用的自行车模型、以及高精度场景下的阿克曼转向模型。这三者各有各的适用场景,咱们一个一个聊。
3.1 质点模型——入门级,但够用
质点模型是最简单的。它把车辆看成一个点,忽略尺寸、忽略转向机构。只关心位置和速度。
数学表达:
x' = v * cos(θ)
y' = v * sin(θ)
θ' = ω
其中 (x, y) 是位置,θ 是航向角,v 是速度,ω 是角速度。
适用场景:路径规划初筛、宏观交通流仿真、无人机(忽略姿态时)。
我在项目中遇到过一件事:早期做园区无人配送车时,用质点模型做全局路径规划,结果发现规划出来的路径在窄通道里根本走不了。为什么?因为车子有宽度啊!质点模型不考虑车体尺寸,规划出的路径贴着墙走,实际车辆根本拐不过去。
避坑指南:我曾经在高速场景下用质点模型做避障,差点出事。高速下车辆有最小转弯半径,质点模型完全忽略了这个约束。记住:质点模型只适合低速、大空间、不考虑车辆几何的场景。
3.2 自行车模型——工程界的「万金油」
自行车模型是我最常用的模型。它把四轮车辆简化为前后两个轮子,就像自行车一样。这个模型考虑了轴距、前轮转角,精度比质点模型高得多,计算量又比完整动力学模型小得多。
核心假设:
- 车辆在平面上运动(无侧倾、无俯仰)
- 轮胎无侧滑(低速假设)
- 前后轮刚性连接
数学表达:
x' = v * cos(θ)
y' = v * sin(θ)
θ' = (v / L) * tan(δ)
其中 L 是轴距,δ 是前轮转角。注意看,这里角速度 θ' 不再是一个独立控制量,而是由速度和转角共同决定。这才是真实车辆的物理约束。
个人经验:我建议你在做路径跟踪控制时,优先用自行车模型。它足够精确,又不会像动力学模型那样需要标定一大堆参数。我在做自动泊车项目时,就是用自行车模型做 MPC 控制器,效果相当不错。
你可能会问:为什么叫「自行车模型」?嗯,因为它的运动学方程和自行车完全一样。前轮转向,后轮驱动,就这么简单。
3.3 阿克曼转向模型——精度控的选择
阿克曼转向模型是自行车模型的「升级版」。它考虑了左右轮转角不同的实际情况。
真实车辆在转弯时,内侧轮和外侧轮的转角是不一样的。内侧轮转角更大,外侧轮转角更小。这样才能保证所有车轮绕同一个圆心转动,避免轮胎磨损和侧滑。
阿克曼转向几何:
cot(δ_out) - cot(δ_in) = W / L
其中 δ_out 是外侧轮转角,δ_in 是内侧轮转角,W 是轮距,L 是轴距。
| 模型 | 精度 | 计算量 | 适用场景 |
|---|---|---|---|
| 质点模型 | 低 | 极低 | 宏观规划、初筛 |
| 自行车模型 | 中 | 低 | 路径跟踪、MPC控制 |
| 阿克曼模型 | 高 | 中 | 精确转向控制、泊车 |
核心区别:自行车模型假设左右轮转角相同,阿克曼模型区分了内外轮转角。在低速、大转弯半径时,两者差异不大。但在狭窄空间、小转弯半径时,阿克曼模型明显更准。
我记得有一次做自动代客泊车项目,用自行车模型做控制,结果在狭窄车位里总是停偏。后来换成阿克曼模型,精度一下子就上来了。说白了,就是多考虑了那几度的转角差异。
3.4 三个模型的关系——一张图说清楚
下面这张图展示了三个模型之间的递进关系。从简单到复杂,从抽象到具体。
我的建议:初学者先从质点模型入手,理解运动学的基本概念。然后过渡到自行车模型,这是工程中最实用的。最后,如果你做的是高精度控制,再深入研究阿克曼模型。别一上来就搞最复杂的,容易把自己绕晕。
3.5 实际项目中的选择策略
在实际项目中,我通常这样选模型:
- 宏观路径规划(几百米到几公里):用质点模型。速度快,够用。
- 局部路径规划(几十米到几百米):用自行车模型。精度够了。
- 控制执行层(几米到几十米):用阿克曼模型。要精确控制。
你想想看,如果全程都用阿克曼模型,计算量会大很多,而且宏观规划根本不需要那么高的精度。反过来,如果控制层还用质点模型,那车子肯定跑偏。
注意:我曾经犯过一个错误——在高速场景下(>60km/h)用自行车模型做控制。结果发现模型预测和实际车辆响应偏差很大。为什么?因为高速下轮胎侧偏特性变得显著,运动学模型已经不够用了,得用动力学模型。所以,运动学模型只适合低速场景(一般建议 < 30km/h)。
好了,关于运动学模型就聊这么多。记住一句话:模型的选择取决于你的应用场景和精度需求。没有最好的模型,只有最合适的模型。