isaac-sim / IsaacLab

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

[Question] Optimal Code Directory for Spawning Assmeblies of Shapes #329

Closed ErcBunny closed 1 month ago

ErcBunny commented 7 months ago

Question

Hi,

I want to spawn abstracted robots from basic shapes, like the one demonstrated in the Isaac Sim Documentation Working with USD.

I see Orbit provides a Spawner package, but the package only allows for spawning simple and non-interlinked shapes (suboid, cylinder...), and from files.

I would like to have code that takes in geometry and physics params (e.g. wheel radius, body height, mass, inertia, collision bounding box), and spawns assemblies of the shapes (e.g. a cuboid representing the central part and two cylinders for the wheels), without generating the USD file at first then using "spawn from file".

I wonder where is the optimal directory for implementing this?

Thanks.

Mayankm96 commented 7 months ago

Hi @ErcBunny, that is an interesting feature!

I think you can write your own spawning function that does this for you.

Regarding where to place it: It can be in sim.spawners directory with a new module named assemblies.py if it makes sense?

ErcBunny commented 7 months ago

Hi @Mayankm96, thanks for the advice, I'll try to put it there!

ErcBunny commented 7 months ago

So as I'm trying to add principal axes and moments of inertia attributes to the rigid body, I find that the function:

https://github.com/NVIDIA-Omniverse/orbit/blob/fcc216a5399661b6f3125e1e0a99235f073a3124/source/extensions/omni.isaac.orbit/omni/isaac/orbit/sim/schemas/schemas.py#L302

lacks support for these settings. Any suggestion on fixing this @Mayankm96 ? Thanks.