Struct VelocityLimit
Defined in File velocity_limit.hpp
Inheritance Relationships
Base Type
public roboplan::Constraints(Struct Constraints)
Struct Documentation
-
struct VelocityLimit : public roboplan::Constraints
Velocity limit constraint for inverse kinematics.
Implements joint velocity constraints to ensure velocities stay within robot limits. The constraint is formulated as: l <= G*dq <= u where G is an identity matrix, l = -dt*v_max, and u = dt*v_max.
Public Functions
-
VelocityLimit(const Oink &oink, double dt, const Eigen::VectorXd &v_max)
Constructor with dimension validation.
- Parameters:
oink – The Oink solver this constraint will be used with (provides num_variables).
dt – Time step for the velocity integration (seconds)
v_max – Maximum velocity vector for each group joint (rad/s or m/s). Size must equal oink.num_variables.
-
virtual int getNumConstraints(const Scene &scene) const override
Get the number of constraint rows (number_variables)
- Parameters:
scene – The scene containing robot state and model
- Returns:
Number of constraint rows
-
virtual tl::expected<void, std::string> computeQpConstraints(const Scene &scene, Eigen::Ref<Eigen::MatrixXd> constraint_matrix, Eigen::Ref<Eigen::VectorXd> lower_bounds, Eigen::Ref<Eigen::VectorXd> upper_bounds) const override
Compute QP constraint matrices for velocity limits.
- Parameters:
scene – The scene containing robot state and model
constraint_matrix – Output constraint matrix G (number_variables × number_variables)
lower_bounds – Output lower bounds vector (number_variables)
upper_bounds – Output upper bounds vector (number_variables)
- Returns:
void on success, error message on failure
-
VelocityLimit(const Oink &oink, double dt, const Eigen::VectorXd &v_max)