Limits
Limits implemented as inequality constraints in the IK problem.
- class pink.limits.ConfigurationLimit(model, config_limit_gain=0.5)
Subspace of the tangent space restricted to joints with position limits.
- config_limit_gain
gain between 0 and 1 to steer away from configuration limits. It is described in “Real-time prioritized kinematic control under inequality constraints for redundant manipulators” (Kanoun, 2012). More details in this writeup.
- model
Robot model the limit applies to.
- joints
Joints with configuration limits.
- projection_matrix
Projection from tangent space to subspace with configuration-limited joints.
- compute_qp_inequalities(q, dt)
Compute the configuration-dependent velocity limits.
Those limits are returned as:
\[{q \ominus q_{min}} \leq \Delta q \leq {q_{max} \ominus q}\]where \(q \in {\cal C}\) is the robot’s configuration and \(\Delta q \in T_q({\cal C})\) is the displacement in the tangent space at \(q\). These limits correspond to the derivative of \(q_{min} \leq q \leq q_{max}\).
- class pink.limits.VelocityLimit(model)
Subset of velocity-limited joints in a robot model.
- indices
Tangent indices corresponding to velocity-limited joints.
- joints
List of velocity-limited joints.
- model
Robot model.
- projection_matrix
Projection from tangent space to subspace with velocity-limited joints.
- compute_qp_inequalities(q, dt)
Compute the configuration-dependent velocity limits.
Those limits are defined by:
\[-\mathrm{d}t v_{max} \leq \Delta q \leq \mathrm{d}t v_{max}\]where \(v_{max} \in {\cal T}\) is the robot’s velocity limit vector and \(\Delta q \in T_q({\cal C})\) is the displacement computed by the inverse kinematics.
Configuration limits
Subset of bounded joints associated with a robot model.
- class pink.limits.configuration_limit.ConfigurationLimit(model, config_limit_gain=0.5)
Subspace of the tangent space restricted to joints with position limits.
- config_limit_gain
gain between 0 and 1 to steer away from configuration limits. It is described in “Real-time prioritized kinematic control under inequality constraints for redundant manipulators” (Kanoun, 2012). More details in this writeup.
- model
Robot model the limit applies to.
- joints
Joints with configuration limits.
- projection_matrix
Projection from tangent space to subspace with configuration-limited joints.
- compute_qp_inequalities(q, dt)
Compute the configuration-dependent velocity limits.
Those limits are returned as:
\[{q \ominus q_{min}} \leq \Delta q \leq {q_{max} \ominus q}\]where \(q \in {\cal C}\) is the robot’s configuration and \(\Delta q \in T_q({\cal C})\) is the displacement in the tangent space at \(q\). These limits correspond to the derivative of \(q_{min} \leq q \leq q_{max}\).
Velocity limits
Subset of velocity-limited joints in a robot model.
- class pink.limits.velocity_limit.VelocityLimit(model)
Subset of velocity-limited joints in a robot model.
- indices
Tangent indices corresponding to velocity-limited joints.
- joints
List of velocity-limited joints.
- model
Robot model.
- projection_matrix
Projection from tangent space to subspace with velocity-limited joints.
- compute_qp_inequalities(q, dt)
Compute the configuration-dependent velocity limits.
Those limits are defined by:
\[-\mathrm{d}t v_{max} \leq \Delta q \leq \mathrm{d}t v_{max}\]where \(v_{max} \in {\cal T}\) is the robot’s velocity limit vector and \(\Delta q \in T_q({\cal C})\) is the displacement computed by the inverse kinematics.