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.

相关推荐
一颗小树x2 分钟前
【机器人】复现 HOV-SG 机器人导航 | 分层 开放词汇 | 3D 场景图
机器人·机器人导航·复现·hov-sg·分层 3d 场景图
贾全5 分钟前
第十章:HIL-SERL 真实机器人训练实战
人工智能·深度学习·算法·机器学习·机器人
每日摸鱼大王10 分钟前
互联网摸鱼日报(2025-07-01)
人工智能
rzl0210 分钟前
java web5(黑马)
java·开发语言·前端
GIS小天20 分钟前
AI+预测3D新模型百十个定位预测+胆码预测+去和尾2025年7月4日第128弹
人工智能·算法·机器学习·彩票
jingling55523 分钟前
面试版-前端开发核心知识
开发语言·前端·javascript·vue.js·面试·前端框架
我是小哪吒2.031 分钟前
书籍推荐-《对抗机器学习:攻击面、防御机制与人工智能中的学习理论》
人工智能·深度学习·学习·机器学习·ai·语言模型·大模型
慕婉030735 分钟前
深度学习前置知识全面解析:从机器学习到深度学习的进阶之路
人工智能·深度学习·机器学习
m0_6873998441 分钟前
写一个Ununtu C++ 程序,调用ffmpeg API, 来判断一个数字电影的视频文件mxf 是不是Jpeg2000?
开发语言·c++·ffmpeg
爱上语文1 小时前
Redis基础(5):Redis的Java客户端
java·开发语言·数据库·redis·后端