All projects

Claptrap: Sumo Robot

A competition sumo robot with a hand-soldered PCB and range-based charging code, improved through root cause analysis after every lost fight.

Role
Assembly, soldering, programming, and root cause analysis
Year
2025
Status
Complete
Context
EMSI 320 - Modern Automation
Rev
A
Assembled sumo robot with a red PCB, Arduino Nano, large capacitor, black chassis, and rubber wheels.
Move your cursor over the photo to see the bare PCB before soldering.

Key numbers

Root cause tools
Fishbone and 5 Whys
Best result
Won a weekly competition
Signature feature
Range-based charge

Overview

Claptrap is a sumo robot built to find an opponent and push it out of the ring. The main purpose of the project was root cause analysis: every lost fight had to be investigated and turned into improvements. I assembled the robot and soldered all of the components to the PCB, then wrote and modified parts of the base program that was provided.

Smart charging

Most of the development effort went into the software, making the robot smarter through code. My main change to the program was how the robot reacts to its distance sensor. Instead of charging as soon as it sees something, the robot charges only when the target is close enough to hit. If the opponent is too far away it holds back, so it doesn’t charge from a long distance and miss.

Results

The robot competed in weekly competitions. It won one of them and performed well overall.

Root cause analysis

Every time the robot lost a fight, the loss was analyzed using fishbone diagrams and the 5 Whys, so each match fed into the next round of changes.

After the first competition on September 29, the main problems were slow movement, weak pushing power, and worn batteries. The proposed solutions included greasing the gearbox, checking wheel alignment, using more aggressive code, and starting with fresh batteries.

After the second competition on October 20, the 5 Whys traced three weaknesses to their root causes:

Weakness What the analysis found Proposed fix
Poor weight distribution The last fight moved a battery pack that wasn’t glued down properly, leaving the robot heavier on the left. Secure the batteries, move heavy parts toward the rear, and redesign the chassis in SolidWorks.
Slippery wheels The wheel material didn’t have enough friction, so motor torque wasn’t reaching the ground. Use higher-friction tires and test them before the fight.
Limited torque The gear ratio favored speed over pushing force. Change to a ratio better suited to pushing.
  • Arduino IDE
  • Arduino Nano
  • Distance sensor
  • PCB soldering
  • Root cause analysis
  • Fishbone diagrams
  • 5 Whys