Catch up on stories from the past week (and beyond) at the Slashdot story archive

 



Forgot your password?
typodupeerror
×
Technology

Robot Positioning Systems? 26

CyberLeader asks: "As a hobby I've been developing a small robot to mow the lawn (giving me more precious hours to read Slashdot, of course). The intended brain of the 'bot is a small Linux-based on-board PC. To be able to operate the 'bot as desired, the PC needs to be able to accurately identify the robot's location to within about 10 centimeters, but I can't find any decent system to do this that falls within my cost constraints of a few hundred U.S. dollars. The position doesn't have to be global; it can be relative to radio beacons or similar devices placed around the yard. Any suggestions?" Ah, the mischeif I could have caused if I had had one of these as a teenager...
This discussion has been archived. No new comments can be posted.

Robot Posigioning Systems

Comments Filter:
  • it might be possible to do what you are thinking by setting up a few small devices around the yard that would emit a radio signal, thereby telling the robot its relative position in the yard.
    i know there are systems for yards with a similar setup. although the sgnals are used not to control or give a position, but to keep a dog within the specified area (it will shock the dog if it tries to leave) :P
  • I'm no roboticist (though few of us are), but is there a way for the robot to tell what kind of terrain it's on? Tell it to move around randomly, but if it hits asphalt turn back. This could make for a messy lawn, but the only reason you're doing this is to freak out the neighbors I assume.

    Another thing might just be to program very precise geometrical measurements into the bot. Go forward 10 feet, make a left turn, go forward 1 foot, left turn, forward 10 feet, etc.
    --
  • Since you have absolutely no business whatsoever allowing something like this to operate unattended, you might as well just go with plain ol' wireless remote control and get any necessary guidance information with your eyes.

    I'd say something about Cliff having misspelled mischief, but that would just about guarantee that I'd misspelled guidance.

  • Firstly, please be very careful. I agree totally with the above posts in that you shouldn't be running something like this unattended. A lawnmower with blades can be a dangerous device if it goes where it isn't meant to (like onto a road), or if it runs over something and turns it into a projectile (like a golf ball). Remotely, I don't think that you can account for these possibilities. More importantly, you could be held accountable for anything the robot does while you're not watching (even if it runs over a neighbour's garden, or their cat). Just something to think about, FYI.

    The geek in me, however, has thought about the same idea. I think it's a neat idea and I've always wanted to try it myself. One of my ideas was to lay out a "track" of sorts - a wire through which runs some low current which you can perhaps have the robot follow, perhaps by detecting the magnetic fields or something. Maybe I'm f.o.s. since I have no idea how to implement this (I'm only a programmer - no electronics experience), but Lego Mindstorms gave me this idea when the book encouraged me to try to build a robot that follows a black line on the floor. In this case, of course, you use the optical sensor to have the robot turn one way if it sees black, and the other way as it sees white. The end result is a robot which jerkily makes its way round the oval they provide on a poster-sized sheet.

    So instead of trying to use radio positioning or precise measurements, maybe there's a way to lay out a track that it can follow. A bit of work, but if done properly you'll only need to do it once, right?
  • I think you're on the right track here with radio signals, however the devices do not need to be a few, nor should they be the transmitters. It would be simple to create a triangulation system with just two receivers (one on each end of the house should suffice) and the transmitter in the mower. With this method, you would need a secondary transmitting/receiving system to send the location back to the mower. With a distance of 10 to 12 feet between the receiving antennas and a fast receiving/calculation system you should get more than enough accuracy for what you need. Also note the safety/leagle issues brough up by others.

  • Place several radio beacons around and in the intended area. Have each transmit on a slightly different frequency. If the robo-mower knows the frequency that the beacons are transmitting at, knows the frequency it is receiving the beacons on, and knows the speed at which it is moving, it should be able to use the doppler effect to figure out where it is compared to the known locations of the beacons. (At robo-mower speeds, though, the doppler shift may be to small to measure accuratly within the confines of a robo-mower.) This would also add a degree of safety. If the robo-mower detects that it is moving away from all of the beacons, it would shut off immediatly (and somehow call for help) since it is probably outside the intended area. As I said a sentance or two ago, the trick here would be to properly detect the very small doppler shifts without relying on expensive (both in money and power) hardware.

  • by Matt_Bennett ( 79107 ) on Sunday February 18, 2001 @09:27AM (#422640) Homepage Journal
    At a place I used to work, used a system developed by MacLeod Technologies, the CONAC System. They used to have a web page, but I can't find it. Very small company, snd I don't know if they are in buisness anymore. Here's a PDF [nosc.mil] that has a bit of a description. A google search on CONAC gets a few more hits. It is very accurate over a limited area like a yard- it works like this: Spin a laser that has a somewhat fan shaped beam, with the axis of the fan vertical, and sweeping 360 degrees of azimuth. Place (laser) recievers at known, fixed locations around the perimeter of the area. When the laser sweeps over a beacon, record the time. The time betwwen each reciever responding will give you azimuth to each reciver. If you have a reciever on the robot itself, you know which direction your robot is pointing, in relation to the array of recievers. With all this information, you can derive position and azimuth of your robot.

    Make sure you have >> 3 recievers so you can have an overdetermined solution, so that if one reciever is blocked by a person, tree, or errant butterfly, you can still determine the position.

    This *does* work, as long as you don't get too far from the sensors. The farther the sensor is away, the less accurate the position solution. You might want to implement multiple sorts of sensors, including compass and whatever else you can, and feed them all as inputs to a Kalman filter, which should give you a more robust solution.

    If you'd like to talk about this, de-obfuscate, and drop me an email. I'd love to have a system like this for my *own* lawn.
  • The obvious solution to the danger of letting this operate unattended is to take the blades off!
    Sears, and probably others, sell a lawnmower using nylon string trimmer blades.
    You might even be able to adapt a normal string trimmer for this.
  • > Another thing might just be to program very precise geometrical measurements into the
    > bot. Go forward 10 feet, make a left turn, go forward 1 foot, left turn, forward 10 feet, etc.

    Ah! a lawn-mowing robot programmed in LOGO.
    I bet Seymour Papert never envisioned *that* as an application for his language!!

  • Having seen stories about robot mowers in the past, I revisited them to see how they accomplish this. This one [edgereview.com] uses a perimeter wire to tell the mower it's hit the boundary, plus onboard sensors to sense obstacles. Same for this one [robotbooks.com]. I did a number of google searches for robot position sensing and didn't come up with anything that would represent a drop-in solution. Some folks are experimenting with visual clues, others with mathematical means to 'estimate' position (I don't know about you, but no mower of mine is going to figure out where it is by 'estimating'), while others are experimenting with sonar. I suspect that you aren't going to find a commercial product that will allow the accurate positioning you're after, at least not at the price goal you've set. Looks like you'll have to be a pioneer. Good luck.
  • find a construction company that has fallen on hard times from a grand state a few years back. See if they have any laser transit / positioning systems available (the ones I saw were made by Spectra Physics, there were other manufacturers, too). New, they'd be way too expensive for you, used you might can find a deal.
  • use one of those invisible fences that people use to keep their dogs in, but instead of shocking your lawnmower, just have adjust course to stay inside it's boundries
  • What if instead of blades, you had lasers? Self contained in the undercarrage of the mower. Wouldnt have to worry about grass clippings...they'd just get burnt up.

    Power would be a large concern, but *shrug* i'm not even on the right topic here.
  • So I was reading some magazine, don't know which one, and I saw an interesting picture. Basically, it's a cool ass riding lawnmower. The inventors took one of those nasty ass "Smart Cars", and put this laser spiel underneath it. I have no proof that I saw this, but I assure you I did. (I'd try to find links, but I'm at an internet cafe, and time is money, apparently.)
  • By using a twin pickup coil on the bot, it should be able to follow a buried wire with an AC signal. it works like a line following bot by comparison of the recieved signal strengths. Have it shutdown with the loss of a signal. This may help some of the liability issues if it trys to mow the garden next door. Wires with a signal between 3k and 30Khz provide good coupling for a well defined null position for the pick up coils. For an effecient way to drive the buried line, tune it and drive it at resonance. It helps lighten the load on your driver while providing high current in the buried line for the bot to sense.

    If you really want to go cheap, just tie the lawn mower to the tree in the yard. As it circles the tree, it cuts smaller circles. If it does run over the cat, it was already dead.

  • Cost and coverage area are biggies! A US coast guard type receiver is more than US $400 and must be connected to a GPS reciever that will accept the differential signal. The signal is in the 300Khz band. You may need to shield the ignition on the lawn mower to prevent ignition noise interferance with the receiver. The USCG signals do not cover all 50 states. Unless you live near a large navigable waterway you are out of luck on this cheap solution. The other solutions are satelite based. While they are more precise, they are by subscription only. (expensive)
  • Detecting the doppler shift at speeds 1 m/s in near impossible with todays technology. The speed of light is ~= 299,000,000 m/s, where to sucessfully detect a doppler shift would require you to travel at significant speed (at least 1/1000th of light speed). And this would also require expensive equipment. The acceleration and deceraleration at these speeds will tear your lawn mower apart.
  • Three IR LED beacons, mounted on the gateposts. Each one bleeped a simple ID code (TV remote chipset, with a button permanently down).

    On the two 'bots, were scanner heads. These were dead simple, a stepper to rotate it and a pair of IR detectors and lenses as a simple 1-axis discriminator. By stopping, then scanning the head around a bit, the bot could take a bearing on each of the beacons. Some triangulation and it then had a position fix. Crude, inefficient, lots of software, but the hardware was cheap & easy.

    Control was a couple of nested state machines.

    One beacon had few bits of data link in the code as well; just a simple "Wander around the garden", "Come home now", "'Bot A get into the kennel" code.

    "Home" was a kennel in the conservatory, with the coded beacon mounted directly above the door. When "homing", they just did a home on the beacon until they were nearby to it. To get them through the kennel's bot-flap there was a buried wire inductive guide. Each bot 'was called through in turn, at which point it homed as close as possible to the beacon, until it picked up the wire field and then line-followed that through the flap. Indoors there were actually two separate wires, so the 'bots could park side-by-side and charge up.

    The 'bots themselves were just little diamond chassis, with a single powered wheel each side and a castor at each end. In the middle was a plantpot (that being the function of the whole malarkey).

    Battery life was OK, as they didn't move much. They weren't mobile 'bots, so much as randomly re-positioning on an intermittent basis.

    Stuff they should have had:

    • Better traction in mud. We had to limit their "range" to a tiny part of the available garden, as they got bogged down near the edges.
    • Garden edge detection, with a buried inductive wire. After all, they already had the on-board detectors
    • A 'bot -> base signalling channel for "Call me home, my battery is getting flat"

    Dallas Semiconductor's TINI board [ibutton.com] is cool for this sort of thing.

  • Er, I'm sure it doesn't run a typical lawnmower attachment with a high-speed blade or anything. At least, I hope it doesn't run a typical lawnmower attachment with a high-speed blade or anything. A small slow crawling lawnmower doesn't need to be dangerous.
  • A commercial product that has been doing this for years now runs on solar power, all the time, and follows a random pattern stopping when it reaches the wire.
  • Right. The most common robot mowing mechanism is a spinning disk with small spring-loaded hobby knife blades sticking out; a shoe gives it a lot of trouble. Or the weed trimmer design of a spinning string.

    If you want, you could put tiny arms holding tiny tweezers and cut the grass by tearing out six bites from each blade of grass...

  • Thanks for the responses so far. Some clarification to some of the points raised:

    • It doesn't have a whirling blade o' death. It has a small cutter that might take some skin off if someone managed to get in front of it, but not much more. Level and light sensors on the underside shut everything down if someone lifts the mower.
    • Perimeter wire detection is impractical in this case because of the size of the yard being mowed (45,000 square feet) and some complicated terrain (mostly a lot of small trees on a steep hill in the front.) I have considered using many sets of perimeter wire to break it into zones, but that has its own issues.
    • I've seen the LawnNibbler links before, but I think I first saw them over two years ago with no sign of a commercial product. Has anyone seen an actual product come out of that group?
    • I suspect that radio won't help much because of the very small speeds and distances involved; not enough doppler shift to measure. I've considered using triangulation via a rotating directional antenna on the robot itself to find multiple static beacons, but I'm not sure how accurately I could pinpoint the location of each beacon.
    • The laser and sonar options are interesting, and I'll probably research these further.
    • And yes, it will be fun to freak the neighbors out. Or better yet, subcontract the robot to do their yards as well. :)
  • instead of shocking your lawnmower

    Nah, shock the little tin bastard. Those 'bots will be getting uppity enough before too long. Best keep them in their place now.

  • Radio just isn't going to cut it for this. Simple and reliable 'bot positioning at this time needs an absolute position indicator. Open the box, place the 'bot on-site, boot it up for the very first time and it should be able to work out where it is. Anything that requires it to be placed in a "known position", then track movement from their is just too painful to contemplate.

    Doppler radio systems might deliver some velocity information (but it's difficult), but it cannot do absolute positioning.

    Radio multi-station phase-tracking systems were developed during WW2 [danshistory.com] (Gee [lineone.net], Oboe [tripod.com]) to give absolute positions. The trouble with these is that they only work over long distances. They work by timing path length differences between fixed stations, so they can only work if the path lengths differ by more than the shortest time interval you can measure, multiplied by the speed of light. With radio wavelengths in a garden - forget it !

For God's sake, stop researching for a while and begin to think!

Working...