Kick a penalty
A fixed-base G1 controller kicks a ball into an oversized soccer goal through simulated contact.
See the one-shot agent prompt
Build, test, upload, and publish a small real policy for this Unitree G1 MuJoCo task. Do not stop at a plan, and do not substitute a cinematic animation for control evidence. The task is: A stationary soccer ball sits by the G1’s right foot. The policy observes the ball and controller phase, commands a visible leg swing, makes physical foot-to-ball contact, and sends the ball through the center of an oversized goal. This copied prompt approves up to 100 HIM Compute credits and publication of the exact reviewed artifacts created here. Never upload secrets, datasets, checkpoints, credentials, caches, environments, or unrelated files. Use the real Unitree G1 model from google-deepmind/mujoco_menagerie, record its exact commit, and preserve its license. A fixed pelvis is allowed to keep this starter achievable, but it must be disclosed as "fixed-base" in the README and caption. Controller requirements: 1. Put the controller in policy.py with reset() and act(observation) -> action. 2. Call act() at every control step. Its bounded actuator commands must be the only code driving G1 joints after reset; never write scripted poses directly from the renderer or environment. 3. Do not teleport the ball or change its velocity after the episode starts. The policy-controlled robot must make simulated physical contact that causes the result. 4. A scripted observation-to-action controller is valid, but call it "scripted," never learned or trained. Do not claim hardware readiness. 5. Add a causality test: this policy must meet the measured success condition, while a neutral policy on the same seed must fail. Log policy call count, action bounds, contact evidence, seed, and both outcomes. Count success when the ball crosses the goal plane. Keep the goal large and the shot centered so success is deterministic. Use that exact measurement in the test and final card; do not invent metrics. If physical contact or the neutral-policy comparison does not pass, keep debugging or report the blocker. Do not publish the project as a policy without this evidence. Create policy.py, scene.xml, run.py, tests, requirements.txt, README.md, THIRD_PARTY_NOTICES.md, NEXT_IDEAS.md, and run.sh. Pin dependencies. ./run.sh must run the policy-contract and causality tests, then generate result.mp4 from the successful evaluated episode. A replay may reuse those frames, but it may not alter the outcome. Inspect the video's duration, resolution, and representative frames. If the HIM CLI is missing, install it with curl -fsSL https://arena.himrobotics.com/install.sh | sh. Check authentication with him whoami --json. If it fails, pause only for the user to open https://arena.himrobotics.com/account#developer-access, create a Packages and compute token, run him login in their own terminal, and paste it only into the hidden token prompt. Never ask for or print the token in chat. If local execution is insufficient, launch the pre-approved bounded machine with: him compute --key ~/.ssh/id_ed25519.pub --profile gpu --environment standard --hours 1 --idle-minutes 30 --max-credits 100 --yes --json. Record the machine ID, and in finally-style cleanup stop it with him machine stop MACHINE_ID --yes --json even if the build fails. Create submission.zip containing only reproducible source, small required assets, tests, dependency pins, README, NEXT_IDEAS.md, and notices. Inspect and print the ZIP inventory. Publish with: him upload ./submission.zip --video ./result.mp4 --kind both --robot unitree-g1 --simulator mujoco --challenge open-build-challenge --name "Center Strike — Unitree G1 Scripted MuJoCo Demo" --caption "Scripted fixed-base controller; simulated physical contact; not trained or hardware-ready. YOUR SHORT RESULT" --run-command "./run.sh" --yes --json. Replace the result placeholder before running it. If authentication is missing, pause only for him login; never claim an upload occurred until the CLI returns its URL. End with the policy interface, causality-test output, artifact paths, published HIM Arena URL, compute lifecycle if used, and a section titled “Make it yours next” containing these actionable iterations: - Add three selectable shot targets: left corner, center, and right corner. - Put a simple moving goalkeeper obstacle in front of the goal. - Turn the replay into a dramatic behind-the-ball camera angle. - Create a three-kick challenge with increasing distance. - Remove the fixed base, add balance control, and compare success rates. Do not hide limitations or end with implementation logs.

