RoboRSI

Stable, efficient, and reusable robot self-evolution in complex real-world environments.

English | 简体中文

License Python 3.12+ LIBERO 120 tasks

RoboRSI is a multi-agent harness for robot self-evolution. A Manager decomposes tasks, a Planner writes executable plans, an Engineer drives skills against the live environment, and an independent Reviewer diagnoses the visible trace. Top-down Skill Refinement (TSR) keeps every capability in a task–skill tree: online exploration finds a solution, stable workflows consolidate into code, execution data can train a learning-based policy, and failures return to the earliest responsible node. Project page:

Real-robot full task chain, 16x timelapse
Real-robot full task chain (16× timelapse) — full video with exact tool traces on the project page

RoboRSI self-evolution loop

## Results | Metric | Result | Scope | |---|---:|---| | LIBERO cumulative task pass rate | **95/120** | Cross-release adaptive coverage; ten sequential rounds moved 32/120 → 83/120 | | LIBERO-PRO cumulative task pass rate | **80/120** | Five adaptive releases, 43 → 80 cumulative task coverage | | LIBERO-Plus perturbation-instance pass rate | **398/840** adaptive Pass@2 | 840 = 7 perturbation categories × 120 instances; fixed release 261/840; +16.3 points | | Matched Code-on / Code-off episode pass rate | **174/600 vs 129/600** | 120 tasks × 5 initial layouts per group; +7.5 points | | Matched efficiency panel (118 tasks) | tokens **−29.4%** · VLM calls **−27.2%** · wall time **−17.0%** | Median Code-on vs Code-off | | RoboTwin cumulative task pass rate | **36/50** | Planner + Engineer + Reviewer; single-role baseline 9/50 | | Corrective learning-based policy case | 1 matched task success | 304-frame corrective trajectory → 2,432 samples → 1,000-step fine-tune | Cumulative task pass rates count tasks passed at least once across evolving releases; they are not frozen-policy scores or fixed-method Pass@k. Full calibers, videos, and exact tool traces are on the [project page](https://lab.noematrix.ai/blog/2-roborsi-research-preview/). ## How It Works ``` long_horizon// task family: user instruction → ordered atomic sequence ▼ atomic// atomic task: clear scope, verifiable outcome; stable ▼ paths consolidate into code (e.g. visual_pick_place) base/// base skills: perception, motion, grasp, place — callable by atomics and exposed to the agent as tools ``` ``` Manager ──► Planner ──► Engineer ──► Reviewer task queue plan.md tool loop root cause + revision proposal ``` When a task keeps failing, the Reviewer locates the earliest responsible node and proposes a skill change; a no-regression gate on a real simulator task must pass before the change is committed. Every applied change is an ordinary git commit, so the history stays auditable. Evaluation (`roborsi eval` / `eval-suite`) runs the same role chain against a frozen release with self-evolution and persistent write-back disabled. Success is decided only by the simulator's own predicate after the agent loop ends; journals are append-only, and `roborsi eval-audit` recomputes scores independently. ## Installation ### One-click reproduction ```bash git clone --recursive https://github.com/nssmd/RoboRSI.git && cd RoboRSI export OPENAI_API_KEY="..." # any OpenAI-compatible Responses endpoint scripts/reproduce_libero_pro.sh ``` The script creates an isolated environment, installs RoboRSI, clones LIBERO-PRO, downloads the official perturbation assets from [`zhouxueyang/LIBERO-Pro`](https://huggingface.co/datasets/zhouxueyang/LIBERO-Pro), configures and health-checks the backend, starts the PyRoKi IK/trajectory service, launches a frozen Pass-1 campaign, and audits the journal. It is idempotent and resumable. A fresh campaign evaluates the current frozen release; it does not replay the cumulative results above (see [docs/EVALUATION.md](./docs/EVALUATION.md)). ### Manual installation See [docs/INSTALLATION.md](./docs/INSTALLATION.md) and [docs/DOCKERINSTALLATION.md](./docs/DOCKERINSTALLATION.md). LIBERO-Plus (840 perturbation instances, frozen): `scripts/reproduce_libero_plus.sh` (see [docs/EVALUATION.md](./docs/EVALUATION.md)). Connecting your own robot: see [roborsi/embodied/embodiment/README.md](./roborsi/embodied/embodiment/README.md). ```bash pip install -e ".[libero]" git clone --depth 1 https://github.com/Zxy-MLlab/LIBERO-PRO.git hf download zhouxueyang/LIBERO-Pro --repo-type dataset --local-dir ./LIBERO-PRO-assets roborsi libero configure \ --root ./LIBERO-PRO \ --bddldir ./LIBERO-PRO-assets/bddl_files \ --initdir ./LIBERO-PRO-assets/init_files roborsi libero doctor --backend libero --task libero_object/0 --reset roborsi web # evolution dashboard :8787 ``` ## Community Scan to join the WeChat user group (the QR code is refreshed periodically):

RoboRSI WeChat user group QR code

## Citation ```bibtex @misc{noematrix2026roborsi, author = {{Noematrix Team}}, title = {RoboRSI: Stable, Efficient, and Reusable Robot Self-Evolution in Complex Real-World Environments}, year = {2026}, month = sep, howpublished = {Research Blog}, url = {https://lab.noematrix.ai/blog/2-roborsi-research-preview/} } ```