帮助中心帮助中心
更换机器人本体
replaceBody(机器人,bodyname, newbody)
例子
replaceBody (机器人,bodyname,newbody)用新的身体替换机器人模型中的身体。对象的所有属性都相应更新,除了父而且孩子们属性。机器人模型的其余部分不受影响。
replaceBody (机器人,bodyname,newbody)
机器人
bodyname
newbody
父
孩子们
全部折叠
若要使用动力学函数计算关节扭矩和加速度,请指定rigidBodyTree对象和rigidBody.
rigidBodyTree
rigidBody
创建一个刚体树模型。创建两个刚体来连接它。
机器人= rigidBodyTree(“DataFormat”,“行”);body1 = rigidBody(“界面”);body2 = rigidBody(“body2”);
指定要连接到阀体上的关节。的固定变换body2来界面.这个变换是1mx方向。
body2
界面
joint1 = rigidBodyJoint(“joint1”,“转动”);joint2 = rigidBodyJoint(“joint2”);setFixedTransform(joint2,trvec2tform([1 0 0]))Joint = joint1;body2。Joint = joint2;
为两个物体指定动力学属性。将身体添加到机器人模型中。对于本例,杆的基本值为(界面)与一个附着的球形质量(body2)。
界面。质量= 2;界面。CenterOfMass = [0.5 0 0];界面。惯性= [0.001 0.67 0.67 00 0];body2。质量= 1;body2。CenterOfMass = [0 0 0]; body2.Inertia = 0.0001*[4 4 4 0 0 0]; addBody(robot,body1,“基地”);addBody (body2的机器人“界面”);
计算整个机器人的质心位置。在机器人上画出位置。将视图移动到xy飞机。
comPos = centerOfMass(机器人);显示(机器人);持有在精神精神情节((1),(2),”或“)视图(2)
改变第二个物体的质量。注意重心的变化。
body2。质量= 20;replaceBody(机器人,“body2”,body2) comPos2 = centerOfMass(机器人);情节(comPos2 (1) comPos2 (2),“* g”)举行从
机器人模型,指定为arigidBodyTree对象。所述刚体被添加到该对象上,并附着在指定的刚体上bodyname.
主体名称,指定为字符串标量或字符向量。此主体必须安装在中指定的机器人型号上机器人.
数据类型:字符|字符串
字符
字符串
刚体,用a表示rigidBody对象。
使用注意事项和限制:
当创建rigidBodyTree对象时,使用指定MaxNumBodies作为向机器人模型中添加体的上界。还必须指定DataFormat属性作为名-值对。例如:
MaxNumBodies
DataFormat
机器人= rigidBodyTree(“MaxNumBodies”15岁的“DataFormat”,“行”)
为了尽量减少数据使用,请将上界限制为接近模型中预期主体数量的数字。代码生成支持所有数据格式。万博1manbetx若要使用动态函数,必须将数据格式设置为“行”或“列”.
“行”
“列”
的显示而且showdetails函数不支持代码生成。万博1manbetx
显示
showdetails
在R2016b中引入
rigidBodyJoint|rigidBody|replaceJoint|addBody|removeBody
rigidBodyJoint
replaceJoint
addBody
removeBody
您有这个示例的修改版本。要使用编辑打开此示例吗?
你点击了一个对应于这个MATLAB命令的链接:
在MATLAB命令窗口中输入该命令来运行该命令。Web浏览器不支持MATLAB命令。万博1manbetx
选择一个网站,在可用的地方获得翻译的内容,并查看当地的活动和优惠。根据您所在的位置,我们建议您选择:.
您也可以从以下列表中选择一个网站:
选择中国站点(中文或英文)以获得最佳站点性能。其他MathWorks国家站点没有针对您所在位置的访问进行优化。
联系当地办事处