isaac-sim / IsaacLab

Unified framework for robot learning built on NVIDIA Isaac Sim
https://isaac-sim.github.io/IsaacLab
Other
2.34k stars 970 forks source link

[Bug Report] Oscillatory motion of ridgeback panda with cuda device #87

Closed harshmahesheka closed 9 months ago

harshmahesheka commented 1 year ago

Bug Description

If you try to run play_rigdeback_franka.py with the device as cuda in the simulation context it produces weird behavior in which the bot turns clockwise and starts oscillating around the perpendicular axis as soon as in the video below.

Steps to reproduce

In the line change sim = SimulationContext(physics_dt=0.01, rendering_dt=0.01, backend="torch") to sim = SimulationContext(physics_dt=0.01, rendering_dt=0.01, backend="torch", device="cuda:0") and run the file using the command ./orbit.sh -p source/standalone/demo/play_ridgeback_franka.py

System Info

Additional context

Video of error- Link

Checklist

Mayankm96 commented 1 year ago

Hi @harshmahesheka,

We identified a regression in GPU PhysX simulation with the Isaac Sim 2022.2.1 release that is causing issues in ArticulationView classes. I have a feeling that the same issue might be the cause of the problem here.

If it isn't too inconvenient, can you check with Isaac Sim 2022.2.0 release to see if it behaves weirdly there or not.

51616 commented 1 year ago

I have the same problem with Isaac Sim 2022.2.0.

51616 commented 1 year ago

I tried lowering the mass of the base of the robot and it seemed like it fixed the problem when simulating a few robots. The problem still persists for some env instances if the robot is cloned for many instances. Specifically, when using only 1 or 2 instances, the problem doesn't exist but it happens when I clone 128 instances of the robot.

51616 commented 1 year ago

I found a workaround by disabling self-collision of the robot. You can change the config file source/extensions/omni.isaac.orbit/omni/isaac/orbit/robots/config/ridgeback_franka.py by adding

...
from ..robot_base_cfg import RobotBaseCfg
...

RIDGEBACK_FRANKA_PANDA_CFG = MobileManipulatorCfg(
    ...
    articulation_props=RobotBaseCfg.ArticulationRootPropertiesCfg(
        enable_self_collisions=False
    ),
   ...

Hope this helps :)