主要内容

trapveltraj.

用梯形速度配置文件产生轨迹

描述

例子

[问:QD.QDD.Tsamples.PP.] = trapveltraj(航点numsamples.的)通过遵循梯形速度分布的给定输入航点组生成轨迹。该功能输出给定时间样本的位置,速度和加速度,Tsamples.,基于指定数量的样本,numsamples.。该功能还返回分段多项式PP.多项式轨迹的形式相对于时间。

[问:QD.QDD.Tsamples.PP.] = trapveltraj(航点numsamples.名称,价值的)使用其他参数使用名称,价值对论点。

例子

全部收缩

使用trapveltraj.使用给定的2-D集合XY航点。还给出了航点的时间点。

WPTS = [0 45 15 90 45;90 45-45 15 90];

计算给定数量的样本(501)的轨迹。该功能输出轨迹位置(问:), 速度 (QD.)加速(QDD.),时间向量(TVEC.)和多项式系数(PP.)多项式实现使用梯形速度的航点。

[q,qd,qdd,tvec,pp] = trapveltraj(wpts,501);

绘制轨迹X-y- 每个航点之间的梯形速度曲线。

子图(2,1,1)绘图(TVEC,Q)XLabel('T')ylabel('职位') 传奇('X''是')子图(2,1,2)绘图(TVEC,QD)XLabel('T')ylabel('速度') 传奇('X''是'的)

图包含2个轴对象。轴对象1包含2个类型的线。这些对象代表x,y.轴对象2包含类型线的2个对象。这些对象代表X,Y.

您还可以验证2-D平面中的实际位置。绘制单独的行问:矢量和航点X-y-职位。

图绘图(q(1,:),q(2,:),'-b',wpts(1,:),wpts(2,:),'或者'的)

图包含轴对象。轴对象包含2个类型的物体。

输入参数

全部收缩

轨迹航点点,指定为一个N.-经过-P.矩阵,其中N.是轨迹的尺寸和P.是航点数。

例子:[1 4 4 3 -2 0;0 1 2 4 3 1]

数据类型:单身的|双倍的

输出轨迹中的样本数量,指定为正整数。

数据类型:单身的|双倍的

名称 - 值参数

指定可选的逗号分离对名称,价值论点。姓名是参数名称和价值是相应的价值。姓名必须出现在引号内。您可以以任何顺序指定多个名称和值对参数name1,value1,...,namen,valuen

例子:'peakvelocity',5

笔记

由于梯形速度剖面的性质,您只能设置以下大多数以下参数。

配置文件段的峰值速度,指定为逗号分隔对组成'peakvelocity'和标量,矢量或矩阵。该峰值速度是梯形速度曲线期间实现的最高速度。

标量值适用于轨迹的所有元素以及所有航点之间。一个N.-Element矢量应用于所有航点之间轨迹的每个元素。一个N.-经过-(P.-1)矩阵应用于每个航点的轨迹的每个元素。

数据类型:单身的|双倍的

加速速度曲线,指定为逗号分隔的对组成'加速'和标量,矢量或矩阵。此加速度定义了从零速度的恒定加速度PeakVelocity.价值。

标量值适用于轨迹的所有元素以及所有航点之间。一个N.-Element矢量应用于所有航点之间轨迹的每个元素。一个N.-经过-(P.-1)矩阵应用于每个航点的轨迹的每个元素。

数据类型:单身的|双倍的

每个人的持续时间P.-1轨迹段,指定为逗号分隔的配对组成'时间结束'和标量,矢量或矩阵。

标量值适用于轨迹的所有元素以及所有航点之间。一个N.-Element矢量应用于所有航点之间轨迹的每个元素。一个N.-经过-(P.-1)矩阵应用于每个航点的轨迹的每个元素。

数据类型:单身的|双倍的

速度概率的加速阶段的持续时间,指定为逗号分隔的对组成'Acceltime'和标量,矢量或矩阵。

标量值适用于轨迹的所有元素以及所有航点之间。一个N.-Element矢量应用于所有航点之间轨迹的每个元素。一个N.-经过-(P.-1)矩阵应用于每个航点的轨迹的每个元素。

数据类型:单身的|双倍的

输出参数

全部收缩

轨迹的位置在给定时间样本中Tsamples.,返回N.-经过-M.矩阵,其中N.是轨迹的尺寸,还有M.等于numsamples.

数据类型:单身的|双倍的

给定时间样本的轨迹的速度Tsamples.,返回N.-经过-M.矩阵,其中N.是轨迹的尺寸,还有M.等于numsamples.

数据类型:单身的|双倍的

给定时间样本的轨迹的加速度Tsamples.,返回N.-经过-M.矩阵,其中N.是轨迹的尺寸,还有M.等于numsamples.

数据类型:单身的|双倍的

轨迹的时间样本,作为一个返回M.- 再生矢量。输出位置,问:, 速度,QD.和加速度,QDD.在这些时间间隔采样。

例子:0:0.01:10

数据类型:单身的|双倍的

分段多项式,作为细胞阵列的结构阵列,其定义了分段轨迹的每个部分的多项式。如果轨迹的所有元素共享相同的断裂,则单元格阵列是单个分段多项式结构。否则,单元格数组具有N.对应于每个不同轨迹元件(尺寸)的元素。每个结构都包含字段:

  • 形式'pp'

  • 休息P.-element矢量分段轨迹改变形式的时代。P.是航点数。

  • COEFS.N.P.-1)--by-命令多项式的系数的矩阵。N.P.-1)是轨迹的尺寸。每套N.行定义了描述每个可变轨迹的多项式的系数。

  • P.-1。断裂次数减1。

  • 命令:多项式+ 1的程度。例如,立方多项式的命令为4。

  • 暗淡N.。控制点位置的尺寸。

您可以使用自己的分段多项式MKPP.或者使用指定时间评估多项式使用ppval.

分段 - 多项式,作为一个结构,用于为分段轨迹的每个部分定义多项式。您可以使用自己的分段多项式MKPP.或者使用指定时间评估多项式使用ppval.。该结构包含字段:

  • 形式'pp'

  • 休息P.-element矢量分段轨迹改变形式的时代。P.是航点数。

  • COEFS.N.P.-1)--by-命令多项式的系数的矩阵。N.P.-1)是轨迹的尺寸。每套N.行定义了描述每个可变轨迹的多项式的系数。

  • P.-1。断裂次数减1。

  • 命令:多项式+ 1的程度。例如,立方多项式的命令为4。

  • 暗淡N.。控制点位置的尺寸。

参考

[1] Lynch,Kevin M.和Frank C. Park。现代机器人:力学,规划和控制。剑桥:剑桥大学出版社,2017年。

[2]孔,标记W.,Seth Hutchinson和M.Vidyasagar。机器人建模与控制。约翰瓦里和儿子,2006年。

扩展能力

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

在R2019A引入