roboticgrounding — Troubleshooting

SkillFiles & storage

Troubleshooting skill for robotic_grounding failures — Docker/container issues, GPU-not-visible, missing MANO or object assets, motion-file-not-found, Isaac Lab startup crashes, permission errors, and pipeline-stage failures. Use this skill whenever something in robotic_grounding is broken or erroring: "the dummy agent crashes", "missing asset", "MANO not found", "Isaac won't start", "container permission denied", "0 URDFs generated", "motion file not found", "CUDA/GPU not available in the container", "the pipeline failed at stage X", or when a robotic_grounding command from another skill errors out. For first-time setup use robotic_grounding_onboard; to generate a working command use robotic_grounding_run.

Available today. Use it from your connected AI after setup.

Connect ahel once, and every AI you use reads what you have installed.

Then ask your AI: use the roboticgrounding — Troubleshooting skill

What this skill tells your AI

The instructions your AI receives, as published by nvidia-isaac/video_to_data in .claude/skills/robotic_grounding_doctor/SKILL.md and read by ahel’s review.

Diagnose and fix common robotic_grounding failures. Work from the symptom, not from a fixed script: get the exact error text or the failing command first, match it to a section below, apply the narrowest fix, and re-verify. Don't blindly rebuild the image or reset state.

Step 0: Gather context (fast)

Ask for / collect:

  1. The exact command and where it ran (host vs container).
  2. The error text (last ~20 lines — Isaac stack traces bury the real cause mid-stack).
  3. Whether this ever worked before, and what changed.

Quick environment probes (host):

docker images | grep -E 'robotic-grounding|task_library_loader'   # images present?
docker ps --format '{{.Names}}' | grep robotic-grounding          # container running?
docker run --rm --gpus all nvidia/cuda:12.4.0-base-ubuntu22.04 nvidia-smi   # GPU in Docker?

Section 1: Docker / container

SymptomCauseFix
permission denied on docker ...User not in the docker groupDocker post-install steps (README prereqs); re-login
Workflow image pull denied / unauthorizedRegistry access is not configuredBuild locally, or set V2D_IMAGE_REGISTRY to a registry you can access and run docker login <registry>
no space left on device during buildDocker disk fulldocker system df then docker system prune (careful); free host disk
Container name not found on run.sh execContainer isn't running./workflow/run.sh start latest 0 first; name is robotic-grounding-<version>-gpu<gpu>
"I have no name!" bash prompt inside containerCosmetic UID-mapping quirkHarmless; run.sh start writes a per-container passwd entry
Files owned by root on the host after a container runIsaac image runs as rootOn the host: sudo chown -R $(whoami) .
Edits not taking effectEditing outside the mounted tree, or expecting a rebuildThe repo is volume-mounted at /workspace/video_to_data/robotic_grounding; Python edits apply on next run, no rebuild. Confirm you're editing the mounted path

Section 2: GPU / CUDA

SymptomCauseFix
nvidia-smi fails inside a --gpus all containerNVIDIA Container Toolkit not configuredInstall/configure it (README prereqs), restart Docker
CUDA error / no CUDA-capable device at Isaac startGPU not passed to the container, or wrong GPU indexStart with the right index: ./workflow/run.sh start latest <gpu>; check CUDA_VISIBLE_DEVICES
Visualization / rendering errorsDriver mismatchREADME recommends Driver 580.126.09 / CUDA 13.0; check nvidia-smi driver version
OOM during training--num_envs too high for the GPULower --num_envs; for a smoke run use --num_envs 1 --max_iterations 1

Section 3: MANO & datasets

SymptomCauseFix
MANO ... not found / load stage failsMANO .pkl files missing or misplacedPlace MANO_LEFT.pkl / MANO_RIGHT.pkl under <HMD>/mano/models/ and pass --mano-dir <HMD>/mano (docs/SETUP.md §5). MANO is read only at the load stage and never committed
<ds>_loaded missing when retarget startsThe load stage (IMAGE 1) didn't run/produce outputRun the pipeline from the host with run_pipeline_docker.py (it handles both images), or run_load_local.sh first; check the MANO path
Dataset dir empty / wrong layoutData not laid out as the loader expectsRe-check the per-dataset docs/<DATASET>_SETUP.md; sequence ids/patterns are dataset-specific
Adding a brand-new dataset (not one of the seven supported)It's not in the registryThat's a different flow — follow "Adding a New Dataset" in robotic_grounding/workflow/data_pipeline.md, not this skill

Section 4: Object assets & URDFs

SymptomCauseFix
Missing-asset exception in dummy/train/evalObject URDFs/meshes not generated yetAdd --use_primitive_urdfs for an asset-free run, OR generate assets: run the pipeline's urdf stage, or python scripts/generate_rigid_urdfs.py --dataset <dataset>
Object renders as a plain sphereMesh path points to a missing fileObject meshes weren't placed — see the per-dataset *_SETUP.md object-assets section
0 URDFs generated with no error (OSMO/local)HUMAN_MOTION_DATA_DIR redefined locally in generate_rigid_urdfs.pyIt must from robotic_grounding.retarget import HUMAN_MOTION_DATA_DIR; a local redefinition silently reverts to the in-image path (the workflow swallows it with || true)

Section 5: Motion files & RL scripts

SymptomCauseFix
motion_file not foundShorthand doesn't resolve, or partition not visible to the containerShorthand <dataset>/<dataset>_processed/<sequence_id>/<robot> resolves under assets/human_motion_data/; copy/symlink the partition there, or pass an absolute path
motion_file not found for data committed in the repo (e.g. whole_body/)Container started with HUMAN_MOTION_DATA_DIR set, overlaying the committed data (pre-fix run.sh mounted the whole root); or the container mounts a different clone/branch than the one you pulleddocker inspect <container> and check the /workspace/video_to_data mount source is the tree you're testing; restart the container from the right checkout, without the overlay if it lacks the dataset
"is a git-LFS pointer" error, or parquet read crash on a fresh cloneClone made without git lfs install (or GIT_LFS_SKIP_SMUDGE=1) left pointer stubsgit lfs install && git lfs pull in the checkout the container mounts
Task not registered / unknown taskWrong task idFloating-hand tasks: Sharpa-V2D-v0 (train), Sharpa-V2D-v0-Play (eval/dummy). Whole-body is a different skill
eval.py can't find a checkpointNo --checkpoint and no local runPoint --checkpoint at logs/rsl_rl/<run>/model_*.pt, or use --use_pretrained_checkpoint
Dummy agent loads but sim doesn't advanceMotion Parquet is empty/corruptRe-run the pipeline for that sequence; try a known-good example (dataset_s01_box_grab_01)
W&B errors during training--logger wandb without W&B configuredUse --logger tensorboard for local runs

Section 6: Isaac Lab startup

Isaac Lab crashes print long stack traces — the real cause is usually before the final frame.

SymptomCauseFix
Hangs at first launchIsaac Sim is compiling shaders / downloading assetsWait it out on first run; subsequent runs are faster
Segfault / GLFW / display error in GUI modeNo display availableUse --headless (add --record_video --output_dir <dir> to inspect output)
Fabric-related errorsFabric I/O issueTry --disable_fabric

When it's not in the tables

  • Re-read the failing stage's doc: workflow/data_pipeline.md (pipeline stages), the per-dataset docs/*_SETUP.md, or docs/ARCHITECTURE.md (§11 conventions & gotchas).
  • Reduce to the smallest reproduction: a dummy_agent.py ... --use_primitive_urdfs run on a known example sequence isolates asset/motion problems from RL problems.
  • If a command is the issue rather than the environment, regenerate it with robotic_grounding_run.

Signals

GitHub stars
587
Forks
57
Last commit
Sep 2026
Advanced
Catalog kind
skill
Gateway key
robotic-grounding-doctor
Source
github.com/nvidia-isaac/video_to_data