说我在sdf文件中定义的四旋翼上有一个简单的摆锤。
当我将此sdf文件加载到MultibodyTree
中时,默认的连续状态向量的大小为4(四元数)+ 3(x,y,z)+1(将四旋翼连接到摆锤的关节)= 8由this answer表示。
默认情况下,urdf / sdf解析器为系统添加基于四元数的浮动基数。
我的问题是,我怎么知道这4(四元数)+ 3(x,y,z)框架的位置?
如何控制它的附加位置?假设我的运动方程是w.r.t.到钟摆的顶端,我希望将这个4 + 3四元数浮动基座连接到钟摆的顶端,我该如何定义呢?
答案 0 :(得分:1)
我想我现在明白了。我们的SDF解析器仍然有一些限制,为了实现您想要的功能,您需要了解它们。现在,<joint>
元素中链接的“父” /“子”规范最终直接定义了链接之间的树关系。如果将摆体设为“父级”,将四旋翼设为“子级”,那么MBP会将四元数分配给摆体,我相信这是您想要的。
这样做时,您还必须注意<joint>/<pose>
,有关详细信息,请参阅this tutorial,其中包括有关联合框架和约定的漂亮示意图。
答案 1 :(得分:0)
我不确定我对“此基于四元数的浮动碱基所连接的位置”的意思是什么。如果您要问的是如何设置从sdf / urdf知道的身体的姿势是浮动的,那么答案是您可以使用transform: translateX(-100%);
来做到这一点。
希望有帮助。