Hello, welcome to Lecture 4. In this lecture, we will learn instantaneous robots and kinematics.
In the last lecture, we discussed the inverse kinematics together, and the first term we
mentioned is workspace. So workspace is used to describe the motion place where the robot
can reach, the n-effector of the robot can reach in the cartesian space. We know that
so if we want for one robot arm, if we want to know whether the robot n-effector can reach
one place, then we need a inverse kinematics to calculate the joint angles, the robot configuration.
But whether this configuration exists, so maybe no solution or one solution or multiple solutions,
we need the IK server to help us, to think whether they have solution or to select a perfect
or optimal solution. The workspace, if we know the workspace of a robot, then you can see whether
the place in the 3D position, whether it is in the workspace, we can know whether the robot can
reach this place. There are two workspaces, the reachable workspace and the dexterous workspace.
Dectoral workspace is a stable set of the reachable workspace. And then we talk about how to
calculate the joint configuration based on a given pulse. Two main methods, closed solutions
and numerical solutions. Not all robots can use this closed solution only when these robots satisfy
one of the conditions in here. So like three circuent axes intersect in a given point.
So many industry robots, the way they build satisfy the first condition here.
For example, if a robot arm has six joint angles, so if there are three circuent rotation axes or
the prismatic axis intersects in a given point is already fine. So the other three extra joints,
they don't need to follow this condition. So in closed solutions, there are two categories,
the algebraic solution and the geometric solution. The algebraic solution, there are two strategies.
We mentioned the first one is the transcendental equations and the second one is reduction to
polynomial. And the geometric solution, this is based on the geometry of the robot arm itself,
when you can try to draw several triangles and then based on the law of cosine to calculate theta.
Then for the numerical solution, we give two examples, the Trac-IK server and the Bio-IK
server. So in a numerical solution, they are mainly based on one optical or not one, but
based on an optimization algorithm. For example, Bio-IK is based on a combination of generic
algorithms and the SPO, the swarm particle algorithm, to calculate at the end, the joint angles to
converge to an optimal solution. So these are the mainly we discussed in the last lecture,
and I also left one exercise. So this exercise is simpler than the one example I mentioned in the
algebraic solution. Now let's look at these exercises together and then we can also review
the algebraic solution. Basically, for each robot, you also can get the
maybe T3 with respect to frame zero. We can always get the transformation matrix based on
DHR parameters. And then we know this pose. So this is like an existing pose of the place
we want the robot to reach. And now how to solve the inverse dynamics. So solve in here means
how to calculate here theta 1, theta 2, and theta 3. As I mentioned, we can solve this problem by
algebraic solution. Then we need try to use the sine, cosine, and to get some equations and to
see whether we use transcendental equations or we use the reduction to polynomial. And here,
I think from theta 1, we look at these two. You can actually quickly find theta, not theta 1,
sine theta 1 equals to R1 3, and negative minus cosine theta 1 equals to R2 3. So this is a quick
way to find to calculate theta 1. And based on the two arguments, we can get theta 1.
So if we know theta 1, next step we find theta 2. And you can find the two equations
in the fourth column that only have theta 1 and theta 2. And also the third row, sine theta 2,
L2 equals to Pz. Then based on these three equations, then we can calculate theta 2.
And then, so first, based on these two equations, 20 and 21, there's no problem to get cosine theta 2.
And here, cosine theta 1 and sine theta 1 cannot be zero, of course. And you have cosine theta 2
and sine theta 2 the same way as the two arguments are tangent, you can get theta 2.
Then if we know theta 1, theta 2, how to get theta 3, and you can see here, here sine
theta 2 plus theta 3 equals to this one. And the same for similar to cosine theta 2 plus theta 3.
Then you can get these two equations, and then you can see theta 3 based on the
transcendental equation. So this is a quick review, and then we know the basic rules in
inverse kinematics. So you get the transformation matrix, you know the robot configuration,
and then you know the position of, one position in cartesian space. And for inverse kinematics,
we calculate all the theta, all the joint angles. And now in this lecture, we talk about instantaneous
kinematics. Instead of this motion in the pose, the position, the orientation in cartesian space,
now we talk about velocity. And this video is, I recall this week, this is not a video
I used last year. Last year, this part about the instantaneous kinematics, in this video,
discuss about how to calculate angular velocity and the linear velocity
of each link of the robot, and talk about the velocity propagation.
But finally, I thought these are not really useful, or somehow you don't, in many robot
scenarios, maybe you don't need this knowledge to calculate this linear velocity.
Then I updated this part to differential homogeneous transformation, because in some
cases, we really need to somehow get the differential motion in the cartesian space.
Then let's see how to calculate this differential homogeneous transformation.
And then the next part is Jacobian and the singularity. Jacobian is pretty really important
here. Okay, so let's start. We know from theta to x, the x is in cartesian space,
is forward kinematics, and the inverse kinematics is from x to theta. And instantaneous kinematics,
we talk about a small displacement in joint space, and then it will cause a small displacement
in cartesian space. And the relationship between this theta theta and the theta x
is like we want to discuss the velocity in joint space, and the velocity in cartesian space.
The equation to describe the relationship between these two velocities is Jacobian,
and we will discuss this later. But before that, we want to know, so what's this velocity and what's
the differential motion in the cartesian space? So talk about the differential motion, the first
before directly go to the derivative part, we start from the incremental of this motion.
So we get theta t first, so p here is like a pose. So we get theta t first, then we will get
from theta p to the derivative of p t. Okay, now here assume p is a trajectory,
and the p0 is the the pose at time t0, and here we have p t0 plus delta t.
And then so the increment of p t in here, the delta p t will be the position at the
the delta t time to minus this p t. But we know the pose of the effect of the robot,
we always can use this homogeneous transformation. So here we introduce H. H is a homogeneous
transformation, so from the word frame to object frame. So H is a transformation matrix,
and it is a function of time t, and this is from word to object frame. And the p0 here is
given with respect to word frame. So in this way, p0 is in word frame, and here is from word
object frame, then we can get a pose in object frame. And then in similar we get H t p0 here.
And of course we can put through these two H into a bracket, and then we get data H t.
So the increment p t, increment pose can convert to the increment of the transformation matrix,
homogeneous transformation matrix, and multiply the p0, the starting pose.
Now we know a delta p, so we can go to the derivative part. So the derivative of p t
will be the velocity of p t. We want to think about the differential motion, so we calculate
the velocity here. Therefore, the delta p t and then the delta t, so the time and when the time
is going to be zero, then we can get the velocity. And of course, so because the delta p t equals to
this delta H t p0, we can get this. So then we here change it to, this is the derivative of H t,
multiply this p0. And then let's see this part. So in the third equation, equation 27,
the equation becomes like longer, but actually it introduces the inverse of H t here. So the
inverse of H t, multiply H t, it will still the identity matrix. But they get this H t and p0,
this will be p t. Basically, from the first part, to calculate the velocity of one pose,
of one point at a time t, x2, this part, multiply p t, multiply the pose at this point.
So now I think the main part is how to calculate this derivative of H t, then multiply this inverse
of H t. To calculate this D H t, then we will go to the next part. Here first is given the definition
of H, so it contains 12 variables in here. And then if we want to get D H, so get the derivative,
this D H is the differential of H t. Because H is a function of a variable t, and here I have
12 variables, and you can see these 12 partial derivatives. And then we get D H is this big
matrix with these partial derivatives, multiply this D t. So here D H is the differential of
function H t. But we know now we are in talk about homogeneous transformation. When the robot and
the effector moves a little bit, so moves in, get a small increment, actually this can be think about
from a translation and rotation way. This means like if here has H, like this pose H can be one
pose in the criterion space, and then there is a differential H, the differential transformation.
So actually this H plus D H equals to somehow we rotate this H, this pose, and then translation
based on the pose. Here have case one is think about with respect to a fixed coordinate system,
therefore we use left multiplication, rotation first and then translation.
Therefore D H will be this translation D X D Y D Z and the rotation K D theta minus the identity
matrix. The translation D X D Y D Z is a differential translation D Z, oh here should be D X, sorry,
with respect to the fixed coordinate system. And rotation K D theta, this is the
angle axis way to present a rotation. So like the robot like one pose rotate around the
axis, no not axis, but arbitrary vector K around the theta angle. But here because we only talk
about differential rotation, then here is D theta, a small displacement or a small increment of theta.
Therefore we get D H in here. Then we have case one, of course we will have case two,
if this is with respect to a newly unchanged current object coordinate system frame,
then this will be right hand multiplication. Similar to this function, then we will get
right hand multiplication, this translation and the rotation, then minus this identity matrix.
So now we get D H because we want to calculate D H and D H is this.
Then the harder part is how to calculate the part in the bracket. So we have a definition,
here we have big data equals to this part. And then the differential homogeneous transformation
either. So if based on the fixed coordinate system, then it's here is left hand multiplication.
If this is a new current object of coordinate frame, then right hand multiplication. This is
the representation of D H. But then we of course need to have a look how to calculate this data.
For a translation by D, then here we have dx, dy, dz. So in a matrix where it can be,
like here is only one, one, one for the rotation matrix and the dx, dy in the fourth column.
And the D here is the differential vector. So that presents the differential change
along this i, j, k is the coordinate like the x, y, z in here. Then the next part is
about the rotation k dz. We never mentioned this in our first lecture. So we only talk about how to
rotate around the x, y, z. But for the rotation around an arbitrary vector, I didn't give an
equation. But here is the result. You can also look at this book, the robot manipulators,
and you can find the result of general rotation transformation or in V-key page. You also can
find the similar equation here. Let's see what's it. So here k is an arbitrary vector
in the 3D space. Then it is based on i, j, k. So i, j, k can be the x, y, z axis. And then kx,
ky, kz you get an arbitrary vector. Then therefore here have kx, somehow kx, ky, but cosine theta
and the sine theta. But you maybe also realize here also have V theta. Here V theta means
various sine. So this is 1 to minus cosine theta to get the reduction of this. And
this is the result. So if you want to know how to derive from to get this equation,
probably you need to look up by yourself. And now we have the rotation matrix of the
rotation k theta. Now we think about its d theta instead of the real theta. We only think about
the instantaneous angle change. Therefore we can put all the d theta
instead of this theta to replace all of them. But here when theta is going to be zero,
then based on the mathematic limit, the limit of sine theta will be d theta. The limit of this
cosine theta can be 1 and the fair sign the theta will be zero. Then we replace all the theta by
d theta and then get based on all these limits, you can get the equation 33 becomes 34. Then the
equation looks much thinner. So here is the result. The rotation
here should be d theta. So rotate d theta around an arbitrary vector k in Cartesian space.
So this is the homogeneous transformation. And then if we put the translation part and the
rotation part together and then mark also to subtract this identity matrix, you will get this.
So we can get data in this way. Then this is the differential homogeneous transformation part of it
and together with the edge, the homogeneous transformation in the cell. And with this way,
the next part is about rotate around x, y, z axis. Because we know it's hard to really,
when we think about the rotation, it's really hard to find the rotation axis, the arbitrary
rotation axis. So also in our first lecture, we talk the very traditional translation based on
rho pi joule based on the x, y, z axis. And then here, now we see how to think about the
translation, the rotation based on the around the x, y, z axis. So the rotation
actually is for the x, y, z. We already know this for a long time. This is always the default
transformation matrix. Now if we come to from this phase theta, then we come to
consider the differential change. Then we come to, you see here, so this is cosine,
like for example, the y. So this is cosine theta and then cosine theta equals to 1.
And then this sine theta will come to delta y. So here we don't use like use d theta anymore.
Instead of we use this delta y, delta x, delta z, because now it is the whole rotation matrix at the
end is a function, it is rotated around x, y, z. So this is a partial derivative, not only
one theta around k, but this is some theta around x, y, z. So here is partial derivative. So we use
delta x, y, z instead of d theta anymore. And now if we have this, then we put this x, y, z
together to after the modification, you will get this at the end. So this is because
when we talk about rotation around x, y, z, this is in the fixed frame. And therefore here is left
hand multiplication, right? And then we get this. So because this is only the other way to present
the rotation either around x, y, z like Euler angle or we use the angle axis way. So the equation
here, the 43 could be same as the equation in here, the 3, 34. And then you can get based on
to through the comparison of this equation, the last equation I show you and this one,
we can get the kx d theta equals to this delta x and the ky d theta equals to delta y and this.
Then we combine them together, the data could be, so the data is the one put this
translation matrix and minus this substrate, this identity matrix together,
you will at the end get data in here. So then the data is a function of this displacement
or the increment around x, y, z, three axis, the angle change and then the dx dy, the differential
translation changes. The whole definition of this differential transformation is fully defined by the
vector d and the theta, but of course the results are here. I like this way because all the changes
of like the velocity change in the Cartesian space is based on the translation and the rotation.
But the whole way when we start from the delta p, then we get the derivative of p, then we come to
best to get the dh, the differential of the transformation matrix and then we get this
theta. So this is the way you get this and you know how to calculate the transformation of get
the differential transformation matrix, how you can get the differential motion to calculate the
velocity in Cartesian space. Even though I think on the last maybe 20 slides you see a lot of
equations, somehow I feel this is easier to understand than the first time we see
dh parameters. So all of these are only based on the, I think let's see, so based on some limits,
the previous knowledge about e-mathematics and then is some knowledge from how to present
the rotation two ways, angle axis and the x, y, z Euler angle and then get to and some basic
mathematics, the derivative and differential of one function. So this is the end.
Then the last video we will start to talk about Jacobian.