The role of a navigation algorithm is to generate paths through terrain while achieving specific aims. The navigator uses sensor data to evaluate terrain and locomotion components to execute robot trajectories and motor.
The navigation architecture is divided into modules roughly along sense-think-act lines: traversabilty analysis components, action selection and cost functions. In the traversability analysis components, sensor data is converted into a model of the world. Action selectors use this planning space to determine how the robot should move. Cost functions transform these models into a form that can be used for planning. Once a course of actions is determined, the resulting trajectory is then passed to the locomotion system for execution. The navigator provides the basic interface between decision layer processes and locomotion and the navigation systems. Each component provides a standardized set of interface functions that can be overridden in descendant classes to provide specific behavior.
Navigation aims are expressed as waypoints. Waypoints provide a simple interface that returns whether or not a state is in a set of desired states. The basic implementation is a two dimensional goal location specified with some error tolerance. Descendent waypoint classes may provide more complicated goal conditions, such as a goal line to cross achieving a position with desired orientation.
The navigator tracks the progress of the robot as it progresses towards a waypoint. The decision layer may queue a list of waypoints for the robot to pass through this interface. The navigator also provides an interface through which callbacks can be registered. The callbacks can be used to monitor the progress of the navigator or, in a more complex way, to trigger non navigation tasks to execute (e.g. opportunistic science).
Traversability analysis involves the conversion of sensor data into a model in the world. This may be as simple as a binary occupancy or as complicated as a statistical evaluation of the terrain.
No comments:
Post a Comment