系列文章目录
前言
一、用法
二、说明
- com = centerOfMass(robot) 计算机器人模型在原点构型处相对于基础坐标系的质心位置。
- com = centerOfMass(robot,configuration) 计算机器人模型在指定关节配置处相对于基准坐标系的质心位置。
- [com,comJac] = centerOfMass(robot,configuration) 还返回质心雅各布系数,它将质心速度与关节速度联系起来。
三、示例
3.1 计算机器人配置的质量中心和雅各布系数
从机器人系统工具箱™ loadrobot 中加载库卡 LBR iiwa 机器人模型。该模型被指定为刚体树(rigidBodyTree)对象。
lbr = loadrobot("kukaIiwa14")
lbr =
rigidBodyTree - 属性:
NumBodies: 10
Bodies: {[1×1 rigidBody] [1×1 rigidBody] [1×1 rigidBody] [1×1 rigidBody] [1×1 rigidBody] [1×1 rigidBody] [1×1 rigidBody] [1×1 rigidBody] [1×1 rigidBody] [1×1 rigidBody]}
Base: [1×1 rigidBody]
BodyNames: {'iiwa_link_0' 'iiwa_link_1' 'iiwa_link_2' 'iiwa_link_3' 'iiwa_link_4' 'iiwa_link_5' 'iiwa_link_6' 'iiwa_link_7' 'iiwa_link_ee' 'iiwa_link_ee_kuka'}
BaseName: 'world'
Gravity: [0 0 0]
DataFormat: 'struct'
将数据格式设置为 "行"。对于所有动力学计算,数据格式必须是 "行 "或 "列"。
lbr.DataFormat = "row";
计算机器人原点配置的质心位置和雅各布。
[comLocation,comJac] = centerOfMass(lbr);
show(lbr);
hold all
plot3(comLocation(1),comLocation(2),comLocation(3),Marker="x",MarkerSize=30,LineWidth=5);