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
35#include <SimplePlugin.hh>
36#include <deque>
39#include <sstream>
40#include <string>
41#include <vector>
42
43namespace PatternGeneratorJRL {
49class FootConstraintsAsLinearSystem : public SimplePlugin {
50 public:
52 FootConstraintsAsLinearSystem(SimplePluginManager *aSPM, PinocchioRobot *aPR);
53
56
63 int ComputeLinearSystem(std::vector<CH_Point> aVecOfPoints,
64 Eigen::MatrixXd &A, Eigen::MatrixXd &B,
65 Eigen::VectorXd &C);
66
71 std::deque<FootAbsolutePosition> &LeftFootAbsolutePositions,
72 std::deque<FootAbsolutePosition> &RightFootAbsolutePositions,
73 std::deque<LinearConstraintInequality_t *>
74 &QueueOfLConstraintInequalities,
75 double ConstraintOnX, double ConstraintOnY);
76
80 std::deque<FootAbsolutePosition> &LeftFootAbsolutePositions,
81 std::deque<FootAbsolutePosition> &RightFootAbsolutePositions,
82 std::deque<LinearConstraintInequality_t *>
83 &QueueOfLConstraintInequalities,
84 double ConstraintOnX, double ConstraintOnY);
85
87 int FindSimilarConstraints(Eigen::MatrixXd &A,
88 std::vector<int> &SimilarConstraints);
89
94 virtual void CallMethod(std::string &Method, std::istringstream &Args);
95
96 private:
97 /* ! Reference on the Humanoid Specificities. */
98 PinocchioRobot *m_PR;
99};
100} // namespace PatternGeneratorJRL
101#endif /* _FOOT_CONSTRAINTS_AS_LINEAR_SYSTEM_H_ */
Definition FootConstraintsAsLinearSystem.hh:49
int ComputeLinearSystem(std::vector< CH_Point > aVecOfPoints, Eigen::MatrixXd &A, Eigen::MatrixXd &B, Eigen::VectorXd &C)
Definition FootConstraintsAsLinearSystem.cpp:80
virtual void CallMethod(std::string &Method, std::istringstream &Args)
Definition FootConstraintsAsLinearSystem.cpp:461
FootConstraintsAsLinearSystem(SimplePluginManager *aSPM, PinocchioRobot *aPR)
Definition FootConstraintsAsLinearSystem.cpp:39
int BuildLinearConstraintInequalities(std::deque< FootAbsolutePosition > &LeftFootAbsolutePositions, std::deque< FootAbsolutePosition > &RightFootAbsolutePositions, std::deque< LinearConstraintInequality_t * > &QueueOfLConstraintInequalities, double ConstraintOnX, double ConstraintOnY)
Definition FootConstraintsAsLinearSystem.cpp:218
int FindSimilarConstraints(Eigen::MatrixXd &A, std::vector< int > &SimilarConstraints)
Definition FootConstraintsAsLinearSystem.cpp:48
int BuildLinearConstraintInequalities2(std::deque< FootAbsolutePosition > &LeftFootAbsolutePositions, std::deque< FootAbsolutePosition > &RightFootAbsolutePositions, std::deque< LinearConstraintInequality_t * > &QueueOfLConstraintInequalities, double ConstraintOnX, double ConstraintOnY)
~FootConstraintsAsLinearSystem()
Definition FootConstraintsAsLinearSystem.cpp:46
Definition pinocchiorobot.hh:60
\doc Simulate a rigid body
Definition patterngeneratorinterface.hh:41