Failed to acquire Dr interface

Hi,

I was trying to reproduce this tutorial from python without using UI.
I did run setup_python_env.sh and also enable omni.isaac.dr inside IsaacSim as noted in there in the link.

Then I’ve got this error as trying to acquire the Dr interface as in this example:
ISAAC/ISAAC_SIM_2020_1/_build/linux-x86_64/release/exts/omni.isaac.tests/omni/isaac/tests/domain_randomizer/test_domain_randomizer.py

from omni.isaac.dr import _dr
dr = _dr.acquire_dr_interface()
RuntimeError: Failed to acquire interface: omni::isaac::dr::DomainRandomizer (pluginName: nullptr)
../../../include/carb/extras/ThreadLocal.h(83): set(): Assertion (res == 0) failed.
Trace/breakpoint trap (core dumped)

So what might I have missed there? (since the statements run just fine inside the Script Editor)

Thank you.

Besides, as directed in the tutorial, there is a required step that we have to enable the Domain Randomizerplugin under Extension or omni.isaac.dr under Window->Extension Managermenu.
How do we do that using script?

I actually made use of OmniKitHelper as in here:
ISAAC/ISAAC_SIM_2020_1/_build/linux-x86_64/release/exts/omni.isaac.samples/omni/isaac/samples/scripts/syntheticdata/omni_dl_examples/helpers/omnikit.py
but it does not seem to already enable dr plugin though.

Speaking of which, I could also see this arg:

"--carb/app/extensions/enabled/0='omni.syntheticdata'"`, 

which is passed to omniverse-kit as running it by OmniKitHelper._start_app().
So I guessed a similar one should be added for omni.isaac.dr but I’m not sure how, specifically about the number 0 there in the argument.

Ok, so I just added --verbose as running omniverse-kit app, which outputs:

2020-11-10 04:30:24 [4,221ms] [Info] [carb] Searching plugins in folder: .../ISAAC/ISAAC_SIM_2020_1/_build/target-deps/kit_sdk_release/_build/linux-x86_64/release/
...
self._dr = _dr.acquire_dr_interface()
RuntimeError: Failed to acquire interface: omni::isaac::dr::DomainRandomizer (pluginName: nullptr)

And indeed, there is no omni.isaac.dr plugin there, which only resides under ISAAC_SIM_2020_1/_build/linux-x86_64/release, specifically at:

./ISAAC_SIM_2020_1/_build/linux-x86_64/release/exts/omni.isaac.dr/bin/linux-x86_64/release

The path has been already appended to LD_LIBRARY_PATH by setup_python_env.sh but that’s only for the running.

So what else should be set up the make the plugin visible could you tell?

Thanks.

@toni.sm @Sheikh_Dawood Would you happen to know about some idea? Thanks!

Hi. Can you try if the issue exists with Isaac Sim 2020.2?

[Moving this post to the Omniverse Isaac Sim category.]

@Sheikh_Dawood, would you mind passing me the download link. Though I registered to the Early Access program, I could only download 2020.1 version from these links:
https://developer.nvidia.com/isaac/downloads
https://developer.nvidia.com/isaac-sdk-20200514-b2b122e2e

Thanks.

Those links are for Isaac SDK.
Here’s the link for Isaac Sim: https://developer.nvidia.com/isaac-sim/download

1 Like

Oops, sorry I forgot IsaacSim is not part of Isaac SDK.
Yeah, it looks like the error is gone. I could see 2020.2 omniverse-kit version now could enable extensions from a whole folder, using f'--/app/extensions/folders2/{i}="<ext_folder>"'.

Besides, by the comment there, it would be great to enable these directly from .json file in upcoming versions.
Thanks!

Glad it work!
Thanks. I’ll send that feedback to the team.