Projects / Advanced Lane Follower

Advanced Lane Follower

Real-time vision and control for an Ackermann-steered vehicle.

Role
Solo — perception, control, embedded integration
Period
Aug — Dec 2025
Domain
Robotics · Computer Vision
01 /

Problem

An Ackermann-steered vehicle had to hold a lane from a single forward camera, with steering commands issued over a serial link to the microcontroller — no LiDAR, no GPS, no prior map.

What was the vehicle for, and what failed before this system existed? One paragraph on why lane-holding was the bottleneck.

02 /

Constraints

  • 50 ms per framethe control loop runs at 20 Hz, and a late frame is a missed actuation, not a slow one.
  • One camerano depth, no redundancy — every geometric estimate comes from a single monocular view.
  • Serial actuationsteering goes out over PySerial, so loop timing is bounded by the link, not just by vision.
  • Commodity computeno GPU inference budget, so the pipeline is classical CV by necessity rather than preference.

Add the hardware: which board, which camera, what serial baud rate? Those specifics are what make constraints credible.

03 /

Architecture

Replace the stage sketch with the real pipeline — ideally a Mermaid diagram rendered to static SVG. Name each stage as it exists in your code.

04 /

Key Decisions

Two or three decisions, each naming the alternative you rejected — e.g. pure pursuit over Stanley control, and why. This section is what separates a writeup from a README.

05 /

Measured Outcome

97.9%Detection accuracy1,900-frame benchmark
20HzControl loopsustained, 0 overruns
7.9msMean frame timeagainst a 50 ms budget

Frame time against budget

A 20 Hz loop allows 50 ms per frame. Mean processing took 7.9 ms.

0 ms50 ms — budget
mean 7.9 msheadroom 42.1 msutilisation 15.8%

The numbers are already provenance-tagged. Add how the benchmark was captured: one run or many, which track, and what counted as a detection.

06 /

What I'd Improve Next

The highest-value section on the page. What breaks first — night, rain, sharp curvature, occlusion? Name the failure mode you already know about.