Top Banner
ELEC 5530/6530 INTRODUCTION TO AUTONOMOUS MOBILE ROBOTICS 1 Simulated Path Planning for Auburn’s Autonomous Lawnmower John Harrison and William J. Woodall IV Abstract—Auburn University has a competition Autonomous Lawnmower team and competes every year at ION’s competition [1] in Dayton, OH. This paper describes the how the team has approached coverage path planning for the lawnmower given the competition constraints. The competition setting dictates a closed polygon filed, which can be concave, and it will contain several static and dynamic obstacles. The path planner for the lawnmower has to navigate this field while covering as much as the field as possible and without competition field specific knowledge. The algorithm implemented here have results that resemble the output of the Boustrophedon Cellular Decom- position [2] method. The paper describes the implementation of this algorithm and some examples of its performance in different situations. Additionally, the paper shows the simulation environment setup in the two dimensional, kinematic robotics simulator, Stage [3]. Index Terms—Coverage Path Planning, Mobile Robotics, Nav- igation, Simulation I. I NTRODUCTION C OVERAGE path planning determines a path that guar- antees coverage of an area in an admissible manner for the agent. This type of path planning can be applied to many areas of work including detection of unexploded ordinance, floor cleaning, or crop plowing, just to name a few. In the case of this paper the application is lawn-mowing, the agent is Auburn’s Autonomous Lawnmower, and the area is the competition field. Though this paper sticks to these constraints the implementation here should be generalized enough to be easily applied to other applications or situations. This paper assumes a few other things about the environment. First, the assumption is made that this planning is done off-line with knowledge about the area to be covered and the obstacles in the environment. This means that there is no planned dynamic obstacle avoidance at this point. The previous competition year’s field, which was surveyed with RTK GPS equipment, will be used as a test shape during this paper. Optimally, the path should contain as few turns as possible, but irregular shapes, shapes with odd angles and interior obstacles, pose problems for generating an optimal path. Minimizing the turns, would improve cutting quality and to avoid short comings of the navigation system. To find the path with the fewest number of turns for a regular shape such as a rectangle, the simplest way is to find the longest edge and generate paths that are parallel to that edge. For other shapes, such as an ellipses, following parallel the longest edge of the bounding box will produce the best path with the fewest turns. More complex shapes require cellular decomposition to find an optimal path for a given cell. Breaking each component of the shape into semi-regular cells can help break down the problem into smaller portions for generating the optimal path. [4] II. DESCRIPTION OF THE ALGORITHM In this section of the paper we will describe the algorithm that will be used on the Autonomous Lawnmower for path planning. The basic coverage “shape” is called the Boustro- phedon path, which literally means “the way of the ox.” [2] As previously stated the resulting coverage path resembles the output of a Boustrophedon Cellular Decomposition in that it covers each cell of the area in order, but at no point during this implementation of the algorithm is the cellular decomposition formally done. This effect is just a product of the manner in which the algorithm selects the order of waypoints to be traveled to. Fig. 1. Different Cutting Rotations A. Field Rotation One of the parameters of our algorithm is the angle at which the “cutting lines” are set. You can see in Figure 1 that this algorithm can plan and coverage at angle specified angle. This allows us to pick, offline, the best cutting direction for a given field. There are also some tools for automatically picking the best angle of cutting and starting point. Figure 2 shows how the angle of the longest edge has been selected automatically as the cutting angle. Other heuristics or methods could be used to determine the best angle of cutting. In order to simplify the work in generating a path that adheres to the cutting angle, the field polygon’s points are simply rotated into a frame where the cutting angle is along the y axis. The map is rotated into the cutting angle frame using rotation matrices [5, p.60], such that each point map polygon is multiplied by the inverse rotation matrix given by: R (θ) -1 = cos (θ) - sin (θ) 0 sin (θ) cos (θ) 0 0 0 1
4

ELEC 5530/6530 INTRODUCTION TO AUTONOMOUS MOBILE ROBOTICS ... · ELEC 5530/6530 INTRODUCTION TO AUTONOMOUS MOBILE ROBOTICS 1 Simulated Path Planning for Auburn’s Autonomous Lawnmower

May 31, 2020

Download

Documents

dariahiddleston
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: ELEC 5530/6530 INTRODUCTION TO AUTONOMOUS MOBILE ROBOTICS ... · ELEC 5530/6530 INTRODUCTION TO AUTONOMOUS MOBILE ROBOTICS 1 Simulated Path Planning for Auburn’s Autonomous Lawnmower

ELEC 5530/6530 INTRODUCTION TO AUTONOMOUS MOBILE ROBOTICS 1

Simulated Path Planning for Auburn’s AutonomousLawnmower

John Harrison and William J. Woodall IV

Abstract—Auburn University has a competition AutonomousLawnmower team and competes every year at ION’s competition[1] in Dayton, OH. This paper describes the how the team hasapproached coverage path planning for the lawnmower giventhe competition constraints. The competition setting dictates aclosed polygon filed, which can be concave, and it will containseveral static and dynamic obstacles. The path planner for thelawnmower has to navigate this field while covering as muchas the field as possible and without competition field specificknowledge. The algorithm implemented here have results thatresemble the output of the Boustrophedon Cellular Decom-position [2] method. The paper describes the implementationof this algorithm and some examples of its performance indifferent situations. Additionally, the paper shows the simulationenvironment setup in the two dimensional, kinematic roboticssimulator, Stage [3].

Index Terms—Coverage Path Planning, Mobile Robotics, Nav-igation, Simulation

I. INTRODUCTION

COVERAGE path planning determines a path that guar-antees coverage of an area in an admissible manner for

the agent. This type of path planning can be applied to manyareas of work including detection of unexploded ordinance,floor cleaning, or crop plowing, just to name a few. In thecase of this paper the application is lawn-mowing, the agentis Auburn’s Autonomous Lawnmower, and the area is thecompetition field. Though this paper sticks to these constraintsthe implementation here should be generalized enough to beeasily applied to other applications or situations. This paperassumes a few other things about the environment. First, theassumption is made that this planning is done off-line withknowledge about the area to be covered and the obstacles inthe environment. This means that there is no planned dynamicobstacle avoidance at this point. The previous competitionyear’s field, which was surveyed with RTK GPS equipment,will be used as a test shape during this paper.

Optimally, the path should contain as few turns as possible,but irregular shapes, shapes with odd angles and interiorobstacles, pose problems for generating an optimal path.Minimizing the turns, would improve cutting quality and toavoid short comings of the navigation system. To find the pathwith the fewest number of turns for a regular shape such asa rectangle, the simplest way is to find the longest edge andgenerate paths that are parallel to that edge. For other shapes,such as an ellipses, following parallel the longest edge of thebounding box will produce the best path with the fewest turns.More complex shapes require cellular decomposition to findan optimal path for a given cell. Breaking each componentof the shape into semi-regular cells can help break down the

problem into smaller portions for generating the optimal path.[4]

II. DESCRIPTION OF THE ALGORITHM

In this section of the paper we will describe the algorithmthat will be used on the Autonomous Lawnmower for pathplanning. The basic coverage “shape” is called the Boustro-phedon path, which literally means “the way of the ox.” [2]As previously stated the resulting coverage path resembles theoutput of a Boustrophedon Cellular Decomposition in that itcovers each cell of the area in order, but at no point during thisimplementation of the algorithm is the cellular decompositionformally done. This effect is just a product of the mannerin which the algorithm selects the order of waypoints to betraveled to.

Fig. 1. Different Cutting Rotations

A. Field Rotation

One of the parameters of our algorithm is the angle at whichthe “cutting lines” are set. You can see in Figure 1 that thisalgorithm can plan and coverage at angle specified angle. Thisallows us to pick, offline, the best cutting direction for a givenfield. There are also some tools for automatically picking thebest angle of cutting and starting point. Figure 2 shows howthe angle of the longest edge has been selected automaticallyas the cutting angle. Other heuristics or methods could be usedto determine the best angle of cutting. In order to simplify thework in generating a path that adheres to the cutting angle, thefield polygon’s points are simply rotated into a frame wherethe cutting angle is along the y axis. The map is rotated into thecutting angle frame using rotation matrices [5, p.60], such thateach point map polygon is multiplied by the inverse rotationmatrix given by:

R (θ)−1

=

cos (θ) − sin (θ) 0sin (θ) cos (θ) 0

0 0 1

Page 2: ELEC 5530/6530 INTRODUCTION TO AUTONOMOUS MOBILE ROBOTICS ... · ELEC 5530/6530 INTRODUCTION TO AUTONOMOUS MOBILE ROBOTICS 1 Simulated Path Planning for Auburn’s Autonomous Lawnmower

ELEC 5530/6530 INTRODUCTION TO AUTONOMOUS MOBILE ROBOTICS 2

Where θ is the angle of cutting specified. After applyingthe rotation to the field then the planning can assume verticallines intersecting the field will produce the desired cuttinglines. Once the planning is complete, the resulting waypointsof the path are each multiplied by the forward rotation matrixgiven by:

R (θ) =

cos (θ) sin (θ) 0− sin (θ) cos (θ) 0

0 0 1

Again, with θ representing the angle of cut. This puts the

path back into the map frame.

Fig. 2. Cutting Angle Parallel with the Longest Edge

B. Finding Intersection Points

Once the map polygon has been transformed into the cuttingangle frame then the map is ready to be intersected by verticallines. The first vertical line is the vertical line that is collinearwith the point or points of the map that have the smallest xvalue. This gives the left most vertical line that intersects themap polygon. The right most line, which is the left most lineon the first iteration, is expanded to the right by 1/2 of thecutting width and then the intersecting points between the newexpanded line and map polygon are put into a list of points tovisit. This is continued until the new expanded line does notintersect the map polygon. This can be visualized in Figure 3,where the solid red line is the first intersection line and thesolid black lines are the intersection lines to follow.

C. Ordering Intersection Points

Once the intersection points have been found from theintersection lines and the map polygon, those points need to

Fig. 3. Intersection Lines Drawn on a Rotated Map Polygon

be ordered. The algorithm for ordering those path points startsby finding the closest point to the origin, also referred to as thestarting position, and that point is set to the current point. Thenthe algorithm follows the intersection line associated with thecurrent point till it reaches the matching point on the oppositeside and that becomes the current point. Then the closest pointof the closest intersection line in the positive x direction is setto the current point. This is repeated until all points have beenvisited. Each time a new current point is set, the previouscurrent point is appended to an ordered list. This list becomesthe path once all of the points have been visited. Finally, thepoints in the path are each rotated back into the map frameand are ready to be fed to the controller as waypoints.

Fig. 4. Coverage Planning with Concave Map Polygon and a Static Obstacle

Page 3: ELEC 5530/6530 INTRODUCTION TO AUTONOMOUS MOBILE ROBOTICS ... · ELEC 5530/6530 INTRODUCTION TO AUTONOMOUS MOBILE ROBOTICS 1 Simulated Path Planning for Auburn’s Autonomous Lawnmower

ELEC 5530/6530 INTRODUCTION TO AUTONOMOUS MOBILE ROBOTICS 3

Fig. 5. Coverage Planning on a Circular Map Polygon

III. RESULTS

It has already been shown that the coverage planner canallow for different cutting angles and starting points, and thatit can successfully plan even with concave shapes. In thissection of the paper we will show that it can handle manyedge cases. Figure 4 shows that the path planner can handleconcave shapes that have the concave alcove against the grainof the path planner. It also shows that the planner can dealwith known static obstacles. Figure 5 shows that the coverageplanner can handle irregular map polygon shapes like circularshapes.

IV. SIMULATION WITH STAGE

To simulate the use of the path planner and the controllertogether the competition environment was setup in the twodimensional simulator called Stage [3]. Stage allows thesimulated robot to interact with the path planner, obstaclesdetection and avoidance system, and the controller as if itwere the real system. The communication and runtime isall handled through the Robotic Operating System, ROS [6].There is very little interaction with the path planner describedin this paper and the simulator, but the work following thisthat allows for on-line obstacle detection and avoidance willneed to interface with the simulator. The controller could beshow in the simulator, but it is still currently in Matlab beingtuned so that is not possible at this time.

V. FUTURE WORK

The output of the planner needs to be mapped into thecontroller to ensure that the controller is capable of performingthe requested path. Currently the planner requires off-lineknowledge of the field shape and obstacles. In the future the

Fig. 6. Stage World that Models the Competition and Lawnmower

planner should incorporate the ability to detect and avoid ob-stacles in real-time to handle obstacles that cannot be measuredoff-line or dynamic obstacles. Finally, it would be interestingto try and run the coverage planning from a situation wherenothing is known about the survey area. Input from sensorslike vision and laser range finders would be required to findthe boundaries of the map.

VI. CONCLUSION

This paper has introduced a coverage path planning systemtailored to the Autonomous Lawnmower Competition, but thathas a general solution that can be applied to many situationsand platforms. The coverage planner in this paper shouldprovide a sufficient system for planning an admissible path forthe Autonomous Lawnmower project to proceed with testingand integration.

Page 4: ELEC 5530/6530 INTRODUCTION TO AUTONOMOUS MOBILE ROBOTICS ... · ELEC 5530/6530 INTRODUCTION TO AUTONOMOUS MOBILE ROBOTICS 1 Simulated Path Planning for Auburn’s Autonomous Lawnmower

ELEC 5530/6530 INTRODUCTION TO AUTONOMOUS MOBILE ROBOTICS 4

REFERENCES

[1] “ION Robotic Lawnmower Competition,” http://www.ion.org/satdiv/alc/,2011.

[2] H. Choset and P. Pignon, “Coverage path planning: The boustrophe-don decomposition,” in International Conference on Field and ServiceRobotics, 1997.

[3] R. Vaughan, “Stage: a multiple robot simulator,” Institute for Robotics andIntelligent Systems Technical Report IRIS-00-393, University of SouthernCalifornia, 2000.

[4] F. Lingelbach, “Path planning using probabilistic cell decomposition,”in Robotics and Automation, 2004. Proceedings. ICRA ’04. 2004 IEEEInternational Conference on, vol. 1, april-1 may 2004, pp. 467 – 472Vol.1.

[5] R. Siegwart and I. Nourbakhsh, Introduction to autonomous mobilerobots. The MIT Press, 2004.

[6] M. Quigley, B. Gerkey, K. Conley, J. Faust, T. Foote, J. Leibs, E. Berger,R. Wheeler, and A. Ng, “Ros: an open-source robot operating system,”in ICRA Workshop on Open Source Software, 2009.

William J. Woodall IV William is a graduateresearch assistant at Auburn University and is pursu-ing his Master of Science in Software Engineering.He works for Dr. David Bevly of the MechanicalEngineering Department on Mobile Robotics andAdvanced Teleoperation. William’s research inter-ests include mobile robotics, navigation and control,and perception. http://williamjwoodall.com

John Harrison John Harrison is a graduate studentresearcher with Auburn University. He works withDr. Saad Biaz on a teaching tool for embeddedoperating systems. John’s research interests includeembedded systems, robotics control systems andcompiler technologies.