主要内容

纵向控制器斯坦利

采用斯坦利法控制车辆的纵向速度

  • 库:
  • 自动驾驶工具箱/车辆控制

  • 纵向控制器

描述

纵向控制器斯坦利Block计算控制车辆速度的加速和减速指令,单位为米每秒。指定参考速度、当前速度和当前驱动方向。控制器使用Stanley方法计算这些命令[1],该块实现为具有积分防卷的离散比例积分(PI)控制器。有关更多详细信息,请参阅算法

你也可以使用斯坦利方法来计算车辆的转向角度指令。看到横向控制器斯坦利块。

港口

输入

全部展开

参考速度,以米为单位,指定为真正的标量。

当前车辆的速度,以米为单位,指定为真正的标量。

车辆行驶方向,指定为1向前运动-1反向运动。

触发重置速度误差积分,ek),零。价值0持有ek)稳定。非零值将重置ek).

输出

全部展开

加速命令,返回范围内的实际标量[0,一个),一个是值的价值最大纵向加速度(m/s^2)参数。

减速命令,在范围内作为实际标量返回[0,D),D是值的价值最大纵向减速(M / S ^ 2)参数。

参数

全部展开

控制器比例增益,Kp,指定为正实标量。

控制器的积分增益,K,指定为正实标量。

控制器的采样时间,以秒为单位,指定为正实际标量。

最大纵向加速度,单位为米每秒平方,指定为正实标量。

模块的输出饱和AccelCmd到范围[0,一个),一个是该参数的值。值高于一个一个

最大纵向减速,单位为米/秒的平方,指定为正实标量。

模块的输出饱和DecelCmd端口到范围[0,D),D是该参数的值。值高于DD

算法

纵向控制器斯坦利块实现了具有积分反上滞的离散比例积分(PI)控制器,如Anti-windup方法(万博1manbetx模型)参数的PID控制器块。block使用这个等式:

u k K p + K T 年代 z z 1 e k

  • uk)是控制信号k时间步长。

  • Kp比例增益是由比例增益,Kp参数。

  • K积分增益是由积分增益,吻参数。

  • T年代块的采样时间是否以秒为单位,由样品时间(年代)参数。

  • ek)为速度误差(CurrVelocity- - - - - -RefVelocity)k时间步长。对于每一个人k,该误差等于当前速度与参考速度输入的差值(CurrVelocity- - - - - -RefVelocity).

控制信号,u,决定加速命令的值AccelCmd和减速命令DecelCmd.该块使加速度和减速度命令达到[0,一个]和[0,D),地点:

  • 一个是价值的最大纵向加速度(m/s^2)参数。

  • D是值的价值最大纵向减速(M / S ^ 2)参数。

在每个时间步骤中,只有一个AccelCmdDecelCmd端口值为正,其他端口值是0.换句话说,车辆可以在一个时间步内加速或减速,但它不能同时做这两件事。

按照规定的运动方向方向输入端口,确定在给定的时间步长下哪个命令是正的。

方向港价值 控制信号值uk Accelcmd端口值 DecelCmd端口值 描述
1(移动)

uk)> 0

积极的真正标量 0 汽车向前行驶时加快了速度

uk) < 0

0 积极的真正标量 车辆向前行驶时车辆减速
-1(反向运动)

uk)> 0

0 积极的真正标量 车辆倒车时减速

uk) < 0

积极的真正标量 0 车辆在反向方面旅行时加速

参考

[1] Hoffmann,Gabriel M.,Claire J. Tomlin,Michael Montemerlo和Sebastian Thrun。“越野驾驶自动汽车轨迹跟踪:控制器设计,实验验证和赛车。”美国控制会议.2007年8月,第2296-2301页。doi: 10.1109 / ACC.2007.4282788。

扩展功能

C / c++代码生成
使用Simulink®Coder™生成C和c++代码。万博1manbetx

介绍了R2019a