Robot and sensing
Getting contact sensing right.
I extended the team's existing Pioneer simulation and locomotion stack, correcting knee conventions and the nominal stance before refining the policy. When a foot passed through the opposite leg, I added selective collision handling for the foot and opposite calf, keeping unrelated internal contacts filtered.
That changed what the sensors could see. A foot touching the other leg could now look like a touchdown. I built terrain-only contact sensing so stance timing, foot sliding, and swing rewards responded to contact with the ground.
Diagnostics and experiments
Measuring the gait.
A knee could stay nearly straight even when its actuator was working correctly. I compared raw policy actions, clipped joint targets, and measured angles to trace that behavior back to saturated commands. I also captured foot paths and contact forces at the 200 Hz physics rate to see what happened between policy updates.
Those measurements guided changes to knee flexion, clearance, and swing timing. Some experiments reduced a contact metric but increased falls or shifted the gait asymmetry to the other leg. I compared frozen policies and kept the better walking baseline.
Training stayed in the team's Docker environment. A TorchScript export preserved observation normalization and action ordering for native Windows playback.
Evaluation
Walking beyond flat ground.
I trained the retained PPO policy from a fresh initialization across 6,144 parallel environments, then evaluated the same policy across two evaluation seeds.
| Terrain | Trials |
|---|---|
| Flat | 100 / 100 |
| Mixed terrain | 94 / 100 |
Fixed 0.5 m/s forward command. Trials ended at a cell boundary, fall, or timeout and averaged about seven seconds. The mixed map contained 20 flat calibration trials, plus random rough terrain, boxes, and uphill and downhill slopes. All six falls occurred on boxes.
The result is a useful simulation baseline. Harder box terrain and unequal swing timing remain areas for improvement; longer routes and hardware transfer have not been validated.
Next training environment
A complete stairs course.
I prepared a separate course with 12 steps up, a two-metre raised walkway, and 12 steps down. Its curriculum advances only after an upright traversal of the whole route. Lane boundaries prevent the robot from earning completion by walking around the stairs.
The handoff includes training instructions, regression coverage for geometry, rewards, and episode logic, and a real Isaac runtime validator. All 64 CPU tests passed in the team container; a short zero-action simulator check verified the environment's data flow. The course is ready for training, with learned stair traversal still to come.