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

Function Documentation

std::array<double, 7> franka::limitRate(const std::array<double, 7> &upper_limits_velocity, const std::array<double, 7> &lower_limits_velocity, const std::array<double, 7> &max_acceleration, const std::array<double, 7> &max_jerk, const std::array<double, 7> &commanded_velocities, const std::array<double, 7> &last_commanded_velocities, const std::array<double, 7> &last_commanded_accelerations)

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

Note

FCI filters must be deactivated to work properly.

Parameters:
  • upper_limits_velocity[in] Per-joint upper limits of allowed velocity.

  • lower_limits_velocity[in] Per-joint lower limits of allowed velocity.

  • max_acceleration[in] Per-joint maximum allowed acceleration.

  • max_jerk[in] Per-joint maximum allowed jerk.

  • commanded_velocities[in] Commanded joint velocity of the current time step.

  • last_commanded_velocities[in] Commanded joint velocities of the previous time step.

  • last_commanded_accelerations[in] Commanded joint accelerations of the previous time step.

Throws:

std::invalid_argument – if commanded_velocities are infinite or NaN.

Returns:

Rate-limited vector of desired joint velocities.