Recent Changes - Search:




Mega Plan



The robot is a two-platform design: the top platform is shaped to push objects, and the bottom platform is shaped to snag small objects in a well where they can be gripped. The platforms are largely derived from the 7 inch black Rigid PVC Round Base and Circular Base with Wheel Cutouts at Budget Robotics.

CAD drawings will be provided in the near future for the two plates.

One note: sand the pointy edges of both decks to round them slightly.

The Top Platform

The top platform is meant to "shield" the bottom platform from large objects (walls, corners) becoming obstructed in the gripper well. Additionally, the top platform has a flat front to enable the robot to push tall boxes, etc.

The platform holds:

On top


The Bottom Platform

The top platform is meant to "shield" the bottom platform from large objects (walls, corners) becoming obstructed in the gripper well.

The platform holds:

Separating the platforms

  • Aluminum Risers

On top


The Main Computer

The Raspberry Pi Rev.B features

  • 700MHz ARM Core Processor
  • 512 MB SDRAM
  • Broadcom VideoCore IV, 250MHz GPU
  • SD Card for Primary Storage
  • 802.11 Wi-Fi through a USB Adapter
  • 10/100Mbps Ethernet
  • Two USB Ports
  • Custom Interface for the Raspberry Pi Camera

The Raspberry Pi computer runs a custom variant of the Debian Linux operating system called Raspbian. This provides native access to one of the largest code repositories for linux. Our project is coded in a mixture of C and C++, with Lua behavioral scripts. This system also has OpenCV loaded for image processing from the Raspberry Pi Camera.

The Microcontroller

We use the Arduino Uno microcontroller.

  • 14 Digital Inputs/Outputs (6 with PWM output)
  • 6 Analog outs
  • 20 MHz RISC Processor
  • 5V Operating Voltage (7-12V Input Voltage)
  • 3.3V Supply Provided (Max 50mA draw)

More information on the Arduino Uno is available at their website:

The Arduino Uno attaches as shown in detail in the Construction sections, uses three risers. The purpose of these risers is to enable access to the HDMI port of the Raspberry Pi computer and to assist in wiring management to contain all of the cables within the platform bounds.

The Arduino Uno uses a custom shield to assist with connecting servos to the microcontroller. This shield, shown below, is the DFRobot IO Expansion Shield. This shield provides the inputs for the batteries and provides more convenient headers for directly connecting the servos to the microcontroller.

The Power Switch

The switch is a standard black, unlit rocker switch purchased at Radio Shack. The power switch is slightly too large for the hole in the default platform. You'll need to enlarge the hole by a smidgen using a X-acto knife saw, then smooth it with some sandpaper.

The power switch connects to the battery via a Female Standard-Size Tamaya Connector (the battery should have a Male). You can purchase such connectors at Radio Shack or online at a variety of outlets.

The Aluminum Risers

Budget Robotics sells risers in a variety of lengths, but we've found that to pack the stuff we want into our robot comfortably, only the very largest 4" Aluminum risers will do.

The risers are more than tall enough to clear normal sized soda cans, making them ideal targets for collection. The IR sensors are mounted much higher than the top of those cans, so IR detection of such objects will be prevented.


The robot has four servos:

  • One standard servo for Gripper (provided by Robodyssey.
  • One "micro" servo that is a part of the Pi-Pan Camera Servo Kit
  • Two continuous-modified standard servos for wheels.

Purchasing information for Servos can be found on Parts List page.

The continuous-modified servos are attached to the platforms using "flange-style' servo mounts from Budget Robotics. You'll find that the L-bracket supports for these mounts poke very slightly into the gripper well of the bottom deck. You'll need to shave off the poking-in plastic either with sandpaper or with an X-acto knife.


In particular, the wheel wells are a good fit for Budget Robotics' various O-ring wheels.

Originally, the wheels were sourced from a company that used Acroname as a distributor, however, this company is no longer in business and Acroname no longer has any related parts. We are presently looking for a new source for the wheels.

Wheel Watchers (Wheel Encoders)

Wheel encoders use a stripped pattern of light and dark bands and a set of two infrared (IR) sensors to detect wheel motion. The sticker is placed on the wheels and sticker's bands pass the IR sensors as the wheel moves. The IR sensors (with software) can count the number of "ticks" of the wheel, and thus, the distance of the wheel. The software can use this distance to determine the velocity.

Our robots use a rather expensive route, a pair of wheel watchers from Nubotics. It has two so that the encoder will be able to determine which the direction the wheel is moving. These encoders may need some additional equipment from Nubotics. Nubotics has provided a link which has good instructions on mounting the wheel watchers. There is an animated tutorial with sound that will help those who need a step by step.

A less expensive approach is to build your own encoders. SeattleRobotics has a good page on this here.

Here's a great PostScript program for encoder disks, which can be easily modified:


We got grippers from Robodyssey and made the following modifications to them by hand (done the same way for both gripper arms):

Well, that's not quite true. Robodyssey kindly filled in the purple regions on our behalf. They offered to slice them as we defined above and we should have taken up their offer. You should make this request: the modified version as defined above work much better are necessary to grab coke cans etc.

Installing the Gripper

  1. The gripper servo needs four holes for the screws to mount the servo. They have to go exactly in the right spot. Precision is very important, using a 7/64" bit.
  • The gripper and servo attach to the deck with four 1-inch long #4 machine screws, plus some lock washers and nuts. However the gripper assembly isn't quite the right size for the servo they provide, so they'll go in kind of diagonally. You need to take this into account with regard to the holes drilled into the deck.
  • There is a screw which attaches one of the gripper arms to the servo horn (a white square piece of plastic and then screws through the servo. The provided screw is too short. Unfortunately, the screw is quite unusual. It's a "2.6" diameter (common screw diameters are 2, 3, 4, 6, 8, 10) with 16 threads per inch. You can't get this at Home Depot or even at your average hobby store. We were able to find 2.6's at the Hobby Hanger in Chantilly, VA at $.50 apiece (!), and they're not rounded head -- they're the tapered kinds, so you need to put a washer on them so they'll stay put.
  • When servos are powered on they put themselves in their center position (0.5f[Java] or 128[C] in Acroname's ServoAbs function). If you just stuck on the servo arms, that position could be anywhere. Remove the left servo arm and the square servo horn, power up the servo through the Acroname board (from battery, not the wall power supply -- it's not powerful enough), and use that position to reassemble the servo arms so that they are just slightly inward of being fully apart. Then it looks like 0.4f or so will be fully apart and 0.8f will be close together but not touching (that's our maximum). See if you can get it like that.

Bump Sensor


The bump sensor is a rectangular box with two extensions from one corner and the middle of the rectangular box. Creating the switch to attach to the Brainstem is simple. You will need:

  • 1 bump sensor
  • 2 10-inch long wire
  • 1 1K to 10K resistor
  • 3 crimps
  • 1 3x1 housing

The bump sensor is a simple microswitch with three connections; let's call them A, B, and C. Depressing the switch connects A and B together and disconnects C. Releasing the switch connects B and C together and disconnects A. You'll need to use a multimeter work out which are which, depending on the switch. You'll then want to hook wires up to A and B. In our switch, B is the center A is closest to the hinge. If you mess up which connection is which, the worst that can happen is your switch operates the opposite way than intended, or doesn't work at all. You'll know. (Yes, we note that in our pictures the wires don't match -- oops! It doesn't matter which wire goes to which connection).

You will need to solder the first wire to current. After you have completed your soldering job, you are ready to solder the resistor to the signal. First you will cut off the plastic that covers the second peice of wire. You will wrap the access wire on the resistor. You will now solder together the helix you have created between the two wires. You know have a wire that has two ends. The Single wired end will go into the signal extension on the bump sensor. Repeat the same soldering technique as you did for the current.

You now have a total of three wires pointing out of your bump sensor. Note: Now is a good time to measure the distance between where you will mount the sensor and where it will get plugged into the Arduino. Any excess wire can be cut down before crimping to avoid a mess atop the robot.

Crimp each of the three wire ends and add a touch of solder to hold the confirm the wire is held in place. You can now push the crimps into the housing. Always check to see what side is signal and what is going into ground. They wires should go in CURRENT/SIGNAL/RESISTOR.

Plug in and test your bump sensor!

The bump sensors are mounted with two 3/32" x 1/2" metal tension pins. You will need to drill two 3/32" holes in both the upper and lower decks. See the Construction sections for more details.

The Batteries and Battery Charger

The batteries are 7.2-volt 6-cell "C" NiMH packs with Standard size Anderson Power Pole connectors. There are some important things you need to know about them.

  1. Use care when charging for the first few times. At first the charger cannot tell when the battery is charged, so if you're not careful the battery will just cook. Disconnect from the charger if the battery is too hot to hold. It shouldn't take more than a half hour when charging.
  2. The charger will fast-charge until it senses that the batteries are near full, then it will change to "trickle charge". Don't leave the batteries on indefinitely in trickle charge.
  3. NiMH batteries aren't like NiCads: they like to be recharged before they run out. It's best to charge them before they're totally gone. When you do charge, charge them to the top.
  4. The smart charger is new and could be flakey. Keep an eye on your batteries as they charge. It's normal for them to get reasonably warm, but they should not get so hot as to not be able to hold. Heat is death to NiMHs.
  5. NiMHs lose power fairly rapidly: as much as 20% per day depending on the cells (though ours have had very good luck and have held for quite a while).

Sharp IR Distance Sensors and their Frame

To save weight, hanging under the top platform is a thin aluminum frame to support up to five Sharp IR distance sensors. The frame is made of lightweight aluminum flashing, spray-painted black. You can buy flashing at Home Depot in small sheets. Here is a template for cutting and bending the frame and punching holes in it (which can be done with simple tools): PDF document or Freehand 10 Document. The frame supports:

  • One Sharp GP2D12 IR Sensor in the back center, facing forwards
  • Two Sharp GP2D120 IR Sensors on each side, facing horizontally outwards
  • Two Sharp GP2D12 IR Sensors mounted diagonally with crossing beams in the front

In the Construction 2 photographs we show our hand-cut version of the frame, which is close to but not precisely the same as the above template. The robot constructed in the photograph also has only three infrared sensors; the two side sensors were omitted.

The Caster

We used a 1" plate (non-stem) caster. These small casters can be purchased for about $1 at Lowes, but not Home Depot, where 1-1/2" is the smallest. Unfortunately there's no standard for the spacing of the caster holes. After we purchased our deck plates from Budget Robotics, Lowes changed their caster supplier on us and the holes didn't quite fit. We fixed matters by drilling down the center of all four deck holes with a 1/4" drill bit.

The caster is mounted to the deck with large (3/4" #8?) machine screws, some bolts, washers, and lock washers. The washers are used to raise the caster until the robot is level. See the pictures in the Construction 1 section.

Edit - History - Print - Recent Changes - Search
Page last modified on February 21, 2014, at 07:39 PM