2、车辆坐标系与运动学基础:车辆坐标系定义、刚体运动学、速度与加速度关系
各位同学,咱们今天聊点实在的。
做车辆控制,第一件事是什么?不是调参数,不是写代码。是搞清楚——车到底在哪儿,它要往哪儿去。说白了,就是坐标系和运动学。我见过不少新手,一上来就怼PID、怼MPC,结果坐标系都没搞明白,仿真跑得飞起,实车一开就翻车。嗯,咱们先把地基打牢。
2.1 车辆坐标系的定义
我个人习惯,把坐标系分成两套来理解:一套是大地坐标系,一套是车辆坐标系。
- 大地坐标系(惯性系):固定在地面上,通常用 \( X, Y, Z \) 表示。Z轴向上,X和Y构成水平面。你想想看,地图上的经纬度,本质上就是大地坐标系的一种。
- 车辆坐标系(车身坐标系):固定在车身上,跟着车一起动。通常用 \( x, y, z \) 表示。原点在车辆质心,x轴指向车头,y轴指向左侧(也有用右侧的,看标准),z轴向上。
重要提醒: 车辆坐标系的原点,我建议统一放在质心位置。为什么?因为动力学方程在质心处写起来最简洁。有些教材放在后轴中心,也可以,但推导时会多出一些耦合项。我在项目中吃过这个亏——一开始用了后轴中心,结果侧倾和横摆的耦合项算得我头皮发麻。后来老老实实改回质心,世界清净了。
这里有个常见的坑:车辆坐标系不是惯性系。车在转弯时,坐标系本身也在旋转。所以你在车身坐标系下看到的加速度,和大地坐标系下看到的加速度,不是一回事。这个后面会细说。
2.2 刚体运动学基础
车辆动力学里,我们通常把车身当作一个刚体来处理。刚体运动学,说白了就是描述这个刚体怎么动。
一个刚体在三维空间里,有6个自由度:
| 运动类型 | 自由度 | 描述 |
|---|---|---|
| 平动 | 3 | 沿X、Y、Z轴的移动(纵移、侧移、垂移) |
| 转动 | 3 | 绕x、y、z轴的旋转(侧倾、俯仰、横摆) |
但在车辆控制里,我们最关心的是平面运动。也就是忽略垂向运动和俯仰、侧倾,只考虑:
- 沿x轴的纵向运动(加速、刹车)
- 沿y轴的侧向运动(转弯时的横向滑动)
- 绕z轴的横摆运动(车头指向的变化)
为什么可以忽略其他三个自由度?因为大部分乘用车的操控场景,路面相对平坦,悬架行程有限。当然,如果你做的是越野车控制或者F1赛车,那六个自由度都得考虑。我当年做ADAS项目时,一开始只用了三自由度模型,结果在颠簸路面上控制效果一塌糊涂。后来加了垂向和俯仰,才把问题解决。所以,简化要有度。
2.3 速度与加速度的关系
好,现在咱们来点硬核的。
在车辆坐标系下,速度向量可以写成:
V = [u, v, w]^T
其中:
- u:纵向速度(沿x轴)
- v:侧向速度(沿y轴)
- w:垂向速度(沿z轴,通常忽略)
角速度向量:
Ω = [p, q, r]^T
其中:
- p:侧倾角速度(绕x轴)
- q:俯仰角速度(绕y轴)
- r:横摆角速度(绕z轴)—— 这个最重要
那么问题来了:车辆坐标系下的加速度,和大地坐标系下的加速度,怎么转换?
这里有个关键公式,我建议你记在脑子里:
绝对加速度 = 相对加速度 + 牵连加速度 + 科里奥利加速度
用数学表达就是:
a_abs = a_rel + 2Ω × V_rel + Ω × (Ω × r) + (dΩ/dt) × r
其中 × 表示向量叉乘。
别被这个公式吓到。在平面运动假设下,它简化成:
纵向加速度: a_x = du/dt - v * r
侧向加速度: a_y = dv/dt + u * r
你看,多清爽。这里 v * r 和 u * r 就是牵连项。为什么会有这个?因为坐标系在转。你想想看,车在转弯时,即使你保持方向盘不动、车速不变,侧向加速度也不是零——这就是牵连项在起作用。
实战技巧: 我在做ESP(电子稳定程序)标定时,经常用这个公式反推车辆的侧偏角。IMU测到的是绝对加速度,GPS测到的是大地坐标系下的速度,两者一结合,就能算出车辆的侧滑状态。嗯,这个技巧在实车调试时特别管用。
2.4 一个简单的运动学模型
咱们把上面这些串起来,得到一个最常用的自行车模型(Bicycle Model)的运动学方程:
状态量: [X, Y, ψ, u, v, r]^T
控制量: [a_x, δ]^T
运动学方程:
dX/dt = u * cos(ψ) - v * sin(ψ)
dY/dt = u * sin(ψ) + v * cos(ψ)
dψ/dt = r
du/dt = a_x + v * r
dv/dt = -u * r + F_yf / m + F_yr / m
dr/dt = (a * F_yf - b * F_yr) / I_z
这里:
- ψ 是横摆角(航向角)
- δ 是前轮转角
- F_yf, F_yr 是前后轮胎的侧向力
- a, b 是质心到前后轴的距离
- I_z 是横摆转动惯量
注意: 这个模型假设了前轮转角较小、轮胎侧偏特性在线性区。如果你做的是漂移控制或者极限工况,这个模型就不够用了。我曾经在雪地测试时,用这个模型做MPC,结果轮胎一进入饱和区,模型直接失效,车差点转圈。后来换成了非线性轮胎模型,才稳住。
2.5 小结与避坑指南
今天的内容,说白了就三件事:
- 坐标系选对——质心坐标系是首选,别偷懒。
- 分清绝对和相对——加速度的转换公式要烂熟于心。
- 模型简化要有度——平面运动假设够用,但别盲目简化。
我曾经带过一个实习生,他做路径跟踪仿真,结果车一直往右偏。查了两天,最后发现是坐标系搞反了——他把车辆坐标系的y轴指向了右侧,但所有公式都是按左侧推导的。嗯,这种错误,犯一次就够了。
下一章,咱们聊轮胎模型。轮胎是车辆动力学里最非线性、最头疼的部分,也是控制成败的关键。做好准备。