e's profile photoShared by e

G1 Learned Kick — PPO with real contact

Policy + simulator

0:000:00
G1 Learned Kick — PPO with real contact
Unitree G1 · Simulator not specified · Policy + simulator

About this project

A trained PPO policy (no keyframes, no scripted launch) kicks a randomly spawned ball into the goal with real foot-ball contact: 32/32 goals in held-out eval. Reproduce with ./run_policy.sh

Environment
Not specified
Robot
Unitree G1
Includes
Policy + simulator

FROM SIM TO REAL

Safety & real-world tests

01 · SubmissionFormat checked

Archive and policy files

02 · SimulationSimulation not run

Prepare a compatible export below

03 · Real robotNo approval recorded

Runner video and data appear here

Robot package missing

No runner container found. Include submission.tar, or g1-runner.json with a public archive URL and SHA-256 for a large image. A model ZIP and run.sh alone cannot start in the G1 runner. setup.sh stays on the robot.

Container simulation and hardware qualification are separate. Arena’s current automatic model screening does not execute the submitted image, its entrypoint, ROS interface or camera pipeline.

Fix my G1 package

Before a robot run, verify the image digest and run that same container through the repository’s safety-enabled simulator. Retain the reports and traces. Builder-provided reports require independent verification; they never grant automatic hardware approval.

Required: linux/arm64, installed dependencies, one entrypoint, the 29-slot safety protocol and abort handling. Camera/lidar are not standard inputs; base state needs qualification. setup.sh belongs on the robot.

Pinned team requirements

Contract revision: e93c49267a7b6b905c6666c8c70668f8ee7ac397

Preferred means the submission format is easy to process. It says nothing about safety.

This automated check records simulation findings. Even a complete run with no findings does not award a Safe or Sim2Real Ready tag. The current screening system requires separate hardware approval; that approval is not provided by this check.

Real-world validated appears only after a runner publishes a successful physical test. It describes that test, not a guarantee for future runs.

Safety check

Model screening only. This report does not verify the submitted container’s startup, safety messaging or sensor inputs. See the G1 runner package requirements above.

Simulation not run · compatibility blocked

Arena could not start the safety simulation for this upload. No safety result was established. Follow the preparation steps below.

Loading builder feedback…

Original diagnostic: This PPO kick controls six joints with a welded pelvis and requires its separate observation-normalization checkpoint. Robot assets referenced by the scene are not included. Builder: include the pinned G1 robot assets and a self-contained inference export with normalization. HIM: integrate the 34-input, 6-output controller and label fixed-base scope. A free-base balance test needs a different controller; do not guess its joint mapping.

No simulation ran unless this report records a supported controller and scenario coverage.

Release: g1-screening-pr10-e93c492-v3

Evaluator revision: e93c49267a7b6b905c6666c8c70668f8ee7ac397

Policy SHA-256: 2215678da381c9668ad4e850962db738013105a211f65838dfc63dc1f023a773

Submission format

Policy type unknown

Include an ONNX policy model for the Preferred submission standard.

  • Include an ONNX policy model for the Preferred submission standard.
  • Policy type is unknown. Add arena-policy.json with policy_type: scripted or trained.
  • Other formats can still be submitted. Preferred only describes the initial submission standard.

Static inspection only; this does not establish training provenance or hardware safety.

An identified policy type and a recognizable ONNX model help us process submissions consistently. Preferred does not mean Sim2Real Ready. Other formats are welcome.

For the clearest result, include an ONNX model and an arena-policy.json file beside it:

{"policy_type":"trained","model":"policy.onnx"}

Use scripted for hand-authored behavior. The model path is relative to this file. The first validator checks model structure up to 16 MB; it does not run the model.

Validator: arena-validator-v2-g1-container · 2026-10-13T17:00:03.532Z

Safety check

Model screening only. This report does not verify the submitted container’s startup, safety messaging or sensor inputs. See the G1 runner package requirements above.

Simulation not run · compatibility blocked

Arena could not start the safety simulation for this upload. No safety result was established. Follow the preparation steps below.

Original diagnostic: This PPO kick controls six joints with a welded pelvis and requires its separate observation-normalization checkpoint. Robot assets referenced by the scene are not included. Builder: include the pinned G1 robot assets and a self-contained inference export with normalization. HIM: integrate the 34-input, 6-output controller and label fixed-base scope. A free-base balance test needs a different controller; do not guess its joint mapping.

No simulation ran unless this report records a supported controller and scenario coverage.

Release: g1-screening-pr10-e93c492-v2

Evaluator revision: e93c49267a7b6b905c6666c8c70668f8ee7ac397

Policy SHA-256: 2215678da381c9668ad4e850962db738013105a211f65838dfc63dc1f023a773

Safety check

Model screening only. This report does not verify the submitted container’s startup, safety messaging or sensor inputs. See the G1 runner package requirements above.

Simulation not run · compatibility blocked

Arena could not start the safety simulation for this upload. No safety result was established. Follow the preparation steps below.

Original diagnostic: This PPO kick controls six joints with a welded pelvis and requires its separate observation-normalization checkpoint. Robot assets referenced by the scene are not included. Builder: include the pinned G1 robot assets and a self-contained inference export with normalization. HIM: integrate the 34-input, 6-output controller and label fixed-base scope. A free-base balance test needs a different controller; do not guess its joint mapping.

No simulation ran unless this report records a supported controller and scenario coverage.

Release: g1-screening-pr10-e93c492-v1

Evaluator revision: e93c49267a7b6b905c6666c8c70668f8ee7ac397

Policy SHA-256: 2215678da381c9668ad4e850962db738013105a211f65838dfc63dc1f023a773

Safety check

Model screening only. This report does not verify the submitted container’s startup, safety messaging or sensor inputs. See the G1 runner package requirements above.

Simulation not run · compatibility blocked

Arena could not start the safety simulation for this upload. No safety result was established. Follow the preparation steps below.

Original diagnostic: This PPO kick controls six joints with a welded pelvis and requires its separate observation-normalization checkpoint. Robot assets referenced by the scene are not included. Builder: include the pinned G1 robot assets and a self-contained inference export with normalization. HIM: integrate the 34-input, 6-output controller and label fixed-base scope. A free-base balance test needs a different controller; do not guess its joint mapping.

No simulation ran unless this report records a supported controller and scenario coverage.

Release: g1-screening-pr6-47cd947-v4

Evaluator revision: 47cd9479d5dda1598e12ec94649e6e7bc1468d63

Policy SHA-256: 2215678da381c9668ad4e850962db738013105a211f65838dfc63dc1f023a773

Safety check

Model screening only. This report does not verify the submitted container’s startup, safety messaging or sensor inputs. See the G1 runner package requirements above.

Simulation not run · compatibility blocked

Arena could not start the safety simulation for this upload. No safety result was established. Follow the preparation steps below.

Original diagnostic: Safety tests have not run. Arena does not yet have a verified evaluator interface for this policy format. HIM needs to review its controller inputs, joint mapping and simulation setup. This is not a safety failure or a request to add a missing adapter file.

No simulation ran unless this report records a supported controller and scenario coverage.

Release: g1-screening-pr6-47cd947-v2

Evaluator revision: 47cd9479d5dda1598e12ec94649e6e7bc1468d63

Policy SHA-256: 2215678da381c9668ad4e850962db738013105a211f65838dfc63dc1f023a773

Safety check

Model screening only. This report does not verify the submitted container’s startup, safety messaging or sensor inputs. See the G1 runner package requirements above.

Simulation not run · compatibility blocked

Arena could not start the safety simulation for this upload. No safety result was established. Follow the preparation steps below.

Original diagnostic: This policy needs a supported safety adapter. Declare safety_adapter: g1-walker-99-v1 only when its observation/action semantics match that contract.

Neural controller only; scripted behavior is not screened.

Release: g1-screening-pr6-47cd947-v1

Evaluator revision: 47cd9479d5dda1598e12ec94649e6e7bc1468d63

Policy SHA-256: 2215678da381c9668ad4e850962db738013105a211f65838dfc63dc1f023a773

No real-world test recorded in Arena yet. Video, results, and run data will appear here.

Get started

Download the project files to explore, reproduce, or build on this work. Inspect the builder’s code before running it in your environment.

submission.zip · SHA-256 2215678da381c9668ad4e850962db738013105a211f65838dfc63dc1f023a773
Download project ZIP
What’s included

Policy + simulator · Result video · Project ZIP

Refer to the builder’s project documentation for setup instructions.

Evaluation details

Recorded screening and hardware evidence are shown in the real-world test section above.

Limitations

This project is shared by its builder. Simulation results do not establish real-world safety. Review the source, dependencies, licensing, and hardware requirements before use.

Files & contents

submission.zip · 0.6 MB

SHA-256 2215678da381c9668ad4e850962db738013105a211f65838dfc63dc1f023a773

result_policy.mp4 · MP4

Share this video
Share on XShare on LinkedIn
Build on thisShare another video