19 #ifndef HPP_WALKGEN_SPLINE_BASED_HH 20 # define HPP_WALKGEN_SPLINE_BASED_HH 22 # include<Eigen/StdVector> 24 # include <pinocchio/fwd.hpp> 33 #ifdef ROBOPTIM_TRAJECTORY_32 34 roboptim::trajectory::CubicBSpline::basisPolynomialsVector_t
40 #ifdef ROBOPTIM_TRAJECTORY_32 41 roboptim::trajectory::CubicBSpline::basisPolynomials_t
57 EIGEN_MAKE_ALIGNED_OPERATOR_NEW
64 const Polynomial3& polynomial) :
lower (tmin),
68 values_ [0] = polynomial (
lower);
69 values_ [6] = polynomial (
upper);
71 for (
unsigned int i=1; i<6; ++i) {
72 values_ [i] = polynomial (t);
90 for (
unsigned int i=1; i<6; ++i) {
98 const vector7_t& values) :
lower (tmin),
upper (tmax),
106 values_.fill (sqrt (-1.));
113 return values_ [index];
134 EIGEN_MAKE_ALIGNED_OPERATOR_NEW
139 EIGEN_MAKE_ALIGNED_OPERATOR_NEW
151 Eigen::aligned_allocator <BoundaryCondition> >
162 void timeSequence (
const Times_t& times);
181 void footPrintSequence (
const FootPrints_t& footPrints);
193 defaultStepHeight_ = stepHeight;
199 return defaultStepHeight_;
209 stepHeights_ = stepHeights;
234 void add (
const BoundaryCondition& boundaryCondition);
239 void setInitialComState (
const vector2_t& position,
246 void setEndComState (
const vector2_t& position,
258 return leftFootTraj_;
266 return rightFootTraj_;
311 void init (
const SplineBasedWkPtr_t&
self);
313 void computeFootTrajectory ()
const;
315 void defineProblem ()
const;
316 void buildPolynomialVector ()
const;
318 SplineBasedWkPtr_t weakPtr_;
322 StepHeights_t stepHeights_;
334 mutable ZmpTrajectories_t Z_;
335 mutable ZmpTrajectory_t zmpRef0_;
336 mutable ZmpTrajectory_t zmpRef1_;
342 #endif // HPP_WALKGEN_SPLINE_BASED_HH const ZmpTrajectories_t & zmpBasisFunctions() const
Get base functions of Zmp.
Definition: bspline-based.hh:300
value_type upper
Definition: bspline-based.hh:116
Definition: bspline-based.hh:54
const value_type & defaultStepHeight() const
Definition: bspline-based.hh:197
Eigen::Matrix< value_type, 2, 1 > vector2_t
Definition: fwd.hh:44
matrix_t::Index size_type
Definition: fwd.hh:42
DevicePtr_t leftFoot() const
Definition: bspline-based.hh:269
Definition: bspline-based.hh:28
PiecewisePoly3(const value_type &tmin, const value_type &tmax, const vector7_t &values)
Constructor with 7 values.
Definition: bspline-based.hh:97
const PathVectorPtr_t & rightFootTrajectory() const
Definition: bspline-based.hh:264
double value_type
Definition: fwd.hh:37
#define HPP_WALKGEN_DLLAPI
Definition: config.hh:64
Definition: bspline-based.hh:137
const StepHeights_t & stepHeights() const
Get sequence of step heights.
Definition: bspline-based.hh:212
std::vector< ZmpTrajectory_t > ZmpTrajectories_t
Definition: bspline-based.hh:133
std::shared_ptr< CubicBSpline > CubicBSplinePtr_t
Definition: fwd.hh:30
Definition: bspline-based.hh:129
const ZmpTrajectory_t & zmpRefx() const
Getter to representation of zmp ref abscissa.
Definition: bspline-based.hh:280
std::vector< value_type > StepHeights_t
Definition: bspline-based.hh:153
vector2_t velocity
Definition: bspline-based.hh:148
std::vector< Polynomial3, Eigen::aligned_allocator< Polynomial3 > > polynomials3vector_t
std::shared_ptr< SplineBased > SplineBasedPtr_t
Definition: fwd.hh:32
roboptim::trajectory::CubicBSpline::polynomials3vector_t polynomials3vector_t
Definition: bspline-based.hh:45
const value_type & operator[](const size_type &index) const
Definition: bspline-based.hh:111
EIGEN_MAKE_ALIGNED_OPERATOR_NEW BoundaryCondition(const value_type &time, const vector2_t &pos, const vector2_t &vel)
Definition: bspline-based.hh:140
std::vector< BoundaryCondition, Eigen::aligned_allocator< BoundaryCondition > > BoundaryConditions_t
Definition: bspline-based.hh:152
roboptim::trajectory::Polynomial3 Polynomial3
Definition: bspline-based.hh:31
static size_type l
Definition: bspline-based.hh:136
roboptim::trajectory::CubicBSpline::polynomials3vectors_t polynomials3vectors_t
Definition: bspline-based.hh:38
const FootPrints_t & footPrintSequence() const
get sequence of foot prints
Definition: bspline-based.hh:184
Eigen::Matrix< value_type, 7, 1 > vector7_t
Definition: bspline-based.hh:47
std::vector< PiecewisePoly3 > ZmpTrajectory_t
Definition: bspline-based.hh:132
value_type t
Definition: bspline-based.hh:146
core::PathVectorPtr_t PathVectorPtr_t
Definition: fwd.hh:50
const ZmpTrajectory_t & zmpRefy() const
Getter to representation of zmp ref abscissa.
Definition: bspline-based.hh:285
Eigen::Matrix< value_type, Eigen::Dynamic, 1 > vector_t
Definition: fwd.hh:40
PiecewisePoly3()
Definition: bspline-based.hh:104
DevicePtr_t rightFoot() const
Definition: bspline-based.hh:274
void defaultStepHeight(const value_type &stepHeight)
Definition: bspline-based.hh:191
core::DevicePtr_t DevicePtr_t
Definition: fwd.hh:55
std::vector< FootPrint, Eigen::aligned_allocator< FootPrint > > FootPrints_t
Definition: foot-print.hh:50
value_type lower
Definition: bspline-based.hh:115
std::vector< value_type > Times_t
Definition: fwd.hh:43
std::vector< polynomials3vector_t > polynomials3vectors_t
const PathVectorPtr_t & leftFootTrajectory() const
Definition: bspline-based.hh:256
vector2_t position
Definition: bspline-based.hh:147
static EIGEN_MAKE_ALIGNED_OPERATOR_NEW value_type gravity
Definition: bspline-based.hh:135
void zmpRefBoundaryConditions(const vector2_t &init, const vector2_t &end)
Definition: bspline-based.hh:223
PiecewisePoly3(const value_type &tmin, const value_type &tmax, const value_type &v0, const value_type &v1)
Definition: bspline-based.hh:80
void stepHeights(const StepHeights_t &stepHeights)
Definition: bspline-based.hh:207
Eigen::Matrix< value_type, Eigen::Dynamic, Eigen::Dynamic > matrix_t
Definition: fwd.hh:41
const Times_t & timeSequence() const
Definition: bspline-based.hh:167
EIGEN_MAKE_ALIGNED_OPERATOR_NEW PiecewisePoly3(const value_type &tmin, const value_type &tmax, const Polynomial3 &polynomial)
Definition: bspline-based.hh:63