Layer-by-Layer Perception, Sensor Fusion and Closed-Loop Control in a Low-Cost Modular Autonomous Ground Vehicle: Design, Wiring and Simulation-Based Characterisation
TL;DR
This paper walks through the layered autonomy pipeline, sensing and fusion, perception, localisation, planning, and control, and tying each layer to a decision the author made while building the vehicle, framed throughout against the SAE J3016 taxonomy.
Abstract
Most papers on autonomous-vehicle software either stop at a literature survey, or describe a full industrial stack that assumes lidar-grade sensing and a rack of GPUs. Not much work actually shows the pin-out and the line of firmware, how the textbook sense-perceive-plan-act loop actually runs on hardware a student can put together in a weekend. That is the gap this paper tries to close. We start by going back through the layered autonomy pipeline, sensing and fusion, perception, localisation, planning, and control, and tying each layer to a decision we actually made while building the vehicle, framed throughout against the SAE J3016 taxonomy of driving-automation levels, operational design domain, and dynamic driving task. We then walk through, wiring diagram in hand, a two-tier prototype built around a Raspberry Pi 4 for vision and decision-making and an Arduino Uno for time-critical sensing and motor control, talking to each other over a 115200- baud serial link. The perception pipeline is given layer by layer, greyscale, blur, Canny, ROI mask, Hough transform, with the OpenCV code alongside it, and the fusion stage is a scalar Kalman filter combining ultrasonic range with inertial motion. Since physical field trials were not something we could run for this paper, we built our own seeded, reproducible Python simulation of the vehicle's sensors and control loops instead of just describing what we expect would happen, and we report the numbers that code actually produced. Every quantitative result in this paper comes from a seeded software simulation, not physical hardware trials. Root-mean-square ultrasonic error drops from 3.80 ± 0.89 cm raw to 1.67 ± 0.72 cm after the two-stage filter (averaged across 50 seeded runs); the lane pipeline detects a lane in every one of 300 synthetic frames with a mean offset error of 0.74 pixels; and, in a forward-collision scenario where a camera-detected lead vehicle brakes hard from 40 km/h, the adaptive-following and collision-warning logic escalates through CAUTION, WARNING, and AUTOBRAKE states and brings the ego vehicle to a stop with 2.7-3.3 m of gap still remaining, no collision, in both a moderate and a harder braking test. We close by tying these results back to the literature and by laying out what it would take to move this platform toward ROS 2, a learned perception model, and CARLA-based and physical testing. Every wiring connection, pin assignment, and piece of simulation code needed to reproduce this paper is reported in full.