#include <Mathematics/FootConstraintsAsLinearSystem.hh>
Public Member Functions | |
FootConstraintsAsLinearSystem (SimplePluginManager *aSPM, CjrlHumanoidDynamicRobot *aHS) | |
~FootConstraintsAsLinearSystem () | |
int | ComputeLinearSystem (std::vector< CH_Point > aVecOfPoints, MAL_MATRIX(&A, double), MAL_MATRIX(&B, double), MAL_VECTOR(&C, double)) |
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 (MAL_MATRIX(&A, double), 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, |
CjrlHumanoidDynamicRobot * | aHS | ||
) |
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.
References ComputeLinearSystem(), PatternGeneratorJRL::ComputeConvexHull::DoComputeConvexHull(), FindSimilarConstraints(), CjrlFoot::getAnklePositionInLocalFrame(), CjrlFoot::getSoleSize(), i, j, CjrlHumanoidDynamicRobot::leftFoot(), CjrlHumanoidDynamicRobot::rightFoot(), PatternGeneratorJRL::LinearConstraintInequality_s::SimilarConstraints, and PatternGeneratorJRL::LinearConstraintInequality_s::StartingTime.
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.
References MAL_MATRIX.
|
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, |
MAL_MATRIX &, double | , | ||
MAL_MATRIX &, double | , | ||
MAL_VECTOR &, double | |||
) |
Compute the linear system
References a, b, c, i, MAL_MATRIX, MAL_MATRIX_RESIZE, MAL_RET_A_by_B, MAL_VECTOR, MAL_VECTOR_DIM, MAL_VECTOR_RESIZE, and n.
Referenced by BuildLinearConstraintInequalities().
int FootConstraintsAsLinearSystem::FindSimilarConstraints | ( | MAL_MATRIX &, double | , |
std::vector< int > & | SimilarConstraints | ||
) |
Find Similar Constraints
References i, MAL_MATRIX, and MAL_MATRIX_NB_ROWS.
Referenced by BuildLinearConstraintInequalities().