During last few lessons, we have analyzed both geometrical and analytical Jacobean mattresses.
Both of them enable us to get the end effector velocities, given joint velocities especially less less
than we have seen analytical Jacobean during driving analytical Jacobean formulation.
We have seen this matrix and it called it matrix speed, which was a function of our P y angles.
So pitch your angles, then we have used it during the duration of the Jacobean matrix.
More clearly, we have used its inverse.
But as you know, the inverse of mattresses is such a notion that we have to be careful.
So we have to ask whether it be matrix is always inverted or not.
And if you analyze metrics, speak carefully, you will see that it is not the case because it's obvious
from the definition of Matrix beat that when pitch angle P is equal to plus minus pi over two or plus
minus 90 degrees, then we have cosine p zero, which makes first and third columns of the B matrix
the same.
So they become linear dependent and the matrix becomes rank deficient so we cannot get its inverse.
This case is called a representational singularity, while during last lessons we have tried to get
and the factor velocities given joint velocities.
However, it is much more interesting for us to know what should be the joint velocities in order to
get the desired and the fact that the velocity so we have to use the inverse of Jacobean matrix.
Now we are faced with again the same problem.
Does the Jacobean always in vertical?
And again, the answer is no, as all the Jacobin matrix is configuration dependent.
There will be some cases in which the Jacobean matrix will be singular.
Other than that, we will assume that we have six degrees of freedom robot manipulator because, as
you know, in this case, our Jacobean matrix will be square and square mattresses are inevitable.
I don't consider the case left inverse of mattresses.
OK?
Anyway, let's continue.
The Jacobean will be singular.
When it's determinant will be zero.
Finding the case has been Jacobean is singular is important for us because these cases represent robot
manipulators configurations in which motion in certain directions are unachievable.
Other than that, during singularities bounded and the vector velocities make or respond to a mound
the joint velocities.
We want to avoid this situation because it's damaging for our robot manipulator.
Also, singularities happened when the robot reaches its maximum of boundaries in work space, which
can be referred as singularity to.
Also, singularities happen when one or more axis has become aligned that referred us that causes loss
of degree of freedom, namely Gimbel look problem that we have seen earlier.
This can be called singularity.
Now let's jump to the MATLAB and try to investigate that problem more deeply.
OK, now let's try to understand singularities by using MATLAB Pethokoukis Library.
So let's first drug import Puma five 16.
Excuse me, robot manipulator.
OK, its model.
So first, let's calculate its Jacobean saw p five six.
The thought um, jakob's zero.
OK, this is the common for calculating Jacobean of a robot manipulator.
So we calculated the Jacobean of our Puma five six model at when Jones R Q R, so in a ready position.
OK, this is our, as you can see, Jacobean now.
I want you to analyze this Jacobean.
As you can see, this Jacobean consists of six rows and six columns, which is normal because our robot
manipulator is six degrees of freedom.
So it's square.
But is it invert?
Let's investigate.
As you can see, we have the fourth.
Six joints.
OK.
Are joint fourth and so forth, and six columns are linearly dependent.
OK.
As you can see, both of them, we have learned the meaning of Jacobean last time.
So as you know, this means that the fourth and six joints of our robot affects only the orientation
in the z direction of our end manipulator about that direction.
Why?
Because these are the wrist.
OK.
These are these constitute our wrists for fifth and sixth
joints.
So as fourth and sixth joints are linearly independent, so columns excuse me, columns are linearly
independent.
Our Jacobin is singular.
OK, so rank deficient.
Let's are our determinant of our Jacobean should be zero.
As you can see, it's zero.
So this means that our robot manipulator is in singularity.
And if you see the rank of our Jacobean, it should be five because these two are linearly dependent.
OK?
As you can see, they are the same, so they are linearly dependent.
So our Jacobean is rank deficient.
So it is in singularity.
OK, now let's try to see what will happen when we reach near this singularity.
OK?
Not in singularity, but we are near the singularity.
OK, let's do that by just changing
its fifth component.
So fifteen point five degree away.
From the singularity case, so we are near the singularity, OK?
Not in a singularity, but near the singularity.
Let's see how this affects to our robot.
Let's first see it Jacobean equals 2p 560 dot
zero cube near singularity.
As you can see now, our robot planters check the Jacobean.
It's feet fourth and six columns which represent Jovens are linearly independent.
OK.
They are not dependent.
No.
They are linearly independent, so we have to have.
Let's check its rank of no j, as you can see its full rank.
So it's not.
It has inverse so determinant.
Or however, if the chip determinant of G, as you can see, it is almost zero.
Very, very close to zero.
OK, so what does it mean?
It means that our robot?
Well, not exactly in singularity, but it is near singularity, which we want not only to avoid in
exact singularity, but also we want to avoid the robot manipulator to come near singularity.
OK, let's see why.
Let's see why we award the singularity.
Let's take that we want to achieve.
OK.
And the factor velocity of 0.1 linear velocity zero point one in that directions.
So what should be our joint velocities in order to get that in the vector velocity?
As you know, we have to find inverse of J.
And we have to multiply it with our desire and the factor velocity.
OK.
Let me just or I think it's correct.
OK.
Let's see what's our desired joint velocities that we will get.
These are and the vector elicited.
Now you can see we have a very big problem here, as you can see in order to get zero point one
velocity meters per second.
I think velocity in the z direction.
We had to change.
The joint velocities have to be nine point eight five two to radians per second, which is very big
if you make it.
If you convert it to, um, radians two degrees, excuse me, divided by PI.
You can see that it's approximately six hundred.
OK, six hundred degrees per second.
Can you imagine trying to imagine that joint has to rotate in 600 degrees in a second, which is very,
very fast, and the robot motors cannot achieve that.
It can damage our robot manipulators motor.
OK?
And also other hardware related stuff.
So we want to achieve, however, inexact singularity.
This will be excuse me.
This will be infinity.
OK.
But as we near the singularity, we will have not infinite, but very big numbers.
OK, so that's why we want to avoid not only the exact singularity, but also the near singularity.
OK.
We can determine.
Let's see its derivative.
No, our Jacobins derivative, excuse me.
Not derivative determinant.
As you can see, the determinant is very small, as we have said earlier, and we can also represent
this with condition or a number of our Jacobean.
As you can see, our condition number of Jacobean is very big.
OK.
What does this mean?
This means that when our condition number of the Jacobean is big, this means that our Jakobsson is
ill conditioned.
OK.
So we are near singularity.
OK, now let's try to get that to to see the singularity is or near singularities by, you know, in
leave mode.
OK, let's do first.
We will use, as you have seen previously, teach method what it will do.
It will enable.
US to change the joint of the robot manipulator so we can control it in a leave mode, and we can also
see how it affects our robot manipulators configuration, so we will use callback with callback method.
OK, so we will use inline function R and Q.
What are these callback function?
OK?
What does it mean?
Callback As we change the joints of our robot manipulator, the callback function will be how can I
say it will be arised and we will get a each time our robots model, which is R and all set the joint
values, which are Q OK?
And what we will do, we will do, we will do print these.
We will print condition.
OK.
No condition.
No.
Condition number during these joint variables.
OK.
Jacob, OK, zero Q.
I think it has to work if I didn't do anything wrong.
OK, now as you can see a disposition, the our condition variable is very big.
Now let's try to manipulate this.
I think this is because of that one.
OK, as you can see, this is why we got a very big condition.
No, this was because at first we were in ready mode, which was, you know, and we we were in singularity,
not near single, about exactly the singular.
So that's what our condition number is, that we, as you can see when we changed our cue five, which
avoids which help us to avoid the risk singularities.
So four and six note becomes a long axis.
So instantly our condition number decreased our as you can see when it reaches near singularity, as
you can see, it starts to condition, no starts to increase.
And again, when it avoids the singularity, it starts to decrease.
So what we have said, we have seen that except from this singularity.
Also, our robot becomes singular or becomes near singular when it reaches its alter boundaries.
So if you take your arm or not, take your arm because this is your arm.
If you stretch your arm fully, you will see that at some point your arm will reach singularity and
you will not be able to end to control it or you will control it.
But you cannot stretch it any more because you know your arm is like a robot manipulator and it reaches
its altered bones, or it cannot stretch anymore because of hardware limitations, OK?
And because you have link lengths that are limited.
OK, now let's try to achieve that position.
OK.
Let's try to by just changing it in this way.
OK, like that.
And let's stretch that.
Also like that, as you can see, you can can you see how it switched from the sort to a two to three
to eight to two hundred thirty three?
OK.
This is because we have reached new and we are near singularity.
OK?
Our robot is near singularity, so that is why it is increased that much.
If you change it again, back to like that, you can see that it decrease them.
Just let me just do it always.
As you can see, it's decreased again.
Can you see?
OK.
Let's make it again near singularity.
And you can see it will switch.
No.
OK.
As you can see it switched back.
You can play with that, which is a very useful tool and try to see OK.
As you can see, we have again reached this singularity here by changing five.
OK, by changing this in a leave mode, you can see when the robot will reach near singularity, and
we want to avoid this singularities.
OK, now let me just show one interesting thing also that, OK, now let's try to get the same and the
the what will happen with the same involved Jacobean OK?
Near Singularity.
This is the Jacobean that we get near singularity.
So by using cute and asked.
But now we will try to change the end effectors orientation in y direction by 0.2 radians per second.
OK.
Let's see how much joint velocities we need to do that.
Let's see our kudi.
As you can see now, the values are moderate, not big.
Like here, OK?
So you can see that while in some singularities of the the draw, it is, you know, not achievable
to get some linear velocities, but it is achievable to get or it is possible to get some orientation
configurations, OK.
So this change based on our, you know, singularity configuration, in some cases we can get linear
velocities, but we cannot get orientation velocities or angular velocities.
In some cases, we can get angular velocities, but not linear velocities.
Let's assume a set of generalized joint velocities with unit no.
These general joint velocities lie on the surface of a hyperspace fair in the end dimensional joint
velocity space.
We have seen this equation also, which helps us to determine joint velocities given and the factor
velocity.
If we substitute inside our equation, we will get this new equation, which is the equation of points
on the surface of an El Absorbed.
This equation is called velocity el absorbed, and it helps us to understand the mechanical ability
of our orbit in certain directions, namely how much this episode resembles a sphere.
Then it can achieve arbitrary velocities in these directions.
Namely, it can manipulate more easily in both directions.
Let's see that more clearly in MATLAB before jumping into MATLAB, I would like to note that, as you
can see in this case, we take into consideration only the kinematics of our robot to determine monopole
ability.
However, there are other things that affect the multiple abilities, such as mass and inertia of the
links, and we will take them into account on our future lessons.
Now, let's come to many probability of our robot manipulator.
What we will do, we will do first import the model of Puma five 560.
Excuse me, not like that.
Puma five six.
OK, now we will use the command, which is from Peter Caulkers Library.
This common P5 60, which is model of our robot manipulator, the ellipse.
So below, see the ellipse in Q and S.
OK, let's get that Q in this excuse me.
But OK, let's that Q in this we should have in the history of our robot.
OK.
Genius equals the Q all.
And so Q and this is the position, the joint.
But I was near singularity.
So OK, we now try to see our velocity ellipse near a near singularity, and then we will see translational
velocity.
OK, not rotational.
Then we will see also the rotational look.
Let's see that ellipse, as you can see.
Let me just make it like that, and let's call x y x label.
Let me just make x OK, then y label y and Z Label Z.
OK, now you can see that in X direction or ellipse is not in sphere form.
OK.
So even for our robot the manipulator, it is difficult to achieve linear velocities or translational
velocities in X direction.
However, let's do that in Y, as you can see now, the velocity ellipse resembles excuse me.
Yeah, yeah, it resembles sphere more than in X directions, so we can achieve more arbitrary so we
can manipulate more.
Easily, our robots manipulator in why?
Also in that direction, because as you can see in that direction, also our velocity ellipse resembles
a sphere.
OK, now let's try to do the same now with not translational, but rotational velocity.
OK, now this is near singularity and the rotational.
OK, let me just this one rotational velocity ellipse.
OK, now let me also again Insert X label, insert y label and insert that label.
So oh my gosh.
Well, well, well done.
OK.
Z Label X y z.
Perfect.
Now let's see in X, as you can see, this is an interesting shape.
OK.
This is not resembles sphere.
OK, so this lets not resemble spheres, so our robot manipulator cannot manipulate or rotate in x direction.
OK, now the plate in I mean in rotation because this is rotation velocity sphere ellipse.
Excuse me, in ex-Tottenham hover.
Let's come to Y.
As you can see in Y and Z, it resembles, you know, almost perfect sphere.
OK.
And so we can have we have grid man applicability in Y and Z directions in terms of rotational velocity.
OK.
So as you can see how much v near the sphere, in that amount, we can manipulate our robot easily in
rotational and translational sense.