The low-level control software handles moving the robot to specified (x, y) positions, and the collision avoidance software is able to detect and prevent collisions with unforeseen obstacles. However, neither of these navigation modules has the capability of deciding on appropriate motions when obstacles are large, such as walls. Efficient travel requires planning around known obstacles, and being able to replan when an unknown obstacle blocks the path of the robot.
Robust and stable trajectory generation is an important part of the Minerva's navigation abilities, and so the path planner is used to plan complex trajectories in the museum, for example, trajectories around the various exhibit cases. The path planner generates trajectories that take into account finding the shortest distance without hitting obstacles, and the necessity of not becoming lost during the trajectory (coastal navigation).
The following image shows an example trajectory through the museum. The green/blue line is the trajectory and the red lines show the range of angles over which the search for free locations occurs.
Clicking on the image will enlarge it.
The path planner operates by receiving instructions from the high-level control software that determines what exhibit to visit next, and issuing instructions to the low-level control and collision software to move to positions in the museum. The path planner also receives positional information from the localize module, so that it can replan if the collision avoidance module dictates deviation from the original plan.