StepOverPolynome.hh
Go to the documentation of this file.
1 /*
2  * Copyright 2006, 2007, 2008, 2009, 2010,
3  *
4  * Florent Lamiraux
5  * Alireza Nakhaei
6  * Mathieu Poirier
7  * Olivier Stasse
8  *
9  * JRL, CNRS/AIST
10  *
11  * This file is part of walkGenJrl.
12  * walkGenJrl is free software: you can redistribute it and/or modify
13  * it under the terms of the GNU Lesser General Public License as published by
14  * the Free Software Foundation, either version 3 of the License, or
15  * (at your option) any later version.
16  *
17  * walkGenJrl is distributed in the hope that it will be useful,
18  * but WITHOUT ANY WARRANTY; without even the implied warranty of
19  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
20  * GNU General Lesser Public License for more details.
21  * You should have received a copy of the GNU Lesser General Public License
22  * along with walkGenJrl. If not, see <http://www.gnu.org/licenses/>.
23  *
24  * Research carried out within the scope of the
25  * Joint Japanese-French Robotics Laboratory (JRL)
26  */
31 #ifndef _STEPOVER_POLYNOME_H_
32 #define _STEPOVER_POLYNOME_H_
33 
34 #include <Eigen/Dense>
35 #include <Mathematics/Polynome.hh>
36 #include <vector>
37 
38 namespace PatternGeneratorJRL {
42  public:
49 
51  void SetParameters(Eigen::VectorXd boundCond, std::vector<double> timeDistr);
52 
55 };
56 
60  public:
65 
67  void SetParameters(Eigen::VectorXd Zpos, std::vector<double> Xpos);
68 
71 };
72 
77  public:
81 
83  void SetParameters(Eigen::VectorXd Xbound, std::vector<double> timedistr);
84 
87 };
88 
93  public:
101 
102  // Set the parameters
103  void SetParameters(Eigen::VectorXd boundCond, std::vector<double> timeDistr);
104 
107 };
108 
113  public:
115  StepOverSpline();
116 
118  void SetParameters(Eigen::VectorXd Points);
119 
120  double GetValueSpline(Eigen::VectorXd TimePoints, double CurrentLocalTime);
121 
122  void print();
123 
125  ~StepOverSpline();
126 
127  protected:
128  unsigned long int m_number;
129  Eigen::MatrixXd m_Coefficients;
130 };
131 
135  public:
138 
140  void SetParameters(Eigen::VectorXd Points, Eigen::VectorXd TimePoints,
141  Eigen::VectorXd DerivativeEndPoints);
142 
143  double GetValueSpline(Eigen::VectorXd TimePoints, double CurrentLocalTime);
144 
145  void print();
148 
149  protected:
150  unsigned long int m_number;
151  Eigen::MatrixXd m_Coefficients;
152 };
153 
154 } // namespace PatternGeneratorJRL
155 
156 #endif /* _STEPOVER_POLYNOME_H_ */
PatternGeneratorJRL::StepOverClampedCubicSpline::m_number
unsigned long int m_number
Definition: StepOverPolynome.hh:150
PatternGeneratorJRL::StepOverClampedCubicSpline::~StepOverClampedCubicSpline
~StepOverClampedCubicSpline()
Definition: StepOverPolynome.cpp:603
PatternGeneratorJRL::StepOverSpline::print
void print()
Definition: StepOverPolynome.cpp:452
PatternGeneratorJRL::Polynome
Definition: Polynome.hh:42
PatternGeneratorJRL::StepOverClampedCubicSpline::print
void print()
Definition: StepOverPolynome.cpp:593
PatternGeneratorJRL::StepOverClampedCubicSpline::StepOverClampedCubicSpline
StepOverClampedCubicSpline()
Definition: StepOverPolynome.cpp:468
PatternGeneratorJRL::StepOverPolynomeFoot::SetParameters
void SetParameters(Eigen::VectorXd boundCond, std::vector< double > timeDistr)
Definition: StepOverPolynome.cpp:40
PatternGeneratorJRL::StepOverPolynomeHip4::~StepOverPolynomeHip4
~StepOverPolynomeHip4()
Definition: StepOverPolynome.cpp:344
PatternGeneratorJRL::StepOverClampedCubicSpline::GetValueSpline
double GetValueSpline(Eigen::VectorXd TimePoints, double CurrentLocalTime)
Definition: StepOverPolynome.cpp:535
PatternGeneratorJRL::StepOverClampedCubicSpline::m_Coefficients
Eigen::MatrixXd m_Coefficients
Definition: StepOverPolynome.hh:151
PatternGeneratorJRL::StepOverPolynomeFootXtoTime::~StepOverPolynomeFootXtoTime
~StepOverPolynomeFootXtoTime()
Definition: StepOverPolynome.cpp:285
PatternGeneratorJRL::StepOverPolynomeFoot::StepOverPolynomeFoot
StepOverPolynomeFoot()
Definition: StepOverPolynome.cpp:36
PatternGeneratorJRL::StepOverPolynomeHip4::StepOverPolynomeHip4
StepOverPolynomeHip4()
Definition: StepOverPolynome.cpp:290
PatternGeneratorJRL::StepOverPolynomeFootZtoX
Polynome used for Z trajectory during stepover.
Definition: StepOverPolynome.hh:59
PatternGeneratorJRL::StepOverPolynomeFoot
Polynome used for Z trajectory during stepover.
Definition: StepOverPolynome.hh:41
PatternGeneratorJRL::StepOverPolynomeFootZtoX::~StepOverPolynomeFootZtoX
~StepOverPolynomeFootZtoX()
Definition: StepOverPolynome.cpp:211
PatternGeneratorJRL::StepOverPolynomeHip4::SetParameters
void SetParameters(Eigen::VectorXd boundCond, std::vector< double > timeDistr)
Definition: StepOverPolynome.cpp:294
PatternGeneratorJRL::StepOverSpline
spline function calculation class to calculate cubic splines
Definition: StepOverPolynome.hh:112
PatternGeneratorJRL::StepOverPolynomeFootXtoTime
Polynome used for X trajectory in function of time to combine with StepOverPolynomeFootZtoX.
Definition: StepOverPolynome.hh:76
PatternGeneratorJRL::StepOverPolynomeHip4
Polynome for the hip trajectory.
Definition: StepOverPolynome.hh:92
PatternGeneratorJRL::StepOverSpline::GetValueSpline
double GetValueSpline(Eigen::VectorXd TimePoints, double CurrentLocalTime)
Definition: StepOverPolynome.cpp:402
Polynome.hh
PatternGeneratorJRL::StepOverPolynomeFoot::~StepOverPolynomeFoot
~StepOverPolynomeFoot()
Definition: StepOverPolynome.cpp:155
PatternGeneratorJRL::StepOverSpline::~StepOverSpline
~StepOverSpline()
Definition: StepOverPolynome.cpp:464
PatternGeneratorJRL
\doc Simulate a rigid body
Definition: patterngeneratorinterface.hh:41
PatternGeneratorJRL::StepOverClampedCubicSpline::SetParameters
void SetParameters(Eigen::VectorXd Points, Eigen::VectorXd TimePoints, Eigen::VectorXd DerivativeEndPoints)
Definition: StepOverPolynome.cpp:471
PatternGeneratorJRL::StepOverPolynomeFootXtoTime::SetParameters
void SetParameters(Eigen::VectorXd Xbound, std::vector< double > timedistr)
Definition: StepOverPolynome.cpp:219
PatternGeneratorJRL::StepOverPolynomeFootXtoTime::StepOverPolynomeFootXtoTime
StepOverPolynomeFootXtoTime()
Definition: StepOverPolynome.cpp:215
PatternGeneratorJRL::StepOverPolynomeFootZtoX::StepOverPolynomeFootZtoX
StepOverPolynomeFootZtoX()
Definition: StepOverPolynome.cpp:158
PatternGeneratorJRL::StepOverSpline::SetParameters
void SetParameters(Eigen::VectorXd Points)
Definition: StepOverPolynome.cpp:352
PatternGeneratorJRL::StepOverSpline::StepOverSpline
StepOverSpline()
Definition: StepOverPolynome.cpp:348
PatternGeneratorJRL::StepOverClampedCubicSpline
Definition: StepOverPolynome.hh:134
PatternGeneratorJRL::StepOverPolynomeFootZtoX::SetParameters
void SetParameters(Eigen::VectorXd Zpos, std::vector< double > Xpos)
Definition: StepOverPolynome.cpp:162
PatternGeneratorJRL::StepOverSpline::m_number
unsigned long int m_number
Definition: StepOverPolynome.hh:128
PatternGeneratorJRL::StepOverSpline::m_Coefficients
Eigen::MatrixXd m_Coefficients
Definition: StepOverPolynome.hh:129