16 #include <RBDyn/Jacobian.h>
25 struct PolyTorqueBound;
36 virtual void updateNrVars(
const std::vector<rbd::MultiBody> & mbs,
const SolverData & data)
override;
37 virtual void update(
const std::vector<rbd::MultiBody> & mbs,
38 const std::vector<rbd::MultiBodyConfig> & mbc,
42 virtual std::string nameBound()
const override;
43 virtual std::string descBound(
const std::vector<rbd::MultiBody> & mbs,
int line)
override;
46 virtual int beginVar()
const override;
48 virtual const Eigen::VectorXd & Lower()
const override;
49 virtual const Eigen::VectorXd & Upper()
const override;
55 int lambdaBegin, nrLambda;
60 Eigen::VectorXd XL_, XU_;
62 std::vector<ContactData> cont_;
70 void computeTorque(
const Eigen::VectorXd & alphaD,
const Eigen::VectorXd & lambda);
71 const Eigen::VectorXd & torque()
const;
72 void torque(
const std::vector<rbd::MultiBody> & mbs, std::vector<rbd::MultiBodyConfig> & mbcs)
const;
75 virtual void updateNrVars(
const std::vector<rbd::MultiBody> & mbs,
const SolverData & data)
override;
77 void computeMatrix(
const std::vector<rbd::MultiBody> & mb,
const std::vector<rbd::MultiBodyConfig> & mbcs);
80 virtual std::string nameGenInEq()
const override;
81 virtual std::string descGenInEq(
const std::vector<rbd::MultiBody> & mbs,
int line)
override;
84 virtual int maxGenInEq()
const override;
86 virtual const Eigen::MatrixXd & AGenInEq()
const override;
87 virtual const Eigen::VectorXd & LowerGenInEq()
const override;
88 virtual const Eigen::VectorXd & UpperGenInEq()
const override;
95 const std::string & bodyName,
97 std::vector<Eigen::Vector3d> points,
98 const std::vector<FrictionCone> & cones);
119 size_t updateIter_ = 0;
134 virtual void update(
const std::vector<rbd::MultiBody> & mbs,
135 const std::vector<rbd::MultiBodyConfig> & mbcs,
138 const Eigen::MatrixXd
matrix()
const {
return A_; }
140 Eigen::MatrixXd contactMatrix()
const;
142 const rbd::ForwardDynamics fd()
const;
165 const std::vector<SpringJoint> & springs);
172 const std::vector<SpringJoint> & springs);
175 virtual void update(
const std::vector<rbd::MultiBody> & mbs,
176 const std::vector<rbd::MultiBodyConfig> & mbc,
203 virtual void update(
const std::vector<rbd::MultiBody> & mbs,
204 const std::vector<rbd::MultiBodyConfig> & mbcs,