1#ifndef ROBOTOC_JOINT_TORQUES_UPPER_LIMIT_HPP_
2#define ROBOTOC_JOINT_TORQUES_UPPER_LIMIT_HPP_
94 Eigen::VectorXd umax_;
Base class for constraint components.
Definition: constraint_component_base.hpp:34
Data used in constraint components. Composed by slack, dual (Lagrange multiplier),...
Definition: constraint_component_data.hpp:17
Constraint on the upper limits of the joint torques.
Definition: joint_torques_upper_limit.hpp:22
~JointTorquesUpperLimit()
Destructor.
KinematicsLevel kinematicsLevel() const override
Checks the kinematics level of the constraint component.
JointTorquesUpperLimit(const Robot &robot)
Constructor.
void condenseSlackAndDual(const ContactStatus &contact_status, ConstraintComponentData &data, SplitKKTMatrix &kkt_matrix, SplitKKTResidual &kkt_residual) const override
Condenses the slack and dual variables, i.e., factorizes the condensed Hessians and KKT residuals....
JointTorquesUpperLimit(JointTorquesUpperLimit &&) noexcept=default
Default move constructor.
void allocateExtraData(ConstraintComponentData &data) const override
Allocates extra data in ConstraintComponentData.
Definition: joint_torques_upper_limit.hpp:63
void evalDerivatives(Robot &robot, const ContactStatus &contact_status, ConstraintComponentData &data, const SplitSolution &s, SplitKKTResidual &kkt_residual) const override
Computes the derivatives of the priaml residual, i.e., the Jacobian of the inequality constraint,...
void evalConstraint(Robot &robot, const ContactStatus &contact_status, ConstraintComponentData &data, const SplitSolution &s) const override
Computes the primal residual, residual in the complementary slackness, and the log-barrier function o...
JointTorquesUpperLimit(const JointTorquesUpperLimit &)=default
Default copy constructor.
void expandSlackAndDual(const ContactStatus &contact_status, ConstraintComponentData &data, const SplitDirection &d) const override
Expands the slack and dual, i.e., computes the directions of the slack and dual variables from the di...
int dimc() const override
Returns the size of the constraint.
JointTorquesUpperLimit & operator=(const JointTorquesUpperLimit &)=default
Default copy operator.
JointTorquesUpperLimit()
Default constructor.
void setSlack(Robot &robot, const ContactStatus &contact_status, ConstraintComponentData &data, const SplitSolution &s) const override
Sets the slack variables of each constraint components.
bool isFeasible(Robot &robot, const ContactStatus &contact_status, ConstraintComponentData &data, const SplitSolution &s) const override
Checks whether the current solution s is feasible or not.
Dynamics and kinematics model of robots. Wraps pinocchio::Model and pinocchio::Data....
Definition: robot.hpp:32
Newton direction of the solution to the optimal control problem split into a time stage.
Definition: split_direction.hpp:20
The KKT matrix split into a time stage.
Definition: split_kkt_matrix.hpp:18
KKT residual split into each time stage.
Definition: split_kkt_residual.hpp:18
Solution to the optimal control problem split into a time stage.
Definition: split_solution.hpp:20
Definition: constraint_component_base.hpp:17
KinematicsLevel
Kinematics level of the constraint component used in ConstraintComponentBase.
Definition: constraint_component_base.hpp:24