Here we have a representation of the size and shape of the lawnmower. This will give us an idea on how wide and long the machine is. The machine being about 574ish mm wide and 764ish mm long we have an idea on how wide a row should be and how much room it will need to bust a u-ey at the end of a row.
The cut may only be about 20 inches (508 mm), which is a bit less than the distance from the outside of one tire to the other. This means that the size of the machine and the width of the cutting portion both need to be taken into consideration for path planning and there will need be an overlap of rows.
Now we need to visualize how the typical yard would be and how we can create good path planning for our machine.
This is what a typical yard is shaped in my neighborhood (it is an oversimplified version of my yard). The white area is places that there are not to be mowed (house, driveway, road, etc) while the green is where the grass lives.
Unlike the turtle bot program, it is not a perfect square shape, which complicates the path planning. I am assuming that this kind of shape will be able to be made using a person remote controlling the robot to provide the perimeter of the mowing area. I hope that with SLAM and this data being recorded any yard will only have the perimeter man-controlled once.
The bright green line represents the man-controlled perimeter that will be done on a given yard. This will be used to create a map on a coordinate grid. The lowest, point will be set to y=0 and the leftmost point will be set to x=0. This should make everything a little bit easier for me to digest.
Next, the distances need to be measured to determine which direction will result in the least amount of turns (or the map may be broken down into smaller rectangles before the distances are measured to further speed up the mowing process--which may make programming much more difficult).
So we have a lawn dissected into four rectangles. The longest distance traveled direction will have to create an overlap that creates an odd amount of path travels. This is done to make the robot move into the next area for mowing more seamlessly, reduce the amount of wasted movement, and keep from disturbing the lay of the grass.
Above shows that the either way the grass would have to be cut an odd amount of times for the mower to reach the next area, but smaller cutting width will result in better looking patterns. This would only be necessary if the robot is approaching from the lower left and the next area is on the upper right.
*Please forgive the title of the page; it is meant as a better way for lawn mowing, not floor cleaning (the last few pages were about the turtlebot cleaner code).
7/28/17