假设我有一个简单的钟摆附加到一个四转子上,定义在一个sdf文件中。
当我将这个sdf文件加载到一个MultibodyTree
中时,默认的连续状态向量为4(四元数)+3 (x,y,z) +1(连接四转子到摆)=8,这是由这个答案指示的。
默认情况下,urdf/sdf解析器使用基于四元数的浮动基添加系统。
我的问题是,我怎么知道这个4(四元数)+3 (x,y,z)框架是在哪里附加的?
我该如何控制它的连接位置?假设我的运动方程是w.r.t。到钟尖,我想把这个4+3四元数的浮动基座连接到我的钟尖上,我该怎么定义呢?
发布于 2019-06-08 14:27:00
我想我现在明白了。我们的SDF解析器仍然有一些限制,为了达到您想要的目的,您需要了解它们。现在,<joint>
元素中链接的“父”/“子”规范最终直接定义了链接之间的树关系。如果你让你的钟摆身体成为“父”,而四转子是“子”,那么MBP将把四元数分配给钟摆,我相信这就是你想要的。在这样做时,您还必须注意<joint>/<pose>
,详细信息请参阅本教程,其中包括一个关于连接框架和约定的很好的原理图。
发布于 2019-06-06 14:14:50
我不确定我是否理解你所说的“四元数基础上的浮动基地在哪里”。如果你要问的是如何设置你从你的sdf/urdf中知道的物体的姿态是浮动的,那么答案是你可以用MultibodyPlant::SetFreeBodyPose()
来做这个。希望这能帮上忙。
https://stackoverflow.com/questions/56471754
复制相似问题