pytransform3d.transformations.dual_quaternion_sclerp

pytransform3d.transformations.dual_quaternion_sclerp(start, end, t)[source]

Screw linear interpolation (ScLERP) for dual quaternions.

Although linear interpolation of dual quaternions is possible, this does not result in constant velocities. If you want to generate interpolations with constant velocity, you have to use ScLERP.

Parameters:
startarray-like, shape (8,)

Unit dual quaternion to represent start pose: (pw, px, py, pz, qw, qx, qy, qz)

endarray-like, shape (8,)

Unit dual quaternion to represent end pose: (pw, px, py, pz, qw, qx, qy, qz)

tfloat in [0, 1]

Position between start and goal

Returns:
dq_tarray, shape (8,)

Interpolated unit dual quaternion: (pw, px, py, pz, qw, qx, qy, qz)

See also

pq_slerp

An alternative approach is spherical linear interpolation (SLERP) with position and quaternion.

References

Kavan, Collins, O’Sullivan, Zara: Dual Quaternions for Rigid Transformation Blending (2006), Technical report, Trinity College Dublin, https://users.cs.utah.edu/~ladislav/kavan06dual/kavan06dual.pdf

Examples using pytransform3d.transformations.dual_quaternion_sclerp

Dual Quaternion Interpolation

Dual Quaternion Interpolation

Dual Quaternion Interpolation