hpp-bezier-com-traj  4.10.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 
13 #include <hpp/bezier-com-traj/solver/solver-abstract.hpp>
14 #include <curves/bezier_curve.h>
15 #include <hpp/centroidal-dynamics/centroidal_dynamics.hh>
16 #include <Eigen/Dense>
17 
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_(new centroidal_dynamics::Equilibrium(*(other.contactPhase_))),
37  Kin_(other.Kin_),
38  kin_(other.kin_),
39  Ang_(other.Ang_),
40  ang_(other.ang_) {}
41 
42  ContactData(centroidal_dynamics::Equilibrium* contactPhase)
43  : contactPhase_(contactPhase),
44  Kin_(Eigen::Matrix3d::Zero()),
45  kin_(VectorX::Zero(0)),
46  Ang_(Eigen::Matrix3d::Zero()),
47  ang_(VectorX::Zero(0)) {}
49 
50  centroidal_dynamics::Equilibrium* contactPhase_;
51  MatrixX3 Kin_; // inequality kinematic constraints
53  MatrixX3 Ang_; // inequality angular momentum constraints
55 };
56 
64  : flag_(INIT_POS | INIT_VEL | END_VEL | END_POS),
65  constraintAcceleration_(false),
66  maxAcceleration_(10.),
67  reduce_h_(1e-3) {}
68 
69  Constraints(ConstraintFlag flag)
70  : flag_(flag), constraintAcceleration_(false), maxAcceleration_(10.), reduce_h_(1e-3) {}
71 
73 
74  ConstraintFlag flag_;
77  double reduce_h_;
78 };
79 
90  : c0_(point_t::Zero()),
91  dc0_(point_t::Zero()),
92  ddc0_(point_t::Zero()),
93  j0_(point_t::Zero()),
94  c1_(point_t::Zero()),
95  dc1_(point_t::Zero()),
96  ddc1_(point_t::Zero()),
97  j1_(point_t::Zero()),
98  useAngularMomentum_(false),
99  costFunction_(ACCELERATION),
100  representation_(DOUBLE_DESCRIPTION) {}
101 
102  std::vector<ContactData> contacts_;
103  point_t c0_, dc0_, ddc0_, j0_, c1_, dc1_, ddc1_, j1_;
107  CostFunction costFunction_;
108  GIWCRepresentation representation_;
109 };
110 
112 
119  : ResultData(),
120  c_of_t_(bezier_t::zero(3)),
121  dL_of_t_(bezier_t::zero(3)),
122  dc1_(point_t::Zero()),
123  ddc1_(point_t::Zero()) {}
125 
126  bezier_t c_of_t_; // center of mass trajectory
127  bezier_t dL_of_t_; // angular momentum derivative trajectory
128  point_t dc1_; // terminal velocity
129  point_t ddc1_; // terminal acceleration
130 };
131 } // end namespace bezier_com_traj
132 
133 #endif
bezier_com_traj::ProblemData::representation_
GIWCRepresentation representation_
Definition: data.hh:108
bezier_com_traj::ResultDataCOMTraj::ddc1_
point_t ddc1_
Definition: data.hh:129
bezier_com_traj::Constraints::constraintAcceleration_
bool constraintAcceleration_
Definition: data.hh:75
utils.hh
bezier_com_traj::ContactData::contactPhase_
centroidal_dynamics::Equilibrium * contactPhase_
Definition: data.hh:50
bezier_com_traj::ContactData::ContactData
ContactData(centroidal_dynamics::Equilibrium *contactPhase)
Definition: data.hh:42
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:48
bezier_com_traj::Constraints::Constraints
Constraints()
Definition: data.hh:63
bezier_com_traj::Constraints
Used to define the constraints on the trajectory generation problem. Flags are used to constrain init...
Definition: data.hh:62
bezier_com_traj::ResultDataCOMTraj::~ResultDataCOMTraj
~ResultDataCOMTraj()
Definition: data.hh:124
ACCELERATION
ACCELERATION
Definition: flags.hh:13
bezier_com_traj::ProblemData::j1_
point_t j1_
Definition: data.hh:103
bezier_com_traj::Constraints::reduce_h_
double reduce_h_
Definition: data.hh:77
bezier_com_traj::ResultDataCOMTraj::dc1_
point_t dc1_
Definition: data.hh:128
bezier_com_traj::ContactData::ang_
VectorX ang_
Definition: data.hh:54
bezier_com_traj::Constraints::~Constraints
~Constraints()
Definition: data.hh:72
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:127
bezier_com_traj::VectorX
centroidal_dynamics::VectorX VectorX
Definition: definitions.hh:23
bezier_com_traj::ContactData::Kin_
MatrixX3 Kin_
Definition: data.hh:51
bezier_com_traj::bezier_t
curves::bezier_curve< double, double, true, point_t > bezier_t
Definition: definitions.hh:52
bezier_com_traj::ResultDataCOMTraj
Specialized ResultData that computes the Bezier curves corresponding to the computed trajectory.
Definition: data.hh:117
bezier_com_traj::Constraints::flag_
ConstraintFlag flag_
Definition: data.hh:74
bezier_com_traj::ProblemData::useAngularMomentum_
bool useAngularMomentum_
Definition: data.hh:105
END_POS
END_POS
Definition: flags.hh:23
bezier_com_traj::point_t
Eigen::Vector3d point_t
Definition: definitions.hh:41
bezier_com_traj::ProblemData::costFunction_
CostFunction costFunction_
Definition: data.hh:107
bezier_com_traj::ResultData
solvers::ResultData ResultData
Definition: data.hh:111
local_config.hh
INIT_VEL
INIT_VEL
Definition: flags.hh:21
bezier_com_traj::ProblemData::ProblemData
ProblemData()
Definition: data.hh:89
definitions.hh
bezier_com_traj::ResultDataCOMTraj::ResultDataCOMTraj
ResultDataCOMTraj()
Definition: data.hh:118
flags.hh
bezier_com_traj::Constraints::Constraints
Constraints(ConstraintFlag flag)
Definition: data.hh:69
bezier_com_traj::Constraints::maxAcceleration_
double maxAcceleration_
Definition: data.hh:76
bezier_com_traj::MatrixX3
Eigen::Matrix< value_type, Eigen::Dynamic, 3 > MatrixX3
Definition: definitions.hh:19
bezier_com_traj::ProblemData::l0_
point_t l0_
Definition: data.hh:104
bezier_com_traj::ProblemData::constraints_
Constraints constraints_
Definition: data.hh:106
bezier_com_traj::ContactData::Ang_
MatrixX3 Ang_
Definition: data.hh:53
bezier_com_traj::ContactData::kin_
VectorX kin_
Definition: data.hh:52
DOUBLE_DESCRIPTION
DOUBLE_DESCRIPTION
Definition: flags.hh:37
bezier_com_traj
Definition: common_solve_methods.hh:16
bezier_com_traj::ProblemData
Defines all the inputs of the problem: Initial and terminal constraints, as well as selected cost fun...
Definition: data.hh:88
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:102
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:126