Semi-Autonomous Mobile Robot

MEAM 5100: Design of Mechatronic Systems | Fall '24

Introduction

This project was the final capstone for Penn’s graduate mechatronics course, completed in a three-person team. I led the software and autonomy stack for a low-cost semi-autonomous mobile robot, integrating sensing, embedded firmware, closed-loop motor control, and a finite-state autonomy pipeline. The system demonstrated waypoint navigation, wall-following, real-time obstacle avoidance, and a manual-override GUI over WiFi. This project showcases full-stack robotics engineering: embedded systems, controls, perception via low-cost sensors, and systems-level integration. You can find the github repo here.

Electric Schematic

Electric schematic for robot components

CAD Model

SolidWorks assembly of lasercut parts

Design Process

Guiding Constraints

The design was constrained by a $150 budget and the requirement to implement functional autonomy on low-cost hardware. We selected a differential-drive architecture for predictable dynamics and straightforward control. The onboard compute was an ESP32-S2, chosen for its WiFi support, real-time timers, PWM peripheral availability, and ISR handling. I integrated two complementary ranging sensors: a forward-facing Time of Flight (ToF) module and a right-facing Position Sensitive Detector (PSD). This enabled me to implement reactive behaviors with minimal compute overhead.

Software Design

I architected the full autonomy stack around a deterministic finite state machine (FSM) that could switch between manual control and multiple autonomous behaviors. The primary autonomous mode included a hierarchical FSM for global waypoint navigation: straight-line motion when unobstructed, and reactive wall-following when encountering obstacles. Other behaviors included a perimeter-following mode and an “attack” mode for competition objectives. My teammate’s GUI interfaced with my firmware over WiFi, providing manual teleop, remote state selection, and a live localization display.

Technical Takeaways

Autonomy & Controls

Final Project Demo Day

The robot successfully demonstrated reliable teleoperation, ramp traversal, and autonomous behavior execution. During evaluation, the autonomy pipeline captured 2/3 competition targets and completed a full arena loop using wall-following. Although several hardware inconsistencies emerged during competition, the system validated the full autonomy stack and embedded control loop under real operating conditions.

Mobile Robot Diagram

Mobile Robot Diagram

Control GUI

GUI showing live localization, autonomous states, and manual controls

Group Picture on Competition Day