Meet our current selection of battle bots

Luigi is an autonomous combat mini-sumo. Is controlled by Teensy 4.0 handling sensor input and motor control. Its two 400 RPM DC motors are controlled by a TB6612FNG module plugged into the RUMblebots’ control board. The robot keeps track of its orientation with a L3GD20H gyro carrier module to measure the yaw angular rates of rotation. Luigi is equipped with seven SHARP GP2Y0A21YK0F analog distance sensors and three ML2 dual micro line sensors from JSumo. Luigi runs on a 3 cell, 11.1V, 350mAH battery.

Background

The Mini-Sumo competitions consists of making an autonomous robot that can face off against another one of its kind in a specified field of combat. The task of Mini-Sumo is to get the opponent out of the ring, following all the rules of politeness and competition. The field is a raised ring that has a white line border and two starting lines in the middle of it. The ring has a diameter of 77cm and a height of 2.5cm. The white border width is 2.5cm, the starting lines are 1cm width, 10cm length, and are located 5cm from the center..

Diameter:

77cm

White border width:

2.5cm

Height:

2.5cm

The major restrictions for this competition are its size and its weight. The Mini-Sumo size must be 10cm by 10cm in both length and width; however, its height can be up to the maker’s discretion. The mass limit of the robot is 500g.

Mini-Sumo must drive autonomously. Remote controls or any other form of outside control of the robot is prohibited. The robot must wait 5 seconds after pressing the start button before it can start moving

Luigi Model

Overview

Category:

Mini-Sumo

Year built:

2022

Weight:

300g

Micro-controller:

Distance sensors:

Line sensors:

Gyroscope:

Design

The design for Luigi was mostly inspired by the flaws observed with Mario. We didn’t want to be limited by a microcontroller with a small number of I/O pins, when more was needed to develop a more intelligent sumo. We started off the design with the Teensy 4.0, which has 40 I/O pins, allowing us to use as many sensors as one could put in a mini-sumo. With this in mind, we went for 7 distance sensors guarding the front, sides and back of the sumo and 3 line sensors on the back and front for keeping it inside the ring. A gyroscope was also implemented for keeping track of the angle of the mini-sumo and being able to program how much it should spin in a given direction. With a lot of sensors and a gyroscope, we’re able to have a mini sumo that would roam, search, and push.

Control

Many of Luigi’s improvements were possible thanks to our custom designed printed circuit board (PCB) that was designed to facilitate many connections between the microcontroller and Luigi’s 14 electrical components. We named it the RUMblebots’ Control Board and it has some key aspects. With the Teensy 4.0 at its core, is surrounded with other components that help make a complete mini-sumo. In the middle of the board, there is a TB6612FNG module driving both DC motors and to the right of it, a L3GD20H gyroscope, connected via I2C, keeping track of the yaw angular rate of rotation of the mini sumo. The board has 12 screw terminals where the positive, negative, and signal cables of its sensors can be connected. Luigi only has 10 sensors, there are 2 to spare for future applications.

Programming

Luigi can be programmed with a similar syntax as you would with an Arduino, mostly in the C++ programming language. We preferred PlatformIO on VSCode as the best choice for collaborative embedded development and dependency management. Our dependencies for the mini sumo are the Arduino Software Development Kit, providing the definitions of core functions like ‘digitalWrite’ and ‘analogRead’, the SharpIR library for managing the distance sensors, the Wire library for I2C connections and the L3G library for interfacing with the gyroscope.

As the connections in mini sumo are already made, we gave them proper names to not have to deal with random pin numbers. We used macros as our choice because it is standard practice. A macro is a piece of code that is replaced by the value of a macro, whenever the compiler finds the new definition, it replaces the definition with a given value. Naming conventions recommend that macros are defined in UPPERCASE to tell them apart from classes, functions, and variables.

The gyroscope itself is a L3G class called gyro encompassing the necessary methods (functions) for interfacing the gyroscope. The main one of interest is the ‘.read()’ method that allows us to measure how many degrees of second in the pitch axis, roll axis and yaw axis. Our only axis of interest is the yaw axis, or in this case, the z axis when interfacing the gyro. Degrees per second alone is not useful to tell how much has the mini sumo turned, we want to measure displacement which takes time into consideration. Using the ‘millis()’ function, from the Arduino SDK, we can measure how much time has gone by in milliseconds since we started measuring and calculate the time difference. Once we know how much time has elapsed since we started measuring, we can easily calculate the angular velocity times speed to get our displacement and the mini sumo will know how is situated. This allows for precise turning.

The TB6612FNG dual motor drive must be controlled with a predetermined logic to make each of the motors go clockwise or counterclockwise. The speed of each motor can be controlled with Pulse-Width Modulation (PWM) to control speed. This can be done easily by the ‘analogWrite()’ which already emits width modulated pulses by default and it allows us to control voltages in contrast to a digital only pin, where you can output a fixed voltage that is either lower 0V or higher than 3.3V.

The SHARP GP2Y0A21YK0F distance sensors readings are processed with the SharpIR library which comes with a handful of useful functions to get the most possible accurate readings.Upon calling the ‘getDistance()’ method, the SharpIR library first performs 25 readings coming from the sensor, it will sort the values and convert the median to centimeters. We can then use that value from 10cm to 80cm to decide what action should the mini sumo take.

Mario is RUMblebots first autonomous combat mini-sumo. Is controlled by a XMotion Arduino Based All in One Controller V.2 developed by JSumo Ultimate Robot Parts, which embeds an Atmega32U4 microcontroller with Arduino Leonardo Bootloader uploaded, voltage regulator and motor drivers. It has two 400RPM DC motors, two SHARP GP2Y0A21YK0F analog distance sensors on the front face, and three ML1 line sensors from JSumo. Mario runs on a 3 cell, 11.1V, 350mAH battery.

Background

The Mini-Sumo competitions consists of making an autonomous robot that can face off against another one of its kind in a specified field of combat. The task of Mini-Sumo is to get the opponent out of the ring, following all the rules of politeness and competition. The field is a raised ring that has a white line border and two starting lines in the middle of it. The ring has a diameter of 77cm and a height of 2.5cm. The white border width is 2.5cm, the starting lines are 1cm width, 10cm length, and are located 5cm from the center..

Diameter:

77cm

White border width:

2.5cm

Height:

2.5cm

The major restrictions for this competition are its size and its weight. The Mini-Sumo size must be 10cm by 10cm in both length and width; however, its height can be up to the maker’s discretion. The mass limit of the robot is 500g.

Mini-Sumo must drive autonomously. Remote controls or any other form of outside control of the robot is prohibited. The robot must wait 5 seconds after pressing the start button before it can start moving

Luigi Model

Overview

Category:

Mini-Sumo

Year built:

2022

Weight:

303.8g

Micro-controller:

Distance sensors:

Line sensors:

Key people:

Design and Manufacturing

Software

Design

Mario has a basic symmetric cubed design to give out a sturdy look while also being able to demonstrate it. It has a weight of 303.8grams, which keeps it in the range of 500 grams that the competition requires. Its design is simple for being the first Sumo Bot to be designed and made, consisting of a cubes structure with a “lifting ramp” to push its opponents away. The wheels were placed all the way in the back of the of the mini sumo to promote balance and stability to the robot during combat, most of which is focused on head-on collisions and lifting the opponent off the floor of the ring. It is also the first time a software team has been integrated to help program the robot’s techniques to endorse its functionality properly. Its microcontroller allows the robot to perform up to 8 different strategies to use during the competition.

Control

Mario is designed around the XMotion Arduino Based All in One Controller V.2, controlled with an Atmega 32U4 with the Arduino Leonardo Bootloader uploaded for easy development. It has two motor drivers that can output up to 6 amps, giving the mini sumo a hard kick and a switching voltage regulator, making it energy efficient. It has a trimpot as an analog input element which can be used to control variables inside the program governing the mini sumo before battle commences. It includes a dipswitch that acts as an 8 combination digital switch, allowing an user to “select” something in the programming in the sumo without the use of a computer. It has two screw terminals for connecting the motors easily, 4 analog pins and 8 digital pins. However, the cables for these pins must be soldered underneath the board.

The XMotion V.2 is small, compact, light, and powerful; A great choice for developing a first-time sumo.

Programming

Mario can be programmed just like any Arduino on the market, with the C++ language. Using the Arduino Integrated Development Environment, also known as IDE, programs can be written, compiled, and uploaded. Our dependency for the programs running in this mini sumo is the “xmotion.h” library which has important functions to control the board, mainly the motor drivers.

The SHARP GP2Y0A21YK0F distance sensors signal cable outputs a voltage that must be interpreted into some unit of length to make decisions. We developed functions that convert the analog voltage being read and convert that into centimeters. To decrease the chance of detecting outliers or the mini sumo acting on false signals, we developed a function that will calculate the average measurement taken through the sensors. The same logic and algorithms are applied to the line sensors.

The motors can be controlled through the xmotion class with pulse with modulation, also known as PWM. If the robot needs to go right, you would call “xmotion.right(PWM, TIME)” where time would be how long in milliseconds you want the motor to run. This also goes for left, backward and forward.

Arsenal is a 12-pound modular combat robot. It's made of the light but robust aluminium 6061 alloy, with the pulleys and body top plates being the only exception. The robot's pulley's were manufactured using ABS filament and an FDM 3D printer, the body's top plate using lexan. The robot also utilizes a swappable weapons system. Being able to change from a vertical spinner weapon to a horizontal one.

Background

Arsenal would be to compete on the Norwalk Havoc Robot League (NHRL), the largest and most accessible robot combat league in the world, home of the 3lb, 12lb and 30lb world championships through a series of seven combat robotics tournaments hosted in the House of Havoc, located in Norwalk, CT, and streamed digitally to thousands of fans worldwide.

Fight Basics

3 minute matches for 3lb, 12lb and 30lb categories

Judges decide for fights that go the full 3 minutes

All robots must pass a radio fail safe test

The beginning of a match is signaled by an 8 second countdown followed by the words "Fight, Robots, Fight!" The match officially begins at the enunciation of the first "F" in "Fight." During the countdown, robots must be at a full stand-still.

Robots must start the match in their assisgned corner of the arena and must be oriented such that they fit within the constraints of their classes' respective bouding box size.

Overview

Category:

12lb

Year built:

2022

Weight:

11.955lb (May 6, 2023)

Remote Control:

FlySky FS-i6 6CH 2.4GHz RC

Reciever:

iA6 RX

Motors:

2 Firma Brushless Crawler 2300kv

Weapon Motors:

1 Firma Brushless Crawler 1400kv

Battery:

2 Spektrum Smart 11.1v 5000mAh

Chasis

Arsenal's chasis is made of Aluminium 6061, Ti metal, Nylon X, and polyurethane adhesive. These materials were chosen specifically for their lightweight characteristics and the physical properties that can be achieved. Each plate of the chassis consists of three layers: two aluminium 6061 panels and one 3D printed core made of Nylon X. All these parts were stuck together using the polyurethane adhesive. Moreover, these plates are connected to the top and bottom plates using Nylon X 3D printed corners that were designed using SolidWorks.

Power Train

The area of the plates that hold the Powertrain motor is 13.1 in by 7.87 in area. The powertrain components are 3 Firma 2 in 1 Brushless Crawler Motors, one Spektrum 3s 50C LiPo Battery and a P65 Gearbox: Standard Duty 17:1. There is one motor for each wheel and one for the weapon system; the three of them are connected to a single battery. These components have been neatly accommodated using 3D-printed components. Even though these components increase the robot's weight, they hold the powertrain and gearbox steady in their place.

The area of the plates that hold the Powertrain motor is 13.1 in by 7.87 in area. The powertrain components are 3 Firma 2 in 1 Brushless Crawler Motors, one Spektrum 3s 50C LiPo Battery and a P65 Gearbox: Standard Duty 17:1. There is one motor for each wheel and one for the weapon system; the three of them are connected to a single battery. These components have been neatly accommodated using 3D-printed components. Even though these components increase the robot's weight, they hold the powertrain and gearbox steady in their place.

Weapon System

Arsenal has a modular weapon system, meaning that the weapons can be exchanged from the horizontal spinner to the vertical one. The horizontal spinner is an aluminium bar that holds two titanium blades inserted each on the opposite side of the bar and two blunt steel weapons inserted on the other corners. This weapon rotates around an aluminium shaft and is hold by a top and bottom plate that is attached to the chassis. On the other hand, the vertical spinner weapon system, is an aluminium bar that rotates around the shaft. The shaft's side plates are made of aluminium. This weapon design also has a static ramp that will be used to flip the opponents. These two weapons use a pulley mechanism to transfer the rotation from the gearbox into the weapon bars. Moreover, both weapon systems contain parts that were manufactured using CNC routers to improve the precision and the cleanness of the final product.