Lec 20
Lec 20
Lecture - 20
Serial Manipulator Jacobian Matrix
Welcome to this NPTEL lectures on Robotics, Basic and Advanced Concepts. In the last
lecture, we had looked at how to obtain the linear and angular velocity of the links of a
robot, and then I had shown you how to propagate the linear and angular velocity of the
links of a robot from a fixed base all the way to the end effector. And finally, I had given
an example of a planar 3 degree of freedom robot and showed you how to obtain the linear
and angular velocity of each link, ok.
In this lecture, we will look at a very important concept in velocity kinematics of robots
called the Jacobian matrix. And now this lecture, we look at the Serial Manipulator
Jacobian matrix. Next, we look at the parallel manipulator Jacobian matrix.
So, a serial manipulator Jacobian matrix to start, we first obtain the linear and angular
velocity of the end effector of the robot. So, for example, in the planar 3R robot which we
had discussed last time, I showed you that the angular velocity of the {Tool} coordinate
system can be written in as sum of 𝜃̇1 , 𝜃̇2 , 𝜃̇3 the z component, and the x and y components
were 0.
Likewise, the linear velocity of the end effector or the origin of the Tool coordinate system
could be written in terms of again 𝜃̇1 , 𝜃̇2 , 𝜃̇3 . And so, for example, the x component is
(−𝑙1 sin 𝜃1 𝜃̇1 − 𝑙2 sin(𝜃1 + 𝜃2 ) (𝜃̇1 + 𝜃̇2 ) − 𝑙3 sin(𝜃1 + 𝜃2 + 𝜃3 ) (𝜃̇1 + 𝜃̇2 + 𝜃̇3 )).
So, this was obtained and similarly the y component contains cosine of 𝜃1 , (𝜃1 + 𝜃2 ), and
(𝜃1 + 𝜃2 + 𝜃3 ) and the z component was 0. So, this was obtained from the velocity
propagation formula. The second set of quantities for the linear velocity of the Tool could
also be obtained from simple derivative of the position vector.
Now, we can write these two expressions of angular velocity and linear velocity in a
compact form. So, the first we write the linear velocity components, ok (−𝑙1 𝑠1 − 𝑙2 𝑠12 −
𝑙3 𝑠123 )𝜃̇1. Then, the second term is (−𝑙2 𝑠12 − 𝑙3 𝑠123 )𝜃̇2 and third term is (−𝑙3 𝑠123 )𝜃̇3 .
So, basically we take all the terms containing 𝜃̇1 , all the terms containing 𝜃̇2 and all the
terms containing 𝜃̇3 and write it as the matrix form, ok. So, the second row of this matrix
can be written as (𝑙1 𝑐1 + 𝑙2 𝑐12 + 𝑙3 𝑐123 )𝜃̇1 , (𝑙2 𝑐12 + 𝑙3 𝑐123 )𝜃̇2 and (𝑙3 𝑐123 )𝜃̇3 , and the z
component is 0.
Likewise, from the angular velocity, we can write that the x component of the angular
velocity is 0, the y component is 0, and the z component is (𝜃̇1 + 𝜃̇2 + 𝜃̇3 ). So, these, 6
scalar equations from these two vector equations can be written in this matrix form.
𝑇
So, the column vector here is (𝜃̇1 , 𝜃̇2 , 𝜃̇3 ) multiplied by something which is a function of
the link lengths 𝑙1, 𝑙2 , 𝑙3 and sin and cosine of 𝜃1 , 𝜃2 and 𝜃3 . And the left side here contains
the velocity vector, linear velocity vector and the angular velocity vector.
This is like meters per second and this is like radians per second. So, we will use these
dash lines to separate the linear and angular velocity and to remind that the 0𝒱𝑇𝑜𝑜𝑙 or this
combination of linear and angular velocity is not a vector in the strict sense of the world.
The matrix in the square bracket is called the Jacobian matrix for the planar 3R
manipulator, ok. So, that this is the introduction to the Jacobian matrix. So, what does this
Jacobian matrix do? It relates the linear and angular velocity of the Tool with the joint
velocities. So, joint velocities are 𝜃̇1 , 𝜃̇2 , 𝜃̇3 , the left hand side is the linear velocity of the
Tool and the angular velocity of the Tool, ok.
The other important thing in this Jacobian matrix is it is the Jacobian matrix for the end
effector or the Tool. So, that is why we have a leading subscript tool. It is also important
to note that this Jacobian matrix is with respect to the fixed coordinate system.
Why? Because the linear and angular velocities are written with respect to the fixed
coordinate system and that is the reason there is a leading superscript 0, ok. So, if I wanted
to find the Jacobian matrix for some other link or in some other coordinate system we have
to go back and change quite a few things.
However in this case it is not so, ok. Here the first and the last three rows represent linear
and angular velocity, ok. So, the first three rows have units of length, the last three rows
have no units. So, the linear velocity is meters per second, ok. So, 𝜃̇’s are radians per
second, so the quantity inside the matrix is meters first three rows. And the second thing
is angular velocity is radians per second, we already have 𝜃̇’s which are radians per second,
so the quantity inside the matrix is unit less, ok.
0
So, likewise similar to 𝒱𝑇𝑜𝑜𝑙 , we will put the top and bottom halves of this Jacobian
matrix separated by this dash line, just to remind us that it is not a proper matrix. So, and
many matrix operations on this Jacobian makes no sense, because it is not strictly a matrix.
So, for example, finding the condition number of this matrix is meaningless, since it
changes with the choice of the length units.
So, what is the condition number? It is the ratio of the absolute value of the largest to the
smallest eigenvalue, ok. So, if we find the eigenvalues of this matrix, the largest divided
by the smallest, ok. So, it would have units of length and depending on whether you are
writing the linear velocity as meters per second or centimeters per second the eigenvalues
will be different numerically and the condition number will be different. So, it does not
make any sense to do some matrix operations, ok.
So, what can we do with this or why do we use this Jacobian matrix? So, the best way to
think of the Jacobian matrix is a map. So, what does it do? It will take 𝜃̇’s which are the
joint rates to the linear and angular velocity of the end effector, ok. The Jacobian matrix
can be derived for any serial manipulator with rotary and prismatic joints, ok. Why?
Because in general the Jacobian matrix is defined for any differentiable vector valued
function 𝑿 = 𝜓(𝜃1 , … , 𝜃𝑛 ). And this Jacobian matrix is the partial of the first derivatives
of 𝜓 with respect to 𝜃𝑖 . So, the 𝑖 th column of this Jacobian matrix is (𝑑𝜓/𝑑𝜃𝑖 ). So, in this
case it is not so straightforward, but you can think of it this way that the Jacobian matrix
is the derivative of the position vector and then the Jacobian matrix the bottom part comes
from the angular velocity vector, ok.
So, we can compute the linear and angular velocity using propagation equations and we
can always rearrange in a matrix equation as was done for the planar 3R manipulator. So,
we can always obtain the Jacobian matrix for any serial robot with rotary and prismatic
joints. This Jacobian matrix is very important in velocity kinematics of serial manipulators.
We will see that in a little while.
Any instant if the thetas are known the Jacobian matrix relates linear and angular velocity
to the joint rates and this relationship is linear, ok because 0𝒱𝑇𝑜𝑜𝑙 = 0 ̇
𝑇𝑜𝑜𝑙 [𝐽(Θ)]Θ. So, at
0
any instant if 0
𝑇𝑜𝑜𝑙[𝐽(Θ)] is fixed 𝒱𝑇𝑜𝑜𝑙 and Θ̇ are linearly related, ok. So, the Jacobian
matrix can be obtained for any link. Why? Because we can obtain the linear and angular
velocity of any link. Most of the time we would be interested in the end effector, linear
and angular velocity and hence the Jacobian matrix of the end effector.
The Jacobian matrix is always with respect to a coordinate system, ok. Why? Because the
linear and angular velocities are written with respect to a coordinate system. So, most of
the time the Jacobian matrix is with respect to the fixed coordinate system or the 0
coordinate system. But the Jacobian matrix can be written in any coordinate system using
rotation matrices.
So, if I want the linear velocity in some other coordinate system we can pre-multiply by a
rotation matrix. If I want the angular velocity in another coordinate system we can pre-
multiply it by a rotation matrix and again rearrange to obtain the Jacobian matrix.
(Refer Slide Time: 12:47)
Most of the time the Jacobian matrix is 𝑚 × 𝑛, where 𝑚 is the dimension of the motion
space and 𝑛 is the number of actuated joints, ok. So, in the case of planar 3R there were 3
joints 𝜃1 , 𝜃2 , 𝜃3 . So, there are 3 columns, ok. And it is moving in generally in that example
some of the components were 0, but in general it could be moving in 3D space, so there
are 6 rows.
If the Jacobian matrix is square and 𝑚 = 𝑛 and if the determinant of 𝑇𝑜𝑜𝑙0[𝐽(Θ)] is not equal
to 0, then we can invert the relationship. So, initially we have 0𝒱𝑇𝑜𝑜𝑙 = 0 ̇
𝑇𝑜𝑜𝑙[𝐽(Θ)]Θ, but
if it is 𝑚 = 𝑛 and determinant of the Jacobian is not 0, then we can write Θ̇ =
0 −1 0
𝑇𝑜𝑜𝑙[𝐽(Θ)] 𝒱𝑇𝑜𝑜𝑙 .
So, the above relationship gives joint velocities required for a desired linear and angular
velocity of the Tool. So, if I want the linear and angular velocity as let us say 1 meter per
second and 1 radian per second, along certain directions I can use this expression to obtain
the 𝜃̇’s which I need to give at the joints.
So, the direct velocity kinematics is basically this equation which is the linear and angular
0 0 ̇
velocity of the Tool, 𝒱𝑇𝑜𝑜𝑙 = 𝑇𝑜𝑜𝑙[𝐽(Θ)]Θ and the inverse velocity kinematics is
−1 0
basically Θ̇ = 0
𝑇𝑜𝑜𝑙[𝐽(Θ)] 𝒱𝑇𝑜𝑜𝑙 . These are the two basic expressions in velocity
kinematics. And we will take a look when 𝑚 is not equal to 𝑛 little later.
So, we can write 𝑥 and 𝑦 in terms of 𝜃1 and 𝜃2 , ok. So, we have done this before. So, 𝑥 is
nothing but (𝑙1 𝑐1 + 𝑙2 𝑐12 ) and 𝑦 is nothing but (𝑙1 𝑠1 + 𝑙2 𝑠12 ). So, the linear velocity, 𝑽
of the end effector can be obtained by simply taking the derivative of 𝑥 and 𝑦 with respect
to time, ok.
So, 𝑥̇ and 𝑦̇ is the linear velocity of this end effector and that we can see is clearly given
by ((−𝑙1 𝑠1 − 𝑙2 𝑠12 )𝜃̇1 + (−𝑙2 𝑠12 )𝜃̇2 ). And the y component contains 𝑐1 and 𝑐2 , ok. Just
the straightforward differentiation of the 𝑥 and 𝑦 position vector and 𝜃̇1 and 𝜃̇2 are the
joint rates.
So, for the planar 2R manipulator the 𝑔𝑖𝑗 ’s are very simple. It can be computed. So, 𝑔11 =
𝑙12 + 𝑙22 + 2𝑙1 𝑙2 𝑐2 and 𝑔12 = 𝑔21 = 𝑙22 + 𝑙1 𝑙2 𝑐2 and 𝑔22 = 𝑙22 . So, it is a symmetric matrix.
So, the elements of 𝑔𝑖𝑗 are functions of 𝜃2 , ok. However, 𝑔22 in this example is constant.
The constraint 𝜃̇12 + 𝜃̇22 = 1 basically is similar to a unit speed constraint in differential
geometry of space curve. So, basically it is, we want to find the maximum or minimum
subject to an 𝐿2 norm on the joint rates. How do we find that?
2
We define a new function 𝑽∗ which is this 𝑔11 𝜃̇12 + 2𝑔12 𝜃̇1 𝜃̇2 + 𝑔22 𝜃̇22 and so on and we
put in this constraint using a Lagrange multiplier. So, −𝜆(𝜃̇12 + 𝜃̇22 − 1).
And what do we do? We solve the partial derivative 𝜕|𝑽∗ |2 /𝜕𝜃̇𝑖 = 0. So, if you take the
partial derivatives, we can see that this reduces to an eigenvalue problem which is [𝑔]Θ̇ −
𝜆Θ̇ = 0. These 𝜆’s are the same Lagrange multipliers we have introduced. And we can
find, ok the eigenvalues of this eigenvalue problem, it can be found in closed form because
[𝑔] is 2 × 2 it is a quadratic, determinant of this would be a quadratic function in 𝜆.
And we can solve for this 𝜆’s. So, the 𝜆1 and 𝜆2 are some function of 𝑔𝑖𝑗 ’s, ok. So, for
2
example, it is (1/2){(𝑔11 + 𝑔22 ) ± √(𝑔11 + 𝑔22 )2 − 4(𝑔11 𝑔22 − 𝑔12 )}. So, just the roots
of the quadratic polynomial which you will get from expanding the determinant of [𝑔] −
𝜆𝐼 = 0.
So, for square Jacobian matrix eigenvalues of [𝐽(Θ)] are √𝜆1 and √𝜆2 this is well known
from linear algebra, ok. So, the maximum and minimum velocity vector magnitude for the
2R manipulators are √𝜆1 and √𝜆2 . So, if 𝜃̇12 + 𝜃̇22 = 𝑘 2 , not one then the maximum and
minimum |𝑽| are scaled by 𝑘.
So, with 𝐴 symmetric positive definite, this 𝑥 𝑇 𝐴𝑥 describe an ellipse. So, what is 𝑥 here?
This is (𝑥̇ , 𝑦̇ )𝑇 . And what is (𝑥̇ , 𝑦̇ )𝑇 ? That is the velocity vector.
So, for Θ̇𝑇 Θ̇ = 𝑘 2 , the size of the ellipse is scaled by 𝑘, ok. So, instead of 1, if this was 𝑘 2
then we will get a larger ellipse. But the shape of the ellipse does not change, ok. The
minimum and maximum velocity magnitudes will change, but the direction in which they
happen the major and minor axis of the ellipse do not change, ok.
So, we pick a value of 𝜃1 , 𝜃2 , so which gives the point (𝑥, 𝑦), and I can plot the ellipse at
that point. So, for example here for a particular value of 𝜃2 and 𝜃1 , ok important is 𝜃2 I
can find this ellipse it may look like this at this point, ok.
Now, let us go back and recall for this 2R manipulator the workspace lies between two
circles of radii (𝑙1 + 𝑙2 ) and (𝑙1 − 𝑙2 ). The maximum is (𝑙1 + 𝑙2 ) and the minimum is
(𝑙1 − 𝑙2 ). The ellipse is independent of 𝜃1 , ok. So, all ellipse at the chosen radii in the
annular region are same, ok. So, if you think about it, it does not depend on 𝜃1 . So, if I am
at some point and then I rotate 𝜃1 , so basically I trace a circle in this annular region the
ellipses which I draw will look the same.
The shape of the velocity ellipse indicates which directions are easier to move for a given
joint rates, ok. So, is this true? Yes, because the magnitude of the velocity vector is larger
along the major axis and smaller along the minor axis. So, you can think of it that if I give
you 𝜃̇1 and 𝜃̇2 , I can move more easily along the major axis than along the minor axis, ok.
That is what is mentioned here.
If the ellipse reduces to a circle, we can move equally easily in all the directions, ok. All
points in the workspace where the ellipse is a circle are called isotropic, ok. Isotropic is
word we use in many areas. So, it basically means it is same in all directions. So, in this
case the magnitude of the velocity vector in same in all directions and it was coined by
Salisbury in 1982.
So, isotropic configuration basically the eigenvalues of [𝐽(Θ)] or [𝑔] are equal, ok. So, for
planar 2R manipulator eigenvalues are equal only if 𝑔11 = 𝑔22 and 𝑔12 = 0. So, we can
go back and see the expression for the eigenvalues which we derived for this case, ok. It
is a quadratic equation. So, it is like √𝑏 2 − 4𝑎𝑐, so that √𝑏 2 − 4𝑎𝑐 = 0.
So, from the expression of 𝑔𝑖𝑗 ’s and using this above condition we can show that it leads
to two expressions, one is 𝑙12 + 2𝑙1 𝑙2 𝑐2 = 0, and 𝑙22 + 𝑙1 𝑙2 𝑐2 = 0, ok. And this is only
possible if you have 𝑙1 = √2𝑙2 .
So, we can think of it one is 𝑙12 + 2𝑙1 𝑙2 𝑐2 = 0, and the other one is 𝑙22 + 𝑙1 𝑙2 𝑐2 = 0, ok. So,
𝑙1 = 2𝑙22 , ok. So, 𝑙1 = √2𝑙2 . And 𝑐2 = −1/√2. So, this is some angle.
What is this angle? 𝜃2 = 135 degrees. So, a planar 2R manipulator can possess isotropic
configuration only if the link lengths have a ratio of √2 and 𝜃2 = 135 degrees. So, since
𝜃1 can change between 0 and 2𝜋 all the isotropic configurations lie on a circle, ok.
Remember if the link lengths are not related by this relationship 𝑙1 = √2𝑙2 , then we do not
have any isotropic configuration. The degenerate form of the velocity ellipse is something
called as the singular configuration and we will look at singular configurations later.
Let us continue. If you have spatial motion and 2 degrees of freedom the velocity vector
lies on a tangent plane to the surface, ok. So, 2 degrees of freedom motion the end point
lies in a surface in 3D space and the velocity vector will be tangent to that surface at that
point. And on that tangent we again have a velocity ellipse. If it is spatial motion and 3
degrees of freedom the velocity vector lies in 3D space, ok.
And you can see that the velocity will have 3 components x, y, z and the tip of the velocity
vector will describe the ellipsoid in 3D space, ok. The same ideas can be extended to
angular velocity vector. So, you can think of the angular velocity vector lying on a plane
and we have an ellipse in 3D space it will be on the left side.
And we can extend this notion of velocity ellipsoids to parallel manipulator using parallel
manipulator Jacobian, ok. So, what is the geometric interpretation of the Jacobian? It tells
you that there are certain directions where the tip of the velocity vector can be larger than
in the perpendicular direction. It is easier to move along certain directions than in the
perpendicular direction and this is true for plane and in 3D space, ok.
So, for square Jacobian matrix can be inverted to obtain joint rates. What happens if the
Jacobian is non-square? Ok. And this happens in redundant systems, the Jacobian matrix
is non-square because the number of joint variables will be more than 6, ok. So, it will
have 6 × 𝑛, suppose I have 𝑛 joint variables the number of rows are still 6 because they
represent the linear and angular velocity of the end effector. But if I have 7 joints, so it will
the Jacobian matrix will be 6 × 7, ok. It is non-square.
The Jacobian matrix cannot be inverted to obtain joint rates given linear and angular
velocity of the end effector, because we have more unknowns than variables. In such a
case we can do what is called as a pseudo inverse, to resolve this redundancy. So, the
pseudo inverse of an 𝑚 × 𝑛 matrix, where 𝑛 > 𝑚, is given by this formula and this [𝐽(Θ)]#
denotes the pseudo inverse of Jacobian matrix.
It is given by [𝐽(Θ)]𝑇 ([𝐽(Θ)][𝐽(Θ)]𝑇 )1. So, what you can see is if this is 𝑚 × 𝑛, J transpose
will be 𝑛 × 𝑚, so this product together is 𝑚 × 𝑚 and we and it is a square matrix and we
can find the inverse, ok. So, we can pre-multiply by the Jacobian matrix to make it
consistent, ok. So, this is the formula of the pseudo inverse.
So, let us look at some of the properties of the pseudo inverse. The dimension of this
[𝐽(Θ)]# is 𝑛 × 𝑚, it is also not square. The left inverse [𝐽(Θ)][𝐽(Θ)]# is identity you can
prove this; however, [𝐽(Θ)]# [𝐽(Θ)] is not identity that is it is not a right inverse, ok. So,
remember normal matrix 𝑛 × 𝑛 matrix square matrix 𝐴−1 𝐴 is identity and 𝐴𝐴−1 is also
identity, both the left and right inverse exist and gives you identity matrix. In this case it
is not true, ok.
The general solution to this linear equation which is the linear and angular velocity of the
Tool is [𝐽(Θ)]Θ̇, ok. When [𝐽(Θ)] is non-square can be written as Θ̇ = [𝐽(Θ)]# 0𝒱𝑇𝑜𝑜𝑙 plus
another term, ok. This term is ([𝐼] − [𝐽(Θ)]# [𝐽(Θ)]) into something 𝒲̇, called omega dot.
So, this quantity here lies in the null space of [𝐽(Θ)], ok. So, this part is this, simple pseudo
inverse part and this is the null space term.
So, the pseudo inverse without the null space minimizes Θ̇𝑇 Θ̇. So, we can show that if you
0
give 𝒱𝑇𝑜𝑜𝑙 = [𝐽(Θ)]Θ̇. So, there are many 𝜃̇s which satisfies this linear and angular
velocity which is given.
If you minimize Θ̇𝑇 Θ̇, if you find the solution which minimizes Θ̇𝑇 Θ̇ then that quantity is
this [𝐽(Θ)]# , ok. So, Θ̇ = [𝐽(Θ)]# 0𝒱𝑇𝑜𝑜𝑙 not this part only this first part is the minimum
Θ̇𝑇 Θ̇ from the infinitely many Θ̇s which are possible.
The null space term have been used to avoid obstacles joint limits and to maximize a
1
manipulability index which is det (([𝐽(Θ)][𝐽(Θ)]𝑇 )2 ). Because this null space part exists
people have thought of why not use it and they have used it to avoid obstacles joint limits,
so if there are ranges of joint limits and to maximize something else. So, there is a book
by Nakamura, and we can see this.
The disadvantage is that this is a numerical scheme, ok. This [𝐽(Θ)]# which you obtained
numerically and at any instant of time, ok. So, [𝐽(Θ)]# can be obtained at any instant of
time it is not a global or an analytical result. And this Θ̇ which you are obtaining it is like
resolution of redundancy.
Remember we had looked at finding a solution to the redundant robot when we introduce
another constraint, in this case the constraint is we are minimizing Θ̇𝑇 Θ̇ which in turns
gives you this [𝐽(Θ)]# . So, this resolution of redundancy is at the velocity level, we are
discussing everything at the level of velocity, not at the position and orientation level, ok.
So, it is a resolution scheme at the velocity level not at the position and orientation level.
I gave you an interpretation of this Jacobian matrix which is that the Jacobian matrix is
related to this velocity ellipse and ellipsoid. There are certain directions which are easy to
move and certain directions which are harder to move, ok and they are related to the
eigenvalues of this 𝑔𝑖𝑗 = [𝐽(Θ)]𝑇 [𝐽(Θ)], ok.
The geometric interpretation of manipulator Jacobian for linear and angular velocity can
be done separately, ok. So, we can look at the linear velocity, angular velocity, and again
we have two kinds of ellipses.
If you want to look at it together then it is much more complicated and I have not discussed
this but we get things called cylindroids for two degrees of freedom motion, ok. So, when
full rigid body motion is considered, full means both position and orientation at the same
time together the Jacobian matrix leads to something called screw cylindroid, ok.
If you have a non-square Jacobian matrix, then we have to use the pseudo inverse to obtain
theta dot, given the linear and angular velocity. And this can be also thought of as
resolution of redundancy at the velocity level because pseudo inverse minimizes the square
of the joint rates, ok.
So, with this we will stop here. In the next lecture, we will look at Parallel Manipulator
Jacobian Matrix.