Quickstart#
Run a LIBERO episode with action units, then open the live dashboard. This route uses a multimodal planner directly and does not require a VLA checkpoint.
1. Prepare a GPU machine#
Use Linux with an NVIDIA GPU and EGL support, Node.js 22.19 or newer, and uv or Python 3.11. Allow approximately 25 GB of free disk space for the Python environment, installation cache, and assets. GitHub and Hugging Face must be reachable.
Build pi from the RoboAgentLab checkout and link that local CLI:
git clone https://github.com/RoboAgentLab/RoboAgentLab ~/RoboAgentLab
cd ~/RoboAgentLab
npm ci --ignore-scripts
node scripts/hydrate-ci-models.mjs
npm run build:offline
npm link --ignore-scripts --workspace @earendil-works/pi-coding-agent
pi install ./packages/embodied
mkdir -p ~/robot-runs
cd ~/robot-runs
pi
npm link makes pi run the CLI built inside this checkout. Rebuild with npm run build:offline after changing pi’s source. See installation if another pi installation is already on your PATH.
Use a planner that accepts images. Inside pi, run /login to configure a supported provider. For a custom endpoint, configure ~/.pi/agent/models.json using pi’s model configuration guide.
2. Run the setup wizard#
Inside the interactive pi session, enter:
/embodied-setup
Choose the following for a first run:
Setting |
Choose |
|---|---|
Robot or benchmark |
LIBERO (sim) |
Mode |
units |
Services |
here (this machine) |
Planner |
your configured image-capable model |
Experiment directory |
|
Review the setup plan and confirm it. The agent follows the bundled embodied-quickstart skill to install the Python environment and scene assets, run the preflight checks, and print the launch command. It also writes the experiment’s .pi/settings.json, which loads the robot and dashboard.
If you select a remote GPU box, pi, the checkout, and the experiment run on that box over SSH. See installation for a manual setup.
3. Start the episode#
Exit the setup session and run the printed command. With the paths above:
cd ~/robot-runs/embodied-libero
source ~/RoboAgentLab/services/.venv-libero/pi-embodied.env
pi --libero-type standard --suite libero_10 --task 0 --seed 0 \
--units=true --max-turns 40 --time-limit 900 --dashboard=true
Accept pi’s project trust prompt so that the experiment’s robot extension loads. When the scene is ready, type:
Solve the task.
The agent receives camera observations and chooses movement, grasp, and release units. The run is bounded to 40 turns or 900 seconds. For a model that supports configurable reasoning, you can add --thinking low.
4. Inspect what happened#
Open the dashboard URL printed in the terminal to follow observations and tool calls. At the end, inspect the robot_result entry: terminated is the environment’s success signal, while claimed is the agent’s reported outcome.
Use /export for a shareable session view. Continue to evaluation and replay to run several tasks or data collection to export trajectories.
Tip
For a non-interactive episode, use the same flags with pi -a -p and append "Solve the task.". The -a option approves loading this experiment’s extensions for that invocation.
Common setup issues#
Symptom |
What to check |
|---|---|
No planner configured |
Run |
|
Put Node.js 22.19+ on |
Python or environment import fails |
Source the |
Missing LIBERO assets |
Run |
Duplicate tools or flags |
Load one robot per process. Run evaluation scripts from the checkout, outside a configured experiment directory. |
GPU renderer fails |
Check the NVIDIA driver and EGL installation on the machine running the services. |