A motion planner for mobile robots is commonly built out of a number of algorithms that solve the two steps of motion planning: 1) representing the robot and its environment and 2) searching a path through the represented environment. However, the available literature on motion planning lacks a generic methodology to arrive at a combination of representations and search algorithm classes for a practical application. This article presents a method to select appropriate algorithm classes that solve both the steps of motion planning and to select a suitable approach to combine those algorithm classes. The method is verified by comparing its outcome with three different motion planners that have been successfully applied on robots in practice.
Motion PlanningMotion planning considers the planning of a path for a robot in an environment that can contain dynamic and static obstacles and is generally characterized by uncertainty. A motion planner can serve three different goals: 1) mapping, 2) covering, and 3) navigation. The focus of this article is on motion planning for mobile robots moving on the ground plane with navigation as a goal. Motion planning typically consists of representing the robot and its environment and searching a path in the represented environment [1]. These representations and search algorithms are abundant in [1]-[4]. Furthermore, as a single algorithm generally does not suffice for a practical application, planners consist of combinations of algorithms to satisfy the designer's requirements [2], [5], [6]. Because the combinations of possibly approximate algorithms are deemed necessary in practice, various approaches have been presented in [2], [4], and [6].However, the available literature lacks a generic methodology to arrive at a combination of representations and search algorithms that can handle all the requirements. The selection of an appropriate combination of representations and search algorithms depends on the desired behavior as specified by the designer, the dynamics and the kinematics of the robot at hand, the dynamics of the environment at hand, and the presence of uncertainty. Typically, these conditions are translated into seven requirements, serving as a basis for the selection of these algorithms. • Completeness: The guarantee that either a solution is returned if one exists or failure is returned if no solution exists. Completeness commonly refers only to search algorithms but, in fact, also concerns the representations because poor design choice for the representation may prohibit any search algorithm from returning a solution even though one exists. • Optimality: A solution can be optimal according to criteria such as distance, time, energy use, and so on. • Correctness: The guarantee that if a solution is returned, it will lead the robot to its goal. • Dealing with kinodynamic constraints: A robot has dynamic constraints, e.g., a limited acceleration, and can also be kinematically constrained, e.g., a car cannot move sideways. • Robustness against a dynamic environment: The...