hpp-bezier-com-traj  5.0.0
Multi contact trajectory generation for the COM using Bezier curves
common_solve_methods.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_COMMON_SOLVE_H
7 #define BEZIER_COM_TRAJ_LIB_COMMON_SOLVE_H
8 
9 #include <Eigen/Dense>
14 
15 namespace bezier_com_traj {
16 
26  const std::vector<waypoint6_t>& wps,
27  const std::vector<ndcurves::Bern<double> >& bernstein, int numSteps);
28 
40 BEZIER_COM_TRAJ_DLLAPI std::pair<MatrixXX, VectorX>
42  const std::vector<waypoint6_t>& wps,
43  const std::vector<waypoint6_t>& wpL,
44  const bool useAngMomentum, bool& fail);
45 
57 BEZIER_COM_TRAJ_DLLAPI std::pair<MatrixXX, VectorX>
59  const std::vector<waypoint6_t>& wps,
60  const std::vector<waypoint6_t>& wpL,
61  const bool useAngMomentum, bool& fail);
62 
82  Cref_vectorX initGuess, Cref_vectorX minBounds, Cref_vectorX maxBounds,
83  const solvers::SolverType solver = solvers::SOLVER_QUADPROG);
96  Cref_matrixXX H, Cref_vectorX g, Cref_vectorX initGuess,
97  const solvers::SolverType solver = solvers::SOLVER_QUADPROG);
98 
107 solve(const std::pair<MatrixXX, VectorX>& Ab,
108  const std::pair<MatrixXX, VectorX>& Hg, const VectorX& init,
109  const solvers::SolverType solver = solvers::SOLVER_QUADPROG);
110 
128 solve(const std::pair<MatrixXX, VectorX>& Ab,
129  const std::pair<MatrixXX, VectorX>& Dd,
130  const std::pair<MatrixXX, VectorX>& Hg, Cref_vectorX minBounds,
131  Cref_vectorX maxBounds, const VectorX& init,
132  const solvers::SolverType solver = solvers::SOLVER_QUADPROG);
133 
134 template <typename Point>
135 BEZIER_COM_TRAJ_DLLAPI std::vector<std::pair<double, Point> >
136 computeDiscretizedWaypoints(const ProblemData& pData, double T,
137  const T_time& timeArray);
138 
139 template <typename Point>
140 BEZIER_COM_TRAJ_DLLAPI std::vector<std::pair<double, Point> >
142  const T_time& timeArray);
143 
144 } // end namespace bezier_com_traj
145 
146 #include "common_solve_methods.inl"
147 
148 #endif
#define BEZIER_COM_TRAJ_DLLAPI
Definition: local_config.hh:52
BEZIER_COM_TRAJ_DLLAPI ResultData solve(Cref_matrixXX A, Cref_vectorX b, Cref_matrixXX H, Cref_vectorX g, Cref_vectorX initGuess, Cref_vectorX minBounds, Cref_vectorX maxBounds, const solvers::SolverType solver=solvers::SOLVER_QUADPROG)
solve x&#39; h x + 2 g&#39; x, subject to A*x <= b using quadprog
BEZIER_COM_TRAJ_DLLAPI std::vector< std::pair< double, Point > > computeDiscretizedWaypoints(const ProblemData &pData, double T, const T_time &timeArray)
BEZIER_COM_TRAJ_DLLAPI std::vector< std::pair< double, Point > > computeDiscretizedAccelerationWaypoints(const ProblemData &pData, double T, const T_time &timeArray)
centroidal_dynamics::VectorX VectorX
Definition: definitions.hh:24
std::vector< std::pair< double, int > > T_time
Definition: definitions.hh:59
Contact data contains all the contact information relative to a contact phase: contact points and nor...
Definition: data.hh:27
BEZIER_COM_TRAJ_DLLAPI std::pair< MatrixXX, VectorX > compute6dControlPointEqualities(const ContactData &cData, const std::vector< waypoint6_t > &wps, const std::vector< waypoint6_t > &wpL, const bool useAngMomentum, bool &fail)
compute6dControlPointEqualities Given linear and angular control waypoints, compute the equality matr...
BEZIER_COM_TRAJ_DLLAPI std::pair< MatrixXX, VectorX > compute6dControlPointInequalities(const ContactData &cData, const std::vector< waypoint6_t > &wps, const std::vector< waypoint6_t > &wpL, const bool useAngMomentum, bool &fail)
compute6dControlPointInequalities Given linear and angular control waypoints, compute the inequality ...
Definition: common_solve_methods.cpp:88
Struct used to return the results of the trajectory generation problem.
Definition: solver-abstract.hpp:52
const Eigen::Ref< const MatrixXX > & Cref_matrixXX
Definition: definitions.hh:34
const Eigen::Ref< const VectorX > & Cref_vectorX
Definition: definitions.hh:33
Defines all the inputs of the problem: Initial and terminal constraints, as well as selected cost fun...
Definition: data.hh:92
Definition: common_solve_methods.hh:15
BEZIER_COM_TRAJ_DLLAPI std::vector< waypoint6_t > ComputeDiscretizedWaypoints(const std::vector< waypoint6_t > &wps, const std::vector< ndcurves::Bern< double > > &bernstein, int numSteps)
ComputeDiscretizedWaypoints Given the waypoints defining a bezier curve, computes a discretization of...
Definition: common_solve_methods.cpp:8