主要内容

路径平滑样条

平滑车辆路径使用三次样条插值

  • 库:
  • 自动驾驶工具箱

  • 路径平滑样条块

描述

路径平滑样条Block通过将输入参考路径位姿拟合为三次样条,生成由一系列离散姿态组成的平滑车辆路径。给定输入参考路径方向,块还返回对应于每个姿态的方向。

使用此块转换C1-到C的连续路径2连续的路径。C1-连续路径包括路径规划器返回的Dubins或reed - shepp路径。有关这些路径类型的详细信息,请参见c1 -连续路径和c2 -连续路径

您可以使用车辆控制器来使用返回的姿势和方向,例如横向控制人Stanley块。

港口

输入

全部展开

车辆沿路径的参考姿态,指定为的-by-3矩阵xyΘ向量,其中是姿势的数量。

x而且y以米为单位指定车辆的位置。Θ以度为单位指定车辆的方向角度。

数据类型:|

车辆沿道路的参考方向,以-by-1的列向量1s(向前运动)和-1s(反向运动)。是参考方向的个数。的每个元素RefDirections中的一个姿态RefPoses输入端口。

数据类型:|

输出

全部展开

平滑路径的离散姿态,返回为N的-by-3矩阵xyΘ)向量。N姿势的数量是否在输出姿势数量参数。

x而且y以米为单位指定车辆的位置。Θ以度为单位指定车辆的方向角度。

中的值提出了中的值具有相同的数据类型RefPoses输入端口。

车辆在每次输出姿态时的行驶方向提出了,作为N-by-1的列向量1s(向前运动)和-1s(反向运动)。N姿势的数量是否在输出姿势数量参数。

中的值方向中的值具有相同的数据类型RefDirections输入端口。

你可以使用方向指定车辆的参考路径。你也可以使用方向,连同CumLengths而且曲率,以生成车辆的参考速度剖面。看到速度分析器Block和Simulink中的自动泊车代客金宝app的例子。

中每个输出姿态的累积路径长度提出了,作为N-by-1实值列向量。N姿势的数量是否在输出姿势数量参数。单位是米。

你可以使用CumLengths,连同方向而且曲率,以生成车辆的参考速度剖面。看到速度分析器Block和Simulink中的自动泊车代客金宝app的例子。

依赖关系

要启用此端口,请选择显示cumlength和曲率输出端口参数。

中每个输出姿态的有符号路径曲率提出了,作为N-by-1实值列向量。N姿势的数量是否在输出姿势数量参数。单位是弧度每米。

你可以使用曲率,连同方向而且CumLengths,以生成车辆的参考速度剖面。看到速度分析器Block和Simulink中的自动泊车代客金宝app的例子。

依赖关系

要启用此端口,请选择显示cumlength和曲率输出端口参数。

参数

全部展开

要返回的平滑姿势的数量提出了输出端口,指定为正整数。要增加返回姿势的粒度,请增大该参数值。

位姿之间的最小距离,以米为单位,指定为正实标量。如果欧几里得(xy)两个姿态之间的距离小于此值,则块只使用其中一个姿态进行插值。

块的采样时间,以秒为单位,指定为-1或者作为正实标量。默认的-1意味着该块从上游块继承其采样时间。

选择此参数可启用CumLengths而且曲率输出端口。

  • 代码生成-使用生成的C/ c++代码模拟模型。当你第一次运行Simulink时金宝app®生成该块的C/ c++代码。只要模型没有改变,C代码就可以在后续的模拟中重用。这个选项需要额外的启动时间。

  • 解释执行-用MATLAB对模型进行仿真®翻译。该选项可缩短启动时间。在解释执行模式下,可以调试该块的源代码。

更多关于

全部展开

算法

  • 路径平滑算法插值一个参数三次样条,通过所有输入参考位姿点。样条的参数是这些点的累积弦长。[1]

  • 平滑输出路径的切线方向近似匹配车辆在起始和目标姿态时的方向角。

参考文献

[1]漂浮者,迈克尔S。论参数三次样条插值与数据多边形的偏差。计算机辅助几何设计.Vol. 25, no . 3, 2008, pp. 148-156。

Lepetic, Marko, Gregor Klancar, Igor Skrjanc, Drago Matko和Bostjan Potocnik。考虑加速度限制的时间最优路径规划。机器人与自主系统.Vol. 45, no . 3-4, 2003, pp. 199-210。

扩展功能

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

版本历史

在R2019a中引入