University Projects

I worked on various different projects throughout my undergraduate. Here are a few notable ones:

Teaching agents to play video games

I created an expert agent capable of playing Super Mario Land, by creating a perception system (from which the agent obtains key components for understanding the game state), and a behavioural control system for reacting appropriately to the game surroundings and progressing through the game.

I also created a reinforcement learning agent capable of playing the Pokémon Red game and attempting to defeat the first gym leader Brock. This involved defining appropriate states, actions, and rewards for the reinforcement learning agent to train and progress towards defeating the first gym leader.

GitHub Link for Mario project: [LINK]
GitHub Link for Pokémon project: [LINK]

Weld gap detection algorithm in Python

I worked in a team to develop a computer vision algorithm in Python to detect weld gap positions in spiral weld pipes (which would then assist in automating pipe welding procedures).

Computer vision techniques used include cropping, applying greyscale, thresholding, gaussian blur, truncation, linear mapping, inverting, morphological opening and closing, and edge detection.

GitHub Link: [LINK]

Building a 4-wheeled robot for performing tasks

I worked in a team to build a 4-wheeled robot to perform a ground tilling task (building a robot to move across a large area without missing spots). This involved using ultrasonic and IR sensors, gyroscopes and Mechanum wheels, as well as encoding appropriate control logic into an Arduino Uno, including PID for maintaining straight robot movement and accurate rotation amounts, to achieve the desired robot behaviour.

We also used built the robot to perform a fire-fighting operation, by using additional sensors such as phototransitors to detect heat spots in an arena and activating a fan mounted on a rotating servo to track and blow out the fire, and encoding behavioural control as a finite state machine for avoiding obstacles and setting up the fire-fighting decision-making behaviour.

WordPress Appliance - Powered by TurnKey Linux