{"record":{"id":"6a5e5717d9cca20b","repo":"Genesis-Embodied-AI/genesis-world","slug":"this-method-has-been-removed-please-consider-oper","errorCode":null,"errorMessage":"This method has been removed. Please consider operating at link-level to get the cartesian position in word frame. Alternatively, 'get_anchor_pos' returns the anchor position of the joint in the world frame.","messagePattern":"This method has been removed\\. Please consider operating at link-level to get the cartesian position in word frame\\. Alternatively, 'get_anchor_pos' returns the anchor position of the joint in the world frame\\.","errorType":"exception","errorClass":"DeprecationError","httpStatus":null,"severity":"error","filePath":"genesis/engine/entities/rigid_entity/rigid_joint.py","lineNumber":98,"sourceCode":"            (\"q_idx_local\", \"qs_idx_local\"),\n        ):\n            if name == name_old:\n                gs.logger.warning(\n                    f\"This property is deprecated and will be removed in future release. Please use '{name_new}' instead.\"\n                )\n                getter = getattr(self, f\"_{name_old}\")\n                return getter()\n        raise AttributeError\n\n    # ------------------------------------------------------------------------------------\n    # -------------------------------- real-time state -----------------------------------\n    # ------------------------------------------------------------------------------------\n\n    def get_pos(self):\n        \"\"\"\n        Get the position of the joint in the world frame.\n        \"\"\"\n        raise DeprecationError(\n            \"This method has been removed. Please consider operating at link-level to get the cartesian position in \"\n            \"word frame. Alternatively, 'get_anchor_pos' returns the anchor position of the joint in the world frame.\"\n        )\n\n    def get_quat(self):\n        \"\"\"\n        Get the quaternion of the joint in the world frame.\n        \"\"\"\n        raise DeprecationError(\n            \"This method has been removed. Please consider operating at link-level to get the cartesian orientation in \"\n            \"word frame. Alternatively, 'get_anchor_axis' returns the anchor axis of the joint in the world frame.\"\n        )\n\n    @gs.assert_built\n    def get_anchor_pos(self):\n        \"\"\"\n        Get the anchor position of the joint in the world frame.\n","sourceCodeStart":80,"sourceCodeEnd":116,"githubUrl":"https://github.com/Genesis-Embodied-AI/genesis-world/blob/56e4aa5d82bdb83f2e532e4cc364cb69527acb06/genesis/engine/entities/rigid_entity/rigid_joint.py#L80-L116","documentation":"RigidJoint.get_pos has been removed because a joint is not a cartesion object with a well-defined position; only links carry cartesian poses. Calling it raises DeprecationError pointing to the replacements: link-level positions or joint.get_anchor_pos for the joint anchor in world frame.","triggerScenarios":"Calling joint.get_pos() on any RigidJoint from entity.get_joints(...), e.g. to place an end-effector target or log a joint location in old scripts.","commonSituations":"Migrating code from an older Genesis release where joints exposed get_pos/get_quat; writing IK or plotting code that assumed a joint has a frame origin; following outdated tutorials.","solutions":["Use joint.get_anchor_pos() for the joint anchor position in world frame","Use joint.child_link.get_pos() (or the appropriate link) for a cartesian position","Grep for 'joint.get_pos' and replace each call with the appropriate link or anchor API"],"exampleFix":"# before\npos = joint.get_pos()\n# after\npos = joint.get_anchor_pos()  # anchor in world frame\n# or\npos = joint.child_link.get_pos()","handlingStrategy":"validation","validationCode":null,"typeGuard":null,"tryCatchPattern":"try:\n    p = joint.get_pos()\nexcept DeprecationError:\n    p = joint.get_anchor_pos()\n","preventionTips":["Use joint.get_anchor_pos() for anchor positions and link.get_pos() for cartesian poses","Avoid assuming joints are cartesian objects; they are constraints with anchors and axes"],"tags":["genesis","deprecation","rigid-joint","api-removal"],"backgroundTag":"removed-api-migration","analyzedSha":"56e4aa5d82bdb83f2e532e4cc364cb69527acb06","analyzedAt":"2026-08-28T15:15:07.922Z","schemaVersion":2},"datasetVersion":"2026-08-28T16:17:29.566Z"}