hpp-python  6.1.0
python bindings for HPP, based on boost python
path-planner.hh
Go to the documentation of this file.
1 //
2 // Copyright (c) 2025, CNRS
3 // Authors: Florent Lamiraux
4 //
5 // Redistribution and use in source and binary forms, with or without
6 // modification, are permitted provided that the following conditions
7 // are met:
8 
9 // 1. Redistributions of source code must retain the above copyright
10 // notice, this list of conditions and the following disclaimer.
11 
12 // 2. Redistributions in binary form must reproduce the above
13 // copyright notice, this list of conditions and the following
14 // disclaimer in the documentation and/or other materials provided
15 // with the distribution.
16 
17 // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
18 // "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
19 // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
20 // FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
21 // COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
22 // INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
23 // (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
24 // SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
25 // HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
26 // STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
27 // ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
28 // OF THE POSSIBILITY OF SUCH DAMAGE.
29 
30 #ifndef PYHPP_MANIPULATION_PATH_PLANNER_HH
31 #define PYHPP_MANIPULATION_PATH_PLANNER_HH
32 
33 #include <hpp/manipulation/fwd.hh>
35 
36 namespace pyhpp {
37 namespace manipulation {
38 
47 
49  // Dynamic cast pointer into TransitionPlanner
53  void innerPlanner(const pyhpp::core::PathPlanner& planner);
56  bool resetRoadmap);
57  tuple directPath(ConfigurationIn_t q1, ConfigurationIn_t q2, bool validate);
58  tuple validateConfiguration(ConfigurationIn_t q, std::size_t id) const;
61  void setEdge(const PyWEdge& transition);
62  void setReedsAndSheppSteeringMethod(double turningRadius);
64  void clearPathOptimizers();
65  void addPathOptimizer(const PathOptimizerPtr_t& pathOptimizer);
66 }; // struct TransitionPlanner
67 } // namespace manipulation
68 } // namespace pyhpp
69 #endif // PYHPP_MANIPULATION_PATH_PLANNER_HH
ProblemConstPtr_t problem() const
Definition: path-planner.cc:110
shared_ptr< PathVector > PathVectorPtr_t
shared_ptr< PathOptimizer > PathOptimizerPtr_t
shared_ptr< PathProjector > PathProjectorPtr_t
shared_ptr< Roadmap > RoadmapPtr_t
pinocchio::ConfigurationIn_t ConfigurationIn_t
constraints::matrixIn_t matrixIn_t
shared_ptr< Path > PathPtr_t
shared_ptr< TransitionPlanner > TransitionPlannerPtr_t
core::matrixIn_t matrixIn_t
hpp::core::PathOptimizerPtr_t PathOptimizerPtr_t
Definition: path-planner.hh:41
boost::python::tuple tuple
Definition: path-planner.hh:39
hpp::core::PathVectorPtr_t PathVectorPtr_t
Definition: path-planner.hh:44
hpp::core::RoadmapPtr_t RoadmapPtr_t
Definition: path-planner.hh:45
hpp::pinocchio::ConfigurationIn_t ConfigurationIn_t
Definition: device.hh:55
hpp::core::PathProjectorPtr_t PathProjectorPtr_t
Definition: path-planner.hh:42
hpp::core::PathPtr_t PathPtr_t
Definition: path-planner.hh:43
hpp::manipulation::matrixIn_t matrixIn_t
Definition: path-planner.hh:46
Definition: fwd.hh:35
Python wrapper for Edge.
Definition: graph.hh:75
Definition: path-planner.hh:48
void setReedsAndSheppSteeringMethod(double turningRadius)
Definition: path-planner.cc:174
PathVectorPtr_t timeParameterization(const PathVectorPtr_t &path)
Definition: path-planner.cc:165
void pathProjector(const PathProjectorPtr_t pathProjector)
Definition: path-planner.cc:178
tuple directPath(ConfigurationIn_t q1, ConfigurationIn_t q2, bool validate)
Definition: path-planner.cc:133
PathVectorPtr_t planPath(ConfigurationIn_t qInit, matrixIn_t qGoals, bool resetRoadmap)
Definition: path-planner.cc:109
hpp::manipulation::pathPlanner::TransitionPlannerPtr_t trObj() const
Definition: path-planner.cc:89
void addPathOptimizer(const PathOptimizerPtr_t &pathOptimizer)
Definition: path-planner.cc:186
void setEdge(const PyWEdge &transition)
Definition: path-planner.cc:170
void clearPathOptimizers()
Definition: path-planner.cc:182
tuple validateConfiguration(ConfigurationIn_t q, std::size_t id) const
Definition: path-planner.cc:154
PathVectorPtr_t optimizePath(const PathPtr_t &path)
Definition: path-planner.cc:161
pyhpp::core::Problem innerProblem() const
Definition: path-planner.cc:105
pyhpp::core::PathPlanner innerPlanner() const
Definition: path-planner.cc:96
TransitionPlanner(const pyhpp::core::Problem &problem)
Definition: path-planner.cc:82