#include <Mathematics/FootConstraintsAsLinearSystemForVelRef.hh>
Public Member Functions | |
FootConstraintsAsLinearSystemForVelRef (SimplePluginManager *aSPM, CjrlHumanoidDynamicRobot *aHS, double ConstraintOnX, double ConstraintOnY) | |
~FootConstraintsAsLinearSystemForVelRef () | |
int | ComputeLinearSystem (std::vector< CH_Point > aVecOfPoints, MAL_MATRIX(&A, double), MAL_MATRIX(&B, double), MAL_VECTOR(&C, double)) |
int | computeLinearSystem (std::vector< CH_Point > aVecOfPoints, MAL_MATRIX(&D, double), MAL_MATRIX(&Dc, double), SupportState_t PrwSupport) |
int | buildLinearConstraintInequalities (std::deque< FootAbsolutePosition > &LeftFootAbsolutePositions, std::deque< FootAbsolutePosition > &RightFootAbsolutePositions, std::deque< LinearConstraintInequalityFreeFeet_t > &QueueOfLConstraintInequalities, std::deque< LinearConstraintInequalityFreeFeet_t > &QueueOfFeetPosInequalities, ReferenceAbsoluteVelocity &RefVel, double StartingTime, double m_QP_N, SupportFSM *SupportFSM, SupportState_t CurrentSupport, SupportState_t &PrwSupport, std::deque< double > &PreviewedSupportAngles, int &NbOfConstraints) |
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.
FootConstraintsAsLinearSystemForVelRef::FootConstraintsAsLinearSystemForVelRef | ( | SimplePluginManager * | aSPM, |
CjrlHumanoidDynamicRobot * | aHS, | ||
double | ConstraintOnX, | ||
double | ConstraintOnY | ||
) |
int FootConstraintsAsLinearSystemForVelRef::buildLinearConstraintInequalities | ( | std::deque< FootAbsolutePosition > & | LeftFootAbsolutePositions, |
std::deque< FootAbsolutePosition > & | RightFootAbsolutePositions, | ||
std::deque< LinearConstraintInequalityFreeFeet_t > & | QueueOfLConstraintInequalities, | ||
std::deque< LinearConstraintInequalityFreeFeet_t > & | QueueOfFeetPosInequalities, | ||
ReferenceAbsoluteVelocity & | RefVel, | ||
double | StartingTime, | ||
double | m_QP_N, | ||
SupportFSM * | SupportFSM, | ||
SupportState_t | CurrentSupport, | ||
SupportState_t & | PrwSupport, | ||
std::deque< double > & | PreviewedSupportAngles, | ||
int & | NbOfConstraints | ||
) |
Build a queue of constraint Inequalities based on a list of Foot Absolute Position.
References computeLinearSystem(), PatternGeneratorJRL::FootHalfSize::getHalfHeight(), PatternGeneratorJRL::FootHalfSize::getHalfHeightDS(), PatternGeneratorJRL::FootHalfSize::getHalfWidth(), MAL_MATRIX_NB_ROWS, PatternGeneratorJRL::SupportFSM::setSupportState(), and PatternGeneratorJRL::LinearConstraintInequalityFreeFeet_s::StepNumber.
int PatternGeneratorJRL::FootConstraintsAsLinearSystemForVelRef::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.
void FootConstraintsAsLinearSystemForVelRef::CallMethod | ( | std::string & | Method, |
std::istringstream & | Args | ||
) | [virtual] |
Reimplement the interface of SimplePluginManager
[in] | Method,: | The method to be called. |
[in] | Args,: | Arguments of the methods. |
References PatternGeneratorJRL::FootHalfSize::setConstraints().
int PatternGeneratorJRL::FootConstraintsAsLinearSystemForVelRef::ComputeLinearSystem | ( | std::vector< CH_Point > | aVecOfPoints, |
MAL_MATRIX &, | double, | ||
MAL_MATRIX &, | double, | ||
MAL_VECTOR &, | double | ||
) |
Compute the linear system 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 FootConstraintsAsLinearSystemForVelRef::computeLinearSystem | ( | std::vector< CH_Point > | aVecOfPoints, |
MAL_MATRIX &, | double, | ||
MAL_MATRIX &, | double, | ||
SupportState_t | PrwSupport | ||
) |
Compute the linear system associated with the set of points specified by aVecOfPoints. aVecOfPoints is supposed can represent either the convex hull of the robot contact points with the ground or the constraints on the placement of the feet.
References MAL_MATRIX, MAL_MATRIX_RESIZE, and n.
Referenced by buildLinearConstraintInequalities().
int FootConstraintsAsLinearSystemForVelRef::FindSimilarConstraints | ( | MAL_MATRIX &, | double, |
std::vector< int > & | SimilarConstraints | ||
) |
Find Similar Constraints
References MAL_MATRIX, and MAL_MATRIX_NB_ROWS.