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 实际项目中的选择策略

在实际项目中,我通常这样选模型:

  1. 宏观路径规划(几百米到几公里):用质点模型。速度快,够用。
  2. 局部路径规划(几十米到几百米):用自行车模型。精度够了。
  3. 控制执行层(几米到几十米):用阿克曼模型。要精确控制。

你想想看,如果全程都用阿克曼模型,计算量会大很多,而且宏观规划根本不需要那么高的精度。反过来,如果控制层还用质点模型,那车子肯定跑偏。

注意:我曾经犯过一个错误——在高速场景下(>60km/h)用自行车模型做控制。结果发现模型预测和实际车辆响应偏差很大。为什么?因为高速下轮胎侧偏特性变得显著,运动学模型已经不够用了,得用动力学模型。所以,运动学模型只适合低速场景(一般建议 < 30km/h)。

好了,关于运动学模型就聊这么多。记住一句话:模型的选择取决于你的应用场景和精度需求。没有最好的模型,只有最合适的模型。

可可精品资料库