07-26-2010, 01:04 PM
http://forums.parallax.com/images/smilies/nono.gif·im trying to make a lawn mower but am having trouble with the program.
i cant think of a way for it to know when it is done with the whole yard and to sent the done signal to the remote.
please help me
07-27-2010, 12:19 AM
Could you help us with your circuit, your code, and how you have the setup for the mower to know where the lawn edges are? Most random mower programs just run for a certain time then quit, figuring that in that time they must have gotten all the grass. Also if this runs every few days the grass it misses won't be much longer than that it cut.
07-27-2010, 04:38 AM
"Imagination is more important than knowledge..." Albert Einstein
07-27-2010, 09:59 AM
What your are tying to do is non-trivial, but a lot of fun :-) I've been working on mine (in my scarce free-time - so mostly a thought project and a series of experiments to build up the sections). I can share some of my observations.
1) Mowers are dangerous!
This is probably the most important aspect - safety first!·Mowers by nature·have sharp fast moving parts that can damage things (actually - think about it, they are designed in the sole purpose to damage the stems of plants), and can have an undesired effect on living things such as family members, children, pets, flower beds, etc. Automating them is·inviting disaster! If you are planning on having this run unsupervised you will need to seriously consider the safety aspects! You may want to consider having the cutting system well within the body of the mower, implement tamper (touch and tilt) sensors. Consider a cutting system·that is less dangerous to human flesh, and current change detectors to shut down in non-standard conditions (ie. clothing/dog lead, rope, etc. getting snagged in a wheel or cutter). And probably an emergency stop button.
2) The robot will need to have some kind of boundary for the area that is being mowed.
There would be·many ways of doing this, anything from a hard walls, IR beams, GPS position points (if you are mowing a portion of a paddock), though the standard is an RF fence (needs to meet your countries RF transmission laws). Most commercial systems will use an wire carrying a weak RF signal (ie. AM modulated DTMF, picked up by an AM radio circuit and DTMF decoder). And you may want to consider a secondary system should it fail to detect the primary and end up in the flower garden rather than the grass.
3) Your robot needs to be able to track it's position within the fenced mowing area.
Again there are many ways of doing this, usual way is a tacho on each wheel, you can then either track the position into an array (x,y) assuming a square area! haha and setting a bit if it has covered the area. I was considering using tacos to X & Y counters, this will give you a vectored condition from the start point, when you get a fenceline you can roll this as a hard point in determining your fence position.
4) Mowing strategy.
As Franklin has indicated there are ways of achieving this. It could be random, vector, strip, etc. You may have multiple methods to ensure you don't miss something. Unlike a human, unless you build the robot to detect if it's missed a strip of grass by being off position then your mowing stategy needs to take this into consideration.
5) Determining completion.
The granularity of tracking, position accuracy·and the Mower strategy will help to determine. However as Franklin indicated you could rely on the accuracy of your mowing strategy and an estimated completion time and time-out. You may want to also measure battery voltage and current draw for prediction of battery exhaustion as an indicator as well.
6) Environmental monitoring.
Motors and batteries can overheat. In a hot yard (during the day) they can overheat quickly. Batteries overheating and discharging quickly can damage them (and depending on the type of battery can become dangerous (gas discharge)). So you may want to consider measuring battery and motor temperatures (RC time from a thermister), and may even consider over temperature cut outs. etc.
Unfortunately unlike a floor in a room (testing environment) yards are complex and hostile areas for robots, items don't conform to collision detection sensors (ie. walls on angles, object of round shape, object that don't bounce IR, or Ultrasonics nicely), the ground can be uneven, heat, moisture/water, traction can slip, etc. etc. And usually contain things that you don't want to mow (as discussed above, family members, children, pets, kids toys, flower beds etc). Your solution needs to take all of this into consideration. Even if you plan for it to be a secured area (locked yard, no people, pets, volatile items (toys, flower beds, etc)) you should still plan for this if it is unsupervised as you are ultimately accountable for your creation and it's activities while you are not around.
I originally started my design using a BS2P40 but I'm now working on a Propeller as I believe it's far better suited to completing the above tasks and more·in different cogs.
So as Franklin indicated there are many ways to determine completion, and it depends on what you are doing, how you are going about it. One way to think this through is to pretend you are the mower and walk it through the yard, you'll quickly determine what occurs and take this into consideration in your logic (just don't forget to include the noises! ;-)
Please remember - safety first!
It's all a function of time.
Post Edited (zoopydogsit) : 7/27/2010 2:17:03 AM GMT