刚体树模型是机器人结构的表示。您可以使用它来表示机器人,如操纵器或其他运动型树木。用rigidBodyTree
要创建这些模型的对象。
刚体树木由刚体(刚体
),通过关节连接(刚体加入
).每个刚体都有一个关节,这个关节定义了刚体相对于树中的父刚体的运动方式。通过在每个关节上设置固定的转换,指定从一个物体到下一个物体的转换(setfixedtransform.
).
您可以从刚体树模型中添加,替换或删除尸体。您还可以替换特定机构的关节。这rigidBodyTree
对象维护关系并更新刚体
对象属性来反映这种关系。您还可以使用不同的身体帧之间的转换getTransform.
.
每个刚性的车身树都有一个底座。底座定义了世界坐标框架,并且是刚体的第一附接点。除了下面的基础姓名
财产。通过修改来这样做Basename.
刚体树的财产。
刚体是刚体结构树模型的基本构建块,并使用刚体
.刚体,有时称为连杆,代表不变形的实体。单个刚体上任意两点之间的距离保持不变。
当添加到具有多个刚体的刚体树中时,刚体有与它们相关联的父体或子体(父母
或孩子们
属性)。母体是刚体附着的物体,它可以是机器人的基座。这些孩子是所有附着在这个刚体树底部下游的物体。
每个刚体都有一个与之相关联的坐标系,并包含一个刚体加入
目的。
每个刚体具有一个接头,其限定该刚体相对于其父母的运动。它是连接在机器人模型中的两个刚体的连接点。表示单个物理体,具有多个关节或不同的运动轴,使用多个刚体
对象。
这刚体加入
物体支持固定关万博1manbetx节、转动关节和移动关节。
这些关节允许以下运动,取决于它们的类型:
'固定的'
——没有运动。体与它的父体是刚性连接的。
“转动”
- 仅旋转运动。身体相对于其父母围绕该关节旋转。位置限制在运动轴周围的弧度中定义了弧度的最小和最大角度位置。
“移动”
-只是平移运动。物体相对于母体沿运动轴作线性运动。
每个关节具有由此定义的运动轴联系
财产。接合轴是三维单元载体,其定义旋转轴(旋转接头)或翻译轴(棱柱形接头)。这家庭沉积
属性定义特定关节的原始位置,该接头是位置限制的一个点。用homeConfiguration
要返回机器人的主页配置,这是模型中所有关节主题的集合。
关节还具有定义父和儿童主体坐标帧之间的固定变换的属性。这些属性只能使用setfixedtransform.
方法。根据您输入转换参数的方法,无论是TheChtToparentTransform.
或ChildToJointTransform
使用此方法设置属性。其他属性设置为身份矩阵。以下图像描绘了每个属性表示的内容。
这TheChtToparentTransform.
定义子主体的关节与父主体框架的关系。什么时候TheChtToparentTransform.
为单位矩阵,父体与关节框架重合。
这ChildToJointTransform
定义儿童身体的关节与儿童框架关系的地方。什么时候ChildToJointTransform
是一个身份矩阵,儿童身体和关节框架一致。
实际的关节位置不是这个的一部分联合的
目的。机器人模型无状态。在父和子关节框架之间存在中间变换,该父和子关节框架沿着运动轴线定义关节的位置。此转换在机器人配置中定义。看机器人的配置.
在完全组装机器人并定义不同机构之间的转换之后,您可以创建机器人配置。配置通过关节名称定义机器人的所有联接位置。
用homeConfiguration
得到这一点家庭沉积
每个关节的属性并创建家庭配置。
机器人配置作为一系列结构。
config = homeconfiguration(机器人)
config = 1×6 struct array with fields: JointName
配置(1)
ans = struct with fields: JointName: 'jnt1' JointPosition: 0
您还可以生成随机配置,以便使用所有联合限制randomConfiguration
.
使用机器人配置,当你想在图形中绘制一个机器人使用展示
.此外,您还可以使用特定的配置来获得两个身体框架之间的转换getTransform.
.
要获得具有指定末端执行器姿态的机器人构型,使用onderedkinematics.
.该算法解决了所需的关节角度,以实现指定刚体的特定姿势。
onderedkinematics.
|rigidBodyTree