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
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) {
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_;
324 BoundaryConditions_t boundaryConditions_;
334 mutable ZmpTrajectories_t Z_;
335 mutable ZmpTrajectory_t zmpRef0_;
336 mutable ZmpTrajectory_t zmpRef1_;
std::vector< polynomials3vector_t > polynomials3vectors_t
std::vector< Polynomial3, Eigen::aligned_allocator< Polynomial3 > > polynomials3vector_t
Definition: bspline-based.hh:55
EIGEN_MAKE_ALIGNED_OPERATOR_NEW PiecewisePoly3(const value_type &tmin, const value_type &tmax, const Polynomial3 &polynomial)
Definition: bspline-based.hh:63
const value_type & operator[](const size_type &index) const
Definition: bspline-based.hh:111
PiecewisePoly3()
Definition: bspline-based.hh:104
PiecewisePoly3(const value_type &tmin, const value_type &tmax, const value_type &v0, const value_type &v1)
Definition: bspline-based.hh:80
value_type lower
Definition: bspline-based.hh:115
value_type upper
Definition: bspline-based.hh:116
PiecewisePoly3(const value_type &tmin, const value_type &tmax, const vector7_t &values)
Constructor with 7 values.
Definition: bspline-based.hh:97
Definition: bspline-based.hh:130
const PathVectorPtr_t & rightFootTrajectory() const
Definition: bspline-based.hh:264
static EIGEN_MAKE_ALIGNED_OPERATOR_NEW value_type gravity
Definition: bspline-based.hh:135
std::vector< BoundaryCondition, Eigen::aligned_allocator< BoundaryCondition > > BoundaryConditions_t
Definition: bspline-based.hh:152
std::vector< PiecewisePoly3 > ZmpTrajectory_t
Definition: bspline-based.hh:132
const FootPrints_t & footPrintSequence() const
get sequence of foot prints
Definition: bspline-based.hh:184
const PathVectorPtr_t & leftFootTrajectory() const
Definition: bspline-based.hh:256
const value_type & defaultStepHeight() const
Definition: bspline-based.hh:197
const ZmpTrajectory_t & zmpRefx() const
Getter to representation of zmp ref abscissa.
Definition: bspline-based.hh:280
DevicePtr_t rightFoot() const
Definition: bspline-based.hh:274
const StepHeights_t & stepHeights() const
Get sequence of step heights.
Definition: bspline-based.hh:212
void defaultStepHeight(const value_type &stepHeight)
Definition: bspline-based.hh:191
const Times_t & timeSequence() const
Definition: bspline-based.hh:167
void stepHeights(const StepHeights_t &stepHeights)
Definition: bspline-based.hh:207
std::vector< ZmpTrajectory_t > ZmpTrajectories_t
Definition: bspline-based.hh:133
void zmpRefBoundaryConditions(const vector2_t &init, const vector2_t &end)
Definition: bspline-based.hh:223
const ZmpTrajectories_t & zmpBasisFunctions() const
Get base functions of Zmp.
Definition: bspline-based.hh:300
static size_type l
Definition: bspline-based.hh:136
const ZmpTrajectory_t & zmpRefy() const
Getter to representation of zmp ref abscissa.
Definition: bspline-based.hh:285
std::vector< value_type > StepHeights_t
Definition: bspline-based.hh:153
DevicePtr_t leftFoot() const
Definition: bspline-based.hh:269
#define HPP_WALKGEN_DLLAPI
Definition: config.hh:64
Eigen::Matrix< value_type, Eigen::Dynamic, Eigen::Dynamic > matrix_t
Definition: fwd.hh:41
std::shared_ptr< CubicBSpline > CubicBSplinePtr_t
Definition: fwd.hh:30
roboptim::trajectory::CubicBSpline::polynomials3vector_t polynomials3vector_t
Definition: bspline-based.hh:45
roboptim::trajectory::CubicBSpline::polynomials3vectors_t polynomials3vectors_t
Definition: bspline-based.hh:38
Eigen::Matrix< value_type, 2, 1 > vector2_t
Definition: fwd.hh:44
double value_type
Definition: fwd.hh:37
std::vector< value_type > Times_t
Definition: fwd.hh:43
Eigen::Matrix< value_type, 7, 1 > vector7_t
Definition: bspline-based.hh:47
roboptim::trajectory::Polynomial3 Polynomial3
Definition: bspline-based.hh:31
std::vector< FootPrint, Eigen::aligned_allocator< FootPrint > > FootPrints_t
Definition: foot-print.hh:50
core::DevicePtr_t DevicePtr_t
Definition: fwd.hh:55
Eigen::Matrix< value_type, Eigen::Dynamic, 1 > vector_t
Definition: fwd.hh:40
matrix_t::Index size_type
Definition: fwd.hh:42
std::shared_ptr< SplineBased > SplineBasedPtr_t
Definition: fwd.hh:32
core::PathVectorPtr_t PathVectorPtr_t
Definition: fwd.hh:50
Definition: bspline-based.hh:28
Definition: bspline-based.hh:138
vector2_t position
Definition: bspline-based.hh:147
value_type t
Definition: bspline-based.hh:146
EIGEN_MAKE_ALIGNED_OPERATOR_NEW BoundaryCondition(const value_type &time, const vector2_t &pos, const vector2_t &vel)
Definition: bspline-based.hh:140
vector2_t velocity
Definition: bspline-based.hh:148