SidewalkPilot-v1.0
SidewalkPilot-v1.0 is a PyTorch steering model for a small autonomous RC car. It takes a full camera frame as input and predicts a steering servo angle from 0 to 180 degrees.
The model is used for camera-based sidewalk/path following. In the full RC car stack, LiDAR runs above the model as a safety layer for obstacle avoidance, LiDAR override steering, and hard braking.
This is the final checkpoint for this training version.
Model Details
- Developed by: Ram Shreyas Naik Sabavat
- Model type: CNN steering regression model
- Library: PyTorch
- License: Apache 2.0
- Checkpoint:
SidewalkPilot-v1.0.pth - Checkpoint created: 2026-04-24 10:07 PM America/Los_Angeles
- Input: Full camera frame, resized/normalized before inference
- Evaluation input format:
200x66, OpenCV BGR - Output: Steering servo angle from
0to180
Specific Improvements
- Created the first SidewalkPilot CNN checkpoint using a
0..180servo-degree output target. - Established the raw OpenCV BGR preprocessing path: full frame resized to
200x66and normalized before inference. - Set the first measured baseline:
20.990MAE,423 / 1287within 5 degrees, and signed error-7.262.
Specific Issues Observed / Remaining
- High full-set error:
20.990MAE made it a baseline, not a field-ready checkpoint. - Strong left bias: signed error
-7.262degrees meant predictions leaned left on average. - Failure groups remained large on curved curbs, driveway cuts, shadows, and hard-right turns.
Output Meaning
| Output | Meaning |
|---|---|
0 |
full left |
90 |
straight |
180 |
full right |
Evaluation Setup
- Eval set:
1,287images - Failed samples:
0 - Corrections included:
564 - 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.0 |
Baseline steering | initial mixed sidewalk/CARLA set |
complete |
Evaluation Summary
| Model | Checkpoint | Full Score | MAE | Median AE | Max AE | Signed Error | Within 2° | Within 5° | Within 10° | Within 20° |
|---|---|---|---|---|---|---|---|---|---|---|
1.0 |
SidewalkPilot-v1.0.pth |
88.339% |
20.990 |
9.934 |
151.830 |
-7.262 |
202 / 1287 |
423 / 1287 |
648 / 1287 |
869 / 1287 |
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 |
|---|---|---|---|---|---|---|---|---|
1.0 |
8.459 |
174.146 |
89.579 |
89.676 |
37.520 |
68.904 |
108.229 |
145.649 |
Ranking
| Rank In This Card | Model | Checkpoint | Score | MAE | Median AE | Max AE | Within 5° | Within 10° | Signed Error |
|---|---|---|---|---|---|---|---|---|---|
1 |
1.0 |
SidewalkPilot-v1.0.pth |
88.339% |
20.990 |
9.934 |
151.830 |
423 / 1287 |
648 / 1287 |
-7.262 |
Field Case Comparison
| Model | D26 curves/shadows MAE | D27 curved curb MAE | D28 driveway MAE | D29 driveway/shadow MAE | 20260502_12 shadow MAE | 20260502_19 hard/curb/smooth MAE |
|---|---|---|---|---|---|---|
1.0 |
44.12 |
53.69 |
56.18 |
37.44 |
29.57 |
29.57 |
Current Version Snapshot
- Model:
1.0 - Checkpoint:
SidewalkPilot-v1.0.pth - Checkpoint created: 2026-04-24 10:07 PM America/Los_Angeles
- Full score:
88.339% - MAE:
20.990servo degrees - Median AE:
9.934servo degrees - Rank in this card:
1of1checkpoints
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 steering regression from camera images
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
The full RC car autonomy stack uses layered control:
camera frame
-> resize/normalize image
-> PyTorch steering model
-> predicted servo angle (0-180)
-> runtime decision logic
-> LiDAR safety override when triggered
-> final steering/throttle/brake command
-> servo + motor controller
LiDAR runs as a higher-priority safety layer:
LiDAR clear
-> use model steering
LiDAR obstacle
-> LiDAR override mode
LiDAR blocked/too close
-> hard brake
The model handles normal path following, while LiDAR handles obstacle avoidance and emergency behavior.
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 pipeline:
- Captures the full camera frame.
- Resizes the image to
200x66. - Uses OpenCV BGR image ordering.
- Normalizes pixel values with
(x / 255 - 0.5) / 0.5. - Runs the PyTorch model.
- Clamps the output to
0..180.
The model sees the whole frame, not a cropped region.
Limitations
SidewalkPilot models can fail when lighting, sidewalk shape, camera angle, shadows, driveway cuts, curved curbs, hard turns, or curb-hugging cases differ from the training data.
The model does not understand obstacles by itself and is not a standalone safety system.
Use with external safety logic, manual override, and obstacle detection.
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