Function franka::limitRate(double, double, double, double, double, double, double, double)

Function Documentation

double franka::limitRate(double upper_limits_velocity, double lower_limits_velocity, double max_acceleration, double max_jerk, double commanded_position, double last_commanded_position, double last_commanded_velocity, double last_commanded_acceleration)

Limits the rate of a desired joint position considering the limits provided.

Note

FCI filters must be deactivated to work properly.

Parameters:
  • upper_limits_velocity[in] Upper limits of allowed velocity.

  • lower_limits_velocity[in] Lower limits of allowed velocity.

  • max_acceleration[in] Maximum allowed acceleration.

  • max_jerk[in] Maximum allowed jerk.

  • commanded_position[in] Commanded joint position of the current time step.

  • last_commanded_position[in] Commanded joint position of the previous time step.

  • last_commanded_velocity[in] Commanded joint velocity of the previous time step.

  • last_commanded_acceleration[in] Commanded joint acceleration of the previous time step.

Throws:

std::invalid_argument – if commanded_position is infinite or NaN.

Returns:

Rate-limited desired joint position.