hpp-core  4.11.0
Implement basic classes for canonical path planning for kinematic chains.
progressive.hh
Go to the documentation of this file.
1 // Copyright (c) 2014, LAAS-CNRS
2 // Authors: Joseph Mirabel (joseph.mirabel@laas.fr)
3 //
4 // This file is part of hpp-core.
5 // hpp-core is free software: you can redistribute it
6 // and/or modify it under the terms of the GNU Lesser General Public
7 // License as published by the Free Software Foundation, either version
8 // 3 of the License, or (at your option) any later version.
9 //
10 // hpp-core is distributed in the hope that it will be
11 // useful, but WITHOUT ANY WARRANTY; without even the implied warranty
12 // of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 // General Lesser Public License for more details. You should have
14 // received a copy of the GNU Lesser General Public License along with
15 // hpp-core. If not, see <http://www.gnu.org/licenses/>.
16 
17 #ifndef HPP_CORE_PATHPROJECTOR_PROGRESSIVE_HH
18 # define HPP_CORE_PATHPROJECTOR_PROGRESSIVE_HH
19 
21 
22 namespace hpp {
23  namespace core {
24  namespace pathProjector {
26  {
27  public:
30 
32  static ProgressivePtr_t create (const DistancePtr_t& distance,
33  const SteeringMethodPtr_t& steeringMethod, value_type step);
34 
35  static ProgressivePtr_t create (const ProblemConstPtr_t& problem,
36  const value_type& step);
37 
38  protected:
39  bool impl_apply (const PathPtr_t& path,
40  PathPtr_t& projection) const;
41 
42  Progressive (const DistancePtr_t& distance,
43  const SteeringMethodPtr_t& steeringMethod,
44  value_type step, value_type threshold, value_type hessianBound);
45 
46  bool project (const PathPtr_t& path, PathPtr_t& proj) const;
47 
48  private:
49  value_type step_;
50  const value_type thresholdMin_;
51  const value_type hessianBound_;
52  const bool withHessianBound_;
53  };
54  } // namespace pathProjector
55  } // namespace core
56 } // namespace hpp
57 
58 #endif // HPP_CORE_PATHPROJECTOR_PROGRESSIVE_HH
hpp::core::PathPtr_t PathPtr_t
Definition: path-projector.hh:30
shared_ptr< Progressive > ProgressivePtr_t
Definition: fwd.hh:314
Definition: bi-rrt-planner.hh:24
shared_ptr< const Problem > ProblemConstPtr_t
Definition: fwd.hh:180
shared_ptr< StraightPath > StraightPathPtr_t
Definition: fwd.hh:183
This class projects a path using constraints.
Definition: path-projector.hh:26
hpp::core::StraightPath StraightPath
Definition: progressive.hh:28
shared_ptr< Distance > DistancePtr_t
Definition: fwd.hh:122
hpp::core::StraightPathPtr_t StraightPathPtr_t
Definition: progressive.hh:29
pinocchio::value_type value_type
Definition: fwd.hh:157
Definition: straight-path.hh:42
shared_ptr< SteeringMethod > SteeringMethodPtr_t
Definition: fwd.hh:195
#define HPP_CORE_DLLAPI
Definition: config.hh:64
Definition: progressive.hh:25