Shop OBEX P1 Docs P2 Docs Learn Events
Navigate Robot Lawn Mower — Parallax Forums

Navigate Robot Lawn Mower

YianieYianie Posts: 49
edited 2011-08-22 14:26 in Accessories
Hello, I am building a project, robotic lawn mower, and I am trying to find a method of allowing the robot to cut the first cut around the parimeter of the yard. I know that there are methods of having a wire on the ground and that there a some sensors that will detect the wire. I really need to know what sensor to use. I thought of a metal dectector board, but then I would need 3, 1 for right correction, 1 for left correction and the center for forward movment. Any help will be apprieciated.
«134

Comments

  • mindrobotsmindrobots Posts: 6,506
    edited 2011-08-08 12:26
    I wonder if you could hack an Invisible Fence type product that are use to keep dogs in yards? The collar module I believe varies its output based on proximity to the wire. You could sense that and determine what to do based on the signal strength. Peak signal would probably put you on top of the wire.

    A robot would/could have the same issues a dog does - overshooting the fence if they run at it to fast focused on something. After they overshoot, the problem with a dog is they are outside the fence and when they try to cross back over tho their yard, they get shocked and "discouraged". A robot mower could set a flag that it has crosssed the boundary and take the proper recovery action since it doesn't get shocked.

    Just thinking out loud,
  • alex123alex123 Posts: 102
    edited 2011-08-08 19:09
    A wire in the ground solution you're talking about (just like the Invisible Fence for pets) would be to run an insulated wire around the perimeter of your yard and connect it to a frequency generator (e.g. 1kHz). On the lawn mower a simple unshielded inductor with an RF amplifier would do the trick. The inductor may just be a piece of transformer wire wound to form a coil. When the inductor will get close enough to the wire you'd get the same frequency on the output of the RF amplifier. A rectifier and a simple low pass filter (resistor + cap) would give you an indication that you're close to the wire. Some experimenting would be required to get the right amplitude in the wire and the gain of the amplifier. The orientation of the coil will matter too by the way.
    I can foresee some problems if you have some electrical wires in the area. If so the 60Hz (50Hz) would give you the false positives. That can be alleviated by a lock-in amplifier at 1kHz or some digital frequency meter at the output of the amp.
    Hope this helps...
  • kwinnkwinn Posts: 8,697
    edited 2011-08-08 21:32
    Three other approaches come to mind. The first assumes the yard is fenced and the grass goes right up to the fence. In that case you could have a whisker or other contact sensor to permit the mower to follow the fence.

    The second assumes a flower bed around the perimeter and a flat divider such as a 4x4 wood separator between the grass and flower bed. For this an optical sensor that detects the grass would guide the mower around the perimeter.

    The third approach is to have 3 or more IR beacons to use for positioning.
  • YianieYianie Posts: 49
    edited 2011-08-09 05:55
    Thank you everyone for your comments and suggestions. I may have forgot to tell all of you that I am a mechanical engineer, so the homebuilt oscilating frequency is all Greek to me. I am also greek and I still do not understanding it. Anyone know of a simplier, possibly an off the shelf method. There are no overhead electrical wires, or underground wires near by. More suggestions are wielcomed.
  • kwinnkwinn Posts: 8,697
    edited 2011-08-09 11:01
    Yianie, any robot mower will need some form of computer or electronics for control, and some sensors to determine it's position in your yard. The suggestions posted so far cover the most frequently used methods. I would suggest finding as partner with an electronics and computer background to help with this. The only simpler off the shelf method I can think of is a goat.
  • YianieYianie Posts: 49
    edited 2011-08-09 11:29
    How about a simple, inexpesive metal detector. Three (3) on one side of the movwer with single output would be simple enough. There are so many other more siphisticated sensors like GPS, infared... Just looking for a simple metal detector sensor.
  • Duane DegnDuane Degn Posts: 10,588
    edited 2011-08-09 11:38
    I'm not sure what type of IR beacon kwinn was thinking of. Since he said to use three I'm guess he means to use the beacons to triangulate the mowers position (which I agree is a good idea).

    You could also use IR as a "virtual wall" similar to a Roomba vacuum cleaner. The IR would be only visible outside the cutting area so when the mower saw it if would know it's gone too far (or just far enough).

    Duane
  • Duane DegnDuane Degn Posts: 10,588
    edited 2011-08-09 11:40
    Yianie wrote: »
    ... Just looking for a simple metal detector sensor.

    Do you have any metal on the robot?

    I'm betting the metal detector route is far from simple.

    Duane
  • YianieYianie Posts: 49
    edited 2011-08-09 12:09
    I can make the portion out of anything.
  • alex123alex123 Posts: 102
    edited 2011-08-09 12:40
    The metal detector seems a little complex. Especially that you need 3 of them (?).

    The "invisible fence" that I described in more detials before is not very complicated if you know electronics a little. I agree with kwinn. You could partner with some RF guy to help you out.
    Putting together a simple 1kHz oscillator is not a big deal (555 chip would be my first choice). I bet you can buy a ready to go PCB with 555 chip on it. Parallax has a nice amplifier board you could use for the "receiver". The other parts (the diode and the capacitor) could be purchased here as well.
    Once you have the fence detector in place you need to control the mower so it changes direction, right? I hope you have that figured out already since you're not asking about that.
    Choose a solution, post what you're up to at the moment and someone will help you here. Good luck...
  • YianieYianie Posts: 49
    edited 2011-08-09 14:03
    My plan is to use 3 detectors, 1-left correction, 1-right correction and 1 in the center. This is my tentative control method. When the robot has to turn, the Left or Righ sensor will pickup on it and signal to change wheel directions.
  • alex123alex123 Posts: 102
    edited 2011-08-09 14:24
    Why 3 detectors? Even if you have one sensor on the front and turn one direction you will still cover the entire area eventually, right? There used to be these toy cars that had a single wheel on the front. When the car hit something the wheel turned and the car continued to go straight. Same idea...

    Then again, there is no problem with having 3 coils that sense the electromagnetic wave separately on 3 sides of the mower.
  • YianieYianie Posts: 49
    edited 2011-08-09 17:26
    OMG, are we actually agreeing on something? Great!! Now where to I find an inexpensive and simple coil to to the job? By the way, I'm Greek, so I'm saving the goat for dinner.
  • alex123alex123 Posts: 102
    edited 2011-08-09 19:59
    The cheapest way? Find an old and heavy wall (or a brick) power supply. Don't use the the cellphone chargers because they have small transformers. Take the transformer apart and carefully unwind the primary winding (the thinner wire). You'll need several feet of it. You have to experiment with the length. I think 10 feet (~3 meters) should do.
    Use a pencil (a round pencil will work better btw :)) and wind the wire around it to make the coil. Use some epoxy to hold the wires in place. Remove the pencil, strip the insulation on both ends of the wire.
    Here's your poor man's sensor...
  • kwinnkwinn Posts: 8,697
    edited 2011-08-09 22:07
    Yianie wrote: »
    OMG, are we actually agreeing on something? Great!! Now where to I find an inexpensive and simple coil to to the job? By the way, I'm Greek, so I'm saving the goat for dinner.

    My wife is Jamaican so saving the goat for dinner sounds like a good idea to me. For inexpensive simple coils try coils from relays with burned out contacts (not burned out coils). Try to get three coils from the same model relay. The higher voltage coils have more turns of wire and are more sensitive. You will still need some electronics to drive the coils though.
  • alex123alex123 Posts: 102
    edited 2011-08-10 05:24
    I like the idea of using the relay coils. That will be much simpler than making it.

    The coils will be the sensors so no need to drive them. All you need is an audio amplifier. I swear I saw one on Parallax website. Here's one on MCM:

    http://www.mcmelectronics.com/product/28-4795&t=1

    You need a drive circuit for the wire in the ground. When you'll be putting the circuit together make sure you know what your total wire resistance is and calculate the current drawn by it. If the output of your generator is not strong enough you'll need something to drive it harder (e.g. half bridge IC).
  • kwinnkwinn Posts: 8,697
    edited 2011-08-10 21:48
    alex123 wrote: »
    I like the idea of using the relay coils. That will be much simpler than making it.

    The coils will be the sensors so no need to drive them. All you need is an audio amplifier. I swear I saw one on Parallax website.

    Sorry, "drive" was a poor word choice. You need some circuitry to process the signal the coils pick up. In this case an amplifier and filter would generally be required. For the wire in the ground a 555 timer might be enough if the grass area is not too large.
  • alex123alex123 Posts: 102
    edited 2011-08-11 05:21
    Kwinn, I'm not really an RF guy so I'm learning this thing...

    So you would connect the output of the 555 chip to the wire line an antena? I was thinking more of a loop type of thing where the 555 is driving one end of the wire and the other end is grounded. In this case the max current drawn by the wire should be less that 100mA (from the 555 DS). At 5V drive you're looking at a minium of 50 Ohm. If the entire wire has less resistance that 50 you'd need a harder drive. Do I get it right?
  • kwinnkwinn Posts: 8,697
    edited 2011-08-11 05:39
    I was also thinking of a loop around the perimeter of the area to be cut by the robot with the 555 driving one end of the loop and the other end grounded on the 555 board. The wire loop would have both resistance and impedance. The resistance would be determined by the length and gauge of the wire while the impedance would be determined by the frequency of the 555 and the size and shape of the loop. All these factors would be taken in to account to determine the drive requirement and if there is a need to limit the current. A bit of experimenting would certainly be required.
  • alex123alex123 Posts: 102
    edited 2011-08-11 08:04
    I was thinking that at such a low frequncy (1kHz) we don't have to worry a lot about the inductance or capacitance of the wire. I think the worst part will be the capacitance anyway. Obviously the square wave from the 555 will look like s... sine wave but who cares.

    I would still add a pair of power MOSFETs to drive this wire because other signals that will couple to it may damage the small transistors in the 555 chip. The MAX4426 IC looks promising

    http://datasheets.maxim-ic.com/en/ds/MAX4426-MAX4428.pdf

    If you use both drivers in parallel you get 3A worth of drive strength.

    I'm beginning to like this project. I think I'll build it myself just to play with it.
  • YianieYianie Posts: 49
    edited 2011-08-11 16:52
    Kwinn, can you please explain a lttle more about the IR beacons? What they are, do, and how to work with them. This solution sounds very interesting. Thanks
  • alex123alex123 Posts: 102
    edited 2011-08-12 13:47
    Kwinn is on vacation... :)
    What I think he meant was to use 3 infrared light sources (diodes) located at certain locations on the field. By measuring the distance to them you can triangulate your position. Each of them would need to generate a unique signal though so the mower could 'tell' which one is which. Measuring the signal strength from each beacon is probably the easiest. Measuring the time of flight is lot harder because you're looking at 3ns per meter worth of resolution (if I calculated it right).
    Another idea that just came to my mind is to use the diode lasers. The laser pointers are cheap. Unfortunately there's no IR laser pointers for obvious reasons... Four lasers (or 1 laser and 3 mirrors) on each corner would work as a optical fence around the perimeter... There are major safety issues with this approach though.
  • YianieYianie Posts: 49
    edited 2011-08-13 12:22
    Where would you get unique IR beacons or lasers and how to distinguish them with a reciever?
  • kwinnkwinn Posts: 8,697
    edited 2011-08-13 18:28
    Kwinn is on vacation...

    @alex123, I wish! Obviously you have no psychic powers ;- ) I was busy working and had no internet access for a few days.
    Yianie wrote: »
    Where would you get unique IR beacons or lasers and how to distinguish them with a reciever?

    Yianie, you would make the beacons and a microcontroller on the robot would be used to distinguish between them.

    The simplest would be to use a 555 timer to make beacons that flash at different rates. The microcontroller would measure the pulse rate to determine which beacon it was looking at.

    An alternative would be to have a microcontroller on each beacon that sends out a series of pulses that the robot interprets as a beacon ID number.
  • alex123alex123 Posts: 102
    edited 2011-08-13 19:31
    Right, the "Psychic Powers" was the only engineering class I failed... :).

    That's what I would do with these beacons. A different analog modulation or a digital signature in them.
  • YianieYianie Posts: 49
    edited 2011-08-13 20:22
    The beacons seems like a good idea. What do you believe the range I can get with beacons?
  • kwinnkwinn Posts: 8,697
    edited 2011-08-13 21:14
    Well, the remote for my TV worked from about 40 feet away with no problems and they are low powered to conserve battery life. With a bigger capacity battery and high efficiency leds 100 feet should be possible, perhaps even more. How big is your yard?

    BTW, I would suggest sending a digital ID using 40KHz like the TV/Video remote controllers do so you can use the standard receiver on the robot.
  • YianieYianie Posts: 49
    edited 2011-08-13 22:23
    I. Need about 200 ft. Do you think it's still do-able? If so, do you know of any suppliers for these brute IR diodes?
  • AJ-9000AJ-9000 Posts: 52
    edited 2011-08-14 03:29
    Yianie wrote: »
    Anyone know of a simplier, possibly an off the shelf method.

    This is not cheap but if you wanted an off the shelf solution there's a robotic mower that is made called Robocut that uses a buried wire navigation system and uses a Basic Stamp 2 microprocessor that you could get; http://www.robotshop.se/micro/wwwrc_us/indext.htm

    After your mower cuts the perimeter using a buried wire navigation system what system will it use to cut the rest of the grass ?
  • alex123alex123 Posts: 102
    edited 2011-08-14 06:15
    Yianie,
    Just use a more powerfull IR diode. Digikey, Mouser?
    The only problem I see is the ambient light. The TV remotes are meant to be used indoors. The sunlight can easily saturate the detector. Do this test. Point a flashlight directly at you TV remote sensor (sometimes it's hard to find where it's at though) and try to change the channel at the same time.
    You'd need a better filter in front of the detector but that will reduce your range.
Sign In or Register to comment.