Project Page · Paper · Documentation
ENPIRE is a harness for coding agents to improve robot policies through repeatable real-world experiments. Agents propose changes, evaluate them on a physical station, inspect measurements and recordings, and use that evidence to guide the next iteration.
The framework connects four modules:
- Environment (EN): reset the scene and verify task outcomes.
- Policy Improvement (PI): Iteratively improve performance via different learning paradigms (RL, BC, Heuristic Learning, etc.)
- Rollout (R): evaluate policies on one or more robots.
- Evolution (E): analyze failures, develop hypotheses, and improve the next experiment.
Together, they form the loop reset → execute → verify → record → refine. Code-as-Policy (CaP) supports heuristic learning through Python skill scripts; the real-world RL environment supports neural policy training with an actor/learner pipeline. Both use the station's robot, perception, and calibration tools.
Launch a coding agent and give it the following prompt:
Clone https://github.com/NVlabs/ENPIRE.git with submodules and read AGENTS.md.
Follow enpire/env/docs/INSTALL.md and run 00_hello_environment.
Use the existing configured environment when one is provided.
Summarize the available tools and task entry points.
For real-robot work, follow enpire/env/docs/REAL_WORLD_WORKFLOWS.md:
complete station and calibration preflight, and obtain explicit motion authorization.
AGENTS.md describes the repository layout, implementation rules, and environment ownership. The auto-research instructions define the experiment loop and the reset, verification, and safety boundaries that a policy researcher must preserve.
Requires Python 3.11 and uv. Start with the hardware-free example:
git clone --recurse-submodules https://github.com/NVlabs/ENPIRE.git
cd ENPIRE
uv sync --extra dev
uv run enpire examples run 00_hello_environmentFor an existing checkout, run git submodule update --init --recursive before
using uv. The installation guide covers hardware
extras; uv sync replaces the selected extras, so include all required extras
in one invocation.
Real-robot runs require a registered station, calibrated cameras and robot transforms, and the task's perception and control services. Follow the station and task workflow for setup. The real-world RL environment uses an isolated dependency project for its actor and learner.
For each environment, the user must provide a reset function and a reward/verification function, using CaP or other task-specific scripts. A coding agent can help write and validate these during environment setup. The project website illustrates physical resets for Push-T, pin insertion, GPU insertion, and zip-tie tasks, along with vision-based reward evaluation.
- Prepare the station. Register the robot and cameras, calibrate the station, and start the required services using the real-world setup guide.
- Define and validate the environment. Specify observations and actions. Write a reset that restores the scene and checks readiness, and a reward function that scores progress or success from camera images, robot state, or contact measurements. Follow the task guide for script templates and task registration.
- Run auto-research. Validate repeated reset and evaluation cycles on the real station, then keep reset, reward, verification, and safety rules fixed while the agent improves policy or training code. Set a trial budget and retain outcomes, logs, and videos as described in the auto-research contract.
Examples to build from:
- Hello environment: a minimal reset–execute–verify loop.
- Real object pickup: CaP composition of perception, planning, and robot control.
- Push-T: a physical reset workflow and heuristic policy improvement.
See CONTRIBUTING.md. All contributions must be signed off under the Developer Certificate of Origin and licensed under Apache-2.0.
To report a security vulnerability, visit https://www.nvidia.com/en-us/security/. See SECURITY.md for credential and hardware safety rules.
Copyright (c) 2025, NVIDIA CORPORATION & AFFILIATES. All rights reserved. Licensed under the Apache License 2.0.
See THIRD_PARTY_NOTICES.md and THIRD_PARTY_LICENSES.md for third-party attributions.
If you use ENPIRE in your research, please cite the paper:
@misc{xiao2026enpireagenticrobotpolicy,
title={ENPIRE: Agentic Robot Policy Self-Improvement in the Real World},
author={Wenli Xiao and Jia Xie and Tonghe Zhang and Haotian Lin and
Letian "Max" Fu and Haoru Xue and Jalen Lu and Yi Yang and
Cunxi Dai and Zi Wang and Jimmy Wu and Guanzhi Wang and
S. Shankar Sastry and Ken Goldberg and Linxi "Jim" Fan and
Yuke Zhu and Guanya Shi},
year={2026},
eprint={2606.19980},
archivePrefix={arXiv},
primaryClass={cs.AI},
url={https://arxiv.org/abs/2606.19980},
}