replaceJoint
取代联合对身体
描述
例子
修改一个机器人刚体树模型
对现有的进行更改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
对象
机器人模型,指定为一个rigidBodyTree
对象。
bodyname
- - - - - -身体的名字
字符串标量|特征向量
体名称,指定为字符串标量或特征向量。这个机构必须在指定的机器人模型机器人
。
数据类型:字符
|字符串
联合
- - - - - -更换接头
rigidBodyJoint
对象
替换关节,指定为一个rigidBodyJoint
对象。
扩展功能
C / c++代码生成
生成C和c++代码使用MATLAB®编码器™。
使用笔记和限制:
在创建rigidBodyTree
对象,使用指定的语法MaxNumBodies
作为增加身体的上界机器人模型。您还必须指定DataFormat
房地产作为一个名称-值对。例如:
机器人= rigidBodyTree (“MaxNumBodies”15岁的“DataFormat”,“行”)
最小化数据使用,限制数量的上限接近预期的身体模型。所有的数据格式都支持代码生成。金宝app使用动态函数,必须设置为数据格式“行”
或“列”
。
的显示
和showdetails
功能不支持代码生成。金宝app
版本历史
MATLAB命令
你点击一个链接对应MATLAB命令:
运行该命令通过输入MATLAB命令窗口。Web浏览器不支持MATLAB命令。金宝app
你也可以从下面的列表中选择一个网站:
表现最好的网站怎么走吗
选择中国网站(中文或英文)最佳站点的性能。其他MathWorks国家网站不优化的访问你的位置。