Difference between revisions of "Denavit-Hartenberg parameters"
(10 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
{{Navigation|before=[[Assigning coordinate frames]]|overview=[[Denavit-Hartenberg Convention]]|next=[[A-matrices]]}} | {{Navigation|before=[[Assigning coordinate frames]]|overview=[[Denavit-Hartenberg Convention]]|next=[[A-matrices]]}} | ||
+ | <table style="width:100%"><td style="width:50%">{{Exercise|Selftest: Denavit-Hartenberg parameters}}</td><td style="width:50%">{{Matlab|MATLAB: Denavit Hartenberg parameters}}</td></table> | ||
− | [[File:dh-params-general.png|right| | + | [[File:dh-params-general.png|right|200px|margin-top: 10px]] |
When the [[Assigning coordinate frames|coordinate frames]] are assigned to a manipulator, the transformation between each two consecutive frames has to be described. As before for the [[Assigning coordinate frames|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 <math>K_{n-1}</math> and <math>K_n</math> in their zero position and the corresponding [[Common normal|common normal]] represented by a dashed red line. To describe the transformation of <math>K_n</math> with respect to <math>K_{n-1}</math>, the 4 Denavit-Hartenberg parameters <math>\theta_n</math>, <math>d_n</math>, <math>l_n</math> and <math>\alpha_n</math> are used. These parameters describe the static transformation within link <math>L_n</math>, but as well include the dynamic influence of the joint parameter of <math>J_n</math>, that could change over time. The figure illustrates the parameters, that are defined as follows: | When the [[Assigning coordinate frames|coordinate frames]] are assigned to a manipulator, the transformation between each two consecutive frames has to be described. As before for the [[Assigning coordinate frames|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 <math>K_{n-1}</math> and <math>K_n</math> in their zero position and the corresponding [[Common normal|common normal]] represented by a dashed red line. To describe the transformation of <math>K_n</math> with respect to <math>K_{n-1}</math>, the 4 Denavit-Hartenberg parameters <math>\theta_n</math>, <math>d_n</math>, <math>l_n</math> and <math>\alpha_n</math> are used. These parameters describe the static transformation within link <math>L_n</math>, but as well include the dynamic influence of the joint parameter of <math>J_n</math>, that could change over time. The figure illustrates the parameters, that are defined as follows: | ||
+ | <onlyinclude><div style="clear:both;"></div></onlyinclude> | ||
{|cellpadding="10" | {|cellpadding="10" | ||
|- | |- | ||
Line 48: | Line 50: | ||
|style="background-color:#e8e8e8;"|<math>l_n</math> | |style="background-color:#e8e8e8;"|<math>l_n</math> | ||
|style="background-color:#f0f0f0;text-align:left;"| | |style="background-color:#f0f0f0;text-align:left;"| | ||
− | The parameter <math>l_n</math> corresponds to the length of the [[Common normal|common normal]] | + | The parameter <math>l_n</math> corresponds to the translation along the new <math>x_n</math>-axis. The translation distance is equivalent to the length of the [[Common normal|common normal]]. |
+ | |||
+ | It has to be kept in mind, that <math>x_n</math> and the common normal can be antiparallel and that, in such cases, a positive translation is directed in the negative direction of the common normal. | ||
If the related joint <math>J_n</math> is a revolute joint, <math>l_n</math> can also be regarded as the radius of the rotation about the <math>z_{n-1}</math>-axis | If the related joint <math>J_n</math> is a revolute joint, <math>l_n</math> can also be regarded as the radius of the rotation about the <math>z_{n-1}</math>-axis | ||
Line 54: | Line 58: | ||
|style="background-color:#e8e8e8;"|<math>\alpha_n</math> | |style="background-color:#e8e8e8;"|<math>\alpha_n</math> | ||
|style="background-color:#f8f8f8;text-align:left;"| | |style="background-color:#f8f8f8;text-align:left;"| | ||
− | 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 new <math>x_n</math>-axis, which is collinear to the [[Common normal|common normal]], to align the <math>z_{n-1}</math>-axis with the new <math>z_{n}</math>-axis. So the rotation direction for positive angles depends on the direction of <math>x_n</math>. |
|} | |} | ||
Line 61: | Line 65: | ||
:The 4 parameters can rather be determined by just regarding the two coordinate frames, their axes and the [[Common normal|common normal]] like visualized above. To completely understand the parameters and their meaning, the figure below illustrates what the parameters actually describe. <math>\theta_n</math>, <math>d_n</math>, <math>l_n</math> and <math>\alpha_n</math> define 4 [[Transformations|transformations]] that are applied [[Combinations of transformations|consecutively]] to transform the coordinate frame <math>K_{n-1}</math> to <math>K_n</math>. First a rotation about the <math>x_{n-1}</math>-axis by <math>\alpha_n</math> is applied followed by a translation along the same axis by <math>l_n</math>. Then the coordinate frame is rotated about the <math>z_{n-1}</math>-axis by <math>\theta_n</math>. Finally a translation along the <math>z_{n-1}</math>-axis by <math>d_n</math> leads to the next coordinate frame <math>K_n</math>. Some further aspects about the meaning and the use of the 4 parameters are described in the following article about the [[A-matrices]]. | :The 4 parameters can rather be determined by just regarding the two coordinate frames, their axes and the [[Common normal|common normal]] like visualized above. To completely understand the parameters and their meaning, the figure below illustrates what the parameters actually describe. <math>\theta_n</math>, <math>d_n</math>, <math>l_n</math> and <math>\alpha_n</math> define 4 [[Transformations|transformations]] that are applied [[Combinations of transformations|consecutively]] to transform the coordinate frame <math>K_{n-1}</math> to <math>K_n</math>. First a rotation about the <math>x_{n-1}</math>-axis by <math>\alpha_n</math> is applied followed by a translation along the same axis by <math>l_n</math>. Then the coordinate frame is rotated about the <math>z_{n-1}</math>-axis by <math>\theta_n</math>. Finally a translation along the <math>z_{n-1}</math>-axis by <math>d_n</math> leads to the next coordinate frame <math>K_n</math>. Some further aspects about the meaning and the use of the 4 parameters are described in the following article about the [[A-matrices]]. | ||
− | [[File:dh-params-steps.png|center| | + | [[File:dh-params-steps.png|center|950px]] |
− | The | + | The videos at the end of this page explain the [[Assigning coordinate frames|assignment of the coordinate frames]] and the determination of the 4 parameters very vividly and comprehensibly. |
{{SpecialHint | {{SpecialHint | ||
Line 84: | Line 88: | ||
The table below contains the Denavit-Hartenberg parameters for the manipulator shown in the figure on the right. For further information about the already [[Assigning coordinate frames|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 <math>k_1</math> to <math>k_7</math>. | The table below contains the Denavit-Hartenberg parameters for the manipulator shown in the figure on the right. For further information about the already [[Assigning coordinate frames|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 <math>k_1</math> to <math>k_7</math>. | ||
− | + | <table style="background-color: #444444;margin-top:15px"> | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | <table style="background-color: #444444"> | ||
<tr style="background-color: #e2e2e2;height:30px"><th style="width:50px">'''T'''</th><th style="width:100px"><math>\theta_n</math></th><th style="width:100px"><math>d_n</math></th><th style="width:100px"><math>l_n</math></th><th style="width:100px"><math>\alpha_n</math></th></tr> | <tr style="background-color: #e2e2e2;height:30px"><th style="width:50px">'''T'''</th><th style="width:100px"><math>\theta_n</math></th><th style="width:100px"><math>d_n</math></th><th style="width:100px"><math>l_n</math></th><th style="width:100px"><math>\alpha_n</math></th></tr> | ||
<tr style="background-color: #444444;text-align:center"></tr> | <tr style="background-color: #444444;text-align:center"></tr> | ||
Line 100: | Line 98: | ||
</table> | </table> | ||
+ | Considerable aspects of this manipulator are: | ||
+ | * For the revolute joints <math>J_1</math>, <math>J_2</math> and <math>J_5</math> in zero position, there is no rotation around the <math>z</math>-axes necessary to align the <math>x</math>-axes. Thus <math>\theta_L</math> is zero in these cases and so the <math>\theta_n</math> parameters just contain the corresponding angles <math>\phi_n</math>. | ||
+ | * At the coordinate frame <math>K_4</math>, the <math>x</math>-axis changes its direction and is no longer collinear with the previous one. A rotation by <math>-90^\circ</math> about <math>z_3</math> is necessary to align <math>x_4</math> with <math>x_3</math>. As joint <math>J_4</math> is a revolute joint with joint parameter <math>\phi_4</math>, the corresponding <math>\theta_4</math> results in <math>\theta_4=-90^\circ+\phi_4</math>. | ||
+ | * <math>d_n=-k_2</math> as the translation is applied in negative direction along the <math>x_1</math>-axis. | ||
+ | * <math>d_3=k_4</math> is the only dynamic offset along the <math>z_{2}</math>-axis as the corresponding joint <math>J_3</math> is a prismatic joint. Like explained above, the whole offset along <math>z_{n-1}</math>, here indicated with <math>k_4</math>, is used as <math>d_n</math>-parameter in case of a prismatic joint. | ||
}} | }} | ||
− | + | {{Multimedia|Links= | |
− | |||
{{#iDisplay:https://www.youtube.com/embed/rA9tm0gTln8|560px|315px}} | {{#iDisplay:https://www.youtube.com/embed/rA9tm0gTln8|560px|315px}} | ||
− | + | {{#iDisplay:https://www.youtube.com/embed/qZB3_gKBwf8|560px|315px}} | |
− | {{ | ||
− | https://www.youtube.com/ | ||
}} | }} | ||
[[Category:Article]] | [[Category:Article]] | ||
[[Category:Denavit-Hartenberg]] | [[Category:Denavit-Hartenberg]] |
Latest revision as of 11:47, 14 January 2016
← Back: Assigning coordinate frames | Overview: Denavit-Hartenberg Convention | Next: A-matrices → |
|
|
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 and in their zero position and the corresponding common normal represented by a dashed red line. To describe the transformation of with respect to , the 4 Denavit-Hartenberg parameters , , and are used. These parameters describe the static transformation within link , but as well include the dynamic influence of the joint parameter of , that could change over time. The figure illustrates the parameters, that are defined as follows:
The angle is defined as the angle about the -axis to align with the new -axis.
| |||||
is the offset or translation, respectively, along the -axis from the origin of to the intersection with the common normal.
| |||||
The parameter corresponds to the translation along the new -axis. The translation distance is equivalent to the length of the common normal. It has to be kept in mind, that and the common normal can be antiparallel and that, in such cases, a positive translation is directed in the negative direction of the common normal. If the related joint is a revolute joint, can also be regarded as the radius of the rotation about the -axis | |||||
The angle corresponds to the angle about the new -axis, which is collinear to the common normal, to align the -axis with the new -axis. So the rotation direction for positive angles depends on the direction of . |
- Placement in the context of transformations
- 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. , , and define 4 transformations that are applied consecutively to transform the coordinate frame to . First a rotation about the -axis by is applied followed by a translation along the same axis by . Then the coordinate frame is rotated about the -axis by . Finally a translation along the -axis by leads to the next coordinate frame . Some further aspects about the meaning and the use of the 4 parameters are described in the following article about the A-matrices.
The videos at the end of this page explain the assignment of the coordinate frames and the determination of the 4 parameters very vividly and comprehensibly.
|
Example: Determination of the Denavit-Hartenberg parameters
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 to .
Considerable aspects of this manipulator are:
|
Multimedial educational material
|