SidewalkPilot-v2.1
SidewalkPilot-v2.1 is a PyTorch steering model for a small autonomous RC car. It predicts a steering servo angle from 0 to 180 degrees and returns Series 2 to the raw-BGR runtime path.
This checkpoint belongs to Series 2, but unlike v2.0/v2.0b it uses raw BGR frames instead of HSV/CLAHE preprocessing.
Model Details
- Developed by: Ram Shreyas Naik Sabavat
- Model type: CNN steering regression model
- Library: PyTorch
- License: Apache 2.0
- Checkpoint:
SidewalkPilot-v2.1.pth
- Checkpoint created: 2026-05-08 08:10 PM America/Los_Angeles
- Input: Full OpenCV BGR camera frame
- Preprocessing:
BGR -> resize 200x66 -> normalize
- Output: Steering servo angle from
0 to 180
- Series:
2.x
- Output scale: approximately
5..175
Specific Improvements
- Returned Series 2 to the raw-BGR runtime path instead of HSV/CLAHE preprocessing.
- Kept the Series 2 output scale while matching the normal camera tensor path used by Series 1.
- Used augmentation/domain randomization instead of forcing every runtime frame through CLAHE.
- Provided a direct raw-BGR comparison against v2.0/v2.0b on the cleaned label set.
Specific Issues Observed / Remaining
- Did not beat v2.0/v2.0b offline by enough to justify deployment from metrics alone.
- Offline MAE did not capture sidewalk-edge risk observed in field behavior.
- Trained before the final D0328/D0329 relabel cleanup.
Output Meaning
| Output | Meaning |
|---|
0 | full left |
90 | straight |
180 | full right |
Evaluation Setup
- Eval set:
1464 images
- Failed samples:
0
- Corrections: applied from
steering_corrections.json (not a separate held-out count)
- Input format:
200x66, OpenCV BGR
- Output scale: servo angle
0..180
- Error unit: servo degrees
- Score formula:
max(0, 100 * (1 - absolute_error / 180))
Version Update Categories
| Version | Main update category | Data/status | Result |
|---|
1.7b | Known-good field rollback | photo_20260429 | 0.6 mi, 0 overtakes |
1.8 | Mainly shadow fixes | photo_20260502_12 | strong shadow subset improvement |
1.9 | Right hard turns, small curb hugging, smoother drive | photo_20260502_19 | best Series 1 field-relevant baseline |
2.0 | First HSV/CLAHE Series 2 model | D0503 harsh sidewalk + Series 2 preprocessing | legacy CLAHE baseline; failed 8pm field test |
2.0b | Best checkpoint from v2.0 training | same v2.0 training run | best checkpoint; failed 8pm field test |
2.1 | Raw-BGR augmentation Series 2 model | CARLA + real + corrections, no runtime CLAHE | returned newer Series 2 to raw BGR |
Evaluation Summary
| Model | Checkpoint | Full Score | MAE | Median AE | Max AE | Signed Error | Within 2° | Within 5° | Within 10° | Within 20° |
|---|
2.0 | SidewalkPilot-v2.0.pth | 93.727% | 11.292 | 4.931 | 149.967 | -2.598 | 464 / 1464 | 741 / 1464 | 938 / 1464 | 1179 / 1464 |
2.0b | SidewalkPilot-v2.0b.pth | 93.712% | 11.318 | 4.990 | 149.489 | -2.565 | 459 / 1464 | 735 / 1464 | 932 / 1464 | 1179 / 1464 |
2.1 | SidewalkPilot-v2.1.pth | 93.523% | 11.659 | 5.392 | 156.367 | -0.984 | 325 / 1464 | 660 / 1464 | 953 / 1464 | 1187 / 1464 |
Negative signed error means the model is left-biased on average.
Prediction Distribution
| Model | Pred Min | Pred Max | Pred Mean | Pred Median | Pred P05 | Pred P25 | Pred P75 | Pred P95 |
|---|
2.0 | 5.000 | 175.000 | 93.704 | 90.196 | 36.160 | 72.589 | 111.827 | 171.222 |
2.0b | 5.000 | 175.000 | 93.737 | 90.271 | 35.872 | 72.557 | 111.818 | 171.282 |
2.1 | 5.000 | 175.000 | 95.318 | 91.842 | 39.995 | 74.877 | 110.875 | 172.394 |
Ranking
| Rank In This Card | Model | Checkpoint | Score | MAE | Median AE | Max AE | Within 5° | Within 10° | Signed Error |
|---|
1 | 2.0 | SidewalkPilot-v2.0.pth | 93.727% | 11.292 | 4.931 | 149.967 | 741 / 1464 | 938 / 1464 | -2.598 |
2 | 2.0b | SidewalkPilot-v2.0b.pth | 93.712% | 11.318 | 4.990 | 149.489 | 735 / 1464 | 932 / 1464 | -2.565 |
3 | 2.1 | SidewalkPilot-v2.1.pth | 93.523% | 11.659 | 5.392 | 156.367 | 660 / 1464 | 953 / 1464 | -0.984 |
Field Case Comparison
| Model | D0328 First Dataset MAE | D0329 First Dataset MAE | D0425 street MAE | D0426 curves/shadows MAE | D0427 curved curb MAE | D0429 driveway/shadow MAE | D0502_12 shadow MAE | D0502_19 hard/curb/smooth MAE | D0503 harsh sidewalk MAE | D0506 8pm MAE |
|---|
2.0 | 17.969 | 20.509 | 2.707 | 2.028 | 2.573 | 1.688 | 2.349 | 2.257 | 1.663 | 35.998 |
2.0b | 18.092 | 20.539 | 2.688 | 2.024 | 2.565 | 1.702 | 2.318 | 2.247 | 1.660 | 35.795 |
2.1 | 19.698 | 20.132 | 3.692 | 3.256 | 3.893 | 3.317 | 4.136 | 3.621 | 2.467 | 3.598 |
Current Version Snapshot
- Model:
2.1
- Checkpoint:
SidewalkPilot-v2.1.pth
- Checkpoint created: 2026-05-08 08:10 PM America/Los_Angeles
- Full score:
93.523%
- MAE:
11.659 servo degrees
- Median AE:
5.392 servo degrees
- Rank in this card:
3 of 3 listed checkpoints
Intended Use
This model is intended for:
- RC car autonomy experiments
- Sidewalk/path steering research
- Raspberry Pi robotics projects
- Small-scale computer vision control systems
- Testing direct image-to-servo steering regression
Out-of-Scope Use
This model is not intended for:
- Real cars
- Public road vehicles
- Human transportation
- Safety-critical systems
- Fully autonomous deployment without external safety layers
System Context
1camera frame
2-> resize/normalize image
3-> PyTorch steering model
4-> predicted servo angle
5-> runtime decision logic
6-> LiDAR safety override when triggered
7-> final steering/throttle/brake command
8-> servo + motor controller
LiDAR runs as a higher-priority safety layer:
1LiDAR clear -> use model steering
2LiDAR obstacle -> LiDAR override mode
3LiDAR blocked/too close -> hard brake
Training Data
The model was trained on camera images collected from the RC car driving in sidewalk-like environments. Labels represent steering servo angles from 0 to 180 degrees.
Detailed dataset composition belongs in the dataset README, not this model card.
Preprocessing
During inference/evaluation, the Series 2 raw-BGR pipeline is:
1camera frame in OpenCV BGR
2-> resize to 200x66
3-> normalize with (x / 255 - 0.5) / 0.5
4-> PyTorch steering model
5-> servo angle
Do not use the v2.0 HSV/CLAHE preprocessing path with this checkpoint. The model expects the same raw-BGR tensor path used by the runtime for v2.1 and newer.
Limitations
SidewalkPilot-v2.1 can fail when lighting, sidewalk shape, camera angle, shadows, driveway cuts, curved curbs, grass edges, or evening conditions differ from the training data.
Offline MAE does not prove field reliability.
The model does not understand obstacles by itself and is not a standalone safety system.
Safety Recommendation
Do not use this model alone to control a robot. In the original project, LiDAR has priority over the model and can override steering or trigger hard braking.
Model Card Contact
Ram Shreyas Naik Sabavat
Links
- YouTube
- Docs
- Hugging Face
- GitHub
- Parts List
- Twitter
- [Grafana Labs](Adding Later...)
- [Weights and Biases](Adding Later...)
- Email