主要内容

controllerPurePursuit

创建控制器以遵循一组路径点

描述

controllerPurePursuit系统对象™创建一个控制器对象,用于使差动驱动车辆遵循一组路径点。该对象计算给定当前姿态的车辆的线速度和角速度。连续调用具有更新姿态的对象,为飞行器提供更新的速度命令。使用MaxAngularVelocity而且DesiredLinearVelocity属性来根据车辆的性能更新速度。

LookaheadDistance属性计算路径上的前瞻点,这是车辆的本地目标。角速度命令是基于这个点计算的。改变LookaheadDistance对算法的性能有重大影响。较高的前瞻距离会使车辆的轨迹更平滑,但也会导致车辆在路上抄近路。低的前视距离会导致跟踪路径的振荡,导致不稳定行为。有关纯追踪算法的更多信息,请参见纯追求控制器

请注意

从R2016b开始,而不是使用一步方法来执行System对象定义的操作,您可以调用带有参数的对象,就像调用函数一样。例如,Y = step(obj,x)而且Y = obj(x)执行等效操作。

计算线速度和角速度控制命令:

  1. 创建controllerPurePursuit对象并设置其属性。

  2. 调用带有参数的对象,就像调用函数一样。

要了解更多关于System对象如何工作的信息,请参见什么是系统对象?

创建

描述

例子

控制器= controllerPurePursuit创建一个纯跟踪对象,该对象使用纯跟踪算法计算差速驱动车辆的线速度和角速度输入。

控制器= controllerPurePursuit(名称,值)用一个或多个指定的附加选项创建纯跟踪对象名称,值对。Name是属性名称,Value是对应的值。名称必须出现在单引号内(' ').可以以任意顺序指定多个名值对参数Name1, Value1,…,的家.未指定的属性保持默认值。

例子:controller = controllerPurePursuit('DesiredLinearVelocity', 0.5)

属性

全部展开

期望的恒定线速度,指定为米/秒的标量。控制器假设车辆以恒定的线速度行驶,计算出的角速度与线速度无关。

数据类型:

前视距离,以米为单位的标量指定。前视距离改变了控制器的响应。前瞻距离越远的车辆行驶路径越平滑,但在拐弯处转弯次数越大。一辆前瞻距离较短的车辆会紧跟路径并急转弯,但可能会在路径上造成振荡。

数据类型:

最大角速度,以弧度/秒为单位指定标量。控制器使绝对角速度输出在给定值处饱和。

数据类型:

路径点,指定为n-by-2数组的(x, y)对,n是路径点的数量。方法生成路径点mobileRobotPRM(机器人系统工具箱)类或来自另一个源。

数据类型:

使用

描述

例子

韦尔angvel=控制器(构成处理飞行器的位置和方向,构成,输出线速度,韦尔,角速度,angvel

韦尔angvellookaheadpoint=控制器(构成返回前瞻点,这是用于计算速度命令的路径上的一个位置。方法计算路径上的此位置LookaheadDistance上的物业控制器对象。

输入参数

全部展开

车辆的位置和方向,在表单中指定为3乘1的矢量[x y].车辆的姿态是x而且y位置与角取向θ(弧度)测量从x设在。

输出参数

全部展开

线速度,以米/秒为单位的标量。

数据类型:

角速度,以弧度/秒为单位的标量表示。

数据类型:

前瞻点上的路,返回为一(x, y)向量。该值是根据LookaheadDistance财产。

对象的功能

要使用对象函数,请将System对象指定为第一个输入参数。例如,释放名为obj,使用以下语法:

发行版(obj)

全部展开

信息 公司特色信息controllerPurePursuit对象
一步 运行系统对象算法
释放 释放资源并允许更改系统对象属性值和输入特征
重置 的内部状态重置系统对象

例子

全部折叠

使用信息方法获取有关的更多信息controllerPurePursuit对象。的信息函数返回两个字段,RobotPose而且LookaheadPoint,对应于机器人的当前位置和方向,以及用于计算该对象最后一次调用的输出的路径上的点。

创建一个controllerPurePursuit对象。

pp = controllerPurePursuit;

分配锚点。

pp.Waypoints = [0 0;1 1];

控件计算控制命令物体的初始姿态[x y]给定输入。

[v,w] = pp([0 0 0]);

获取更多信息。

信息(pp)
s =带有字段的结构:RobotPose: [0 0 0] LookaheadPoint: [0.7071 0.7071]

扩展功能

版本历史

在R2019b中引入

Baidu
map