Building A Homebrew Robotic Lawnmower?
mmonkey writes "With the seemingly small amount of summer we get here in the UK, the last thing I want to be doing on a sunny day is mow the lawn. So I started thinking "surely a light-ish lawnmower could 'gain' a couple of motors, and suddenly be computer-controlled?". Then I started thinking about stuff like obstacle avoidance, optimum path planning, guidance system, how to get pretty-looking stripes, and I realised that it's actually a potentially complex (read: fun) thing to do. So, have any Slashdotters done this before? Did you modify an existing lawnmower or build a whole new one from scratch? What motors work best? For that matter, what type of mower works best? I know you can already get these, but that detracts from both my geek-drive and my wallet, both of which I'd prefer to keep as full as possible."
I'd make sure its plenty safe. I'm not concerned about you, but picture a mis-programmed robotic lawnmower chasing the neighbors dog, or worse, trying to run over a child... :|
If you know what objects are fixed,such as pathways, bird feeders, what-not, you could build the controller from one of those old dump trucks from the 80's that let you pre-program a course by feet and angle of turn, etc. All you need to add is a bar attached to a kill switch for when the neighbors cat/kid/dog runs over to check it out.
If you are one in a million, then there are six thousand people who are just like you.
How about a goat? Maybe a sheep? Set one of those bad boys loose and you'll have yourself a short lawn. Obstacle avoidance and everything built right in.
How about some duct tape job of roomba and a lawn mower ? You get obstacle avoidance and area coverage for free. You can even come up with interesting names like "Rower" or "Moomba" :^)
Make sure to code-in police avoidance for when your unattended lawnmower runs over your neighbor's feet while he sleeps in his lawn chair. On the bright side, you might end up with fewer cats hanging around the yard...
The University of Florida's Machine Intelligence Lab did the research 7-10 years ago. http://mil.ufl.edu/
...the sunny days during your short summer. To correct this, you will spend time indoors hacking away and making a homebrew robotic lawnmower.
The best part will be you will have perfected it by the end of August.
My first reaction was, "Well, you linked to what looks like a small business site, so either that site's going down or the hosting fees with bankrupt the company". But I digress.
that detracts from both my geek-drive and my wallet, both of which I'd prefer to keep as full as possible."
Well, I think your wallet's going to be drained either way. You need specialized components, software, etc for a completely automated solution. And even that's not going to be the end-all (corners, adjacent to fences, etc)
I would say start with a remote-controlled (as opposed to computer-controlled; mods, there is a difference) solution, see if you can rip apart some RC Cars, take their steering equipment out, see if you can interface to them using a RC Helicopter Remote or RC Airplane Remotes, connect up the servos, and perhaps sprinkle some detectors around your lawn.
Computer controlled would be difficult, to say the least. Perhaps even a Masters level thesis or a really good undergraduate senior project. Hell, if you can make it fairly cheap and efficient, you have your own business.
So, let me get this straight ... your solution to avoid an afternoon of mowing the lawn is to spend several months automating your lawn mower?? Sweet.
Skiers and Riders -- http://www.snowjournal.com
Have you considered artificial grass? It comes in a variety of colors and never needs mowing. Mine is "Misty River Green". With the optional circulated brine heating system, you can have a lush green lawn all year around, even when your neighbors' lawns are covered in snow. I recommend GrassCo brand Artificial Lawn Carpeting with its realistic texture and patented Flow-Thru (TM) drainage system. As a homeowner and lawn care enthusiast, I can assure you, GrassCo brand artificial turf is the only way to go.
Unknown host pong.
Back before everyone had the internet Popular Electronics (or one such magazine) had a couple articles on this. Lookup it up in the library, you did get the skills of searching in school, didn't you? They operated on batteries, but you could do whatever so long as your managed to power your computer.
The idea was a bunch of sensors, made up of LED senders and receivers. Mow a path around the yard, plus around any trees, and then turn the mower on. It should attempt to keep 2 sensors out of grass, and the rest (~20) in the grass.
BTW, mini-itx boards now have 12 volt power inputs, so things should be easier in many respects.
Materials: (1) Self Propelled Lawn Mower
(1) long rope
(1) stake
Step 1: Plant stake in yard
Step 2: Tie rope to stake
Step 3: Tie other end of rope to lawn mower
Step 4: Start mower.
Try looking at something like this:
x .s html
http://ltilib.sourceforge.net/doc/homepage/inde
I think the kill switch should be completely seperate from the entire system though. That way if other things fail, the kill switch can still be hit and no matter what goes on with the rest of the system it still kills the power.
Eventually, once it's all done, tweak it to see how fast you can make it work. Then make it so it can use a set of waypoints. After all that's done, enter it in the DARPA Grand Challenge and judging by last years results, you might actually have a chance!
The greatest experience we can have is the mysterious.
- Albert Einstein
A friend's neighbour decided to build a ride on lawnmover. Problems arose when decided to take the mower for a test drive. The Blade guard was off and halfway through the test the seat collasped and he had to put his foot down. Needless to say he gets around really well on his new leg.
It sounded like you want to make it autonomous but I think you should just try to make it telerobotically controlled at first to get the kinks out of your hardware design, adding some H bridges, sensors, and a laptop later on. It might be safer to build onto a store bought mower with a clutch that can disengage the blade. That's uncommon though and you probably won't find one at a garage sale. So the cheapest and maybe safest route would be to make a mower using the weed whacker concept of a spinning spool of heavy nylon cord. If an accident happens at least you won't lose an arm.
My dad did this just to get a chuckle out of the neighbors:
1. Get out your self-propelled "push-style" mower.
2. Measure the cutting width
3. Place a post in the center of your yard that has a diameter equal to or less than the Cutting Width / pi.
4. Tie the inner wheel of the mower to a rope that is fixed on the post.
5. Start mower at edge of yard and as it winds itself around the post, it pulls itself inward toward the center.
6. When finished, trim the edges of the yard and you're done!
Easy cheesy, and it'll make your neighbors think you're bonkers!
AskSlashdot: Building a homebrew prosthetic foot?
If you really want to be different consider an autonomous swarm of mowing machines. The guts of a Roomba would be a good starting point! I'd like to see a self-organizing mesh network created by the mobile mowing agents.
Good luck - I'd love to see this when you're done!
Do you know what's the difference between a hobby and a chore?
Weedkiller + Green paint. Mix. Apply.
Engineering is the art of compromise.
Or perhaps your neighbor's robotic kids
First, get yourself a couple of Lego Mindstorms kits (so you have all the motors ans sensors you might require), and work up a useful collision-avoidin/path-cutting bot in your living room. maybe put it on a big sheet of paper, arm it with a felt-tip-pen, and tweak it's path-cutting algorithms like that.
Then, if you want to do more complex things - IR rangefinding, ultrasonics etc. strap a PalmPilot, Zaurus or some other PDS with IR on it and feed the midstorms controller unit with instructions from that.
Once you have it more-or-less foolproof (and you will probably want to run a wire round the maximum extents of your lawn and have a hall-effect or similar sensor pick up on it and kill the mower if it breaches that boundary) - then you can think about attaching a proper mower body and blade to it.
Then you'll probably want to port the whole thing to an embedded Linux u-Controller, and sell it for enormous profits.
I gots ta ding a ding dang my dang a long ling long
There was an Autonomous Lawn Mower Competition going on earlier this month - saw it mentioned on robots.net
--The more you know, the less you know.
Don't forget to add some evil Battlebot settings!
Slashdot editor Pudge mentioned he uses a robotic mower in a recent journal entry. If you're too lazy to read it, the link to the mower is here http://www.robomower.com/robomo.htm.
http://www.robotshop.se/micro/wwwrc_us/indext.htm
robocut
Might be an interesting kit.
Have you ever used an electric razor? One pass won't do the job. Hell, three or four passes and you're still looking at a few stray hairs. Besides, in order to be remotely effective, the holes would need to be at least the size of a child's fingers.
Seriously, if you go ahead with this, don't use a regular metal mower blade. Use something like a weed whacker--a nylon string. Coverage is far less and speed is less, but speed shouldn't matter in this application. So what if it has to make 4x as many passes...
Real programmers use "copy con program.exe"
You should read an excellent book: "Flesh and Machines: How robots will change us". It is written by Rodney Brooks. His company (iRobot) was behind Roomba design. The book explains algorithms used in it.
If I was going to do this, I would start here (I've used their products for years).
. ht ml
http://www.tri-m.com/products/engineering/index
I would use the MZ104 CPU Board. They have a Linux distro you can throw on a DiskOnChip pop that in along with a regular old 64mb laptop SODIMM and you are good to go.
You can use the IR104 i/o board to provide 20 digital inputs and 20 digital outputs. This should allow you to hook up some simple sensors as well as giving you control capability. You may also need some sort of Analog I/O board, but I would avoid this for cost reasons.
The MZ104 CPU Board also has an I2C Bus interface with linux driver support. There are a plethera of different sensors available that you can directly read from this simple two wire bus.
These products are extremely affordable, rugged, low power and small. The entire system can run off of 5VDC. You can even lower the clock rate to save power.
If you do decide to go along with this, please add a wifi card and a web cam so we can watch it mow in real-time.... (uhhh oh slashdotted lawn mower)
You could obviously do this with something that had a lot less horse power, like an 8051, HC11 or Z80, but you would have to make up a lot of custom circuitry to get the job done. I like the modular nature of the PC/104 form factor. If you do opt for something with less power, I would definately make sure it has a built-in i2c controller.
Grrrrr... don't bother me, I'm thinking.
I made a simulated prototype of a fast/simple algorithm, which was 100x (IIRC) faster than random wandering in my tests. A bit of information is here.
It requires that the robot know its position rather accurately, but if it's a hobby you could use differential GPS (which would add too much to the cost of a low-end commercial robot). You might look into localisation via wifi.
points to consider:
1. Make sure the robot does not take an interest in finding Sarah Conner.
2. Should you be enjoying a lazy day in the hammock while the mower does its job, and you hear some incidental music start up that sounds very 'AC/DC-ish', Get your sledgehammer or other non-complex machine based method of destruction ready.
3. Do not power the robot with alcohol. Take extra care not to power the robot with malt liquors such as 'Olde Fortran', lest your robot develope a penchant for petty theft.
4. klaatu barada nikto
5. Consider brushing up on Asimov's laws of robotics, just so's you get them right.
There are some people that if they don't know, you can't tell 'em.
Comment removed based on user account deletion
That's an interesting idea, but I doubt you could get the grill fine enough to prevent fingers from entering without.
The underlying problem is the amount of kinetic energy you have in a spinning blade. The less kinetic energy, the safer. A spinning fishline is going to be safer than what amounts to a giant spinning knife.
Of course the reason you need the kinetic energy is so you can cut a lot of grass very quickly. With a conventional lawn mower, you can probably mow about a square meter or more per second. It cuts down on the drudgery time. But since the author is building a robot, drudgery is not an issue. So why not go slow?
I am imagining something that is very, very slow. Something that moves slowly from place to place gently cropping a tiny amount of grass at a time. In other words, an electric sheep (with apologies to Phillip K Dick). You'd calibrate the jaw strength so that it is enough to rip up a mouthful of grass easily, but not so strong it would sever a finger. You could get a nasty robot bite, but it wouldn't require a trip to the neurosurgeon.
I like the sheep idea because it leads off in more interesting directions. I'd think you'd run out of ideas for a robotized conventional mower. With the electric sheep, you can set a number of more interesting goals than having it walk a predetermined path. For starters, you could give your robot sheep a simple vision system so it could perceive the edge of your walk and touch up the edges. What would be interesting is to train it to visually recognize certain objects: it perhaps could recognize common lawn pests like dandelions or plantains and give them an extra close crop. Maybe it could retrieve the paper the paper boy threw onto the lawn and put it on your front porch. Maybe you could teach it to recognize beer cans and throw them in a recycling bin. You could make several of them and have a flock and begin to program them to interact in interesting ways.
Post may contain irony: discontinue use if experiencing mood swings, nausea or elevated blood pressure.
Hmmm, sheep runs on the grass it eats, nibbles all day and is not particularly noisy. Better still, unless it is a Ram, it's unlikely to chase the neighbors. :)
-All that is gold does not glitter - Tolkien
www.ra
In other words, an electric sheep
mmm electric sheep.. now where's my magnetic gloves and kneepads?
Suchetha
learn from yesterday, plan for tomorrow, party tonight
or one out of three ain't bad
Pic Started mine about 11 years ago. The mechanical platform was a roboticized Toro 4hp mulcher using a permanent magnet motor driven backwards to generate power for two beefy wheel drive servos and the electronics. Fully autonomous. Narrow beam ultrasound sweeping the forward path for semi-coherent vision. No external environment markers used except where there aren't any objects to range off of for 20 odd feet. You walk it through the lawn once and it makes an internal map of the environment and the path you chose it to follow. Then, just plop it down and hit the start button next time. Works infinitely more efficiently than the commercial attempts at *cough* autonomous algorithms the crux of which is which way to turn after boffing into the perimeter wire or an obstacle. Rev. 2 is going to go battery-powered for safety and you'll have to "show' it where the charging station is. Wish I'd had money to take it commercial.
You will need 802.11b to send this data back to your machine, also run tthhttpd on the machine, so you can address it AND access it via the net, I haven't seen a website running off a lawnmower, so that would be geeky.
Webcam would be nice. If however I r00t ur lawn mower box, and cut your geran1umz bi4tch then it is ur f4ult 4 n0t being l3et and patching your lawnmower.
I don't know if a solar panel about 2ftsquare could run an x86 with linux, and a HDD, and the necessary webcam, and 802.11b.
mmm.
You could setup webservices to allow people to subscribe to lawny, and he could drive aroun dyour whole neighbourhood, whoring itself out and 'mowing peoples lawns'
yeah.
alternatively concrete over the grass.