Function franka::cartesianLowpassFilter

Function Documentation

std::array<double, 16> franka::cartesianLowpassFilter(double sample_time, std::array<double, 16> y, std::array<double, 16> y_last, double cutoff_frequency)

Applies a first-order low-pass filter to the translation and spherical linear interpolation to the rotation of a transformation matrix which represents a Cartesian Motion.

Parameters:
  • sample_time[in] Sample time constant

  • y[in] Current Cartesian transformation matrix to be filtered

  • y_last[in] Cartesian transformation matrix from the previous time step

  • cutoff_frequency[in] Cutoff frequency of the low-pass filter

Throws:
  • std::invalid_argument – if elements of y is infinite or NaN.

  • std::invalid_argument – if elements of y_last is infinite or NaN.

  • std::invalid_argument – if cutoff_frequency is zero, negative, infinite or NaN.

  • std::invalid_argument – if sample_time is negative, infinite or NaN.

Returns:

Filtered Cartesian transformation matrix.