主要内容

replaceJoint

取代联合对身体

描述

例子

replaceJoint (机器人,bodyname,联合)取代了关节机器人模型中指定的身体如果身体是一个机器人模型的一部分。这个方法是唯一的方式改变关节在机器人模型。你不能直接分配联合一个刚体的属性。

例子

全部折叠

对现有的进行更改rigidBodyTree对象。你可以替换关节,身体和刚体树中的子树。

负载机器人作为例子rigidBodyTree对象。

负载exampleRobots.mat

视图Puma机器人使用的细节showdetails

showdetails (puma1)
- - - - - - - - - - - - - - - - - - - - - -机器人:身体(6)Idx身体名称联合名称联合类型父母名字(Idx)孩子的名字(s) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 1 L1 jnt1转动基地(0)L2 (2) 2 L2 jnt2转动L1 (1) L3 (3) 3 L3 jnt3转动L2 (2) L4 (4) 4, jnt4转动L3(3)一两百(5)5 L5 jnt5转动L4(4) 16种(6)6 16种jnt6转动L5 (5) - - - - - - - - - - - - - - - - - - - - -

让一个特定的身体检查属性。唯一的孩子L3身体是L4的身体。你可以复制一个特定的身体。

body3 = getBody (puma1,“L3”);childBody = body3.Children {1}
childBody = rigidBody属性:名称:L4的联合:[1 x1 rigidBodyJoint]质量:1 CenterOfMass:[0 0 0]惯性:父:[1 1 1 0 0 0][1 x1 rigidBody]孩子:{[1 x1 rigidBody]}视觉效果:{}碰撞:{}
body3Copy = (body3)复印件;

替换上的联合L3的身体。您必须创建一个新的联合对象和使用replaceJoint确保下游体几何不受影响。调用setFixedTransform如果有必要定义一个身体而不是使用默认的身份之间的变换矩阵。

newJoint = rigidBodyJoint (“移动”);replaceJoint (puma1“L3”,newJoint);showdetails (puma1)
- - - - - - - - - - - - - - - - - - - - - -机器人:身体(6)Idx身体名称联合名称联合类型父母名字(Idx)孩子的名字(s) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 1 L1 jnt1转动基地(0)L2 (2) 2 L2 jnt2转动L1 (1) L3 3 L3棱镜(3)固定L2 (2) L4 (4) 4, jnt4转动L3(3)一两百(5)5 L5 jnt5转动L4(4) 16种(6)6 16种jnt6转动L5 (5) - - - - - - - - - - - - - - - - - - - - -

删除整个身体和由此产生的子树使用removeBody。身体是包含在子树中删除。

子树= removeBody (puma1,“L4”)
子树= rigidBodyTree属性:NumBodies: 3身体:{[1 x1 rigidBody] [1 x1 rigidBody] [1 x1 rigidBody]}基础:[1 x1 rigidBody] BodyNames: {L4的L5的‘社会’}::“L3”重力:[0 0 0]DataFormat:“结构”

删除修改L3的身体。添加原始的复制L3身体的L2身体,其次是返回的子树。机器人模型是相同的。通过详细比较showdetails

removeBody (puma1“L3”);addBody (puma1 body3Copy,“外语”)addSubtree (puma1“L3”子树)showdetails (puma1)
- - - - - - - - - - - - - - - - - - - - - -机器人:身体(6)Idx身体名称联合名称联合类型父母名字(Idx)孩子的名字(s) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 1 L1 jnt1转动基地(0)L2 (2) 2 L2 jnt2转动L1 (1) L3 (3) 3 L3 jnt3转动L2 (2) L4 (4) 4, jnt4转动L3(3)一两百(5)5 L5 jnt5转动L4(4) 16种(6)6 16种jnt6转动L5 (5) - - - - - - - - - - - - - - - - - - - - -

输入参数

全部折叠

机器人模型,指定为一个rigidBodyTree对象。

体名称,指定为字符串标量或特征向量。这个机构必须在指定的机器人模型机器人

数据类型:字符|字符串

替换关节,指定为一个rigidBodyJoint对象。

扩展功能

版本历史

介绍了R2016b