Keywords

Introduction

Redundant robots possess more resources than those strictly required to execute their task; this provides the robot with an increased capacity of facing real-world applications by allowing to handle performance issues besides the mere achievement of a given motion trajectory.

Redundancy may occur in the sensory system, in the mechanical structure, and/or in the actuation system, thus allowing, e.g., fault accommodation, multisensory perception, dexterous motion, and load sharing. Nevertheless, unless otherwise specified, by redundant robot it is meant one that has a kinematically redundant mechanical structure, i.e., provided with more degrees of freedom than those strictly required to execute its task; this also typically leads to a redundancy in the number of actuators and sensors. Noticeably, kinematic redundancy is usually the key to handle the avoidance of singular configurations, the occurrence of joint limits, the engagement of obstacles in the workspace, and the minimization of joint torques or energy. In practice, if properly managed, the increased dexterity characterizing kinematically redundant robots may allow them to achieve a higher degree of autonomy.

In principle, no robot is inherently redundant; rather, there are certain tasks with respect to which it may become redundant. Nevertheless, since most papers in the classical literature on the topic have dealt with robotic manipulators (for which a general task consists in tracking an end-effector motion trajectory requiring six degrees of freedom), a robot arm with seven or more joints is often considered as a typical example of an inherently redundant manipulator. However, even robot arms with fewer degrees of freedom, like conventional six-joint industrial manipulators, may become kinematically redundant for specific tasks, such as simple end-effector positioning without constraints on the orientation.

In the case of traditional industrial applications involving nonredundant mechanical structures, the occurrence of singular configuration and/or the presence of obstacles in the workcell resulted in the need of a carefully structured (and static) working space where the motion of the manipulator could be planned in advance.

On the other hand, the presence of redundant degrees of freedom allows motions of the manipulator that do not displace the end effector (the so-called self-motions or internal motions); this implies that the same end-effector task can be executed with several different joint motions, giving the possibility of better exploiting the workspace of the manipulator and ultimately resulting in a more versatile robotic arm (see Fig. 1). Such feature is a key to allow operation in unstructured and/or dynamically varying environments that characterize advanced industrial applications and service robotics scenarios.

Redundant Robots, Fig. 1
figure 174figure 174

A self-motion of the arm that keeps the end-effector positioned at the blue spot. It is possible to choose configurations that both take the blue spot and avoid the red obstacle

The biological archetype of a robotic manipulator is the human arm, which, not surprisingly, also inspires the terminology used to characterize the serial-chain structure of a robot arm. Remarkably, a simple look at the human arm kinematics from the torso to the hand allows to recognize seven degrees of freedom (three at the shoulder, one at the elbow, and three at the wrist) that make a manipulator kinematically redundant.

The kinematic arrangement of the human arm has been replicated in a number of robots often termed as human-armlike manipulators (see, e.g., Fig. 2). Manipulators with a larger number of joints are often called hyperredundant robots and include – among others – snakelike robots (Fig. 3).

Redundant Robots, Fig. 2
figure 175figure 175

The Mitsubishi PA-10 manipulator

Redundant Robots, Fig. 3
figure 176figure 176

The SnakeRobots.com S7 snake robot prototype

The use of two or more robotic structures to execute a task (as in the case of cooperating manipulators or multifingered hands or multiarm/multilegged robots) also gives rise to kinematic redundancy. A headed multilimb structure is typical of a humanoid robot (Fig. 4). Redundant mechanisms also include vehicle-manipulator systems (Fig. 5).

Redundant Robots, Fig. 4
figure 177figure 177

The Honda ASIMO

Redundant Robots, Fig. 5
figure 178figure 178

The KUKA youBot

Although the realization of a kinematically redundant structure raises a number of issues from the point of view of mechanical design, this entry focuses on the techniques for exploiting the redundant degrees of freedom in the solution of the inverse kinematics problem. This is an issue of major relevance for motion planning and control purposes.

Task-Oriented Kinematics

The relationship between the N variables representing the configuration \(\mbox{ $q$}\) of an articulated manipulator in the joint space and the M variables describing an assigned task \(\mbox{ $t$}\) in an appropriate task space constitutes a task-oriented kinematics; this can be established at the position, velocity, or acceleration level. Typically, one has NM, so that the joints can provide at least the degrees of freedom required for the end-effector task. If N > M strictly, the manipulator is kinematically redundant.

At the position level, the direct kinematics equation takes on the form

$$\displaystyle{ \mbox{ $t$} = \mbox{ $k$}_{\mathrm{t}}(\mbox{ $q$})\,, }$$
(1)

where \(\mbox{ $k$}_{\mathrm{t}}\) is a nonlinear vector function.

Besides the direct kinematics expressed at the position level, it is useful to consider the first-order differential kinematics (Whitney 1969)

$$\displaystyle{ \dot{\mbox{ $t$}} = \mbox{ $J$}_{\mathrm{t}}(\mbox{ $q$})\,\dot{\mbox{ $q$}}\,, }$$
(2)

that can be obtained by differentiating Eq. (1) w.r.t. time. In (2), the mapping between the task-space and the joint-space velocities is held by the M × N task Jacobian matrix \(\mbox{ $J$}_{\mathrm{t}}(\mbox{ $q$}) = \partial \mbox{ $k$}_{\mathrm{t}}/\partial \mbox{ $q$}\) (also called analytic Jacobian).

Remarkably, \(\dot{\mbox{ $t$}}\) expresses the rate of change of the variables adopted to describe the task and thus does not necessarily have the meaning of an end-effector velocity. In general, by denoting the end-effector spatial velocity \(\mbox{ $v$}_{N}\) as the stack of the 3D translational and angular end-effector velocities, the following relationship holds

$$\displaystyle{ \dot{\mbox{ $t$}} = \mbox{ $T$}(\mbox{ $t$})\,\mbox{ $v$}_{N}\,, }$$
(3)

where \(\mbox{ $T$}\) is an M × 6 transformation matrix.

For a given manipulator, the mapping

$$\displaystyle{ \mbox{ $v$}_{N} = \mbox{ $J$}(\mbox{ $q$})\,\dot{\mbox{ $q$}} }$$
(4)

relates a joint-space velocity to the corresponding end-effector velocity through the 6 × N geometric Jacobian matrix \(\mbox{ $J$}\).

By comparing (2)–(4), the relation between the geometric Jacobian and the task Jacobian can be found as

$$\displaystyle{ \mbox{ $J$}_{\mathrm{t}}(\mbox{ $q$}) = \mbox{ $T$}(\mbox{ $t$})\,\mbox{ $J$}(\mbox{ $q$})\,. }$$
(5)

Further differentiation of (2) w.r.t. time provides the following relationship between the acceleration variables:

$$\displaystyle{ \ddot{\mbox{ $t$}} = \mbox{ $J$}_{\mathrm{t}}(\mbox{ $q$})\ddot{\mbox{ $q$}} +\dot{ \mbox{ $J$}_{\mathrm{t}}}(\mbox{ $q$},\dot{\mbox{ $q$}})\dot{\mbox{ $q$}}\,. }$$
(6)

This equation is also known as second-order differential kinematics.

Singularities

A robot configuration \(\mbox{ $q$}\) is singular if the task Jacobian matrix is rank deficient at it. Considering the role of \(\mbox{ $J$}_{\mathrm{t}}\) in (2) and (6), it is easy to realize that at a singular configuration, it is impossible to generate end-effector task velocities or accelerations in certain directions. Further insight can be gained by looking at (5), which indicates that a singularity may be due to a loss of rank of the transformation matrix \(\mbox{ $T$}\) and/or of the geometric Jacobian matrix \(\mbox{ $J$}\).

Rank deficiencies of \(\mbox{ $T$}\) are only related to the mathematical relationship between \(\mbox{ $v$}_{N}\) and \(\mbox{ $t$}\), \(\dot{\mbox{ $t$}}\); for this reason, a configuration at which \(\mbox{ $T$}\) is singular is referred to as a representation singularity. A representation singularity is not directly related to the true motion capabilities of the manipulator structure, which can be instead inferred by the analysis of the geometric Jacobian matrix. Rank deficiencies of \(\mbox{ $J$}\) are in fact related to loss of mobility of the manipulator end effector; indeed, end-effector velocities exist in this case that are unfeasible for any velocity commanded at the joints. A configuration at which \(\mbox{ $J$}\) is singular is referred to as a kinematic singularity.

Since redundancy resolution methods involve the inversion of the task differential kinematics (2) and (6), the handling of singularities through proper treatment of the Jacobian matrix is very important. However, due to space limitations, this topic is out of the scope of this entry and in the following, we will assume that the Jacobian matrices at issue are all full rank.

Null-Space Velocities

With a full-rank task Jacobian, at each configuration an NM dimensional null space of \(\mbox{ $J$}_{\mathrm{t}}\) exists made of the set of joint-space velocities that yield zero task velocity; these are thus called null-space velocities in short.

Remarkably, the components of \(\dot{\mbox{ $q$}}\) in the null-space of \(\mbox{ $J$}_{\mathrm{t}}\) produce a change in the configuration of the manipulator without affecting its task velocity. This can be exploited to achieve additional goals – like obstacle or singularity avoidance – in addition to the realization of a desired task motion and constitutes the core of redundancy resolution approaches.

Inverse Differential Kinematics

The inverse kinematics problem can be solved by inverting the direct kinematics equation (1), the first-order differential kinematics (2) or the second-order differential kinematics (6). With a time-varying desired task reference, it is convenient to solve the differential kinematic relationships because these represent linear equations with the task Jacobian as the coefficient matrix.

For a kinematically redundant manipulator, the general solution of (2) or (6) can be expressed by resorting to the pseudoinverse \(\mbox{ $J$}_{\mathrm{t}}^{\dag }\) of the task Jacobian matrix (Whitney 1969).

The general solution of (2) can be written as

$$\displaystyle{ \dot{\mbox{ $q$}} = \mbox{ $J$}_{\mathrm{t}}^{\dag }(\mbox{ $q$})\,\dot{\mbox{ $t$}} + \mbox{ $N$}_{\mbox{ $ J$}_{\mathrm{t}}}(\mbox{ $q$})\,\dot{\mbox{ $q$}}_{0}\,, }$$
(7)

where

$$\displaystyle{\mbox{ $N$}_{\mbox{ $J$}_{\mathrm{t}}}(\mbox{ $q$}) = \mbox{ $I$}-\mbox{ $J$}_{\mathrm{t}}^{\dag }(\mbox{ $q$})\mbox{ $J$}_{\mathrm{ t}}(\mbox{ $q$})}$$

is an orthogonal projection matrix into the null-space of \(\mbox{ $J$}_{\mathrm{t}}\) , and \(\dot{\mbox{ $q$}}_{0}\) is an arbitrary joint-space velocity; the second part of the solution is therefore a null-space velocity. The particular solution obtained by setting \(\dot{\mbox{ $q$}}_{0} = \mathbf{0}\) in (7) is known as the pseudoinverse solution.

As for the second-order kinematics (6), its solution can be expressed in the general form

$$\displaystyle{ \ddot{\mbox{ $q$}} = \mbox{ $J$}_{\mathrm{t}}^{\dag }(\mbox{ $q$}){\bigl (\ddot{\mbox{ $t$}}-\dot{\mbox{ $J$}_{\mathrm{ t}}}(\mbox{ $q$},\dot{\mbox{ $q$}})\dot{\mbox{ $q$}}\bigr )} + \mbox{ $N$}_{\mbox{ $J$}_{\mathrm{t}}}(\mbox{ $q$})\,\ddot{\mbox{ $q$}}_{0}\,, }$$
(8)

where \(\ddot{\mbox{ $q$}}_{0}\) is an arbitrary joint-space acceleration.

In summary, for a kinematically redundant manipulator, the inverse kinematics problem admits an infinite number of solutions, so that a methodology to select one of them is needed.

Redundancy Resolution via Optimization

An approach to redundancy resolution is based on the optimization of suitable performance criteria.

Performance Criteria

The availability of redundant degrees of freedom can be used to improve the value of performance criteria during the motion. These criteria may depend on the robot joint configuration only or involve also velocities and/or accelerations.

The most frequently considered performance objective for trajectory tracking tasks is singularity avoidance. In fact, singularities lead to decreased mobility, and adding kinematic redundancy allows to reduce the extension of the workspace region where the manipulator is necessarily at a singular configuration (unavoidable singularities Baillieul et al. 1984). Possible performance criteria to drive the manipulator motion out of avoidable singularities are configuration-dependent functions that characterize the distance from singular configurations, i.e., the manipulability measure, the condition number, and the smallest singular value of \(\mbox{ $J$}_{\mathrm{t}}\).

Since kinematic inversion produces very high joint velocities in the vicinity of singular configurations, a conceptually different possibility is to minimize the norm of the joint velocity generated by the redundancy resolution scheme.

Redundancy can be also used to keep a robot away from undesired regions of the joint space or of the task space. For example, it might be desired that a manipulator avoids reaching mechanical joint limits (Liégeois 1977). Another interesting application is obstacle avoidance, which can be enforced by minimizing suitable artificial potential functions defined on the basis of the image of the obstacle region in the configuration space.

Many other performance criteria can be found in the literature.

Local Optimization

Equation (7) provides least-squares solutions to the end-effector task constraint (2), so that it minimizes \(\|\dot{\mbox{ $t$}}-\mbox{ $J$}\dot{\mbox{ $q$}}\|\).

The simplest form of local optimization is represented by the pseudoinverse solution that provides the joint velocity with the minimum norm among those which realize the task constraint. Clearly, the joint movement generated by this locally optimal solution does not provide global velocity minimization along the entire manipulator motion; therefore, singularity avoidance is not guaranteed (Baillieul et al. 1984).

In terms of the inverse differential kinematics problem, the least-squares property may quantify the accuracy of the end-effector task realization, while the minimum norm property may be relevant for the feasibility of the joint-space velocities.

Another possibility is to use the general solution (7), choosing \(\dot{\mbox{ $q$}}_{0}\) as

$$\displaystyle{ \dot{\mbox{ $q$}}_{0} = -k_{H}\,\nabla H(\mbox{ $q$})\,, }$$
(9)

where k H is a scalar stepsize and \(\nabla H(\mbox{ $q$})\) denotes the gradient of a scalar configuration-dependent performance criterion H which is desired to minimize (Liégeois 1977).

As for the second-order solution (8), choosing \(\ddot{\mbox{ $q$}}_{0} = \mathbf{0}\) gives the minimum norm acceleration solution.

Global Optimization

Local optimization algorithms can lead to unsatisfactory performance over long-duration tasks. It is therefore natural to consider the possibility of selecting \(\dot{\mbox{ $q$}}_{0}\) in (7) so as to minimize integral criteria of the form

$$\displaystyle{\int _{t_{i}}^{t_{f} }H(\mbox{ $q$})\,dt}$$

defined over the whole duration of the task. Unfortunately, the solution of these problems (naturally formulated within the Calculus of Variations framework) may not exist and does not admit a closed form in general. One way to make the problem solvable is to use an integral criterion in quadratic form in the joint velocities or accelerations. However, this is more easily done at the second-order kinematic level (see section “Second-Order Redundancy Resolution”).

Redundancy Resolution via Task Augmentation

Another approach to redundancy resolution consists in augmenting the task vector so as to tackle additional objectives expressed as constraints.

Extended Jacobian

The extended Jacobian technique (Baillieul 1985) enforces an appropriate number of functional constraints to be fulfilled along with the original end-effector task.

Given an objective function \(g(\mbox{ $q$})\), if \(\mbox{ $J$}_{\mathrm{t}}\) has full rank a set of NM independent constraints can be obtained from the equation

$$\displaystyle{\left.{\partial g(\mbox{ $q$}) \over \partial \mbox{ $q$}} \right \vert _{\mbox{ $q$}=\widehat{\mbox{ $q$}}}\mbox{ $N$}_{\mbox{ $J$}_{\mathrm{t}}}(\widehat{\mbox{ $q$}}) = \mathbf{0}^{\mathrm{T}}\,,}$$

where \(\widehat{\mbox{ $q$}}\) is the current joint configuration such that the function \(g(\mbox{ $q$})\) is at an extreme; these NM independent constraints can be written in vector form as

$$\displaystyle{\mbox{ $h$}(\widehat{\mbox{ $q$}}) = \mathbf{0}\,.}$$

For a motion that tracks a trajectory \(\mbox{ $t$}(t)\) by keeping \(g(\mbox{ $q$})\) extremized at each time, it is

$$\displaystyle{\left [\begin{array}{c} \mbox{ $t$}(t)\\ \\ \\ \mathbf{0} \end{array} \right ] = \left [\begin{array}{c} \mbox{ $k$}_{\mathrm{t}}{\bigl (\mbox{ $q$}(t)\bigr )}\\ \\ \\ \mbox{ $h$}{\bigl (\mbox{ $q$}(t)\bigr )} \end{array} \right ]\,,}$$

that, similarly to (1) and (2), leads to define an extended Jacobian matrix as

$$\displaystyle{\mbox{ $J$}_{\mathrm{ext}}(\mbox{ $q$}) = \left [\begin{array}{c} \mbox{ $J$}_{\mathrm{t}}(\mbox{ $q$})\\ \\ \\ {\partial \mbox{ $h$}(\mbox{ $q$}) \over \partial \mbox{ $q$}} \end{array} \right ]\,.}$$

Therefore, if the initial joint configuration extremizes \(g(\mbox{ $q$})\) and provided that \(\mbox{ $J$}_{\mathrm{ext}}\) does not become singular, the time integral of the inverse mapping

$$\displaystyle{ \dot{\mbox{ $q$}} = \mbox{ $J$}_{\mathrm{ext}}^{-1}(\mbox{ $q$})\left [\begin{array}{c} \dot{\mbox{ $t$}} \\ 0 \end{array} \right ] }$$
(10)

tracks the assigned end-effector trajectory \(\mbox{ $t$}(t)\) propagating joint configurations that extremize \(g(\mbox{ $q$})\).

The extended Jacobian method has a major advantage over the pseudoinverse solution in that it is cyclic, i.e., it generates repetitive joint motion from a repetitive task motion. Moreover, solution (10) can be made equivalent to (7) via suitable choice of the vector \(\dot{\mbox{ $q$}}_{0}\) (Baillieul 1985).

Augmented Jacobian

The task-space augmentation approach is based on the direct definition of a constraint task to be fulfilled along with the end-effector task (Sciavicco and Siciliano 1988).

In detail, let \(\mbox{ $t$}_{\mathrm{c}}\) collect P variables that describe the additional tasks to be fulfilled besides the end-effector task \(\mbox{ $t$}\). In the general case, it is PNM although full redundancy exploitation suggests to consider exactly \(P = N - M\) .

The relation between the joint-space and the constraint-task coordinates can be considered as a direct kinematics equation

$$\displaystyle{\mbox{ $t$}_{\mathrm{c}} = \mbox{ $k$}_{\mathrm{c}}(\mbox{ $q$})\,,}$$

where \(\mbox{ $k$}_{\mathrm{c}}\) is a continuous nonlinear vector function. At this point, an augmented task can be defined by stacking the end-effector task with the constraint task as

$$\displaystyle{\mbox{ $t$}_{\mathrm{a}}\; =\; \left [\begin{array}{c} \mbox{ $t$}\\ \mbox{ $t$} _{\mathrm{c}} \end{array} \right ]\; =\; \left [\begin{array}{c} \mbox{ $k$}_{\mathrm{t}}(\mbox{ $q$}) \\ \mbox{ $k$}_{\mathrm{c}}(\mbox{ $q$}) \end{array} \right ].}$$

According to this definition, finding a joint configuration \(\mbox{ $q$}\) that brings \(\mbox{ $t$}_{\mathrm{a}}\) at some desired value means to satisfy both the end effector and the constraint task at the same time.

A solution to this problem can be found at the differential level by inverting the mapping

$$\displaystyle{ \dot{\mbox{ $t$}_{\mathrm{a}}} = \mbox{ $J$}_{\mathrm{a}}(\mbox{ $q$})\,\dot{\mbox{ $q$}} }$$
(11)

where the matrix

$$\displaystyle{\mbox{ $J$}_{\mathrm{a}}(\mbox{ $q$}) = \left [\begin{array}{c} \mbox{ $J$}_{\mathrm{t}}(\mbox{ $q$}) \\ \mbox{ $J$}_{\mathrm{c}}(\mbox{ $q$}) \end{array} \right ]}$$

is termed augmented Jacobian and \(\mbox{ $J$}_{\mathrm{c}}(\mbox{ $q$}) = \partial \mbox{ $k$}_{\mathrm{c}}/\partial \mbox{ $q$}\) is the P × N constraint-task Jacobian matrix.

A particular choice for the constraint-task vector is \(\mbox{ $t$}_{\mathrm{c}} = \mbox{ $h$}(\mbox{ $q$})\), with \(\mbox{ $h$}\) defined as explained in section “Extended Jacobian”, that allows the augmented Jacobian method to embed the extended Jacobian one.

Algorithmic Singularities

The specification of additional goals besides tracking the end-effector task raises the possibility that configurations exist at which the augmented kinematics problem is singular while the sole end-effector task kinematics is not; these configurations are termed algorithmic singularities (Baillieul 1985). With reference to the velocity mappings (10) and (11), an algorithmically singular configuration is one at which the extended and the augmented Jacobians, respectively, are singular while \(\mbox{ $J$}_{\mathrm{t}}\) is full rank.

Remarkably, algorithmic singularities arise from the way in which the constraint task conflicts with the end-effector task and are not a problem of the specific inverse kinematic technique (Baillieul 1985). This is easily understandable in simple situations such as that of a desired trajectory passing through an obstacle, where either the trajectory is tracked or the obstacle is avoided, so that both tasks cannot be achieved together. If the origin of the conflict between the two tasks has a clear meaning, the algorithmic singularity may be avoided by keenly specifying the constraint task case-by-case; otherwise, analytical tools must be adopted.

Task Priority

Conflicts between the end-effector task and the constraint task are handled in the framework of the task-priority strategy by suitably assigning an order of priority to the given tasks and then satisfying the lower-priority task only in the null-space of the higher-priority task (Maciejewski and Klein 1985; Nakamura et al. 1987). The idea is that, when an exact solution does not exist, the reconstruction error should only affect the lower-priority task.

With reference to solution (7), the task-priority method consist in computing \(\dot{\mbox{ $q$}}_{0}\) so as to suitably achieve the P-dimensional constraint-task velocity \(\dot{\mbox{ $t$}_{\mathrm{c}}}\). Remarkably, the projection of \(\ddot{q}_{0}\) onto the null-space of J t ensures lower priority of the constraint task with respect to the end-effector task since it results in a null-space velocity for the end-effector task.

Consistently with the defined order of priority between the two tasks, a reasonable choice is then to guarantee exact tracking of the primary-task velocity while minimizing the constraint-task velocity reconstruction error \(\dot{\mbox{ $t$}_{\mathrm{c}}} -\mbox{ $J$}_{\mathrm{c}}\dot{\mbox{ $q$}}\); this gives (Maciejewski and Klein 1985)

$$\displaystyle{ \dot{\mbox{ $q$}} = \mbox{ $J$}_{\mathrm{t}}^{\dag }(\mbox{ $q$})\dot{\mbox{ $t$}} +{\bigl ( \mbox{ $J$}_{\mathrm{ c}}(\mbox{ $q$})\mbox{ $N$}_{\mbox{ $J$}_{\mathrm{t}}}(\mbox{ $q$})\bigr )}^{\dag }{\bigl (\dot{\mbox{ $t$}_{\mathrm{ c}}} -\mbox{ $J$}_{\mathrm{c}}(\mbox{ $q$})\mbox{ $J$}_{\mathrm{t}}^{\dag }(\mbox{ $q$})\dot{\mbox{ $t$}}\bigr )}. }$$
(12)

It can be recognized that the problem of algorithmic singularities still remains; in fact, the matrix \(\mbox{ $J$}_{\mathrm{c}} \cdot \mbox{ $N$}_{\mbox{ $J$}_{\mathrm{t}}}\) may lose rank with full-rank \(\mbox{ $J$}_{\mathrm{t}}\) and \(\mbox{ $J$}_{\mathrm{c}}\). However, differently from the task-space augmentation approach, correct primary-task solutions are expected as long as the sole primary-task Jacobian matrix is full rank. On the other hand, out of the algorithmic singularities, the task-priority strategy gives the same solution as the task-space augmentation approach; this implies that close to an algorithmic singularity, the solution becomes ill-conditioned and large joint velocities may result.

Another approach is to relax minimization of the secondary-task velocity reconstruction constraint and simply pursue tracking of the components of \(\mbox{ $J$}_{\mathrm{c}}^{\dag }\dot{\mbox{ $t$}_{\mathrm{c}}}\) that do not conflict with the primary task (Chiaverini 1997), namely,

$$\displaystyle{ \dot{\mbox{ $q$}} = \mbox{ $J$}_{\mathrm{t}}^{\dag }(\mbox{ $q$})\dot{\mbox{ $t$}} + \mbox{ $N$}_{\mbox{ $ J$}_{\mathrm{t}}}(\mbox{ $q$})\mbox{ $J$}_{\mathrm{c}}^{\dag }(\mbox{ $q$})\dot{\mbox{ $t$}_{\mathrm{ c}}}\,. }$$
(13)

A nice property of solution (13) is that algorithmic singularities are decoupled from the singularities of \(\mbox{ $J$}_{\mathrm{c}}\).

Second-Order Redundancy Resolution

Redundancy resolution at the acceleration level allows the consideration of dynamic performance along the manipulator motion. Moreover, the obtained acceleration profiles (together with the corresponding positions and velocities) can be directly used as reference signals of task-space dynamic controllers.

The simplest scheme operating at the acceleration level is represented by (8) with \(\ddot{\mbox{ $q$}} = \mathbf{0}\). Similar to the velocity-level pseudoinverse solution, the joint motion generated by this locally optimal solution does not result in global acceleration minimization. Remarkably, provided that the appropriate boundary conditions are satisfied, this solution leads to the minimization of the integral of \(\dot{\mbox{ $q$}}^{\mathrm{T}}\dot{\mbox{ $q$}}\) (Kazerounian and Wang 1988).

More flexibility in the choice of performance criteria is obviously obtained by considering the full second-order solution (8). Let the manipulator dynamic model be expressed as

$$\displaystyle{\mbox{ $\tau $} = \mbox{ $H$}(\mbox{ $q$})\ddot{\mbox{ $q$}} + \mbox{ $c$}(\mbox{ $q$},\dot{\mbox{ $q$}}) + \mbox{ $\tau $}_{g}(\mbox{ $q$})\,,}$$

where \(\mbox{ $\tau $}\) is the vector of actuator torques, \(\mbox{ $H$}\) is the manipulator inertia matrix, \(\mbox{ $c$}\) is the vector of centrifugal/Coriolis terms, and \(\mbox{ $\tau $}_{g}\) is the gravitational torque vector. Choosing the null-space acceleration in (8) as

$$\displaystyle\begin{array}{rcl} & & \ddot{\mbox{ $q$}}_{0} = -{\bigl (\mbox{ $H$}(\mbox{ $q$})\mbox{ $N$}_{\mbox{ $J$}_{\mathrm{t}}}(\mbox{ $q$})\bigr )}^{\dag } {}\\ & &\cdot \left (\mbox{ $H$}(\mbox{ $q$})\mbox{ $J$}_{\mathrm{t}}^{\dag }(\mbox{ $q$}){\Bigl (\ddot{\mbox{ $t$}}-\dot{\mbox{ $J$}_{\mathrm{ t}}}(\mbox{ $q$},\dot{\mbox{ $q$}})\dot{\mbox{ $q$}}\Bigr )} + \mbox{ $c$}(\mbox{ $q$},\dot{\mbox{ $q$}}) + \mbox{ $\tau $}_{g}(\mbox{ $q$})\right ) {}\\ \end{array}$$

leads to the local minimization of the actuator torque norm \(\mbox{ $\tau $}^{\mathrm{T}}\mbox{ $\tau $}\) (Hollerbach and Suh 1987).

Another interesting inverse solution, which minimizes the integral of the manipulator kinetic energy, is the following Kazerounian and Wang (1988):

$$\displaystyle\begin{array}{rcl} \ddot{\mbox{ $q$}}& =& \mbox{ $J$}_{\mathrm{t,\mbox{ $H$}}}^{\dag }(\mbox{ $q$}){\Bigl (\ddot{\mbox{ $t$}}-\dot{\mbox{ $J$}_{\mathrm{ t}}}(\mbox{ $q$},\dot{\mbox{ $q$}})\dot{\mbox{ $q$}}\Bigr )} {}\\ & & +\ {\Bigl (\mbox{ $I$}-\mbox{ $J$}_{\mathrm{t,\mbox{ $H$}}}^{\dag }(\mbox{ $q$})\mbox{ $J$}_{\mathrm{ t}}(\mbox{ $q$})\Bigr )}\,\mbox{ $H$}^{-1}(\mbox{ $q$})\,\mbox{ $c$}(\mbox{ $q$},\dot{\mbox{ $q$}})\,, {}\\ \end{array}$$

where the inertia-weighted task Jacobian pseudoinverse can be computed as

$$\displaystyle\begin{array}{rcl} \mbox{ $J$}_{\mathrm{t,\mbox{ $H$}}}^{\dag }(\mbox{ $q$})& =& \mbox{ $H$}^{-1}(\mbox{ $q$})\,\mbox{ $J$}_{\mathrm{ t}}^{\mathrm{T}}(\mbox{ $q$}) {}\\ & & {\Bigl (\mbox{ $J$}_{\mathrm{t}}(\mbox{ $q$})\,\mbox{ $H$}^{-1}(\mbox{ $q$})\,\mbox{ $J$}_{\mathrm{ t}}^{\mathrm{T}}(\mbox{ $q$})\Bigr )}^{-1}. {}\\ \end{array}$$

Once again, the correct boundary conditions must be used.

Summary and Future Directions

To discuss kinematic redundancy, the concept of task-oriented kinematics has been first recalled with the basic methods for its inversion at the velocity and acceleration level. Next, different methods to solve kinematic redundancy at the velocity level have been arranged in two main categories, namely, those based on the optimization of suitable performance criteria and those relying on the augmentation of the task space. Finally, redundancy resolution methods at the acceleration level have been considered in order to take into account dynamics issues, e.g., torque or kinetic energy minimization.

Besides the classical linear algebra methods and optimization tools still ever under investigation, new methodological approaches to redundancy resolution recently include learning algorithms (Rolf et al. 2010) and soft computing techniques (Liu and Li 2006). Active fields of new applications are in sensorial redundancy for data fusion (Luo and Chang 2012) and in systems (like the one in Fig. 6) with a large number of degrees of freedom, namely, hyperredundant robots (Salvietti et al. 2009), humanoids (Kanoun and Laumond 2010), and multirobot systems (Antonelli et al. 2010).

Redundant Robots, Fig. 6
figure 179figure 179

The DLR rolling justin

Cross-References

Recommended Reading

Because of space and scope limitations, in drawing on overview of such a mature and well-developed topic, there are a number of techniques and details that go neglected in any case; a slightly more extensive treatment of kinematic redundancy, including a touch on singularity robustness, cyclicity, and hyperredundant manipulators with related first-reading bibliography can be found in Chiaverini et al. (2008). Other major issues of interest that could not be covered here are in the use of kinematic redundancy for fault tolerance, for improved grasping, and for motion/force control; see, e.g., Roberts et al. (2008), Prats et al. (2011), and Khatib (1990), respectively.