Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 0 additions & 1 deletion docs/sphinx/source/api_reference/algos/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,6 @@ published on PyPI; issue #1480):
- `uni_rl.algos.appo` — APPO runner, learner, staging, worker
- `uni_rl.algos.fast_sac` / `uni_rl.algos.fast_td3` / `uni_rl.algos.flash_sac` — off-policy learners and runners
- `uni_rl.offpolicy` — generic off-policy runner, worker, thread budget
- `uni_rl.algos.hora` — HORA models, trainers, and distillation
- `uni_rl.algos.common` — shared actor factory, networks, normalization, compile helpers

UniLab keeps the training *entrypoints* (`src/unilab/scripts/train_*.py`),
Expand Down
2 changes: 1 addition & 1 deletion docs/sphinx/source/api_reference/tasks/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
Concrete RL tasks split by family:

- **locomotion** — A2, Go1, Go2, Go2w, Go2 + Airbot, and Unitree G1
- **manipulation** — Allegro / Sharpa in-hand cube and Stewart balance
- **manipulation** — Allegro in-hand cube and Stewart balance
- **motion_tracking** — G1 and X2 whole-body motion tracking

Every task is registered into the task `Registry` so it can be selected via
Expand Down
1 change: 0 additions & 1 deletion docs/sphinx/source/api_reference/tasks/manipulation.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,5 @@
:recursive:

unilab.tasks.manipulation.allegro_inhand
unilab.tasks.manipulation.sharpa_inhand
unilab.tasks.manipulation.stewart
```
3 changes: 1 addition & 2 deletions docs/sphinx/source/en/0-index.md
Original file line number Diff line number Diff line change
Expand Up @@ -108,7 +108,7 @@ capability requirements.
:::{grid-item-card} Pick an algorithm
:link: 2-user_guide/2-algorithms/0-index
:link-type: doc
Compare PPO, APPO, SAC, TD3, FlashSAC, and HORA entrypoints.
Compare PPO, APPO, SAC, TD3, and FlashSAC entrypoints.
:::

:::{grid-item-card} Deploy or switch sims
Expand Down Expand Up @@ -158,7 +158,6 @@ committed benchmark manifest or separate recommendation metadata.
| Go2W joystick | PPO | PPO owner YAMLs exist for MuJoCo and Motrix flat/rough variants under `src/unilab/conf/ppo/task/go2w_joystick_*`. |
| G1 locomotion / tracking | PPO, APPO, SAC, TD3 | PPO, APPO, and SAC include committed MuJoCo and Motrix owner YAMLs for G1 tasks; TD3 has a `g1_walk_flat` MuJoCo owner. |
| Allegro in-hand | PPO, APPO | PPO and APPO have committed MuJoCo and Motrix owner YAMLs for Allegro in-hand tasks. |
| Sharpa in-hand | PPO, APPO HORA teacher, HORA distillation | Sharpa owner YAMLs are committed for PPO/APPO teacher paths; student distillation uses `src/unilab/conf/hora_distill/task/sharpa_inhand/mujoco.yaml`. |

```{toctree}
:hidden:
Expand Down
5 changes: 2 additions & 3 deletions docs/sphinx/source/en/1-getting_started/2-installation.md
Original file line number Diff line number Diff line change
Expand Up @@ -134,9 +134,8 @@ ROCm/XPU profiles, prefer the uv paths above. Robot meshes and
textures are intentionally excluded from the wheel and downloaded on the cold
path from the `unilabsim/unilab-robots` dataset. Ensure the installed package
location is writable, or pre-fetch assets with `uv run unilab-pull-assets` from a
source checkout. The isaacgym / isaacsim backends and the HORA multi-GPU
submission path still assume a source checkout; use their dedicated setup pages
below.
source checkout. The isaacgym / isaacsim backends still assume a source
checkout; use their dedicated setup pages below.

## Runtime Assets

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@ Use `uv run eval` for regular evaluation and video export. When you need a live
`src/unilab/scripts/play_interactive.py` script.

`src/unilab/scripts/play_interactive.py` is the general MuJoCo viewer entrypoint for PPO,
APPO, SAC, FlashSAC, and HORA distill policies. It uses `--algo / --task /
APPO, SAC, and FlashSAC policies. It uses `--algo / --task /
--sim` to select the algorithm and owner config. The viewer is always
`mujoco.viewer`; `--sim` only selects which config to read.

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ changing behavior.
| `src/unilab/conf/` | Hydra roots and task owner YAMLs. The top-level CLI exposes backend selection as `--task` plus `--sim`, then composes the matching owner YAML. |
| `src/unilab/base/` | Registry, env state, scene, and backend contracts. |
| `src/unilab/envs/` | Task env implementations and task-specific reset, reward, observation, and DR logic. |
| `uni_rl` (unilab-rl repo) | PPO, APPO, off-policy, and HORA algorithm code. |
| `uni_rl` (unilab-rl repo) | PPO, APPO, and off-policy algorithm code. |
| `uni_rl.ipc` (unilab-rl repo) | Shared-memory and async runner primitives. |
| `src/unilab/training/` | Shared training helpers for logging, playback, seed handling, and config guards. |
| `src/unilab/visualization/` | Playback, rendering, NaN inspection, and scene/export utilities. |
Expand All @@ -27,7 +27,6 @@ The main config roots are:
- `src/unilab/conf/sac/config.yaml`, `src/unilab/conf/td3/config.yaml`, and
`src/unilab/conf/flashsac/config.yaml` for SAC, TD3, and FlashSAC, each with its
algorithm hyperparameters inlined.
- `src/unilab/conf/hora_distill/config.yaml` for HORA student distillation.

Task owner YAMLs are the backend identity. Examples:

Expand Down
9 changes: 1 addition & 8 deletions docs/sphinx/source/en/2-user_guide/0-index.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ CLI routes, Hydra owner YAMLs, logs, checkpoints, and Docker.
:::{grid-item-card} Algorithms
:link: 2-algorithms/0-index
:link-type: doc
Compare PPO, APPO, SAC, TD3, FlashSAC, and HORA.
Compare PPO, APPO, SAC, TD3, and FlashSAC.
:::

:::{grid-item-card} Backends
Expand All @@ -42,12 +42,6 @@ Configure reset, init, and interval randomization through task owner configs.
Export ONNX, inspect NaNs, send W&B logs, and export scenes.
:::

:::{grid-item-card} Manipulation Notes
:link: 8-manipulation/0-index
:link-type: doc
Task-specific Allegro, Sharpa, and Go2+Airbot notes.
:::

::::

```{toctree}
Expand All @@ -61,5 +55,4 @@ Task-specific Allegro, Sharpa, and Go2+Airbot notes.
5-domain_randomization/0-index
6-terrain/0-index
7-tooling/0-index
8-manipulation/0-index
```
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,6 @@ identity of the task, backend, reward, scene, and task-specific runtime fields.
| PPO | `src/unilab/conf/ppo/task/<task>/<backend>.yaml` |
| APPO | `src/unilab/conf/appo/task/<task>/<backend>.yaml` |
| SAC / TD3 / FlashSAC | `src/unilab/conf/<algo>/task/<task>/<backend>.yaml` |
| HORA distillation | `src/unilab/conf/hora_distill/task/<task>/<backend>.yaml` |

Examples:

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -74,7 +74,7 @@ Normally the rows sum to `Iter Wall`, so their displayed percentages sum to abou
hides applicable phases below a 1% threshold: a zero row is kept so it can be matched
directly with TensorBoard / W&B. Algorithm-specific phases neither occupy terminal
rows nor get persisted for other algorithms; for example, `Replay Stage` and
`Weight Publish` exist only for APPO / HORA-APPO.
`Weight Publish` exist only for APPO.

### Learner Main Timeline

Expand Down
2 changes: 0 additions & 2 deletions docs/sphinx/source/en/2-user_guide/2-algorithms/0-index.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,6 @@ lives, and which command shape selects it. For general flags, see
| SAC | off-policy | `src/unilab/scripts/train_sac.py` | `src/unilab/conf/sac/config.yaml` |
| TD3 | off-policy | `src/unilab/scripts/train_td3.py` | `src/unilab/conf/td3/config.yaml` |
| FlashSAC | off-policy | `src/unilab/scripts/train_flashsac.py` | `src/unilab/conf/flashsac/config.yaml` |
| HORA | teacher/student distillation path | `scripts/train_hora_distill.py` | `src/unilab/conf/hora_distill/config.yaml` |

```{toctree}
:hidden:
Expand All @@ -21,5 +20,4 @@ lives, and which command shape selects it. For general flags, see
3-sac
4-td3
5-flash_sac
7-hora
```
28 changes: 0 additions & 28 deletions docs/sphinx/source/en/2-user_guide/2-algorithms/7-hora.md

This file was deleted.

2 changes: 1 addition & 1 deletion docs/sphinx/source/en/2-user_guide/4-tasks/0-index.md
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ G1 motion tracking, flips, climbs, wall flips, and box tracking.
:::{grid-item-card} Manipulation
:link: 3-manipulation
:link-type: doc
Allegro and Sharpa in-hand rotation and grasp generation.
Allegro in-hand rotation and grasp generation.
:::

::::
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,19 +5,12 @@ Manipulation tasks live in `src/unilab/tasks/manipulation/`.
## In-Hand

- `allegro_inhand` and `allegro_inhand_grasp` have MuJoCo and Motrix PPO owners.
- `sharpa_inhand`, `sharpa_inhand_grasp`, and the `hora` profile for
`sharpa_inhand` are MuJoCo owner paths in the current configs.

```bash
uv run train --algo ppo --task allegro_inhand --sim mujoco
uv run train --algo ppo --task allegro_inhand --sim motrix training.no_play=true
uv run train --algo ppo --task sharpa_inhand --sim mujoco --profile hora training.no_play=true
```

HORA student distillation is configured by
`src/unilab/conf/hora_distill/task/sharpa_inhand/mujoco.yaml`; it is not currently exposed
as a separate top-level CLI route.

## Platform Balancing

`stewart_balance` is a 6-DOF parallel (Stewart) platform that balances a free
Expand All @@ -34,5 +27,3 @@ training-stable under load.
```bash
uv run train --algo ppo --task stewart_balance --sim motrix training.no_play=true
```

See {doc}`../8-manipulation/1-dexterous_inhand` for in-hand task notes.
Loading
Loading