主要内容

transformtraj

生成两个转换之间的轨迹

描述

例子

tforms韦尔acc) = transformtraj (T0特遣部队tIntervaltSamples生成一个轨迹,在两个4 × 4齐次变换之间进行插值,T0特遣部队,以基于时间间隔的点和给定的时间样本。

tforms韦尔acc) = transformtraj (T0特遣部队tIntervaltSamples、名称、值)使用名称,值对参数。

例子

全部折叠

从两个方向和位置构建转换。指定插值的时间间隔和时间向量。

T0 = axang2tform([0 1 1 pi/4])*trvec2tform([0 0 0]);tF = axang2tform([1 0 1 6*pi/5])*trvec2tform([1 1 1]);tInterval = [0 1];tvec = 0:0.01:1;

在点之间插值。使用以下方法绘制轨迹plotTransforms.将转换转换为四元数旋转和线性过渡。该图显示了坐标坐标系的所有中间变换。

[tfInterp, v1, a1] = transformtraj(t0,tF,tInterval,tvec);旋转= tform2quat (tfInterp);翻译= tform2trvec (tfInterp);plotTransforms(平移、旋转)包含(“X”) ylabel (“Y”) zlabel (“Z”

图中包含一个axes对象。axes对象包含404个类型为patch、line的对象。

输入参数

全部折叠

初始转换,指定为4 × 4齐次转换。这个函数产生了一个从初始变换处开始的轨迹,T0,到最后的变换,特遣部队

数据类型:|

最后的转换,指定为4 × 4齐次转换。这个函数产生了一个从初始变换处开始的轨迹,T0,到最后的变换,特遣部队

数据类型:|

轨迹的开始和结束时间,指定为以秒为单位的双元素向量。

例子:10 [0]

数据类型:|

轨迹的时间样本,指定为-element vector单位为秒。

例子:0:0.01:10

数据类型:|

轨迹的时间样本,指定为元向量。

例子:0:0.01:10

数据类型:|

名称-值参数

指定可选参数对为Name1 = Value1,…,以=家,在那里的名字参数名称和价值对应的值。名-值参数必须出现在其他参数之后,但对的顺序并不重要。

在R2021a之前,名称和值之间用逗号隔开,并括起来的名字在报价。

例子:“时间表”,[0 1 2;0 1 0;0 0 0)

时间缩放向量和前两个导数,指定为3by -向量,的长度tSamples.缺省情况下,时间缩放是时间点之间的线性时间缩放tInterval

对于非线性时间缩放,将时间点的值指定为第一行中以米为单位的位置。第二行和第三行分别是时间点的速度和加速度,单位为m/s和m/s2,分别。例如,沿着线性速度的路径走到中点,然后跳到终点,时间缩放为:

s(1,:) =[0 0.25 0.5 1 1 1] %位置s(2,:) =[1 1 1 0 0 0] %速度s(3,:) =[0 0 0 0 0] %加速度

数据类型:|

输出参数

全部折叠

转换轨迹,返回为4乘4乘-齐次变换矩阵阵,其中点数是多少tSamples

变换速度,返回为6by -矩阵单位为m/s,其中点数是多少tSamples.前三个元素是角速度,后三个元素是时间速度。

转换加速度,返回为6by -矩阵m / s2,在那里点数是多少tSamples.前三个元素是角加速度,后三个元素是时间加速度。

参考文献

[1]林奇,凯文M.和弗兰克C.帕克。现代机器人:力学、计划与控制.剑桥大学出版社,2017。

扩展功能

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

版本历史

介绍了R2019a

Baidu
map