Nucleus and docker

Hello,
I’m trying to run standalone RL training using isaac sim via docker. I’m currently stuck with the nucleus server which is not included in isaac containers anymore.

Ideally I’d like to ignore it but it seems impossible. Is there a way not to use a nucleus server but rather a simple folder location. Or any other way that would prevent me from having to install a nucleus server, which I can’t / don’t want to do.

Thanx.

Hi. Yes, we no longer include Nucleus and Cache in the Isaac Sim container. We recommend installing the workstation or Nucleus service separately.

By default, the Isaac Sim container look for our assets on an S3 bucket but you can change the setting to connect to any remote Nucleus. Take a look at this.

You could also download our Assets Pack and access it from local storage too.

1 Like

Thank you.
What parameters should be changed to access assets from a local storage exactly?

For example, you can download the assets pack to ~/docker/isaac-sim/assets. Then run:

$docker run --name isaac-sim --entrypoint bash -it --gpus all -e “ACCEPT_EULA=Y” --rm --network=host
-e “PRIVACY_CONSENT=Y”
-v ~/docker/isaac-sim/cache/kit:/isaac-sim/kit/cache:rw
-v ~/docker/isaac-sim/cache/ov:/root/.cache/ov:rw
-v ~/docker/isaac-sim/cache/pip:/root/.cache/pip:rw
-v ~/docker/isaac-sim/cache/glcache:/root/.cache/nvidia/GLCache:rw
-v ~/docker/isaac-sim/cache/computecache:/root/.nv/ComputeCache:rw
-v ~/docker/isaac-sim/logs:/root/.nvidia-omniverse/logs:rw
-v ~/docker/isaac-sim/data:/root/.local/share/ov/data:rw
-v ~/docker/isaac-sim/documents:/root/Documents:rw
-v ~/docker/isaac-sim/assets:/root/assets:rw
nvcr.io/nvidia/isaac-sim:2023.1.0-hotfix.1

#./isaac-sim.headless.native.sh -v --allow-root --/persistent/isaac/asset_root/default=“/root/assets/Isaac/2023.1.0”

1 Like

Thank you!

Hello again.
I am actually struggling to make it work and to find documentation related to configuration.
I have to change the default value of ‘/persistent/isaac/asset_root/default’ which should be achieved by adding --/persistent/isaac/asset_root/default=“MY_OWN_PATH".
However, if I want to for instance launch play_arms.py (simulation_app applications) from the demo folder. How to set ‘/persistent/isaac/asset_root/default’ to ‘MY_OWN_PATH’ in that case?

You can run it like this:

./python.sh play_arms.py --/persistent/isaac/asset_root/default=“MY_OWN_PATH"

It does not work as play_arms only accept --headless and --robot parameters

So I can modify play_arms.py like this:

# add argparse arguments
parser = argparse.ArgumentParser(“Welcome to Orbit: Omniverse Robotics Environments!”)
parser.add_argument(“–headless”, action=“store_true”, default=True, help=“Force display off at all times.”)
parser.add_argument(“–robot”, type=str, default=“franka_panda”, help=“Name of the robot.”)
parser.add_argument(“–asset_root”, type=str, default=“”, help=“assets folder path”)
args_cli = parser.parse_args()

# launch omniverse app
config = {“headless”: args_cli.headless}
simulation_app = SimulationApp(config)
simulation_app.set_setting(“/persistent/isaac/asset_root/default”, args_cli.asset_root)

BUT I suspect/hope there is a more generic approach inn’it?

Hi Mike,
Did this issue get resolved ?

Yes and No.
I found a workaround (see previous message) but I think there is a better approach.
Would you know it?

Your work around seems to be the best approach

1 Like