跳转到内容

正在加载搜索…

Development environment

此内容尚不支持你的语言。

One conda environment, harness-policy, runs everything on the RoboDojo path: the framework CLI, the RoboDojo simulator worker, the kernel that executes model-written programs, and learned-skill servers. They run as separate processes on the same interpreter.

Layer Source Pinned by
Python 3.11, PyTorch 2.7.0 (CUDA 12.8) conda, download.pytorch.org constraints.txt
Isaac Sim 5.1, Isaac Lab, cuRobo pypi.nvidia.com, RoboDojo submodules constraints.txt, third_party/sources.toml
RoboDojo runtime, XPolicyLab client RoboDojo checkout constraints.txt
harness-policy this repository (editable) —
Learned skills and perception requirements-skills.txt constraints.txt

Every pip install runs with --constraint constraints.txt, so no project dependency can move torch, numpy, Isaac Sim, or websockets. If a package cannot be installed under the constraints, the install fails instead of upgrading the core.

The documentation site is not part of this environment: it is a Deno project with its own lock (docs/deno.json, docs/deno.lock; see docs/README.md).

Terminal window
source environment/activate.sh
python environment/check.py

activate.sh sets HARNESS_ROBODOJO_ROOT, accepts the Omniverse EULA, and sources ~/.harness_env for machine-specific settings such as OPENROUTER_API_KEY, HF_ENDPOINT, or TMPDIR. Keep that file private (chmod 600) and out of Git.

The RoboDojo checkout (with submodules) must exist first; its revisions are in third_party/sources.toml. Assets are downloaded separately with RoboDojo’s <RoboDojo>/scripts/init_assets.sh.

Terminal window
bash environment/setup.sh # all steps
bash environment/setup.sh --from project # resume
bash environment/setup.sh --only lock # refresh the lock files

Steps: conda torch isaacsim isaaclab curobo robodojo robotwin project skills docs verify lock. A different environment name can be chosen with HARNESS_ENV.

lock/conda-linux-64.txt (conda list --explicit) and lock/pip-freeze.txt record the exact environment that passed check.py and the RoboDojo smoke run. Editable installs (Isaac Lab, cuRobo, XPolicyLab, this repository) are listed as comments because they point at local checkouts.

  • isaacsim-kernel declares websockets==12.0, which only Kit’s asset-search extensions use; headless simulation does not load them. XPolicyLab policy servers need the websockets 13+ asyncio API, so the environment pins 17.1. pip check reports this one conflict; the RoboDojo smoke run covers it.
  • Xiaomi-Robotics-1 upstream uses torch 2.8, transformers 4.57.1, numpy 2.1, and flash-attn. Here it runs on the pinned core with SDPA attention.
  • mmengine is installed with --no-deps so it does not add opencv-python next to opencv-python-headless.

Add it to requirements-skills.txt (or a new layer), run bash environment/setup.sh --from skills, then a RoboDojo smoke run, and commit the refreshed lock/ together with the change.