1

假设我有一个简单的摆锤连接到 sdf 文件中定义的四旋翼。

当我将此 sdf 文件加载到 aMultibodyTree中时,默认的连续状态向量的大小为 4(四元数)+ 3(x,y,z)+ 1(将四旋翼连接到摆锤的关节)= 8,如this answer所示。

默认情况下,urdf/sdf 解析器为系统添加基于四元数的浮动基数。

我的问题是,我怎么知道这个 4 (quaternion) + 3 (x, y, z) 框架的附加位置?

以及如何控制它的附着位置?假设我的运动方程与钟摆的尖端有关,我希望这个 4 + 3 四元数浮动底座连接到我的钟摆尖端,我将如何定义它?

4

2 回答 2

2

我想我现在明白了。我们的 SDF 解析器仍然有一些限制,为了实现您想要的,您需要了解它们。现在,<joint>元素中链接的“父”/“子”规范最终直接定义了链接之间的树关系。如果您将钟摆体设为“父母”,将四旋翼设为“孩子”,那么 MBP 会将四元数分配给钟摆,我相信这就是您想要的。这样做时您还必须注意<joint>/<pose>,请参阅本教程了解详细信息,其中包括关于关节框架和约定的漂亮示意图。

于 2019-06-08T14:27:00.410 回答
0

我不确定我是否理解您所说的“这个基于四元数的浮动底座所连接的位置”是什么意思。如果您要问的是如何设置您从 sdf/urdf 得知的身体姿势是浮动的,那么答案是您可以使用MultibodyPlant::SetFreeBodyPose(). 希望这会有所帮助。

于 2019-06-06T14:14:50.867 回答