hpp-bezier-com-traj  4.14.0
Multi contact trajectory generation for the COM using Bezier curves
data.hh
Go to the documentation of this file.
1 /*
2  * Copyright 2018, LAAS-CNRS
3  * Author: Steve Tonneau
4  */
5 
6 #ifndef BEZIER_COM_TRAJ_LIB_DATA_H
7 #define BEZIER_COM_TRAJ_LIB_DATA_H
8 
9 #include <ndcurves/bezier_curve.h>
10 
11 #include <Eigen/Dense>
17 #include <hpp/centroidal-dynamics/centroidal_dynamics.hh>
18 #include <vector>
19 
20 namespace bezier_com_traj {
29  : contactPhase_(0),
30  Kin_(Eigen::Matrix3d::Zero()),
31  kin_(VectorX::Zero(0)),
32  Ang_(Eigen::Matrix3d::Zero()),
33  ang_(VectorX::Zero(0)) {}
34 
35  ContactData(const ContactData& other)
36  : contactPhase_(
37  new centroidal_dynamics::Equilibrium(*(other.contactPhase_))),
38  Kin_(other.Kin_),
39  kin_(other.kin_),
40  Ang_(other.Ang_),
41  ang_(other.ang_) {}
42 
43  ContactData(centroidal_dynamics::Equilibrium* contactPhase)
44  : contactPhase_(contactPhase),
45  Kin_(Eigen::Matrix3d::Zero()),
46  kin_(VectorX::Zero(0)),
47  Ang_(Eigen::Matrix3d::Zero()),
48  ang_(VectorX::Zero(0)) {}
50 
51  centroidal_dynamics::Equilibrium* contactPhase_;
52  MatrixX3 Kin_; // inequality kinematic constraints
54  MatrixX3 Ang_; // inequality angular momentum constraints
56 };
57 
65  : flag_(INIT_POS | INIT_VEL | END_VEL | END_POS),
66  constraintAcceleration_(false),
67  maxAcceleration_(10.),
68  reduce_h_(1e-3) {}
69 
70  Constraints(ConstraintFlag flag)
71  : flag_(flag),
72  constraintAcceleration_(false),
73  maxAcceleration_(10.),
74  reduce_h_(1e-3) {}
75 
77 
78  ConstraintFlag flag_;
81  double reduce_h_;
82 };
83 
94  : c0_(point_t::Zero()),
95  dc0_(point_t::Zero()),
96  ddc0_(point_t::Zero()),
97  j0_(point_t::Zero()),
98  c1_(point_t::Zero()),
99  dc1_(point_t::Zero()),
100  ddc1_(point_t::Zero()),
101  j1_(point_t::Zero()),
102  useAngularMomentum_(false),
103  costFunction_(ACCELERATION),
104  representation_(DOUBLE_DESCRIPTION) {}
105 
106  std::vector<ContactData> contacts_;
107  point_t c0_, dc0_, ddc0_, j0_, c1_, dc1_, ddc1_, j1_;
111  CostFunction costFunction_;
112  GIWCRepresentation representation_;
113 };
114 
116 
123  : ResultData(),
124  c_of_t_(bezier_t::zero(3)),
125  dL_of_t_(bezier_t::zero(3)),
126  dc1_(point_t::Zero()),
127  ddc1_(point_t::Zero()) {}
129 
130  bezier_t c_of_t_; // center of mass trajectory
131  bezier_t dL_of_t_; // angular momentum derivative trajectory
132  point_t dc1_; // terminal velocity
133  point_t ddc1_; // terminal acceleration
134 };
135 } // end namespace bezier_com_traj
136 
137 #endif
bezier_com_traj::ProblemData::representation_
GIWCRepresentation representation_
Definition: data.hh:112
bezier_com_traj::ResultDataCOMTraj::ddc1_
point_t ddc1_
Definition: data.hh:133
bezier_com_traj::Constraints::constraintAcceleration_
bool constraintAcceleration_
Definition: data.hh:79
utils.hh
bezier_com_traj::ContactData::contactPhase_
centroidal_dynamics::Equilibrium * contactPhase_
Definition: data.hh:51
bezier_com_traj::ContactData::ContactData
ContactData(centroidal_dynamics::Equilibrium *contactPhase)
Definition: data.hh:43
BEZIER_COM_TRAJ_DLLAPI
#define BEZIER_COM_TRAJ_DLLAPI
Definition: local_config.hh:52
bezier_com_traj::ContactData
Contact data contains all the contact information relative to a contact phase: contact points and nor...
Definition: data.hh:27
bezier_com_traj::ContactData::~ContactData
~ContactData()
Definition: data.hh:49
bezier_com_traj::Constraints::Constraints
Constraints()
Definition: data.hh:64
bezier_com_traj::Constraints
Used to define the constraints on the trajectory generation problem. Flags are used to constrain init...
Definition: data.hh:63
bezier_com_traj::ResultDataCOMTraj::~ResultDataCOMTraj
~ResultDataCOMTraj()
Definition: data.hh:128
ACCELERATION
ACCELERATION
Definition: flags.hh:13
bezier_com_traj::ProblemData::j1_
point_t j1_
Definition: data.hh:107
bezier_com_traj::Constraints::reduce_h_
double reduce_h_
Definition: data.hh:81
bezier_com_traj::ResultDataCOMTraj::dc1_
point_t dc1_
Definition: data.hh:132
bezier_com_traj::ContactData::ang_
VectorX ang_
Definition: data.hh:55
bezier_com_traj::Constraints::~Constraints
~Constraints()
Definition: data.hh:76
bezier_com_traj::ContactData::ContactData
ContactData()
Definition: data.hh:28
bezier_com_traj::ResultDataCOMTraj::dL_of_t_
bezier_t dL_of_t_
Definition: data.hh:131
bezier_com_traj::VectorX
centroidal_dynamics::VectorX VectorX
Definition: definitions.hh:24
bezier_com_traj::ContactData::Kin_
MatrixX3 Kin_
Definition: data.hh:52
bezier_com_traj::bezier_t
ndcurves::bezier_curve< double, double, true, point_t > bezier_t
Definition: definitions.hh:53
bezier_com_traj::ResultDataCOMTraj
Specialized ResultData that computes the Bezier curves corresponding to the computed trajectory.
Definition: data.hh:121
bezier_com_traj::Constraints::flag_
ConstraintFlag flag_
Definition: data.hh:78
bezier_com_traj::ProblemData::useAngularMomentum_
bool useAngularMomentum_
Definition: data.hh:109
END_POS
END_POS
Definition: flags.hh:23
bezier_com_traj::point_t
Eigen::Vector3d point_t
Definition: definitions.hh:42
bezier_com_traj::ProblemData::costFunction_
CostFunction costFunction_
Definition: data.hh:111
bezier_com_traj::ResultData
solvers::ResultData ResultData
Definition: data.hh:115
local_config.hh
INIT_VEL
INIT_VEL
Definition: flags.hh:21
bezier_com_traj::ProblemData::ProblemData
ProblemData()
Definition: data.hh:93
definitions.hh
bezier_com_traj::ResultDataCOMTraj::ResultDataCOMTraj
ResultDataCOMTraj()
Definition: data.hh:122
flags.hh
bezier_com_traj::Constraints::Constraints
Constraints(ConstraintFlag flag)
Definition: data.hh:70
bezier_com_traj::Constraints::maxAcceleration_
double maxAcceleration_
Definition: data.hh:80
bezier_com_traj::MatrixX3
Eigen::Matrix< value_type, Eigen::Dynamic, 3 > MatrixX3
Definition: definitions.hh:20
solvers::ResultData
Struct used to return the results of the trajectory generation problem.
Definition: solver-abstract.hpp:52
bezier_com_traj::ProblemData::l0_
point_t l0_
Definition: data.hh:108
bezier_com_traj::ProblemData::constraints_
Constraints constraints_
Definition: data.hh:110
bezier_com_traj::ContactData::Ang_
MatrixX3 Ang_
Definition: data.hh:54
bezier_com_traj::ContactData::kin_
VectorX kin_
Definition: data.hh:53
DOUBLE_DESCRIPTION
DOUBLE_DESCRIPTION
Definition: flags.hh:37
bezier_com_traj
Definition: common_solve_methods.hh:15
solver-abstract.hpp
bezier_com_traj::ProblemData
Defines all the inputs of the problem: Initial and terminal constraints, as well as selected cost fun...
Definition: data.hh:92
bezier_com_traj::ContactData::ContactData
ContactData(const ContactData &other)
Definition: data.hh:35
bezier_com_traj::ProblemData::contacts_
std::vector< ContactData > contacts_
Definition: data.hh:106
END_VEL
END_VEL
Definition: flags.hh:24
INIT_POS
INIT_POS
Definition: flags.hh:20
bezier_com_traj::ResultDataCOMTraj::c_of_t_
bezier_t c_of_t_
Definition: data.hh:130