DAVIS: A Depth-Only End-to-End Active-Vision Framework for Humanoid Soccer Skills
Organizations: Noetix Robotics · Tsinghua University
Abstract
Humanoid soccer contact skills require more than producing high-impact foot-ball contacts: the robot must close the loop over perception, approach, alignment, impact, and recovery while its own motion induces substantial viewpoint changes, frequent loss of the ball from view, and uncertain contact outcomes. In this work, we ask a compact yet stricter question: can a humanoid learn soccer contact skills using only a head-mounted depth image, proprioceptive history, and an optional low-dimensional task command, and directly output 25-DoF joint PD targets without extra runtime perception or planning modules? To this end, we propose DAVIS, a depth-only end-to-end framework for humanoid soccer skills that learns visibility-aware auxiliary geometry during training, and combines GT-to-prediction annealing, task curricula, and AMP-style motion priors to smoothly bridge privileged supervision and real deployment. Built on this framework, we instantiate representative soccer contact skills, including goal-directed shooting and directional dribbling, through task-specific definitions of objects, commands, rewards, and curricula, and validate them through simulation, Noetix E1 real-robot experiments, and ablations.
Figures & tables
| Goal-Directed Shooting | Directional Dribbling | |||||||||||||||
| Setting | Metric | Easy | Med. | Hard | Total | Setting | Metric | |||||||||
| Sim. | Penalty SR | 0.95 | 0.96 | 0.56 | 0.85 | Sim. | SR | 0.71 | 0.77 | 0.65 | 0.66 | 0.72 | 0.55 | 0.68 | 0.64 | 0.43 |
| Free-kick SR | 1.00 | 0.88 | 0.71 | 0.85 | 0.69 | 0.74 | 0.91 | 0.74 | 0.73 | 0.80 | 0.71 | 0.81 | 0.97 | |||
| – | – | – | – | – | 0.73 | 0.74 | 0.64 | 0.76 | 0.75 | 0.70 | 0.76 | 0.72 | 0.60 | |||
| Real | Penalty SR | 0.68(26/38) | 0.57(28/49) | 0.55(33/60) | – | Real | SR | Easy: 0.79(22/28) | Medium: 0.68(19/28) | Hard: 0.61(17/28) | ||||||
| Method | Penalty kick | Free kick | Repeated-S slalom | ||||||
| SR | SR | SR | |||||||
| DAVIS | 0.84 | 23.29 | 99.75 | 0.80 | 30.18 | 99.27 | 0.70 | 0.79 | 0.74 |
| (a) Ablation | |||||||||
| DAVIS-w/o-curriculum | 0.62 | 27.40 | 32.53 | 0.55 | 34.42 | 87.67 | 0.51 | 0.77 | 0.69 |
| DAVIS-auxiliary head-w/o-anneal | 0.32 | 54.79 | 84.87 | 0.22 | 76.20 | 87.92 | 0.31 | 0.83 | 0.66 |
| DAVIS-auxiliary head-w/o-geometry | 0.20 | 53.53 | 87.33 | 0.15 | 69.47 | 78.13 | 0.34 | 0.91 | 0.54 |
Appendix figures & tables19 assets
Supplementary material from the paper’s appendix.
Appendix
| Metric | Definition |
|---|---|
| Success rate (SR) | The main paper defines task-level success: shooting requires the ball to cross the goal line in one kick, while dribbling requires the robot to remain upright and both the robot and ball to finish within m of the target. This appendix expands that definition for evaluation protocols: simulated dribbling additionally requires visiting all waypoints in order (Sec. IV-A ), whereas the real-world protocol applies the same endpoint and uprightness criteria to each trial. |
| Valid contact ratio ( ) | Fraction of shooting trials with a valid foot–ball contact and goal-directed ball exit. |
| Angular error ( ) | Heading error between the robot body and the robot-to-goal direction. |
| Velocity error ( ) | Mean error between commanded and actual ball velocity during dribbling. |
| Ball-in-band ratio ( ) | Fraction of engaged dribbling time in which the ball stays inside the controllable band. |
| Turn bias ( ) | over scored rounds under the Dribble Master turning protocol; the statistic behind its reported turning error. |
| Field | Definition | Value |
|---|---|---|
| Task grid | Repeated-S slalom with trajectory turns and turn angle | , |
| Waypoints | turning waypoints plus midline gate points | total |
| Geometry | Fixed arm length for waypoint generation | m |
| Command | Waypoint attraction and pole repulsion, snapped to 12 direction bins | , , m |
| Ball spawn | Fixed point directly in front of the robot | 0.6 m |
| Engagement | Metrics start after first ball contact | threshold 0.15 m/s; timeout 5 s |
| Field | Dribble Master [ 27 ] | DAVIS reproduction |
|---|---|---|
| Robot / policy input | Booster T1; detector ball position + in-view flag | Noetix E1; depth image |
| Command | global ball-velocity vector, issued by a human operator | direction only, scripted (potential field for reaching, fixed heading for turning) |
| Reaching / obstacle | unreported distance; success = final error m | goal at m; success = minimum ball–goal distance , m; round ends at m or after s |
| Obstacle | physical; not perceived by the policy | virtual pole at the path midpoint; not perceived by the policy |
| Turning | on entering a m circle at m | on m of forward progress (where a straight path enters that circle) |
| Trials | 5 rollouts per turn condition (sim); 15 per task (real) | 50 rounds per condition (sim), Wilson 95% CI |
| Task | (m) | time (s) | |||
| Target reaching | 3 | 0.88 [0.76, 0.94] | 0.88 [0.76, 0.94] | 0.90 [0.79, 0.96] | (44) |
| 5 | 0.82 [0.69, 0.90] | 0.84 [0.71, 0.92] | 0.84 [0.71, 0.92] | (42) | |
| 8 | 0.78 [0.65, 0.87] | 0.80 [0.67, 0.89] | 0.80 [0.67, 0.89] | (40) | |
| Single obstacle | 3 | 0.92 [0.81, 0.97] | 0.92 [0.81, 0.97] | 0.92 [0.81, 0.97] | (46) |
| 5 | 0.94 [0.84, 0.98] | 0.96 [0.87, 0.99] | 0.96 [0.87, 0.99] | (48) | |
| 8 | 0.94 [0.84, 0.98] | 0.94 [0.84, 0.98] | 0.94 [0.84, 0.98] | (47) |
| Turn command | DAVIS | Dribble Master | ||||
|---|---|---|---|---|---|---|
| scored | ( ∘ ) | bias (%) | per-round (%) | ( ∘ ) | bias (%) | |
| 30 ∘ L | 40 | 4.8 | 52.9 | – | – | |
| 30 ∘ R | 39 | 15.1 | 41.5 | – | – | |
| 45 ∘ L | 44 | 12.6 | 27.6 | +43.58 | 3.16 | |
| 45 ∘ R | 44 | 0.5 | 32.1 | -46.44 | 3.20 | |
| 60 ∘ L | 43 | 0.6 | 26.3 | – | – | |
| Difficulty | Distance (m) | Target Angles |
|---|---|---|
| Easy | 2.5 | , , , |
| Medium | 3.0 | , , , |
| Hard | 2.5–3.0 | , |
| Item | Configuration |
|---|---|
| Actor sensory input | Single-frame depth image + 5-step proprioceptive history |
| Optional command | Low-dimensional task command if enabled |
| Shooting proprioception | 81-D |
| Dribbling proprioception | 84-D |
| Depth encoder | LightDepthEncoder |
| Depth latent | 32-D |
| Item | Value |
|---|---|
| Rollout length | 24 steps per environment |
| PPO epochs | 5 |
| Mini-batches | 4 |
| Learning rate | , adaptive schedule |
| Discount factor | |
| GAE parameter |
| Reward Terms | Components | Weight |
| Approach and chase | Approach ball reward | 3.0 |
| Adaptive velocity reward | 2.0 | |
| Active vision | Head track ball reward | 3.0 |
| Keep in horizon reward | -0.5 | |
| Body follow head reward | 2.0 | |
| Ball–goal alignment | Robot behind ball reward | 1.0 |
| Group | Terms | Weight / setting |
| Commanded progress & heading | Ball command reward | 5.0 |
| Body command reward | 0.4 | |
| Ball control | Dense re-approach reward | 2.0 |
| Out-of-band penalty | -1.0 | |
| Active vision | Ball in view reward | 1.0 |
| Body follow head reward | 0.6 |
| Perturbation | Range / value |
|---|---|
| Valid depth range | 0.3–5.0 m |
| Distance-proportional depth noise | 0.01 |
| Gaussian depth-noise coefficient | 0.005 |
| Salt-and-pepper probability | 0.01 |
| Stripe dropout probability | 0.005 |
| Edge-drag probability | 0.01 |
Robot Skill Learning
Robot skill learning studies how robots acquire, adapt, and combine reusable behaviors from demonstrations, interaction, and other data.
See all 323 papers