hpp-rbprm 4.15.1
Implementation of RB-PRM planner using hpp.
Loading...
Searching...
No Matches
random-shortcut-dynamic.hh
Go to the documentation of this file.
1//
2// Copyright (c) 2017 CNRS
3// Authors: Pierre Fernbach
4//
5// This file is part of hpp-rbprm
6// hpp-core is free software: you can redistribute it
7// and/or modify it under the terms of the GNU Lesser General Public
8// License as published by the Free Software Foundation, either version
9// 3 of the License, or (at your option) any later version.
10//
11// hpp-core is distributed in the hope that it will be
12// useful, but WITHOUT ANY WARRANTY; without even the implied warranty
13// of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14// General Lesser Public License for more details. You should have
15// received a copy of the GNU Lesser General Public License along with
16// hpp-core If not, see
17// <http://www.gnu.org/licenses/>.
18
19#ifndef HPP_RBPRM_RANDOM_SHORTCUT_DYNAMIC_HH
20#define HPP_RBPRM_RANDOM_SHORTCUT_DYNAMIC_HH
21
22#include <hpp/core/path-optimization/random-shortcut.hh>
25
26namespace hpp {
27namespace rbprm {
30
42
43// forward declaration
45// Planner objects are manipulated only via shared pointers
46typedef shared_ptr<RandomShortcutDynamic> RandomShortcutDynamicPtr_t;
47
48class RandomShortcutDynamic : public core::pathOptimization::RandomShortcut {
49 public:
51 static RandomShortcutDynamicPtr_t create(core::ProblemConstPtr_t problem);
52
54 virtual core::PathVectorPtr_t optimize(const core::PathVectorPtr_t& path);
55
56 protected:
57 RandomShortcutDynamic(core::ProblemConstPtr_t problem);
58
59 core::PathPtr_t steer(core::ConfigurationIn_t q1,
60 core::ConfigurationIn_t q2) const;
61
62 private:
64 const RbPrmPathValidationPtr_t rbprmPathValidation_;
65 double sizeFootX_, sizeFootY_;
66 bool rectangularContact_;
67 bool tryJump_;
68 double mu_;
69}; // class RandomShortcut
71} // namespace rbprm
72} // namespace hpp
73
74#endif // HPP_RBPRM_RANDOM_SHORTCUT_DYNAMIC_HH
Definition: random-shortcut-dynamic.hh:48
RandomShortcutDynamic(core::ProblemConstPtr_t problem)
virtual core::PathVectorPtr_t optimize(const core::PathVectorPtr_t &path)
Optimize path.
static RandomShortcutDynamicPtr_t create(core::ProblemConstPtr_t problem)
Return shared pointer to new object.
core::PathPtr_t steer(core::ConfigurationIn_t q1, core::ConfigurationIn_t q2) const
shared_ptr< RandomShortcutDynamic > RandomShortcutDynamicPtr_t
Definition: random-shortcut-dynamic.hh:46
HPP_PREDEF_CLASS(RbPrmFullBody)
shared_ptr< RbPrmPathValidation > RbPrmPathValidationPtr_t
Definition: rbprm-path-validation.hh:31
shared_ptr< SteeringMethodKinodynamic > SteeringMethodKinodynamicPtr_t
Definition: rbprm-steering-kinodynamic.hh:33
Definition: algorithm.hh:26