#include <Mathematics/FootConstraintsAsLinearSystem.hh>
Public Member Functions | |
FootConstraintsAsLinearSystem (SimplePluginManager *aSPM, PinocchioRobot *aPR) | |
~FootConstraintsAsLinearSystem () | |
int | ComputeLinearSystem (std::vector< CH_Point > aVecOfPoints, Eigen::MatrixXd &A, Eigen::MatrixXd &B, Eigen::VectorXd &C) |
int | BuildLinearConstraintInequalities (std::deque< FootAbsolutePosition > &LeftFootAbsolutePositions, std::deque< FootAbsolutePosition > &RightFootAbsolutePositions, std::deque< LinearConstraintInequality_t * > &QueueOfLConstraintInequalities, double ConstraintOnX, double ConstraintOnY) |
int | BuildLinearConstraintInequalities2 (std::deque< FootAbsolutePosition > &LeftFootAbsolutePositions, std::deque< FootAbsolutePosition > &RightFootAbsolutePositions, std::deque< LinearConstraintInequality_t * > &QueueOfLConstraintInequalities, double ConstraintOnX, double ConstraintOnY) |
int | FindSimilarConstraints (Eigen::MatrixXd &A, std::vector< int > &SimilarConstraints) |
virtual void | CallMethod (std::string &Method, std::istringstream &Args) |
This class generates matrix representation of linear constraint based on foot position. It handles a stack of constraint on a sliding mode for QP solving.
FootConstraintsAsLinearSystem::FootConstraintsAsLinearSystem | ( | SimplePluginManager * | aSPM, |
PinocchioRobot * | aPR | ||
) |
Constructor
FootConstraintsAsLinearSystem::~FootConstraintsAsLinearSystem | ( | ) |
Destructor
int FootConstraintsAsLinearSystem::BuildLinearConstraintInequalities | ( | std::deque< FootAbsolutePosition > & | LeftFootAbsolutePositions, |
std::deque< FootAbsolutePosition > & | RightFootAbsolutePositions, | ||
std::deque< LinearConstraintInequality_t * > & | QueueOfLConstraintInequalities, | ||
double | ConstraintOnX, | ||
double | ConstraintOnY | ||
) |
Build a queue of constraint Inequalities based on a list of Foot Absolute Position.
int PatternGeneratorJRL::FootConstraintsAsLinearSystem::BuildLinearConstraintInequalities2 | ( | std::deque< FootAbsolutePosition > & | LeftFootAbsolutePositions, |
std::deque< FootAbsolutePosition > & | RightFootAbsolutePositions, | ||
std::deque< LinearConstraintInequality_t * > & | QueueOfLConstraintInequalities, | ||
double | ConstraintOnX, | ||
double | ConstraintOnY | ||
) |
Build a queue of constraint Inequalities based on a list of Foot Absolute Position.
|
virtual |
Reimplement the interface of SimplePluginManager
[in] | Method | The method to be called. |
[in] | Args | Arguments of the methods. |
int FootConstraintsAsLinearSystem::ComputeLinearSystem | ( | std::vector< CH_Point > | aVecOfPoints, |
Eigen::MatrixXd & | A, | ||
Eigen::MatrixXd & | B, | ||
Eigen::VectorXd & | C | ||
) |
Compute the linear system \({\bf A}{\bf x} \geq {\bf b}\) associated with the set of points specified by aVecOfPoints. aVecOfPoints is supposed to represent the convex hull of the robot contact points with the ground.
int FootConstraintsAsLinearSystem::FindSimilarConstraints | ( | Eigen::MatrixXd & | A, |
std::vector< int > & | SimilarConstraints | ||
) |
Find Similar Constraints