docs: def interpolate(T0, T1, t):
          """Return an interpolation of two RigidTransforms.
  
          Parameters
          ----------
          T0 : :obj:`RigidTransform`
              The first RigidTransform to interpolate.
  
          T1 : :obj:`RigidTransform`
              The second RigidTransform to interpolate.
  
          t : float
              The interpolation step in [0,1]. 0 favors T0, 1 favors T1.
  
          Returns
          -------
          :obj:`RigidTransform`
              The interpolated RigidTransform.
  
          Raises
          ------
          ValueError
              If the to_frame of the two RigidTransforms are not identical.
          """
          if T0.to_frame != T1.to_frame:
              raise ValueError('Cannot interpolate between 2 transforms with different to frames! Got T1 {0} and T2 {1}'.format(T0.to_frame, T1.to_frame))
          dq0 = T0.dual_quaternion
          dq1 = T1.dual_quaternion
  
          dqt = DualQuaternion.interpolate(dq0, dq1, t)
          from_frame = "{0}_{1}_{2}".format(T0.from_frame, T1.from_frame, t)
          return RigidTransform.transform_from_dual_quaternion(dqt, from_frame, T0.to_frame)