All projects
04 / 2023 to May 2024/ University of New Haven
Autonomous Mobile Robot
A guide robot for visually impaired users has to avoid obstacles on its own, and the learning has to run on the microcontroller rather than a laptop.
- Role
- Built the robot hardware in the first semester, then wrote the Arduino Q-learning and epsilon-greedy implementation when the project became a team of three.
- Stack
- C++, Arduino, Q-Learning, MATLAB, HIL
- Context
- University of New Haven

01
What I built
- 01Semester one: the robot itself. Wiring harness, HC-SR04 ultrasonic sensing and L293D H-bridge PWM motor drives, assembled by hand.
- 02Semester two: reinforcement learning on that same hardware, as a team of three. I implemented Q-learning with epsilon-greedy and greedy action selection in Arduino C++, including the reward function, state representation and action space, and trained the policy to follow the optimal path.
- 03The target application was a guide and companion robot for visually impaired users, with obstacle avoidance and navigation.
02
Hardware
- 01Arduino (AVR/ARM)
- 02HC-SR04 ultrasonic sensors
- 03L293D H-bridge motor driver
- 044-wheel chassis, external 12 V supply
03
Software
- 01C++ on Arduino
- 02Q-Learning, epsilon-greedy
- 03MATLAB / Python simulation
04
Validation
- 01Model-in-the-loop in MATLAB/Python across 100+ episodes, then hardware-in-the-loop, then on the robot.
- 02Run in a corridor against real obstacles and to a marked goal, recorded on video.
- 03Reproduced and root-caused sensor calibration, PWM timing and control-loop defects across 100+ hardware runs.
05
Results
- 01Navigation stable and repeatable on the physical robot.
06
Characteristics
| Parameter | Value |
|---|---|
| Learning method | Q-Learning, epsilon-greedy |
| Simulation episodes | 100+ |
| Hardware trials | 100+ |
| Motor drive | L293D H-bridge, PWM |
| Sensing | HC-SR04 ultrasonic |
Links
07
Gallery


