From 2b08f99dd24464c9c5cecf9c5465b2a2867a22d4 Mon Sep 17 00:00:00 2001 From: Joseph Mirabel <jmirabel@laas.fr> Date: Mon, 1 Sep 2014 14:30:22 +0200 Subject: [PATCH] Fix bug in GraphPathValidation. Add assert --- src/graph-path-validation.cc | 4 +++- src/graph-steering-method.cc | 1 + src/manipulation-planner.cc | 1 - 3 files changed, 4 insertions(+), 2 deletions(-) diff --git a/src/graph-path-validation.cc b/src/graph-path-validation.cc index 84e42ea..e9b5172 100644 --- a/src/graph-path-validation.cc +++ b/src/graph-path-validation.cc @@ -94,7 +94,9 @@ namespace hpp { while (!possibleEdges.empty ()) { constraints = constraintGraph_->pathConstraint (possibleEdges.back()); constraints->offsetFromConfig(configAt (tmin)); - if (constraints->isSatisfied (configAt (tmax))) { + assert (constraints->isSatisfied (configAt (tmin))); + if (constraints == path->constraints () + && constraints->isSatisfied (configAt (tmax))) { validPart = path; return true; } diff --git a/src/graph-steering-method.cc b/src/graph-steering-method.cc index 41b2b07..84ae64b 100644 --- a/src/graph-steering-method.cc +++ b/src/graph-steering-method.cc @@ -38,6 +38,7 @@ namespace hpp { while (!possibleEdges.empty()) { constraints = graph_->pathConstraint (possibleEdges.back()); constraints->offsetFromConfig(q1); + assert (constraints->isSatisfied (q1)); if (constraints->isSatisfied (q2)) { path->constraints (constraints); break; diff --git a/src/manipulation-planner.cc b/src/manipulation-planner.cc index 0e18ccc..236d7ed 100644 --- a/src/manipulation-planner.cc +++ b/src/manipulation-planner.cc @@ -117,7 +117,6 @@ namespace hpp { addFailure (STEERING_METHOD, edges); return false; } - path->constraints (graph->pathConstraint (edges)); core::PathValidationPtr_t pathValidation (problem ().pathValidation ()); pathValidation->validate (path, false, validPath); if (validPath->length () == 0) -- GitLab