Autonomous robotic lawn mower

MrAl

Joined Jun 17, 2014
11,389
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.
Hi,

Very sorry to say but this approach doesnt sound good, yet. That doesnt mean you cant improve it, whiich i know you can.

First and foremost, as WBaln already pointed out, you can not rely on the number of rotations of ANY wheel to give you good distance (and therefore position) data. This is the classic "integration in theory vs integration in practice" problem. It never works to integrate a derivative in real life when there are even slight imperfections present in the system.

What you are effectively trying to do is sum the wheel turns in order to account for distance traveled, but in real life there are so many imperfections that it will never work right, to say the least. I would bet even after one pass it would be off and the IIT vs IIP problem shows itself more and more as the machine travels farther and farther. If it were just noise, that would be different, but this would be a systematic loss of information as time progressed. Seriously, you need to find another way unless this is just a theoretical project and will never be built and you are allowed to do things like this. The position problem is something that occurred to me as soon as i read your first post, because it is not that easy to do. If you have an enclosed area though then you could use the (say) fence as a sense point and the machine could detect that and turn as needed, then calculate it's own position moment by moment.

Second problem sounds like your turning scheme. There's no good way to turn a four wheel vehicle without special attention to how the wheels that do not participate in the turning method behave. It sounds like you have two wheels turning, and two wheels dragging. The dragging wheels will be a problem because they could create undesirable marking patterns in the lawn, especially if you intend to make sharp turns. With very wide turns it may not matter that much. It would be much better to make the front wheels pivot, and even better still if the front wheels pivot one way while the rear wheels pivot opposite to the fronts.

To reiterate the practical integration problem, even if you used four 'walking sticks' that acted like legs and they poked into the ground as the machine moved the sum would be off after several passes due to small uncontrollable accumulations of errors. It's very hard to get something like this to work that way.

You might be able to try to find some information on the Mars Rover to find out how they are doing all this.

I wish you the best of luck with your project.
 
Last edited:

WBahn

Joined Mar 31, 2012
29,979
You might look into inertial navigation chips -- they have gotten remarkably good and quite inexpensive. I don't know if they are good enough for your needs yet.
 

Alec_t

Joined Sep 17, 2013
14,280
You could consider a 'random' navigation approach. Assume the lawn has rigid boundaries. Whenever the mower hits a boundary it turns through some arbitrary angle and heads off in a new direction. Eventually the whole lawn would get mown: but you won't have nice parallel stripes on it :).
 

strantor

Joined Oct 3, 2010
6,782
I recommend you go try to mow with a zero turn riding lawnmower. Maybe you know someone who has one. Just a few minutes on it and you will understand the real-world constraints of what you are trying to do. And if you do try one out, pay attention to what your hands are doing. The human brain is pretty amazing and will allow us to drive the lawnmower fairly easily without realizing all the things that we are doing automatically without thinking:
  • Mower starts tracking to the right, you automatically adjust with a slight left steer
  • You move the left stick back to make a left turn but you're going too fast so you continue straight-ish, so you move both sticks back
  • You cut around a slope and the mower wants to slide to the left; you have to steer right to go straight
  • The grass is damp which makes it hard to turn; you have to exaggerate your turns compared to mowing dry grass
  • Many more examples I could list
These are all things you do easily by hand but would have to program. It is doable, but will be challenging. I could list more things that you would need to account for, but really I think you would be better served with a few minutes of first hand experience; it will be more revealing than anything I can say here.
 

Thread Starter

AaronTulli

Joined Jul 24, 2017
15
How are you going to deal with the skidding that is inherent in tracked vehicles?
I believe with the surface of my backyard that a track system would have very little to no slippage because there are not any devastating slopes that the mower would have to deal with nor any objects to overcome. I am also using the weight from the batteries and other electronics to plant the wheels or tracks. I wouldnt mow when the grass is wet or if there were large objects that had fallen in the yard. At this moment in time i am building the mower with assuming perfect mowing conditions.
 

Thread Starter

AaronTulli

Joined Jul 24, 2017
15
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?
Yes i will have a third motor for the blade.
 

Thread Starter

AaronTulli

Joined Jul 24, 2017
15
You could consider a 'random' navigation approach. Assume the lawn has rigid boundaries. Whenever the mower hits a boundary it turns through some arbitrary angle and heads off in a new direction. Eventually the whole lawn would get mown: but you won't have nice parallel stripes on it :).
Yea sadly that is what i am trying to overcome. I do not want my mower to be a rumba with a blade underneath.
 

Thread Starter

AaronTulli

Joined Jul 24, 2017
15
I recommend you go try to mow with a zero turn riding lawnmower. Maybe you know someone who has one. Just a few minutes on it and you will understand the real-world constraints of what you are trying to do. And if you do try one out, pay attention to what your hands are doing. The human brain is pretty amazing and will allow us to drive the lawnmower fairly easily without realizing all the things that we are doing automatically without thinking:
  • Mower starts tracking to the right, you automatically adjust with a slight left steer
  • You move the left stick back to make a left turn but you're going too fast so you continue straight-ish, so you move both sticks back
  • You cut around a slope and the mower wants to slide to the left; you have to steer right to go straight
  • The grass is damp which makes it hard to turn; you have to exaggerate your turns compared to mowing dry grass
  • Many more examples I could list
These are all things you do easily by hand but would have to program. It is doable, but will be challenging. I could list more things that you would need to account for, but really I think you would be better served with a few minutes of first hand experience; it will be more revealing than anything I can say here.
These are all very stellar points and most likely my mower won't mow in a straight line when i first get it working, but at this time i believe getting a prototype working even with mistakes is my best option. Then i can actually see the specific mistakes that are happening and fix them.
 

strantor

Joined Oct 3, 2010
6,782
These are all very stellar points and most likely my mower won't mow in a straight line when i first get it working, but at this time i believe getting a prototype working even with mistakes is my best option. Then i can actually see the specific mistakes that are happening and fix them.
Right on, I wish you success. For your navigation, it's been said already that encoders won't work and that's absolutely true. So you're going to need another method. Inertial navigation chips were mentioned and that may be the way to go; I have no idea, no experience with that. GPS will not be accurate enough or fast enough I fear. Another option I don't believe has been mentioned is triangulation. A few sonic or radio beacons placed at known coordinates around the yard could allow the mower to have a reasonable position reference.
 

WBahn

Joined Mar 31, 2012
29,979
I believe with the surface of my backyard that a track system would have very little to no slippage because there are not any devastating slopes that the mower would have to deal with nor any objects to overcome. I am also using the weight from the batteries and other electronics to plant the wheels or tracks. I wouldnt mow when the grass is wet or if there were large objects that had fallen in the yard. At this moment in time i am building the mower with assuming perfect mowing conditions.
Just turning ANY tracked vehicle REQUIRES slippage. Think about it.

Plus, the grass WILL be wet because you are cutting it. Grass contains water. Cutting the grass releases that water. Cut grass is slick.
 

Thread Starter

AaronTulli

Joined Jul 24, 2017
15
Right on, I wish you success. For your navigation, it's been said already that encoders won't work and that's absolutely true. So you're going to need another method. Inertial navigation chips were mentioned and that may be the way to go; I have no idea, no experience with that. GPS will not be accurate enough or fast enough I fear. Another option I don't believe has been mentioned is triangulation. A few sonic or radio beacons placed at known coordinates around the yard could allow the mower to have a reasonable position reference.
Right if the encoders wont work then my next option was going to be those beacons so the mower knows where it is at in relation to each beacon.
 

Thread Starter

AaronTulli

Joined Jul 24, 2017
15
Just turning ANY tracked vehicle REQUIRES slippage. Think about it.

Plus, the grass WILL be wet because you are cutting it. Grass contains water. Cutting the grass releases that water. Cut grass is slick.
The best option would be to not use encoders and instead use waypoints or beacons across the yard so that the mower can talk with these beacons and know where it is at in the yard. This way i do not have to track wheel rotations and if the tracks slip then it wouldnt matter as much.
 

Thread Starter

AaronTulli

Joined Jul 24, 2017
15
You might look into inertial navigation chips -- they have gotten remarkably good and quite inexpensive. I don't know if they are good enough for your needs yet.
That could very well be the route i have to go since encoders will cause an issue. My only question with inertial navigation chip is how inaccurate are they?
 

WBahn

Joined Mar 31, 2012
29,979
That could very well be the route i have to go since encoders will cause an issue. My only question with inertial navigation chip is how inaccurate are they?
Sounds like it's time to start looking at the options available and researching what their level of performance is. Doing that is a big part of the whole "senior design project" concept.

The same for the use of any form of beacon arrangement. What are the options? Having transmitting beacons at known locations that the mower listens to and computes its location, or have receiving beacons at known locations that the mower transmits to and have a ground station tell the mower where it is? Time to start doing research.
 

cmartinez

Joined Jan 17, 2007
8,220
I believe with the surface of my backyard that a track system would have very little to no slippage because there are not any devastating slopes that the mower would have to deal with nor any objects to overcome. I am also using the weight from the batteries and other electronics to plant the wheels or tracks. I wouldnt mow when the grass is wet or if there were large objects that had fallen in the yard. At this moment in time i am building the mower with assuming perfect mowing conditions.
I've had some experience with encoders in my years as an engineer... I'm sorry to tell you that your approach is not good enough. Cumulative errors will become a nightmare under the scenario you've described. Of course, you're here to learn, but you're also here to be guided by those with more experience, so as to save you valuable time in your endeavor.

But enough of the "how not to" ... I think a better approach would be to place some sort of markers in the terrain you're planning to mow. An idea that comes to mind is to place mirrors at each corner that could be targeted using a laser installed in the mower, or the other way around. Radio waves comes to mind, but I can't think of an affordable technique that could be precise enough for your purpose...

But my point stands: Do not rely on friction alone to keep track of position in this case. Do some brainstorming and then consider each option carefully.
 

MrAl

Joined Jun 17, 2014
11,389
That could very well be the route i have to go since encoders will cause an issue. My only question with inertial navigation chip is how inaccurate are they?
Hi,

Probably depends what you want to spend on one. They will have an error quoted such as the error in distance per unit time, so the longer you use it the higher the error accumulates. This is the "integration in theory vs integration in practice" i was talking about earlier. Everything like this has to integrate, and these have to keep track of two things so there are two main sources of errors when trying to recover position from dynamic movements such as turns and acceleration. In a critical application, we'd see GPS combined with INS such that when the GPS signal is lost, the INS takes over, but the INS is good for the short term while the GPS is good for any time it is working properly and so can recalibrate the INS periodically. This will probably get a little expensive though.

The beacon idea might work without raising the cost too high. You'll have to have detectors and stuff on board so it will get a little complicated, and i dont know how much time you have to finish this project.

What i would do i think given limited time is try to switch over to a radio controlled unit and then go back to the auto mode when i get more time. The radio controlled type would require human operation, but they would not have to walk behind the unit but just sit in their arm chair when they want to mow the grass.

As a side issue, not everyone wants to mow their grass in straight lines back and forth across the lawn area. Some like to switch off to a diagonal pattern of travel so they dont create somewhat permanent looking track patterns in the yard.
 

WBahn

Joined Mar 31, 2012
29,979
Not long ago GPS/INS units were extremely expensive. Now they have come down remarkably. Many, if not most, drones the people fly around, even the cheap ones, use this approach. Also, many smartphones have this built in. In fact, that might be one option is to see if you can use as your processing platform a suitable smartphone. Whether it is good enough for this application, I'm not sure -- but it wouldn't surprise me too much if it is.
 
Top