pytransform3d.transformations.transform_sclerp#

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

Screw linear interpolation (ScLERP) for transformation matrices.

We compute the difference between two poses \(\boldsymbol{T}_{AB} = \boldsymbol{T}^{-1}_{WA}\boldsymbol{T}_{WB}\), convert it to exponential coordinates \(Log(\boldsymbol{T}_{AB}) = \mathcal{S}\theta_{AB}\), compute a fraction of it \(t\mathcal{S}\theta_{AB}\) with \(t \in [0, 1]\), and use the exponential map to concatenate the fraction of the difference \(\boldsymbol{T}_{WA} Exp(t\mathcal{S}\theta_{AB})\).

Parameters:
startarray-like, shape (4, 4)

Transformation matrix to represent start pose.

endarray-like, shape (4, 4)

Transformation matrix to represent end pose.

tfloat in [0, 1]

Position between start and goal.

Returns:
A2B_tarray, shape (4, 4)

Interpolated pose.

See also

dual_quaternion_sclerp

ScLERP for dual quaternions.

pq_slerp

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