MICROMOUSE COMPETITION 2022
ARNOLD THE ROBOT
Grand Prize Award
Arnold is a small left wall following robot designed to solve non looped mazes. By using an array of infra-red time of flight sensors to process values for the distance to nearby objects, the robot can understand its surroundings and always keep central within the maze passages by using a digital PID (Proportional – Integral – Derivative) control feedback loop. Utilising the BLE functions of its Arduino Nano 33 BLE processor, it can connect to a nearby phone for adjustment of parameters such as speed or PID response strength. Magnetic shaft encoders have been attached to each motor that interrupt the processor's code 150 times per revolution of each wheel, granting the odometry to make accurate turns or move specific distances with ease.
Best Robot Award
The micromouse uses 2 time of flight sensors. One mounted on the front on one on the left side. We implemented some PD control, allowing the micromouse to keep a constant distance from the left wall. This was developed into a ‘left wall following’ maze solving algorithm in which the micromouse follows the left wall. When in a deadend, it will turn right. It will repeat this process until it reaches the end of the maze.
Since we were unable to develop a printed circuit board, we used a layered design to exploit the lack of height restriction in the competition rules. This gave our micromouse a smaller area that allowed it to traverse the maze more easily.
Best Algorithm Award
It features six infrared proximity sensors, an accelerometer, gyroscope, encoders on both motors, a socket for a small I2C display and most importantly a powerful microcontroller (Teensy 4.0).
On the software side, there sits a positional-PD controller that uses feedback from the sensors to monitor and correct the position of the robot. Also, the robot keeps a map of the maze in the memory, so in the future, there can be added short path search algorithm. Basically, that means that it remembers better than a goldfish... or at least in theory.
Another fun thing I implemented which ended up more for fun rather than to be used for a useful thing is that when you connect the robot to the computer, it has its own Linux like terminal with simple commands like "show maze", "show proximity", "show battery" and also there is a "man show" which prints on the screen how to use it.
The idea under it was that I wanted to be able to configure and monitor my mouse without the need of reprogramming it.
The robot hardware consists of one Arduino UNO microcontroller unit, a pair of magnetic encoders, two GP2Y0A51SK0F analogue distance sensors on two sides of the robot, one GP2Y0D810Z0F digital sensor in the front, two 20:1 gear ratio motors, one N298L motor driver, and one HC-06 Bluetooth model. In software, a PID controller is implemented to achieve wall following logic, and a left-hand wall following algorithm is applied for the maze solving part. This robot has another function: interact communication with the PC via Bluetooth, the motion of the robot can be controlled by the user through a Graphic User Interface (GUI) whilst the robot can transmit the obstacle information back to the GUI.
WEN QI TEOH
This robot is controlled by Arduino UNO, with three HC-SR04 ultrasonic sensors. The sensors are positioned to face the front, left and right of the robot. Two micro metal gearmotor with 50:1 gear ratio are used together with Pololu magnetic encoders. The motors are controlled by a L298N dual H-Bridge motor driver module. The power supply used are four AAA batteries (which adds up to a 6V power supply). The algorithm used is a Left-wall following algorithm, and PID control is used.