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)