On the previous lesson, we have seen that the creation of a little luxurious formula.
Well, it's not enough just to see how it is derived because it will not help us to understand what
is the meaning of manipulator dynamical model.
In order to understand that, we need to analyze the terms of a little like range formation and the
internal structure.
In this lesson, we will do that.
So let's go.
This is the formula we have seen that we have derived on the previous lesson.
Be acquainted with this formula because you will see this in most of the next lessons.
This dynamical model of the manipulator is nonlinear function of Q because it contains contains signs
and concerns.
Also, it's nonlinear function of the joint velocity.
Q Don't forget to include this one.
OK.
We have seen this on the previous lesson, but we will see more clearly on.
The next lesson will be will drive L2 Lagrange formula for two degree of freedom robot manipulator.
Also, dynamics of robot manipulator is coupled.
Let me give a small explanation here, but you will see what I mean more clearly in a minute.
As you know, a robot manipulator in general, robots consists of many joints, which connect means
couple means that the motion of one or more joints or the force exerted on one or more joints cause
some changes in other joints also.
So changes happen in one joint or link cause changes in other joints, too.
That's what I mean by coupled, and this makes the dynamics more complicated.
OK, now let's continue by analyzing important terms in robot dynamics equation.
Let's start with inertia matrix, which is denoted by M.
As you can see from Equation 1.0 M is function of Q, so its configuration dependent as the configuration
of the robot manipulator changes, the inertia experienced by joints also changes its square and positive
death with Matrix.
So it has positive definite eigenvalues as it is square and positive definite.
It has always its always inverse invert, but also inertia.
Matrix is symmetric and it has lower and upper bounds.
It means we can find it in which range it changes.
The balance can be indicated by new one and mutual here v multiplied by identité because one and me
are scholars.
But M is a matrix by these bones.
We mean if we subtract new one ie from M, it will be positive semi definite.
The same is valid for meta and me too.
I am as M is bounded, then its known is also bounded.
Keep in mind this bond, this property of inertia matrix m because it will be useful for us during adaptive
control.
This upper and lower bonds are either constant or function of Q or the coordinate of choice.
If the joints are Riverwood or rotational bonds are constant y because they are a function of sine and
cousins and we know the bonds, they are good, they consists of sine and of course, our functions
of Q and we know the bonds of sine and cosine functions.
However, when the joints are prismatic, the bonds, the bonds are a function of cure or joint coordinates.
Let's now try to understand the internal structure of inertia matrix in order to keep it simple.
Let's take two degrees of freedom robot arm where M equals to the inertia matrix will consist of diagonal
and of diagonal terms.
Also, as you can see, it's symmetric diagonal terms indicates inertia experienced by joint I.
When all are, the joints are stopped or blocked.
So a robot is stopped and you want to know what is the inertia experienced by the joint AI with respect
to its axis power of diagonal terms in the case, the couplings between the acceleration from Joy G
to the generalized force drawn on Joint I.
As you can see, this is one of the cases that shows couplings in the robot dynamics acceleration of
one joined causes generalized force to be induced in other joints too.
This is very important for us to
get the maximum value of em because it will help us in the design of the robot manipulator because we
need to know the talks that the motors torque, that how much torque the motors has to be able to generate
in order to compensate for inertia talks during the motion of the robot manipulator.
So now let's switch to MATLAB to investigate more on inertia matrix.
OK.
You know, we'll continue in MATLAB with initial matrix.
OK, and we will use Sure Lipitor Gurkhas library in order to experiment on the robots and to analyze
the robot dynamics terms here more clearly and more practically.
So let's first hear where we are being nothing but just clean the screen and declaring the variables
and the closing.
If there is some figures, OK, after we have cleaned the variable screen and also the close of figures,
let's do it by importing two degree of freedom and symbolic a robot manipulator from Peter Corker's
library.
OK, so let's do that.
First of all, let's run these earlier these to command.
OK.
As you can see here from the workspace, you can see the climatic parameters.
I mean, like normal parameters by M the parameters of the robot manipulator.
You can see in the, uh, see all of these are symbolic.
OK.
Um, you can see, uh, the mass of each, uh, that each link.
You can see the joint positions, joint velocities and by the joint, uh, accelerations anyway.
And the robot model is to is called as to link.
So what we want to investigate, we in we want English is the inertia matrix that positions Q1 and Q2
of this Q1 and Q2 are joint positions.
I mean, joint angles or either joint angles or joint positions.
It, uh, it doesn't.
Uh, there's nothing difference.
OK.
Uh, by doing just to link dot, uh, inertia and we give them a vector of joint positions.
OK.
So let's run this comment.
Also, uh, lead selection.
OK, we have the solution, and let's see what our um, matrix.
OK?
As you can see, the matrix of let's see the size of our most X is two by two.
As you can see, our matrix is, um, square matrix, OK?
As we have said, you know, she matrix is square.
OK.
And by in, as you can see in our case and equals two because this is to a degree of freedom, Robert
the manipulator is two by two.
And OK, we have to initiate these properties.
OK, we have seen it's square matrix.
Now we had to see if this symmetric.
If you see, if you watch carefully, you will see that yes, it's symmetric.
So for symmetric mattresses, mon.
Diagonal terms, so this one, this one has to be the same.
They are indeed the same.
Yeah, they are written in different ways.
But if you multiply, for example, if you are here, you can see it's M two times a two plus two squared
plus.
OK, let's first initiated this one.
And if you if you multiply this one with this one.
OK.
Inside the brackets, you will see that yes, we have em two times a two plus c two squared plus.
And here is our plus m to a two plus see two times a one Kushners Q2.
Yes, indeed, we have this m two times e two a plus c two times a one questioner's Q two.
As you can see this, it's written in a different way.
This is due to Michael's calculation, but indeed, if we open these brackets by multiplying this term
inside the bracket, you will see that these terms are indeed the same.
So our initial matrix is also symmetric.
And one important thing I want to note here that I have didn't mention in a presentation I have done
this intentionally because I want you to see it in practice.
The inertia of joint I depends on the configuration of joints I plus want to end.
So the inertia of joint inertia seen by joint I depends on the configuration of the previous joints.
But the joints after this joint I.
Why?
Because their configuration increases or decreases are fixed.
The joint I am inertia inertia experienced by joint I.
Indeed, you can experience these by your arm because your arm is also a robotic manipulator, OK?
For example, if you want to keep your arms stretched fully, this will cause some inertia on your shoulder
joint and OK, you will not be able to keep your arms stretched fully in a long time.
Because in this position, your shoulder has the most inertia, your shoulder joint experience, the
most inertia, so it will lose its, and it has to put more torque in order to counterbalance the talk
the talk to counterbalance the torque generated due to the inertia torque.
But if you keep your arm in a 90 degree is not in a fully stretched form, but in like 90 degrees and
then the inertia of you, you will keep your arm more in this position because the inertia experienced
by you, by your joint shoulder joint will be less.
As you can see the shoulder.
The joint experience is the inertia due to your due to the next joints, OK?
For example, move your, for example, your wrist.
OK, wrist joint.
This recent joint excuse me, wrist joint will not.
The shoulder joints position configuration will not affect the inertia experienced by the wrist joint.
Okay, because the shoulder joint is before the wrist joint.
Okay.
It's configuration will not affect the inertia experienced by wrist joint, so wrist joint or motor
doesn't have to.
It doesn't have to induce some torque in order to counterbalance the shoulder configuration.
Okay, and you can see this indeed from this matrix also.
Let me show you this one.
As you can see, the first joint OK two is a function of, as you can see it, the configuration of
Q2 and OK and the configuration of Q2.
OK, because the configuration of Q2 will affect the joint.
But if you see the last drawing, which is the second joint is constant.
Inertia is constant.
It doesn't depend on joint one.
OK?
Indeed, always.
The last joint has inertia, which is constant because there is no joint after that.
OK, but in the middle joints will have and the intermediate joints will have inertia dependent on the
next joint.
So keep this in mind, this is important.
Okay.
None.
And we have seen also this one and we say that except last joint.
OK, now let's make it more clear by experiencing it is not as symbolic weight, but in a more clear
way, in a practical way.
Let's
uncomment this and let's run this selection.
OK, let's do it this.
OK, now we have imported the model of Puma five six, the robot manipulator, which is a very old robot
manipulator.
But it's used in research, really, and it's well known robust number plates.
OK, let's investigate inertia matrix it by in position and joint positions.
So this is um.
Q And let's see.
As you can see, these are the joint angles and zero degree zero radium for the first one, the first
joint and zero point seven eight five four for the second joined Pi degrees for, uh, Pi radians for
the third joint, zero for the fourth and life that you can see that anyway.
OK.
Uh, now let's see.
What's our inertial mattress?
Okay, perfect.
Our inertia mattress.
And also, let me in.
Let's plot the robot in that position.
Q. And so you can see the robot manipulator, OK?
As you can see this robot manipulator.
OK.
And this is in that position.
OK.
This is the joints.
This is our Puma robot.
Um, OK.
If you want, we can put it in 3D.
Let's do it in 3D.
Maybe this will be more clear to you.
Uh, and you will see the robot.
OK.
As you can see, this is a robot in that position.
OK.
Oh, OK, let's make it in this way.
OK?
This is a robot.
And um, let's see who is on top.
And let's see the inertia matrix.
OK?
As you can see, the most of the inertia experience, OK?
First of all, it's let's see if this positive definite or not.
In order to see it's positive, definite or not, let's cheek it's eigenvalues.
So I guess if I am OK, if you will see that the animals are positive doesn't smell the um M. M. X is
positive, definite, and it's symmetric if you can see if you will miss it.
Yes, it's symmetric.
As you can see, these all are the same.
So our robot manipulator is symmetric.
And let's check its size also.
And if you can, if your size is six 16 square matrix.
OK?
OK.
And let's see its components, as you can see.
These are the inertia experienced by joints when all other joints are blocked.
OK.
As you can see, the most inertia is experienced by UM and the second joint and the first joint because
they keep the whole robot OK.
As in your arm, the most the most energy is experienced by your shoulder joint because it has to keep
whole arm in some position, OK?
However, if you see, uh, the, uh, fifth and sixth joints are, it has very less inertia because
they don't support big parts.
OK, so the inertia is less on them.
Um, the inertia experienced by them is less.
And here you can see the orthogonal terms show the acceleration of the couplings between the, uh,
the robot joints or acceleration of, for example, here the acceleration of June two.
OK, induces that much, uh, generalized force on joint one.
OK.
If you can see and as we go further, these codling terms are decreases.
OK.
Uh, y yeah.
Let me give this initial intuition by your finger, by your arm, OK, if you or your finger are also
part of your arm, OK, so a robot manipulator, OK?
And if you move your finger, OK, does it will induce some force on your shoulder?
No, because it's very small and it's very far from your shoulder joint.
Okay?
But if you move your whole arm, it will induce a force on your force to work on your joints or get
shoulder joint.
So that's why, as we go further from the base joint, OK, and these joints will not affect their will
have zero effect on the shoulder joint OK, or in the second joint.
But as you can see, the second joint has much greater effect on base joint.
That is the intuition in, uh, inertia matrix.
OK, now let's continue with cardiologist Matthew.
See and hear, I also indicated the formula of its elements.
This is the internal elements of the see matrix.
This is called careerists matrix because it models the Coriolis and centrifugal effects due to the rotating
bodies from the formula.
You can see that the Coriolis matrix is not only configuration dependent, but also velocity dependent
Sherlyn on linearly.
So as the velocity and configuration change, the Coriolis matrix also changes.
Here can be two cases, namely when I and J in the list are the same.
Then the resulting effect is centrifugal effect that is induced on John K due to the velocity of Georgie.
However, when I doesn't equals to the J in G, then the effect is Coriolanus, which is a yeah.
Then there is.
I'm sorry.
Then the effect is Coriolis, which is induced on joint K due to the velocities of joints I and J.
So CIJ represents couplings of joint J Velocity and the generalized force acting on joint I.
Surely this means that additional torque is needed by joint motors to compensate for that forces.
Here, once again, forces or talks here once again, you immediately see the couplings in the robot
manipulator dynamics.
As in the case of the inertia matrix, both the Coriolis term and its norm are bonded, and these bonds
are a constant if the joints are developed and function of Q if the joints are prismatic due to the
same reason we have mentioned earlier.
Now let's switch the matter up to investigate more on Coriolis matrix.
OK, let's continue at risk Carrillo's matrix.
Okay, so let's first again.
Um, clear this one, and let's import our symbolic robot manipulator.
Okay, we have imported, and let's investigate the Coriolis matrix and the Coriolis talk.
OK, we will direct the English Coriolis Turk because there's no need to watch the internal of, uh,
Coriolis matrix and what how we will in this case, Coriolis talk or them by.
We will first calculate the Coriolis matrix by just using the carnelossi term.
And, as you can see, different from the initial matrix m the uh.
In order to calculate the calculus matrix, we both need the joint positions and joint velocities because
Coriolis term depend on both the joint velocity and the joint positions.
OK, then what we will do as you'll remember the Carrillo's matrix the term dynamic equation was secure.
Cured dot yeah.
Times Cubed Dot.
We will talk this in this way.
We have calculated C Cukier Dot here, and by multiplying it by Q both, we will calculate the torque
generated due to the current illest term.
And here we do it.
OK, and let's calculate, uh, cardiologist related selection.
OK.
And this is our C talk.
OK.
As you can see, this is the torque generated in joint one.
Induced in joint one.
Uh, OK.
Coriolis torque and this is the courriel is termed induced in joint two.
And as you can see, there is coupling here y as you can see the torque.
The Coriolis torque generated in joint one depends on not only the velocity of itself, but also the
velocity of Jordan too.
And also if you can see tuned to Haspel's and depend on the velocity of joint one.
So the velocity of during the one induces carry all this talk in air June two and June 2s velocity in
excuse me, velocity joint twos velocity induces torque on joint one.
So there is coupling.
OK.
Let's see this couple more clearly by substituting substituting excuse me, first making.
Um, let's assume that joint one is stopped so its velocity of zero and only joint two moves.
And in.
This way.
Let's see what will be our um if they make it in this way.
Let's see what will be the result, but you will need selection.
As you can see, if joined one is stocked, then joint one doesn't move, then the joint two there will
not be any Coriolis or centrifugal force in or effect torque in joint two because joint one is stopped.
OK, but joint one will have, um um um, some Coriolis effect due to the, uh, what motion of Coriolis
torque due to the motion of joint two?
Okay, because a joint two moves and there is coupling.
And if we do the same for joint two and we will assume that joint two doesn't move, but joint one moves
and let's see what's happening.
As you can see now, Joint two doesn't move, so that's why it doesn't create any.
Yeah, torque OK.
Coriolis torque OK in joint one.
But the core of this torque is created
on June two.
Why?
Because a joint one moves and there is coupling.
There shouldn't be coupling OK, and joint two has to create additional joint twos.
Mortara has to create additional torque in order to compensate for the total created by the motion of
joint one.
Okay.
And here by saying I Coriolis torque, I just named this Coriolis torque because the name of the term
is this matrix.
But here also depending on the indices are the same or different, it can be the torque due to the Coriolis
effect or centrifugal effect.
OK, so let's now see it in action by using Puma and five six the robot's manipulator.
Here we will.
Um yeah, OK, first, let's import the model.
Let's simulate selection, and here we will take us only drawing two moves and others don't doesn't
move and we will check what's happening in this case.
OK, let's see Coriolis works in this way.
OK, see?
Four.
Okay?
As you can see, when only drawing two moves, yeah, OK.
Only joined two moves.
It will create some torque on the joint one and the joint three, and it will not create much talk on,
uh, further joints.
OK, um, you can experience it by your arm also when you move your arm.
OK, then it will affect to your shoulder and maybe it will create some torque on your wrist joint,
but it will not create some torque on your finger.
The joints okay.
And if you make it zero, and let's take, for example, um, see what will happen.
For example, let's let's make it in this way.
Let's check that what will happen if only joint, less joint or and the vector joint moves, it's like
moving our fingers.
It shouldn't create any torque on base joint, not any, but it should induce very small talk in joint
one or joint two or joint three because, you know, because it shouldn't affect too much.
Okay, because it's a small part.
And let's check if it is true or not.
Let's evaluate the selection and let's see what see torque.
OK, as you can see.
Zero zero zero.
OK, so moving your finger will not induce any torque on your wrist or on your shoulder because it's
a very small part and it's motion should create any other torque.
OK.
This is the initial intuition about carry on this term.
OK.
No, the last term growth term, there is not much to talk about it because there is nothing complicated
about it.
It illustrates simply the gravity of torque experienced by joints, which should surely be compensated.
I joined mothers.
Indeed, it's one of the most significant terms that's present in robot dynamics because even when the
robot doesn't move, it has to compensate for gravity.
Indeed, some kind of springs or counterbalance weights are put in some robots to decrease the talks
that has to be provided by motors to compensate for gravity.
This helps to decrease the size of the motor, which also decreases the cost and also the energy that's
being used.
The gravity term is also the function of configuration, so joint coordinates and so joint coordinates.
And it is also lower and upper bound.
Now let's switch back.
Look to enrich it.
More on gravity term.
OK, now let's continue with gravity matrix, OK?
Or, uh, gravity term gravity metrics are right here.
Buttler's that is a gravity.
OK, so let's clear everything early selection and it leads directly.
Import the model of Puma and calculate the gravity of torque in a Q R position.
What's the cure position?
Let's see the clear position of the rover.
OK, we will see it by just doing this one unit selection.
OK, perfect.
OK.
As you can see, this is the position of the robot manipulator.
OK, this is pulling a robot manipulator when into our position, and let's investigate our talks.
Gravity torque as you can see, the gravity to in the base joint is zero y is zero because as you can
see, it's the joint only moves in this way.
So when the arm is in this position, it will not induce any gravity.
It will it, doesn't it?
The base joints shouldn't create any torque in order to applause for the gravity torque because the
structure of the base base is internally OK, opposed the gravity.
It doesn't need to create any torque in order in additional authority in order to oppose for the gravity
torque.
But it is not the same for the, uh, second unit and the surgeon as you can see the structure of the
whole robot.
OK, this upper arm, the joint tour has to counterbalance for this, uh, gravity torque generated
due to this.
That's why the highest gravity is generated on joint to OK.
It has to counterbalance the whole arm in, you know, add this up positions and the gravity created
due to this.
OK, and some small talk is created in joints three also, but the others are not affected by the gravity,
OK, if they change the position.
OK, let's, for example, make it into an endless mission.
What's so in nominal position?
Let's see what will happen in this case if it's selection?
OK?
As you can see in this case, uh oh, I'm sorry.
It's cute and position.
Selection, okay, as you can see here, they're automatically we initially intuitively see that the
gravity talk has to increase, okay?
And as you can see, John too has to induce very high torque in order to balance this,
this upper arm structure.
Why?
Because before it was in upward position and somehow the structure was the structure of the robot was
opposing to the gravity.
And so that's why the joint has to induce small talk in order to oppose the gravity.
But in this case, the structure tends to fail down, OK?
And the robot, the second joint, has to keep all of these upper parts in in up in this position in
order, then not to fold down.
Okay.
So that's why it induces very high torque and either are higher or not very high, but some torque is
needed by joints three or four other talks.
It's very small talk OK for in terms of other joints, they need to create very small talk and you can
experience this, as I said before, by your arm.
So if you make your finger 90 degrees, your finger joints doesn't.
So your mazor, if you bend your fingers, it's not.
Create very much.
Talk on your shoulder joint or your wrist joint or your arm or your ear or your other joints, finger
joints because it's very small.
OK, but if you make your shoulder stretched upwards, OK, stretched thin in st.
OK, in a straight position, not a position, but straight position, which creates 90 degrees with
your body.
It will create very high gravity because your in your short term, in your shoulder joint, because
your shoulder joint has to now oppose the failed bone off of whole of your arm.
But if you keep your in your arms straight in opposition, some of the gravity talk will be opposed
by the structure of your body.
So your shoulder joint has to create smaller joint torque in order to oppose the flow of the fold of
your arm.
OK, so experience this with your arm because you have a manipulator, so that's given to you and you
can experience by your arm in order to ensure to fully understand these concepts.