主要内容

纵向控制器斯坦利

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

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

  • 纵向控制器

描述

纵向控制器斯坦利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方法(金宝app模型)参数的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 车辆倒车时加速行驶

参考文献

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++代码。金宝app

介绍了R2019a