5.3. Singularities

This video discusses robot singularities and Jacobians where the number of joints is not equal to the number of components of the end-effector twist or velocity, resulting in “tall” (“kinematically deficient”) and “fat” Jacobians.

We’ve seen two major uses of Jacobian matrices: converting a set of joint velocities theta-dot to an end-effector twist V and converting an end-effector wrench F to a set of joint forces and torques tau. The twists and wrenches can be expressed in the space frame {s} or the end-effector frame {b}.

The Jacobian is a 6 by n matrix, where n is the number of joints. This means that the rank of the Jacobian can be no greater than the minimum of 6 and n. We say that the Jacobian is full rank at a configuration theta if the rank is equal to the minimum of 6 and n. We say that the Jacobian is singular at a configuration theta-star if the rank of the Jacobian at theta-star is less than the maximum rank the Jacobian can achieve at some configuration. At a singular configuration, the robot loses the ability to move in one or more directions.

We can also categorize Jacobians according to the number of joints n. If n is less than 6, the Jacobian is "tall," meaning it has more rows than columns. The set of reachable configurations for the end-effector is less than 6-dimensional, so we call such robots kinematically deficient. This does not mean the robot is not useful, it just means it is not capable of general motion at the end-effector. An example robot is the 4-joint RRRP robot shown here, which has a 6-by-4 Jacobian.

If n equals 6, the Jacobian is a 6-by-6 square matrix, as for this 6R robot. Such robots are often called general purpose manipulators, because they are capable of general 6-dimensional rigid-body motion at their end-effectors.

If n is greater than 6, the Jacobian is "fat," meaning it has more columns than rows. An example of such a robot is the 7R robot pictured here, which has a 6-by-7 Jacobian. Such robots are called redundant, because they can achieve the same end-effector twist with different joint velocities. This capability can be useful in a number of circumstances, allowing internal motion of the arm that is not visible in motion at the end-effector. Your own arm has a redundancy like this: keeping your hand stationary at a fixed configuration in space, you can still move your arm internally.

It can be difficult to visualize 6-dimensional motion of a robot, so to illustrate the shape and rank properties of the Jacobian, we will use a simple planar example. In this example, the end-effector velocity v_tip and force f_tip are 2-vectors, and the Jacobian is 2 by n, where n is the number of joints. For the 3_R arm shown here, the number of joints n is 3, the robot is redundant, and its 2-by-3 Jacobian matrix is full rank, meaning its rank is 2, at the configuration shown. Since the Jacobian is rank 2, the robot can generate any linear velocity at its end-effector, and any force applied to the end-effector must be actively resisted by at least one of the joints.

Using the fact that v_tip equals J theta-dot, we can always calculate v_tip given the joint velocities theta-dot. This figure shows the components of the endpoint velocity caused by the individual joint velocities, and we can sum them to get the end-effector velocity v_tip. Since the rank of J is 2, any v_tip can be created by the joints.

You could imagine asking the inverse question, given v_tip, what is theta-dot? The answer to this question is not as straightforward, however, because in general, as in this case, the inverse of J does not exist, either because J is not square or because it is singular. Because this 3R robot is redundant, it turns out that for any v_tip, there is a full one-dimensional set of solutions of joint velocities that achieves v_tip. This inverse question will be addressed in more detail in Chapter 6.

Moving on to forces, using the fact that tau equals J-transpose times f_tip, we can always find the joint forces and torques tau that correspond to the end-effector force f_tip. For the f_tip shown here, we can graphically calculate tau_1, the torque about the first joint, using the relationship tau_1 equals minus r_1 times the magnitude of f_tip, where r_1 is the vector perpendicular to f_tip from the joint to the line of force. Similarly, we can calculate the torques at joints 2 and 3. Each joint has to individually support the endpoint force f_tip.

You could also imagine asking the inverse question given tau, what is the endpoint force f_tip, but this question is not as straightforward, because the inverse of J-transpose may not exist. For the 3R arm, for most random choices of joint torques, the arm will have internal motion, and will not simply statically resist an externally applied force minus f_tip.

Moving on, let's consider the redundant 3_R arm when it is fully stretched out. The rank of the 2-by-3 Jacobian drops to 1, meaning the arm is at a singular configuration. Rotation at joint 1, 2, and 3 produces only vertical velocity at the end-effector; no horizontal velocity can be achieved. Also because of the singularity, a horizontal force applied at the end-effector is resisted by the mechanical structure of the robot; no joint torques have to be applied.

This 2_R robot has a square Jacobian that has rank equal to 2 at the configuration shown. This means that any tip velocity is possible and any force applied to the tip must be actively resisted by the joints.

In this picture, the 2_R robot is at a singular configuration, where only vertical velocities are possible and horizontal forces can be passively resisted by the mechanical structure of the robot.

Finally, we have a 1_R robot. The Jacobian is 2-by-1 and is full rank, meaning the rank is equal to 1, at any configuration. This robot is kinematically deficient for the task of achieving arbitrary linear velocities at the tip, as it can only achieve linear velocities perpendicular to the link. Any horizontal force is passively resisted by the joint, while any vertical force must be actively resisted by the joint torque.

In the next and final video of Chapter 5, we will characterize how close a robot is to being singular using the manipulability ellipsoid touched on in the first video of this chapter.