The fundamental difference between Modified DH (MDH) and Standard DH (SDH) parameters lies primarily in where coordinate frames are attached to the robot links and the specific sequence of transformations used to relate consecutive frames. Both conventions provide a systematic way to model robot kinematics using homogeneous transformation matrices, but their methodological details lead to distinct parameterizations.
Understanding DH Parameters
Denavit-Hartenberg (DH) parameters are a widely used convention in robotics to describe the spatial relationship between two rigid bodies (links) connected by a joint. They simplify the process of assigning coordinate frames to each link of a robot manipulator and deriving its forward kinematics. There are four parameters for each link-joint pair:
- a (link length): The distance along the common normal between consecutive Z-axes.
- α (link twist): The angle about the common normal to align consecutive Z-axes.
- d (joint offset): The distance along the Z-axis of the previous frame to the common normal.
- θ (joint angle): The angle about the Z-axis of the previous frame to align consecutive X-axes.
While the parameters themselves are similar, their specific definition and the procedure for assigning coordinate frames differ between the Standard and Modified conventions.
Standard DH (SDH) Parameters
The Standard DH convention, often associated with the original Denavit and Hartenberg paper and textbooks like Craig's, follows a specific set of rules for frame assignment and transformation:
- Coordinate Frame Placement:
- The Z-axis (z_i) of frame i is aligned with the axis of joint i+1. This means the Z-axis of frame
i-1
is along jointi
. - The X-axis (x_i) of frame i is placed along the common normal between the
z_i-1
axis and thez_i
axis. If the Z-axes are parallel,x_i
is chosen arbitrarily but consistently (e.g., perpendicular to both). - The origin of frame i is located at the intersection of the
z_i-1
axis and the common normal (x_i
).
- The Z-axis (z_i) of frame i is aligned with the axis of joint i+1. This means the Z-axis of frame
- Order of Transformations:
To transform a point from frame i to frame i-1 (or vice-versa in matrix multiplication), the sequence of operations is typically:- Rotate
θ_i
about thez_i-1
axis (R_z(θ)). - Translate
d_i
along thez_i-1
axis (T_z(d)). - Translate
a_i
along the newx_i
axis (T_x(a)). - Rotate
α_i
about the newx_i
axis (R_x(α)).
This sequence is often represented as:T = R_z(θ) * T_z(d) * T_x(a) * R_x(α)
.
- Rotate
Modified DH (MDH) Parameters
The Modified DH convention, often attributed to Khalil and Kleinfinger (or sometimes Hayati), provides an alternative approach to frame assignment and transformation order.
- Coordinate Frame Placement:
- The Z-axis (z_i) of frame i is aligned with the axis of joint i. This means the Z-axis of frame
i
is along jointi
. - The X-axis (x_i) of frame i is placed along the common normal between the
z_i
axis and thez_i+1
axis. If the Z-axes are parallel,x_i
is chosen arbitrarily but consistently. - The origin of frame i is located at the intersection of the
z_i
axis and the common normal (x_i
).
- The Z-axis (z_i) of frame i is aligned with the axis of joint i. This means the Z-axis of frame
- Order of Transformations:
The sequence of operations to transform from frame i-1 to frame i is different:- Rotate
α_i-1
about thex_i-1
axis (R_x(α)). - Translate
a_i-1
along thex_i-1
axis (T_x(a)). - Rotate
θ_i
about the newz_i
axis (R_z(θ)). - Translate
d_i
along the newz_i
axis (T_z(d)).
This sequence is often represented as:T = R_x(α) * T_x(a) * R_z(θ) * T_z(d)
. Note that theα
anda
parameters here often relate to the previous link, whileθ
andd
relate to the current joint, depending on the specific indexing convention used.
- Rotate
Key Differences at a Glance
The following table summarizes the primary distinctions between the two conventions:
Feature | Standard DH (SDH) | Modified DH (MDH) |
---|---|---|
Z-axis Assignment | z_i aligns with joint i+1 (next joint) |
z_i aligns with joint i (current joint) |
X-axis Definition | Common normal between z_i-1 and z_i |
Common normal between z_i and z_i+1 |
Frame Origin Location | Intersection of z_i-1 and x_i |
Intersection of z_i and x_i |
Transformation Order | R_z(θ) → T_z(d) → T_x(a) → R_x(α) |
R_x(α) → T_x(a) → R_z(θ) → T_z(d) |
Common Reference | Denavit & Hartenberg (1955), Craig's Robotics | Khalil & Kleinfinger, Hayati, some robotics texts |
Link-Frame Relation | Frame i is attached to link i but describes joint i+1 . |
Frame i is attached to link i and describes joint i . |
Practical Implications and Considerations
- Consistency is Key: Regardless of which convention is chosen, it is crucial to apply it consistently throughout the entire robot's kinematic chain. Mixing conventions will lead to incorrect kinematic models.
- Software and Libraries: Many robotics software packages and libraries (e.g., in MATLAB, ROS) may implicitly use one convention over the other. It's important to understand which one is being used when integrating with existing tools.
- Simplicity for Specific Robot Types: Some robotic arm configurations might be simpler to model using one convention over the other. For instance, MDH can sometimes result in simpler parameter tables for robots with many parallel or orthogonal axes.
- Historical Context: SDH is often considered the "classic" approach and is widely taught, while MDH offers an alternative that can sometimes be more intuitive for specific types of robot designs.
Ultimately, both Standard and Modified DH parameters are effective tools for robot kinematics, differing mainly in their conventions for coordinate system placement and the order of elementary transformations. The choice between them often depends on personal preference, the specific robot architecture, or adherence to a particular textbook or software standard.