Let's Make Robots!

QUESTION - Grid tracking robot


I am completely new to robot building and, in turn, new to this forum. I am currently studying Computer Science so I may be able to use some of what I know already to help.


Anyway, I have a basic idea in my head but I am asking for a little help on, how you think, it could work. It seems relatively easy in my head - for those that are used to robot building;


I would want a robot that is programmed to move straight and turn to cover a specified area. For example, if I was to program it to cover 10' x 10' it would move forward for 10ft, then turn 90°, move forward about a foot or a half, turn 90° again(so it is now facing down, towards where it started) and carry on for another 10ft before turning again, blah blah blah.. until it has reached the end of the 10x10 area. I'd like it be able to support about 20lb though so it might have to be relatively large.


So basically, my question is - Have you any tips, links, ideas etc. in order to take my idea and create the finished product?


I'm eagerly awaiting any suggestions as I do more of my own research.


Kindest regards,


Comment viewing options

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

...this is going to me more trouble than doing it manually.

You should probably look into beacon based localization systems. This way your father can just place some beacons in the corners of the surface to clean and the robot can make sure it doesn't miss any spots.

Searching on google for "beacon robot localization" turns up a wealth of resources, most of them research papers.

Here is a paper that covers a basic infrared based system:


There are many variations on this theme and there are many aspects that need to be carefully considered, but it should be enough to get you started.

For the mechanical part, you may want to look at CtC's Walter robot:



electric wheelchair can be use, you just need a good strong motor driver.

What is in your mind about the controllng system ? arduino ?

What is the reel final surface where the robot going to be ? concrete, dirt, grass, the plastic of patio, or may be wood ? by determining that you going to choose the traction, the wheels and the odometry system.

Check out the wavefront algorithm: http://www.societyofrobots.com/programming_wavefront.shtml

A robot that can support 20lb is going to need a strong chassis and some beefy motors with a monster of a battery to power it all. This isn't going to be cheap. It's doable if you're a bit handy and have some power tools. Or you can spent a lot of bucks on a pre-made chassis.

I wouldn't concider myself very handy with power tools. I could maybe have to settle with spending some money on a pre-made chassis.

Thanks for your help!

The simplest way to TRY to achieve this, while indoors, on a flat surface, with quality rubber tires, would be to simply use dead reckoning reading encoders on the drive wheels of a differential drive platform. I.E. a two wheeled robot with two wheeled drive and steering. You calibrate the wheel encoders so you know how far they turn each revolution, have your code read the ticks, calculate the distance and angle and then act accordingly. Sounds so simple but I promise it will not end up at the exact location in many cases due to the minor errors encountered. Add a quality compass and you can get closer and insure you have a high tic rate per tire resolution. Best read I've found on the subject has alway been David P Anderson's write up here: http://www.seattlerobotics.org/encoder/200610/article3/IMU%20Odometry,%20by%20David%20Anderson.htm I would say do not make this your first robot. Make the start here robot on the main page or something to learn the basics first as your concept sounds easy but is surprisingly hard to achieve in the real world with hobby parts. Good luck! Stephen

Thank you very much. I was hoping to use it on cobblelock or other driveway/patio surfaces. I was thinking that maybe instead of wheels, I could use 'tracks'(like on a tank) so make it more secure/accurite? I don't mind spending too much on this product but obviously nothing too rediculas.

Thanks again for the tips!

Is this going to be a robotic snowplow perhaps? Giving us more of an idea of what you intend for this robot to do in the end will be much more productive than timidly looking for one answer at a time, I think. It's no problem to design a robot that navigates in the way you describe (never perfectly-mobile robots are as fallible as humans) but if there is a job for it to do other than, say, give a 20 lb child a square wave ride, then other design and flow considerations could come into play and our community is excellent at collective imagineering (Yes, I just used that word.)

'imagineering' - love it! Well, my father cleans driveways/patios for a living with a petrol power washer. It is extremely tedious so I'd like to help him by building a robot to hold the hose/gun towards the ground and then cover/wash the set area of, as an example I used before, 10'x10'.

Do you have any idea of what parts I'd need. As it'd be working with water I'd need to be sure that it is completely sealed and/or protected from splashes.

I could possibly work out the programing by finding out how far the robot travels after the wheel/track rotates 360degrees. So let's say that it covers 1 foot ever 360 degrees, then just have it go 3600 degrees to make it reach 10 foot..

One thing that comes to mind is the possibility of getting a used commercial lawn-bot and repurposing the chasis.  It should be hearty enough to withstand the elements.  Alternatively, most electric wheel chairs and personal mobility devices will have a pretty good measure of water resistance.  Maybe not power-washer level, but worth looking into.

(Honda's "Mimo."  Presumably cutting ASIMO's yard.)

Working out your pattern algorithm will be relatively simple for programming.  You just need to figure out the diameter of your wheels and know its manner of steering-the rest is just geometry.  You'll have to do some tweaking in real life, but that's part of the fun.

What occurs to me though is that no matter what you use for wheels or tracks, traction is going to be an issue.  "Dead reckoning" goes all to hell when wheels can spin free on a wet surface.  Hit a slick spot with one side and not the other and it's only going to turn maybe 120° instead of 180°. Normally the answer would be triangulation, but that's going to cause problems of its own outside-everything interferes with IR, sonic, UV, etc... Maybe your best bet will be some combination of GPS and accelerometer.

How important is it that the "square wave" pattern be perfect?  Robotic vacuums work on the principal that a random approach to the area gets the job done in a longer time, but done none the less, and that your time is worth more than the robot's.  If it's not that important, perhaps some kind of edge sensor for the surface being cleaned would do the trick (in situations where a little overspray isn't a problem.  If it hits gravel or vinyl siding, you may want to avoid that route.  Alternatively, perhaps some kind of spiral approach (perimiter to center or working out from center) could get most of the job done using a fairly simple differential drive (in that case you may not even need a computer to control it-offset gearing would do the trick.)  Your dad would still have to do the corners, but it would take care of the bulk.

Another thing I'm guessing you'll have to deal with is some kind of hose management.  At 20lbs, I don't imagine it includes much of a water tank.  A hose going to a moving platform is going to cause drag, get kinked, get run over, etc.  I don't know what the professional engineers have come up with for similar situations.

Firsty, thank you for that long and informative reply!

As for the 20lbs, (I am giving a guestimate and a bit extra for this) that is only to hold the 'gun' and I am taking into account the weight of the drag for the hose. I am'nt too sure how I would make it so that the robot doesn't trip over the hose but I had an idea of maybe having a stand outside of the 10x10 area that I could rest the hose on(with sufficient slack) so that the hose is not lying on the ground, to trip over. The actual powered machine/pump and large water barrel will be outside of the area, so basically, just the gun(end of the hose) is inside the area and is running by itselfs.

The 'square wave' pattern kind of has to be close to perfect, otherwise there'd be cracks in the rocks filled with moss and it would actually take longer walking around the area looking for small parts that were missed instead of just covering the 10x10 yourself in a pattern, so that sort of eleminates the 'random' approach of the robot. I do not mind, however, if the corners, near walls etc. have to be done manually.

Hmm, I wonder if I could program an old electric wheelchair to move for a certain amount of time.. Have you ever seen that done? That could (in my head) work out to be a much more simple approach.. All I'd have to do is build an arm to rest the gun in and turn it on(preprogrammed to 10x10)...


Again, more suggestions would be greatly appreciated!


By the way, this is sort of what the machine and gun looks like: [ only he uses a bigger, heavier hose ]

Washer and Gun