Darani

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
MDP
01ยทBackground

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.

Task 1: Autonomous movement & image recognition

The robot traverses a square grid and identifies images on obstacles at known locations. Incorrect identifications incur penalty points.

Task 2: Fastest robot movement

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.

02ยทProblem

How do we get the upper hand?

By deviating from the typical hardware orientation and decision-making process.

Issue 1: Forward-facing camera

A forward-facing camera requires reversing out of the stop after each image capture โ€” unnecessary time that compounds over the whole course.

Issue 2: Cartesian coordinate system

Moving in right angles along fixed grid points increases total distance travelled and task completion time.

Issue 3: Identification distance

Is it actually necessary to be directly in front of an obstacle to identify the arrow's orientation?

03ยทSolution

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.

Solution 1: Sideways-facing camera

A sideways camera eliminates the need to reverse after capture. Betty continues along her path, saving time and reducing accumulated positional error.

Solution 2: Polar coordinate system

More flexibility in traversal paths means the shortest route between any two obstacles can almost always be used, saving time and reducing error accumulation.

Solution 3: Stationary arrow identification

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!! ๐Ÿฅฐ)

04

Hardware complications.

Sadly, we don't live in a perfect world.

Turning calibration

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.

Turning calibration method and values
Turning calibration method and values
Turning calibration method and values
Distance calibration

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.

Distance calibration chart
Distance calibration chart
05

Task assessment day.

Unfortunately, Betty decided not to follow the gameplan due to hardware issues we could not have foreseen ๐Ÿ˜ญ.

Task 1

During setup, the STM32 cable powering the Raspberry Pi burned out. No time to troubleshoot โ€” we had to withdraw.

Betty attempting Task 1
Betty attempting Task 1
Task 2

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

Betty attempting Task 2
Betty attempting Task 2
06ยทReflection

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.

Group 4: MealDiscoveryProgramme
Group 4: MealDiscoveryProgramme

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.