triangulating signals to navigate a robot

Hi everyone,

My objective is to build a robot that will mow the lawn on its own, and not miss a spot. The first thing I need to figure out is how to make the robot aware of its location. GPS is too inaccurate. I want it to be accurate within a quarter inch.

I was thinking of installing 3 transmitters in the surroundings (wall, roof and tree ) in order to triangulate the location of the robot with respect to those 3 fixed locations.

  1. how can I make the arduino figure out how far it is to the transmitter?
  2. what transmitters/modules should I get?
  3. any other tips?

right now I just want to know how difficult it would be before I actually invest my time doing it. :slight_smile:

Quarter inch might be a little optimistic. However, for general background, you might
look at the following, "Where Am I?" [note, many MBytes],

http://www-personal.umich.edu/~johannb/

right now I just want to know how difficult it would be before I actually invest my time doing it.

Very difficult
Very expensive
Very low chance of success.

But we may just be armchair relics not appreciating the sear determination and unbound energy that you may unleash onto the challenge just to prove us wrong.

Actually years ago I think I read of such a project, but it used a buried wire to define the course that the lawnmower just had to be controlled to stay centered over the top of the wire path. I don't recall any other details but it was a working design.

Lefty

More info required on the project scope, such as :
topography of the lawn
dimensions of the lawn
shape of the lawn
obstructions to clear line of sight for all transmitters/sensors
height of "walls, roof and tree"

Alternative(1), hire "staff" to do the cutting - they come in various "versions", are expensive to run but can be used for other tasks and you can get a new model every year.

Alternative (2), exercise your butt.

Very difficult
Very expensive
Very low chance of success.

Yes I would agree with that.

GPS is too inaccurate. I want it to be accurate within a quarter inch.

Well that is some accuracy. If the flight time from orbiting satellites can not be measured accurately enough for you what makes you think you can time near by transmitters any better. The times you have to measure are much shorter.

I want it to be accurate within a quarter inch.

Below are post on similar projects. Possible, but 99.9% chance it is not going to happen.

https://www.google.com/search?hl=en&as_q=lawnmower&as_epq=&as_oq=&as_eq=&as_nlo=&as_nhi=&lr=&cr=&as_qdr=all&as_sitesearch=http%3A%2F%2Farduino.cc%2Fforum&as_occt=any&safe=images&tbs=&as_filetype=&as_rights=

Peace of cake. There are millions projects build by teenagers - black/white line following robot.
All you have to do, is run your lines in the air - laser beams, and install couple of LDRs on the robot. You can even modulate each line with it's own code, and use IR remote control's receivers. so robot would know what beacon it's pointed to exactly, down to millimeters.

I detect irony here. Do Canadians do it? I know Americans don't.

No irony intended, just brainstorming thoughts. Russian/Canadian.
Other idea I did not implemented in project yet, could be slightly modified version of this hardware: http://coolarduino.wordpress.com/2012/07/28/visual-navigator-making-it-mobile/ 3 leds or lasers can be assembled spatialy apart (20 cm or so, as road / traffic sign) as a sign unit, visually visible from 10-20 meters (depends on power, lighting conditions etc) and again, installed as a beacon. Arduino can see a "sign" as 3 dot , calculate distance to and plane angle to sign. May be not very accurate with chip CCD cam, but optical zoom (20 - 30 x) would bring accuracy to inches or better.

No irony intended, just brainstorming thoughts. Russian/Canadian.

Why not put the whole robot on a flying carpet? Way cool!

If your "Mowing area" were circular it'd be no problem... Tie a rope from the mower to a big enough tree... when the mower hits the tree,, You're done.... Simple.

Bob

Tie a rope from the mower

That's for making crop circles.

Following idea in reply #6, google can't find bigger than 20 mm LDR. Probably, solar panels would works as HUGE LDR sensor. It's even would be possible to assemble big linear array, stacking 10 panel in a line:
http://www.amazon.com/Charging-Extensions-ReStore-External-compatible/dp/B008I64E64/ref=lp_3236381_1_22?ie=UTF8&qid=1357354493&sr=1-22 :slight_smile:

I have done some work in farm irrigation systems where 2cm precision is required.

The main system I have used is RTK GPS which has a cost upwards of $30,000 for the GPS gear alone. It is reliable and accurate easy to implement but I'm glad that I'm not paying the bill. Not for you, but just letting you know that GPS can be very accurate.

The second best system that they use is a buried wire which transmits a signal which is in turn picked up by a couple of sensors like a radio version of the "white line" robot. This may be your best bet.

The third system that they use is furrow guidance where a dolly wheel tracks a furrow in the ground. No good for you.

heyarn:
My objective is to build a robot that will mow the lawn on its own, and not miss a spot. The first thing I need to figure out is how to make the robot aware of its location. GPS is too inaccurate. I want it to be accurate within a quarter inch.

A quarter inch is pretty optimistic, but you could probably get within +/- 6 inches with the proper sensors and a good SLAM algorithm. It won't be easy, and it won't be cheap.

First - you'll likely want to implement some kind of perimeter barrier to establish an "outer boundry" line for the robot. You'll want this boundry line to be either active (buried perimeter wire with a signal - a hacked wire toning trace tool set from Harbor Freight might work well), or passive (perhaps a bunch of buried rare-earth magnets, and use a hall-effect sensor to detect them?).

For your on-board sensors, you'll probably want a combination of ultrasonic sonar, as well as some kind of optical distance sensor(s). Unfortunately, such sensors do not come cheaply. You could try a Sharp IR sensor on a panning servo, but what you really want is LIDAR. Cheapest 2D, 360 degree LIDAR is going to be the sensor from a Neato XV-11 (you'll have to buy the robot and rip the sensor out - it's about $300.00-$400.00 USD; trust me, that is cheap for such a sensor). The downside, though, is that the sensor wasn't designed for outdoor use, so it might not work well in such conditions (ie, sunlight, etc). Then again, neither will the Sharp IR, likely.

You'll also want a sensor (or more) to detect cut vs. un-cut grass; this will allow you to turn off the blades of the robot while driving over areas that don't need cutting (unless your blades are engine powered - then it won't matter). Such a sensor might be hard to find; I've been looking for one. The best I can think of would be a very fast acting humidity sensor and/or temperature sensor (tall, uncut grass should have a higher humidity than short/cut grass, as well as non-grass), but such sensors with fast response times seem either impossible to find, or would likely be too expensive. I've also thought about color sensors, as well as cameras (and machine vision systems).

You might also want to add some kind of "home position" and some quadrature encoders to the wheels, to give you another bit of "dead reckoning" data (perhaps a compass sensor as well to indicate heading). If you can provide beacons, too, and get some kind of distance information from them, all the better.

Then you need to integrate all of this data, and pass it into your SLAM algorithm; over time, your robot will build up a map of its surroundings and where it /thinks/ it is located within those surrounding, with a certain degree of probability (it will never be 100 percent sure of its location, but ultimately, that doesn't matter - heck, none of your sensors will be supplying 100 percent accurate readings anyhow).

Good luck solving this problem; it won't be easy. I won't say "impossible", just don't expect it to be inexpensive, or for it to be done in a weekend (heck - you might find yourself working on it for a long time)...

Peace of cake. There are millions projects build by teenagers

Irony maybe not, but definitely hyperbole!

In principle, you could use a system based on the same principles as GPS but using three or more ultrasonic transmitters surrounding the lawn instead of radio signals, to get an accuracy approaching 10mm in still air. However, it would need a lot of hardware, and the accuracy would be degraded by wind.