如何使用 pydrake 更改从 urdf 文件加载的模型的浮动基本类型?

How to change floating base type of model loaded from urdf file using pydrake?

我正在尝试从 urdf 文件加载模型。

我可以通过 RigidBodyTree class:

rbtree = RigidBodyTree(file_name, floating_base_type)

不幸的是,正如它在 pydrake.attic 参考页上所说,它很快就会被弃用。

我尝试使用 pydrake.multibody.parsing.Parserpydrake.multibody.plant 添加模型,但模型似乎只与浮动四元数关节相连。

是否有合法的方法来设置浮动基类型而不是 attic API?

对于固定基地,您要寻找的方法是MultibodyPlant.WeldFrames()。如果 plant 是您已将模型添加到的 MultibodyPlant 对象,并且模型中名为 "my_base_frame" 的框架应该固定到世界,则适当的调用将是:

plant.WeldFrames(plant.world_frame(), plant.GetFrameByName("my_base_frame"))

请注意,此调用应在调用 plant.Finalize() 之前进行。

我相信MultibodyPlant 目前不支持 roll-pitch-yaw 浮动基地。