Function franka::limitRate(double, double, double, double, double, double, const std::array<double, 16>&, const std::array<double, 16>&, const std::array<double, 6>&, const std::array<double, 6>&)

Function Documentation

std::array<double, 16> franka::limitRate(double max_translational_velocity, double max_translational_acceleration, double max_translational_jerk, double max_rotational_velocity, double max_rotational_acceleration, double max_rotational_jerk, const std::array<double, 16> &O_T_EE_c, const std::array<double, 16> &last_O_T_EE_c, const std::array<double, 6> &last_O_dP_EE_c, const std::array<double, 6> &last_O_ddP_EE_c)

Limits the rate of a desired Cartesian pose considering the limits provided.

Note

FCI filters must be deactivated to work properly.

Parameters:
  • max_translational_velocity[in] Maximum translational velocity.

  • max_translational_acceleration[in] Maximum translational acceleration.

  • max_translational_jerk[in] Maximum translational jerk.

  • max_rotational_velocity[in] Maximum rotational velocity.

  • max_rotational_acceleration[in] Maximum rotational acceleration.

  • max_rotational_jerk[in] Maximum rotational jerk.

  • O_T_EE_c[in] Commanded pose of the current time step.

  • last_O_T_EE_c[in] Commanded pose of the previous time step.

  • last_O_dP_EE_c[in] Commanded end effector twist of the previous time step.

  • last_O_ddP_EE_c[in] Commanded end effector acceleration of the previous time step.

Throws:

std::invalid_argument – if an element of O_T_EE_c is infinite or NaN.

Returns:

Rate-limited desired pose.