Let's listen.
We have seen in most of Jacobean metrics to get the joint velocities to obtain the desired and the factor
velocity.
However, if you remember, we have taken into account all of the squared circle metrics so we can calculate
inverse of Jacobean.
What if our robot doesn't have exactly six joints?
What if our robot manipulator has?
Joint is a less than six or more than six joints?
Then what will we do?
Because now our Jacobean is not square.
How will we find the inverse of it?
As I said before, the robot can have less than six joints.
These kind of robots are called under actuated robots.
This means that we don't have control on every velocity component of the end effector during the motion
because our task space has six degrees of freedom while the robot has less than six degrees of freedom.
Another case is when the robot has more than six joints, and these kinds of robots are called or actuated
or redundant robots.
So during funding joint velocities to get the desired end the vector velocities, we will have infinite
solutions because some of our equations inside systems of equations will be linear dependent.
You can see here the shape of equations in terms of under actuated robots.
In this case, the one for which number of joints is two and this is for the all actuated or redundant
robot for which the number of joints is seven.
Let's try to find the inverse of Jacobean for under actuated robots.
First, assume that we have a robot manipulator with two joints and we want to get zero point two meters
per second linear velocity in y direction.
However, we have a problem here.
Our robot consists of two joints, so it has two degree of freedom.
Consequently, we can control only two components of the robots and the factor during the motion.
So how will we solve that problem?
The solution is nothing but accepting the reality.
We will try to use what we have in our hands, so we will try to control two components of the velocity
of the end effector.
While doing that, surely we will get some little unavoidable extra motions because of our under actuator,
the robot manipulator.
Let's ride our forward kinematics equation.
As you can see, we take here only the two linear velocity components of the end effector, namely V
X and V Y.
So we separate our Jacobean matrix also and take the top partition of it, which is two by two matrix.
We can write our new equation in this way.
Now our Jacobean is a square matrix so we can inverted and get our required joint velocities.
However, as always, be careful in terms of inverse of a matrix.
Be sure that the determinant of the Jacobean matrix is not zero.
Let's go to the MATLAB and try to visualize the things that we have seen.
OK, so let's start by first importing the two joint robot manipulator, so as you know, this will
be under actuated robot because a number of joints is less than six.
OK.
Let's see if we tried P2.
You will see that we have two joints.
OK.
So let's define a nominal pulse for eat.
OK.
This is joints for each one, we will ride one.
This is normal position.
Let's put our robot in that position to see it in order to adjust.
OK.
As you can see, this is our robot.
As you can see, it consists of two real joints.
Oh, OK.
At no, no position.
So let's find its Jacobean at that point.
OK, we will use a in jerk of zero.
OK, at CU and O.
Oh!
Oh, OK.
P to put.
OK, perfect.
Now you can see that joint one affects exposition.
Excuse me, linear velocity x linear, as well as the on y and also the rotation about Z.
And the same is for joint to OK.
It a fixed linear velocity in X, linear velocity in Y and angular velocity about that axis.
We can see that more clearly by using P to teach method.
OK.
You know, to just show you, as you can see, when we rotate the first joint, it affects x y velocities
the same for two.
And there the rotation angle of two of the joints are fixed.
As you can see only the zit rotation, because if you put your finger or your thumb on the direction
of Z and curl your fingers, you will see that the positive rotation is about this one.
So as you can see the joints, when the joints are changed, joint variables are changed.
The rotation only affects only the rotation about Z, not X and Y.
OK.
So anyway, um, let's continue.
So what we have said, we have said that we cannot just invert this, J.
OK, we cannot find inverse of life by just writing like that.
OK.
As you can see, it is that matrix must be square.
So what we have said that we will accept the reality.
So we have two degrees of freedom.
And if we want to control, for example, the velocity in y direction, then we will try to control
only the V X and the Y.
OK.
So let's do that and partition our Jacobean and take the first partition of it to partition, as we
have said in lecture slides.
So we will take the first, uh, two columns.
OK.
Excuse me, first two rows.
OK.
Let's visualize that.
OK.
This one, as you can see, we take this one.
These two?
OK.
So let's see what we have seat inside the slide that our desired, uh, designer.
We want to let me just do that.
We want to move our end effector in 0.2 meters per second in y direction.
OK.
So in order to find the required joint angles, uh, join the velocities.
We use inverse of our now squared J X y OK squared Jacobean.
So we will have inverse of it before doing that.
If you want, let's check what we have said determinant of it.
Let's see whether it's equal to zero or not.
As you can see, it's not equal to zero.
So we have the inverse.
So let's paste it again, and let's find our desired kudi.
OK.
This is our desired joint velocities.
OK, let's do the forward kinematics and find whether these joint velocities give us the desired response.
As you can see, we have the velocity about y direction and which is which we desire.
OK and 0.2 meters per second.
But there is an unavoidable angular velocity rotation about that axis because, you know, they are
linear.
The, uh, the rotation of joint one and joined to their linear combination affects the rotation about
Z.
So that's why the Z is unavoidable.
Uh, so this is the problem with under actuated robots.
OK.
Now, as you can see, this is our estimate in terms of finding the inverse of the Jacobean of all actuated
or redundant robots.
We will utilize lift, so the inverse of the Jacobean.
Let me give some definitions about so the inverse of Jacobean.
It has this property, namely when the so the inverse of the Jacobean multiplied with itself, we'll
give identity matrix.
We can find lift.
So the inverse of Jacobean by this formula.
OK.
Let's come back to the problem.
There are infinitely many solutions.
So the equation above, because the robot manipulator is redundant, so we choose the solution for which
the norm of the joint velocities is minimal.
So why not use the redundant robot while we can make our robot has six joints?
And so we can control all the velocity components of the end?
The factor is that because the robotics components have many money to spend on robots, or do they do
that?
So the robots seem complex.
Let's analyze this.
As we have said before, the shape of robot Jacobean is six by end four, which and is the number of
joints.
And as you know, from linear algebra, in order to find the rank of a matrix, we choose minimum of
two dimensions.
So for redundant robot, we will have six by end.
Jacobean matrix and end is greater than six.
So the rank of the Jacobean will be six.
What does it mean from linear algebra?
You know that also this means that no space of the Jacobean is not to, and its dimension is equal to
the number of joints and minus rank on the Jacobean as our own little space is not empty.
We have some joint velocities for which the end effector velocity will be zero, so it will not move
because we conclude that from the definition of no space of some matrix in this case, the Jacobean,
so we can so we can separate the equation.
A boat like this, namely the first part will give us the joint velocities by which we can get our desired
end effector velocity.
The second part will give us such joint velocities that will not affect the end effector.
So end by nTX Plus helps us to plot the project design joint motions into the null space so they will
not affect and affect our Cartesian motion.
What do we do that we want that?
Because by using this method, we can get the desired and affect their velocities while avoiding obstacles.
Namely, we can change the position and orientation of and the factor while changing joint velocities
and also be changing velocities such that they avoid obstacle but don't affect the motion of the end
effector.
This is not only useful for obstacle avoidance, but also avoiding collisions with the links or to keep
joint calls away from their mechanical limited stops.
So this is why we use redundant robots so we can have many options for getting one desired end effector
position and orientation.
Let's go to the MATLAB and apply what we have seen.
So let's first start by importing model of Baxter.
OK, Baxter Baxter is a robot that have two arms.
It's like human or humanoid robot.
It has two arms.
Each of these are consists of seven joints.
OK, so we have seven degree of freedom in each of the arms.
And so they are their Jacobean also.
And so they are redundant or um or constrained.
Um, excuse me or actuated robot manipulators.
So let's see the old Baxter.
Oh, excuse me, I just want to do not like that.
But let's see.
It's left.
As you can see, we have here a left arm and its right arm.
And let's see its left arm as you can see its left arm, and it consists of seven joints.
OK, then let's define.
As you can see, I have defined here joints previously.
OK, let me paste it.
This is arbitrary.
OK, there's nothing in that.
OK, it's some position, and let's plot our left arm in that position.
But Load Q OK.
As you can see, this is our backs, the robot and that position in that joint configurations, its
configuration is like that.
Anyway, let's continue.
OK.
Um, what we can do first, let's find its Jacobean of the, uh, joint configurations.
I always forget.
OK.
Oh my gosh.
Yeah, yeah, I have forward through laptop.
OK, now it's our Jacobean.
Yeah, it's as you can see.
Uh, it consists of six rows, but seven
columns because we have seven joints.
So uh, let's let's do that.
We want zero point two meters per second linear velocity at x y z directions.
OK, so our designed and the vector velocity zero point two zero point two metric per second in x y
directions and no rotation.
OK, no rotation.
OK.
So what will be our desired joint required joint velocities in order to get that and the vector velocity
we will use?
So the inverse, as you know, we have said in our lecture that it has to be.
So we have to use so the inverse, OK.
We cannot just use inverse.
Let's check also this one.
Let's you can use just yeah, you can see that we cannot use because it has to be squared.
So we will use so the inverse.
OK.
And in MATLAB, we can find it and we can find that.
So the inverse by using also this is a function from Pethokoukis Library by using P function.
OK.
Uh, excuse me.
OK.
This is now our desired or required joint velocities, as you can see all of the joints.
How can I say, contribute to the motion in order to get the desired in the vector motion?
OK.
So now, as we have said before, let's check rank of our J metrics.
As you can see, rank of our Jacobean is.
Six.
So we know that it's not space is not empty.
OK.
It has to be we have to one dimension of space.
Let's check no Jay.
This will return us the basis victor again.
I think you have to know from the linear algebra that it will return us the basis vector for which you
know, it will be the no or no victor of our Jacobean matrix.
So we can see that this is the basis.
Victor, what does it mean, business victor?
It means that if this is not victor for our Jacobean, but it's linear combinations will be also, for
example, when we scale, this is also null vector for our Jacobean OK um and times for plots and times
50 will also be will also be, you know, null will be of no space in our Jacobean.
OK.
But the basis is this one?
OK?
This is the basis.
Then you can just multiply it.
You can just scale it.
You can just find a linear combination of it with other, you know, with the scaling of it like that,
it will not change anything.
OK.
Anyway, let's check that whether it is inside the norm of, excuse me, inside the
new space of our Jacobean, so we will do what we will take our and multiply with our j.
This has to give us zero.
We will just find Norm.
OK, normal fit in order to get one, you know, one number and the more normal fit.
OK, so as you can see it, zero, 10 to 10 times or excuse me, time or minus 16, which is zero.
OK.
So let me just I'll just show you this one that if you multiply this with four point scale, these 10,
it will also give you zero.
OK, if you find a linear combination, for example, if you do and again one times, for example,
16, this will also give you zero.
OK.
Because this is just the basis for our vector in our space.
OK, I think you have to know it from the linear algebra.
So let's continue.
So let's define that.
Let's just assume that now our task is not only get that position of orientation.
So as you can see, if you want that position and orientation of our excuse me, this follows that in
the vector, but we also want our robot mother planted while achieving that.
It also move the joint five one meters per second in order to avoid some obstacle.
But this doesn't have, you know, it doesn't have to.
It doesn't.
It shouldn't affect the end effector, OK, because then it will change the orientation of it.
We want the joint five to move, but doesn't affect the end effector.
OK?
It is.
We move it in order to avoid the obstacle.
And as our robot is over actuated or redundant, we can do that.
OK.
So let's see that we want this.
One joined five to move one two three four one meters per second.
OK.
And as we have seven joints, we will do it like that.
OK.
We want this one.
Now let's then project it.
OK?
What we have said, we will project it enough space so it will not affect to our robot manipulator,
excuse me, end effector.
So we find the p inverse or so the inverse of our end times.
Cue the No.
OK.
So this will give us the projected joint velocities.
As you can see, this will not affect the end effect of sore joints will move the these these velocities
and they will end the vector will not move because of these.
So they will their result and will not affect the end effector.
As you can see, all the joints move.
So why all the joint moves, all the joint moves, so that the joint they will compensate for the motion
of J5?
OK, so the J5 will not contribute to the motion of the end effector because of that, all the links,
all the joints are moving also.
So let's check that whether it will affect the end effector or not, we will just to j times, q p in
order to get our end defective doses and we will see that it's zero.
So it doesn't affect our end effector.
OK.
So um, lastly, our result and joined list this will be peer inverse J Times XD.
As you know, this will help us to get to orient or to get the desired joint velocities.
Excuse me.
And the vector velocities plus q p.
This will be needed in order to avoid obstacles.
So this will move the joint five one meters per second.
While, you know, not affecting the end, affect them.
So this is our oh excuse me, this is our resultant joint velocities, excuse me, required joint velocities.
OK, so we have finished about Jacobean of, uh, unregulated tweeted and or actuated or redundant robot
manipulators.
So see you on the next lesson.