29 #ifndef HPP_CORE_PATH_OPTIMIZATION_SPLINE_GRADIENT_BASED_ABSTRACT_HH 30 #define HPP_CORE_PATH_OPTIMIZATION_SPLINE_GRADIENT_BASED_ABSTRACT_HH 32 #include <hpp/constraints/explicit-constraint-set.hh> 33 #include <hpp/constraints/solver/by-substitution.hh> 44 namespace pathOptimization {
46 template <
int _PolynomeBasis,
int _SplineOrder>
49 enum { PolynomeBasis = _PolynomeBasis, SplineOrder = _SplineOrder };
58 static void copy(
const Splines_t& in, Splines_t& out);
63 void updateSplines(Splines_t& spline,
const vector_t& param)
const;
68 void updateParameters(
vector_t& param,
const Splines_t& spline)
const;
71 static void interpolate(
const Splines_t& a,
const Splines_t& b,
99 Splines_t& splines)
const;
113 Splines_t& splines)
const;
119 Splines_t& splines)
const;
133 virtual void initializePathValidation(
const Splines_t& splines);
135 typedef std::vector<std::pair<PathValidationReportPtr_t, std::size_t> >
145 Reports_t validatePath(
const Splines_t& splines,
146 std::vector<std::size_t>& reordering,
bool stopAtFirst,
164 shared_ptr<constraints::ExplicitConstraintSet>
es;
172 void jointBoundConstraint(
const Splines_t& splines,
176 std::size_t addBoundConstraints(
const Indices_t& bci,
178 Bools_t& activeConstraint,
182 Indices_t validateBounds(
const Splines_t& splines,
186 void addContinuityConstraints(
const Splines_t& splines,
188 const SplineOptimizationDatas_t& ess,
209 #endif // HPP_CORE_PATH_OPTIMIZATION_SPLINE_GRADIENT_BASED_ABSTRACT_HH std::vector< std::pair< PathValidationReportPtr_t, std::size_t > > Reports_t
Definition: spline-gradient-based-abstract.hh:136
pinocchio::DevicePtr_t DevicePtr_t
Definition: fwd.hh:133
DevicePtr_t robot_
Definition: spline-gradient-based-abstract.hh:195
shared_ptr< InterpolatedPath > InterpolatedPathPtr_t
Definition: fwd.hh:210
shared_ptr< PathVector > PathVectorPtr_t
Definition: fwd.hh:192
Definition: bi-rrt-planner.hh:35
RowBlockIndices activeParameters
Definition: spline-gradient-based-abstract.hh:168
Eigen::RowBlockIndices RowBlockIndices
Definition: spline-gradient-based-abstract.hh:154
pinocchio::size_type size_type
Definition: fwd.hh:172
steeringMethod::Spline< PolynomeBasis, SplineOrder > SSM_t
Spline steering method.
Definition: spline-gradient-based-abstract.hh:86
shared_ptr< const Problem > ProblemConstPtr_t
Definition: fwd.hh:196
std::vector< bool > Bools_t
Definition: spline-gradient-based-abstract.hh:155
SplineOptimizationData()
Definition: spline-gradient-based-abstract.hh:158
shared_ptr< StraightPath > StraightPathPtr_t
Definition: fwd.hh:199
std::vector< SplinePtr_t > Splines_t
Definition: spline-gradient-based-abstract.hh:52
Common base for optimization-based path optimizer with splines.
Definition: spline-gradient-based-abstract.hh:47
shared_ptr< constraints::ExplicitConstraintSet > es
A copy of the explicit solver included in set.
Definition: spline-gradient-based-abstract.hh:164
Spline::Ptr_t SplinePtr_t
Definition: spline-gradient-based-abstract.hh:51
std::vector< PathValidationPtr_t > validations_
Definition: spline-gradient-based-abstract.hh:128
path::Spline< PolynomeBasis, SplineOrder > Spline
Definition: spline-gradient-based-abstract.hh:50
std::vector< size_type > Indices_t
Definition: spline-gradient-based-abstract.hh:156
Definition: path-optimizer.hh:44
shared_ptr< ConstraintSet > ConstraintSetPtr_t
Definition: fwd.hh:129
pinocchio::vector_t vector_t
Definition: fwd.hh:219
pinocchio::value_type value_type
Definition: fwd.hh:173
SSM_t::Ptr_t steeringMethod_
Definition: spline-gradient-based-abstract.hh:87
SplineOptimizationData(size_type rDof)
Definition: spline-gradient-based-abstract.hh:159
std::vector< SplineOptimizationData > SplineOptimizationDatas_t
Definition: spline-gradient-based-abstract.hh:170
shared_ptr< Spline > Ptr_t
Definition: spline.hh:108
#define HPP_CORE_DLLAPI
Definition: config.hh:64
A linear constraint .
Definition: linear-constraint.hh:39
Definition: spline-gradient-based-abstract.hh:157
shared_ptr< Spline > Ptr_t
Definition: spline.hh:54