On the afternoon of October 17 we flew three consumer drones around one person at Baylands Park for about eighteen minutes, in two takes. The subject walked, jogged, climbed a rope-net pyramid three times, stepped onto benches and a picnic table, jumped, and went up and down grass hills and a levee. This page lists every slice of that footage and what it became, with the numbers, the protocol behind each one and what we have not solved.
In short. 18.2 minutes on the clock gave 52.8 minutes of 4K drone video and 24,315 frames of measured 3D body motion at 25 fps. Ground rebuilt from the same footage is within 10 cm (90th percentile) of USGS survey lidar on the slopes. 80 clean motion runs went to Unitree G1 and H1-2 robots; in physics simulation the current G1 policy finishes 85.8% of runs across 233 clips, 97.9% going uphill. On the picnic table, a G1 trained on the measured table reaches the 0.83 m top in 77% of randomised runs; trained on ground guessed from motion alone, in none of 150 (one training seed). The rope climb works kinematically, and in physics only with a support force.
The setup
| Place | Baylands Park: lawns, a levee, grass hills, dirt paths, picnic tables, benches and a rope-net pyramid. Other park visitors were removed from every image and video here, with the background filled in from nearby frames; the subject is not altered. |
|---|---|
| Drones | 3 × DJI Neo 2, following or orbiting the subject, 4K at 100 fps, with the drones’ own per-frame telemetry |
| Takes | Take A from 15:25 (11 min 15 s) and take B from 16:13 (6 min 54 s) |
| Subject | One person. No markers, suit or sensors |
| Not used | No calibration board, no shared clock or timecode between the drones |

Everything captured
Both takes are split into 86 windows of 4 to 42 seconds, each labelled by activity and ground type. Walking takes up most of the time, but there are three full rope climbs, six step-up windows, two jumps, and about seven minutes on slopes, hills and the levee.

Minutes and windows per activity, both takes:
What each part became
1. 3D body for both whole takes
The subject’s 3D body is measured on 90.6% of take A and 87.1% of take B, from two or three drones at a time. That is 24,315 measured body frames at 25 fps. Every frame carries a flag that says whether it was measured: short gaps are flagged so they are never mistaken for measured frames, and longer stretches where fewer than two drones see the subject are left empty.
The 30-second stretches that pass our quality check: 21 of 22 in take A and 13 of 14 in take B, with a median reprojection error of 3.2 and 3.4 pixels.

2. Cameras, clocks and drone paths
Without a calibration rig or shared clock, each drone’s time offset and camera pose come from the video. The recovered drone positions agree with the drones’ GPS to 0.5–1.1 m at the median. As an independent check we hold one drone out: the body solved from drones A and B alone, drawn on drone C’s own frames, lands 8.4 px (levee crossing) and 6.2 px (table step-up) from where drone C sees the joints, at the median.

3. The ground under the subject’s feet
We rebuilt the ground from the same drone footage and checked it against the USGS 3DEP 1 m lidar survey of the park (bare earth, public domain). The score is the ground height under each foot contact minus the lidar, after removing one constant offset per window.
90th-percentile error at foot contacts, median over four slope windows, with every method scored on the same contacts (those our measured ground covers). The motion-only baseline is TERRA, published research from EPFL (open source), run as a benchmark only.
On the slopes our ground is within 10 cm at the 90th percentile and 3 cm at the median. Measured ground patches agree with the lidar to 1.8–7.6 cm median absolute difference. One grass-hill window is a failure case for coverage: the drones saw only about half of the ground the subject walked on. The picnic-table windows wait on a tape measurement and are not used for any claim. Per-window numbers and the full protocol are in Ground inferred from body motion vs measured from video.
4. The park as a physics scene
The objects the subject used were measured from the footage and placed in a MuJoCo scene with the measured terrain: the rope-net pyramid (pole 3.87 m), the picnic table (top 0.80 m, benches 0.46 and 0.48 m) and a bench (seat 0.375 m). The rope net in physics is a simplified cable net placed on the holds the subject actually used. The scene loads and steps stably with a Unitree G1.

5. Five 4D replays
Five short windows were rebuilt as 4D replays you can view from any angle: the three rope climbs, the picnic-table step-up and the levee crossing. The fitted body mesh sits 15.4–24.6 mm from the triangulated joints, and the ankle 3.1–10.5 cm at the 90th percentile. Ground, net and table in the replays are measured from the same footage.

6. Robots: G1 and H1-2 motion, and a G1 policy on the real terrain
80 motion runs (16 minutes) passed our checks. The 77 runs that are not climbs were retargeted to the Unitree G1 and H1-2, and cut into 233 four-second clips for a G1 tracking policy, which then runs each clip on the measured terrain in physics simulation.

Share of runs that finish without a fall, current G1 policy on the real terrain:
MuJoCo physics simulation, Unitree G1 torque limits. 100 randomised runs per clip with pushes and sensor noise. No real-robot runs yet.
With equal training (same clips, references, training settings and 3,000 iterations; two training seeds each), a policy trained on the measured ground finishes 1.5 points more runs than one trained on flat ground (95% CI +0.5 to +2.4). The gap grows on hard ground: +4.4 on the steepest quarter of clips and +5.6 on the quarter with the most relief, slices fixed before the runs. Giving the policy a height scan of the terrain adds another 1.5 points (one seed).
Update, October 22: terrain vs flat training, equal training. A Unitree G1 tracking policy trained on the same 210 four-second clips of one person on park slopes and a levee (Capture 03), with world-model training in the style of SuperMimic (Liao et al., CoRL 2026, arXiv 2610.28480): 6,400 iterations, 3 seeds per arm, both arms tested on the measured terrain and every clip evaluated 5 times.
Trained on a flat floor, the robot failed about 31 of the 210 clips (14.6%, 95% CI 10.5–19.0). Trained on the measured terrain, it failed about 12 (5.6%, 3.0–8.6). On a larger, overlapping set of 323 clips the direction held with a smaller gap (9.9% vs 15.6%, confidence intervals touching).
The terrain is measured from the drone video where the drones saw the path (about 4 cm from survey lidar at the 90th percentile, on those stretches) and taken from public USGS lidar elsewhere, which covers the path on 148 of the 210 clips. Physics simulation only, one person and short clips. No real-robot runs. Read the full study.
The person’s own step-ups, scaled to a robot 1.32 m tall, are beyond the policy: 4.1% complete. For the picnic table we designed a step-up motion for the G1 instead: ground, the 0.50 m seat, then the 0.83 m top, with whole-body IK that keeps the robot clear of the measured table. Trained on the measured table, the G1 reaches the top in 77% of 150 randomised runs with pushes (93% without), with no support. The same training on ground guessed from the motion alone reaches it in 0 of 150: the guess has a ramp where the seat is, and the robot walks into the seat edge.
Hill-down is the next weakest. Several of the remaining falls are clips that start mid-stride at 4–6 m/s or descents faster than the robot can follow. The H1-2 motion still slips on slopes, and no H1-2 policy has been trained yet.
7. Rope climbs
Kinematically, the climb now keeps the G1’s hands and feet on real holds: 95th-percentile joint speed fell from 15–22 rad/s to 2.0–2.8 rad/s, and a limb is off the net in 7–9% of hold frames. That is a kinematic result, not physics.
In physics simulation, a G1 climbing policy completes the climb in 6 of 6 runs with a pelvis support force capped at 1× body weight (0.56× used on average) and 0 of 6 at 0.5×. Climbing without support is not solved. The net is a simplified stand-in: grasps are modelled as springs and the ropes do not collide with the robot.

8. Processing time
Processing time as a multiple of the footage length, on one shared workstation GPU (October 18). “Data” is synced cameras, the whole-take 3D body, ground alignment and quality checks.
All 86 windows
Time is from the start of each take. “Drones” lists the drones that see the subject for at least half the window. “Measured” is the share of 25 fps frames with a measured 3D body; rows under 50% are greyed.
Take A: 49 windows, 11 min 15 s
| Window | Time | Activity | Ground | Drones | Measured | Used for |
|---|---|---|---|---|---|---|
| TA00 | 0:00–0:22 | setup, drone handling | flat grass | BC | 15% | 3D body |
| TA01 | 0:22–0:36 | jog | flat grass | ABC | 99% | 3D body; G1 and H1-2 motion, G1 policy (jog) |
| TA02 | 0:36–0:48 | jog | dirt path | ABC | 100% | 3D body; G1 and H1-2 motion, G1 policy (jog) |
| TA03 | 0:48–0:54 | jog | parking lot | ABC | 100% | 3D body; G1 and H1-2 motion, G1 policy (jog) |
| TA04 | 0:54–1:06 | jog | dirt path | ABC | 100% | 3D body; G1 and H1-2 motion, G1 policy (jog) |
| TA05 | 1:06–1:12 | jog | parking lot | ABC | 100% | 3D body; G1 and H1-2 motion, G1 policy (jog) |
| TA06 | 1:12–1:32 | jog | flat grass | ABC | 92% | 3D body; G1 and H1-2 motion, G1 policy (jog) |
| TA07 | 1:32–1:38 | bench or table step-up | bench | ABC | 99% | 3D body; G1 and H1-2 motion, G1 policy (step-up); terrain check |
| TA08 | 1:38–1:42 | walk | other | ABC | 100% | 3D body; G1 and H1-2 motion, G1 policy (walk) |
| TA09 | 1:42–2:22 | rope | other | ABC | 97% | 3D body; climb retarget; climb 1 4D replay |
| TA10 | 2:22–2:30 | walk | dirt path | ABC | 100% | 3D body; G1 and H1-2 motion, G1 policy (walk); climb 1 4D replay; table 4D replay |
| TA11 | 2:30–2:38 | bench or table step-up | bench | ABC | 98% | 3D body; G1 and H1-2 motion, G1 policy (step-up); table 4D replay; terrain check |
| TA12 | 2:38–2:56 | jog | flat grass | ABC | 99% | 3D body; G1 and H1-2 motion, G1 policy (slope); table 4D replay |
| TA13 | 2:56–3:12 | walk | flat grass | ABC | 99% | 3D body; G1 and H1-2 motion, G1 policy (walk) |
| TA14 | 3:12–3:18 | walk | grass hill | ABC | 100% | 3D body; G1 and H1-2 motion, G1 policy (hill up) |
| TA15 | 3:18–3:34 | walk | flat grass | ABC | 100% | 3D body; G1 and H1-2 motion, G1 policy (slope) |
| TA16 | 3:34–3:48 | walk | other | ABC | 100% | 3D body; G1 and H1-2 motion, G1 policy (walk) |
| TA17 | 3:48–3:54 | standing | other | ABC | 96% | 3D body |
| TA18 | 3:54–4:10 | walk | flat grass | ABC | 96% | 3D body; G1 and H1-2 motion, G1 policy (slope) |
| TA19 | 4:10–4:36 | walk | grass hill | ABC | 100% | 3D body; G1 and H1-2 motion, G1 policy (slope); terrain check |
| TA20 | 4:36–4:44 | jog | grass hill | ABC | 98% | 3D body; G1 and H1-2 motion, G1 policy (hill down); terrain check |
| TA21 | 4:44–4:50 | jog | dirt path | ABC | 100% | 3D body; G1 and H1-2 motion, G1 policy (slope) |
| TA22 | 4:50–5:04 | walk | flat grass | ABC | 97% | 3D body; G1 and H1-2 motion, G1 policy (slope) |
| TA23 | 5:04–5:08 | jog | grass hill | ABC | 100% | 3D body; G1 and H1-2 motion, G1 policy (hill up) |
| TA24 | 5:08–5:18 | walk | grass hill | ABC | 100% | 3D body; G1 and H1-2 motion, G1 policy (slope) |
| TA25 | 5:18–5:24 | walk | flat grass | ABC | 100% | 3D body; G1 and H1-2 motion, G1 policy (walk) |
| TA26 | 5:24–5:40 | walk | dirt path | ABC | 97% | 3D body; G1 and H1-2 motion, G1 policy (walk) |
| TA27 | 5:40–5:52 | walk | flat grass | ABC | 100% | 3D body; G1 and H1-2 motion, G1 policy (walk) |
| TA28 | 5:52–5:56 | walk | other | ABC | 100% | 3D body; G1 and H1-2 motion, G1 policy (walk) |
| TA29 | 5:56–6:32 | rope | other | ABC | 99% | 3D body; climb retarget; climb 2 4D replay |
| TA30 | 6:32–6:40 | walk | other | ABC | 98% | 3D body; G1 and H1-2 motion, G1 policy (walk) |
| TA31 | 6:40–6:58 | walk | flat grass | ABC | 92% | 3D body; G1 and H1-2 motion, G1 policy (slope) |
| TA32 | 6:58–7:04 | jog | dirt path | ABC | 98% | 3D body; G1 and H1-2 motion, G1 policy (hill down) |
| TA33 | 7:04–7:18 | walk | flat grass | ABC | 94% | 3D body; G1 and H1-2 motion, G1 policy (walk) |
| TA34 | 7:18–7:28 | walk | dirt path | ABC | 73% | 3D body; G1 and H1-2 motion, G1 policy (slope) |
| TA35 | 7:28–7:42 | hill climb | grass hill | ABC | 100% | 3D body; G1 and H1-2 motion, G1 policy (hill up); terrain check |
| TA36 | 7:42–7:46 | walk | flat grass | ABC | 100% | 3D body; G1 and H1-2 motion, G1 policy (walk) |
| TA37 | 7:46–7:50 | walk | other | ABC | 100% | 3D body; G1 and H1-2 motion, G1 policy (walk) |
| TA38 | 7:50–8:20 | rope | other | ABC | 100% | 3D body; climb retarget; climb 3 4D replay |
| TA39 | 8:20–8:30 | walk | dirt path | ABC | 90% | 3D body; G1 and H1-2 motion, G1 policy (walk); climb 3 4D replay |
| TA40 | 8:30–8:52 | walk | flat grass | ABC | 100% | 3D body; G1 and H1-2 motion, G1 policy (walk); terrain check |
| TA41 | 8:52–8:58 | bench or table step-up | bench | ABC | 88% | 3D body; G1 and H1-2 motion, G1 policy (step-up); terrain check |
| TA42 | 8:58–9:40 | walk | flat grass | ABC | 97% | 3D body; G1 and H1-2 motion, G1 policy (slope) |
| TA43 | 9:40–9:44 | hill descent | grass hill | ABC | 90% | 3D body; G1 and H1-2 motion, G1 policy (hill down) |
| TA44 | 9:44–9:56 | walk | dirt path | ABC | 55% | 3D body; G1 and H1-2 motion, G1 policy (slope) |
| TA45 | 9:56–10:18 | walk | flat grass | ABC | 84% | 3D body; G1 and H1-2 motion, G1 policy (slope) |
| TA46 | 10:18–10:26 | walk | dirt path | ABC | 62% | 3D body; G1 and H1-2 motion, G1 policy (walk) |
| TA47 | 10:26–10:52 | walk | grass hill | ABC | 94% | 3D body; G1 and H1-2 motion, G1 policy (slope) |
| TA48 | 10:52–11:14 | setup, drone handling | flat grass | C | 29% | 3D body |
Take B: 37 windows, 6 min 54 s
| Window | Time | Activity | Ground | Drones | Measured | Used for |
|---|---|---|---|---|---|---|
| TB00 | 0:00–0:24 | setup, drone handling | dirt path | AB | 33% | 3D body |
| TB01 | 0:24–0:34 | jog | dirt path | ABC | 80% | 3D body; G1 and H1-2 motion, G1 policy (slope) |
| TB02 | 0:34–0:42 | walk | flat grass | ABC | 96% | 3D body; G1 and H1-2 motion, G1 policy (slope); levee 4D replay; terrain check |
| TB03 | 0:42–0:56 | jog | grass hill | ABC | 100% | 3D body; G1 and H1-2 motion, G1 policy (slope); levee 4D replay; terrain check |
| TB04 | 0:56–1:00 | jog | other | ABC | 100% | 3D body; G1 and H1-2 motion, G1 policy (jog); levee 4D replay; terrain check |
| TB05 | 1:00–1:10 | jog | flat grass | ABC | 100% | 3D body; G1 and H1-2 motion, G1 policy (jog) |
| TB06 | 1:10–1:18 | bench or table step-up | bench | ABC | 76% | 3D body; G1 and H1-2 motion, G1 policy (step-up) |
| TB07 | 1:18–1:32 | jog | flat grass | ABC | 79% | 3D body; G1 and H1-2 motion, G1 policy (jog) |
| TB08 | 1:32–1:42 | hill descent | dirt path | ABC | 90% | 3D body; G1 and H1-2 motion, G1 policy (hill down); terrain check |
| TB09 | 1:42–1:48 | walk | dirt path | ABC | 39% | 3D body |
| TB10 | 1:48–1:56 | walk | grass hill | ABC | 97% | 3D body; G1 and H1-2 motion, G1 policy (walk) |
| TB11 | 1:56–2:00 | hill climb | dirt path | ABC | 89% | 3D body; G1 and H1-2 motion, G1 policy (hill up) |
| TB12 | 2:00–2:06 | hill climb | grass hill | ABC | 99% | 3D body; G1 and H1-2 motion, G1 policy (hill up) |
| TB13 | 2:06–2:12 | walk | dirt path | ABC | 100% | 3D body; G1 and H1-2 motion, G1 policy (hill up) |
| TB14 | 2:12–2:34 | walk | flat grass | ABC | 100% | 3D body; G1 and H1-2 motion, G1 policy (slope) |
| TB15 | 2:34–2:50 | walk | other | ABC | 100% | 3D body; G1 and H1-2 motion, G1 policy (walk) |
| TB16 | 2:50–2:56 | bench or table step-up | bench | ABC | 97% | 3D body; G1 and H1-2 motion, G1 policy (step-up) |
| TB17 | 2:56–3:00 | walk | flat grass | ABC | 84% | 3D body; G1 and H1-2 motion, G1 policy (walk) |
| TB18 | 3:00–3:20 | walk | grass hill | ABC | 100% | 3D body; G1 and H1-2 motion, G1 policy (slope) |
| TB19 | 3:20–3:36 | jog | other | ABC | 99% | 3D body; G1 and H1-2 motion, G1 policy (jog) |
| TB20 | 3:36–3:40 | jog | dirt path | ABC | 100% | 3D body; G1 and H1-2 motion, G1 policy (jog) |
| TB21 | 3:40–4:06 | jog | flat grass | ABC | 100% | 3D body; G1 and H1-2 motion, G1 policy (slope) |
| TB22 | 4:06–4:12 | walk | flat grass | ABC | 95% | 3D body; G1 and H1-2 motion, G1 policy (walk) |
| TB23 | 4:12–4:30 | walk | other | ABC | 81% | 3D body; G1 and H1-2 motion, G1 policy (walk) |
| TB24 | 4:30–4:38 | bench or table step-up | bench | ABC | 100% | 3D body; G1 and H1-2 motion, G1 policy (step-up) |
| TB25 | 4:38–4:52 | walk | grass hill | ABC | 98% | 3D body; G1 and H1-2 motion, G1 policy (slope) |
| TB26 | 4:52–5:00 | walk | dirt path | ABC | 98% | 3D body; G1 and H1-2 motion, G1 policy (slope) |
| TB27 | 5:00–5:32 | walk | flat grass | ABC | 100% | 3D body; G1 and H1-2 motion, G1 policy (walk) |
| TB28 | 5:32–5:38 | walk | dirt path | ABC | 100% | 3D body; G1 and H1-2 motion, G1 policy (walk) |
| TB29 | 5:38–5:42 | jump | other | ABC | 79% | 3D body; G1 and H1-2 motion, G1 policy (jump) |
| TB30 | 5:42–5:48 | walk | other | ABC | 99% | 3D body; G1 and H1-2 motion, G1 policy (walk) |
| TB31 | 5:48–5:56 | walk | flat grass | ABC | 97% | 3D body; G1 and H1-2 motion, G1 policy (walk) |
| TB32 | 5:56–6:06 | jump | flat grass | ABC | 100% | 3D body; G1 and H1-2 motion, G1 policy (jump) |
| TB33 | 6:06–6:26 | jog | flat grass | ABC | 100% | 3D body; G1 and H1-2 motion, G1 policy (slope) |
| TB34 | 6:26–6:32 | walk | flat grass | ABC | 100% | 3D body; G1 and H1-2 motion, G1 policy (walk) |
| TB35 | 6:32–6:46 | standing | flat grass | A | 26% | 3D body |
| TB36 | 6:46–6:54 | setup, drone handling | flat grass | – | 0% | not used (fewer than two drones see the subject, or setup) |
Dataset totals
Policy runs: 14 evaluations (policy versions, on flat and real terrain) × 233 clips × 100 randomised runs. Climb runs: 3 policies × 4 support caps × 6 runs. Video and raw sizes are read from the original files.
Still open
- Step-ups. The table step-up works with a motion designed for the G1 (77% of randomised runs, one training seed, without the seat backrests). The person’s own step-ups, scaled to the robot, complete in 4.1% of runs.
- Climbing without support. The physics climb completes only with a pelvis support force, on a simplified net.
- Hands. The drones frame the whole body; fingers need small fixed cameras near the work.
- Breadth and ground truth. One park and one person so far, with no independent body reference such as motion capture or IMUs.
- Not measured yet. H1-2 policy success (none trained), tape-measured table heights, and end-to-end time when footage streams in during the flight.
Next: a capture day at a robot team’s own site; body and hands together, with the three drones plus two to four small fixed cameras around the work area; and more people and kinds of ground, including a session next to a motion-capture reference.
Robots are shown in MuJoCo physics simulation. Terrain reference: USGS 3DEP 1 m lidar, public domain. Motion-only terrain baseline: TERRA (EPFL), used for comparison only.