Let's Make Robots!

My first project, lawnmower...



Im new to this forum, and new to robotics in general. The same could be said abou my knowledge about microprocessors and programming language (other than .html notepad stuff).
 I have some basic knowledge about electronics, but nothing worth braging about.

But, i have been thinking about starting on a new project soon (I'm currently in the finishing stages of a little cnc project i have for cutting out rc airplane foamies...) which i would like to start this fall, and hopefully be done with before next summer.

I have for a long time been interested in microprocessors and what they can do, but I have not seen any projects that i really cared enough for to try out for myself as a first project (nothing that has had any real practical value for me), until I started getting bored with mowing the lawn this summer.. (lazy, huh?).
 Therefore i have been reading up on different automated lawnmower projects out there on the internets, and i havent found alot, i found some commercial ones, and i think one on this page.

But i have figuered some things out for my self about what i want and a coupple things i can see i need.
I havent thought much about how much this project will cost, but im thinking something in the range of 4-6k NOK; that would be about 450-700 EUR


I need a frame for the thing, thats something i can handle by welding together some steel squared pipes and some sheet metal.

I need something to make it go forwards, backwards and such, so im thinking about a coupple wheelchair motors with wheels ive seen on ebay, since they usualy come in pairs for left and right. And having two motors makes steering possible without using servos to turn the wheels in front. I would probably also need some kind of speed control for these, it might depend on what kind of controller you think i should use.

I also need another electrical motor and a blade for the cutting, this is something i think i will figure out when i actually have started the project

Since im probably going to use wheelchair motors, the voltage would be 24 volt, aka two 12v batteries.

What i absolutely dont know is which sensors i "need" and what kind of microcontroller i should use etc. 

I figured i need some kind of bumper switch or radar or something, which makes it go around obstacles that can happen to be on my lawn, also some kind of sensor which makes it stop entirely when it senses movable objects as cats, dogs and kids.
I need a tilt switch or a gyro or something to make it stop if it gets tilted so that blades are accessible or it gets turned over or something like that.

But some of the things im most curious about is navigation of the thing, i've figuered i would need some kind of remote control of it, preferably wireless. But what im really curious about is the automatic navigation system. I have been looking at gps, which i have found out to be either to inaccurate or too expencive; i might be wrong though. I figuered i would need some kind of electrical dog fence as a safety guard so that it would not exit the lawn. I have also looked at the commercially made one called Robomow, which cuts the grass in zig zag order, and thats something i find somewhat impractical. What i really would like is to teach it a specific path and order to follow, and have it learn something about the surroundings while i teach it, so it wont get "lost". But how? And maybe, can i use gps?

I'm also curious about what kind of microcontroller or what kind of processing unit i would need for this, and that be preferably something not too expencive and relatively newbie friendly..

So, if you can help me with any of these sollutions, have links to other projects like this, have any questions for me, or can give me somekind of helpfull knowledge about the subject at all. 

In short, i would be really gratefull for any feedback i can get.


ps. I know this project might be kinda advanced for a newbie, but i've figuered the more advanced a project i start, the more i learn. lol xD





Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.
Alright this is an idea I've kind of had for a while and I wanted to get it out before I forgot and I also want to stop thinking about it if it isn't possible. Here we go. Would it be possible to upload a "map" to a robot? It would be a virtual diagram that shows a series of turns and such to make. The robot would then be programmed to follow the path each time it starts up. I realize you could program a series of turns into it so that it always turned the same direction and cut the grass in a pattern. I also had a similar idea to jklug's about measuring grass height. Could that work? If you had two sensors out in front and obviously low to the ground. The sensors would have to have short range so they wouldn't pick up an outside obstacle. So if the grass was long on the right, the right sensor would detect grass and the left wouldn't detect anything, so the bot would constantly being trying to center itself like a line following bot. Sorry just sort of venting ideas and thoughts.
The easiest way to do a map is to use a 2 dimensional array and use an X or # where there is a wall or item the robot can't travel through. Each grid coordinate is 1 foot away or 1 inch or X centimeters, etc.

It's because I trying to evaluate different solutions, one of the best I guess is http://www.convict.lu/htm/rob/ir_us.htm

that uses IR and US but I have been thinking of the differential GPS for a long time and I want to go farther in my research as the GPS modules are becoming more affordable and precise.

The idea is based on the Differential GPS : DGPS.

the idea is :take 2 GPS modules, put them close to each  other, at the same time, what will be the difference between the 2 sensed  GPS positions ? If we suppose that the difference is very very low, then I would leave the GPS1 at the base station which becomes the (0,0) ref point , connected to a Data Transceiver, the other GPS module would be on the mower with it's own Data Transceiver. the position is then computed as a differential position with the ref point. Am I clear ?

As far as I know Standard GPS acuracy is 20m, in differential the accuracy is best than 10m, that's why my lawn mower uses burried wire, US sensors and bumpers; but I'm know thinking of adding a GPS as an navigation support in order to optimise the mower work and to find it's way back to the battery-charger as my yard is not an easy square on. The idea is to have 2 GPS one on the base the other on the lawn in order to compute differential position.

Well if nothing else you'll end up with the most expensive lawnmower in history :D

Anyway I'm not sure how well it will work if both devices have 10-20m of error?

I think you are way overengineering. There are much betetr and cheaper ways to do localization and perform docking for recharging. GPS will never get you right on to the charger. Best case it would help you figure out whose yard the charger is in.

For sensors, you want some sort of ultrasonic-based rangefinder, such as the PING))) or SRF05. Infrared will not work in sunlight, so Ultrasonic is how you want to go. It's to make sure you don't run over anyone. Second, you may want a battery power sensor, so if it runs low, it goes back into the shed and recharges. Third, a GPS sensor might help it, by letting it navigate coordinates around your yard.

For MCU, I reccomend a Picaxe. They are cheap and easy to program for beginners. You could also get a slightly more expensive Arduino, with a very powerful programming language. If you are willing to learn it, it may be worth the money.

GPS sensors aren't accurate to a very fine point yet. If you look on google earth, it's usually 20 feet off. If you have a big yard, then this could work, but if you have a smaller yard or the average yard, you'll wind up in your neighbors yard. Besides I'm not sure a picaxe could support all of that.