MDP
CE3004 โ Multi-Disciplinary Project
- Overview
- Betty, a self-driving car robot, autonomously traverses a known area and performs tasks involving pathfinding and real-time image recognition.
- Timeline
- August 2022 to October 2022
- Hardware (STM32)
- T. Daranidarran (Me), Yong Hou Zhong
- Image Recognition
- Chen Kang Ming, Lee Sumi
- Algorithm
- Ameeshi Gupta, Li Yibai
- Android
- Chin Tai Ann
- Raspberry Pi
- Huang Ruimin
- Tech
- C++, ASM

What is CE3004 โ MDP?
CE3004 MDP is a group module where teams program and build a robot to compete in two tasks, scored on completion time and image recognition accuracy.
The robot traverses a square grid and identifies images on obstacles at known locations. Incorrect identifications incur penalty points.
The robot starts at a parking lot, moves toward two obstacles, reads arrow directions from each, navigates around them, and returns to the parking lot. Hitting obstacles or the lot incurs penalties.
How do we get the upper hand?
By deviating from the typical hardware orientation and decision-making process.
A forward-facing camera requires reversing out of the stop after each image capture โ unnecessary time that compounds over the whole course.
Moving in right angles along fixed grid points increases total distance travelled and task completion time.
Is it actually necessary to be directly in front of an obstacle to identify the arrow's orientation?
Betty the ๐๐ค.
We changed the robot's hardware orientation, decision logic, and path algorithm to reduce completion time for both tasks. We named her Betty โ it's an MDP tradition.
A sideways camera eliminates the need to reverse after capture. Betty continues along her path, saving time and reducing accumulated positional error.
More flexibility in traversal paths means the shortest route between any two obstacles can almost always be used, saving time and reducing error accumulation.
We identify block 1's arrow from the parking lot, and block 2's arrow mid-manoeuvre after responding to block 1. Only possible because our image recognition was excellent. (Thanks Kang Ming and Sumi!! ๐ฅฐ)
Hardware complications.
Sadly, we don't live in a perfect world.
Betty turns in an elliptical path, not circular โ making calibration and algorithmic calculations hard. We solved this by mapping theoretical chord lengths to practical servomotor values in 5ยฐ increments.


Deviation from target distance grew non-linearly as Betty moved farther. We measured average practical distances in increments up to 150cm and derived a correction formula.

Task assessment day.
Unfortunately, Betty decided not to follow the gameplan due to hardware issues we could not have foreseen ๐ญ.
During setup, the STM32 cable powering the Raspberry Pi burned out. No time to troubleshoot โ we had to withdraw.

Bluetooth issues between the Raspberry Pi and image recognition laptop after setup forced us to withdraw from this task too.

Rust in peace.
It was unfortunate that Betty was uncooperative ๐ญ, but I had an amazing time working on this with my team ๐.
Will I pick up hardware engineering again? Probably never! Was I expecting to use math from years ago? Also no. This project forced me to think outside the box โ an essential part of problem solving.

No matter how bleak it seemed, our team never gave up, and it shows (when Betty decides to work ๐ ). Forever grateful for the time we spent getting Betty battle-ready at the SCSE lounge.