1 自行车模型
在自行车模型中,我们假设车辆姿态处于一个二维的平面坐标系内,车辆的姿态可以由位移(position)和车身夹角(heading)完全描述,并且前后轮由一个刚性(rigid)轴连接,前轮可转动,后轮只能直行。
自行车模型的一个重要特征是:如果车辆不向前移动,就不能横向位移,称为非完整性约束(nonholonomic constraint)。

符号 |
含义 |
ex,ey |
x和y方向的单位向量 |
pr |
position rear tyre 后轮所在位置的向量 |
p˙r |
后轮地面接触点瞬时速度向量 |
pf |
position front tyre 前轮所在位置的向量 |
p˙f |
前轮地面接触点瞬时速度向量 |
θ |
车身的朝向角,即后轮朝向角P˙r和ex的夹角 |
δ |
方向盘转角,前轮朝向和车身朝向的夹角 |
l |
刚性轴长度 |
这样后轮的x方向速度分量x˙r,y方向速度分量y˙r,和朝向角可以表示为:
x˙r=vrcos(θ)
y˙r=vrsin(θ)
θ=vrtan(δ)/l
同理,前轮的x方向速度分量x˙f,y方向速度分量y˙f,和朝向角可以表示为:
x˙f=vfcos(θ+δ)
y˙f=vfsin(θ+δ)
θ=vfsin(δ)/l
前后轮的切向速度满足:vr=vfcos(δ)
在这样的车辆模型下,反馈控制需要解决的问题之一,就是寻找满足车辆动态姿态限制的方向盘转角δ∈[δmin,δmax]和前向速度vr∈[vmin,vmax]。
2 PID反馈控制

无人车反馈控制模块的任务,是控制车辆尽可能遵循上游动作规划(轨迹和速度)出的时空轨迹。
这里使用两个PID控制器分别控制方向盘转角δ以及前进速度vs。
2.1 横向控制
横向控制主要跟踪的变量误差主要是轨迹的横向误差,和角度误差。
在n采样时刻,控制方向盘转角的PID控制器如下:
δn=K1θe+K2le/Vs+K3ie+K4i=1∑nleΔt
符号 |
说明 |
θe |
当前车朝向,和基准轨迹点(Reference Point)之间的跟踪角度误差 |
le |
横向位置和基准点轨迹之间的距离误差 |
Vs |
车辆在纵向方向的速度 |
2.2 纵向控制
纵向控制主要跟踪的速度误差,其中速度误差是轨迹曲率和基准轨迹点曲率的函数:
Ve=−f(k Vehicle ,k Reference )
因此前进速度的PID控制器可以写成:
UV=KPVe+KI∑VeΔt+KDΔVe/Δt
符号 |
说明 |
k Vehicle |
车辆当前的轨迹点曲率 |
k Reference |
基准轨迹点的基准点曲率 |
参考文章
《第一本无人驾驶技术书》刘少山
在Typora中输入公式
Typora开启行内公式
常用数学符号的 LaTeX 表示方法
一份不太简短的LATEX2ε介绍【精华】