帮助中心帮助中心
从机器人上移除身体
bodyname removeBody(机器人)
newSubtree = removeBody(机器人,身体名)
removeBody (机器人,bodyname)从机器人模型中移除身体和所有随后附着的身体。
removeBody (机器人,bodyname)
机器人
bodyname
例子
newSubtree= removeBody (机器人,bodyname)返回通过从机器人模型中移除主体和所有随后附加的主体所创建的子树。
newSubtree= removeBody (机器人,bodyname)
newSubtree
全部折叠
对现有的进行更改rigidBodyTree对象。你可以在刚体树中替换关节,体和子树。
rigidBodyTree
加载示例机器人如下rigidBodyTree对象。
负载exampleRobots.mat
查看Puma机器人使用的详细信息showdetails.
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的身体。您也可以复制一个特定的主体。
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如有必要,可以在主体之间定义一个变换,而不是使用默认的单位矩阵。
联合
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
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.
L2
removeBody (puma1“L3”);addBody (puma1 body3Copy,“外语”) addSubtree (puma1“L3”子树)showdetails (puma1)
机器人模型,指定为arigidBodyTree对象。
主体名称,指定为字符串标量字符向量。此主体必须安装在中指定的机器人型号上机器人.
数据类型:字符|字符串
字符
字符串
机器人子树,返回为rigidBodyTree对象。所指定的主体的父名称bodyname作为基名。前面的机器人模型中所附加的所有身体(包括带有bodyname被添加到子树中。
使用注意事项和限制:
当创建rigidBodyTree对象时,使用指定MaxNumBodies作为向机器人模型中添加体的上界。还必须指定DataFormat属性作为名-值对。例如:
MaxNumBodies
DataFormat
机器人= rigidBodyTree(“MaxNumBodies”15岁的“DataFormat”,“行”)
为了尽量减少数据使用,请将上界限制为接近模型中预期主体数量的数字。代码生成支持所有数据格式。万博1manbetx若要使用动态函数,必须将数据格式设置为“行”或“列”.
“行”
“列”
的显示而且showdetails函数不支持代码生成。万博1manbetx
显示
在R2016b中引入
rigidBodyJoint|rigidBody|addBody|replaceBody
rigidBodyJoint
rigidBody
addBody
replaceBody
您有这个示例的修改版本。要使用编辑打开此示例吗?
你点击了一个对应于这个MATLAB命令的链接:
在MATLAB命令窗口中输入该命令来运行该命令。Web浏览器不支持MATLAB命令。万博1manbetx
选择一个网站,在可用的地方获得翻译的内容,并查看当地的活动和优惠。根据您所在的位置,我们建议您选择:.
您也可以从以下列表中选择一个网站:
选择中国站点(中文或英文)以获得最佳站点性能。其他MathWorks国家站点没有针对您所在位置的访问进行优化。
联系当地办事处