RoboDK Euler Angles: Calculating Z-Y′-Z″ Robot Poses

Jason IP1 min read
Other ManufacturerRoboticsTechnical Reference
Licensed PE Working through this on a live machine? A Maine-licensed engineer can take it from here — included with IMD hardware, by the hour for everything else. Book an engineer

RoboDK represents the stated Doosan robot orientation as an intrinsic Euler sequence: Z, then Y′, then Z″. The prime marks indicate that each later rotation uses an axis carried by the rotations already applied, rather than the original fixed axis.

Interpret the primed axes

Start with the original Z axis for the first rotation. After that rotation, Y′ is the rotated Y axis. After the Y′ rotation, Z″ is the Z axis in the twice-rotated frame. Therefore, Y′ does not mean the original Y axis.

Sequence term Axis used
Z Original Z axis
Y′ Y axis after the first Z rotation
Z″ Z axis after the preceding Z and Y′ rotations

Construct the RoboDK pose

For translation coordinates x, y, and z, and rotation angles ra, rb, and rc, construct the pose with the stated transform sequence:

transl(x,y,z) * rotz(ra) * roty(rb) * rotz(rc)

Here, ra is the first Z rotation, rb is the subsequent Y′ rotation, and rc is the final Z″ rotation.

Verify the axis interpretation

Evaluate the pose in sequence when checking a conversion: apply the first Z rotation, identify the resulting Y′ axis, apply the second rotation about that axis, and then identify the resulting Z″ axis for the final rotation. If an implementation instead applies all three angles about the original fixed axes, it is not following the stated Z-Y′-Z″ interpretation.

FAQ

What does Y′ mean in RoboDK Euler angles?

Y′ is the Y axis after the first Z rotation. The second angle rotates about that transformed axis, not the original Y axis.

How do I calculate a Z-Y′-Z″ pose in RoboDK?

Use transl(x,y,z) * rotz(ra) * roty(rb) * rotz(rc), where the three angles correspond to Z, Y′, and Z″ in that order.

Is Z″ the original Z axis?

No. Z″ is the Z axis after the preceding Z and Y′ rotations have changed the working frame.

Back to blog