Motion planning (also known as the navigation problem or the piano mover’s problem) is a term used in robotics for the process of breaking down a desired movement task into discrete motions that satisfy movement constraints and possibly optimize some aspect of the movement.
For example, consider navigating a mobile robot inside a building to a distant waypoint. It should execute this task while avoiding walls and not falling down stairs. A motion planning algorithm would take a description of these tasks as input, and produce the speed and turning commands sent to the robot’s wheels. Motion planning algorithms might address robots with a larger number of joints (e.g., industrial manipulators), more complex tasks (e.g. manipulation of objects), different constraints (e.g., a car that can only drive forward), and uncertainty (e.g. imperfect models of the environment or robot).
Motion planning has several robotics applications, such as autonomy, automation, and robot design in CAD software, as well as applications in other fields, such as animating digital characters, video game, artificial intelligence, architectural design, robotic surgery, and the study of biological molecules.
Robotics planning problems exhibit strong geometric constraints that, at the high level, affect what can be done. For example, before deciding to pick up a cup, we should determine whether it is geometrically feasible to move the robot base to an appropriate position. One major research thread is therefore the integration of task and motion planning.
Even the best-laid plans often go awry. A robot must therefore execute its plans in a robust manner, reacting quickly to minor disturbances, and re-planning when faced with major unexpected changes. For this purpose, we use TREX, a sophisticated executive based on temporal logic and constraint programming. An ongoing research focus is making TREX more accessible to users without experience in logic-based specifications.
Task-level planning requires information about the objects in the world and their relationship to one another. Task-level planning also requires awareness of what is uncertain or unknown, allowing the robot the opportunity to take further sensing actions. An area of interest is therefore to build and make use of higher level representations of the state of the world.