Robotics Research Group
Learn MoreKinematics and Dynamics: Manipulators
What is Manipulator Redundancy?
Mathematically, what is Redundancy?
What can Redundancy be used for?
How can this issue be resolved mathematically?
Redundancy in other areas.
What is Manipulator Redundancy?
17 DOF Dual Arm Robot Kinematics
When a mechanical system such as a serial manipulator has more independent inputs (joints) than are necessary to define the desired output (end effector position and orientation) it can be labeled a redundantly actuated system or kinematically redundant system.

Defining the position and orientation of a body in 3D space requires 6 variables (X, Y, Z, Roll, Pitch, and Yaw for example). A serial robot with 7 or more kinematically independent joints is a redundant robot.

The robot on the left has two 7 DOF arm branches mated to a 3 DOF torso, for a maximum of 10 DOF in a single serial branch. This essentially boils down to having a infinite number of choices for joint position inputs that correspond to a single end-effector output.
Fault Tolerant Designs
Kinematic redundancy should not be confused with systems that are redundantly actuated but do not have more than 6 kinematically independent inputs.

Such systems can have more than one actuator at each joint for the purpose of fault tolerance. When one actuator fails, the second compensates.
This Self-Motion video of a 7 DOF arm can keep its end effector position constant while its configuration changes.
Mathematically, what is Redundancy?
Recall from linear algebra that complications arise when the set of equations being solve do not rank for a 6 degree of freedom solution. This is essentially what happen with redundant manipulators.

The column space does not span and a null space is left. Something must be done with this null space in order to solve the set of equation, or for the joint angles.
What can Redundancy be used for?
Kinematic and Dynamic Optimization
There are optimal ways to utilize the resources of a redundant manipulator depending on the task at hand. Take the human body for example. When it is required to pick up a heavy object, there are certain configurations that make its job easier, such as holding the object close to its torso.

This allows it to take advantage of the stronger muscles of the back and legs. When precision is required, the accuracy of the wrist is taken advantage of. The configurations of redundant robots can be optimized to kinematically and dynamically perform better.
Examples of Optimizations
> Maximize force transmissibility (choosing a solution that best transmits force to the end effector)
> Maximize joint range availability (keeping the joints nearest their center positions)
> Minimize joint velocities (choosing the solution that requires the least amount of motion)
> Maximize dexterity (choosing a solution that avoids singularities and maximizes end effect dexterity)
> Minimize energy (choosing solutions that minimize velocities and inertia)
> Maximize stiffness (choosing solutions that minimize deflection)
Obstacle Avoidance
Redundancy can be used to avoid obstacle that would otherwise prevent the end effector from reaching its goal. The configuration of the manipulator can wrap around the obstacle.
Fault Tolerance
When a joint on a traditional 6DOF robot fails its ability to complete its task is compromised. A redundant manipulator can reallocate resources to compensate for the loss of a mechanical degree of freedom.
How can this issue be resolved mathematically?
Mathematically, there are many tricks. A common solution is to use the pseudo inverse. A more in-depth discussion can be found in Richard Hooper's Report: "Multicriteria Inverse Kinematics for General Serial Robots" or Dr. Chetan Kapoor's "A Reusable Operational Software Architecture for Advanced Robotics."
View Publications.
Redundancy in other areas
The Snake Robot Robots with a large degree of kinematic redundancy are labeled hyper-redundant. Some incarnations of hyper-redundancy are analogous in morphology to snakes. There are many applications where hyper-redundant designs have proven invaluable.

Examples include search and rescue, pipe inspection, and reactor maintenance. Caltech has has ongoing research in this area. The hyper-redundant robot on the left was designed in their lab.