← Back to Home ← Back to Projects

ABU Robocon 2023 - Fiery Dragon (FD) Rabbit Robot (RR)

Jan - June 2023

Role: FD RR SW Junior, FD Pit Crew, FD RR Backup Controller

Technologies: STM32, RM Motor Positioning, Trapezoidal Pathing, ToF Sensors, C, Embedded Systems

🏆 About ABU Robocon 2023

The theme for ABU Robocon 2023 was "Casting Flowers over Angkor Wat". Two teams (red and blue) compete in a 3-minute match. Each team operates two robots: a Elephant Robot (ER) and a Rabbit Robot (RR). The goal is to throw rings onto poles to score points.

The Rabbit Robot (RR) - the robot I worked on - is responsible for collecting rings from the base and throwing them onto the poles. It must navigate a small, confined area with high agility. The RR can move autonomously or be manually controlled, and its throws are crucial for winning the game.

Below is the official theme video explaining the rules in detail:

ABU Robocon 2023 Official Theme Video: "Casting Flowers over Angkor Wat"

Overview

I was responsible for the embedded system programming of the RR (Rabbit Robot) for the 2023 ABU Robocon Hong Kong regional contest. The robot had to navigate a small field and shoot poles with high agility. I focused on three main innovations: RM wheelbase positioning, real-time trapezoidal pathing with trap-aiming, and ToF-based wall following pathing.

Fiery Dragon RR Robot
Fiery Dragon RR during testing

RM Wheelbase Positioning

Since the RR was too small to accommodate a traditional XY-encoder, I implemented a positioning system using the built-in readings from the RM motors of the four mecanum wheels. By integrating optional IMU data from our Vegvisir board, the system calculated the robot's position in real time. This method was used for all auto paths on both FD and WD RR robots.

Real-Time Trapezoidal Pathing and Trap-Aiming

I divided the game field into 12 areas connected by turning points (blue circles in the diagram). Using the current position (from RM positioning) and target coordinates, the robot calculated the shortest straight-line path in real time and executed it with trapezoidal velocity profiles for maximum speed. This allowed the robot to shoot from any point that maintained the correct distance to the pole, rather than being limited to fixed shooting zones.

Field areas with turning points
Game field divided into 12 areas with turning points (blue circles)
Trapezoidal velocity profile
Trapezoidal motion profile used for acceleration/deceleration
Possible shooting paths
Example shortest paths to shoot pole 1 from various positions

ToF Pathing

To overcome the instability of RM positioning due to wheel slip, I developed a ToF-based pathing system using front and side ToF sensors. The difference between left and right ToF readings gave the angle error (corrected with PID), while the average gave vertical error. The robot moved horizontally using trapezoidal speed control. At corners, one sensor lost sight of the wall, triggering a 90° rotation around the corner, after which the robot resumed wall-following.

ToF PID correction
a path going from left to right using ToF sensors

Test Results

Shootable area
Shootable area (red) - our robot could shoot from any of these positions

Summary & Future Improvements

We compensated for a weak shooter with agility, achieving similar speeds to top teams despite using mecanum wheels. However, stronger opponents with linear shooters and independent steering ultimately prevailed.

Reflection

I achieved my personal goal of testing and implementing ideas: RM positioning (first conceived during F6), real-time trapezoidal pathing, and ToF pathing. I believe we reached over 90% of the robot's potential. The team goal of winning the regional was not met, but I have no regrets - I gave my best. Better balance between work and rest could have improved mechanical design, as exhausted members couldn't innovate effectively.

Resources