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>&)
Defined in File rate_limiting.h
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.