Zumo Robot for Arduino.
The Zumo robot is a low-profile tracked robot platform intended for use with an Arduino (or compatible device) as its main controller. It measures less than 10 cm on each side and weighs approximately 300 g with an Arduino Uno and batteries (165 g without, as shipped), so it is both small enough and light enough to qualify for Mini-Sumo competitions. It uses two 75:1 HP micro metal gearmotors to drive the treads, providing plenty of torque and a top speed of approximately 2 feet per second (60 cm/s), which makes it much more agile than competing robots like the Solarbotics Sumovore and Parallax SumoBot while still offering plenty of control. The Zumo robot includes a 0.036"-thick laser-cut stainless steel sumo blade mounted to the front of the chassis for pushing around objects like other robots, and a reflectance sensor array mounted along the front edge of the Zumo (behind the sumo blade) allows the Zumo to detect features on the ground in front of it, such as lines for following or edges for avoiding.
The Zumo control board is essentially a shield for the Arduino Uno or Leonardo, both of which can be plugged directly into the shield’s male header pins, face down. (It is not compatible with the Arduino Mega or Due, but it can be used with older Arduinos that have the same form factor as the Uno, such as the Duemilanove.) The shield includes dual motor drivers, a buzzer for playing simple sounds and music, a user pushbutton, and a 3-axis accelerometer and compass. It also boosts the battery voltage to power the Arduino and breaks out the Arduino I/O lines, reset button, and user LED for convenient access and to accommodate additional sensors.
Pololu's Zumo Arduino libraries make it easy to interface with all of the integrated hardware, and they provide a number of sample programs that show how to use the Zumo’s reflectance array, pushbutton, buzzer, and motors. They have also written a basic LSM303 Arduino library that makes it easier to interface the LSM303DLHC 3-axis accelerometer and magnetometer with an Arduino.
The robot ships as shown in the main product picture; no assembly or soldering is required. An appropriate Arduino (or compatible controller) and four AA batteries are required but not included.
- Integrated 75:1 HP micro metal gearmotors that offer a good blend of speed (up to 2 feet per second), power, and control.
- Mounted array of six IR reflectance sensors that allows the Zumo to detect contrasts in reflectivity directly beneath its blade, which can be used for following lines or detecting edges (e.g. the white outer area of a sumo ring or the edge of a table).
- Integrated DRV8835 dual motor drivers capable of delivering enough current for the Zumo’s two high-power gearmotors.
- Piezo buzzer for playing simple sounds and music. The buzzer is controlled by one of the Arduino’s PWM outputs, so tones can be generated in the background without taking up a lot of processing power.
- Integrated LSM303DLHC 3-axis accelerometer and 3-axis magnetometer that can be used to detect impacts. The compass gets a lot of interference from the motors, batteries, PCB, and its surroundings, so it is not generally useful for precision navigation, but we have found that, with proper calibration, it can be used as a rough indication of orientation in many environments.
- Optional user pushbutton on pin 12.
- 7.5 V boost regulator for powering the Arduino from the Zumo’s 4 AA batteries.
- Convenient access to Arduino I/O lines, the pin 13 user LED, and the Arduino reset line via the shield.
- General-purpose prototyping areas and an expansion area at the front for connecting additional sensors.
- Compatible with the Arduino Uno R3 and Arduino Leonardo. Can also be used with older Arduinos that have the same form factor, like the Duemilanove.
- Arduino libraries and sample code make getting started easy.
- Detailed user’s guide.
Required Accessories (not included)
- An Arduino. The Zumo Shield works with both the Uno and the Leonardo. It is not compatible with the Arduino Mega or Due, but it can be used with older Arduinos that have the same form factor as the Uno, such as the Duemilanove. (Other Arduino-compatible controllers might work with the Zumo robot, but support for them will be limited and they might require modification; for example, one customer got his Zumo robot working with the Freescale FRDM-KL25Z board.)
- Four AA batteries. The Zumo chassis works with both alkaline and NiMH batteries, though we recommend rechargeable NiMH cells.
Zumo Shield Libraries
This collection of libraries and examples for the Arduino makes it easy to program an Arduino-controlled robot built with Pololu’s Zumo .
LSM303 Arduino library
This is a library for the Arduino that interfaces with Pololu's LSM303D, LSM303DLHC, and LSM303DLM 3D compass and accelerometer carriers as well as the compass and accelerometer ICs on the MinIMU-9 v3 and AltIMU-10 v3 (it also works with older versions of those boards, some of which used the LSM303DLH and LSM303DLHC). It makes it simple to configure the device and read the raw accelerometer and magnetometer data, and it has a function for computing the tilt-compensated heading for those looking to use the LSM303 as a tilt-compensated compass.
Simulink Library for Zumo Robot
This library can be used to program an Arduino-controlled Zumo through MATLAB and Simulink. It provides driver blocks for all the sensors present on the Zumo Robot as well as example models showing their usage.
How to program a Zumo robot with Simulink
This tutorial on the Adafruit Learning System guides you through the process of programming a Zumo robot with Simulink.
Zumo robot tuning tips
This article was written by Professor Erich Styger for his class on embedded systems programming at the Lucerne University of Applied Sciences and Arts. It describes various ways to tweak the performance of a Zumo to be more competitive in a Mini Sumo competition. Note that his Zumos use a custom PCB rather than our Zumo shield for Arduino; our shield has a lot of capacitance in parallel with the batteries that generally prevents the “battery inertia” problem Erich describes.
Freedom Zumo Robot
This robot is uses Pololu's Zumo robot kit, 75:1 micro metal gearmotors, and a Zumo reflectance sensor array. Instead of an Arduino it uses a Freescale FRDM-KL25Z as the microcontroller board, and sample code is available for line following and maze solving. By Erich, March 2013.