IsaacLab icon indicating copy to clipboard operation
IsaacLab copied to clipboard

[Bug Report] [Error] [omni.physx.tensors.plugin] Incompatible device of velocity tensor in function getVelocities: expected device 0, received device -1

Open shiven2001 opened this issue 10 months ago • 5 comments

Describe the bug

I am trying to use the tutorial nova_carter_ros.usd from the isaacsim in issaclab. I created the environment and set my simulation cfg as: sim_cfg = sim_utils.SimulationCfg(dt=0.01, device="cuda") sim = SimulationContext(sim_cfg) But when I do this, I get this error:

[Error] [omni.physx.tensors.plugin] Incompatible device of velocity tensor in function getVelocities: expected device 0, received device -1

The nova_carter_ros.usd has many sensors on it including 3d lidar, cameras, and imu. If I use the device as cpu:

sim_cfg = sim_utils.SimulationCfg(dt=0.01, device="cpu") sim = SimulationContext(sim_cfg) I do not get the error. I am guessing the issue is that nova_carter_ros.usd sensors are using cpu tensor instead gpu based. How to fix this issue? I want to run simulations in parallel for RL.

Someone opened this issue in 2024 but it was closed saying that imu was the issue and a MR will be done on it but the issue is still here.

System Info

Issac Sim v4.5.0

Issac Lab v2.0.0

ROS2 Humble

Ubuntu Version 22.04 Jazzy

NVIDIA NVRM Version Kernel Module 570.86.10

GCC version 11.4.0 (Ubuntu 11.4.0 ~22.04)

Cuda Compilation Tools, Release 12.8, V12.8.61

Checklist

  • [X ] I have checked that there is no similar issue in the repo (required)
  • [X ] I have checked that the issue is not in running Isaac Sim itself and is related to the repo

Acceptance Criteria

Add the criteria for which this task is considered done. If not known at issue creation time, you can add this once the issue is assigned.

  • [ ] Criteria 1
  • [ ] Criteria 2

shiven2001 avatar Mar 16 '25 08:03 shiven2001

Thank you for catching this. Could you confirm this is the section you are referring to about the USD of the Carter you are using? Thanks.

RandomOakForest avatar Mar 18 '25 10:03 RandomOakForest

Yes, that's the one!

shiven2001 avatar Mar 18 '25 14:03 shiven2001

I am having the same issue, but when I switch to CPU I get warnings of "OrthogonalizeBasis did not converge, matrix may not be orthonormal." and errors "[omni.physx.plugin] PhysX error: Illegal BroadPhaseUpdateData , FILE /builds/omniverse/physics/physx/source/lowlevelaabb/src/BpBroadPhaseABP.cpp, LINE 4023", and the robots disappear upon spawning.

The other thing I noticed was when I set the device to cpu, the run argument shows cpu=False. python frontiers_rl/src/IsaacLabRL_Test.py --device="cpu" Namespace(num_envs=1, headless=False, livestream=-1, enable_cameras=False, device='cpu', cpu=False, verbose=False, info=False, experience='', kit_args='')

tberg1234 avatar Mar 26 '25 18:03 tberg1234

Thank you for catching this. Could you confirm this is the section you are referring to about the USD of the Carter you are using? Thanks.

any update on fixing this issue?

shiven2001 avatar Apr 02 '25 10:04 shiven2001

Thanks for following up. The team is reviewing this issue and we're aiming to resolve it as time permits.

RandomOakForest avatar Apr 18 '25 13:04 RandomOakForest

Thanks for following up. The team is reviewing this issue and we're aiming to resolve it as time permits.

Hey, just checking if there are any updates on this? I am getting the same issue as well.

hritik-roy-chowdhury avatar Jun 03 '25 12:06 hritik-roy-chowdhury

Any updates?

REGATTE avatar Jun 18 '25 05:06 REGATTE

Same error for me... i make a xform prim, add some simple child primitives to it, set the xfrom collision on (which makes all children dynamic and collide).

THEN: Import into isaaclab and try to run the environment and get these errors:

2025-06-18 05:42:32 [39,035ms] [Error] [omni.physx.tensors.plugin] Incompatible device of velocity tensor in function getVelocities: expected device 0, received device -1

If I replace the import with a simple ball shape primitive instead, the error goes away... it looks like that isaac SIM is building it on CPU. IN isaaclab somehow we need to move it to GPU? HOW?

But we checked all the arrays in observations and data etc and it is on GPU and appears to work fine - even though it is throwing this error on every frame step in the env play loop.

amariaholson avatar Jun 18 '25 06:06 amariaholson

Thanks for following up. The team is reviewing this issue and we're aiming to resolve it as time permits.

60 days.. any update or work around?

amariaholson avatar Jun 18 '25 06:06 amariaholson

We are working together with the Isaac Sim team on this. It's a bit more complex because the current ROS bridge does not support GPU pipelines.

kellyguo11 avatar Jun 25 '25 01:06 kellyguo11

I am getting the same issue however I am not using ROS. This is happening while trying to run an external isaac lab project on a DirectRLEnv

Dafodilrat avatar Aug 20 '25 07:08 Dafodilrat