Expand description
Rate limits of the Franka Emika Robot (FER, FCI v5), ported from libfranka 0.9.2
include/franka/rate_limiting.h.
The constants in the parent module are the FR3 values of libfranka 0.21.2; the FER
uses different ones, most notably kTolNumberPacketsLost = 3.0 (the FR3 expects no packet
loss and uses 0.0), which shows up in every velocity limit. The limiting functions
themselves are unchanged — they take their bounds as arguments — so a v5 control loop calls
the same super::limit_rate_torques, super::limit_rate_joint_velocities, … with the constants from
this module.
Unlike the FR3, the FER’s joint velocity limits are flat: there is no position-dependent
envelope and no URDF to read one from, so MAX_JOINT_VELOCITY is used directly in
both directions.
Constants§
- DELTA_T
- Sample time constant. Port of
franka::kDeltaT(rate_limiting.h:18). Same as on FR3. - FACTOR_
CARTESIAN_ ROTATION_ POSE_ INTERFACE - Factor for the definition of rotational limits using the Cartesian pose interface. Port
of
franka::kFactorCartesianRotationPoseInterface(rate_limiting.h:35). Same as on FR3. - JOINT_
POSITION_ LIMITS - Joint position limits (lower, upper), rad: the
<limit>ofjoint1..7in the FER URDF the crate compiles in (crate::model::FER_URDF,tests/data/fer.urdf). - LIMIT_
EPS - Epsilon value for checking limits. Port of
franka::kLimitEps(rate_limiting.h:22). Same as on FR3. - MAX_
ELBOW_ ACCELERATION - Maximum elbow acceleration. Port of
franka::kMaxElbowAcceleration(rate_limiting.h:98). - MAX_
ELBOW_ JERK - Maximum elbow jerk. Port of
franka::kMaxElbowJerk(rate_limiting.h:94). - MAX_
ELBOW_ VELOCITY - Maximum elbow velocity. Port of
franka::kMaxElbowVelocity(rate_limiting.h:102-103). - MAX_
JOINT_ ACCELERATION - Maximum joint acceleration. Port of
franka::kMaxJointAcceleration(rate_limiting.h:51-53). - MAX_
JOINT_ JERK - Maximum joint jerk. Port of
franka::kMaxJointJerk(rate_limiting.h:45-47). - MAX_
JOINT_ VELOCITY - Maximum joint velocity. Port of
franka::kMaxJointVelocity(rate_limiting.h:57-64). - MAX_
ROTATIONAL_ ACCELERATION - Maximum rotational acceleration. Port of
franka::kMaxRotationalAcceleration(rate_limiting.h:85). - MAX_
ROTATIONAL_ JERK - Maximum rotational jerk. Port of
franka::kMaxRotationalJerk(rate_limiting.h:81). - MAX_
ROTATIONAL_ VELOCITY - Maximum rotational velocity. Port of
franka::kMaxRotationalVelocity(rate_limiting.h:89-90). - MAX_
TORQUE_ RATE - Maximum torque rate. Port of
franka::kMaxTorqueRate(rate_limiting.h:39-41). - MAX_
TRANSLATIONAL_ ACCELERATION - Maximum translational acceleration. Port of
franka::kMaxTranslationalAcceleration(rate_limiting.h:72). - MAX_
TRANSLATIONAL_ JERK - Maximum translational jerk. Port of
franka::kMaxTranslationalJerk(rate_limiting.h:68). - MAX_
TRANSLATIONAL_ VELOCITY - Maximum translational velocity. Port of
franka::kMaxTranslationalVelocity(rate_limiting.h:76-77). - MIN_
ELBOW_ VELOCITY - Minimum elbow velocity, i.e.
-MAX_ELBOW_VELOCITY. - MIN_
JOINT_ VELOCITY - Minimum joint velocity, i.e.
-MAX_JOINT_VELOCITY. - NORM_
EPS - Epsilon value for limiting Cartesian accelerations/jerks or not. Port of
franka::kNormEps(rate_limiting.h:26). Same as on FR3. - TOL_
NUMBER_ PACKETS_ LOST - Number of packets lost considered for the definition of velocity limits. When a packet
is lost, FCI assumes a constant acceleration model. Port of
franka::kTolNumberPacketsLost(rate_limiting.h:31) —3.0on the FER,0.0on the FR3.