Autonomous robotic lawn mower

Thread Starter

AaronTulli

Joined Jul 24, 2017
15
Hello my name is Aaron and i am trying to complete a project for my senior project class in college. My project idea is to make an autonomous lawn mower that will use encoders to map out your lawn and be able to cut your grass in a way that a human would. I plan to use 2 wheelchair motors and gear boxes for the movement. Two 12v batteries to power these wheelchair motors and an arduino in conjunction with an H-bridge to process directional movement. My question is what kind of H-bridge do i need that can process forward, backward, left, and right movement that can handle two 12v batteries going through it to the wheelchair motors? My second question is if my arduino is wired to the H-bridge and my two 12v batteries are wired to the H-bridge and the H-bridge is powering the wheelchair motors, will the voltage from the batteries go through the H-bridge to my arduino and fry it? If the power would fry my arduino is there something out there that i would need to place between the two 12v batteries and the H-bridge to keep from frying my arduino?

Thank you in advance for the help.
 

WBahn

Joined Mar 31, 2012
26,398
Interesting project -- you stand to learn a lot, but expect to have lots of troubles along the way (from which you will learn a lot).

What kind of encoders? How will you handle navigation? Hopefully not by assuming that there is any relation between wheel rotation and position.
 

MrAl

Joined Jun 17, 2014
8,069
Hello my name is Aaron and i am trying to complete a project for my senior project class in college. My project idea is to make an autonomous lawn mower that will use encoders to map out your lawn and be able to cut your grass in a way that a human would. I plan to use 2 wheelchair motors and gear boxes for the movement. Two 12v batteries to power these wheelchair motors and an arduino in conjunction with an H-bridge to process directional movement. My question is what kind of H-bridge do i need that can process forward, backward, left, and right movement that can handle two 12v batteries going through it to the wheelchair motors? My second question is if my arduino is wired to the H-bridge and my two 12v batteries are wired to the H-bridge and the H-bridge is powering the wheelchair motors, will the voltage from the batteries go through the H-bridge to my arduino and fry it? If the power would fry my arduino is there something out there that i would need to place between the two 12v batteries and the H-bridge to keep from frying my arduino?

Thank you in advance for the help.
Hello,

Quite a project :)

How many wheels, three or four? The H bridge just controls motor rotation direction, the wheel placement combined with motor rotation determines how it turns, unless you have one (or more) wheels that also can pivot left and right. For example, if you have three wheels with one on the front then if the front wheel pivots left and right then you turn that way. If you have four wheels then the two front wheels pivot left and right.

How do you intend to get the unit to stay in the yard and not wonder off into someone else's yard? Is the yard enclosed or not?

Anyone here happen to see the funny movie, "Frankenhooker"?
That was a movie about a girl who bought her father a semi autonomous lawn mower (radio controlled) and on demonstrating to her father how it worked it accidentally ran her over and killed her, then the boyfriend brought her back to life using parts from local hookers. Totally funny movie :)
 

Thread Starter

AaronTulli

Joined Jul 24, 2017
15
Interesting project -- you stand to learn a lot, but expect to have lots of troubles along the way (from which you will learn a lot).

What kind of encoders? How will you handle navigation? Hopefully not by assuming that there is any relation between wheel rotation and position.
I planned on using these encoders, https://www.adafruit.com/product/37...Rr_EX8fF_dqDxP7sBeuHajPUFqiLApRRoC4joQAvD_BwE, as far as navigation i thought that was the purpose of a encoder. I use the encoder to track the amount of wheel rotations it takes to get from one end of a line to the other. Then have the mower turn a specific amount of degrees left or right to the next line of grass and then mow the same rotations in that line from one end to the other.
 

Thread Starter

AaronTulli

Joined Jul 24, 2017
15
Hello,

Quite a project :)

How many wheels, three or four? The H bridge just controls motor rotation direction, the wheel placement combined with motor rotation determines how it turns, unless you have one (or more) wheels that also can pivot left and right. For example, if you have three wheels with one on the front then if the front wheel pivots left and right then you turn that way. If you have four wheels then the two front wheels pivot left and right.

How do you intend to get the unit to stay in the yard and not wonder off into someone else's yard? Is the yard enclosed or not?

Anyone here happen to see the funny movie, "Frankenhooker"?
That was a movie about a girl who bought her father a semi autonomous lawn mower (radio controlled) and on demonstrating to her father how it worked it accidentally ran her over and killed her, then the boyfriend brought her back to life using parts from local hookers. Totally funny movie :)
I plan to use 4 wheels with the back wheels being my drive wheels and the front wheels being a 0 degree turn wheels. Having 1 wheel on the back left and 1 on the back right and same for the front wheels. As far as direction i would use the arduino and encoder. After so many rotations of the wheel the arduino would send the signal for the H-bridge to tell the left wheel to go backwards and the right wheel to go forwards making a left turn. My yard is enclosed but if this robot were to be used on a yard that isn't it would still be able to track the amount of rotations of the wheel with the encoder so that it doesn't go into someones yard. For example if it took 50 rotations of the wheel to mow one line in my yard the lawn mower with the encoder and arduino would repeat those 50 rotations exactly and not a rotation more or less. This would keep it within the mowing limits because of how exact an encoder can be with an arduino. At least from my understanding that's how it works.
 

WBahn

Joined Mar 31, 2012
26,398
I planned on using these encoders, https://www.adafruit.com/product/37...Rr_EX8fF_dqDxP7sBeuHajPUFqiLApRRoC4joQAvD_BwE, as far as navigation i thought that was the purpose of a encoder. I use the encoder to track the amount of wheel rotations it takes to get from one end of a line to the other. Then have the mower turn a specific amount of degrees left or right to the next line of grass and then mow the same rotations in that line from one end to the other.
I don't think you'll find that approach workable. You have a whole host of things working against you. Just to point out a few:

If your encoders on each side indicate that each wheel has turned the same number of times, does that mean that you have moved straight forward? What if one wheel turned slight before the other? You are now at a slight angle to your intended path that will put you progressively further of your assumed path of travel even if they stay in lock step the rest of the way.

Slight differences in effective wheel diameters will wreak havoc. Say you have six inch diameter wheels and one is just 1/16" bigger than the other -- that's a 1% difference. If the wheels are 24" apart, then going the same number of encoder steps, even in perfect unison, you would be traveling in a 400 ft diameter circle instead of straight ahead. That will give you a significant departure from a straight line course over the length of a typical yard.

Wheels will have to skid during turns and which wheel skids how much is pretty unpredictable and unrepeatable. That will make turning by a specific amount virtually impossible with the resolution you need. If your total 180° turn is off by just 1°, then a 20" mower will be offset by half the full cutting diameter in just 50 ft.

Your wheels are not in rigid adherence with the ground, particularly your drive wheels, but even any bogies. They will be moving over rough ground (even a nice golf course fairway is rough compared to the scale of the wheels) with loose dirt and wet, slippery grass cuttings. All kinds of slippage all over the place.
 

WBahn

Joined Mar 31, 2012
26,398
I plan to use 4 wheels with the back wheels being my drive wheels and the front wheels being a 0 degree turn wheels. Having 1 wheel on the back left and 1 on the back right and same for the front wheels. As far as direction i would use the arduino and encoder. After so many rotations of the wheel the arduino would send the signal for the H-bridge to tell the left wheel to go backwards and the right wheel to go forwards making a left turn. My yard is enclosed but if this robot were to be used on a yard that isn't it would still be able to track the amount of rotations of the wheel with the encoder so that it doesn't go into someones yard. For example if it took 50 rotations of the wheel to mow one line in my yard the lawn mower with the encoder and arduino would repeat those 50 rotations exactly and not a rotation more or less. This would keep it within the mowing limits because of how exact an encoder can be with an arduino. At least from my understanding that's how it works.
You are assuming that your wheels are perfect and that the interface to the real world (the ground) is perfect. This is not even close to being the case.
 

Thread Starter

AaronTulli

Joined Jul 24, 2017
15
You are assuming that your wheels are perfect and that the interface to the real world (the ground) is perfect. This is not even close to being the case.
The next option would to use tracks in replace of wheels so that there is always contact no matter the surface and i could still track the wheel rotations with a wheel that sits instead the track. Thoughts?
 

Thread Starter

AaronTulli

Joined Jul 24, 2017
15
You are assuming that your wheels are perfect and that the interface to the real world (the ground) is perfect. This is not even close to being the case.
Do i need 2 motor drivers? One for each of the wheelchair motor or do i buy one with multiple input slots for the positive and negative leads?
 

WBahn

Joined Mar 31, 2012
26,398
The next option would to use tracks in replace of wheels so that there is always contact no matter the surface and i could still track the wheel rotations with a wheel that sits instead the track. Thoughts?
How are you going to deal with the skidding that is inherent in tracked vehicles?
 

BR-549

Joined Sep 22, 2013
4,938
Experiment with a 4 wheel RV vehicle first. Remove pets and small children. Do you plan on using another motor for the blade. Or perhaps a reel mower....driven by the wheels?

Should we allow robotic saws to walk around?
 

WBahn

Joined Mar 31, 2012
26,398
It's almost certainly not a reel mower since (1) they are hard to come by anymore and (2) he's already said he's using four wheels, which is not very compatible with a reel mower. If he's using motors to drive the wheels, there's no reason not to use the real mower since the blade doesn't have to be spinning during all but the very last part of the development and that allows the development to take place on the actual platform.
 
Top