







 |
 |
Object Finder Robot aka LumpyDumpy
links at bottom of page for video clips of Dumpy
in action.
This photo shows the whole unit with the sweeping
sonar ranging sensor mounted. I redid this quite a bit to clean
up the wiring harness and to make the whole thing more solid and
reliable. |
| I built this for the club's "Find the Object
and Remote It" contest. Not a very imaginative name, but it
is a tough challenge. Click
here for full rules and course description. The short version
of the course is build a bot that can find 8 cylindrical objects
inside a circular arena about 3-4 feet across and remove them from
the arena. The tricky part is that all objects are worth points.
2 of them have negative points. So if you take those out, the highest
score you can get is 0 points. So you have to be able to distinguish
between them and hopefully leave those two "bad" ones.
So how do you tell the difference between objects? They are all
different colors, heights, weights, and they each have a unique
"taste". The taste is a resistance across two copper bands
at the bottom of the object. Color is out for me. That's a difficult
video processing problem. I'm working on that, but I'm not that
far yet. Height was the approach I took with the robot arm and is
the easiest to do mechanically. Weight? Forget it. Try finding a
transducer that's going to do that with enough accuracy without
spending a fortune.
But resistance? Voltage divider is easy enough, then use A/D to
figure out which resistance you got. That's doable.Of course, ideally,
you would want to have two or more characteristics sensed for greater
accuracy. For now, I'll start with taste. |
  |
| I chose this toy hacker design for simplicity. I worked for
several months on a stationary cylindrical coordinate robot arm
to solve this problem and finally threw in the towel. The mechanicals
were killing me. I revisited the problem after taking a break for
a while with this mobile design.
This is actually two toys hacked and put together. The upper dump
truck section is a motorized dump truck from Tonka. I bought it
from my 6 year old son for $5. He stopped playing with it a long
time ago so it was a good deal for both of us. The bottom half is
the tank drive platform for a toy bulldozer I got at Toys R Us for
$20. The dump truck could only go forward/backward since it only
had one drive motor. I couldn't turn with that, so I frankensteined
the two together. I had to scoop out some of the dump truck's guts
to get it to fit onto the tracked platform and then just bolted
them together. You can see the bolt and wingnut under the dump platform.
An update I made to this was a rechargeable 6.0V NiMH battery for
the control board and sensors. I hacked the battery comparment out
of an old RC car and bolted the entire assembly onto the side. This
makes battery replacement a breeze and saves a LOT on battery cost.
The white LED and other sensors drain 4 AAA's fairly quickly. |
| 

|
The front grabbing mechanism is a sub-assembly that
holds quite a bit of stuff. There's the Devantech SRF04 Sonar Ranging
sensor mounted on a servo so it can be rotated, the taste sensor
(the two copper strips along bottom right), a "beam break"
sensor to help detect when I have the object in my clutches, and
the gripper itself.
Devantech publishes a graph of the accuracy of the sensor relative
to angles away from straight ahead of it. As this graph shows, this
sensor does best when an object is directly ahead. It was for this
reason that I mounted it on a servo and rotate it through the range,
rather than relying on data from a stationery module. I also mounted
it vertically in order to get outgoing signals and incoming signals
to be in the same plane as much as possible. A cylindrically shaped
object can easily result in energy being deflected to the side rather
than bounced straight back, hence the small angle of scan increment.
I found that objects had to be separated by at least 5 inches at
ranges less than one foot to be distinguishable from each other.
I haven't taken much data at ranges greater than this as that is
beyond the arena edge for now. |
 |
 |
| Here's a close up of the taste sensor which is simply two bands
of copper foil that run down the length of the right paddle. I bought
a roll of this copper foil at Hobby Lobby. I cut out strips to the
size I needed and hot glued them into place and then soldered wire
leads onto them.
The right paddle is stationary. Only the left one moves, being
mounted on one of two servos that are sandwiched back to back. Adhesive
backed foam serves to grip the object firmly and to ensure good
alignment of the tasting bands to the copper bands on the objects.
The beam break sensor is an ultra bright white LED on one side
and a CdS photocell on the other paddle. It works like your standard
convenience store customer entry warning.
There are two wires connecting the taste sensor to the microcontroller.
A yellow wire connects the top band of the sensor to 5V. A purple
wire connects the bottom band to a 4.7K resistor that goes to ground.
The output voltage of the taste sensor is read as a standard voltage
divider circuit when the paddle closes firmly and forces the object's
copper bands into solid contact with the taste sensor's copper foil.
After that the familiar voltage divider circuit comes into play,
governed by the equation
Vout = Vin (R2/ (R2+R1) )
The output voltage is read at the microcontroller on an A/D channel.
This was surprisingly accurate. I found about 1% error from calculated
value, more than enough to distinguish between objects. |
 |
One of many things I changed is that I added a separate
board to interface all of the A/D type inputs. This board allows me
to interface to the main "brain" board via ribbon cable
connection at right. It has potentiometers for (left to right) beam
break sensor, back boundary sensor, front boundary, and taste sensor.
With the pots, I can fine tune the sensitivity of the sensors on site
to compensate for differing lighting conditions, etc. |
| This view from the bottom shows how the moving paddle
is mounted to the servo. A section of 1/8" thick aluminum is
bolted to a servo horn. I drilled a hole for the servo mounting
screw to pass through and mount solidly to the left servo. The servo
behind it is matching standard servo to which the sonar sensor is
mounted. The main motor power is provided by the 9.6V Ni-MH rechargeable
Radio Shack special. I left the recharge plug of the battery exposed
on the side so I can easily plug the whole unit into a recharger.
The servos and the battery are both are mounted by the expedient
but effective method of the plastic cable tie. The servos also have
hot melt glue to keep them aligned well. |
 |
 |
Other sensors used are a pair of Fairchild QRB1134 photoreflective
IR sensors. These are used to detect the difference between the black
playing surface and the 1" white ring at the outside of the arena
surface. Pictured here is the back "boundary" sensor mounted
to the body simply with some double sided tape for now. I may make
a more permanent bracket later. When either the front or back boundary
sensors pass over the white line, dumpy will come to a stop. For now
I just sample the A/D channels every 10 ms or so which gives me plenty
of time to react. |
| The brains of this bot is my standard Motorola
HC08 board (on top or right). It drives the motor driver board
beneath it which is a board I designed wire wrapped. I had an etched
board I did myself but it was a 2 layer and was prone to shorts,
so I went with wire wrap. It's hard to do a layout with those H
bridge IC's. At least one you are going to etch and drill yourself.
The wire wrapped board has headers for the ribbon cables (2 are
removed here so you can actually see the boards) to plug into. |
 |
 |
Finally, here she is on the course removing a nasty yellow object.
The other objects are placed in the "Level 1" configuration
which is the easiest. In this config, they are simply placed concentrically
around the edge of the course. The course is a standard sumo course,
30" in diameter, black, with a 1" white band at outside.
A bit tight for LumpyDumpy, but I manage. |
| Clik on the link below to see a short video clip of Dumpy at
work on the course. This clip shows her shoving a yellow object
out, then grabbing a the black object and loading it in the "dumper".
Still a bit slow in this footage. I'll update as I get her more
svelte.
Windows media format,
on course (880 KB)
Realmedia format (600 KB) |
|