用斯坦利法控制车辆纵向速度
自动驾驶工具箱/车辆控制
的纵向控制器斯坦利block计算控制车辆速度的加速和减速命令,以米/秒为单位。指定参考速度、当前速度和当前驱动方向。控制器使用Stanley方法计算这些命令[1]块作为一个离散比例积分(PI)控制器与积分反卷绕实现。有关更多细节,请参见算法。
您还可以使用Stanley方法计算车辆的转向角命令。看到横向控制器斯坦利块。
的纵向控制器斯坦利块实现了一个具有积分反紧的离散比例积分(PI)控制器,如Anti-windup方法(金宝appSimulink) PID控制器块的参数。block使用如下公式:
u(k)是控制信号k时间步长。
Kp是比例增益,因为设置比例增益,Kp参数。
K我的积分增益积分增益,吻参数。
T年代块的采样时间是否以秒为单位样品时间(年代)参数。
e(k为速度误差(CurrVelocity- - - - - -RefVelocity)k时间步长。为每一个k,此误差等于电流速度与参考速度输入(CurrVelocity- - - - - -RefVelocity)。
控制信号,u,确定加速命令的值AccelCmd和减速命令DecelCmd。块将加速和减速命令饱和到各自的范围[0,米一个]和[0,米D),地点:
米一个的值。最大纵向加速度(m/s^2)参数。
米D的值是多少最大纵向减速(m/s^2)参数。
在每个时间步,只有一个AccelCmd和DecelCmd端口值为正,另一个端口值为0
。换句话说,车辆可以在一个时间步内加速或减速,但不能同时做这两件事。
中指定的运动方向方向输入端口,确定哪个命令在给定的时间步长是正的。
方向端口值 | 控制信号值u(k) | AccelCmd端口值 | DecelCmd端口值 | 描述 |
---|---|---|---|---|
1 (移动) |
u(k)> 0 |
积极的真正的标量 | 0 |
车辆前进时加速 |
u(k)< 0 |
0 |
积极的真正的标量 | 车辆前进时减速 | |
1 (反向运动) |
u(k)> 0 |
0 |
积极的真正的标量 | 车辆倒车时减速 |
u(k)< 0 |
积极的真正的标量 | 0 |
车辆在倒车时加速 |
[1] Hoffmann, Gabriel M., Claire J. Tomlin, Michael Montemerlo,和Sebastian Thrun。越野自动汽车轨迹跟踪:控制器设计、实验验证和赛车。美国控制会议。2007年8月,第2296-2301页。doi: 10.1109 / ACC.2007.4282788。