First VLA project · candy delivery
Goal and timing
This is step 4 of the two-hour onboarding route, with a 85-minute planning allocation. Start after wiring checks, power-on and basic teleoperation. Deploy the published pi05 candy-delivery weights and verify a real model-driven delivery. Dataset collection and model training are follow-up work.
Robot assembly and initial wiring are completed before the two-hour session. Inference software setup, weight download, configuration and verification are part of this step; unfinished software preparation must not be excluded from the timing. The target has not yet been measured on hardware.
Check readiness
Use a compatible dual-arm EDU configuration, with the inference computer, cameras and scene required by the case study. Its detailed instructions currently display the Chinese source. Mobile dual arms need configuration and scene checks; there is no supplied VLA example for bipedal or wheeled-leg configurations.
Complete basic teleoperation, then return the arms using L1 + X and keep power on for deployment. Check the original case's deployment requirements and section 3.1 scene layout. Understand normal return and emergency stop before continuing: starting the client will move the arms.
1. Set up inference software
Follow section 7.1.1 to install tron2_openpi, tron2_env and dependencies. Skip duplicate installation only if that computer is already configured. The import check must print the installed tron2_env path. Do not run the training commands in section 6.
2. Download weights and configure deployment
Use section 7.1.2 to obtain pi05_tron2_candy, then section 7.1.3 to configure candy_server.yaml and candy_client.yaml.
- Point
checkpoint_dirto the actual downloaded directory. The source example enterscheckpointsand also uses--local-dir ./checkpoints; check the resulting directory instead of copying a placeholder path. - Match
policy.configandrepo_idto the published example and weights; replace placeholders. - Use the task prompt
Hand out the candy. - Verify the robot IP, Bridge address and camera observation source for the already-wired setup. Do not assume the default addresses or a different camera connection mode apply.
If downloads or configuration fail, record the blocker and leave the VLA step incomplete.
3. Prepare the robot and start inference
Follow the deployment precautions. Return with L1 + X to the initial pose with arms vertically alongside the body, then select High-Level Dev. Match the case's scene, lighting, head pose and camera views.
Run the commands from section 7.1.5 in separate terminals on the inference computer:
# Terminal 1: policy server
cd tron2_openpi
uv run scripts/serve_policy.py --profile configs/deploy/candy_server.yaml
# Terminal 2: robot client
cd tron2_openpi
uv run examples/tron2/pi_client_rtc.py --profile configs/deploy/candy_client.yaml
Confirm server/client operation and the robot's transition to the inference pose. A running process alone does not complete onboarding.
4. Verify the task and finish safely
Following the case instructions, present an upward-facing palm in the camera view and observe a model-driven candy pickup and delivery. Record the outcome. Stop the client after the trial; the source explicitly requires manual stopping when client.max_steps is null. Confirm no further commands are being sent, then follow the normal return and shutdown procedure.
Completion check
- Inference dependencies and published weights are ready.
- Robot, Bridge, cameras and task settings match the setup.
- Policy server and robot client run successfully.
- A real model-driven candy delivery has been observed and recorded.
- The task succeeded and the client was stopped before normal shutdown.
Only a successful task trial completes the two-hour route. A failed trial remains incomplete; record the error, configuration, versions and elapsed time. Hardware timing, firmware/Bridge compatibility and this English editorial guide still require validation.