我在场景中有一个 Kuka Iiwa 7 手臂,我有兴趣获取手臂关节相对于世界(或相对于机器人底座)的当前(实时)3D 坐标。我能够获得当前关节 1 DOF 位置(thetas),但不能获得表示关节在某个帧(世界或基础)中的位置的精确 3D 坐标。
我尝试为每个链接添加 Triad,并尝试为框架的 RigidBody_[float] 类型对象尝试 get_pose_in_world() 方法,但收到错误消息,表明 RigidBody_[float] 类不存在该方法。
注意:我在该项目中使用 PyDrake。
解决这个问题的正确方法是什么?
当解析器创建一个关节时,它还会创建一个“父”框架和一个“子”框架。然后,这两个框架受到关节的约束,以便在“零配置”(即零角度)下,父框架和子框架重合。
如果你碰巧有框架对象,那么你可以调用
Frame::CalcPoseInWorld()
。现在,要检索框架,您需要知道它的名称。为此,您将致电 GetFrameByName()
。
假设您想要父框架的姿势。这是用于命名框架的约定:
body_name
是父身体的名称。