fix aggregate cost charts: per-metric ranges + marked means

eval.py bins costs 0-1000 (width 10); lataccel is ~0-5 so all 5k segments
collapse into one bar. Re-binned per metric, zoomed to the 98th pct, with
karti-vs-pid overlay and mean lines.
This commit is contained in:
Karti Tripathi
2026-06-16 14:32:54 -07:00
parent cea2c9c82a
commit 779820f6a5
3 changed files with 3 additions and 1 deletions
+3 -1
View File
@@ -4,13 +4,15 @@ A real-time controller for the [comma controls challenge](https://github.com/com
**`total_cost` 72.3 vs the pid baseline's 110.3 — 34% lower, and better on both axes.** Scored on the full 5,000-segment set. **`total_cost` 72.3 vs the pid baseline's 110.3 — 34% lower, and better on both axes.** Scored on the full 5,000-segment set.
![report](report.png) ![cost distributions — karti vs pid](aggregate.png)
| controller | total_cost | lataccel_cost | jerk_cost | | controller | total_cost | lataccel_cost | jerk_cost |
| --- | --- | --- | --- | | --- | --- | --- | --- |
| **`karti`** | **72.3** | **0.97** | **24.1** | | **`karti`** | **72.3** | **0.97** | **24.1** |
| `pid` (baseline) | 110.3 | 1.70 | 25.5 | | `pid` (baseline) | 110.3 | 1.70 | 25.5 |
<sub>Full report — cost table, pass check, and sample rollouts: **[report.png](report.png)**.</sub>
## How it works ## How it works
Feedforward does the driving. PID just trims the residual. Feedforward does the driving. PID just trims the residual.
BIN
View File
Binary file not shown.

After

Width:  |  Height:  |  Size: 103 KiB

BIN
View File
Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.5 MiB

After

Width:  |  Height:  |  Size: 1.6 MiB