Pololu Blog »
Patrick's mini sumo robot: Covert Ops
Hi, my name is Patrick. I am an engineering intern at Pololu and am studying at the University of Nevada, Las Vegas to earn a mechanical engineering degree. I decided to build a custom robot to compete in the recent LVBots mini-sumo competition here at Pololu. It was my first competition at LVBots. I started out by watching a compilation video of the previous sumo competition at LVBots since I had never competed in a mini-sumo competition before. My goal was to create a robot that could out maneuver other robots and had as few vulnerabilities as possible. To achieve this goal, I decided to build a robot that would be high speed and able to push opponents from both sides of the robot with a lot of force. The result of my efforts is the robot I call Covert Ops.
Before doing any construction, I created a detailed CAD model of my whole robot with SolidWorks. The inside frame of the robot is composed of multiple 3D-printed parts that snap together like jigsaw puzzle pieces. In addition to being snapped together, each part is bolted to the adjacent frame members in order to make the skeleton of the robot as sturdy as possible. I used a 3D Systems Ekocycle 3D-printer to make the parts. This was the first time I used this printer to create parts that require very precise dimensions. I got pretty excited when I put the frame sections together for the first time and found out that the clearances I set at only a few tenths of a millimeter in some places were perfect for snapping the frame together like I wanted!
Covert Ops has 3D printed blades facing forwards and backwards on the robot so it can push from two directions. I used black material for the blades and side covers since many proximity sensors (such as IR-based sensors like these) struggle to detect darker colors. I was nervous about using plastic blades, but the blades worked out better than I expected and easily held their own against the metal blades of the other robots.
To hide the wiring and electronics and keep my robot looking cool, I 3D-printed a thin black cover that just slips over the structure that supports the electronics. Some images and logos I glued to the cover make Covert Ops look like race car.
Covert Ops is driven by four gearmotors. The motors I selected are 50:1 high-power micro-metal gearmotors with carbon brushes. Each motor is directly connected to a green BaneBot wheel. The 50:1 gear ratio makes the robot pretty fast, and since there are four motors, Covert Ops can still push with a lot of force. Each motor is controlled by a DRV8838 Single Brushed DC Motor Driver Carrier. I chose these motor drivers because they can supply adequate power to the micro-metal gearmotors and they take up very little space on the robot.
Sensors and electronics
Covert Ops uses four QTR-1RC reflectance sensors for detecting the border of the sumo ring. There is one reflectance sensor on each corner of the robot. To detect opposing robots there are four Sharp GP2Y0D810Z0F digital distance sensors. One distance sensor faces forward, one faces backwards, and the final two face out from the sides of the robot. I chose the Sharp GP2Y0D810Z0F sensor, which has a range of 10 cm, because I only wanted my robot to charge towards an opponent once they were close. I also have a Pololu MinIMU-9 on my robot. This component has a 3-axis gyro, accelerometer, and compass. Unfortunately though, I ran out of time to create code that would utilize the MinIMU.
Covert Ops is powered by four AA batteries. They are located on the underside of the main body, which keeps the robot’s center of gravity low. The Arduino-compatible A-Star 32U4 Mini LV functions as the controller for my robot. The batteries supply 6V power, so I included a 5V step-up/step-down voltage regulator to power my sensors though I could have used the A-Star’s built-in regulator instead. For power distribution I removed two power distribution boards from a 400 point breadboard and mounted them to my robot. One is used for 6V power distribution and the other for 5V power distribution.
I created the code for my robot using the Arduino programming environment. Covert Ops is programmed so that after the mandatory five second wait, it rushes forward at full speed to the middle of the sumo ring. From there it spins and uses its proximity sensors to scan for the other robot. Since the proximity sensors only detect robots very close to them, I programed Covert Ops so it spins and scans for a short, random amount of time before making a quick move to a new location. This way I hoped to avoid another robot detecting and charging at my robot from far away.
Accomplishments and improvements
Even though Covert Ops did not place, I am still pretty impressed with it. It was one of the quickest moving robots in the competition and never lost a pushing match when it directly engaged another robot face to face. Covert Ops had a unique design and did not suffer from any mechanical failures during the competition.
There is still a lot of room for improvement for my robot. One issue during the competition was that since my proximity sensors had to be really close to detect an opponent, they would often fail to detect the opponent. Another issue was that since my robot used four wheels, it had to have clearance underneath it. This gave two wheel robots with low blades a major advantage over Covert Ops, since they would be able to get underneath my frame. My programming strategy also needs some work. Because my robot moved randomly, it spent a lot of time around the border of the ring, which is a very dangerous place to be in a sumo competition. I also have yet to figure out the programming that would allow me to use the MinIMU’s gyro sensor and accelerometer. I will definitely be making some improvements before the next sumo competition.