improved readme instructions
Browse files
README.md
CHANGED
|
@@ -4,17 +4,44 @@ license: gpl-2.0
|
|
| 4 |
|
| 5 |
# AugMPCModels
|
| 6 |
|
| 7 |
-
|
| 8 |
|
| 9 |
- Andrea Patrizi, Carlo Rizzardo, Arturo Laurenzi, Francesco Ruscelli, Luca Rossini, Nikos G. Tsagarakis
|
| 10 |
- *RL-Augmented MPC for Non-Gaited Legged and Hybrid Locomotion*
|
|
|
|
| 11 |
- arXiv: [2603.10878](https://arxiv.org/abs/2603.10878)
|
| 12 |
|
| 13 |
## Preferred usage
|
| 14 |
|
| 15 |
-
The preferred way to run these models is through the dedicated [ibrido-containers](https://github.com/AndrePatri/ibrido-containers) setup. The containers provide the expected runtime
|
| 16 |
|
| 17 |
-
In practice, users should
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 18 |
|
| 19 |
## Repository structure
|
| 20 |
|
|
@@ -26,11 +53,11 @@ Each model is distributed as a **bundle**, not just as a checkpoint file. A bund
|
|
| 26 |
- controller/world-interface helpers needed for reproduction
|
| 27 |
- a `bundle.yaml` manifest describing the contents
|
| 28 |
|
| 29 |
-
|
| 30 |
|
| 31 |
```text
|
| 32 |
bundles/
|
| 33 |
-
|
| 34 |
<bundle_name>/
|
| 35 |
bundle.yaml
|
| 36 |
<checkpoint>_model
|
|
@@ -40,14 +67,3 @@ bundles/
|
|
| 40 |
*.srdf
|
| 41 |
other/
|
| 42 |
```
|
| 43 |
-
|
| 44 |
-
## Usage model
|
| 45 |
-
|
| 46 |
-
The intended runtime flow is:
|
| 47 |
-
|
| 48 |
-
1. resolve or download a bundle locally,
|
| 49 |
-
2. read `bundle.yaml`,
|
| 50 |
-
3. locate the checkpoint file and companion configs,
|
| 51 |
-
4. launch AugMPC using the resolved local bundle path.
|
| 52 |
-
|
| 53 |
-
This repository is therefore meant to back a bundle resolver, rather than a direct `torch.load()` call on a remote file.
|
|
|
|
| 4 |
|
| 5 |
# AugMPCModels
|
| 6 |
|
| 7 |
+
Demo bundles for [AugMPC](https://github.com/AndrePatri/AugMPC):
|
| 8 |
|
| 9 |
- Andrea Patrizi, Carlo Rizzardo, Arturo Laurenzi, Francesco Ruscelli, Luca Rossini, Nikos G. Tsagarakis
|
| 10 |
- *RL-Augmented MPC for Non-Gaited Legged and Hybrid Locomotion*
|
| 11 |
+
- IEEE Robotics and Automation Letters (RA-L)
|
| 12 |
- arXiv: [2603.10878](https://arxiv.org/abs/2603.10878)
|
| 13 |
|
| 14 |
## Preferred usage
|
| 15 |
|
| 16 |
+
The preferred way to run these models is through the dedicated [ibrido-containers](https://github.com/AndrePatri/ibrido-containers) setup. The containers provide the expected runtime environments, MPC implementations, workspace layout, and `training_data` mounts used by the published bundles.
|
| 17 |
|
| 18 |
+
In practice, users should:
|
| 19 |
+
|
| 20 |
+
1. set up the container following the instructions in `ibrido-containers`;
|
| 21 |
+
2. pick the desired container `ibrido-containers/ibrido_u22` ships with IsaacSim, `ibrido-containers/ibrido_u20` for cheap single environment transfer evaluations on MujoCo.
|
| 22 |
+
3. pick a matching configuration file associated with the target robot under `ibrido-containers/ibrido_u*/singularity/files/training_cfgs/<robot_name>/`; configs for the same robot may change crucial MPC parameters, so it's important that this matches the one used during training.
|
| 23 |
+
3. configure the config to load the chosen model bundle by modyfing these variables:
|
| 24 |
+
|
| 25 |
+
```bash
|
| 26 |
+
export EVAL=1 # run framework in eval mode
|
| 27 |
+
export DET_EVAL=1 # run deterministic policy evaluation
|
| 28 |
+
export EVAL_ON_CPU=1 # eval on CPU
|
| 29 |
+
export OVERRIDE_ENV=0 # if 0, will load the exact same environment as used during training
|
| 30 |
+
export OVERRIDE_AGENT_REFS=1 # if 1 user can send refs to the agent using the keyboard or joystick utilities in AugMPC
|
| 31 |
+
export MPATH="/root/training_data/AugMPCModels/bundles/<robot_name>/<bundle_name>" # path to the bundle
|
| 32 |
+
export MNAME="<bundle_name>_model" # torch model name within the bundle path
|
| 33 |
+
#...
|
| 34 |
+
export N_ENVS=1 # you can add more if you want to run multiple environments (if chosen world interface supports vectorized simulation)
|
| 35 |
+
```
|
| 36 |
+
|
| 37 |
+
For instance:
|
| 38 |
+
|
| 39 |
+
```bash
|
| 40 |
+
export MPATH="/root/training_data/AugMPCModels/bundles/centauro/d2026_03_07_h19_m22_s30-CentauroCloopPartialNoYawUb_FakePosTrackingEnv"
|
| 41 |
+
export MNAME="d2026_03_07_h19_m22_s30-CentauroCloopPartialNoYawUb_FakePosTrackingEnv_model" # or any other checkpoint available
|
| 42 |
+
```
|
| 43 |
+
|
| 44 |
+
Within the existing `ibrido-containers` logic, `EVAL=1` triggers evaluation mode using the policy pointed to by `MPATH` and `MNAME`. Users can verify that the evaluation configuration is aligned with the original training setup by inspecting the preserved training script stored in the bundle under `bundles/<robot_name>/<bundle_name>/ibrido_run_*/training_cfg_*.sh`.
|
| 45 |
|
| 46 |
## Repository structure
|
| 47 |
|
|
|
|
| 53 |
- controller/world-interface helpers needed for reproduction
|
| 54 |
- a `bundle.yaml` manifest describing the contents
|
| 55 |
|
| 56 |
+
Layout:
|
| 57 |
|
| 58 |
```text
|
| 59 |
bundles/
|
| 60 |
+
<robot_name>/
|
| 61 |
<bundle_name>/
|
| 62 |
bundle.yaml
|
| 63 |
<checkpoint>_model
|
|
|
|
| 67 |
*.srdf
|
| 68 |
other/
|
| 69 |
```
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|