Let's Make Robots!

MR Get-a-beer

Navigate the house, move objects

 

- First of all, Appolgies for the crappy pictures, I will be updating them with better ones, more info, and maybe some video.

 

 

I decided to build a robot that could navigate around the house, know it's location, pickup items, (bottles, cans ect) and move them to another location. Although I still have some bugs to fix, it mostly works.

 

The chassis is and RC tank made by Heng-Long, about $75. A good platform to start with, and lots motors and gearboxes for future projects, (and an airsoft pellet gun, woohoo).

Many thanks go to the inventor of HOT GLUE !!

 

 

JUST ADDED - VIDEO, Sorry the start is so dark, dark hardwood floors make for crappy video.

Here's what Mr Get-a-beer does in the video.

1. Uses ping to get the distance from two perpendicular walls, and sets it X,Y cordinates for navigation purposes. (not in video)

2. Goes to a preset location, uses ping to search for the closest object, and moves close to that object.

3. Scans with ping again to find the center of that object, opens the claw, moves in and grabs it.

4. Rotate the object (can) out of view of the ping sensor.

5. Navigate to the trash can in the kitchen, stopping at preset waypoints, correcting the coordinates using distances from walls measured by the ping sensor. The compass is used to maintain the heading, and wheel encoders measure distance travelled. Once at a waypoint, it updates the X,Y coordinates using trig functions. These waypoints are all entered into the program code.

6. Drop the object (can) at the trash bin, and return to my office for further instructions.

 

The foam attached to the claw is to stop the ping from "seeing" the claw and giving useless distance information. 

 

 

 

Wheel encoders are home-built using QRD1114 emitter / detector pairs, and a few resitors and caps. They are mounted inside the gearbox and give very good accuracy down to 1mm of robot travel.

 

View of the gripper, uses twine and a pully type system to get a firm grip on things.

 

 

 

 Future Plans for the bot :

1.Speed it up a bit (easy done)

2. Add voice control. I already have the say-it module from Parallax, I just need to tweak it to work with the propellor, since it is designed mostly for the basic stamp2.

3. Add another microcontroller and motors to my beer fridge, so MR Get-a-beer can instruct the fridge to open using IR commands. (it's only  a mini fridge, sitting on the floor). Grab a beer from the fridge, and bring to wherever is needed.

4. A possible upgrade to a 5 DOF arm to replace the crude gripper. This might require moving everything to a bigger platform.

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.
ackjay's picture

I Like It ;-)  And A Plus For The Coors Light Can, I'm Drinking One Now!

Thanks King Kong,  The encoders are extemely accurate, since they are mounted inside the gearbox, one click (ie black to white transition) is less than 0.2mm of forward travel.  The compass is pretty good too, about 1 deg accuracy.  It's not tilt compensated, so it won't work on un-even surfaces, like outdoors. You would be best to use a GPS for outdoors.  The trig function uses floating point math, so it is more than accurate. 

 

The beauty of using the propeller is that you can use objects written by someone else, (like trig functions), even if you don't fully understand how it works. - no need to re-invent the wheel !!. Having 8 processors is good too, one can be dedicated to watching the encoders while moving, I have one dedicated to updating headings from the compass, you can be a bit lazy on the programming too if you have plenty of processing power.   

kingkong95's picture

I agree GPS would be best, if it wasn't so expensive! The compass I'm using is tilt compensated so I can keep an accurate heading on most surfaces, but keeping accurate coordinates would be more of a challenge. Not only would I have to ensure the tracks don't slip (or somehow know when they do and compensate for it), I would also have to mount the sonar so it doesn't detect obstacles that can be driven over, while still detecting obstacles that can't. Then there's the issue of cliff detection, which will need to be able to distinguish between a small step down and massive drop, so I would have to use more expensive range finding sensors and protect them from damage somehow. Alternatively I could just strap my phone to the tank and have it send gps data to the controller, but that means I can't use my phone for phone things!

I'm using either an Arduino, Picaxe or FEZ board - probably the arduino as that's what I'm used to, from experience writing trig functions in the arduino is fairly easy using the math library. I've got no experience with the propeller but so far I haven't found any limitations in using the arduino. I can see that why you like it though. :)

You may need to use an encoder on an un-driven wheel, which will not slip. You could compare readings from the driven wheels (or tracks) to the un-driven one, this would tell you if the wheels are slipping.  Cliff detection should be easy enough with an IR distance sensor, or a sonar,  you'd have to play with the position, and range to get it just right. GPS prices have come down a lot, but depends on your robot budget.

 

I'v toyed with the idea of building an automated lawnmower using the same navigation techniques, since my back yard is fully fenced, I can use the ping senser (or laser) in the same way I did on Mr Get-a-beer. I think it would cost me about $1000, I'm not quite ready for that yet.  

kingkong95's picture

Nice project :) I've been building a tank very similar to this for a while now, it's nice to see that using trig to find X,Y coordinates is accurate enough to work, I was worried that the encoders would be too sucseptible to false readings - especially with a tracked chassis. I wonder how well the system works on varying terrain such as soil and mud though? 

Thanks for posting! :D

 

Ro-Bot-X's picture

Very nice robot! It seems perfect for my challenge: http://letsmakerobots.com/node/27789, what do you think?

ChuckCrunch's picture

nice work

psychofreaky's picture

On the video, I don't think so. As far as I know you have to post it on a video host.

PS

I like this robot.

Is there anyway I can post a video on LMR without putting it on You Tube or one of the other video hosts ?