Repository Reference
This index maps current repository areas to their responsibilities. Generated data and public model or dataset cards are intentionally separated from source code.
| Path | Responsibility | Notes |
|---|---|---|
code/controller/current/ |
Live Jetson Orin Nano, Raspberry Pi 5, and Zero 2 W software | Field runtime |
code/controller/current/rc_car.py |
Minimal Raspberry Pi 5 controller entrypoint | Model selection is on-device; no runtime --model flag |
code/controller/current/rc_car_app/ |
Control loop, hardware, vision client, LiDAR, GPS, logging, dashboard sender | Raspberry Pi 5-owned package |
code/controller/current/rc_car_app/jetson_inference_server.py |
Unified steering-model inference server | Runs Series 1/2 with PyTorch CUDA and Series 3/4 with ONNX Runtime CUDA on Jetson Orin Nano |
code/controller/current/z2w_dashboard.py |
HUB75 dashboard receiver/renderer | Runs on Zero 2 W |
code/ai_models/ |
Local/Hugging Face PTH and ONNX models | Binary model files are ignored by Git; preserve version names |
code/ai_models_datasets/series_1_and_2/ |
Early direct-regression trainer and metadata | 200x66 family |
code/ai_models_datasets/series_3_and_4/ |
Series 3 trainer, six Series 4 wrappers, shared temporal code | 320x180 families |
code/test_files/models/evaluate_sidewalkpilot_models.py |
Common 52-checkpoint evaluator | Produces JSON/PDF report |
code/test_files/ |
Bench, calibration, setup, and regression utilities | Not the live control loop |
docs/site/ |
MkDocs source | Edit this tree, not generated site/ |
docs/steering_model_report.pdf |
Generated comparison report | 52 checkpoints |
docs/steering_eval_current_labels.json |
Machine-readable report data | Same evaluation run as PDF |
Large image datasets, generated archives, model cards, and dataset cards are not tracked as ordinary GitHub source. Published models and datasets live on Hugging Face.
Runtime Starting Points
| Need | Start with |
|---|---|
| Control ownership and arbitration | rc_car_app/runtime.py |
| Pins, thresholds, calibration | rc_car_app/config.py |
| GPIO/PWM/PCA9685 writes | rc_car_app/hardware.py |
| Model registry and Raspberry Pi 5 preprocessing | rc_car_app/vision.py |
| Raspberry Pi 5 inference client and temporal-history state | rc_car_app/jetson_client.py |
| Model loading and output decoding | rc_car_app/jetson_inference_server.py |
| LiDAR packet parsing | rc_car_app/lidar.py |
| LiDAR slowdown/brake policy | rc_car_app/lidar_avoidance.py |
| GPS and graph routing | rc_car_app/navigation.py |
| Dashboard telemetry | rc_car_app/hub75_dashboard.py, z2w_dashboard.py |
Verification
python3 -m py_compile code/controller/current/rc_car.py code/controller/current/z2w_dashboard.py
python3 -m compileall code/controller/current/rc_car_app
Configuration, Functions, and Flags
config.py is the source of truth for pins, thresholds, controller indices, model defaults, telemetry, and logging. runtime.py owns state and arbitration; hardware.py owns physical writes; vision.py owns camera/model selection and Raspberry Pi 5 preprocessing; jetson_client.py owns asynchronous inference requests and Series 4 steering history; lidar.py parses scans; lidar_avoidance.py computes longitudinal policy; navigation.py owns GPS/graph routing.
Do not treat a named constant as active without finding its current call site. Do not change a hardware mapping in a model, trainer, or dashboard layer. Public code-reference claims should name the owning file/function and be rechecked after refactors.
See Runtime Code, Training Pipeline, and Test Files.