Difference between revisions of "Denavit-Hartenberg parameters"

From Robotics
Jump to: navigation, search
Line 56: Line 56:
 
The angle <math>\alpha_n</math> corresponds to the angle about the [[Common normal|common normal]] to align the <math>z_{n-1}</math>-axis with the new <math>z_{n}</math>-axis
 
The angle <math>\alpha_n</math> corresponds to the angle about the [[Common normal|common normal]] to align the <math>z_{n-1}</math>-axis with the new <math>z_{n}</math>-axis
 
|}
 
|}
 +
  
 
;[[File:Hint.png|10px]] '''<span style="color:#ff0000">Special case</span>'''
 
;[[File:Hint.png|10px]] '''<span style="color:#ff0000">Special case</span>'''
 +
:[[File:dh-params-specialcase.png|right|200px]]
 
:It can occur that there is an offset ...
 
:It can occur that there is an offset ...
  

Revision as of 17:27, 16 November 2015

← Back: Assigning coordinate frames Overview: Denavit-Hartenberg Convention Next: A-matrices
margin-top: 10px

When the coordinate frames are assigned to a manipulator, the transformation between each two consecutive frames has to be described. As before for the assignment of the coordinate frames, the manipulator has to be in its zero position as well for the determination of the parameters. The figure on the right shows the two coordinate frames K_{n-1} and K_n in their zero position and the corresponding common normal represented by a dashed red line. To describe the transformation of K_n with respect to K_{n-1}, the 4 Denavit-Hartenberg parameters \theta_n, d_n, l_n and \alpha_n are used. These parameters describe the static transformation within link L_n, but as well include the dynamic influence of the joint parameter of J_n, that could change over time. The figure illustrates the parameters, that are defined as follows:

\theta_n

The angle \theta_n is defined as the angle about the z_{n-1}-axis to align x_{n-1} with the new x_{n}-axis.


Dh-param-theta.png
In case of a revolute joint
The Denavit-Hartenberg parameters should include the dynamic influence of the joints. So as a revolute joint J_n located in the coordinate frame K_{n-1} allows for a rotation about the z_{n-1}-axis, the joint parameter (here \theta_J) has to be included in the Denavit-Hartenberg parameter \theta_n.
The figure on the right shows a link L_n in dark grey with the two coordinate frames K_{n-1} at its beginning and K_{n} at the distal joint. The coordinate frames are shown in their zero position. The angle \theta_L describes the rotation about the z_{n-1}-axis to align the two x-axes.
So in case of a revolute joint, there is not only the static rotation by \theta_L, but as well the dynamic rotation angle \theta_J caused by the joint itself. Thus the parameter \theta_n is the sum of the static and the dynamic rotation:

\theta_n = \theta_L + \theta_J
Hint: In the Robotics course at the University of Paderborn, cases with a static rotation \theta_L for a revolute joint are usually avoided. So for revolute joints, there is only the actual joint parameter as \theta_n and the x-axes are aligned in their zero position: \theta_n = \theta_J
d_n

d_n is the offset or translation, respectively, along the z_{n-1}-axis from the origin of K_{n-1} to the intersection with the common normal.


Dh-param-dn.png
In case of a prismatic joint
If the joint J_n is a prismatic joint, its degree of freedom is the translation along the z_{n-1}-axis. In these cases, similar to \theta_n for a revolute joint,d_n consists of a static and of a dynamic offset. Like can be seen in the figure on the right, the static offset d_L is based on the geometric structure of the link and also valid in the zero position. The dynamic offset d_J corresponds to the joint parameter and so to the displacement of joint J_n and is zero in the manipulator's zero position. The displacement is illustrated in dark grey in the right part of the figure.

d_n=d_L+d_J
Hint: In the Robotics course at the University of Paderborn, the parameter d_n is usually just defined as k, which corresponds to the complete offset along the z_{n-1} axis. So no distinction between the static and the dynamic part is made for reasons of simplification: d_n = k.
If there is actually a static offset, then this certain offset is just assumed as the lower limit for k.
Dh-param-dn-upb.png
l_n

The parameter l_n corresponds to the length of the common normal which is equivalent to the translation along it.

If the related joint J_n is a revolute joint, l_n can also be regarded as the radius of the rotation about the z_{n-1}-axis

\alpha_n

The angle \alpha_n corresponds to the angle about the common normal to align the z_{n-1}-axis with the new z_{n}-axis


Hint.png Special case
Dh-params-specialcase.png
It can occur that there is an offset ...

The 4 parameters can rather be determined by just regarding the two coordinate frames, their axes and the common normal like visualized above. To completely understand the parameters and their meaning, the figure below illustrates what the parameters actually describe. \theta, d, l and \alpha define 4 transformations that are applied consecutively to transform the coordinate frame K_{n-1} to K_n. First a rotation about the x_{n-1}-axis by \alpha is applied followed by a translation along it by l. Then the coordinate frame is rotated about the z_{n-1}-axis by \theta. Finally a translation along the z_{n-1}-axis leads to the next coordinate frame K_n. Some further aspects about the meaning and the use of the 4 parameters are described in the following article about the A-matrices.

Dh-params-steps.png

The video at the end of this page explains the assignment of the coordinate frames and the determination of the 4 parameters very vividly and comprehensibly.

Hint: Notation of the Denavit-Hartenberg parameters
The Denavit-Hartenberg parameters are usually noted in a table with columns for the parameters and a row for each link or transformation, respectively.
T\thetadl\alpha
1\theta_1d_1l_1\alpha_1
...
Example: Determination of the Denavit-Hartenberg parameters
Dh-ex-params.png

The table below contains the Denavit-Hartenberg parameters for the manipulator shown in the figure on the right. For further information about the already assigned coordinate frames, have a look on the examples of the previous articles. The necessary lengths of certain parts of the manipulator are indicated by the variables k_1 to k_7.

T\thetadl\alpha
1\theta_1k_1-k_2-90^\circ
2\theta_2k_300^\circ
30^\circk_40-90^\circ
4-90^\circ+\theta_4k_5k_6180^\circ
5\theta_50k_70^\circ


Multimedial educational material

Multimedia.png

https://www.youtube.com/watch?v=qZB3_gKBwf8 Video: Assignment of coordinate frames and determination of the parameters (in German)