Skip to content
Snippets Groups Projects
Commit 8a0dda20 authored by Joseph Mirabel's avatar Joseph Mirabel Committed by Joseph Mirabel
Browse files

Add optimizer Graph-ConfigOptimization

parent 243036b9
No related branches found
No related tags found
No related merge requests found
...@@ -49,7 +49,7 @@ namespace hpp { ...@@ -49,7 +49,7 @@ namespace hpp {
public: public:
typedef core::ProblemSolver::PathOptimizerBuilder_t PathOptimizerBuilder_t; typedef core::ProblemSolver::PathOptimizerBuilder_t PathOptimizerBuilder_t;
template <typename InnerPathOptimizer_t> template <typename TraitsOrInnerType>
static GraphOptimizerPtr_t create (const core::Problem& problem); static GraphOptimizerPtr_t create (const core::Problem& problem);
virtual PathVectorPtr_t optimize (const PathVectorPtr_t& path); virtual PathVectorPtr_t optimize (const PathVectorPtr_t& path);
...@@ -80,12 +80,12 @@ namespace hpp { ...@@ -80,12 +80,12 @@ namespace hpp {
/// \} /// \}
/// Member function definition /// Member function definition
template <typename InnerPathOptimizer_t> template <typename TraitsOrInnerType>
GraphOptimizerPtr_t GraphOptimizer::create GraphOptimizerPtr_t GraphOptimizer::create
(const core::Problem& problem) (const core::Problem& problem)
{ {
return GraphOptimizerPtr_t ( return GraphOptimizerPtr_t (
new GraphOptimizer (problem, InnerPathOptimizer_t::create) new GraphOptimizer (problem, TraitsOrInnerType::create)
); );
} }
......
...@@ -45,6 +45,15 @@ namespace hpp { ...@@ -45,6 +45,15 @@ namespace hpp {
core::pathOptimization::PartialShortcutTraits { core::pathOptimization::PartialShortcutTraits {
static bool removeLockedJoints () { return false; } static bool removeLockedJoints () { return false; }
}; };
template <typename InnerConfigOptimizationTraits>
struct GraphConfigOptimizationTraits {
static core::PathOptimizerPtr_t create (const core::Problem& problem)
{
return core::pathOptimization::ConfigOptimization::
createWithTraits <InnerConfigOptimizationTraits> (problem);
}
};
} }
std::ostream& operator<< (std::ostream& os, const Device& robot) std::ostream& operator<< (std::ostream& os, const Device& robot)
...@@ -67,6 +76,11 @@ namespace hpp { ...@@ -67,6 +76,11 @@ namespace hpp {
addPathOptimizerType ("ConfigOptimization", addPathOptimizerType ("ConfigOptimization",
core::pathOptimization::ConfigOptimization::createWithTraits core::pathOptimization::ConfigOptimization::createWithTraits
<pathOptimization::ConfigOptimizationTraits>); <pathOptimization::ConfigOptimizationTraits>);
addPathOptimizerType ("Graph-ConfigOptimization",
GraphOptimizer::create <
GraphConfigOptimizationTraits
<pathOptimization::ConfigOptimizationTraits>
>);
pathPlannerType ("M-RRT"); pathPlannerType ("M-RRT");
pathValidationType ("Graph-discretized", 0.05); pathValidationType ("Graph-discretized", 0.05);
} }
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment