如何指定在哪里附加浮动基础?

时间:2019-06-06 06:09:59

标签: drake

说我在sdf文件中定义的四旋翼上有一个简单的摆锤。

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

  

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

我的问题是,我怎么知道这4(四元数)+ 3(x,y,z)框架的位置?

如何控制它的附加位置?假设我的运动方程是w.r.t.到钟摆的顶端,我希望将这个4 + 3四元数浮动基座连接到钟摆的顶端,我该如何定义呢?

2 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:0)

我不确定我对“此基于四元数的浮动碱基所连接的位置”的意思是什么。如果您要问的是如何设置从sdf / urdf知道的身体的姿势是浮动的,那么答案是您可以使用transform: translateX(-100%);来做到这一点。 希望有帮助。