Poor weather has played havoc with our blade-testing, so the Genuinely Autonomous Garden Assistant (GAGA) team has been focusing on location-tracking technologies, with near-uniformly disappointing results. Who would have believed that in the first years of the 21st century, a robot going about its business could not be followed …
Why the Eff?
Maybe I'm missing something here, but why exactly are you trying to locate the mower externally? That's never going to be very reliable (as I predicted in the first round of consultation; my very own "I told you so" moment).
If you were keeping track of the displacement of the robot instead, turtle-like, it would be much easier. Distance is very easy, there are devices readily available. The direction would need to be worked out otherwise, but I guess that's not too hard. The angle of the wheels is not going to be accurate enough, but a fixed reference point should be good enough (IR light perhaps?).
If you know precisely how much you moved and in which direction, and you know where you started from, then you know where you are.
Re: Why the Eff?
What happens when a wheel slips on wet grass or mud?
Re: Why the Eff?
> What happens when a wheel slips on wet grass or mud?
Why would it matter? As I mentionned, measuring the angle of the wheels is not going to be precise enough even without slipping. Direction needs to be established thanks to a beacon of some sort. If you were referring to the odometer wheel, I think you'll find that odometer wheels are usually almost free-running, and thus unliquely to slip. If that worries you it is possible to use a studded wheel or even add metal crampons of some sort to make sure that the wheel won't slip. That is always going to be massively more reliable that any radiolocation, GPS, optical triangulation or any other method proposed to date. This is THE reliable technique. Plus, it's amazingly simple to implement.
Re: Why the Eff?
Before I forget: for direction recognition you will want a 360 degree camera, and determine the direction in software. A rotating camera will never be fast or accurate enough
A set of round posts with vertical bar codes. Or QR codes. Rotating sensor that knows the angle it's at with respect to mower front. Simple triangulation if 3 or more posts can be seen. And you'll also know which way the mower is pointing.
Codes could even contain info about the posts position. I.e. Sequence in perimiter, NE Corner, etc.
Think outside the box
Place a swimsuit attired person in a reclining lawn chair. The neighbor will mow the grass for free.
I'd think about VOR-style beacons
I think could be done as optical or radio location.
Basic principle - the beacon sends two signals. One, reference, omnidirectional, the other - modulated and directional, from a rotating emitter/antenna.
Measuring the difference between the reference and modulated signals will give your receiver's radial, i.e. the bearing from the beacon to the receiver. Using two beacons at known locations gives you the exact position of the receiver by simple calculation of intersection of two lines.
The receiver (GAGA) only needs to detect and decode the signal without having to identify precisely from which direction it is coming. So a simple radio aerial (if using radio beacons) or a fish-eye lens (if optical) will be enough.
If radio you can have a constant reference signal and AM or FM modulated rotating one, or a pulse reference with constant but very directional rotating one (so the radial angle will be calculated from the time between reception of the reference pulse and the peak of the rotating signal).
For optics - a strobe and rotating flashlight with some blinds for directionality and a colour filter for beacon identity could be an option.
Variable power reader?
"use a higher-power reader to read multiple tags" ... "we've not been able to find any hardware which will report the signal strength of an RFID tag"
Can you get a variable power reader? Sweep the power and note at what power level the various signals appear.
Or maybe have Kinect watch the mower moving?
Re: Grass detector?
Clearly you've never seen grass in a rain-free summer.
Re: Grass detector?
Though you can assume that if the grass is dead it probably doesn't need mowing.
I like the IR LED method mentioned here. By using multiple sets of LEDs in unique patterns the camera could measure the distance and compass bearing to whichever set it could see. Using the LEDs in pairs could also solve the problem of an LED going out. (Rare, but it's nice not to have to make repairs as often) Each pole would have an LED pattern set and a pair of reference LEDs below it so distance could be measured The Pattern Sets could be in an L shape with the reference LED a meter below. That way, the L Pattern could be turned 90 degrees for up to 4 unique patterns. Just remember to have a white L-Shape painted behind the LEDs on a dark background so the camera can easily see the shape night or day
LEGO and Voland have it right, and so has one schoolkid I just met.
Just come back from a prizegiving event for junior researchers where one of the winners was a kid who located his LEGO robot by using colour coding for the walls of its enclosure so the robot could see which way it was facing, and sonar for the distance to the wall. Worked reliably in a loud exhibition hall with changing lighting. The robot could maneuvre quite well inside the enclosure.
Replace the coloured walls with three or four differently coloured reflectors whose locations are known to the robot, and the sonar with Voland's ultrasound loudspeakers, and you're done.
Put a brick or concrete barrier all around the grass so it cannot escape, then set the bot loose on a Lévy walk.
Have you thought of mounting a camera above the lawn, then superimposing a grid on the picture and mounting some sort of marker on the mower? If you fed the cam through a computer you should be able to track the location of the mower on the lawn/grid in real time.
A friend of mine solved this down to the sub 1M range for the seismic/surveying industry using inertial navigation married to GPS. Very simplistically, after the first 'good' GPS fix, all movement after that is relative, until the next 'good' fix etc.
Since you know 'exactly' where the garden shed is, as a starting point, GAGA could mow for x minutes (or to a pre-defined loaction) inertially, pause to acquire a 5, 7, 9, whatever satellite 'fix' , update its location if necessary and repeat as/if necessary until the job is done.
Size does matter, but since GAGA is a ride-on contraption, a designer backpack rig should not be a concern for the prototype.
I am not comfortable posting someone elses e-mail addy in a public forum, but if you wish to pursue, let me know and I will be happy to share with the SPB.
Buy a sheep
A sheep is a remarkably hi-tech piece of kit that not only knows where it is on the lawn, but also uses the lawn as a power source. You might need to put a fence round the rose bush though.
Re: Buy a sheep
Just make sure it's not a goat. They only eat grass after everything else. Including oddly once all the buttons off my shirt on the washing line. Without tearing the shirt. Goats are deranged.
Re: Buy a sheep
and automatically applies fertilizer as well.
I'm too lazy to downvote all the sonar/ultrasonic rangefinder commentards
In case you missed it: This is a LAWNMOWER we are discussing. How is an ultrasonic transducer going to hear the echo of a tic-tic-tic over the din of a barely muffled single cylinder engine and the rattles generated by a slightly out-of-balance whirling blade?
Pulsed IR Beacons in the corners of the garden and a detector mounted on a goniometer FTW. You don't need to make the beacons transmit unique codes. You just need to strobe them so you can overdrive the power for extra brilliance at a low enough duty cycle to keep from smoking the junction. It also gives you noise rejection from steady-state sunlight glinting off of the prized glass garden orb.
The mower will start at a known location, and constantly update it's position from there. If you map the location of the beacons, then you should be able to quickly servo to one side of where you expect each beacon to be, Then do a slower scan to precisely locate that beacon. Then move on to the next one. Calculate your updated position while the sensor whirls back to start.
That's sorted, then. Oh, the weather was too nice for a coat, today. I'll just leave, then.
Re: I'm too lazy to downvote all the sonar/ultrasonic rangefinder commentards
No difficulty in demodulation of PSK on a 40kHz narrowband carrier. Not a huge o/p from lawnmower at that frequency. 40KHz and 60kHz has been used in extremely noisy environments.
The data rate doesn't need to be high which lowers the SNR needed.
Is only 166Hz. There are harmonics and stuff of course.
How about this?
You put a motorized camera on top of the thing, to take panoramic photos of its surroundings.
Using these images, a suitable application scans the images and finds 'important' points. After taking one of these panoramic views, the robot slowly displaces itself a given distance and repeats the process, until it has gathered enough data to triangulate the entire garden. From this data the app obtains a 'mathematical model' of your garden, that it can use to choose its path .
If you want to define 'boundaries', so your Gaga-bot doesn't try to mow the swimming pool, you use a 'laser wall', something you can cheaply build yourselves with a laser pointer and a suitably shaped reflector. Once the bot has 'learned' it's surroundings, the user can save and give a name to the 'map' generated. After this, the user can remove the 'laser walls', as they aren't need now that Gaga has the terrain map.
In normal operation, the Gaga takes more photos -not complete panoramics- to know its exact position and define an optimal path using the map model created before.
I admit that the programs to perform those tasks must be really complicated, but several systems for obtaining 3D data from overlapping 2D photos have already been developed, and this is very close to what would be needed here. I'm sure that if ElReg sponsored an open source project for this, they would get top talent to do the work. And lots of fun.
Another drawback is that you'd probably need a PC connected -WiFi?- to the Gaga-bot to perform these tasks. Of course that's not a big issue, as any one nerdy enough to build one of these, and use it, probably has more computers at home than they have shoes.
Yes, I mean all those guys able to lay relaxedly in a hammock enjoying a pint of beer or three, while Gaga suffers some software bug, escapes the boundaries of his internal map and brings indescribable havoc upon the neighborhood.
Re: How about this?
"You put a motorized camera on top of the thing, to take panoramic photos of its surroundings."
That'll fail. Because of at least 2 reason: no motorised camera is going to report it's facing direction accurately enough for that use. And building the panorama while the mower is moving would render the resulting panorama completely useless anyway.
You need a 360 degrees camera.
The third reason why it will probably fail is that with vibrations, light variations etc you will probably never be able to reliably recognise the features. Certainly not reliably enough to do any kind of triangulation (that's true for most of the proposed optical triangulation methods, btw).
I stand by my guns; the only thing I'm still working on is the precise calculation of the curves (as in my proposed method, errors are cumulative, that's potentially a BIG deal).
One word - Baa
Buy a lamb (or a ewe that turned out lambless, even cheaper) in the spring, let it eat the grass until autumn, then 'garage' it in the freezer (mmmm ... chops).
my mum has a gardener go round every few weeks to mow the lawn, he charge £10 an hour and it takes him a couple of hours... that's £360 a year
is it really worth all the faff and hundreds of pounds of kit to avoid paying less than £400 a year to help out a local small business?
I'm pretty sure whatever kit you end up with it will need fixing/replacing every few years anyway
3d scanning with kinect
Although I have barely even dipped my toe into this field at the moment, both the 3d scanning of objects, and the 3d printing of objects are projects that I am considering getting into currently.
There are several projects that are using the kinect camera for a basic architectural survey, it is able to pick up features that experts can determine need more investigation. The more passes the camera does, the more detail gets overlayed.
You would need to rotate the camera through a 360 degree rotation at a known fixed speed, and then compare the created image against a predefined detailed map
Looking also at the requirements of double or triple passes and number of blades, you could have the motor providing the movement toggling between moving, or scanning its location.
If it is not powering the wheels for movement, the power goes into the turntable / stepper motor that turns the camera and processing unit through 360 degrees. This would give you more time in each spot to get the quality cut you are looking for.
By separating out the task (cutting the grass) from the scanning, location and movement, you end up with two different projects that may be useful in their own right.
Are there any pictures of the actual lawn and it's boundaries online? so we can gauge the size of the task in hand?
Fishing Line, Poles, Pulleys, Rotary Encoders
At robotville there was a robot that used a Kinnect and lasers to map out where all the walls were in the room so that they could know where they were relative to their starting position. Don't know if that is overkill though.
RFID real-time location system. Put the tag on the ROBOT, ring the yard with the detectors.
> Put the tag on the ROBOT, ring the yard with the detectors.
Put the tag on the ROBOT, ring The Yard and tell them there's a ne'er-do-well on the loose?
Now I just have a mental picture of a bobby chasing a roomba down the street.
I worry that you may be making this too complicated; surely the easiest way would be to surround the lawn with some kind of barrier (e.g. a buried wire carrying a low frequency signal). While barrier mapping is good if you can see a barrier sticking up (e.g. a wall), it would not prevent the lawnmower from falling in a pond or swimming pool (of course, other sensors could be used to detect such things, but they add more complexity). I'm guessing that you intend to program a map of the lawn manually, so that the lawnmower knows where your garden stops and your neighbour's car begins; if so, you had better get your measurements spot on!
Burying a cable, of course, would eliminate the need for mapping beyond a simple inertial model; the lawnmower could roam around the lawn like a demented Roomba, and you would never have to worry about it escaping. Unless the low frequency power went off, of course.
I did have a crazy idea about RuBee style inductance transmitters; I'm no expert, but I understand that if the ariel size is a tiny fraction of the wavelength, the magnetic field dominates the electric field. As the magnetic field falls off much more quickly than the electric field, you could triangulate from magnetic field strength with greater accuracy than from the electric field strength, while still avoiding interference. All you would need would be a few short ariels / inductance coils transmitting different VLF frequencies (with kilometer-scale wavelengths). (These low frequencies propagate without worrying about water, metal, humans etc., which would solve one of your WiFi problems.) The lawnmower could then triangulate its position with some simple analogue electronics.
No idea if this would work, but it would be reasonably easy to try, and would work a lot better than using RFID tags which are *designed* to be unreadable more than a few centimetres away.
Gardens aren't just empty space, they have things like swing sets, paddling pools, trees and sheds in them. Obstructions could cause problems for beacon-based optical methods.
The guy who suggested dead reckoning using wheel motion got downvoted, but it is a serious technique. Check out this article where 0.5% accuracy was achieved:
Recalibration could be done at close range to a fixed beacon, which would be simpler and cheaper than long-range positioning.
Object location using sound
In the past ultrasound has solved this problem, at least indoors.
Your problem with GPS is the speed of light, but you don't need a GLOBAL positioning system, you need a local one. Ultrasonic transducers of the kind often used in car alarms are easy to get hold of, they have a peak efficiency somewhere around 40khz but you need two or three distinct beacons. Just below, at and above that point. More beacons make obtaining a fix easier.
Synchronised pulses from multiple beacons reach the robot at different times, or you can send pulses from the robot to be located by multiple receivers, whatever, you get the picture.
I'm all for putting a beacon on the bot and a camera on the fence. put it in the corner and it can do an L-shaped garden, although it seems reasonable not to support crazy shapes - most gardens are more or less rectangular. The bot would only have to flash a signal every so often, so it'd be very low power, and the camera could be hooked up to the mains. Super cheap and ticks the boxes.