hey /diy/ so 6 months from now we need to submit a prototype of an automatic lawnmower. The point of the project is to make the AI reasonable and able to navigate relatively well.
Problem is that out of our group of 4 people none of us have a lot of experience with with hardware or circuitry and what we have comes from house related labor.
That's why i'm here, /r/ing any useful literature, contacts with people who've done or documented similar projects as well as general do and don'ts.
yeah that doesn't quite do, the lawnmower needs to be autonomous. Also wouldn't gps be very imprecise, something like that shouldn't cross into the sidewalks or accidentaly drive off to the road.
we contemplated on using some sort of light sensor system to figure out what's grass and what isn't, but we don't quite have the technical know how.
What we do have is some funding from the university aswel as any tools they might have including a 3d printer
By the way, what you want to do has already been done. Guess you could just copy them.
Just google the shit, look for information in chunks. Find aotomonus circuits for object detection and wire it to the cucking motor, not thay hard there is plaenty of information out there, look for it at its most basic principle and slowly advance it
make it work like the mint cleaner
it uses "North Star Navigation System", whatever that means. you could also install wireless fencing that it senses and turns around when it reaches the end
problem is that the mower won't be able to determine there is a large stick that could ruin it, or a stump sticking up that will bend the crankshaft.
The thing we have just randomly strolls around, and uses some kind of simple prediction to decide on how many degrees to turn when it hits the edge of the grass.
Edge of grass is detected using induction from a buried wire connected to the base station.
I'd do that, or use some kind of local triangulation using radio signals/RFID/infrared/... where you put 3/4 'beacons' on the corners of the grass field and determine position by calculating the distance to those beacons.
The former is likely easier to implement, and less prone to disturbance. Its downsides are that you need odometry/mapping if you don't want a random pattern. These are resource intensive tasks (=you'll need a strong computer)
The latter had the advantage that the mower actually knows where it is and is able to mow efficiently. The downside is that it can be disturbed by something coming inbetween the mower and the beacon, and you'll have to supply a map of some sorts for non-rectangular gardens.
GPS may end terribly, as 1s of bad connection may make it run over plants/sidewalks/whatever. (GPS isn't designed to instantly detect connection loss.)
Shit, I have been into robotics for way too long to not spray this with ideas.
You'll obviously need something to steer the ting. Assuming you're starting with something like pic related (which seems the most simple option to me), there is a stiff rear axle which is driven. A simple way to steer something like this is by using one or two servo-powered swivel wheels on the front. Ideally, the swivel wheels would be on the rear, but I think it'd be pretty difficult to reverse the direction of driving on such a thing.
Next, you'll need something to control the throttle. So something like a controllable linear/radial actuator which opens/closes the throttle. For safety, at a killswitch to the blade control as well.
Now that you can steer, it has to be controlled. Assuming you know the mower's location (and thus direction) at all times, you can use a feedback loop (in: direction/heading, out: steering servo position)
Those things don't have a battery, so you'll have to add one. If you manage to keep the positioning system simple, a microcontroller might suffice.
The microcontroller is wired to the sensors that measure the distance to the beacons, and calculate distance to them. It also controls the throttle and steering motors using a simple motor controller.
Insert a map of some kind.
Either use a known efficient algorithm or design one yourself to keep track of positions on the map which are 'visited'. Then let the algorithm calculate where to head to efficiently visit 'unvisited' positions. Use the feedback loop to convert 'heading' to 'servo position'.
Most design choices depend on:
- Local positioning (Odometry + Invisible fence or whatever) vs Global positioning (beacons)
- Steerable vs Unsteerable mower
- Local vs. Remote calculation (microcontroller/small computer board vs. laptop on base station which communicates to mower)
Bonus pro tip: pic related
>Also wouldn't gps be very imprecise,
gps can be very precise.
There are off the shelf GPS autopilots for RC planes theres also some arduino based systems. (ardupilot I think it was called)
Many off the shelf RC parts can be used to drive the mower around too, with some strong brushless motors geared down, car ESCs to drive it and a gps system to control it, it shouldn't be too expensive
>6 months from now we need to submit a prototype
You're 6 to 8 months too late to meet the deadline with a working model.
>none of us have a lot of experience with with hardware or circuitry
You've already failed.
What's your budget?
Autonomous systems cost several thousand dollars with visual or sonic guidance.
Robomower senses a buried wire and therefore not autonomous.
I'm thinking of doing something similar for my senior design project. I've been bouncing around the idea of just using a jailbroken Iphone and those collision sensors that toy robots use. As for navigation, it'd be a riding mower with the mechanical linkages slaved to the computer so that you drive it once to "program" the course and then the mower will follow that path again afterwards.
What class is this for? How many are on your team? What are other teams dooing?
GPS can get you within 4 inches if done right, you will need a base station that sends out a correction signal (see Piksi, for easy mode or navspark for cheap mode).
I would not recommend building this on a normal lawnmower. I would recommend getting an electric wheel chair and adding a weedwacker to it, that way you just have to hack into its joystick circus instead of building it all from the ground up.
If the guy (who made the contraption in your pic) actually used the proper mathematics to find out how thick the center pole has to be for it to work with least overlap, I'd respect him.
What about using a grid of electromagnetic probes you could poke into the ground about 3cm. that would give you the map you're talking about and would make it easy to avoid or maneuver any sort of obstacle. It would be an easy installation to any yard and could even feature an upgrade where an algorithm could be applied to certain advanced probes to run a more precise course to minimize the leftover grass in those hard to reach arias.
If you can't go with the gps option and just pre-program and map of shit to avoid. Then look into OpenCV, its a free library that has all the hard shit done, with a HD web cam you should be able to have it navigate a path and avoid shit. You could have it all running on a raspberry pi with the camera kit so no hardware design required for the electrical.
mechanically, the OP's pic is the best system to go with considering cost constraints and time for development, check out ebay/craigslist whatever and buy/steal an electric wheel chair that has the dual servo drive, all you will have to do for this is interface the control panel to the rpi and bolt the wheel assembly to the mower.
some things to consider, since its likely going to be a gas mower, vibration is going to be a huge issue for any vision based system, look at microphone stands and shock absorbing frames to keep the camera head as still as possible. You should also create a reference system for the camera, don't just rely on camera tracking the environment because you're going to be changing it by cutting the grass plus there will be people standing around watching, all very distracting to a CV system, to avoid this, add some patterned beacons at all 4 edges of the work area, use this as you absolute positioning, if you aren't allowed to do that then gps is the only other option.
your teacher sure is retarded.
what kind of moron gets students with no experience in mechanical, programming or electrical to program an automatic decapitation machine.
just go tell the lecturer you'd much rather just do a simple far less dangerous path following robot.
Fucking this. There's a hundred cute little pathIng robots and ai experiments to do that you could spend five years working on. Or there's building a lawnmower. Doing both together is making a complete commercial product
I actually liked the diy john deer gps harvester project. commercial versions cost 750k$ to install the system.
but srsly, a manfunctioning rc aircraft is dangerous enough. would you really want a malfunctioning 5000w worth of heavy spinning blades to come for you?
pic related: it's op in six months
my best idea is maybe using some kind of mirror system and a laser on the lawn mower. the laser lines up with the reflector at the end of a row and adjusts itself until it's at the right angle to cut a straight line. it then cuts and turns around and realligns itself.
the best idea I can come up with is maybe
gps autopilots are somewhat of a fail safe.. having an automated chopping machine rolling around in a residential neighborhood is a shitty idea also..
gps has an accuracy of ~10 feet.. meaning it could be at the edge of your property and think its 10 feet away from the edge on your side,..
cross over into your neighbors yard, then mow down their, or your kid that was simply interested in the self propelled monster youve created.
Im not an expert on rc planes gps.. but I believe those are generally a fail safe so people don't loose signal and have their >$400 device fly away into the sunset
>Buried Wire sensor, like invisible dog fence
This is one of the common ways robotic lawnmowers work.
If you want a vision based system, take a look at "Learning Visual Landmarks for Mobile Robot Topological Navigation" in the textbook "Machine Learning and Robot Perception" from Springer. You can put down some visual beacons and let the robot use them to determine its mowing boundaries. I would be comfortable with this system backed up by bumper sensors and a GPS fence. (I have a copy, but cannot post it. Not public domain. sorry.)
Bonus points if you can use ultrasonics to identify the position of structures and mow next to them.
Please, please, please put a big flashing warning light and an E-Stop switch on it.
Double bonus points if you run Haar face detection on your vision stream and stop or slow the lawnmower whenever it detects a face of sufficient size to be within 10 feet.
(I'm namefagging this so I can use it for patent defense if you sell these and try to give me shit about building them too.)
Teach the computer to always follow a preset path in the yard based on GPS coordinates. Take the code from Age of Empires. There is a 'patrol' setting for military units.
Don't leave anything out that it might crash into or run over.
Look for almost purely mechanical methods of remote control.
1) Get auto-starter kit so it will start with a switch.
2) Larger wheels, it will be self propelled and needs more surface area for more precise movement control.
3) LITERALLY get a self propelled model. Less work, and usually can get the auto-start kits for them.
4) Forward motion, check.
Starting/engaging engine, check.
5) Look to hobby lobby's and RC stores for forward wheel controls, remember that it needs to handle 2x the load you are putting on it.
6) If absolutely unable to figure shit out, get some FULL SIZED erector sets in a Lowe's or other big box store for framing, etc.
7) WHEEL Control mechanism and wheels, check.
Parts for framework that can be done without a torch or welder, check.
9) Get a extra, LARGER, gas can for the mower, and a LARGER, battery.
Take self-propelled gas mower, cheapish.
Add larger gas tank and batteries, oh my god Greasy work, cheapish.
Add larger wheels, cheapish.
Add framing for sensors, and other things, cheapish and easy.
Attach big wheel, gas powered monster truck wheels on front for steering. Kind of expensive to expensive.
Get raspberry pi or something similar for control inputs, think anything with buttons can be wired to it
1) Starter wired into it
2) Engage forward driver, via servo and pre-tensioned line
3) Activate blades, same as forward drive.
4) Turn left and right, wired into control mechanism of BIG WHEEL REMOTE controlled truck wheels.
5) GPS unit, just to keep in general area's
6) sensors of your choosing, if you are REALLY lazy and DANGEROUS, cheap bump sensors and mower high fencing are your best bet.
>follow a preset path in the yard based on GPS coordinates
Pic related is your face when your lawnmower graphically illustrates that the precision of GPS is measured in FEET, not inches. Hopefully it will only mow over a flowerbed and not something really expensive..
You can buy off the shelf sub-cm precision GPS systems. When I priced them for the DARPA autonomous vehicle grand challenge they were $2k, plus a $150/year subscription.