横向控制器斯坦利

通过使用斯坦利方法车辆路径下列控制转向角

  • 图书馆:
  • 自动驾驶工具箱/车辆控制

描述

横向控制器斯坦利block计算转向角度命令,以度为单位,根据车辆当前的速度和方向,调整车辆当前的姿态以匹配参考姿态。控制器使用Stanley方法计算这个命令[1],其控制法是基于两者运动学和动力学自行车模型。为了模型之间切换,使用汽车模型参数。

  • 运动学自行车模型适用于低速环境,例如停车场,其中惯性效应是最小的下面的路径。

  • 动态自行车模型适用于高速公路等惯性效应比较明显的高速环境下的路径跟随。该车辆模型提供了描述车辆动力学的附加参数。

港口

输入

全部展开

参考姿态,指定为[XÿΘ)向量。Xÿ单位是米,和Θ是在度。

Xÿ指定参考点,引导车辆转向。Θ指定的路径的取向角在该参考点,并且在逆时针方向上正。

  • 对于前进中的车辆,参考点是最接近车辆前轴中心的路径上的点。

  • 对于反向行驶的车辆,参考点是最接近车辆后轴中心的路径上的点。

数据类型:|

车辆的当前姿态,指定为[XÿΘ)向量。Xÿ单位是米,和Θ是在度。

Xÿ指定车辆的位置,定义为车辆后轴的中心。

Θ确定车辆的位置处的取向角(Xÿ),并且是在逆时针方向正。

有关车辆姿态的详细信息,请参阅坐标系统在自动驾驶的工具箱

数据类型:|

车辆的当前纵向速度,指定为实数标量。单位是米每秒。

  • 如果车辆是在向前运动,则该值必须大于0。

  • 如果车辆是在反向运动,则此值必须小于0。

  • 值0表示车辆不处于运动状态。

数据类型:|

在车辆的驾驶方向,指定为1向前运动或1反向运动。驱动方向决定了用于计算转向角指令的位置误差和角度误差。有关详细信息,请参阅算法

曲率参考点的路径,在每米弧度,指定作为一个真正的标量。

  • 对于前进中的车辆,参考点是最接近车辆前轴中心的路径上的点。

  • 对于反向行驶的车辆,参考点是最接近车辆后轴中心的路径上的点。

您可以从该路径的曲率曲率a的输出端口路径平滑样条块。您也可以从一个输出道边界结构得到车道边界的曲率方案读卡器块。

依赖

要启用该端口,设置汽车模型动态的自行车模型

车辆的当前偏航率,以每秒度数为单位,指定为实标量。当前的偏航率是指飞行器角速度的变化率。

依赖

要启用该端口,设置汽车模型动态的自行车模型

在车辆的当前转向角,单位为度,指定为实数标量。此值是在逆时针方向上正。

有关详细信息,请参阅坐标系统在自动驾驶的工具箱

依赖

要启用该端口,设置汽车模型动态的自行车模型

产量

全部展开

转向角命令,以度为单位,作为实标量返回。此值是在逆时针方向上正。

有关详细信息,请参阅坐标系统在自动驾驶的工具箱

参数

全部展开

选择车辆型号,设置斯坦利法所采用的控制律块。

  • 运动自行车模型- 在低速以下路径运动自行车模型的环境,如停车场,其中惯性效应是最小

  • 动态的自行车模型-在高速公路等惯性效应较明显的高速环境中,用于跟踪路径的动态自行车模型

车辆的位置增益当它在向前运动,指定为正标量。此值确定位置误差有多大影响转向角。典型值在[1,5]的范围内。增加该值增加转向角的大小。

车辆的位置增益,当它是在反向运动,指定为正标量。此值确定位置误差有多大影响转向角。典型值在[1,5]的范围内。增加该值增加转向角的大小。

横摆角速度反馈增益,指定为负实标。此值确定当块计算转向角命令多少重量给予车辆的当前横摆率。

依赖

要启用此参数,请设置汽车模型动态的自行车模型

转向角反馈增益,指定为负实标。此值确定多少当前的转向角指令之间的差,SteerCmd和当前的转向角,CurrSteer,影响下一个转向角命令。

依赖

要启用此参数,请设置汽车模型动态的自行车模型

车辆前后轴之间的距离,单位为米,为实标量。此值仅适用于车辆向前运动时,即方向输入端口是1

依赖

要启用此参数,请设置汽车模型运动自行车模型

车辆质量,以公斤为单位,指定为正的实标量。

依赖

要启用此参数,请设置汽车模型动态的自行车模型

从质量的车辆的中心到其前轮轴的纵向距离,以米为单位,指定为正实数标量。

依赖

要启用此参数,请设置汽车模型动态的自行车模型

从车辆的质心到后轮轴的纵向距离,单位为米,为正实标量。

依赖

要启用此参数,请设置汽车模型动态的自行车模型

前轮胎的侧偏刚度,以每弧度牛顿,指定为正实数标量。

依赖

要启用此参数,请设置汽车模型动态的自行车模型

车辆的最大允许转向角,以角度为单位,指定为范围内的实标量(0,180)。

的输出。SteerCmd端口被饱和到范围[ -中号中号),中号是的值最大转向角(deg)参数。

  • 下面的值,中号被设置为 -中号

  • 上述数值中号被设置为中号

提示

  • 您可以为车辆环境的变化自行车模型之间切换。添加两个横向控制器斯坦利块,并为每个块指定不同的自行车模型。例如,参见横向控制教程

算法

为了计算转向角命令时,控制器最小化了位置误差和当前姿态相对于基准姿态的角度误差。所述车辆的行驶方向决定这些错误值。

当车辆向前行驶时(方向参数是1):

  • 位置误差为从前轴中心到路径上参考点的横向距离。

  • 角误差是前轮相对于参考路径的角度。

当车辆是在反向运动(方向参数是1):

  • 位置误差是从后轴的路径上的基准点的中心的横向距离。

  • 角误差是后轮相对于参考路径的角度。

有关控制器如何最大限度地减少这些错误的运动学和动力学模型自行车的详细信息,请参阅[1]

参考

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

扩展功能

C / c++代码生成
生成使用的Simulink编码器™C和C ++代码。金宝app

介绍了在R2018b