主要内容

刚体树机器人模型

刚体树模型是机器人的结构的表示。你可以用它来代表机器人,如机械手或其他运动的树木。用rigidBodyTree对象来创建这些模型。

刚体树由刚性体向上(刚体),通过关节连接(rigidBodyJoint).每个刚体都有一个关节,这个关节定义了刚体相对于树中的父刚体的运动方式。通过在每个关节上设置固定的转换,指定从一个物体到下一个物体的转换(setFixedTransform).

您可以从刚体树模型添加,替换或删除机构。您也可以更换接头具体机构。这rigidBodyTree对象维护的关系,并更新刚体对象属性,以反映这种关系。您也可以使用得到不同的车架之间的转换getTransform

刚体树组件

根据

每一个刚体树有一个基地。基部限定世界坐标框架,是一个刚体的第一连接点。所述碱可以不被修改,除姓名财产。您可以通过修改这么做基本名称刚体树的性质。

刚体

刚性车身是刚体树模型的基本构建模块,并使用创建刚体.刚体,有时称为连杆,代表不变形的实体。单个刚体上任意两点之间的距离保持不变。

当添加到具有多个刚体的刚体树中时,刚体有与它们相关联的父体或子体(父母孩子们属性)。母体是刚体附着的物体,它可以是机器人的基座。这些孩子是所有附着在这个刚体树底部下游的物体。

每个刚体都有一个与之相关联的坐标系,并包含一个rigidBodyJoint目的。

联合的

每个刚性体具有一个接头,它定义相对于其父该刚体的运动。它是在一个机器人模型连接两个刚体的连接点。来表示单个物理体具有多个关节或运动的不同的轴,使用多个刚体对象。

rigidBodyJoint物体支持固定关金宝app节、转动关节和移动关节。

这些关节允许以下运动,取决于它们的类型:

  • '固定的'——没有运动。体与它的父体是刚性连接的。

  • “转动”- 只有旋转运动。该合资相对于其父身体左右转动。位置限制在限定围绕运动轴线弧度的最小和最大角度位置。

  • “移动”-只是平移运动。物体相对于母体沿运动轴作线性运动。

每个接头具有由定义的运动轴线JointAxis财产。接头轴线是,要么限定旋转(转动关节)的轴线或翻译(棱柱关节)的轴线A 3-d的单位矢量。这HomePosition属性定义该特定联合,这是位置范围内的一个点的起始位置。用homeConfiguration返回机器人,这是模型中的所有关节起始位置的集合家里配置。

接头还具有限定父母和儿童的身体坐标系之间的固定变换特性。这些属性只能使用设置setFixedTransform方法。根据您的输入转换参数的方法,无论是JointToParentTransformChildToJointTransform属性被使用此方法设置。其他属性设置为单位矩阵。下面的图像描绘了每个属性表示。

  • JointToParentTransform定义子主体的关节与父主体框架的关系。什么时候JointToParentTransform为单位矩阵,父体与关节框架重合。

  • ChildToJointTransform定义了子体关节是在关系到子本体框架。什么时候ChildToJointTransform是单位矩阵,子体和联合帧重合。

笔记

实际的关节位置不是这个的一部分联合的目的。机器人模型是无状态的。有限定沿着运动轴线的关节的位置的父和子帧联合之间的中间转换。该变换是在机器人配置中定义。看机器人的配置

机器人的配置

完全组装你的机器人和不同机构之间的定义转换后,您可以创建机器人配置。配置不受他们的联名定义了所有的机器人的关节位置。

homeConfiguration拿到HomePosition每个关节的财产和创建主配置。

机器人配置给出结构的阵列。

配置= homeConfiguration(机器人)
config = 1×6 struct array with fields: JointName
数组中的每个元素都是一个结构,其中包含一个机器人关节的名称和位置。
配置(1)
ans = struct with fields: JointName: 'jnt1' JointPosition: 0

您还可以生成服从所有关节限制使用随机配置randomConfiguration

使用机器人配置,当你想在图形中绘制一个机器人使用展示.此外,您还可以使用特定的配置来获得两个身体框架之间的转换getTransform

要获得具有指定末端执行器姿态的机器人构型,使用逆运动学.这对于所需要的关节角度算法解决,以实现指定的刚体的特定姿势。

也可以看看

|

相关的话题