Zumo Robots - A buyers guide

Hi Readers, 

If you've made it here to our site, you may be considering purchasing one of our ready-to-run Zumo Robots or Zumo for Arduino Kits from Pololu.  If so, here's some information for prospective buyers:

Zumo Robots vs. Zumo for Arduino - What's the difference?

botkits.jpg

The Zumo Robot (Left in pic above) is a fully integrated robot with a built-in 32U4 processor (which can be programmed just like an Arduino from the Arduino IDE). 

The Zumo for Arduino (Right in pic above) bot does not include a processor - in fact the whole bot is basically just a shield that an Arduino Uno or equivalent board can be plugged into.  You can program your Uno as you typically would.

Here's a comparison of the bots' major features:

Zumo for Arduino

  • Requires Arduino Uno or equivalent
  • 4X AA Batteries Required
  • Dual motor drivers
  • 6X Downward Facing IR Sensors
  • Piezo Buzzer
  • 3-axis accelerometer and 3-axis magnetometer
  • 3-axis gyroscope
  • 1X User Pushbutton
  • 1X Controllable LED
  • Requires Arduino Drivers
  • Uses Zumo for Arduino Libraries
  • USB Interface via Arduino

$99.95

Zumo 32U4 Robot

  • Integrated 32U4 Controller
  • 4X AA Batteries Required
  • Dual motor drivers (+ Encoders)
  • 6X Downward Facing IR Sensors
  • Piezo Buzzer
  • 3-axis accelerometer and 3-axis magnetometer 
  • 3-axis gyroscope
  • 3X User Pushbuttons
  • LCD Screen
  • Forward and Side-looking IR distance sensors
  • Controllable LEDs
  • Requires 32U4 Drivers
  • Uses 32U4 Robot Libraries
  • MICRO-USB Interface

$149.95

You may be wondering what you can do with your Zumo bot.  Both bots can use their reflectance arrays (see pic below) to detect boundaries in a mini sumo ring.  You can use the same sensors on both bots for maze solving competitions.  Using the accelerometers and gyros you can detect collisions in a mini sumo match, although the Zumo Bot has a leg up because of its multiple IR distance sensors.  The libraries for both bots include example code for these and more.

0J4214.1200.jpg

In the near future Beerandbots will be rolling out a Zumo Robot "Backpack" that will plug directly into the expansion pins on the Zumo.  The backpack will add a variety of RC and wireless interface options to your Zumo Bot.  Keep an eye out for the Backpack announcement here!

Check on the video below from the folks at Pololu for some examples of what a Zumo can do!

 

-ER

emma romigZumo, Bot Kits, Pololu
First Blog Post - Today's Topic: Wireless Bot Control

Howdy, 

As we prepare to launch our first B&B events and products we're working to keep our B&B provided bots cheap and durable.  One of the problems we need to solve is wireless bot control, so let's look at the options:

Option 1: Conventional/Analog RC

This option is pretty straight-forward, using traditional RC controllers, typically used for RC cars, boats, drones, etc., for example, our FlySky 3 Channel Receiver/Transmitter sets.  These sets range in price from 10's to 100's of dollars, depending on the manufacturer, the options, and the number of channels, and provide a more-or-less out of the box wireless control option and good ergonomics.

Number of Channels and User Interface

Generally, a simple/straightforward RC car will only require 2 channels for control.  Generally one channel is hooked to throttle (via a motor driver or ESC), and the second is connected to a steering servo.  Most RC car controllers, like our FlySky controller mentioned above are therefore 2 or 3 channel controllers (the third channel tends to be an on/off switch for lights, etc.)  These 2-3 channel transmitters usually have a push/pull trigger for throttle control and a rotary "steering wheel" for steering.

RC airplanes, some drones, and other RC devices need additional control channel (throttle, roll/pitch/yaw via ailerons, rudders, and other control surfaces, so they tend to offer 6 or more RC control channel and a dual stick configuration.  

Mixing and Calibration

As most of our bots are currently "tank drive" style, we need mixing logic to convert the steering and throttle (or throttle, rudder, etc) signals drive instructions for the drive motors of our tank.  More on our mixing algorithms and approaches in a future post.

Another challenge with these RC systems is that they're all just a little bit different.  If we monitor the throttle signal (PWM) with an Arduino, we'll find a min and max value of around 1000-2000 and a "deadband" somewhere around 1500 in the "neutral" position on all of our control axis.  All of this requires some calibration logic to make the controllers usable.  More on this too.

Getting Fancy

The "new" thing in RC controllers are bi-directional communication and internal sensor packages (especially for drones, including gyros, temperature, etc., etc.), such as the Fly-Sky iBus system.  These additional bells and whistles are very cool, but probably are overkill for most of our bots - until we figure out something cool to do with them.

Option 2: Your Phone

Whether we use wifi or some flavor of bluetooth, the general concept is basically the same.  The idea is to use the touchscreen of your phone as the input device (another option is the phone's gyro, if it has one) to replace the hand-held RC transmitter, and a Wifi host or Bluetooth receiver on the bot.

Dialing it in..

There's a lot that's good about this solution including the fact that you probably already have a phone or tablet around that works as a controller in your pocket.  The not-as-good bit is that the phone screen really doesn't provide the tactile feedback that a hand-held RC controller offers, and it seems like people need to reset their fingers on the screen from time to time.  

Wifi approach

There are a lot of wifi-enabled micro controllers available like the ESP8266 series of boards.  You can typically get these for $8-10 retail, and program them via the Arduino IDE - which is cool.  From a competition bot perspective we're not sure how would work out.  Either your bot and phone would need to join our hosted network and authenticate with each other, or you'd need to host your own ad hoc network (the AR Parrot Drones and others take this approach for example).  Doable, but probably not ideal.

Bluetooth

The major issues as of this moment with Bluetooth solutions as of this moment appear to be either A) device compatibility between the Bluetooth receiver and your phone (for example, the HC-06 and HC-07 modules are generally not compatible with IOS, the HC-08 modules generally are), and cost.  Most of the well documented, well supported Bluetooth modules run in the near $30/ea range - which is most of the cost of the whole RC xmitter/rcvr set we considered originally.

nRF modules

These guys, such as the NRF24L01 are the new thing in low-cost RF communication.  Retailing at <$2 each these guys are transceivers that (depending on the package, antenna, etc.) have reasonable range and are currently pretty well supported for Arduino and other microcontrollers. If we partner one of these guys with a micro controller (Arduino Nano for example) and a small joystick and we've got our transmitter.  On the bot side, we need a few spare pins and another nRF module, and we're good to go.

In our next post, we're going to describe some adventures in sorting out some generic brand Joystick Shields with nRF support, including pin-outs and some code.  Check back soon!

-Emma