LinkedIn Transcript If you pick up any of the standard textbooks about robotics, you will find reference to Denavit and Hartenberg notation. So, the Denavit and Hartenberg notation is particularly applicable for this class of mechanism. Now in most of the standard textbooks. People start off with introducing this particular notation.
|Published (Last):||15 September 2014|
|PDF File Size:||11.69 Mb|
|ePub File Size:||17.3 Mb|
|Price:||Free* [*Free Regsitration Required]|
LinkedIn Transcript If you pick up any of the standard textbooks about robotics, you will find reference to Denavit and Hartenberg notation.
So, the Denavit and Hartenberg notation is particularly applicable for this class of mechanism. Now in most of the standard textbooks. People start off with introducing this particular notation. Personally, I find the notation somewhat complex and not particularly intuitive. A key aspect of Denavit-Hartenberg notation is that each joint in the robot is described simply by 4 parameters. Each joint is attached via a link to the previous joint. So here, we can see joint 1 which is connected to link 1 which is connected to joint 2 which is connected to link 2.
Their links are rigid but the joints can move. Every joint connects to links and every link connects to joints except for the first and last link. The first link is the base of the robot which does not move refer to that as link 0 and the last link is the in-defector or is attached to the in-defector of the robot.
Fundamental to the Denavit-Hartenberg notation is we attach a coordinate frame to the far end of every link of the robot. Then, we describe the pose of that link frame with respect to the link frame of the previous joint. So, this is a relative pose and this is a concept we should be familiar with now.
This is a relative pose from coordinate frame J-1 to coordinate frame J. In the Denavit-Hartenberg notation, the link transform is represented by a homogeneous transformation matrix which is typically denoted by the letter A and it comprises a number of elementary transformations. It comprises a rotation around the Z axis. A translation along the Z axis. A translation along the X axis and a rotation around the X axis. It allows us to describe the relationship between the 2 link coordinate frames by simply 4 parameters, theta, D, A and alpha.
So here, we have in red link J-1 and the coordinate frame attached to link J So, we have moved from the frame J-1 to the frame J by applying 4 elementary transformations, 2 translations and 2 rotations.
For example, roll, pitch, yaw angles or Euler angles. How do we do it with just 4 numbers? Well, the reason this works is that the Denavit-Hartenberg notation requires some constraints on where we place the coordinate frames. The first constraint is that the X axis of frame J intersects the Z axis of frame J The second constraint is that the X axis of frame J is perpendicular to the Z axis of frame J Although, there are only 6 degrees of freedom in a relative pose. The axis of a rotational joint has to be aligned with the Z axis of that joints coordinate frame.
For the case of a prismatic or sliding joint, the motion must be along the Z axis. So, for rotational joint, rotate around the Z axis of the previous frame for a prismatic joint, we translate along the Z axis of the previous frame.
The relative pose from the frame of 1 link to the next is described by 4 elementary transformations. For an n-link robot, we can stack groups of these elementary transformations and each group contains 4 parameters which described the relationship between 1 link frame and the next. If the robot has got all revolute joints then, the joint angles correspond to the theta values shown here.
So, these are the joint variables. They change as the robot moves. Its second joint is prismatic. Since the first joint is revolute, we substitute Q1 in here.
For the second joint which is prismatic, we substitute Q2 in here. For a joint like this, theta 2 is a constant just like A2 and alpha 2. They are the function of the mechanical design of this particular robot. The great advantage of the Denavit-Hartenberg notation is that it allows us to very concisely describe a robot. So, for the 2 link robot, it can be described simply by a table like this. We have 1 column for each of the Denavit-Hartenberg parameters and we have one row for each joint of the robot.
The joint variables Q1 and Q2 lie in the theta column because they are revolute joints. The D values are all 0. There are no translations along the Z axis because this robot exists in a plain and the 2 link lengths appear in the A column and the alpha values are all equal to 0. So, this very compact table completely describes what we call the kinematics of the robot.
The robotics toolbox is very well set-up to deal with Denavit-Hartenberg notation. There are some additional parameters around the bottom which we will introduce shortly. Once I have this object then, I can perform some simple functions on it I can plot the robot with the configuration where the joint angles are perhaps 0. The robot object also has a forward kinematic method. So, I can apply that to the robot object. We can see here the X coordinate and the Y coordinate and this matrix over here represents the orientation of the in-defector of this robot.
For a more complex robot like the Puma , it can be described by a table like this. In the D column and the A column, we find a number of numbers which correspond to physical lengths on the Puma robot. The length of the upper arm, the length of the lower arm, some horizontal offsets and so on and the alpha column, we find a number of rotations which either pi on 2 or negative pi on 2 and they say something about the orientation of 1 joints rotational axis and the next joints rotational axis.
Now, I can plot that robot for a particular joint angle configuration. We can see that over here in the workspace. I can also bring up a teach pendant on this particular robot. Here, we see it. Now, I have got 6 sliders, 1 for each of its joints. I can rotate it above the waist. I can move the shoulder down. I can lift the elbow up. We can see the in-defector coordinate frame there and if I adjust the wrist joint angles, we can see the orientation of the in-defector changing.
The object has got a forward kinematic method. So, if I asked for the forward kinematics for a set of joint angles, perhaps the joint angles equal 0. This is the homogeneous transformation which represents the pose of the in-defector of this 6 axis Puma robot. They might be angles or they might be links in the case of a sliding joint.
A vector of joint angles, a vector of link offsets, a vector of link lengths and a vector of what are called link twists and a vector of joint types. Sigma is a vector that contains elements which are either R or P and they indicate whether the joint is revolute or prismatic. In the case of a revolute joint, we substitute the corresponding element of theta from the corresponding element of Q and for prismatic joint, we substitute the corresponding element of D from the corresponding element of Q.
All the other elements of D, theta, A and alpha are constant. We learn a method for succinctly describing the structure of a serial-link manipulator in terms of its Denavit-Hartenberg parameters, a widely used notation in robotics.
Denavit–Hartenberg parameters explained