主要内容

setFixedTransform

设置固定的联合变换属性

描述

setFixedTransform (jointObj,tform)设置JointToParentTransform财产的rigidBodyJoint对象与指定的齐次变换,直接tform

例子

setFixedTransform (jointObj,dhparams“dh”)设置ChildToJointTransform财产使用Denavit-Hartenberg (DH)参数。的JointToParentTransform属性设置为一个单位矩阵。DH参数给出的顺序(αdθ)

为转动关节θ输入指定固定关节之间转换时可以忽略,因为角是依赖于联合配置。移动关节,d输入将被忽略。有关更多信息,请参见刚体树机器人模型

setFixedTransform (jointObj,mdhparams“mdh”)设置JointToParentTransform财产利用DH参数修改。的ChildToJointTransform属性设置为一个单位矩阵。修改DH参数给出的顺序(αdθ)

例子

全部折叠

,使用迪纳维特-哈坦伯格(DH)参数Puma560机器人®建造一个机器人。每个刚体添加一次,与child-to-parent变换联合指定的对象。

DH参数定义机器人的几何关系每个刚体是如何连接到它的父。为了方便,设置的参数Puma560机器人在一个矩阵[1]。彪马的机器人是一个串行链机械手。DH参数中的相对于前一行矩阵,对应于前面的接头附件。

dhparams =[0π/ 2 0 0;0.4318 0 0 0 0.0203 0.15005 -π/ 2 0;0.4318π/ 2 0;0 -π/ 2 0 0;0 0 0 0);

创建一个刚体树对象构建机器人。

机器人= rigidBodyTree;

创建第一个刚体,并将它添加到机器人。添加一个刚体:

  1. 创建一个rigidBody对象,并给它一个独特的名字。

  2. 创建一个rigidBodyJoint对象,并给它一个独特的名字。

  3. 使用setFixedTransform指定肢体使用DH参数转换。DH参数的最后一个元素,θ将被忽略,因为角是依赖于关节的位置。

  4. 调用addBody把第一个身体关节机器人的基础构架。

body1 = rigidBody (“界面”);jnt1 = rigidBodyJoint (“jnt1”,“转动”);setFixedTransform (jnt1 dhparams (1:)“dh”);界面。联合= jnt1;addBody(机器人,界面,“基地”)

创建和添加其他刚体机器人。当调用指定身体前面的名称addBody把它。每个固定变换是相对于前一个关节坐标系。

body2 = rigidBody (“body2”);jnt2 = rigidBodyJoint (“jnt2”,“转动”);body3 = rigidBody (“body3”);jnt3 = rigidBodyJoint (“jnt3”,“转动”);body4 = rigidBody (“body4”);jnt4 = rigidBodyJoint (“jnt4”,“转动”);body5 = rigidBody (“body5”);jnt5 = rigidBodyJoint (“jnt5”,“转动”);body6 = rigidBody (“body6”);jnt6 = rigidBodyJoint (“jnt6”,“转动”);:setFixedTransform (jnt2 dhparams (2),“dh”);:setFixedTransform (jnt3 dhparams (3),“dh”);:setFixedTransform (jnt4 dhparams (4),“dh”);:setFixedTransform (jnt5 dhparams (5),“dh”);:setFixedTransform (jnt6 dhparams (6),“dh”);body2。联合= jnt2;body3。联合= jnt3;body4。联合= jnt4;body5。联合= jnt5;body6。Joint = jnt6; addBody(robot,body2,“界面”)addBody (body3的机器人“body2”)addBody (body4的机器人“body3”)addBody (body5的机器人“body4”)addBody (body6的机器人“body5”)

验证您的机器人是建立正确使用showdetails显示函数。showdetails列出所有尸体的MATLAB®命令窗口。显示显示了机器人与给定配置(默认情况下)。调用修改轴限制和隐藏轴标签。

showdetails(机器人)
- - - - - - - - - - - - - - - - - - - - - -机器人:身体(6)Idx身体名称联合名称联合类型父母名字(Idx)孩子的名字(s) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 1界面jnt1转动基地(0)body2 (2) 2 body2 jnt2转动界面(1)body3 (3) 3 body3 jnt3转动body2 (2) body4 (4) 4 body4 jnt4转动body3 (3) body5 (5) 5 body5 jnt5转动body4 (4) body6 (6) 6 body6 jnt6转动body5 (5) - - - - - - - - - - - - - - - - - - - - -
显示(机器人);轴([-0.5,0.5,-0.5,0.5,-0.5,0.5])轴

{“字符串”:“”,“它”:[],“乳胶”:[]}

引用

[1]刘纪麟p I。,and B. Armstrong-Helouvry. “A Search for Consensus among Model Parameters Reported for the PUMA 560 Robot.”学报1994年IEEE机器人与自动化国际会议上,IEEE第一版。Soc。出版社,1994,页1608 - 13所示。DOI.org (Crossref),doi: 10.1109 / ROBOT.1994.351360。

输入参数

全部折叠

rigidBodyJoint对象,指定为一个句柄。

齐次变换,指定为一个4×4矩阵。转换设置为ChildToJointTransform财产。的JointToParentTransform属性设置为一个单位矩阵。

Denavit-Hartenberg (DH)参数,指定为一个研制出向量,(αdθ)。这些参数用于设置ChildToJointTransform财产。的JointToParentTransform属性设置为一个单位矩阵。

θ输入指定固定关节之间转换时可以忽略,因为角是依赖于联合配置。有关更多信息,请参见刚体树机器人模型

修改Denavit-Hartenberg (DH)参数,指定为一个研制出向量,(αdθ)。这些参数用于设置JointToParentTransform财产。的ChildToJointTransform将一个单位矩阵。

θ输入指定固定关节之间转换时可以忽略,因为角是依赖于联合配置。有关更多信息,请参见刚体树机器人模型

引用

[1]克雷格·约翰·J。介绍机器人:力学和控制。阅读,addison - wesley, 1989年。

[2]西西里岛舞蹈,布鲁诺。机器人:造型、计划和控制。伦敦:施普林格,2009年。

扩展功能

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

版本历史

介绍了R2016b