Navigate Robot Lawn Mower
Yianie
Posts: 49
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.
Comments
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,
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...
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.
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
Do you have any metal on the robot?
I'm betting the metal detector route is far from simple.
Duane
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...
Then again, there is no problem with having 3 coils that sense the electromagnetic wave separately on 3 sides of the mower.
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...
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.
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).
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.
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?
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.
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.
@alex123, I wish! Obviously you have no psychic powers ;- ) I was busy working and had no internet access for a few days.
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.
That's what I would do with these beacons. A different analog modulation or a digital signature in them.
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.
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 ?
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.