The Xavier navigation system is a layered architecture, consisting of servo-control, obstacle avoidance, navigation, and path planning. Each layer receives ‘guidance’ from the layer above and provides commands to the layer below. Each layer also filters and abstracts information for the higher layers, enabling them to operate more globally without getting swamped by data.
The Servo-control layer, which controls both the base and pan-tilt head, provides simple velocity and/or position control. It also provides feedback on command execution and position information, based on encoder readings.
The Obstacle avoidance layer keeps the robot moving in a desired direction, while avoiding static and dynamic obstacles.
The Navigation layer is responsible for getting the robot from one location to another. It uses a Partially Observable Markov Decision Process (POMDP) model to maintain a probability distribution of where the robot is at all times, choosing actions base on that distribution.
The Path planning layer determines efficient routes based on both a topological map that is augmented with rough metric information and the capabilities of robot.
The Xavier navigation system is implemented as a collection of asynchronous processes, distributed over the three computers on board Xavier. The processes are integrated and coordinated using the Task Control Architecture (TCA). TCA provides facilities for interprocess communication, task decomposition, task synchronization, execution monitoring, exception handling and resource management.
No comments:
Post a Comment