本文参考 MathWorks
中 Help Center
的 Build a Robot Step by Step
,并加以自己的理解
原网址:https://ww2.mathworks.cn/help/robotics/ug/build-a-robot-step-by-step.html
本文基于 Matlab R2020a
本例将一步一步地完成构建机器人的过程,向您展示不同的机器人组件以及如何调用函数来构建它。
-
创建一个刚体对象。
body1 = rigidBody('body1');
则如下图创建了一个刚体(举例):
对象解析:
rigidBody
刚体对象表示刚体。刚体是任何树形结构机器人机械手的构造块。每个刚体都有一个附着在其上的刚体关节对象,它定义了刚体如何移动。默认情况下,身体有一个固定的关节。
语法:
body = rigidBody(bodyname)
输入参数:刚体的名字(字符串标量/字符向量)
属性:
属性英语 属性中文 解释 Name 刚体的名称 默认为空,此名称对于主体必须是唯一的,以便可以在 rigidBodyTree
对象中找到它。类型为char
或者string
Joint 与刚体相连的关节 这个关节是树关节,不是环形关节,默认为固定关节。类型为 handle
Mass 刚体的质量 刚体的质量,指定为数值标量,单位为千克。默认为1 CenterOfMass 刚体质心 刚体质心位置,指定为 [x y z] 矢量。矢量描述了质心相对于物体框架的位置,单位为米。默认为 [0 0 0]m。 Inertia 刚体的转动惯量 ( k g ∗ m 2 ) (kg*m^2) (kg∗m2) 刚体的惯量,指定为[Ixx Iyy Izz Iyz Ixz Ixy] 向量,单位为千克平方米。向量的前三个元素是惯性张量的对角元素。最后三个元素是惯性张量的非对角元素。惯性张量为正半定对称矩阵: [ I x x I x y I x z I x y I y y I y z I x z I y z I z z ] \begin{bmatrix} I_{xx} & I_{xy} & I_{xz} \\ I_{xy} & I_{yy} & I_{yz} \\ I_{x