主要内容

controllerPurePursuit

创建控制器按照设置的锚点

自从R2019b

描述

controllerPurePursuit系统对象™创建一个控制器对象用来制造差动传动车辆遵循一套锚点。物体的线速度和角速度计算车辆在当前姿势。连续调用对象的更新提出了为车辆提供更新的速度命令。使用MaxAngularVelocityDesiredLinearVelocity属性更新速度根据车辆的性能。

LookaheadDistance属性计算一个先行的道路上的点,这是一个当地的目标车辆。角速度命令计算基于这一点。改变LookaheadDistance有一个对算法的性能产生重大影响。更有预见性的距离导致车辆的平滑轨迹,但会导致车辆沿着路径偷工减料。低有预见性的距离可以在跟踪路径导致振荡,造成不稳定的行为。纯追求算法的更多信息,请参阅纯追求控制器

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

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

  2. 调用对象的参数,就好像它是一个函数。

了解更多关于系统对象是如何工作的,看到的系统对象是什么?

创建

描述

例子

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

控制器= controllerPurePursuit(名称,值)创建一个纯粹的追求对象由一个或多个指定附加选项名称,值对。的名字是属性名和值对应的值。名称必须出现在单引号(' ')。您可以指定几个名称-值对参数在任何顺序Name1, Value1,…,的家。没有指定属性保留默认值。

例子:控制器= controllerPurePursuit (DesiredLinearVelocity, 0.5)

属性

全部展开

所需的恒定线速度,指定为一个标量米每秒。控制器假定车辆驱动以恒定线速度和角速度是独立计算的线速度。

数据类型:

有预见性的距离,指定为一个标量米。有预见性的距离变化的响应控制器。较高的车辆先行的距离产生平滑的路径,但需要更大的在角落里。车辆与更小的先行的距离密切遵循的路径,需要急转弯,但有可能产生振荡的路径。

数据类型:

最大角速度,指定一个标量弧度每秒。控制器使饱和绝对角速度输出给定的值。

数据类型:

中转地点,指定为一个n2组(x, y)对,n锚点的数量。您可以生成路径点的mobileRobotPRM类或从另一个来源。

数据类型:

使用

描述

例子

(韦尔,angvel]=控制器(构成)处理车辆的位置和姿态,构成和输出线速度,韦尔角速度,angvel

(韦尔,angvel,lookaheadpoint]=控制器(构成)返回先行的观点,这是一个道路上的位置用于计算速度的命令。这个位置的路径计算使用LookaheadDistance财产的控制器对象。

输入参数

全部展开

车辆的位置和姿态,指定为一个3×1的向量形式(x yθ)。构成是一个xy位置角定向θ(弧度)测量的x设在。

输出参数

全部展开

线速度,指定为一个标量米每秒。

数据类型:

角速度,指定为一个标量的弧度每秒。

数据类型:

先行的道路上,作为一个返回(x, y)向量。这个值是基于计算LookaheadDistance财产。

对象的功能

使用一个目标函数,指定系统对象作为第一个输入参数。例如,释放系统资源的系统对象命名obj使用这个语法:

发行版(obj)

全部展开

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

例子

全部折叠

使用信息方法来获取更多的信息controllerPurePursuit对象。的信息函数返回两个字段,RobotPoseLookaheadPoint,对应于当前机器人的位置和姿态和路径上的点用于计算输出上次调用的对象。

创建一个controllerPurePursuit对象。

页= controllerPurePursuit;

分配锚点。

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

计算使用的控制命令对象的初始姿势(x yθ)作为输入。

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

获得额外的信息。

s = info (pp)
s =结构体字段:RobotPose: [0 0 0] LookaheadPoint:(0.7071 - 0.7071)

扩展功能

版本历史

介绍了R2019b