Skip to content

[Question] Dynamically create fixed joint between two rigid bodies during simulation runtime #4088

@xdd7561

Description

@xdd7561

Question

Hi all,

I have an object and robot manipulator. During simulation, I want to rigidly attach the end effector of the manipulator to the object to simulate the object being grasped.

I thought I could create a fixed joint between the object and end effector dynamically during runtime. However, I'm running into some trouble doing this.

  1. There is an example of a similar situation in Dynamically Attach Two Rigid Bodies at Runtime in IsaacLab #2472, but perhaps the provided code is outdated? I cannot import get_scene_interface.
Traceback (most recent call last):
  File "isaaclab_script.py", line 108, in <module>
    from omni.physx import get_scene_interface
ImportError: cannot import name 'get_scene_interface' from 'omni.physx' (/home/.../conda_env/lib/python3.11/site-packages/isaacsim/extscache/omni.physx-107.3.18+107.3.1.lx64.r.cp311.u353/omni/physx/__init__.py)
  1. I also saw that [Question] How to change the initial pose of a static articulation/rigidbody? #4025 suggests using USD API. However, when I attempt to do this, upon creating a fixed joint, the end-effector snaps to the initialization position of the object. I suspect because the USD values don't update during gpu simulation even when the physx values do?
[Warning] [omni.physx.plugin] PhysicsUSD: CreateJoint - found a joint with disjointed body transforms, the simulation will most likely snap objects together: /World/envs/.../EefObjectFixed

Thus, I'm hoping to get some guidance on how correctly create a fixed joint between two rigid bodies during simulation runtime. Any help is appreciated.

Build Info

Describe the versions that you are currently using:

  • Isaac Lab Version: 2.2.0
  • Isaac Sim Version: 5.0.0

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions