The Morphin algorithm provides traversability data to the navigation system through the callback interface described earlier. Three register classes to receive this data:
• Goodness Callback: this class updates a local traversability map used a local function of cost.
• D* Goodness Callback: this class transfers the traversability analysis to the map used by the D* global function of cost.
• Goodness Streamer Callback: a debugging class which is used to broadcast the data to an off board of interface user.
The global and local cost functions are used by an implementation of the action selector interface which searches for the best arc to traverse.
This framework addresses many of the problems associated with prior algorithms implementations. The model used to describe the motion of the robot is centralized in this framework, so all cost evaluations are consistent. Furthermore, the scaling data in the cost functions allows for the arbitrary cost functions to be used while still providing reasonable summations.
Each component, e.g. D* cost function, the action selector, Morphin traversability analyzer, and locomotion model is independent of the others. Changing the types of motion the robot performs therefore does not require changes to any module other than the action selector. For instance, to have a robot move along straight line segments connected by point turns would require only the implementation of a new action selector. Similarly, by replacing the Morphin traversability analyzer with a port of the GESTALT terrain analyzer, the two analyzers of traversability could be compared directly, without the need to change the other software.
The fundamental nature of the algorithm can also be changed easily. For instance, by removing the D*global cost function and replacing the action selector with a new module, a new navigation system that resembles the Rover Bug algorithm could be implemented quickly.
No comments:
Post a Comment