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...

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

CROWLEY: NAVIGATION FOR AN INTELLIGENT ROBOT 37The correspondence types are used to extend thecomposite local model segment during the update process.4) Is the segment LM the longest found so far?The correspondence function provides both the index of thecorresponding segment <strong>an</strong>d the type of correspondence.D. The Update Process-- Local Model SegmentSensor Model SegmentThe update process is the mech<strong>an</strong>ism by which linesegments from the sensor model, global model, <strong>an</strong>d contact Fig. 7. Orientation error given by average difference in <strong>an</strong>gle betweensensor enter <strong>an</strong>d refine the composite local model. During sensor model segments <strong>an</strong>d corresponding local model segments.each sonar sc<strong>an</strong>, segments from the sensor model are matchedto the current composite local model, <strong>an</strong>d the result of F. Updating the Vertex Positions <strong>an</strong>d Segment StatesThe main functions of the update process are as follows.1) Increase the confidence state of tr<strong>an</strong>sient segments <strong>for</strong>which there is a corresponding segment in the sensormodel.2) Decay the confidence of segments that should be visible,but <strong>for</strong> which there is not a corresponding segment the inmost recent sensor model.3) Add newly observed sensor model segments <strong>an</strong>d segmentsrecalled from the global model to the compositelocal model.4) Refine the vertex position of segments which are“rein<strong>for</strong>ced” by the sensor model.E. Marking the Visible Segments in the Composite LocalModelSegments in the composite local model <strong>for</strong> which there is nocorrespondence are only modified under two conditions.The segment was marked as visible during constructionof the sonar model.The nearest point on the line segment is more th<strong>an</strong> a givendist<strong>an</strong>ce from the IMP’s current position.The second condition is a simple mech<strong>an</strong>ism by whichsegments “fall off the end of the world” as the IMP movesaway from them. The actual dist<strong>an</strong>ce is relatively unimport<strong>an</strong>tas long as it is beyond the sonar r<strong>an</strong>ge <strong>an</strong>d the current area oflocal navigation. Of course, the larger this dist<strong>an</strong>ce, the more“extra” segments the system has to consider on eachcalculation.The first condition establishes a “visible horizon” <strong>for</strong> theIMP. As each point is added to the Sensor Model, the functionVISIBLE is called, <strong>for</strong> a point at the direction of the beam <strong>an</strong>d ther<strong>an</strong>ge of the sonar, to determine which segment in thecomposite local model should be visible. If a segment is found,the difference in <strong>an</strong>gle between the beam <strong>an</strong>d that segment iscomputed. If this difference in <strong>an</strong>gle is not small ( c 15 ”) thenthat composite local model segment is marked as visible.Segments <strong>for</strong> which the <strong>an</strong>gle of incidence of the sonar beam isvery small are not detected reliably by the sonar <strong>an</strong>d are thusnot marked as visible.Unconnected vertices should be extended when there is acorrespondence of types 1, 2, or 3.The position of connected vertices has precedence overthe position of <strong>an</strong> unconnected vertex.A segment is more stable when both its vertices areconnected.The actual rules <strong>for</strong> state updates are implemented as casestatements based on the current state <strong>an</strong>d then ’on thecorrespondence type.After the vertex positions <strong>an</strong>d states of the segments in thecomposite local model have been updated, segments from thesensor model <strong>for</strong> which there was no correspondence in thecomposite local model are added to the composite local modelin the lowest confidence state (state 1). A relabeling process isthen used to connect adjacent segments <strong>for</strong> which the verticesare very close.VI. CORRECTING THE ESTIMATED POSITIONLocal path execution <strong>an</strong>d learning <strong>an</strong>d updating the compositelocal model all depend critically on maintaining <strong>an</strong> accurateestimate of the IMP’s current position. An inst<strong>an</strong>t<strong>an</strong>eousestimate of the IMP’s position is maintained from the rotaryposition encoders on the IMP’s wheels. This estimatedposition is monitored <strong>an</strong>d corrected by a process based oncomparing the sensor model to the composite local model.Be<strong>for</strong>e the composite local model is updated from the sensormodel, the correspondence between the sensor model <strong>an</strong>d thecomposite local model is used to detect <strong>an</strong>d correct <strong>an</strong>ysystematic error in the estimated position of the IMP.As each sensor model line segment is obtained, thecorrespondence is found to the most likely line segment in thecomposite local model. The difference in <strong>an</strong>gle between thesesegments is then computed. When a sensor model has beenconstructed from a complete sc<strong>an</strong> of the rotating depth sensor,the average error in <strong>an</strong>gle is computed. This average error iscomputed from the difference in orientation between SensorModel segments <strong>an</strong>d the corresponding composite local modelsegments, as illustrated by Fig. 7. The sensor model is thenrotated around the position of the IMP by this average error in

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

Saved successfully!

Ooh no, something went wrong!