hpp-rbprm 4.15.1
Implementation of RB-PRM planner using hpp.
Loading...
Searching...
No Matches
limb-rrt.hh
Go to the documentation of this file.
1//
2// Copyright (c) 2014 CNRS
3// Authors: Steve Tonneau (steve.tonneau@laas.fr)
4//
5// This file is part of hpp-rbprm.
6// hpp-rbprm 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-rbprm 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_LIMB_RRT_HH
20#define HPP_RBPRM_LIMB_RRT_HH
21
22#include <hpp/core/config-projector.hh>
23#include <hpp/core/path.hh>
24#include <hpp/core/problem.hh>
25#include <hpp/rbprm/config.hh>
32#include <map>
33#include <vector>
34
35namespace hpp {
36namespace rbprm {
37namespace interpolation {
38
39struct SetLimbRRTConstraints;
40
41typedef TimeConstraintHelper<TimeConstraintPath, LimbRRTShooterFactory,
42 SetLimbRRTConstraints>
45 void operator()(LimbRRTHelper &helper, const State &from,
46 const State &to) const;
47};
48
49core::PathPtr_t limbRRT(RbPrmFullBodyPtr_t fullbody,
50 core::ProblemPtr_t referenceProblem,
51 const rbprm::CIT_State &startState,
52 const rbprm::CIT_State &endState,
53 const std::size_t numOptimizations,
54 const std::size_t maxIteration = 0);
55
56core::PathPtr_t limbRRTFromPath(RbPrmFullBodyPtr_t fullbody,
57 core::ProblemPtr_t referenceProblem,
58 const PathPtr_t refPath,
59 const CIT_StateFrame &startState,
60 const CIT_StateFrame &endState,
61 const std::size_t numOptimizations);
62} // namespace interpolation
63} // namespace rbprm
64} // namespace hpp
65
66#endif // HPP_RBPRM_LIMB_RRT_HH
Definition: time-constraint-helper.hh:45
core::PathPtr_t limbRRT(RbPrmFullBodyPtr_t fullbody, core::ProblemPtr_t referenceProblem, const rbprm::CIT_State &startState, const rbprm::CIT_State &endState, const std::size_t numOptimizations, const std::size_t maxIteration=0)
TimeConstraintHelper< TimeConstraintPath, LimbRRTShooterFactory, SetLimbRRTConstraints > LimbRRTHelper
Definition: limb-rrt.hh:43
core::PathPtr_t limbRRTFromPath(RbPrmFullBodyPtr_t fullbody, core::ProblemPtr_t referenceProblem, const PathPtr_t refPath, const CIT_StateFrame &startState, const CIT_StateFrame &endState, const std::size_t numOptimizations)
T_State::const_iterator CIT_State
Definition: rbprm-state.hh:32
shared_ptr< RbPrmFullBody > RbPrmFullBodyPtr_t
Definition: kinematics_constraints.hh:12
T_StateFrame::const_iterator CIT_StateFrame
Definition: rbprm-state.hh:35
Definition: algorithm.hh:26
Definition: rbprm-state.hh:40
void operator()(LimbRRTHelper &helper, const State &from, const State &to) const