主要内容

bsplinepolytraj

使用b样条生成多项式轨迹

描述

例子

qdqdd] = bsplinepolytraj(controlPointstIntervaltSamples生成一个分段三次b样条轨迹,该轨迹落在定义的控制多边形中controlPoints.中给出的开始时间和结束时间之间对轨迹进行均匀采样tInterval.该函数返回输入时间样本的位置、速度和加速度,tSamples.该函数还返回分段多项式关于时间的多项式轨迹的形式。

例子

全部折叠

使用bsplinepolytraj函数与给定的二维集合xy控制点。b样条使用这些控制点在多边形内创建轨迹。给出了轨迹的起始和结束时间。

CPTS = [1 4 4 3 -2 0;0 1 2 4 3 1];TPTS = [0 5];

计算b样条轨迹。函数输出轨迹位置(),速度(qd),加速度(qdd),时间向量(tvec)和多项式系数()的多项式,该多项式利用控制点得到路径点。

Tvec = 0:0.01:5;[q, qd, qdd, pp] = bsplinepolytraj(cpts,tpts,tvec);

画出结果。显示控制点和控制点内的轨迹。

图绘制(部署(1:),部署(2:)“xb - - - - - -”)举行所有Plot (q(1,:), q(2,:)) xlabel(“X”) ylabel (“Y”)举行

图中包含一个轴对象。axis对象包含2个line类型的对象。

绘制b样条轨迹的每个元素的位置。这些轨迹是时间参数化的三次分段多项式。

图(tvec,q)稍等所有情节([0:长度(部署)1],部署,“x”)包含(“t”) ylabel (的位置值)传说(“坐标”“坐标”)举行

图中包含一个轴对象。axis对象包含4个line类型的对象。这些对象代表x -位置,y -位置。

创建用b样条插值的路径点。

Wpts1 = [0 1 2.1 8 4 3];Wpts2 = [0 1 1.3 .8 .3 .3];WPTS = [wpts1;wpts2];L =长度(wpts) - 1;

形成用于计算控制多边形内点的矩阵

r = 0 (L+1,大小(wpts,1));A =眼睛(L+1);i= 1:(L-1) A(i+1,(i):(i+2)) = [1 4 1];R (i+1,:) = 6*wpts(:,i+1)';结束

重写端点并进行选择r0而且rL

A(2,1:3) = [3/2 7/2 1];A(l,(l -1):(l +1)) = [1 7/2 3/2];: r (1) = (wpt (: 1) + (wpt (:, 2), wpt (: 1)) / 2) ';r (,) = (wpt (:, end-1) + (wpt(:,结束)- wpt (:, end-1)) / 2) ';dInterior = (A\r)';

构造一个完整的控制多边形并使用bsplinepolytraj用新的控制点计算一个多项式

cpts = [wpts(:,1) dInterior wpts(:,end)];T = 0:0.01:1;Q = bsplinepolytraj(cpts, [0 1], t);

画出结果。显示原始路径点,计算多边形和插值的b样条。

图;持有所有情节(wpts1 wpts2,“o”);情节(部署(1:),部署(2:)“x -”);情节(q (1:), q (2:));传奇(“原路点”“计算控制多边形”b样条的);

图中包含一个轴对象。axis对象包含3个line类型的对象。这些对象表示原始路径点,计算控制多边形,b样条。

[1]法林,9.1节

输入参数

全部折叠

控制多边形b样条轨迹的点,指定为n——- - - - - -p矩阵,n轨道的维数和p是控制点的数目。

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

数据类型:|

轨迹的开始和结束时间,指定为两个元素向量。

例子:10 [0]

数据类型:|

轨迹的时间样本,指定为矢量。输出位置,,速度,qd,加速度,qdd,在这些时间间隔采样。

例子:0:0.01:10

数据类型:|

输出参数

全部折叠

轨迹在给定时间点的位置tSamples,作为一个向量返回。

数据类型:|

轨迹在给定时间点的速度tSamples,作为一个向量返回。

数据类型:|

轨迹在给定时间的加速度tSamples,作为一个向量返回。

数据类型:|

分段多项式,返回为一个结构,定义分段轨迹的每一段的多项式。你可以用mkpp,或求出多项式在指定时间的值ppval.该结构包含以下字段:

  • 形式“页”

  • 休息时间p-分段轨迹变形时间的元素向量。p是路径点的数量。

  • 系数np1)——-订单多项式的系数矩阵。np-1)为轨迹的维数乘以的个数.每套nRows定义了描述每个变量轨迹的多项式的系数。

  • p1。休息次数- 1。

  • 订单:多项式的次+ 1。例如,三次多项式的阶数是4。

  • 昏暗的n.控制点位置的尺寸。

参考文献

[1]法林,杰拉德E。计算机辅助几何设计的曲线和曲面:实用指南.圣地亚哥,加州:学术出版社,1993年。

扩展功能

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

版本历史

在R2019a中引入