Velocity Ellipsoid in 3D and Manipulability


There is a lot of really rich information in the Jacobian matrix and we can use it as a sort of diagnostic tool to work at how well the robot can move at a particular joint angle configuration.

Let us look in more detail at the case where the Jacobian matrix is singular and this is what the Jacobian matrix looks like for a robot in the pose shown here, where joint angle five is equal to zero. The motion of the end-effector due to joint four is given by this column of the Jacobian matrix and the motion of the end-effector due to joint six is given by this column of the Jacobian matrix.

You will notice that these two columns are identical and that means that they result in the same end-effector motion and in this particular case it is rotation about the world Z axis. We can get the same motion by changing joint four or by changing joint six.

For a square matrix, if two columns are identical, then it becomes singular; and a mathematician would say that the rank of the matrix has reduced from full rank, rank six, to a rank of five.

Here is that same Jacobian matrix in MATLAB and we can clearly see that columns four and column six are identical. If we compute the determinate of the matrix, we see that it is equal to zero; it means that this Jacobian is singular. If I compute the rank of this matrix, it is equal to five and that’s saying that there are only five unique columns in this matrix. Two of the columns are identically equal.

Let us look now at a more healthy Jacobian matrix.  We are going to compute the Jacobian for the set joint angle Qn.  This matrix has no obvious duplicated columns.  Its determinant is not equal to zero and its rank is equal to six. That means that all six columns are unique. 

In the last lecture, we introduced the concept of the velocity ellipse and we did this in two dimensions.  For a set of joint angles which lie on a circle in the plane of all possible joint angle velocities, we mapped that into an ellipse in the space of all possible end-effector velocities and that indicated that in a particular robot joint angle configuration, the robot was able to move more quickly in the world Y direction than it could move in the world X direction.  We can do the same thing for a six-axis robot, but the mathematics is a little bit more complex. 

We have this relationship between the robot end-effector spatial velocity and the joint angle velocity.  I can combine these two equations and come up with this expression which is the equation for a hyper-ellipsoid or some ellipse in six dimensions; so it is a little hard to get your head around.  Mostly, we are interested in the first three elements of the spatial velocity; that is the translational velocity of the robot end-effector. 

In this case, we end up with a three-dimensional ellipsoid which we can quite easily plot.  So, here is the velocity ellipsoid for a robot in a particular configuration.  We could view this ellipsoid from different angles and we could see that the ellipse is quite elongated in the vertical direction and it is reasonably flat in the direction towards the base of the robot and so the robot is able to move most quickly in the direction of the long axis of the ellipse and it moves much more slowly in the direction of the short axis of this ellipsoid. 

If the ellipsoid was actually a sphere, then we say the motion is isotropic; that means that the robot end-effector is able to move equally quickly in any direction.  It is convenient to introduce a notion of manipulability, a difficult word to say, and it is a simple scalar measure that says something about the shape of the velocity ellipsoid.  If manipulability is equal to one, then we have the case of isotropic motion; the robot is able to move equally fast in any direction. 

If manipulability is equal to zero, then the ellipsoid is collapsed and it becomes just an elliptical plate and it means that motion in one Cartesian direction is not possible at all.  In general, the manipulability will be somewhere between zero and one.  If it is close to one, it means that the robot is configured to move quite quickly in any direction in its workspace.

As the manipulability gets closer to zero, it means that the robot is in an awkward pose and there are some directions where it was not able to move very quickly at all.  Manipulability is a strong function of the robot joint angles, so depending on the task, you may need to set the robot joint angles so that it has got the speed required in order to achieve that particular task. 

We are going to use MATLAB to display one of these velocity ellipsoids.  The first thing I am going to do is to plot the robot in the joint angle configuration that is in the middle of its work-space and that is what the robot looks like and then I am going to use the method for ellipse to overlay on that a velocity ellipsoid. 

This method has got quite a number of arguments and options.  First of all, I pass in the joint angles that I am interested in.  I want the ellipse to be plotted in the colour blue and I want the edge lines on the ellipse to be in white.  I do not want the whole thing to be somewhat translucent, so I am going to give it an alpha value of 0.5 and there we see the velocity ellipse. 

Now, I can rotate this around and look at it from all sorts of different orientations and viewpoints.  If I look at it pretty much side on, we can see that the ellipse is relatively thin in the direction toward the base of the robot.  That is the direction where the robot is not able to move very quickly or as in the vertical Z direction, basically up and down, the robot is able to move quite quickly; so that is the velocity ellipsoid for this joint angle configuration. 

If I choose a different joint angle configuration, this is where the robot arm is stretched right out horizontally which is the joint angle vector, Qs, in my workspace then the robot is in that configuration and now I am going to plot the ellipse for this particular configuration, so I would just come back and edit this command, change Qn to Qs, and here we have the velocity ellipsoid for this particular case. 

Now, we can see that it is an ellipse; but side on, it has got no thickness at all, it is a plate.  So, in this particular joint angle configuration, the robot is able to move its end-effector from this particular view up and down and left and right; but looking it at this way, it has got no ability at all to move the end-effector back towards the base.


There is no code in this lesson.

The Jacobian matrix provides powerful diagnostics about how well the robot’s configuration is suited to the task. Wrist singularities can be easily detected and the concept of a velocity ellipse is extended to a 3-dimensional velocity ellipsoid.

Professor Peter Corke

Professor of Robotic Vision at QUT and Director of the Australian Centre for Robotic Vision (ACRV). Peter is also a Fellow of the IEEE, a senior Fellow of the Higher Education Academy, and on the editorial board of several robotics research journals.

Skill level

This content assumes high school level mathematics and requires an understanding of undergraduate-level mathematics; for example, linear algebra - matrices, vectors, complex numbers, vector calculus and MATLAB programming.

More information...

Rate this lesson


Check your understanding


  1. Shear Flux says:

    Questions two and three are identical in this quiz

Leave a comment