What is the best way to create floating moving objets in isaac-sim?

I am working on adding moving objects into isaac sim to build interactive environment for robot. At first, i am trying to use articulation considering get moving objects position and kinematics in real-time. However, after days trying to debug failures, the articulation still does not work. (See this threadpendulum articualtion failed)I was wondering (1)if anyone can shed light for me how to create simple moving objects as articulation? (2)If articulation is not perfect, is there any other way to build moving objects in isaac-sim and also can get state while interacting with the objects in simulation?

Hi @lzy-kfz - Someone from our team will review and respond back to you.

Thanks @rthaker , i have create a floating pendulum with articulation root and corresponding floating revolutejoint in prementioned thread “pendulum articulation falied” .

  1. I could not find a way to control the revolutejoint or pendulum state even try through dynamic control api. Did i miss anything that can initialize joint properties(D6JointProperties seems lack of initializatio method api) or any method can set joint state?

  2. The floating moving object seems to have a floating(attach to none in body0) joint inevitably. I was wondering if this is possible since sometimes simulating a moving objects with certain flying pattern is useful in SDG and RL research.

Really looking forward to get any suggestion or experience.

it is possible to control the joint directly through USD.
You can check the physics demos (Window->Simulation->Demos):

  • Revolute joint demo - this demo creates a revolute joint and adds DriveAPI, where the driveAPI can drive towards given position or velocity target
  • Joint state demo - in case of an articulation you can add joint stateAPI and control the joint state through the state API, however this works only for articulated joints.
    In both cases you can display the demo python code to see how the API can be used.

Hope that helps,

Thanks,i will try the two demos you mentioned. However, i have a specific question about the joint. Can i implement a joint match the following requirements? (1)fix to the world at a non-zero height (as parent) (2) attach a rigidbody object(as child) and the rigidbody has mass and collision property (3) finally create a floating rigidbody yet with gravity.

Can you please elaborate more on that?
So you want to have:

  1. Fixed point in the world
  2. Body with mass a collision attached to the point in 1) → you add a joint between the two
  3. Floating body with gravity - so this one would be connected to the body 2 with another joint if I understand this correctly?

Feel free to send me the USD file you are trying to resolve so that I understand better what you are trying to achieve.


Sent the usd file through message. Thanks.