Let's Make Robots!

Outdoor navigation

Hi all,

Modest as I am, the decision has been made to build an outdoor autonomous robot which will mow my lawn. :-D

The environment:
The garden is 50*50 meter (150*150 feet) with the house somewhere in the middle, completely fenced off with a gate. 2/3rd covered by grass in different sections separated by driveway,paths/house/garage. Altitude difference is 6m (18 feet) between lowest and highest point. Maximum slope is 30 degrees (containing grass). Soil, no rocks.

I would like your input on the following thoughts regarding the autonomy and navigation of the robot.

1) bumpers
Allways good to have for situations where new or moving objects 'magically' appear. A gotta have.

2) map
I plan to let the robot build up a map of it's environment. It will use it to 'plan' a route (e.g. when it decides to do the driveway sides of the garden) as well as 'discover' it's world. It will also keep track of obstacles being found and storing these on the map. Reoccurrences imply static objects. Others might be movable objects (important for path planning)

3) odometer
Use dead-reckoning with the odometer and the map to move around

1-3) combined
give a reasonable system to move around but the disadvantage is the 'drift' which unavoidably slips into the system. Imagine the robot sliding a bit on wet grass when it is moving on a slope. Worst case the drift accumulates (it does NOT average out).

So I need to have a system which will enable the robot to sync it's location one way or the other
5) compass
I have a digital (cheap) compass lying around that just begs to be hacked. It 'might' improve the precision of the whole system a bit but it doesn't solve the problem. I am even thinking of using it to not randomly have the lawn mowed but more 'controlled', just another topic

6) gps
have an old serial gps lying around as well. Definately not precise enough but it will prevent the lawnbot to leave the premises go to the neighbours and declare love to the big-assed sit on lawnmower they own. It will allow the robot to more or less find it's way back to it's docking station (within a couple of meters) if it gets completely lost.

1-6) combined
will already give an interesting system as the dead reckoning with compass and gps will enable the mapping software to determine the probability of 'being' at a certain location.

7) But it would be better if that could be verified.
Now I could use proximity sensors (IR, Ultrasonic, ...) to sense the environment and 'see' if the navigator got it right and matches it with the reading of the sensors, but you run the risk it a) looses track of where it is b) somebody kicks a ball around in the garden.... and it will be utterly confused.

next idea was RFID tags buried in the garden at certain locations. It will help synchronise. Seems awfully complex to me.

9) beacons
nice idea but
9a) IR/laser/light beacon: do they work outside? at what range? my garden has quite some altitude differences and the accompanying slopes so it's not the lab environment where the IR beam is exactly at a certain hight relative to the robot.
9b) laser. seems complex as well. i have seen solutions with moving mirrors and such but in the climate here (alps) it gets darn cold in winter and hot in summer. just seems to fragile with me. another issue is safety. lasers are NOT stuff to mess with.
9c) RF beacons. Timing is too critical.
9c) ultrasonic beacon. range? drive my dog nuts?

10) electric fence buried in ground
good idea but a lot of work and we have a lot of rodents in the garden that seem to love eating cables. besides that I see an electronic fence as a 'reverse bumper'. it's good that it's there but if navigation and location are correct you should never be using it.

I am still fascinated by a beacon systems to synchronise, either by active beacons (transmitting constantly or at regular intervals (5-10 minutes) or 'passive' ones which will transmit when a signal is received from outside.

Another thought is to have the robot actively search for 'recogniseable' points (like the docking station) to return to regularly (or when in the area) to synchronise again. 

 Now my question is simple: what are your thoughts and experiences?


P.S. the mowing part I will build in last as I want to make sure that it is all properly working. My wife has added a rule to the 3 robotics laws of Asimow and calls it law 0: mowed flowers equals instant death.

Comment viewing options

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

Preceeding outdoor robots :

Mower robots from Friendly Robotics use a buried "wire fence" around the perimeter of the area they are to mow. Think a small oscillation is on the wire, so that it is more easily detected by the mower, and it is recommended that a perimeter drive of the robot occurs before it is allowed to zigzag randomly across the remaining area. Bumper sensors and tilt sensors (to shut off blades if overturned).

Outdoor point drive robot contestants like jbot use a combination of odometry (which looses a little track) and IMU data to maintain fine (few inches) location, while GPS provides a more general location within perhaps a 10 foot area. 

A quick personal test on a GP2D12 sensor out pointed towards the sun, showed little if any reduction in measurement capabilites, though others claim they get smamped. Simply hook a sensor to a 4 AA battery pack, and measure output voltage with a meter outside for your own tests. GP2D12s are more short range, could try GP2D0Y02YK for more distance. 

@JKLUG80: I see some highly active people on this site (you are one of them). thanks for responding so much and thoroughly. There are not a lot of fora out there where newbies are not treated as morons.

btw... did you know that KLUG is the german word for clever?

Yup :) I have german on both sides of my family yet I took spanish in high school and it was my minor in college.

I don't mind helping. Whatever you learn and create benefits me as well as long as you document it ;) I will admit I am more interested in theory (how would this work) and building parts and sensors more than the mechanics of robots. That is why most of my builds involve making a sensor or doing a proof of concept and most of my robots dont get finished. I don't mind helping just document whatever you make with enough detail for a semi advanced user can duplicate it. I may steal some of your designs or ideas for my own future robots.

Servus! (I am dutch and living with my english wife in the alps in Germany)

No worries, that's exactly my plan. I am doing a lot of research myself as well before I build anything, but will definately report back on progress and achievements as well as failures.

I would not call it stealing. It is just incorporating the ideas of others. Let's make robots!


Another cheap possibility is to walk it around mowing your yard once and have it record all the movements using stepper motors or encoders. Then it has the path memorized and keeps doing the same path everytime.

hehehe. walk the dog first, then make it mow the lawn! maybe i will call it robogoat.

if i combine the replies to your two last posts:

i want to use odometry for basic navigation along with a map. so the bot 'knows' where it is.
the RFID (or other) is use to correct any systemic or external (like sliding on wet grass) inaccuracys. so every now i want to let it do the following

1) take current location (as based on last fixed point and odometry)
2) determine path to nearest fixpoint (RFID tag)
3) move to that point
4) while not found fixpoint, start driving around in an outward spiral until point found.
5) fix bot to that point

Still lots of opportunities for error but if you synchronise often enough and if accuracy of odometer is good enough then it should give me a lot of milage.

This way I would only need a couple of tags buried in the garden.

Obviously I have to put limits IN the map (your training round sounds like a good idea as well) to prevent it skinning the neighbours cat.Now that I think of it... I might scare it off with ultrasound range detectors :-D )





another option might be to use a metal detector and bury some metal at strategic locations in the garden. It's a poor man's RFID (but then without the ID of course ;-) ) It will enable me to detact the presence of a 'know' point without knowing which one it is

Anything buryied would almost have to be a solid line or buryied within a few CM of each other or the bot may drive between the points and mow the neighbor's cat. That would also just keep it contained within a certain area, but not really help it mow everything unless it ran around long enough to eventually find all the spots.
Consumer versions use infrared to see which parts have been cut and which havent and use similar code to a line follower to keep the cut grass on one side of the blade so it cuts the uncut grass. This does require someone to walk it around using a remote to finish 1 lap. The mower the keeps going until it runs out of uncut grass.

Thank you.

I have seen websites about that as well, it's a neat solution but  i want to avoid mowing the first round myself since the edges are the most annoying parts to mow!.I do wonder as well how much these IR sensors suffer from sunlight. 

Other systems work with the pre mentioned 'electronic fence'; a modulated signal through a wire (lets say 70khz) and a coil to pick the signal up. will work as a boundary and will definately keep the mower out of the flowerbeds.

A real silly, yet funny, one was a pole in the middle of the garden. Piece of rope attached to it and a self powered lawnmower tied to it. It will start running circles around the pole until it runs out of rope. Effective if you have a round lawn.

My main goal of this topic was to discuss autonomous navigation in a very robust way. The mowing will come later.