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.

相关推荐
小鹿软件办公9 分钟前
微软 MAI-Image-2.6 正式发布,文字渲染与 3D 能力显著增强
人工智能·microsoft
zhangfeng113314 分钟前
Windows AMD显卡跑PyTorch
人工智能·pytorch·windows
小弥儿17 分钟前
Firecrawl:把整个网页变成 AI 可查询的数据库
数据库·人工智能·学习
探物 AI18 分钟前
yolo检测中的激活函数19:ReLU激活函数 (Rectified Linear Unit)
网络·人工智能·深度学习·yolo
晓天衡宇•评测社区19 分钟前
大语言模型 8 月榜单更新:Claude Opus 5 登顶,Gemini 3.6-Flash 与 DeepSeek-V4 Flash 展现差异化优势
大数据·人工智能
dunge202623 分钟前
2026 ChatGPT Plus / Pro + Codex 实战:从 0 搭一套 AI 编程项目模板,AGENTS.md + Git + 测试一次配好
人工智能·git·chatgpt
不爱土豆唯爱马铃薯23 分钟前
有些创意,差一个声音才完整
人工智能
小淮AI25 分钟前
论文AI生成痕迹检测工具概况与选型参考
人工智能
CCYe、25 分钟前
Agent如何接入API?(包含work Buddy、Trae、Claude等)
人工智能
为美好的生活献上中指26 分钟前
Spring AI Advisor 深度实战:构建严谨的 AI Agent 拦截链
java·人工智能·spring·advisor·aiagent