Amazing April Sale! 🥳 25% off all digital certs & diplomas!Ends in  : : :

Claim Your Discount!
    Study Reminders
    Support

    Introduction to Robotics Professor. T. Asokan Department of Engineering Design Indian Institute of Technology. Madras Lecture - 2.13 Manipulator Jacobian and Statics (Refer Slide Time: 0:12) Welcome back, in the last class we discussed about the Manipulator the Jacobian and how the Jacobian can be calculated as well as some of the issues associated with the use of Jacobian like the the Singularities issues, as well as the Inverse of Jacobian. And then, we found that the singularity can be identified by looking at the dexterity which can be calculated using the Jacobian and the Inverse Jacobian when there is when the matrix is non-singular we can use pseudo inverse to get the inverse and then solve the inverse problem and get the velocities, and we saw the method of using Resolved Motion Rate Control for robots where we used the pseudo inverse to get the velocities q dots or the joint trajectory using the cartesian velocity details so, this was what we discussed in the last class. (Refer Slide Time: 1:21) Now, this Jacobian what we have can be used for many other applications also it’s not only for velocity relationship we can use it for force analysis excetra, and you not to make it suitable for that analysis we actually, what we do is to we define this Jacobian. So, the previous Jacobian what we discuss is only mention it as a tool configuration Jacobian because, we were trying to relate the tool velocity to the joint velocity. So, you know to look at the Jacobian in a slightly in a different way, we define the Jacobian in this format. Suppose, you have this joints and this is the tool configuration. So, whenever we have a displacement theta k, we know that there is a displacement d phi or the change in the position orientation of the tool. So, we assume that there a an infinitesimal displacement of d q at the joint that will lead to a infinitesimal displacement of d u at the tool displacement and for the given operating point q at that particular operating point q this Jacobian can be defined as a relation between this d u and d q that is an infinitesimal displacement at the joint leads to a infinitesimal displacement at the tool tip or any infinitesimal displacement at the tool tip leads to a infinitesimal displacement at the operating point at the joint. And for any given operating point that is any given current configuration of the manipulator, you will see that you can relate this infinitesimal displacement with a matrix and that matrix is the Manipulator Jacobian. So, in a way it is the same as the tool configuration Jacobian also, what we are trying to say is that we are not really taking about the velocity per say here we are saying that very minor displacement can be related using this J q. Though our normal displacement J q and x are related using the forward kinematics here, we are telling that very small displacement can be related through the J q and these J q Jacobian the manipulator Jacobian can be used to represent this relationship so, that is the way how the manipulator Jacobian is defined. So, now once you have this relationship we can actually relate the displacement and therefore, we will be able to use it for the static analysis also. So, how much it is can deflect apply force here or there can be a displacement at this point and that may lead to some displacement here and that can actually use for finding out the relationship, the static relationship. So, that is the way how we can use the manipulator Jacobian. So, only a slight difference in the way we define it but, other way is the concept remain same they are actually the relationship between the displacement at the tool tip and the joint but, here it was we are considering it very minute displacement so, instead of velocity we are saying a small displacement at very short interval. So, with this definition we will try to now calculate the manipulator Jacobian. So, the principle is the same. (Refer Slide Time: 4:42) What we do the Jacobian can actually be defined as linear and velocity part. So, you have the J q the Jacobian as the A q and B q two part we divide them into two parts the first one is associated with the linear tool displacement and the second one is the angular displacement so, A and B. So, in a way we can say d p which is the displacement the positional displacement at the tool tip can be defined as A q d q and the d phi this minuet displacement in the angular displacement is given as, B q d q where d q is the joint displacement and the d p and d phi are the tool displacement. So, this way if you define the Jacobian now, we can calculate A and B and then find out the complete Jacobian of the manipulator. So, A is for the linear tool displacement and B is for the angular tool displacement. Now, A k j as we saw in the previous example also the A k j is the basically the partial derivative of p k q that is the position change in position with respect to the joint variable A k j q that is the top part so, you have the Jacobian and the top 3 for the linear velocities. So, the linear velocities part is actually obtained by taking the position with respect to q the partial derivative of position vector with respect to q is the A k j that is the elements of the linear part. Now, we have the angular part so, what is the angular velocity or what is the relation for angular velocity component of the Jacobian is this lower part B. Now, this B can be obtained so, B can be obtained as the k th column of B q that is the k th column so, this is k is equal to 1, 2, 3, excetra, the k th column is obtained as B q is small b k q, small b k q is given as a constant zhi Z k minus 1 q that is the way how this B k is defined. So, this B k is a vector it’s a vector and then that is defined as a zhi is a constant it is 0 if it is prismatic, 1 if it is rotary. So, that is zhi parameter here and then Z k minus 1 is the rotation axis of k minus 1 joint. So, Z k minus 1 is the rotation axis of k minus 1 joint or we can say that Z k minus 1 is R 0 k minus 1 i3, i3 is the identity vector or 1 0 0 so, you can actually multiple 0 0 1 so this third unit vector so, i3 multiple by R 0 k minus 1 i3 so, this is the Z k minus 1. So, the first top part which is the linear velocity part that is obtained directly by taking the partial derivative so, you have forward relationship T tool to base then you get p x, p y, p z and then you will be able to get the partial derivative but, for each column you have to take 1 0, 2 0, excetra and then get the partial derivative here will be getting the partial derivative and getting the velocity relationship here then, that is p x with respect to q1, p x with respect to q 2, excetra you will be taking then getting the relationship. Then, for the angular velocity part will find out this B k q so, this is given as B k q, B q is B k q that is the vector B1, B2, B3, B4 that is the way how it comes. So, the B1 q will be Z zhi Z0 that is what is the joint axis vector of the first frame that is the Z0 coming here and if it is rotary it will be 1, if it is prismatic then there is no rotation and it is 0 and there is no rotation and there is no angular velocity therefore, this B k will be 0 so, for whenever there is a linear joint or a prismatic joint, it has no contribution in the angular velocity of the tool tip that is what it says. So, if you look up this once again top of the manipulator point of view suppose, you have manipulator like this so, this is the manipulator now, it says that the linear velocity part how the position is changing with respect to the q1, q2, q3 I mean the joint variable so, you take this P x and then find out suppose, this is q1 what is the relation of P x with respect to q1, how the P x changes with respect to q1 is obtained by taking the P x or q1 that is what you can get. Now, the next question is when this q1 is moving, this is theta 1 or q1 when this is rotating what will be the angular velocity of this? that is what actually we are trying to find out and it says that if, this is rotating and the change in angular velocity will be as per this axis what is, this axis and that will be the way how it is changing if, it is with respect to Z axis though orientation will be changing with respect to that. If this says in different axis with respect to the origin then that will be a different way it is changing that is why it says that, the orientation the change of orientation with respect to first one will be 0 0 1 because, the axis is align like this, the Z axis is 0 0 1 and therefore, the orientation changes will be also like that. So, the orientation will change as this changes the orientation change with respect to this relationship that is what actually it says. Similarly, the second one how this joint axis is aligned with this accordingly whenever this rotation happens here, the rotation of the angular velocity at this point will be related to the orientation of this axis with respect to the base frame. So, we will try to find out what is the orientation of this axis with respect to this frame and that will be given as the second one here the z 2 the b2 will be the second joint axis. So, the second joint axis will be this one and this will be the n th axis that will be with respect to base frame. So, this is the way how you get the B k for the manipulator. So, it will be more clear when we take an example but, what we are trying to do is to get the first part now issues with this linear part the lower parts if it is a prismatic joint, a prismatic joint is not going to change the orientation of the tool and therefore, this B k will be 0. If it is prismatic this will be 0 but, if it is rotary joint then the rotation of that joint with respect to that axis will lead to a change in the orientation of the tool tip. So, the orientation of this axis is the one which actually determine the change of orientation at the tool tip. So, this B k will be the orientation of this axis with respect to the base frame so, that will be what we are getting here. So, by doing this multiplication we are trying to find out the we are doing this Z k minus 1 basic the basically the joint axis what is the joint axis and that joint axis orientation can be obtained from the rotation matrix that we have. So, we take the rotation matrix 0 k minus 1 and multiply with the i3 you will be getting the vector which is the Z k minus 1. So, basically there is the Z axis of the k minus 1 joint this is the way how we get the manipulator or compute the manipulator Jacobian. I hope, you got it. So, to explain it once again so, the B k the k th column of B or the B k is given as B k q is zhi Z k minus 1 q and Z k minus 1 zhi 0 if it is prismatic, 1 if it is rotary and the Z k minus 1 can be obtained by taking the rotation matrix 0 to k minus 1 rotation axis will take and multiply with i3, the unit vector in third axis and you will be getting the Z k minus 1 and this is k less than or equal to n. So, you will be getting J q like this the top part is the linear velocity part and bottom one is the angular velocity part B q so, this is way how we get the complete Jacobian matrix. So, in the previous example we do not consider this so, now we are considering the full Jacobian matrix for both linear and angular velocity. (Refer Slide Time: 14:17) So, the algorithm is like this so, set T 0 0 is equal to I that is the Transformation Matrix T 0 0 that is 0 axis to 0 axis, 0 frame to 0 frame, the identity matrix. Then, compute b k q that is now, k is equal to 1 so, set k is equal to 1. So, I have b1 is zhi k that is zhi 1 R 0 0, k is equal to 1 and multiplied by i3 that is b1. So, b1 is zhi 1 R 0 0, zhi 1 is equal to 1 if it is rotary, 0 if it is prismatic. So, it is rotary joint then b1 will be i, 0 0 is 0 0 is the rotation matrix between zero th frame to zero th frame it will identity matrix so, it will be 1 0 0, 0 1 0, 0 0 1 multiplied by 0 0 1 so, what we will be getting is 0 0 1 so, bk will b1 0 0 1. Basically, says that the joint axis is aligned with the first Z axis so, it will be 0 0 1 that is b1 will be 0 0 1 and then compute T 0 k that is next is T 0 1 so, you calculate T 0 1 and find out what is T 0 1 so, that you can actually get from transformation matrix between first 10 0 th frames 0 th to first frame that is the transformation can be obtained T 0 1. Now, set k is equal to 2 then find out now k is equal to 2 then go to b2 and b2 will be again you will get this Zhi2 to R 0 1 so, this will be if it is rotary joint it will be 1, R 0 to 1 i3, R 0 to 1 will be rotation matrix which will tell you how the Z axis of the first frame aligned with respect to the base frame 0 and you will be getting this as again vector here that may be, sin alpha, cos alpha 0 or something like that depending on how the axis is aligned with the zero th frame. So, you will be getting this as the b2 and similarly you go for b3, b4, excetra, and finally get this A k that is the top part of the linear part where taking the partial derivative and form the J q. So, this is what actually will do in the computation Jacobian or the whole manipulator. (Refer Slide Time: 17:32) So, will take an example it will be easy for you to follow how it is done. So, we will take the example of this Five Axis Robot Rhino and see how the Jacobian can be obtained for this robots. So, we need to have T the transformation matrices calculated for alpha is equal to 1 to 5. So, initially we need to have to calculate T 0 0, T 0 1, T 0 2, T 0 3, T 0 4, T 0 5, should be available that what we need to calculate all these transformation matrices. So, normally we do not do this for forward kinematics we do not need to do this 0 to 1, 0 to excetra but, we need to now because, we are interested to know what is how the joint axis 2 is align with the 0 axis or how the joint axis 4 is align with the joint axis zeroth axis this information we need and that’s why we need to calculate these matrices T 0 on to T 0 excetra. So, this is need to calculated first are the transformation matrices from T 0 to i, and then we have off course the T 0 5 will give you the P x, P y, P z that is the position of the tool tip. Now, the b1 q so, what will have this b1 so, will be having a k and b k so, you will be having a 1, b1, a2, b2, excetra, that will be the Jacobian. So, this b1 will be R 0 0 i3 so, it will be always 0 0 1. So, this will be 0 0 1 if I take this as the Jacobian so, this b1 will be always i3 because, the joint axis 0 the first joint axis aligned with the base frame so, it will be always 0 0 1 base frame Z axis joint axis and Z axis are aligned so, you will be getting it as a 0 0 1. Now, we will find out what is b2 so, it is written here first part so, we will get j1 is the first column of the Jacobian it is given as j1. So, the first column of the Jacobian you take the partial derivative of P x with respect to q1 you will be getting j1. So, this is first derivative P x over q1 so, this is obtained as P x q1 q and P y q1, P z q1. So, P x is independent of theta 1 that’s why you find out 0 here and you have the b1 as 0 0 1. Now, let us see the b2 so, we need to get b2. So, to get b2 what we need to do is R 0 1 since it is rotary joint is equal to 1 so, 0 1 i3 that is what we need to find out so, R 0 1 basically from T 0 1 you can get R 0 1 and it says that how this joint axis or how this joint frame is align with this frame. So, now this Z 1 and this is Z 0. So, how Z 0 and Z 1 are aligned it is obtained from this one R 0 1 i3 so, if you take R 0 1 it says what is the orientation of the coordinate frame to this coordinate frame and then we need to know what is the axis Z 1 how is it related to the axis of the coordinate frame Z 0 I mean, the base coordinate frame and that is obtained by getting this Z 1 so, Z 1 is obtained as like this. So, this is T 0 1 and as you can see here basically we are looking for this vector. So, this is the vector we are trying to get, this is basically the b1 and by doing this multiplication we are trying to extract this out. So, b1 is minus S 1 C 1 0 and that is why coming here is b2 as minus S 1 C 1 0 so, this is b2 0, b2 is minus S 1 C 1 0. I hope you got it so, what we have to do is to get T 0 1 and from T 0 1 get R 0 1 and then multiply R 0 1 with i3 you will be getting this minus S 1 C 1 0. So, once you are comfortable you do not need to really do the multiplication you just look at the approach vector and take that approach vector add it here so, that approach vector will be the one which will be using here. So, this is the way how you get the b2 the same will be repeated for b3, b4, b5. So, we will take T 0 1 now take T 0 2. (Refer Slide Time: 22:54) So, T 0 2 from T 0 2 you will be getting this as minus S 1 C1 0 so, you can see that this one is minus S 1 C 1 0 and this next also will also minus S 1 C 1 0 because, the orientation of Z2 is also same Z1 so, it will be again the same way you will be getting it, because it will not change in orientation so, you will be getting it as this so, this is the way how you will getting it. So, then it will moving to this j3, j4, and j5 will be minus C 1 S 2 3 4, minus S 1 S 2 3 4, minus C 2 3 4. So, if you look at the T 0 5, T 0 5 is not given here but, if you look at our previous derivation of the forward kinematics you will see T 0 5 had the rotation matrix at the approach vector as this so, that approach vector is coming here as j5 q. Now, you have J q full J q S j1, j2, j3, j4, j5 so, these are the columns j1, j2, j3, j4, and j5 so, you have the complete Jacobian identified now, again you can see the Jacobian is a function of the joint angles. So, this way we can get both the linear velocity part and angular velocity part of the Jacobian. So, the linear velocity part is take the partial derivative of the position with respect to theta 4 or theta 5 you will getting the linear velocity part. I hope you understood how do we get the Jacobian. So, the top part or the linear part is the same as what we did and it is applicable to the previous Jacobian in the discussion what we had also but, the angular velocity part is the one which we are actually seeing as new one here and the angular velocity is basically that angular velocity part depends on the orientation of the joint axis. So, that is what you need to understand from conceptually, the conceptually what we are trying to say is that the angular velocity frame. So, the angular velocity of tool tip depends on the orientation of the joint axis so, if the joint axis this orientation and we are make a rotation about this joint axis then the angular velocity will change here depending on how this axis is orientated with respect to the base axis base frame. So, the orientation of the joint axis with respect to the base frame decides the angular velocity of the tool tip and therefore, we take that as the B k here and this orientation of the joint axis is the one which actually determines the angular velocity so, any change in this angle will affect the velocity here and as a function of how this orientation is there, how this two axis are orientated that is the way how you get it so, that is how we calculate the angular the Jacobian for a manipulator. (Refer Slide Time: 26:10) So, we saw this calculation of Jacobian and we see that to do a partial differentiation to get the linear velocity part of the Jacobian and that may not be always feasible so, you need to manually do the partial differentiation and then write it but, there is a numerical way of doing this, a numerical computation of Jacobian. So, instead of going for the partial derivative and then finding out the Jacobian we can have a numerical computation. So, we will see how the Jacobian can be computed numerically. Now, look at the manipulator shown here so, you have a manipulator shown here so, this is the manipulator now, we want to find out suppose, this is the manipulator and these are the joint axis that you can see, these are the joint axis. Now, we can see that the Jacobian can be calculated as the cross product of the joint axis vector and the position vector of the joint to end effector. So, what it says that if I want to find out the velocity at this point then I can find out the vector here this is the joint axis vector and a cross product of this vector with the position vector, this position vector will give me the velocity relationship. So, that is what I actually says the cross product of the joint axis. So, this is the joint axis and this axis when I rotate with respect to this axis, this will be changing the tip will be changing, the position will be changing, and the changing velocity can be obtained as a cross product of the joint axis and the position vector, the position vector which connects the tool tip to the joint that actually decides the velocity of the tip. So, that is what actually it says can be calculated as the cross product of the joint axis vector and the position vector of the joint. Similarly, you want to find out what is the effect of this joint on the velocity of the tool tip, we can get it by looking at the axis of this and taking the cross product of this joint axis with respect to and cross product of this joint axis and the position vector. So, this is the position vector from this joint to the tool tip so, you can take the cross product with this you will the getting the velocity. So, that is what actually the principle of numerical computation. So, you get this J as J1, J2, J3, excetra, and then J1 the linear part will be this and the angular part will this so, the linear part can be obtained as b i minus 1 cross P n 0 P 0 n minus P 0 i minus 1. So, this actually represents the position vector from the joint to the tool tip. So, n 0 is from 0 to n and 0 to i, minus 1 is from if this you are tying from this point so, from here what is the position vector, what is position vector from this joint to this joint given by this. So, P n to 0 is the position vector form base to the tool tip and 0 to i minus 1 is from the base to joint from which we friends which we are calculating the velocity relationship that gives the position vector from i, minus 1 to the tool tip. So, this gives you the position vector and this gives you the joint axis i minus 1. So, the cross product of the joint axis joint axis to the with the position vector gives you the velocities that is what actually given here b i, minus cross P 0 n minus P 0 i, minus 1 that gives you the linear velocity part and then the angular velocity part we already saw i, minus 1 b k will set. So, we will be able to get set b i, minus 1, i, minus 1 is 0 to i, 0 0 1. So, this is the same thing what we discuss in the previous case also that is the joint axis vector. So, b i, minus 1 is the joint axis vector. So, what we need to do is to take the cross product of i minus 1 with respect to the position vector. So, take a simple example of here for a 3 degree of freedom manipulator. So, for 3 degree of freedom manipulator J1 will be b0 cross P 3 0. Suppose, this is a 3 degree of freedom manipulator consider this as a 3 degree of freedom manipulator. Now, what it is saying that J1 the first column of the Jacobian will be b0 cross P 0 3 this is b0 that is the first joint axis b0 that is the joint axis cross this position vector that is P 3 0. So, P 3 0 states that the 0 to 3 that is the vector representing zeroth joint to third joint that is P 0 3 and b0 is the joint vector and b0 is obtained by the from the rotation matrix the approach of the rotation matrix it will the b0 and then J2 will be b1 so, b1 is the this joint axis b1 cross this position vector P 3 0 minus P 0 1. So, P 0 3 is this one and P 0 1 is this one so, the subtracting that you will get this as P 1 3. So, P 1 3 will be the position vector of 1, 2, 3. So, P 0 3 minus P 0 1 is the position vector this one and this one the b1 is the joint axis. So, b1 is obtained from R 0 1 so, now you take the rotation matrix from 0 to 1 and then find out the approach vector that gives the orientation of this axis with respect to the base frame that becomes the b1. So, b1 will be the angular velocity part and b1 cross P 0 3 minus P 0 1 will be the linear part. So, this way you will be able to get the compute the Jacobian numerically. So, now you do not need to do the partial differentiation take the cross product and get the values using this methods. So, that is the way how you get the numerical computation of Jacobian. So, this is an exercise for you home work so, write a program for numerical computation of Jacobian for an n degree of manipulator. So, you can actually calculate I mean now, you know the numerical method so, you can calculate write a program to find out Jacobian matrix because, you already written a program for the forward kinematics. So, you can actually use the same program to get this T 0 1, T 0 2, excetra and from there you can actually get P 0 n, P 0 1, P 0 2, excetra you can get and once you have that you will be able to get the position vector and from the rotation part you will be able to get the b vector and then do the cross product and then get the Jacobian. So, you can write a code, you can use C or Python or whatever the language you like and then write a program for calculation of Jacobian, that is about the computation of Jacobian so, we discuss about the importance of Jacobian and how is it useful for controlling the robot manipulator using the Jacobian inverse to get the joint velocities and then we saw how to compute the Jacobian analytically as well as numerical methods. Now, will just see how to use this one for static analysis. (Refer Slide Time: 34:49) So, we found that the robot joint torques and the forces also need to be computed and the relationship between the robot joint torques and the forces and movements at the robot end effector is basically the static analysis. So, suppose, you apply a force here or apply a movement or force here we want to know what is the torque to be acted upon these joints to balance that one or you want to apply force on the environment using the manipulator or I mean static condition what should be the torque to be applied to apply that force. So, this is the static relationship or you you are actually holding a weight here so, the robot is as to hold the weight in a static condition we want to know what should be the torque needed withstand the load acting or tool tip that is the static analysis and this we can actually use using I mean solve using the Jacobian. So, the manipulator Jacobian is defined as a relationship between the infinitesimal displacement to the joint displacement. So, the same thing applied that you have a infinitesimal displacement at this point that will lead to infinitesimal displacement at this joint and that actually can overcome by a compensated by a torque applied at joint joint to reduce the movement of the joint. So, that is the way how you can use Jacobian to analyse the static forces. (Refer Slide Time: 36:21) So, we can actually write this as if the joint torques are given as tau and the forces and movements acting at the tool tip given by F so, if this is the force and movement acting at the tool tip then the joint torques tau 1, tau 2, tau 3 can be obtained as tau is equal to J transpose F so, that is the relationship tau is equal to J transpose F where, F is the forces and movement and J is the manipulator Jacobian. Now, if you know the forces is acting the forces and the movements F x, F y, F z and movements M x, M y, M z the 3 movements and 3 forces then we will be able to find out what is the torque acting at the joint relationship tau J transpose F. So, this is the relationship will be using to get the static analysis then J is the Jacobian of the manipulator. So, you can write this as tau 1, tau 2, tau n, depending upon the number of joints you have n joints so you will be having the joint torques 1 to N this is N by 1 vector and this is a N by 6 Jacobian and this will be 6 by 1 vector F x, F y, F z, M x, M y, M z and the transpose of the Jacobian used for getting this, the transpose will be N by 6 matrix. So, that is the way how you I mean the static analysis. (Refer Slide Time: 38:04) So, here also there will be some singularities in each situations because, we have tau is equal to J transpose F but now, here the singularity is that the rank of J transpose is equal to the rank of J theta and at singular configuration there exists a non-trivial force F such that, J transpose F is equal to 0, there may be a situation when J transpose F is equal to 0 that is the forces torques at the point will be 0 for any force acting at the end effector or the other way also any torque applied cannot produce a force at the end effector that kind of situation is known as a singularity force singularity. Other words, a finite force can be applied to the end effector that produces no torque at the robot’s joints and this is known as the robot lock up, that is you can apply force. Suppose, the manipulator is like this apply force here, a force is applied here now torque is generated at the joint that kind of a situation is known as the force singularities or the singular configuration in the manipulator and this situation is known as force lock up or the lock up condition where, the torque at the joints are 0. And this can actually happen in many situations especially, when its fully extended position singularity conditions you will be able to see the such situation happens. (Refer Slide Time: 39:44) So, let us look at a case where actually this can be shown. Assume that the force acting on the end effector this is the planner manipulator is considered where this is at theta one position the joint 1 and joint 2 joint 3 are 0 angle and you apply a force F here so, apply a force F here and its components are F C 1 and F S 1 so, the components in x and y in direction can be F cos theta 1and F sin theta 1. So,