Hello from Nimble One 👋
We have an important question regarding the integration of Isaac into our software, as a robotic simulator.
Our goal :
- Have Isaac Sim instantiated and controlled with a python process, creating the simulation, and stepping the physics it as we see fit (ie. in sync with our controller). This python process would communicated through our middleware with other process like our controller.
- Ideally this would also work over the network, with Isaac running on another (more powerfull) machine, with the visual feedback getting transmitted somehow (using the websocket kit ?).
- Ideally this would also be with Isaac installed with the docker container method to allow easy packaging & upgrades.
The problems :
- Isaac comes with its own python distribution (3.7), not compatible with ours (3.8).
- Our software is already packaged in a docker container. “Merging” the two is doable (if you ignore the python clash) but painful to maintain.
The cleanest solution would therefore be to have isaac installed in its own docker container and our software in another.
What about the interface then ?
With our current understanding of how omniverse is built, the following solution is what we have in mind :
Have Isaac installed in a docker, and make a custom kit app with the python kit app and websocket kit app merged into one.
→ This way we would have the ability to start isaac with a python process, communicating over network to other process (over network so eventually processes on another machine).
→ And we would have visual feedback and UI interactivity through the websocket UI.
Is that the way we are supposed to achieve our goals ?