主要内容

横向控制人斯坦利

采用史丹利方法控制车辆路径跟踪时的转向角

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

  • 横向控制器斯坦利块

描述

横向控制人斯坦利Block计算转向角度命令,以程度为单位,在给定车辆当前速度和方向的情况下,调整车辆的当前姿态以匹配参考姿态。控制器使用Stanley方法计算该命令[1],其控制律基于自行车的运动学和动力学模型。要在模型之间进行更改,请使用汽车模型参数。

  • 运动学自行车模型适用于低速环境下的路径跟踪,如停车场,在那里惯性效应是最小的。

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

港口

输入

全部展开

引用姿势,指定为[xyΘ)向量。x而且y单位是米,和Θ是以度为单位的。

x而且y指定车辆转向的参考点。Θ指定该参考点上路径的方向角,并在逆时针方向上为正。

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

    车辆向前移动,并在道路上标记参考点。单位是世界坐标。

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

    车辆倒车,并在道路上标上参考点。单位是世界坐标。

数据类型:|

车辆的当前姿态,指定为[xyΘ)向量。x而且y单位是米,和Θ是以度为单位的。

x而且y指定车辆的位置,它被定义为车辆后轴的中心。

Θ指定车辆在位置(xy),逆时针方向为正。

标有姿态的车辆。单位是世界坐标。

有关车辆姿势的更多细节,请参见自动驾驶工具箱中的坐标系统

数据类型:|

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

  • 如果车辆向前行驶,则该值必须大于0。

  • 如果车辆倒车,则该值必须小于0。

  • 值为0表示车辆处于静止状态。

数据类型:|

车辆的行驶方向,指明为1向前运动或-1对于反向运动。驱动方向决定了用于计算转向角度命令的位置误差和角度误差。有关更多细节,请参见算法

参考点处路径的曲率,单位为弧度/米,用实标量表示。

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

    车辆向前移动,并在道路上标记参考点。单位是世界坐标。

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

    车辆倒车,并在道路上标上参考点。单位是世界坐标。

方法可以获得路径的曲率曲率a的输出端口路径平滑样条块。也可以从a的输出车道边界结构中获得车道边界的曲率场景的读者块。

依赖关系

若要启用此端口,请设置汽车模型自行车动态模型

飞行器的当前偏航率,以度/秒为单位,指定为一个实标量。当前偏航率是飞行器角速度的变化率。

依赖关系

若要启用此端口,请设置汽车模型自行车动态模型

车辆的当前转向角度,以度为单位,指定为一个实标量。逆时针方向为正。

前轮转动并标明转向角度的车辆

有关更多细节,请参见自动驾驶工具箱中的坐标系统

依赖关系

若要启用此端口,请设置汽车模型自行车动态模型

输出

全部展开

转向角度命令,以度为单位,返回为一个真实标量。逆时针方向为正。

前轮转动并标明转向角度的车辆

有关更多细节,请参见自动驾驶工具箱中的坐标系统

参数

全部展开

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

  • 运动自行车模型-用于在低速环境中(如停车场)进行路径跟踪的运动学自行车模型,在这些环境中惯性效应极小

  • 自行车动态模型-在高速环境中(如高速公路),惯性效应更为明显的路径跟踪的动态自行车模型

车辆向前运动时的位置增益,指定为正标量。这个值决定了位置误差对转向角的影响程度。典型值在[1,5]的范围内。增加此值可增加转向角的幅度。

车辆反向运动时的位置增益,指定为正标量。这个值决定了位置误差对转向角的影响程度。典型值在[1,5]的范围内。增加此值可增加转向角的幅度。

偏航速率反馈增益,指定为非负实标量。这个值决定了当块计算转向角度命令时,赋予车辆当前偏航速率多少权重。

依赖关系

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

转向角反馈增益,指定为非负实标量。这个值决定了当前转向角度命令,SteerCmd,当前转向角,CurrSteer,影响下一个转向角度命令。

依赖关系

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

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

依赖关系

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

车辆质量,以千克为单位,指定为正实标量。

依赖关系

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

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

依赖关系

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

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

依赖关系

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

前轮胎的转弯刚度,单位为牛顿/弧度,指定为正实标量。

依赖关系

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

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

的输出SteerCmd端口饱和到[-),是价值的最大转向角(度)参数。

  • 以下数值-设置为-

  • 值高于设置为

提示

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

算法

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

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

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

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

车辆倒车时(方向参数是-1):

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

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

有关控制器如何最小化运动学和动态自行车模型的这些误差的详细信息,请参阅[1]

参考文献

[1]霍夫曼,加布里埃尔M,克莱尔J.汤姆林,迈克尔蒙特默洛,塞巴斯蒂安特龙。越野驾驶自动驾驶汽车轨迹跟踪:控制器设计、实验验证和赛车。美国控制会议.2007,第2296-2301页。doi: 10.1109 / ACC.2007.4282788

扩展功能

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

版本历史

在R2018b中介绍

Baidu
map