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. See below for the AutoCad drawings of the base which we used to make a custom order from Budget. Note that Budget's plastic cutter is 1/8" wide, which required that outside cuts in the AutoCad drawing be 1/16" larger than normal, and inside cuts be 1/16" smaller than normal. Also note below the further modifications we'd make to the AutoCad drawing if we purchased more bases in the future.
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 AutoCad drawings for the platform are Upper_Deck.dwg and Upper_Deck.dxf . We sent these drawings to Budget to have custom cuts done. But these drawings have some bugs which we'd fix next time. First, the wire hole (bottom center) is far too small: we'd double its diameter. Second, the switch hole (the larger one, bottom right) is slightly too small for the Radio Shack switches we purchased, requiring very slight widening. We'd increase its diameter by 1/16". Last, when we changed risers, they came with larger screws with larger nylon heads; these butt against the Brainstem in a usable but troubling fashion. We'd move the controller -- and its associated mounting holes -- 1/4" inwards.
|
|
The platform holds:
On top
Underneath
|
|
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 AutoCad drawings for the platform are Lower_Deck.dwg and Lower_Deck.dxf . Like the ones for the top platform, we sent these drawings to Budget Robotics to do the custom cuts, and similarly would change them slightly in the future. In particular, the wheel wells are a good fit for Budget Robotics' various O-ring wheels but are slightly too small for Acroname's O-ring wheel which we eventually moved to because Budget's are unfortunately incompatible with the WheelWatcher wheel encoder. With some diagonal sanding, the wells can be made to fit, but it's tight. However significant further increases in well size would conflict with the location of the aluminum risers, and moving the front risers further forward could conflict with the gripper's ability to stay recessed in the body of the robot (it'd push the gripper arms into the gripper well somewhat -- bad). So it's a tight fit now but it works. Additionally, we would increase the diameter of the wire hole (bottom center) to 1/2 in.
|
|
The platform holds:
Separating the platforms
On top
Underneath
|
|
The Microcontroller
We used Acroname's Brainstem GP 1.0 Module
- 4 Servo outs
- 5 Analog outs
- 5 Digital ins/outs
- 40 Mhz RISC Processor
- 1 MB IIC port
- Can run Tiny Embedded Applications (TEA)
More information on the Brainstem GP 1.0 can be found on the Acroname website.
The brainstem attaches to the top deck via three nylon screws and nuts. You'll want to raise the Brainstem slightly to make room for the solder jump which joins the Brainstem's logic and servo power supplies: a single nut can be used as a spacer just barely.
More information on our use of the Brainstem can be found on the Brainstem page.
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 2.5" Aluminum risers will do. However these risers use a larger nylon screw than the others. It'll still fit through the holes in the platform, but you have to thread an aluminum screw through first to cut into the platform's PVC. After that it's a cinch.
The risers are just barely too short to clear coke cans. If you put a nut on each end of the riser as a spacer, the robot will probably be tall enough to do it. In the mean time, we use the "short" trial-sized coke cans instead.
Servos
The robot has four servos:
- One standard servo for Gripper (provided by Robodyssey.
- One "micro" servo for CMUcam
- Two continuous-modified standard servos for wheels (we purchased ones with ball bearings at Acroname, but found that Acroname's resistors tend to warm up and change voltage, resulting in the servos chattering after a while. Very. Very. Annoying. Surely they could have put in better resistors. )
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.
Servo Numbering Scheme (as plugged into the Brainstem)
| Servo Number | Servo |
| 0 | Left Wheel |
| 1 | Right Wheel |
| 2 | Gripper Servo |
| 3 | Camera Servo |
Wheels
In particular, the wheel wells are a good fit for Budget Robotics' various O-ring wheels but are slightly too small for Acroname's O-ring wheel which we eventually moved to because Budget's are unfortunately incompatible with the WheelWatcher wheel encoder.
We finally went with Acroname's O-ring wheel. Our original purchase (Budget Robotics' double O-ring wheel) looked nice and seemed solid, but it wasn't quite true -- fixable by adjusting screw tensions on the wheels -- and more importantly it just wasn't compatible with the WheelWatcher wheel encoder. Nubotics worked hard with us to develop a spacer which could be attached to Budget's wheel, but it proved unreliable. We eventually replaced all the wheels with Acroname's. Purchasing information for wheels can be found on the PartsList.
The problem is that Acroname's wheel makes for a snug fit in with the wheel well in the bottom platform, requiring slight enlarging, diagonal sanding, and careful centering. It works fine, though.
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 Acroname. 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:
http://epl.harvard.edu/Engineering/encoderdisk.html
Grippers
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
- 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 Brainstem. 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.
Acroname has good diagrams and a good tutorial.
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 6-volt 5-cell "A" NiMH packs with Standard size Male Tamaya connectors. There are some important things you need to know about them.
- When charging the batteries, keep the charger (that we bought) set to 1.8A, or otherwise the charger isn't able to determine when to shut off.
- 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 on 1.8 amps.
- 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.
- 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.
- 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.
- 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).
- We estimated that the robots will draw about 1200mA going full-blast. These are 2700mAH batteries, meaning they'll probably last a little over 2 hours full-blast after the first charge. They'll degrade after that.
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.