WEBVTT - autoGenerated
00:00:00.000 --> 00:00:06.000
Hello everyone, welcome to the third lecture of introduction to robotics.
00:00:06.000 --> 00:00:13.000
Today we will first recap DHT parameters, and we will play around with this robot to
00:00:13.000 --> 00:00:16.000
write the DHT parameters of this robot arm.
00:00:16.000 --> 00:00:24.000
And then I will introduce the other method to describe robot model, this one called URDF.
00:00:24.000 --> 00:00:30.000
And then the next two videos will introduce the very important inverse kinematics.
00:00:30.000 --> 00:00:33.000
Okay, so let's start.
00:00:33.000 --> 00:00:39.000
We call DHT parameters as the universal minimal robot description, because we only use four
00:00:39.000 --> 00:00:45.000
parameters to describe a poor frame transformation, to describe the transformations between two
00:00:45.000 --> 00:00:52.000
links, and then do remember which four parameters.
00:00:52.000 --> 00:01:00.000
Link length, link twist, joint angle, and link offset.
00:01:00.000 --> 00:01:08.000
This is the four parameters, and we need to define DHT parameters based on frame transformation.
00:01:08.000 --> 00:01:17.000
So before we determine the values of DHT parameters, we need to define all the frames of each link.
00:01:17.000 --> 00:01:23.000
So DHT parameters are used to describe the serial chain of transformations, and if you
00:01:23.000 --> 00:01:30.000
define all the coordinates of this robot of each link, and then you determine all the
00:01:30.000 --> 00:01:37.000
DHT parameters, then we can get a unique description of the n-effector, the location of the n-effector.
00:01:37.000 --> 00:01:44.000
But we also know DHT parameters, they are very ambiguous, so first they have two versions,
00:01:44.000 --> 00:01:47.000
the modified version and the classical version.
00:01:47.000 --> 00:01:54.000
In this slide, in this lecture, I will always focus on the classical version.
00:01:54.000 --> 00:02:00.000
Then in your assignment sheet, when you submit your assignment sheet, please clearly say
00:02:00.000 --> 00:02:05.000
write which version of DHT parameters you are using.
00:02:05.000 --> 00:02:10.000
If you don't write the DHT parameter version, then I will think you make a mistake.
00:02:10.000 --> 00:02:14.000
You should specify the version.
00:02:14.000 --> 00:02:22.000
When we define the frames of each link for one axis, they sometimes have two possible
00:02:22.000 --> 00:02:28.000
directions, then this will make the DHT parameters different.
00:02:28.000 --> 00:02:34.000
And also DHT parameters only can be used to describe the kinematic chain, they cannot
00:02:34.000 --> 00:02:39.000
describe the kinematic tree if the robot is very complex, it is not a single chain.
00:02:39.000 --> 00:02:44.000
And DHT parameters cannot directly work on this robot.
00:02:44.000 --> 00:02:49.000
And also we use DHT parameters, they only tell the link information, but we cannot know
00:02:49.000 --> 00:02:51.000
the appearance of this link.
00:02:51.000 --> 00:02:58.000
We don't know the initial distribution of this link, and also the collision space, and
00:02:58.000 --> 00:03:05.000
also the dynamics, and whether there are some sensors installed on this robot.
00:03:05.000 --> 00:03:07.000
So all these information are lost.
00:03:07.000 --> 00:03:16.000
So that's the reason why we also use other robot description files, URDF, also Clada,
00:03:16.000 --> 00:03:19.000
I will introduce this later.
00:03:19.000 --> 00:03:23.000
Now let's see how to define the joint coordinates.
00:03:23.000 --> 00:03:32.000
The first thing we need to do is we need to define the frame 0, CS0, it is the stationary
00:03:32.000 --> 00:03:37.000
origin, so at the base of the manipulator.
00:03:37.000 --> 00:03:42.000
And then we can use the rotation axis to define the z-axis.
00:03:42.000 --> 00:03:53.000
Like in here, joint 1 rotates around this axis, so z0 is pointing up.
00:03:53.000 --> 00:04:01.000
We always set the direction of the end-effector along the approach direction of the end-effector
00:04:01.000 --> 00:04:02.000
approach.
00:04:03.000 --> 00:04:12.000
Or sometimes we will set the end-effector z-axis as same as the last link z-axis.
00:04:12.000 --> 00:04:18.000
After we set all the z-axis, then we can find the x-axis, because x is the common normal
00:04:18.000 --> 00:04:21.000
of zi-1 and zi.
00:04:21.000 --> 00:04:29.000
Then after we know z and x, we can define y by the right-hand coordinate system.
00:04:30.000 --> 00:04:36.000
After we know all the frames of the link, then we can determine all the delta parameters.
00:04:36.000 --> 00:04:41.000
The first two parameters are used to describe the link structure.
00:04:41.000 --> 00:04:45.000
These are two constant values due to the construction of this link.
00:04:45.000 --> 00:04:53.000
A means the short distance between the two z-axis along xi-axis.
00:04:53.000 --> 00:05:03.000
So ai is the link length, and alpha is the rotation angle between two z-axis along xi-axis.
00:05:03.000 --> 00:05:07.000
And then they also have two parameters used to describe the relative distance and the
00:05:07.000 --> 00:05:12.000
angle of two neighboring links.
00:05:12.000 --> 00:05:16.000
And c and d, they can be wearable or fixed.
00:05:16.000 --> 00:05:21.000
This depends on whether this joint is rotational or translational.
00:05:21.000 --> 00:05:26.000
If this joint is a real root joint, then center is wearable and d is fixed.
00:05:26.000 --> 00:05:33.000
If this joint is a prismatic joint, then d is wearable and then center is fixed.
00:05:33.000 --> 00:05:37.000
So this is the recap of four delta parameters.
00:05:37.000 --> 00:05:45.000
And then before we see this example about Puma, we will look at our robot toy first.
00:05:45.000 --> 00:05:51.000
Now we're going to find the delta parameters of a quick shot of this robot toy.
00:05:51.000 --> 00:05:57.000
To remember the four joints of this toy, I will try to rotate it again.
00:05:57.000 --> 00:05:58.000
So let's see the first joint.
00:05:58.000 --> 00:06:07.000
The first joint, it was broken, but basically it is more like this way.
00:06:07.000 --> 00:06:11.000
So the rotation axis is the z-direction in here.
00:06:11.000 --> 00:06:24.000
And then if we see the, make it closer, and if we see the second joint, let's move.
00:06:24.000 --> 00:06:28.000
So you see joint two is move along the x-axis in here.
00:06:28.000 --> 00:06:34.000
And then let's see the third joint.
00:06:34.000 --> 00:06:39.000
The third joint is also rotating around the x-axis.
00:06:39.000 --> 00:06:42.000
So these two rotation axis are parallel.
00:06:42.000 --> 00:06:52.000
And then let's see the third joint, oh no, this is the fourth joint.
00:06:52.000 --> 00:06:58.000
So you see the rotation angle of the joint four is the y-axis.
00:06:58.000 --> 00:07:00.000
Then now let's go back to the slides.
00:07:00.000 --> 00:07:03.000
Let's see how to define the frames.
00:07:03.000 --> 00:07:06.000
The first step is we need to define the origin frame.
00:07:06.000 --> 00:07:08.000
We need to know where is the base.
00:07:08.000 --> 00:07:14.000
So we will choose the base at the origin of the base of the manipulator.
00:07:14.000 --> 00:07:19.000
Then we will choose here, inside of here in the center.
00:07:19.000 --> 00:07:26.000
And then the zero will be the rotation axis of joint one.
00:07:26.000 --> 00:07:29.000
So this points out.
00:07:29.000 --> 00:07:33.000
And the one will be the rotation axis of joint two.
00:07:33.000 --> 00:07:37.000
So we can choose point right or point left.
00:07:37.000 --> 00:07:41.000
In this case, I just choose a point right.
00:07:41.000 --> 00:07:42.000
It's ambiguous.
00:07:42.000 --> 00:07:50.000
And then for z2, the third joint rotation axis is parallel to the second joint.
00:07:50.000 --> 00:07:57.000
So we choose z2, point at the same direction of z1.
00:07:57.000 --> 00:07:58.000
And then let's see z3.
00:07:58.000 --> 00:08:01.000
So z3 is rotation like this way.
00:08:01.000 --> 00:08:08.000
Then we also can choose z3 point into the plane or out of the plane.
00:08:08.000 --> 00:08:18.000
Because in the state of the robot, in this figure, the n-effector is in the right side.
00:08:18.000 --> 00:08:21.000
And so we choose z3 point into the plane.
00:08:21.000 --> 00:08:26.000
Then this can have the same direction along the n-effector.
00:08:26.000 --> 00:08:31.000
Then z4 is the joint rotation axis of the n-effector.
00:08:31.000 --> 00:08:38.000
So we always choose the z-axis along the approach direction of the n-effector.
00:08:38.000 --> 00:08:42.000
Then this also can make z3 and z4 parallel.
00:08:42.000 --> 00:08:46.000
So this is the four z-axis.
00:08:46.000 --> 00:08:52.000
OK, I'm a little bit worried about how the camera will follow down.
00:08:52.000 --> 00:08:55.000
OK, let's continue.
00:08:55.000 --> 00:08:58.000
Then let's see the four x-axis.
00:08:58.000 --> 00:09:03.000
So we remember x-axis are the common normal of two z-axis.
00:09:03.000 --> 00:09:10.000
And x-axis will interact, the xi-axis interacts with zi-axis.
00:09:10.000 --> 00:09:14.000
Then the common normal of z1 and z0.
00:09:14.000 --> 00:09:20.000
So xi is perpendicular to the plane of z1 and z0.
00:09:20.000 --> 00:09:25.000
Now we choose z1 pointing out of the plane.
00:09:25.000 --> 00:09:28.000
So z1 is in this direction.
00:09:28.000 --> 00:09:33.000
And then afterwards, we can use the right-hand row to determine where is y.
00:09:33.000 --> 00:09:44.000
You see, if I say this is z, in here, this is z, and then this direction is x, then y is in this direction, right?
00:09:44.000 --> 00:09:54.000
So then in this case, we can see, so this is x1, and then my sum is z1, so y1 will point up, right?
00:09:54.000 --> 00:10:10.000
Then we know x1, and for x1, it is also ambiguous, then in this special case, we just choose x0 is in the direction of x1.
00:10:10.000 --> 00:10:15.000
And then after we know x0 and z0, we can get a y0.
00:10:15.000 --> 00:10:18.000
Then let's go to the z2 x2.
00:10:18.000 --> 00:10:29.000
So x2 should be perpendicular to the plane of z2 and z1, and also x2 should intersect with z2.
00:10:29.000 --> 00:10:41.000
Then we can see z2 in here, it is pointing up, we choose x2 pointing up in this case, and then we can define y2.
00:10:41.000 --> 00:10:57.000
Then next for x3, x3 should be the common normal of z2 and z3, and then we also choose x3 pointing up, then we make x2 and x3, they have the same direction.
00:10:57.000 --> 00:11:08.000
Then the next one is x4, after we know x4, then z4 and x4 is also perpendicular to the plane of z3 and z4.
00:11:08.000 --> 00:11:16.000
Then we choose z4 also in the direction of x3 and x2, then we can get y4.
00:11:16.000 --> 00:11:32.000
So after this, we can know all the directions of all the axes, and you see the origin is a little bit different, you see from the frame 0, the frame 0 is at the base of the robot.
00:11:32.000 --> 00:12:00.000
And x1, now it falls down, okay, and then x1, let's see the robot, so the base should be in the center of the robot in here, but the center of the robot is maybe in middle, but the joint 2, it is in here.
00:12:00.000 --> 00:12:15.000
So they have some distance between z1 and z0, therefore in the figure you can see this color, and they have some distance between two z-axis.
00:12:15.000 --> 00:12:24.000
After this, we can start to write the DHT parameters one by one, and now let's first start.
00:12:24.000 --> 00:12:42.000
So we will list the DHT parameter table first, we will start from alpha, this is A, and alpha, and D, and theta, then we will link 1, 2, 3, 4, here I have 4 links, and now first we want to know A.
00:12:42.000 --> 00:13:09.000
So A is the distance between z0 and z1 along x1 axis. Then if we measure this robot, it's something like from the middle of the robot to the center of joint 2, it's like 2 centimeters, so I will say maybe around 20 millimeters.
00:13:09.000 --> 00:13:37.000
And then we want to know the angle between the two z-axis, z0 and z1. Now the x1 is the rotation axis, so x1 is the rotation axis, and then we want to move from z0 to z1, z0 is in this direction, 0 to 0, 1.
00:13:37.000 --> 00:13:54.000
But you see, this is the positive direction, right? But in this figure from z0 to z1, it is the clockwise direction, so the alpha will be minus 90 degrees.
00:13:54.000 --> 00:14:24.000
And then next we want to know D, this is the distance between two x, a value, two x-axis, along the z0 axis, then it's like the height from the base of the robot to the center of the joint 2, it's like 10 millimeters, no not 10 centimeters, so this is 100 millimeters in here.
00:14:24.000 --> 00:14:51.000
And then for theta, theta is the direction from z0 to z1, theta is the angle from x0 to x1 along z0. But the x0 and x1, they're parallel, they are at the same direction.
00:14:51.000 --> 00:15:11.000
So theta will be 0 in this case, then let's see the output, so this is 20. So theta is the angle from x0 and x1 around z0 direction.
00:15:11.000 --> 00:15:30.000
Then because this one is a parallel to joint, so theta will be a variable, then theta, now we set theta 1 in this case, so we will get the first link's theta 2 parameter, then let's see the second link.
00:15:30.000 --> 00:15:51.000
We need to know a2, so a2 is the distance from z1 to z2 along x2 direction, right? From z1 to z2 along x2 direction.
00:15:51.000 --> 00:16:19.000
Then so this is the distance from the joint 2 to joint 3, it is almost 16 centimeters. In the slides I write 160 millimeters, okay good, and then this is alpha, so alpha is the joint angle between z1 to z2 around x2.
00:16:19.000 --> 00:16:42.000
But in this case z1 and z2, they are parallel, these two rotation axis are parallel, so alpha will be 0. And then next d, d is the distance of 2x axis along z1 axis, 2x axis x1 and x2 along z1 axis.
00:16:42.000 --> 00:17:11.000
But you see x2 and x1, they can intersect, so the d will also be a 0 in this case. And then let's see theta, will there have a theta 2? Of course, because joint 2, joint 3 and joint 4, they are all relative joint, you can imagine theta in here, for each link there will have theta 1, theta 2, theta 3, theta 4.
00:17:11.000 --> 00:17:38.000
Okay, then let's see the result of the of the second link. And then let's see the third link. Oh, sorry, my camera, okay, I will move my camera in this place, okay, that would be good.
00:17:38.000 --> 00:18:07.000
Okay, let's continue. So now we want to know the data parameter of the third link. So similar we can get alpha from z2 to z3 along x axis, right? From z2 to z3 along x3 axis.
00:18:07.000 --> 00:18:34.000
Using x, z2 and z3 they intersect, so here a is 0. And then we need to get alpha, so x3 is the rotation axis, then from z2 to z3, you see z2 to z3 is alpha 3. This is positive. Oh no, you cannot see my right hand.
00:18:34.000 --> 00:19:01.000
Okay, from z2, this is x3 axis and from z2 to z3, this is positive angle, right? So this is 90 degree of alpha 3. And the d in here, do you see any distance between two x axis, x2 and x3 along z2 axis? Yes.
00:19:01.000 --> 00:19:27.000
So along z2 axis, they have a small distance between x2 and x3, and we can measure it. So this is x2, the center of x2, then this is the center of x3, so it's like how two centimeters distance between these two joints. This is the joint offset. Let's find like two centimeters.
00:19:27.000 --> 00:19:48.000
Okay, and then the next is zeta, zeta, they must have zeta 3, so this is zeta 3. Okay, and then the real value is 28. And then the next one is link 4. Then link 4, this one is quite easy because basically frame 4 and frame 3, they are same.
00:19:48.000 --> 00:20:12.000
And then because most of them are same, then we can say a will be 0 and alpha will be 0, then d, what is d? d is the distance from x3 to x4 along z3, right? Then this is the distance of d.
00:20:12.000 --> 00:20:36.000
Right? Then we can also measure maybe from here to here, it's like almost 25 centimeters. So then we can get the final dH parameters of the whole four links. And then because in this figure, this is a special case.
00:20:36.000 --> 00:21:00.000
And in here, zeta 1 and zeta 3 and zeta 4, they are 0. And only zeta 2, it is negative 90 degrees, you need to figure out by yourself. And after we write all the dH parameters, so we can get the rotation matrixes and also the transformation matrices, then we can calculate the configuration of an effector.
00:21:01.000 --> 00:21:26.000
In here, you see, we can short this configuration in here. So here I have cosine theta 2, cosine theta 3, then we can short it then to use the sum of the angle formula. Then finally, we can get a shorter version of the configuration of t6.
00:21:26.000 --> 00:21:40.000
Okay, so this is the whole part of this toy. It's a pity you cannot play around with it. But that's okay, I hope you can understand. If you cannot understand, just email me.
00:21:41.000 --> 00:22:01.000
Then let's see the other robot, PR10, the 7 degrees of freedom version. Before we see this robot, I want to show you the 6 degrees of freedom PR10 robot in terms. Then I will show you all the joints, the rotation of each joint.
00:22:01.000 --> 00:22:23.000
So first, let's see the first joint. This is a rotation joint, and you can see the rotation in the axis is along this direction. And let's see the next joint. Do you see? So the rotation axis is in this direction.
00:22:23.000 --> 00:22:51.000
And then the next elbow joint, the rotation axis, apparently these two rotation axis are parallel. And then the next one, so this is the rotation axis, is in this direction. So the rotation direction of E2 joint are parallel to the S1 joint.
00:22:51.000 --> 00:23:11.000
And then the next one is the first wrist joint, and this joint is also parallel to the E1 joint, and also S2 joint. Right? E1, S2. Okay, go back. And also the W1 joint, so these three joints are parallel.
00:23:11.000 --> 00:23:32.000
And then the next one is, let's see, W2. Do you see it? So this joint is rotation around this direction. Okay, this is the 6th degree of freedom version. The 7th degree of freedom, there have one more rotation axis, rotation joint in here.
00:23:32.000 --> 00:23:54.000
Then if you look at this one, I hope you can figure out the whole rotation, the motion of each joint by yourself. Then you can see this is the length of this robot, and you try to define all the z-axis of each joint, and define the x-axis by yourself. Then you get y-axis.
00:23:54.000 --> 00:24:18.000
Then afterwards, because now you see we define all these joints, this joint x0, x1, x3, their intersects, their parallel, and they're on the same line. So it's very easy, you can get both are zero in this case. So please figure out this by yourself.
00:24:18.000 --> 00:24:47.000
Okay, now go back to lecture 3. Here also have an example of Puma 560 robot. You see this is the Puma robot, and it also have 6th degree of freedom. I hope you can find the joints by yourself. So in here, this is the rotation joint, and this is joint 1, and this is the joint 2. Joint 2 can move up and move up or down.
00:24:47.000 --> 00:25:04.000
And this is joint 3 also move up and down. And then you can pay attention to the wrist now. They have a rotation joint.
00:25:04.000 --> 00:25:14.000
Okay, let's see the two focus on the wrist again.
00:25:14.000 --> 00:25:38.000
Okay, so after you see this video, if you haven't understand the six joints, then you can watch this video again. I hope you can define all the joints or the frames or the joint rotation axis by yourself. And in the model, this is the second lecture.
00:25:38.000 --> 00:26:00.000
And in the end of the lecture, you will find here is a practical example using Puma 560 robot. And this is written by my former colleague Larsa. You can find the very detailed explanation about how to build the frames and how to define the DHT parameters.
00:26:00.000 --> 00:26:20.000
Then you can understand it. Then after you know the DHT parameters, you can get everything in here. Then this DHT parameter is also in the classical version. And after you know these parameters, then we can get T6, we can get the location of the n-effector.
00:26:20.000 --> 00:26:35.000
T1, T6, you can imagine T6 is a quite complicated equation after all these parameters. Okay, so this is the end of the review part. I hope you can help much practice from the exercise.