RobotLocomotion / drake

Model-based design and verification for robotics.
https://drake.mit.edu
Other
3.33k stars 1.26k forks source link

Could you please teach me how to integrate Drake with NVIDIA Omniverse Isaac Sim? #20450

Closed miz2miz closed 1 year ago

miz2miz commented 1 year ago

I've started studying Drake with the intention of accelerating the automation of industrial sectors using 'virtual space + robots + AI'.

After considering Unity and Unreal Engine as virtual spaces, I've ultimately decided on Omniverse Isaac Sim as the clear choice.

NVIDIA Omniverse Isaac Sim has features, similar to Warp, that utilize the GPU to its fullest for machine learning, and I've determined it to be beneficial due to its capabilities for fast deep reinforcement learning.

However, given Drake's excellence in aspects like 'model notation rules, solution methods for optimization problems, and above all, being open-source', I believe it would be fantastic if they could be integrated.

Currently, I'm using meshcat for various 3D visualizations. Do you know of any good ways to utilize NVIDIA Omniverse Isaac Sim?

While I believe it's possible to utilize it forcefully through Python or C++, it would be interesting if we could integrate with the USD file format used by NVIDIA Omniverse and use Drake as an extension within Omniverse, don't you think?

I'm not in a particular hurry for a response.

Currently, four members of our company are studying Isaac Sim, and I'm taking the lead in exploring Drake...

miz2miz

sherm1 commented 1 year ago

cc @erwincoumans

erwincoumans commented 1 year ago

We are exploring different options to integrate Drake (or PyDrake and other physics simulators) into Omniverse. Some discussion is here: https://forums.developer.nvidia.com/t/could-you-please-teach-me-how-to-integrate-drake-with-nvidia-omniverse-isaac-sim/271208 Shall I follow up here when we have a first proof of concept?

miz2miz commented 1 year ago

Understood. y-mizomoto@NvidiaOmniverse=miz2miz@github.

Let's discuss various things on the Nvidia forum.

Help, everyone.

We plan to have the Yasukawa GP88 manage a 2-meter long pole. There are 6 GP88s, and out of these, 4 are suspended in pairs from two rails. The 2-meter pole can undergo elastic deformation, but it can be approximated by dividing it into rigid sections and connecting them with springs. The challenging aspect of solving this problem is that the GP88 can only do position control, so high-speed control considering torque is difficult. After torque control in Drake, I want to convert the torque-controlled trajectory to position control. The converted results will be inputted into NVIDIA Omniverse, and I’m thinking of operating it using ROS2 with MotoROS2.

Honestly, there’s no need to use Omniverse, but considering the full use of the GPU with Warp, it seems better to combine it than to use Drake alone.

jwnimmer-tri commented 1 year ago

In my opinion, questions about Omniverse should be directed to the NVIDIA forums. Please continue the discussion there for help with Omniverse.

Drake uses a somewhat modular architecture, so you should be able to run the features you need from Drake and then pass those calculations along to where it needs to go.

Note that a feature request for Drake to load USD files is already tracked at https://github.com/RobotLocomotion/drake/issues/17833.

As stated in our issue template, questions about how to use Drake should be posted to Stack Overflow, not to our issue database. Our issues database is used for tasks that require action from maintainers -- either bugs, or feature requests. Since this seems to neither be a bug nor a feature request, I'm going to mark it closed.

It's still perfectly fine to continue discussions or share information here for anyone who is interested. Closing the issue doesn't prevent more comments, it's just a signal that the Drake maintainers don't need to take any action here to fix or improve the code.

RussTedrake commented 7 months ago

FWIW: https://www.linkedin.com/posts/toyota-research-institute_model-based-design-and-verification-for-robotics-activity-7175893227848261632-4J71