enum mrpt::poses::TInterpolatorMethod

Overview

Type to select the interpolation method in CPoseInterpolatorBase derived classes. More…

#include <CPoseInterpolatorBase.h>

enum TInterpolatorMethod
{
    imSpline      = 0,
    imLinear2Neig,
    imLinear4Neig,
    imSSLLLL,
    imSSLSLL,
    imLinearSlerp,
    imSplineSlerp,
};

Detailed Documentation

Type to select the interpolation method in CPoseInterpolatorBase derived classes.

  • imSpline: Spline interpolation using 4 points (2 before + 2 after the query point).

  • imLinear2Neig: Linear interpolation between the previous and next neighbor.

  • imLinear4Neig: Linear interpolation using the linear fit of the 4 closer points (2 before + 2 after the query point).

  • imSSLLLL : Use Spline for X and Y, and Linear Least squares for Z, yaw, pitch and roll.

  • imSSLSLL : Use Spline for X, Y and yaw, and Linear Least squares for Z, pitch and roll.

  • imLinearSlerp: Linear for X,Y,Z, Slerp for 3D angles.

  • imSplineSlerp: Spline for X,Y,Z (using 4 points, as imSpline), Slerp for 3D angles.

In 3D, all methods but the Slerp ones interpolate yaw, pitch and roll independently, which only approximates the rotation (exact for rotations about a fixed vertical axis) and is wrong near |pitch|=90 deg, where these angles jump. Use imLinearSlerp or imSplineSlerp for general 3D rotations.