ARNL Path Planning and Navigation
From MobileRobots Research and Academic Customer Support
The path planning module in ARNL computes a safe path from the robot's current pose to a destination pose. It then sends the appropriate velocities and heading commands to the robot to make it follow the computed path as closely as possible while avoiding unmapped obstacles in its path.
The exact methods are proprietary, but are based on algorithms shown to be reliable and efficient by past robotics research, and which are described in many robotics textbooks and published papers.
The path planning task uses a grid based search to compute the shortest and safe path from the present robot pose to any reachable point in the given robot enviroment map. Once the main path is planned, ARNL recomputes a local segment of the path to plan around any unmapped obstacles it sees with its range sensors. Once the local path is computed ARNL uses the dynamic window method to compute the translational and rotational velocities necessary to follow the path as closely as possible. The path planning thread requires fairly accurate robot location. Hence a localization task must also be run concurrently with the path planning task.
In addition to the standard path planning and path following in a given map, ARNL's path planning module can incorporate special sectors and actions.
- Sectors: These are designated areas in the map which can be used to change the robot localization and navigation parameters when the robot enters the sector. For example, they can be used to slow down in certain sectors and speed up in some other sectors in the map. Several other behaviors are possible. Some of the important ones such as one-way areas are listed below.
- One way corridors: These allow the user to restrict the direction of the robot in certain areas of the map to be close to the preferred direction of the one way. The robot path in a one way area will be such that the dot product of the robot motion vector and the direction of the one way it is in is always greater than 0. The one way areas in the map will be defined as such in the given map. Note that the use of one way areas may cause otherwise accessible goals to become inaccessible or be reachable only in circuitous paths.
- Re-plan paths using global range devices: These allow the user to setup the robot to use a ArGlobalReplanningRangeDevice which can hold certain range data in memory. This will allow the robot to replan a path when it finds the current path to goal is blocked. This is useful when rooms can be accessed through multiple doors some of which may be found to be closed on arrival.
- Restrictive Boundary and Sectors: These are areas and lines in the map where the cost to traverse is higher than normal cells. These constructs can be used to force the robot to plan around unless there is no alternative.
- Inter-robot communication and mutual avoidance (ARNL laser localization package only): The multi-robot networking services allow robots to communicate their positions and path data either in a peer-to-peer fashion, or through a central server, to better avoid each other in a multiple-robot application. To use this feature, you must create an ArServerHandlerMultiRobotPeer or an ArServerHandlerMultiRobot object and configure relevant parameters. See the ArServerHandlerMultiRobotPeer and ArServerHandlerMultiRobot documentation for details.
