images-2.jpg

Project Overview

The object of this project was to design a robot system that uses sensor fusion to compete in a ‘sumo’ competition where it would need to knock opponents out of a circle while keeping itself within the circle. The robot uses the double motor with a reduced velocity gear train to increase the wheel torque. The sensors we used of were an ESP32 Cam and the legoeducation light sensor to detect opponents and track the edge of the circle. As a backup to the camera, we also included an Ultrasonic Sensor with identical MQTT messaging for the behavior tree. We named the robot after the talented patriots offensive linesman Will Campbell because of their shared ability to block against and dominate opponents with their unmatched strength.

Battle Video Demo!

https://youtu.be/xlgd_w0kBzQ

Design

Screenshot 2026-10-20 at 11.36.32 AM.png

The robot was designed using a variety of hardware from both the legoeducation and arduino ‘families’. The robot’s drive train is the legoeducation double motor geared down to increase torque and therefore improve the robot’s ability to ‘push’ other robots away.

Screenshot 2026-10-20 at 11.33.54 AM.png

A camera and distance sensor were mounted to the front of the car connected to the UnoQ which was mounted on top of the car alongside two batteries. A lego color sensor was added to the front facing down to scan for the color underneath the car.

Sensor Fusion and Decision Tree

The robot has two main sensor fusion modes: one with the distance sensor and one with the camera. These two modes make use of the same decision policy but pull different sensor information (ie distance and x position from the camera vs distance from the distance sensor) to make those decisions.

sumo_behavior_tree (1).png

In the demo video shown above, you can see the robot move from manual driving mode (when it can’t see an opponent in front of it) to seeing the opponent and trying to push it backwards to detecting that it can see the blue border with the color sensor and attempting to drive backwards to avoid being pushed out to detecting that it crossed the blue border and initiating the playing of a sad song. The car’s momentum took it over the line so the sad song cancelled out the attempt to drive backwards. The sensor fusion comes from the fact that the program gives priority to driving backwards to avoid the line when the color sensor sees it over driving forward when an opponent is detected which itself takes priority over the manual control.

Sensors

The Sumo Robot faced several challenges to detect its surroundings, leading to our choice of the sensors. Because we didn’t know the surrounding environment, we used KNN to calibrate which RGB values reflect the floor and tape.

image.png

The color sensor was able to easily differentiate between the two, but failed when it was moved to a different color floor. The color sensor would need to be recalibrated to move between tables and floors.

To detect opponents, we wanted a method for the robot to differentiate between opponents vs environment. To start, we used an sltrasonic sensor to detect the distance the car is from the opponent. Once Ultrasonic sensor saw the opponent was roughly 5 cm away, it would take control of the robot, telling the motors to go full speed to ram the opponent. Although this method detected opponents, it couldn’t differentiate with walls. Furthermore, it couldn’t course correct when an opponent moved past the ultrasonic sensor.