11.07.2015 Views

Navigation for an Intelligent Mobile Robot - IEEE Xplore

Navigation for an Intelligent Mobile Robot - IEEE Xplore

Navigation for an Intelligent Mobile Robot - IEEE Xplore

SHOW MORE
SHOW LESS
  • No tags were found...

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

CROWLEY: NAVIGATION FOR AN INTELLIGENT ROBOT 39represent the free space in which the robot may travel. Thespace inside a doorway after shrinking <strong>for</strong>ms a special regioncalled a “doorway region.” Doorway regions are not guar<strong>an</strong>teedto be convex. Each adit is connected to the adit on theother side of the doorway <strong>an</strong>d to all other adits within itsconvex region, as shown in Fig. 10. In this figure, the adits tothe convex regions are illustrated with boxes.The network of places is a three level structure. At the toplevel are a list of user-defined “named places.” At the middleis a list of convex regions. Each named place points to aconvex region, <strong>an</strong>d each convex region contains a list ofnamed places. Each convex region also contains a list of adits.The adits serve as l<strong>an</strong>dmarks to global path pl<strong>an</strong>ning <strong>an</strong>dexecution. The convex regions serve as “legal highways” <strong>for</strong>pl<strong>an</strong>ning paths to <strong>an</strong>y named place.C. Global Path Pl<strong>an</strong>ningA global path is pl<strong>an</strong>ned as a sequence of adits which willtake the robot from its current convex region to the convexregion which contains a specified goal point. A comm<strong>an</strong>d ofthe <strong>for</strong>m “go to (place)” provides a pointer to a convex regionthat in turn provides a list of possible goal adits. The aditclosest to the named place is chosen as a goal <strong>for</strong> pathpl<strong>an</strong>ning. Knowledge of the current convex region gives a listof adits from which to start the path. The nearest adit isselected as a starting adit. The shortest path through thenetwork of adits is determined using a version of Dijkstra’salgorithm [ 11 which halts when a path to the desired goal placehas been found. If the start (or the end) of this path leadsthrough two adits in the same region, the first (or last) adit isdropped from the path. Global path execution is then reducedto a three step process in which the IMP 1) moves to the firstadit in the path, 2) moves from each adit on the path to thenext, <strong>an</strong>d 3) then moves from the last adit to the goal place.VIII. .LOCAL NAVIGATIONFig. 11. State tr<strong>an</strong>sition diagram <strong>for</strong> local navigation.IMPFig. 12. Legal highway <strong>for</strong> pathGoalexecution.In the TURN state, the IMP turns toward the goal point untilthe difference between the estimated orientation <strong>an</strong>d thedirection to the goal point falls below the minimum turningresolution. The IMP then enters the WAIT state to make acomplete sonar sc<strong>an</strong> <strong>an</strong>d verify the current estimated position.The sonar sc<strong>an</strong> \results in <strong>an</strong> update in the estimated position<strong>an</strong>d orientation, even if there is no ch<strong>an</strong>ge in the estimatedposition or orientation. The call to the function “Set-Estimated-Position” signals the completion of the sc<strong>an</strong> <strong>an</strong>dcauses a tr<strong>an</strong>sition back to the DECIDE state. If the IMP is not atthe goal, <strong>an</strong>d is turned toward the goal, control will pass fromDECIDE t0 MOVE.Upon entering the MOVE state, the IMP computes theequation of the line (the path equation) from the currentlocation to the goal point. A cyclic process is then initiated inwhich the system moves <strong>for</strong>ward while per<strong>for</strong>ming thefollowing tests as rapidly as possible.1) Verify that the dist<strong>an</strong>ce to the goal point is decreasing.When the dist<strong>an</strong>ce to the goal stops decreasing, the systemreturns to HOLD to wait <strong>for</strong> the next goal. If the dist<strong>an</strong>ce is everA local straight line path is executed by a finite state processwhich monitors the position of the robot to assure that it increasing <strong>an</strong>d is larger th<strong>an</strong> the goal toler<strong>an</strong>ce, then theremains on the desired straight line within a toler<strong>an</strong>ce. This system will go into the WAIT state to take a cle<strong>an</strong> view of theprocess also monitors the local model to assure that no world.unexpected obstacle blocks the path. A recursive obstacle 2) Verify that the perpendicular dist<strong>an</strong>ce from the currentavoid<strong>an</strong>ce algorithm is used to pl<strong>an</strong> a path around unexpected estimated position to the path line segment is below aobstacles.A. Local Path ExecutionStraight line movement to a goal point is monitored by arelatively simple finite state process. The states of this processare the set {HOLD, DECIDE, TURN, MOVE, WAIT, BLOCKED). Thetoler<strong>an</strong>ce. This test is illustrated by Fig. 12. It is per<strong>for</strong>med byevaluating the path equation using the current estimatedposition, yielding the perpendicular dist<strong>an</strong>ce to the pathequation. If this dist<strong>an</strong>ce exceeds the toler<strong>an</strong>ce, then the IMPwill go to WAIT.3) Verify that there is a free path to the goal. This is donestate tr<strong>an</strong>sition diagram <strong>for</strong> this process is shown in Fig. 11. by projecting parallel line segmentsin the composite localThe process waits in the HOLD state <strong>for</strong> a goal from the global model. If the path becomes blocked, the IMP will go intopath execution process. When a goal is received, the IMP blocked state <strong>an</strong>d signal <strong>for</strong> local path pl<strong>an</strong>ning to avoid theenters the DECIDE state. In the DECIDE state it first tests thedist<strong>an</strong>ce to the goal. If this dist<strong>an</strong>ce is less th<strong>an</strong> a toler<strong>an</strong>ce, itreturns to HOLD. If the dist<strong>an</strong>ce is above the toler<strong>an</strong>ce, theobstacle.If the IMP is in the MOVE or TURN States <strong>an</strong>d its contactsensor is triggered, it immediately halts <strong>an</strong>d enters the BLOCKEDdifference in <strong>an</strong>gle between the current heading <strong>an</strong>d the goal is state. Entering BLOCKED triggers the local path pl<strong>an</strong>ningtested. If this <strong>an</strong>gle is above the minimum resolution <strong>for</strong> procedures to pl<strong>an</strong> a path around <strong>an</strong> obstacle. A lowturning,the IMP enters the TURN state; otherwise it enters theMOVE Sbb.confidence line segment is also placed into the composite localmodel to represent the obstacle.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!