# Jacobian Matrix and Singularities | Robotics | Introduction | Part 1

hi everyone so in these few videos we
will be looking at the Jacobian matrix for a robotic system and a few methods
that we can use to calculate it so the Jacobian matrix or a Jacobian for short
is used in a variety of fields in mathematics and physics but here in
robotics we will use it mainly to find singularities the forces and torques that
can act on a joint and the joint velocities now this topic has a
reasonable amount of calculations and some parts can be confusing or difficult
to understand but I will do my best to simplify it down for you without waiting
any longer let’s get into it so if you guys like this video don’t forget to
give me a thumbs up by clicking the like button below and if you haven’t done so
already go ahead and click that subscribe button right now I’m Chams and
welcome to that’s engineering all right so the Jacobian matrix the
first thing you should know is that it is a multi
dimensional matrix meaning it can have multiple rows
multiple columns and it would be made up of the derivatives so practically the
Jacobian is all about the velocity the Jacobian matrix would be made up of
the equations or the velocity vectors but when we do a question or a
calculation the easiest thing to find would be the position of the joints and
the links but by taking the differentiation or the derivative of
this position we can find the velocity and thus the Jacobian matrix so what you
have to know is that the minute someone talks about the Jacobian they’re
referring to the velocity of the joints in the system let me give you an example
this can be generalized for almost any robot or any system involved in the
Jacobian you can have a general set of equations that describe the position of
the system such as y1 equals f1 some function with variables x1 x2 and so on
y2 would be f2 and you can have multiple equations depending on the size of the
system which represent the position of the joints or the links in this robot
when you take the differentiation or the derivative and here you will be doing
partial differentiation because you have multiple variables in the function you
would get something that looks like daba y equals daba f over dhaba x
x double x and this would actually be a matrix containing y 1 dot y 2 dot and so
on followed by the matrix holding the derivatives of the function times the
matrix holding X 1 dot X 2 dot and so on so this derivative of the function would
correspond to this matrix and that matrix would be the Jacobian
now I’m not going to go into detail on this because we will have a look at it
again when we are doing partial differentiation in my next video so
let’s keep this aside for now right and let’s have a look at the definition of
the Jacobian so the Jacobian can be used to relate the joint velocities to the
cartesian velocities in a robot manipulator so let me show you this in
an equation format so it would be easy for you to understand a joint or a link
usually a joint for a robot can have a velocity and this velocity can be
expressed in terms of the position vector for the three coordinates XYZ the
derivative of those position vectors and this would be the velocity in the
Cartesian space this would also be equal to the velocity
in the joint space which would comprise of two values
and this would be joint space where V zero would be the
linear velocity and Omega would be the angular velocity or the rotational
velocity and this would actually be equal to the Jacobian times whatever
variables are there in the system I’m taking theta one and theta two for
example the derivatives of that so the Jacobian can be used to really at the
joint velocities to the Cartesian velocities right so before we move on to the next
topic there’s one more thing I would like to discuss and that is the frame
the jacobian is in now just imagine a simple robot sort of something like this with the zero to joint or the base frame
being zero this being the first frame first joint second joint and the third
frame for the tool to perform most of the calculations involving torques forces
and singularities you would need the Jacobian in the base frame or j0 but
when performing the calculations to find the Jacobian you may end up with the
Jacobian in the final frame j-3 that being said you can also Express the
Jacobian in any of the other frames as well and from these other frames we
would need to use that value to find the Jacobian in the base frame so how do you
do that well it’s actually quite simple the Jacobian in the base frame is equal
to the rotation matrix from the base to any frame I’m using three here as an
example times the Jacobian in that particular frame right so you have to remember this
equation practically what you have to knwois that if you have a Jacobian
in the higher frame simply multiply it by its rotation matrix which comes from
the transformation matrix so you have your position rotation so
you multiplied by the rotation matrix to get the Jacobian in the base frame all right so now let’s have a look at
singularities I’m not going to go into depth on this topic but I will give you
a brief introduction by definition a singularity is a point where the robot
loses one or more degrees of freedom and at this point it would be impossible to
move the tool of the robot in a particular direction regardless of the
joint rates now there are two main types of singularities workspace boundary and
workspace interior if you’re not quite familiar with the term workspace
practically it means the area that the robot can operate in so if this is the tool of the robot it
can operate within this entire area and reach any object within this area so
that would be the workspace of the robot so for work space boundary singularities
there are two cases the first one being that the robot can either be fully
stretched out or folded back on itself and for both of these conditions the
pool of the robot would be at the boundary
of the workspace in workspace interior singularities the tool is no longer at
the boundary but two or more joint axes would line up with each other you for this particular type of singularity
singularity to take place so alright so to help you visualize singularities
let’s just take this example of a very simple robot wait three joints and this
joint can be rotated by an angle theta now let’s say we rotated this robot or
rotated that joint such that the robot was in a straight line here theta would
be equal to 180 degrees and at this point the robot has lost some degrees of
freedom and therefore it is at a singularity so the value of theta equals 180 degrees
would be the point at which the robot reaches its singularity and it
would be of interest to calculate singularities because we would know at
what points the robot loses its degrees of freedom so we can program it to not
reach those particular angles or to not enough the joints to rotate those
particular angles to stop it from getting stuck for example right so to calculate or to find a
singularity you will look at the determinant of the Jacobian so if the
determinant of the Jacobian is equal to zero then a singularity or singularities
would exist for the robot if however the determinant of the
Jacobian is not equal to zero there would be no singularities for that robot
system right so these are two things that you
have to keep in mind now when performing calculations if the
question asks you to find the singularity of a robot system then you
would find the determinant of the Jacobian and equate it to zero and you
would get an equation with multiple different variables such as theta 1
theta 2 and so on and by equating this whole equation to zero you would be able
to calculate some values for theta 1 theta 2 or whatever the variables are
there and those values so just for example as a theta 1 is 30 degrees theta
2 is 60 degrees these values would be the singularities
so you would not want the robot or the joints to reach these particular angles
all right so now let’s have a look at the two methods that we will use to find
the Jacobian I’m not going to do an example to explain this method in detail
rather just an introduction to each method and I will go through each method
separately in the following videos so before we do that just keep in mind that
the Jacobian involves finding the velocity of the joints and the links of
the robot right so the first method is the partial differentiation method so
let’s start from the very beginning you have a robot you assign your frames you
analyze the system and you’re able to form a DH table
and from this d-h table you would be able to get your transformation matrices so you would have something at t0 1 T 1
2 and so on and using these transformation matrices you can
calculate the transformation matrix from 0 to the tool or the end effector by
multiplying all the previous transformation matrices together
1 2 2 and so on until you have n 2 e and this final transformation matrix
would be in the form of a 4×4 matrix with a position vector and a rotation
matrix so this position vector here would comprise of three values you would
have a position in X Y & Z so this would be the position of your end effector
relative to your base frame and if you were to differentiate each of these
three and combine it to a matrix you would have px dot py dot and PZ dot and the equations that you get can be
factorized into the form of the Jacobian relative to the base frame and whatever
the variables were there in the equations for example theta 1 theta 2
and theta 3 so in this case you can directly calculate the Jacobian in the
base frame now let’s have a look at the velocity propagation method so in the
velocity propagation method you would first need to find the linear velocity denoted by B then you will need to
calculate the angular velocity denoted by Omega keeping in mind that some
people or some textbooks will use this to denote the angular velocity this
symbol and there are already equations that you can use straight away to
calculate the linear and angular velocity you do not really have to take
any derivatives or do any sort of differentiation as the name suggests
velocity propagation method you start from the first frame or the zeroth frame
and work your way up frame by frame until you reach the final frame or the
tool frame so here you would finally have the velocity in the tool frame and
that velocity would be equal to the Jacobian in the tool frame times
whatever variables you had in your system so from this we can calculate the
Jacobian in the base frame using the rotation matrix from the base frame to
the tool frame times the Jacobian in the tool frame alright guys so the final thing we are
going to look at in this video would be torques and forces so we have two main
types of joints that we looked at in this course we had revolute joints and prismatic giants so a revolute joint would actually
produce a rotation and so there would be a torque while a prismatic joint would
produce some sort of force so for example we had a system like this with two revolute joints and one
prismatic joint you would have 2 torques in this system tau 1 and tau 2 better
use a different color tau 1 tau 2 and a force from the
prismatic joint F 3 so you can relate the forces and the talks to each other
by using a Jacobian and that is done using this general
equation is equal to the Jacobian from the base frame the transpose of that
Jacobian times so what you would actually get from this is related to
this particular robot system you would have Tao one torque 2 and f3 equal to the
to the Jacobian of the system in the base frame the transpose of that times
the three unit vectors FX FY and FZ alright guys so I will have three more
videos on the Jacobian matrix the first video will talk about partial
differentiation method the second the velocity propagation method and the
third video about stalks and forces so this video is just an introduction to
the Jacobian matrix but we will get into the examples and the calculations in the
coming videos right so that’s all for this video if
you guys like this video don’t forget to give me a thumbs up by clicking the like
button below if you have any questions or clarifications on the work we just
did involving an introduction to the Jacobian matrix please feel free to
leave a comment and I will do my best to get back to you I hope this video helped
you and if you haven’t done so already please hit that subscribe button right
now thank you for watching and I’ll see you all in the next video
Cheers