Loading...
Searching...
No Matches
FootConstraintsAsLinearSystem.hh
Go to the documentation of this file.
1/*
2 * Copyright 2009, 2010,
3 *
4 * Francois Keith
5 * Olivier Stasse
6 *
7 *
8 * JRL, CNRS/AIST
9 *
10 * This file is part of walkGenJrl.
11 * walkGenJrl is free software: you can redistribute it and/or modify
12 * it under the terms of the GNU Lesser General Public License as published by
13 * the Free Software Foundation, either version 3 of the License, or
14 * (at your option) any later version.
15 *
16 * walkGenJrl is distributed in the hope that it will be useful,
17 * but WITHOUT ANY WARRANTY; without even the implied warranty of
18 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
19 * GNU General Lesser Public License for more details.
20 * You should have received a copy of the GNU Lesser General Public License
21 * along with walkGenJrl. If not, see <http://www.gnu.org/licenses/>.
22 *
23 * Research carried out within the scope of the
24 * Joint Japanese-French Robotics Laboratory (JRL)
25 */
26/* This object generate matrix representation of linear
27 constraint based on foot position.
28 It handles a stack of constraint on a sliding mode
29 for QP solving. */
30
31#ifndef _FOOT_CONSTRAINTS_AS_LINEAR_SYSTEM_H_
32#define _FOOT_CONSTRAINTS_AS_LINEAR_SYSTEM_H_
33
34#include <deque>
35#include <sstream>
36#include <string>
37#include <vector>
38
40
42#include <SimplePlugin.hh>
44
45namespace PatternGeneratorJRL {
51class FootConstraintsAsLinearSystem : public SimplePlugin {
52public:
54 FootConstraintsAsLinearSystem(SimplePluginManager *aSPM, PinocchioRobot *aPR);
55
58
65 int ComputeLinearSystem(std::vector<CH_Point> aVecOfPoints,
66 Eigen::MatrixXd &A, Eigen::MatrixXd &B,
67 Eigen::VectorXd &C);
68
73 std::deque<FootAbsolutePosition> &LeftFootAbsolutePositions,
74 std::deque<FootAbsolutePosition> &RightFootAbsolutePositions,
75 std::deque<LinearConstraintInequality_t *>
76 &QueueOfLConstraintInequalities,
77 double ConstraintOnX, double ConstraintOnY);
78
82 std::deque<FootAbsolutePosition> &LeftFootAbsolutePositions,
83 std::deque<FootAbsolutePosition> &RightFootAbsolutePositions,
84 std::deque<LinearConstraintInequality_t *>
85 &QueueOfLConstraintInequalities,
86 double ConstraintOnX, double ConstraintOnY);
87
89 int FindSimilarConstraints(Eigen::MatrixXd &A,
90 std::vector<int> &SimilarConstraints);
91
96 virtual void CallMethod(std::string &Method, std::istringstream &Args);
97
98private:
99 /* ! Reference on the Humanoid Specificities. */
100 PinocchioRobot *m_PR;
101};
102} // namespace PatternGeneratorJRL
103#endif /* _FOOT_CONSTRAINTS_AS_LINEAR_SYSTEM_H_ */
Definition: FootConstraintsAsLinearSystem.hh:51
int ComputeLinearSystem(std::vector< CH_Point > aVecOfPoints, Eigen::MatrixXd &A, Eigen::MatrixXd &B, Eigen::VectorXd &C)
Definition: FootConstraintsAsLinearSystem.cpp:82
virtual void CallMethod(std::string &Method, std::istringstream &Args)
Definition: FootConstraintsAsLinearSystem.cpp:469
int BuildLinearConstraintInequalities(std::deque< FootAbsolutePosition > &LeftFootAbsolutePositions, std::deque< FootAbsolutePosition > &RightFootAbsolutePositions, std::deque< LinearConstraintInequality_t * > &QueueOfLConstraintInequalities, double ConstraintOnX, double ConstraintOnY)
Definition: FootConstraintsAsLinearSystem.cpp:220
int FindSimilarConstraints(Eigen::MatrixXd &A, std::vector< int > &SimilarConstraints)
Definition: FootConstraintsAsLinearSystem.cpp:49
int BuildLinearConstraintInequalities2(std::deque< FootAbsolutePosition > &LeftFootAbsolutePositions, std::deque< FootAbsolutePosition > &RightFootAbsolutePositions, std::deque< LinearConstraintInequality_t * > &QueueOfLConstraintInequalities, double ConstraintOnX, double ConstraintOnY)
~FootConstraintsAsLinearSystem()
Definition: FootConstraintsAsLinearSystem.cpp:47
Definition: pinocchiorobot.hh:57
\doc Simulate a rigid body
Definition: patterngeneratorinterface.hh:41