My Self-Driving G-Wagon

Notes / 4 Nov 2026

A trained steering correction on N16 recovers more often in simulation

On 44 held-out simulator windows, a TD3-trained correction on N16 recovered from 1.5 m pushes 0.76 of the time against 0.58 for its untrained starting point (+0.18 [+0.13, +0.33]). Against the driver's recorded line the gain was +0.07 at 1.5 m and +0.01 at 1.0 m.

4 Nov 2026. Measured in simulation on recorded G55 drives, 3 held-out drives; exploratory, locked test not run, nothing deployed.

What was asked

N16 is comma's driving model (96244b1f_12800, "N16 nav"). In bench8, the closed-loop simulator built here (the model steers a simulated truck while the camera view is redrawn from recorded frames), N16 often fails to recover from sideways pushes. A "push" moves the simulated truck 1.0 or 1.5 m sideways off its recorded path, and "recovery" is the share of pushes the truck returns from. The question was whether a small steering correction (a residual) trained on top of a frozen N16 helps.

What was done

Baseline first: on 18 lane windows (36 episodes per push size), N16 recovered 0.36 of 1.0 m pushes and 0.25 of 1.5 m pushes, and 0 of 18 night episodes at 1.5 m, failing mostly by overshoot (1.0 m) or a wrong-way first response (1.5 m). Another driving model, lebowski, recovered 0.64 and 0.47.

Result

Recovery means returning to the policy's own unpushed path unless stated; brackets are 95% intervals.

Stage and windows1.0 m1.5 m
First residual, locked test (18): N16 to residual0.39 to 0.58, paired +0.19 [0.00, 0.39]0.25 to 0.36, paired +0.11 [0.00, 0.22]
Round 2, fresh evening (39): N16 to residual0.64 to 0.58, paired -0.06 [-0.15, 0.01]0.55 to 0.42, paired -0.13 [-0.23, -0.03]
Long run, held out (44): x3 to run, paired0.68 to 0.83, +0.14 [+0.04, +0.31]0.58 to 0.76, +0.18 [+0.13, +0.33]
Same, against the driver's recorded path+0.01 [-0.04, +0.19]+0.07 [+0.04, +0.17]
Lane-centre reference, epoch 96, against the long run (held out)+0.036 [-0.017, +0.143]+0.009 [-0.058, +0.167]

In the long run every seed's interval over drives cleared zero against its own unpushed run. Wrong-way first turns at 1.5 m fell from 13 to 6-7 of 270 pushes, and lateral jerk dropped. On the 91 training windows the gain against the driver's path was +0.19 and +0.29, so the line was learned where it trained; recovery itself transferred. Training toward the lane centre instead did not change the held-out result measurably.

What it does not show