Connected Autonomous Vehicles Lab, AUC2025 - Present

Autonomous Golf Cart

Designed and built a full-stack autonomous vehicle system from scratch, converting a standard golf cart into a drive-by-wire platform with real-time perception, communication, and control.

The system operates in unstructured campus environments with no reliable lane markings or road constraints, requiring object-centric perception and robust free-space understanding rather than traditional lane-based autonomy.

Led perception development while contributing to system-level architecture, including drive-by-wire control, embedded communication, and real-time streaming infrastructure.

The system is being developed incrementally, starting with camera-only perception and expanding toward multi-sensor autonomy with LiDAR, GPS, IMU, and other sensors in later phases.

Core Stack

Drive-by-WireWebRTCESP32KotlinROS2GStreamerTensorRTMulti-Camera Perception
AUC Autonomous Cart

My Role

Contributed to system design and hardware selection across sensors, communication modules, and embedded systems.

Developed a drive-by-wire control interface through a custom Android mobile application.

Built real-time communication pipelines between the mobile app, vehicle, and embedded systems.

Designed and implemented camera-based perception modules for scene understanding.

Led perception stack development for the autonomous system.

Key Challenges

Building a full autonomous system from scratch across hardware, software, and communication layers.

Developing control and communication tooling without prior mobile development experience.

Maintaining low-latency real-time communication over wireless networks.

Operating in unstructured environments with no reliable lanes or road markings.

Designing perception with camera-only inputs during the first phase.

Key Results So Far

Built a fully functional drive-by-wire system controlled through a custom Android application.

Achieved low-latency real-time communication using WebRTC for video streaming and ESP32 for control signals.

Developed a camera-only perception pipeline capable of operating in unstructured environments without lane assumptions.

Established a modular system architecture that supports incremental upgrades toward full autonomy.

System Scope

The project aims to convert a standard golf cart into a fully autonomous vehicle by building the complete stack from the ground up. That includes sensor selection and integration, embedded systems design around ESP32 and communication modules, drive-by-wire control, real-time communication pipelines, and perception and decision-making systems. Development is phased, starting with manual drive-by-wire operation and progressing toward full autonomy.

Drive-by-Wire Control System

A central part of the system is the drive-by-wire interface that enables remote control of the vehicle. I built a custom Android application in Kotlin, despite having no prior mobile development experience, to act as the main control interface. It supports real-time throttle and braking control, live multi-camera visualization, and low-latency communication with the vehicle. The communication path uses WebRTC through libdatachannel for real-time video streaming over WiFi, while control signals are transmitted through ESP32 with support for Bluetooth, WiFi, and port-forwarded connections. This required bridging low-level vehicle control with high-level software interfaces under strict latency constraints.

Drive-By-Wire Runtime

Embedded Communication (ESP32)

An ESP32-based control node acts as the bridge between software and vehicle hardware, handling real-time command transmission and supporting multiple communication modes across Bluetooth and WiFi. This layer gave the drive-by-wire system a flexible and robust embedded communication foundation.

Perception Stack (Current Phase)

I am leading the perception stack in a camera-only setup, where the absence of LiDAR forces reliance on multi-camera reasoning for scene understanding. The operating environment is a university campus with weak structure, inconsistent road markings, and large open areas, so the system prioritizes object-centric perception and navigable free-space estimation instead of lane-based assumptions. The current approach uses YOLO-based detection models deployed through TensorRT for real-time inference and adapted for open-environment reasoning.

Unstructured Environment Challenge

Unlike structured driving scenarios, the system operates in environments without reliable lane markings, requiring a shift from lane detection to object-centric reasoning and free-space understanding. That changes the autonomy stack fundamentally, because navigable space has to be inferred from scene understanding rather than recovered from road geometry alone.

Why This Is Challenging

The project requires integrating hardware, embedded systems, wireless communication, and perception into a single real-time system. It must maintain low-latency behavior over unreliable wireless networks, operate without structured road assumptions, and still preserve a modular architecture that can scale from camera-only operation toward full multi-sensor autonomy.