Robot with fixed joint falls down

I have a robot where the base is fixed to ground using a (nothing, base) fixed joint. This works fine in its own USD. However, if I make this robot the default prim, and then add it to another USD using add_reference_to_stage, then the robot falls over.

I compared to the USD for the Cobotta robot and they have two fixed joints – one that goes (world, base) and another that goes (nothing, world). The world has a rigid body with collider.

What’s the story with this? Is that the recommended approach?

This is not expected, if there is a fixed joint and articulation root then the produced articulation should be a fixed based articulation, that should not move the base.
Please would it be possible to share the composed USD (PM) so that I can take a look what is wrong?
Thanks, regards
Ales

Ok, that was helpful, thanks. Turns out the issue is that the Articulation.post_reset() is making the robot fall down. Couldn’t figure out why.

If you load the attached USD, hit play in the simulator, and then execute this code in the script editor, you’ll see the robot fall:

from omni.isaac.core.articulations.articulation import Articulation

art = Articulation(prim_path='/arm')
art.initialize()
art.post_reset()

robot.zip (17.4 KB)

Perhaps related to this?

Or perhaps the fixed-joint is being reset somehow?

Yeah the standalone USD file simulation is ok, so there is something fishy in the IsaacSim scripts. @kellyg please any guesses what can go wrong?

Hi there, please try with the latest Isaac Sim 2023.1.0 release. The issue should be fixed there.

Yup, seems fixed, thanks!

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.