Turtlebot
PROJECT SUMMARY
As part of the Tufts Robotics Club’s annual Battlebots competition, I led my team of three students in building a self-righting, remote-controlled, turtle-inspired battle robot. Just like a real turtle, our robot was defense-oriented: our primary aims were stability, mobility, survivability, compactness, and aesthetics. Unlike a real turtle, we incorporated two steel blades.
I designed the robot using Onshape. A two-part 3D-printed shell houses the electronics, motors, and wiring, encasing everything besides a small portion of the wheels. The ½” steel plate on the underside provides exceptional stability, while the rounded shell profile allows the turtlebot to right itself from any orientation.
The turtlebot successfully outlasted and destroyed two opponents, before getting brutally mauled and eliminated in the semifinal. Impressively, it was able to compete in the “losers’ match” after a battery change. Our turtle-inspired design won the “Most Creative” award and proved an excellent use of the low-cost parts available to us.
I designed the robot using Onshape. A two-part 3D-printed shell houses the electronics, motors, and wiring, encasing everything besides a small portion of the wheels. The ½” steel plate on the underside provides exceptional stability, while the rounded shell profile allows the turtlebot to right itself from any orientation.
The turtlebot successfully outlasted and destroyed two opponents, before getting brutally mauled and eliminated in the semifinal. Impressively, it was able to compete in the “losers’ match” after a battery change. Our turtle-inspired design won the “Most Creative” award and proved an excellent use of the low-cost parts available to us.
|
3D PRINTED PARTS
|
OPERATIONAL MODES
|
ATTACK SPIN SPEED (RPM)
|
DESIGNThe base half of the shell features cradles for the two motors and slots for wheels, which are slightly offset so that the motors can fit in the robot’s narrow body. The 3D-printed motor holder bolts the motors into place and provides a platform for the Arduino and motor shield. Integrated extrusions hold the two batteries in place. Two passive castor wheels and the steel plate attach to the base via a series of holes and recesses.
The shell’s top half gives the turtlebot its characteristic look. Using a reference photograph of a real turtle, I used an extensive series of cuts, sweeps, chamfers, lofts, and patterns to create a natural-looking shell. The top half’s hollow underside leaves room for wiring, while the shell’s height helps the robot right itself if flipped upside down. A small cutout allows access to the kill switch, which is hidden under the shell to avoid enemy weapons. The shell halves align courtesy of a channel that runs around the inside edge; bolts on the end extrusions fully secure the halves together. When connected, the two halves form a smooth curve along the seam, allowing the robot to flip without disruption. |
|
The steel plate extends along the long axis of the base between the wheels. The plate covers this entire area except for one end for better attachment to the base. The plate’s center of mass is slightly off-center on the long axis to put most of the weight on the two main wheels and one of the castor wheels, improving stability and removing the need for the two castor wheels to be perfectly leveled. Different plates of varying materials and thicknesses can be switched out to meet weight requirements or changed robot dynamics.
Finally, we attached a 3-sided steel blade to each end extrusion of the shell, allowing the robot to stab or slice things by driving at them or spinning. Just like the plate, these blades can easily be switched out. Theoretically, future versions could have active weapons attached to the same extrusions. |
FABRICATIONThe shell halves and motor holder were all 3D printed parallel to the bed for improved quality and finish. I cut the baseplate from scrap ½” steel using a waterjet. To make the blades, I cut ⅛” stainless steel sheet into 1½ ” x 4” strips using a table shear, bent them in half with a table bender, then carefully tightened them in a vice to completely “fold” and press both sides of the bend together. After drilling two bolt holes in the non-fold end, I carefully sharpened the fold edge and the two adjacent edges using a belt grinder. The original plan was to heat-treat these blades for increased strength, but we ran out of time.
|
ELECTRONICSWe used an Arduino Uno as the primary computer due to its compact size. An Arduino motor shield connects directly on top via two rows of soldered pins and drives the two DC motors. A 6V rechargeable battery powers the motor shield and motors, while a separate 9V battery powers the Arduino and receiver. The kill switch breaks the Arduino’s power circuit, allowing the robot to be manually disabled in case of emergency. Finally, a small RF receiver reads transmitted signals from the controller to command the motors.
|
ITERATION & CHALLENGESThe testing pathfinder of the robot body and shell sported a shallower top half and base as well as a flange-like extrusion along the edges between the halves (this version of the robot was not self-righting). Inside, the base half was empty besides the motor cradle. We intended to test the robot’s drivetrain while finalizing additional details, but only one of the motors fit. Additionally, the attachment points for the castor wheels were poorly positioned, the Arduino alignment pins did not align, and the shell was too shallow to leave adequate space for the wiring.
The second iteration fixed these issues, incorporating additional extrusions to hold the batteries in place and improving Arduino alignment. However, with the larger diameter motor cradles, the second version of the motor holder could not generate enough friction against the motors to secure them adequately. |
|
After redesigning the motor holder, we decided to add the self-righting capability. This posed fresh challenges: the base's interior geometry meant limited the options for attachment holes, and the metal baseplate's added thickness meant that we needed longer attachment bolts, which we did not have. This required a redesigned motor holder with deeper counterbores and longer sides. Additionally, the newest shell version sported a round vertical cross-section so that the robot could roll over if flipped.
In the meantime, a switch on our team’s controller broke in the down position. However, all the switches, even the unused ones, had to be in the up position to establish control with the receiver. To avoid buying another controller, I removed the faulty switch and soldered the appropriate wires together to trick the controller into thinking that switch was always up. |
PROGRAMMING & CONTROL
The robot operates on an Arduino/C++ script which converts input signals from the receiver into motor commands. To write and edit the code, I taught myself C++, using previous robotics club documentation as a starting point. I optimized the controls to improve robot mobility, reaction speed, and driver ergonomics. Two switches and two joysticks (one per hand) allow the driver to choose from four control modes: safe, normal, turbo, and spinny. On each side, the joystick and switch are within reach of the thumb, and the driver can switch between them in one fluid motion.
An interesting side note: even if one of the switches were to break, the driver would still be able to put the robot into either safe mode or normal mode, depending on the position of the broken switch.
- SAFE MODE: The default mode when the receiver is turned on. In this mode, the joysticks are disabled for safety. The driver can enable safe mode at any time by flicking the two switches to the up position, stopping the robot.
- NORMAL MODE: The standard drive mode, where a single joystick with x and y inputs controls all the robot’s movements. The code translates horizontal joystick values into a speed difference between outside and inside wheels, allowing the robot to turn at continuously changing radii.
- TURBO MODE: This mode uses only the y values from the second joystick to drive in a straight line at faster speeds. Turbo mode makes it easier to quickly escape a dangerous situation.
- SPINNY MODE: This is the turtlebot’s attack mode. At the flick of a switch, the robot starts spinning in place at maximum speed, turning the blades on the shell into a whirlwind of steel. In spinny mode, both joysticks are disabled, and the driver simply lets the robot spin to their satisfaction before reverting to another operation mode.
An interesting side note: even if one of the switches were to break, the driver would still be able to put the robot into either safe mode or normal mode, depending on the position of the broken switch.
TESTINGPreliminary testing focused on getting the electronics operational. Once we set up the basic circuitry, we bolted the wheels to the base and propped it up on a stand so the wheels could turn freely without moving the robot. This allowed us to quickly debug and improve the code.
Next came calibration testing. We wanted the controls to be smooth and intuitive, so I drove the robot around and adjusted scaling factors on motor speed ratios and turn radii. I also tested controller ergonomics and rapid switching between drive modes. Finally, loads of driving practice allowed us to improve our driving skills and refine the robot’s agility. We also conducted flip tests to test the self-righting ability, in which the robot successfully righted itself from multiple angles. |
RESULTSDuring the competition, the turtlebot competed in 1v1 matchups against other robots in a bracket format. The unevenness of the arena posed some problems for the robot’s low ground clearance: the baseplate fasteners sometimes dragged and caught on ground imperfections, slowing the turtlebot down. Despite this, it performed well and successfully defeated two opponents. The first hurt itself on our tough shell, and once its vertically spinning weapon broke, the turtlebot’s increased agility allowed it to dart in and stab the unfortunate robot from multiple angles. The second competitor attempted to flip the turtlebot, to no avail, and the turtlebot’s agility again handed it the win. Thus far, the shell remained completely intact.
To our collective dismay, following our routine battery swap minutes before the turtlebot was scheduled to fight in the third round, the controller stopped working. After frantic troubleshooting and rewiring, we determined the new 9V battery was defective, and quickly replaced it. |
|
The robot’s third opponent had a horizontally spinning saw-like attachment that was at an optimal height to attack the turtlebot’s sides. In this fight, the turtlebot’s agility and stability allowed it to land several damaging blows on its attacker, but the turtlebot’s base was no match for the powerful horizontal spinner, which repeatedly tore through the base’s PLA sides, sending little shreds flying.
When the dust settled, the opponent had chewed through the shell about three-quarters of the way around. Due to our robust shell design, no wiring was hit, and the robot was again fully functional following a battery change and a quick tire alignment. Although the turtlebot’s horizontal PLA layers weakened the shell in that direction and made it more vulnerable to the horizontal spinner, the thick walls and dense infill slowed the spinner down enough so that it never had enough energy to penetrate the operational heart of the robot. Even the wheels were well-protected enough to escape damage. |
FUTURE UPGRADES
The most important upgrade will be to use a different, tougher material for the 3D-printed shell, possibly an ABS plastic or a hard SLA resin. If we use FDM printing again, printing the shell on a 45 degree angle could limit weaknesses in the horizontal direction while maintaining some strength in the vertical direction.
Additionally, a lighter and thinner baseplate design would increase speed and agility at minimal cost to stability and self-righting. Our hefty steel baseplate worked well, but it slowed the robot down, and its attachment bolts often caught on surface imperfections. We did not have time to test a different baseplate design, but a relatively thinner plate should make the robot spin faster in spinny mode and inflict more damage. Given the extremely low center of gravity, the self-righting capability would not be affected.
Finally, an improved power source (bigger batteries, or more of them) would help the robot last longer in battle. Ideally, batteries could be recharged via a port on the outside of the shell, so that we wouldn’t have to bolt and unbolt the shell every time the batteries require attention.
It remains to be seen whether the turtlebot design will witness another fight, but it accomplished all its goals, captured the hearts of those rooting for it, and held its own against bigger, louder, sharper, and scarier opponents. This group project was a wonderful opportunity to incorporate teamwork, experimentation, engineering design, and creativity in a cool and exciting way. For me, it was also an invaluable experience in developing new skills and leading a team.
Additionally, a lighter and thinner baseplate design would increase speed and agility at minimal cost to stability and self-righting. Our hefty steel baseplate worked well, but it slowed the robot down, and its attachment bolts often caught on surface imperfections. We did not have time to test a different baseplate design, but a relatively thinner plate should make the robot spin faster in spinny mode and inflict more damage. Given the extremely low center of gravity, the self-righting capability would not be affected.
Finally, an improved power source (bigger batteries, or more of them) would help the robot last longer in battle. Ideally, batteries could be recharged via a port on the outside of the shell, so that we wouldn’t have to bolt and unbolt the shell every time the batteries require attention.
It remains to be seen whether the turtlebot design will witness another fight, but it accomplished all its goals, captured the hearts of those rooting for it, and held its own against bigger, louder, sharper, and scarier opponents. This group project was a wonderful opportunity to incorporate teamwork, experimentation, engineering design, and creativity in a cool and exciting way. For me, it was also an invaluable experience in developing new skills and leading a team.





