Complexity of the Forward Kinematic Map
The main objective of this paper is to introduce a new method for qualitative analysis of various designs of robot arms. To this end we define the complexity of a map, examine its main properties and develop some methods of computation. In particular, when applied to a forward kinematic map associated to some robot arm structure, the complexity measures the inherent discontinuities that arise when one attempts to solve the motion planning problem for any set of input data. In the second part of the paper, we consider instabilities of motion planning in the proximity of singular points, and present explicit computations for several common robot arm configurations.
In this paper we introduce and discuss a new qualitative measure of the complexity of a forward kinematic map from the configuration space of the robot arm joints to the working space of the end-effector. Let us illustrate the problem on a familiar example of a robot arm with revolute joints. The position of the -th joint is uniquely determined by some angle of rotation , so we may identify the position of each joint with a point on the unit circle , and the combined position of all joints with an -tuple of values ( factors). The position of the end-effector is determined by the spatial location and the orientation, so it corresponds to a point in the cartesian product (here we identify the space of all possible orientation of a rigid body with the set of all orthogonal matrices of determinant 1). The exact form of the resulting forward kinematic map depends on the lengths and the respective inclinations of the axes, and is usually given in terms of Denavit-Hartenberg matrices but the explicit formulae will not be relevant for the main part of our discussion.
The motion planning problem in this setting may be stated as follows: given an initial state of joint parameters and a required end-effector position , find motions of the joints starting at and ending in a position of joints such that the corresponding end-effector position is . The problem may be modelled as follows: let denote the space of all possible paths in (i.e. continuous maps from the interval to the joint parameter space), and let be the map that to each path assigns its starting and ending position, . Then the solution of the motion planning problem can be viewed as an inverse map , with the property . We are mainly interested in robust motion plans, such that a small perturbation of the initial data results in a comparatively small perturbation of the corresponding motion plan. In other words, we normally require that the map is continuous with respect to the input data.
The starting point of our investigation is the following fundamental observation (see Theorem 2.1):If there exists a robust global solution of the motion planning problem for the map , then there also exists a continuous global solution of the inverse kinematic problem for the map .
Since in practice inverse kinematic solutions can be found only for a very restricted class of simple manipulators, it follows that a solution of the motion planning problem will almost always require a partition of the input data space into smaller domains, over which a robust motion plan can be constructed. The minimal number of domains that is needed to cover all possible input data measures the complexity of the motion planning for a given robot arm configuration. We are going to describe a mathematical model that will allow a clear definition of the complexity and develop several methods for its computation.
1.1. Prior work
Motion planning is one of the basic problems in robotics, it has been extensively studied under all possible aspects, and there exists a vast literature on the topic. We are going to rely on [Hollerbach89] and [Kavraki-LaValle] as basic references. In the standard formulation of the motion planning problem one specifies the configuration space of the robot device (which normally correspond to the set of joint parameters but may also take into account various limitations), the working space (spatial position and orientation that can be reached by the robot), and obstacle regions in . Then one considers queries that consist of an initial configuration and a goal configuration (corresponding to the desired position and orientation of the end-effector), and asks for a path that avoids obstacles, and for which and .
The complexity of motion planning was mostly considered within the context of computational complexity: indeed, the search for explicit algorithms aimed to the solution of a given motion planning problem was often accompanied by more general considerations regarding the algorithmic complexity of various solutions - see [Reif79] and [Canny88]. For a more recent study that extensively uses topological methods and is similar in spirit to our approach see [Erdmann10].
A more geometrical measure for the complexity of motion planning was introduced by M. Farber [Farber:TCMP] who observed that algorithmic solutions normally yield robust mapping plans. He then defined the concept of the topological complexity of motion planning in the working space of a mechanical device as the minimal number of continuous partial solutions to the motion planning problem. In many cases the computation of the topological complexity of a space may be reduced to the computation of a very classical numerical invariant, called the Lusternik-Schnirelmann category. Indeed, in certain sense the study of the complexity of the geometric motion planning can be traced back to the 1930’s, to the work in variational calculus by L. Lusternik and L. Schnirelmann. They introduced what is today called the Lusternik-Shnirelmann category of a space, denoted , as a tool to estimate the number of critical points of a smooth map. Their work was widely extended both in analysis, most notably by J. Schwartz [Schwartz] and R. Palais [Palais], and in topology, by R. Fox [Fox], T. Ganea [Ganea], I. James [James] and many others. Today Lusternik-Schnirelmann category is a well-developed theory with many ramifications and methods of computation techniques that allow to systematically determine the category for most of the spaces that will appear in this paper - see [CLOT]. It is interesting to see how this very classical and independently developed theory found its application in the study of problems in robotics. For an overview of principal results on topological complexity see [Farber:ITR], for a less technical and very readable account, see also [Ghrist14, Chapter 8].
The study of the complexity of a map is a natural continuation of Farber’s work and was suggested as a problem by A. Dranishnikov during the conference on Applied Algebraic Topology in Castro Urdiales (Spain, 2014). In spite of strong formal similarities, the flavour of this new theory is quite different from the topological complexity. A partial explanation can be found in some earlier work by J. Hollerbach [Hollerbach] and D. Gottlieb [Gottlieb:IEEE], who studied the possibility to avoid singularities of the forward kinematic map by introducing additional joints. They proved that under standard assumptions a forward kinematic map always has singularities and (with rare exceptions) does not admit global inverse kinematics. As a consequence, the study of the complexity of a map seems to be less amenable to purely homotopy-theoretical methods.
1.2. Our contribution
We introduce a general framework for the study of the complexity of a continuous map. Roughly speaking, the complexity of a map is the minimal number of robust rules that take as input pairs of points , and yield paths starting at and ending at some that is mapped by to . We first show that under the assumption that is regular and admits a right inverse (section), the computation of the complexity of can be reduced to the topological complexities of the spaces and in the sense of Farber. However, a forward kinematic map usually satisfy these assumptions only locally, which causes considerable difficulties and require the development of entirely new methods. As a main computational tool we introduce the concept of relative complexity of with respect to suitably chosen subspaces of . In specific situations we normally proceed in two stages, by first finding a suitable decomposition of and then using different estimates to determine the complexity of over each piece. In this way we are able to obtain good estimates for some important practical cases, especially various combinations of revolute joints.
In the next section we define the complexity of a forward kinematic map and compare it with some related concepts. The central part of the paper are Sections 3 and 4. Section 3 contains the theoretical background and is divided into four subsections, where we consider kinematic maps that admit inverses, regular kinematic maps, lower bounds related to some cohomological obstructions, and finally the general situation, where the kinematic map is not assumed to be regular or possess a global inverse. In Section 4 we apply the theory to estimate the complexity of several important examples, including the system of two parallel joints, the universal joint, the triple-roll wrist and the 6-DOF joint. We suggest to the reader to read Section 4 in parallel with Section 3 in order to appreciate the significance of various theoretical results.
Throughout the paper we use the following standard notation: is the unit circle in the plane, is the cartesian product of circles, is the two-dimensional sphere, and is the space of rotations of the three-dimensional space, or equivalently, of orthogonal -matrices with determinant 1. Moreover denotes projection of a product to the factor and denotes the graph of the map .
2. Complexity of a map
As mentioned in the Introduction, the basic example that we have in mind is the forward kinematic map of a robot arm with revolute joints. However, in order to allow other types of joints and arm configurations, we are going to work in a more general setting. Let us therefore consider an arbitrary forward kinematic map from some configuration space to a working space . Normally the space is the cartesian product of the parameter spaces for the individual joints (but the space may also be restricted to reflect various obstacles and other conditions), while is a subspace of (but may be enlarged to include the velocity and angular momentum of the end-effector). A motion of the arm is then simply a path in , which we model by a continuous map . All theoretically possible motions of the arm are described by the set of all paths in the joint parameter space, which we denote by . The setting of time-scale as an interval between 0 and 1 allows a simple description of the initial and final stage of the motion, so we have a map , given by , i.e. to each movement of the arm we assign its initial position of the joints and the goal position of the end-effector. The pair representing an initial configuration and a goal position is often called a query, and is the query space. A map for which is called a roadmap, because it may be interpreted as a rule that to each initial configuration and goal position of the end-effector assigns a movement of joints that starts in the configuration and ends in the position . More formally, a roadmap is a right inverse to the projection . We require that the map is robust, which means that a small perturbation of the initial data results in a small change of the path performed by the robot arm. In more mathematical terms, this amounts to the requirement that the map must be continuous.
We are now ready to state our first conclusion that may be viewed as the starting point of this study.
If a given forward kinematic map admits a robust roadmap, then it also admits an continuous inverse kinematic map.
Let be a robust roadmap for , and let be some initial configuration of the robot arm. Then the formula satisfies the relation for every , which means that is the inverse kinematic map for . ∎
We are, of course, mostly interested in the negative aspect of the above result: since most forward kinematic maps that appear in practice do not admit a continuous inverse kinematic map, it follows that most motion planning problems cannot have a global robust solution. We are therefore forced to look for robust solutions on subspaces of the query space . The minimal number of domains with robust roadmaps that cover all possible queries in will be called the complexity of the forward kinematic map and will be denoted .
Observe that if we assume that and are the same space and that is the identity map on , then coincides with , the topological complexity of that we mentioned in the Introduction. Indeed, that case corresponds to motion planning within the configuration space of the robot arm, without taking into account the relation to the working space, given by the forward kinematic map. The topological complexity of most of the spaces that are of interest for us has already been computed and can be found in the literature so we will systematically reduce the computation of to the computation of the topological complexity of and . Moreover, we will simplify the notation and write and instead of and .
Similarly as in the case of the topological complexity, we will not try to compute the complexity of directly but rather by finding suitable upper and lower estimates. Upper estimates are mostly based on explicit partitioning of the query space and description of corresponding robust roadmaps. Lower estimates are more subtle, as they require to theoretically demonstrate the impossibility to find a smaller number of robust roadmaps.
3. Estimates of
Let us introduce a more formal definition of the complexity that will ensure mathematical correctness of our conclusions. A space is said to be an Euclidean Neighbourhood Retract (short: ENR) if it can be obtained as a retract of some open subspace of . This class includes most interesting geometric objects like manifolds, polyhedra, algebraic sets and other spaces that arise as configuration and working spaces of mechanical systems. We will assume that and are ENR spaces and will consider only zzs of and that are also ENR. A partial roadmap for the forward kinematic map is a continuous map whose domain is an ENR subspace of the query space , and is a right inverse for , i.e. for every query . The complexity of is the minimal integer for which can be covered by partial roadmaps. We will usually take the domains of roadmaps to be disjoint but that requirement is not part of the definition, and sometimes it may even be more natural to allow overlapping (for example, when we want to take into account various inaccuracies and noise that arise in real-world situations).
3.1. Invertible kinematic maps
In this subsection we will work under the assumption that admits a continuous inverse kinematic map , such that for all . This assumption is rarely satisfied in practice, but we will be still able to apply the results when the inverse kinematic map can be computed over parts of (i.e. avoiding singular points and gimbal lock positions). We have the following basic result that gives good upper and lower estimates for the complexity of .
If the map admits a right inverse then
To prove that we will show that a partition of into partial roadmaps for allows to generate a partition of into partial roadmaps for . For every partial roadmap the following formula
clearly determines a partial roadmap on . Moreover, if the domains cover then the corresponding domains cover .
Similarly, given a subspace and a partial roadmap for , the formula
determines a partial roadmap on
If the domains cover then the corresponding domains cover , therefore . ∎
The configuration space of a -joint robot arm is the cartesian product of -circles, , whose topological complexity is exactly (see [Farber:TCMP, Theorem 13]), so if there exists a global robust inverse kinematic map for , then . On the other side, the complexity of the standard working space is 4 (see [Farber:ITR, Theorem 4.61]), so in the presence of a global inverse kinematic map the motion planning requires at least 4 robust partial roadmaps. This surprising result explains many of the practical difficulties that arise when we try to construct explicit motion planning algorithms. We will see later, that for systems that do not admit a global inverse kinematics the minimal number of robust roadmaps may be even bigger.
We have seen in Theorem 2.1 that if the complexity of a forward kinematic map is 1 then admits a global inverse kinematic map, and so by Theorem 3.1 the complexity of the working space is also 1. By [Farber:TCMP, Theorem 1] spaces with complexity one are contractible (i.e continuously deformable to a point). This is possible only if the robot working space is a spatial domain without obstacles, and its movement does not involve planar or spatial rotations (cf. [Handbook, Section 5.6.1]).
3.2. Regular kinematic maps
In this subsection we take into account the analytic properties of the forward kinematic map . In fact, is normally a smooth mapping so we may consider its Jacobian which can at every point be represented by an matrix, where and are respectively the dimensions of the spaces and . In particular the dimension of the configuration space corresponds to the degrees of freedom of the robot system. If at some point the rank of the Jacobian matrix of is not maximal, then from that point the device cannot move in all possible directions in the working space. This is a common problem in robotic systems, known as a gimbal lock. The forward kinematic map is regular at if the Jacobian matrix of at that point has maximal rank, otherwise is singular at . A forward kinematic map is regular if it is regular at all points. Hollerbach [Hollerbach] proved that a forward kinematic map whose working space allows arbitrary rotations of the end-effector always has singular points, even if the system is redundant (cf. also Gottlieb [Gottlieb]). Nevertheless, in this section we are going to consider the complexity of regular forward kinematic maps as an intermediate step toward the general case.
For our purposes, the main property of regular kinematic maps is that they allow to lift paths from the working space to the configuration space in the following sense. Let be a configuration in , and let be a path in (corresponding to a sequence of movements of the end-effector) that starts at . We may interpret the pair as an input datum for the following task: find a sequence of motions of the joints that starts from the joint configuration , and such that the end-effector performs exactly the movements prescribed by the path . It is a standard fact of differential topology due to Ehresmann [Ehresmann] that if is regular, then this task has a robust solution. More formally, let us denote by the space of input tasks for a robot system. Then Ehresmann’s theorem may be stated as follows.
If the forward kinematic map is regular, then there exists a continuous map such that for all we have and .
The property stated in the proposition essentially means that we may solve every motion task in the configuration space, provided we are able to solve the corresponding task in the working space. Thus the following result does not come as a surprise.
If the forward kinematic map is regular then
Let and let be a partial roadmap for . Then the formula
determines a partial roadmap on . If the domains cover then the corresponding domains cover , therefore . ∎
If the forward kinematic map is regular and admits an inverse kinematic map, then .
In the next result we give a precise characterization of a query set that can admit a robust roadmap.
Let be a regular forward kinematic map. Then a set of queries admits a robust partial roadmap if, and only if can be deformed (within ) to the graph of .
Given a robust roadmap we can define a deformation by the formula
Clearly, the initial stage of deformation is , and the final stage is , where , therefore is contained in the graph of .
Conversely, if is a deformation of to the graph of , then the projections of to and yield paths from to in and from to in , such that . Therefore, we may join the path with the reverse of the lifting of to obtain a motion plan from to . The corresponding formula for the roadmap is thus
Observe that the regularity of was used only in the second half of the proof. In fact, a roadmap on always determines a deformation of to the graph of , and moreover, during the deformation the -component is preserved. We will say that the roadmap defines a horizontal deformation of to the graph.
3.3. Cohomological lower bound
The upper bounds for the complexity of that we obtained in the last two subsections are actually constructive, being derived from the complexities of and for which suitable roadmaps can be explicitly described. On the other side, the lower bound in Theorem 3.1 depends indirectly on the lower bound for , which is in turn based on some cohomological estimates as in [Farber:ITR, Section 4.5]. In this subsection we will obtain better estimates by considering the homomorphism in cohomology induced by the forward kinematic map.
Let be any cohomology theory (e.g. de Rham, singular, Čech…) and assume that a set of queries admits a roadmap . Then by the above discussion may be continuously deformed to the graph of which may be expressed by the following diagram