From 1abba505a8f819e5137ee9d84e57ef5388a4a010 Mon Sep 17 00:00:00 2001 From: Joseph Mirabel <jmirabel@laas.fr> Date: Mon, 28 Aug 2017 14:43:31 +0200 Subject: [PATCH] GraphOptimizer uses path validation of edge for optimization. --- src/graph-optimizer.cc | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/graph-optimizer.cc b/src/graph-optimizer.cc index 7b065947..66ec3303 100644 --- a/src/graph-optimizer.cc +++ b/src/graph-optimizer.cc @@ -38,7 +38,10 @@ namespace hpp { this->problem().pathValidation ()); core::Problem p (problem().robot()); p.distance(problem().distance()); - p.pathValidation(gpv->innerValidation()); + // It should be ok to use the path validation of each edge because it + // corresponds to the global path validation minus the collision pairs + // disabled using the edge constraint. + // p.pathValidation(gpv->innerValidation()); p.pathProjector(problem().pathProjector()); path->flatten (expanded); @@ -72,6 +75,7 @@ namespace hpp { p.constraints(edge->steeringMethod()->constraints()); p.constraints()->configProjector()->rightHandSideFromConfig(toOpt->initial()); p.steeringMethod(edge->steeringMethod()); + p.pathValidation(edge->pathValidation()); pathOptimizer_ = factory_ (p); toConcat = pathOptimizer_->optimize (toOpt); } -- GitLab