目录
一、概述
以下是从现代控制理论的角度,探讨自动驾驶系统如何从动力学模型到运动学模型,最终实现轨迹跟踪。
在控制方面的需要的输入与输出是:
input:上层决策planner,自身位置localization
output:上层:汽车速度、车偏角;下层:气缸压力、轮胎动力、轮胎转角
二、坐标系
2.1 绝对坐标系
我们用 (X,Y)来表示,绝对坐标系又叫大地坐标系,大地坐标系是大地测量中以参考椭球面为基准面建立起来的坐标系。地面点的位置用经度、纬度和高度表示,是一个基准,实际应用就是GPS。
2.2 车辆坐标系
我们用 (x,y)来表示,车辆坐标系又称车身坐标系,原点一般为车辆的质心,或者后轴的中点。
X轴指向车头前方,Y轴指向驾驶员的左侧,Z轴垂直于车身指向上方。
2.3 Frenet坐标系(自然坐标系)
控制时缺少了相对于车辆的全局坐标系,传统x,y笛卡尔坐标无法直观地表示道路位置
所以引入新的坐标系概念:
Frenet坐标系定义是:设r(t)为欧氏空间内随t改变的一条非退化曲线, x(t)为t时刻曲线的累计弧长; s为切向单位矢量,沿质点所在点的轨道切线方向; d为法向单位矢量,垂直于在同一点的切向单位矢量而指向曲线的凹侧;定义如下:
具象来看,坐标系的s轴沿着曲线弧线的切线方向,d轴垂直于s轴:
描述汽车运动轨迹时:
描述路径方程为s(t)=v(t)*t, d(t)=0
三、运动学模型
3.1 以后轴为原点的车辆运动模型
3.2 阿克曼转向
阿克曼转向是一种现代汽车的转向方式,在汽车转弯的时候,内外轮转过的角度不一样,内侧轮胎转弯半径小于外侧轮胎
3.3 自行车模型
自行车模型(Bicycle Model)的建立基于如下假设:
1)不考虑车辆在垂直方向(Z轴方向)的运动,即假设车辆的运动是一个二维平面上的运动。
2) 假设车辆左右侧轮胎在任意时刻都拥有相同的转向角度和转速;这样车辆的左右两个轮胎的运动可以合并为一个轮胎来描述。
3)假设车辆行驶速度变化缓慢,忽略前后轴载荷的转移。
4) 假设车身和悬架系统都是刚性系统。
5)假设车辆的运动和转向是由前轮驱动的。
控制量为车辆速度与前轮转角,即𝛿f与V
状态量为航向角𝜓
低速环境下,车辆的方向变化率等于车辆的角速度。则车辆的角速度为:𝜓= V/R
正弦定理:
展开得:
联立得:
带入角速度方程得:
得运动学模型:
默认后轮不转以及低速运动忽略偏角β得最终的简化的动力学模型:
四、从动力学模型到运动学模型
纵向控制:油门/刹车➡力➡加速度➡速度➡位置
横向控制:方向盘➡前轮转角➡横向位移/航向
最终我们是通过控制偏角、滑移率、载荷来控制的车辆:
五、轨迹跟踪
5.1 车辆误差模型
人在行驶过程中是怎么进行轨迹跟踪的?
轨迹跟踪的本质就是确定是否沿着既定的路线行驶,如果没有,就改变控制量,使得行驶路线不偏离目标路线。
人也会眨眼,机器也存在处理时间,无法连续不间断地控制
所以需要对车辆运动学建立道路误差模型(线性化)
状态量为中心位置与车辆航向角,即 X= [x, y, 𝜓]^T,控制量为车辆速度与前轮转角,即 U= [v, 𝛿]^T
问题求解:在(t, t+T)时刻的道路使用Ut而非U对F产生的误差函数F−Ft
解:由运动学模型可得任意时刻状态量与控制量均满足:
令S=F(X,U),F=[f1,f2,f3]^T
二维泰勒公式一阶展开得:
其中:
带入得:
令误差状态量为𝑋' ,基于运动学的道路-车辆误差状态方程可以简化为:S=AX'+BU'
基于此误差模型计算出来的控制量𝑈'为变化量,最终的对应时刻的控制量应该为: 𝑈=𝑈'+𝑈𝑟
5.2 车辆误差模型离散化
测量具有离散的本质,现有的物理系统只能被离散的观测与控制。时间维度上的状态都被离散化为一个个状态序列 x0,x1, x2 …..,但是这些物理系统本质上是连续的,那些状态更新间隔,只是因为我们仅仅能够离散的控制、影响这些系统罢了。
模型的离散化是对物理系统在时间维度的近似。
对状态误差量(真实系统与参考系统之间的偏差)处理后得到线性连续状态空间,由于状态方程是时间连续的不能直接用于控制器的设计,因此需要对其进行离散化处理。
所以,最终的离散误差状态方程是:
六、总结
1.动力学模型:先建立车辆的动力学模型,包括车辆的质量、惯性矩阵、轮胎参数等。这个模型用于描述车辆在不同输入下的运动方程,例如速度、加速度、转向角等。通过动力学模型,可以将车辆的控制输入转化为对车辆状态的影响。
2.运动学模型:在实际应用中,动力学模型的计算较为复杂,因此往往采用近似的运动学模型。运动学模型主要关注车辆的几何特性和运动约束,例如车辆的前进方向、转弯半径、最大加速度等。运动学模型可以简化问题并提高计算效率,但可能会忽略车辆动力学的一些细节。
3.轨迹跟踪:一旦有了运动学模型,就可以设计轨迹跟踪算法。轨迹跟踪算法的目标是根据给定的轨迹或路径,生成车辆的控制指令,使车辆能够按照预定轨迹行驶。常见的轨迹跟踪算法包括PID控制器、模型预测控制(MPC)、路径规划和优化算法等。这些算法会根据车辆当前状态和目标轨迹的差异来调整车辆的转向角度、油门和刹车等。
4.全局坐标系:自动驾驶系统通常会使用全局定位系统(如GPS)获取车辆在地图中的位置和姿态信息。利用全局定位信息,可以将车辆状态从本地坐标系转换到全局坐标系,以便更好地理解车辆在地图中的位置和方向。全局坐标系也有助于规划和决策模块进行路径规划和环境感知。
材料:
原文链接:https://blog.csdn.net/weixin_45761030/article/details/140680414