主要内容

removeBody

从机器人上移除身体

描述

removeBody (机器人bodyname从机器人模型中移除身体和所有随后附着的身体。

例子

newSubtree= removeBody (机器人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。孩子{1}
名称:'L4'关节:[1x1 rigidBodyJoint]质量:1 CenterOfMass:[0 0 0]惯性:[1 1 1 0 0 0]父:[1x1 rigidBody]子:{[1x1 rigidBody]}视觉效果:{}碰撞:{}
body3Copy = copy(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.被移除的主体包含在子树中。

subtree = removeBody(puma1,“L4”
subtree = rigidBodyTree with properties: NumBodies: 3 Bodies: {[1x1 rigidBody] [1x1 rigidBody] [1x1 rigidBody]} Base: [1x1 rigidBody] BodyNames: {'L4' 'L5' 'L6'} BaseName: 'L3' Gravity: [0 0 0] DataFormat: 'struct'

删除修改后的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 ) --------------------

输入参数

全部折叠

机器人模型,指定为arigidBodyTree对象。

主体名称,指定为字符串标量字符向量。此主体必须安装在中指定的机器人型号上机器人

数据类型:字符|字符串

输出参数

全部折叠

机器人子树,返回为rigidBodyTree对象。所指定的主体的父名称bodyname作为基名。前面的机器人模型中所附加的所有身体(包括带有bodyname被添加到子树中。

扩展功能

版本历史

在R2016b中引入