MATLAB - 机器人动力学 - 质心(Center of Mass)

系列文章目录


前言


一、用法

com = centerOfMass(robot)

com = centerOfMass(robot,configuration)

com,comJac\] = centerOfMass(robot,configuration)

二、说明

  • com = centerOfMass(robot) 计算机器人模型在原点构型处相对于基础坐标系的质心位置。
  • com = centerOfMass(robot,configuration) 计算机器人模型在指定关节配置处相对于基准坐标系的质心位置。
  • com,comJac\] = centerOfMass(robot,configuration) 还返回质心雅各布系数,它将质心速度与关节速度联系起来。

3.1 计算机器人配置的质量中心和雅各布系数

从机器人系统工具箱™ loadrobot 中加载库卡 LBR iiwa 机器人模型。该模型被指定为刚体树(rigidBodyTree)对象。

Matlab 复制代码
lbr = loadrobot("kukaIiwa14")
Matlab 复制代码
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'

将数据格式设置为 "行"。对于所有动力学计算,数据格式必须是 "行 "或 "列"。

Matlab 复制代码
lbr.DataFormat = "row";

计算机器人原点配置的质心位置和雅各布。

Matlab 复制代码
[comLocation,comJac] = centerOfMass(lbr);
show(lbr);
hold all
plot3(comLocation(1),comLocation(2),comLocation(3),Marker="x",MarkerSize=30,LineWidth=5);

四、输入参数

robot - 机器人模型 ------ 刚体树对象

以刚体树对象形式指定的机器人模型。要使用质量中心函数,请将数据格式属性设置为 "行 "或 "列"。
configuration - 机器人配置 ------ 矢量

机器人配置向量,包含机器人模型中所有非固定关节的位置。您可以使用 homeConfiguration(机器人)、randomConfiguration(机器人)或指定自己的关节位置来生成配置。要使用矢量形式的配置,请将机器人的 DataFormat 属性设置为 "行 "或 "列"。

五、输出参数

com - 质量中心位置 ------ [x y z] 矢量

质心位置,以 [x y z] 向量形式返回。该向量描述了指定配置的质心相对于车身坐标系的位置,单位为米。
comJac - 质量中心雅各布矩阵 ------ 3 乘 n 矩阵

质量中心雅各布,以 3 乘 n 矩阵形式返回,其中 n 是机器人的速度自由度。

六、参考

1\] Featherstone, Roy. *Rigid Body Dynamics Algorithms*. Springer US, 2008. DOI.org (Crossref), doi:10.1007/978-1-4899-7560-7.

相关推荐
量子炒饭大师2 分钟前
收集飞花令碎片——C语言字符函数与字符串函数
c语言·开发语言
懂得节能嘛.2 分钟前
【设计模式】Java规则树重构复杂业务逻辑
java·开发语言·设计模式
syt_biancheng23 分钟前
Qt--命名,快捷键及坐标系
开发语言·qt
极地星光30 分钟前
协程:深入协程机制与实现(进阶篇)
开发语言
深圳多奥智能一卡(码、脸)通系统37 分钟前
智能机器人梯控系统(含二维码/刷卡/人脸识别)安装布线指南,结合工程规范与安全要点进行结构化优化,内容清晰、可操作性强
机器人·agv·机器狗·门禁·梯控·智能梯控·amr
IT_陈寒40 分钟前
5个Java 21新特性实战技巧,让你的代码性能飙升200%!
前端·人工智能·后端
dlraba8021 小时前
YOLOv3:目标检测领域的经典之作
人工智能·yolo·目标检测
进击的圆儿1 小时前
高并发内存池项目开发记录 - 02
开发语言·c++·实战·项目·内存池
xingxing_F1 小时前
Swift Publisher for Mac 版面设计和编辑工具
开发语言·macos·swift
科新数智1 小时前
破解商家客服困局:真人工AI回复如何成为转型核心
人工智能·#agent #智能体