From d8cf85f07f2e09ead9d79df690fc85df7230a5a0 Mon Sep 17 00:00:00 2001 From: Florent Lamiraux <florent@laas.fr> Date: Tue, 19 May 2020 14:31:24 +0200 Subject: [PATCH] Update to modifications in hpp-constraints - Specify comparison types in implicit constraint constructors. --- src/handle.cc | 16 +++++++--------- src/problem-solver.cc | 3 ++- 2 files changed, 9 insertions(+), 10 deletions(-) diff --git a/src/handle.cc b/src/handle.cc index 9d512a25..fe5c9174 100644 --- a/src/handle.cc +++ b/src/handle.cc @@ -72,13 +72,13 @@ namespace hpp { return false; } - inline std::size_t maskSize (const std::vector<bool>& mask) + inline int maskSize (const std::vector<bool>& mask) { std::size_t res (0); for (std::size_t i = 0; i < 6; ++i) { if (mask[i]) ++res; } - return res; + return (int)res; } inline bool is6Dmask (const std::vector<bool>& mask) @@ -130,7 +130,7 @@ namespace hpp { return constraints::explicit_::RelativePose::create (n, robot (), gripper->joint (), joint (), gripper->objectPositionInJoint (), localPosition(), - mask_, ComparisonTypes_t (6, constraints::EqualToZero)); + 6 * constraints::EqualToZero); } return Implicit::create (RelativeTransformation::create (n, robot (), gripper->joint (), joint (), @@ -150,15 +150,14 @@ namespace hpp { if (is6Dmask(mask_)) { return Implicit::create ( boost::shared_ptr <ZeroDiffFunc> (new ZeroDiffFunc ( - r->configSize(), r->numberDof (), n)) - ); + r->configSize(), r->numberDof (), n)), ComparisonTypes_t()); } else { std::vector<bool> Cmask = complementMask(mask_); return Implicit::create (RelativeTransformation::create (n, r, gripper->joint (), joint (), gripper->objectPositionInJoint (), localPosition(), Cmask), - ComparisonTypes_t (maskSize (Cmask), constraints::Equality)); + maskSize(Cmask) * constraints::Equality); } } @@ -184,8 +183,7 @@ namespace hpp { if (isHandleOnFreeflyer (*this)) { return constraints::explicit_::RelativePose::create (n, robot (), gripper->joint (), joint (), - gripper->objectPositionInJoint (), localPosition(), - std::vector <bool> (6, true), comp); + gripper->objectPositionInJoint (), localPosition(), comp); } return Implicit::create (RelativeTransformation::create (n, robot (), gripper->joint (), joint (), @@ -206,7 +204,7 @@ namespace hpp { (RelativeTransformation::create (n, robot(), gripper->joint (), joint (), M, localPosition(), mask_), - ComparisonTypes_t(maskSize (mask_), constraints::EqualToZero))); + maskSize(mask_) * constraints::EqualToZero)); return result; } diff --git a/src/problem-solver.cc b/src/problem-solver.cc index 43e64d85..381549a6 100644 --- a/src/problem-solver.cc +++ b/src/problem-solver.cc @@ -324,7 +324,8 @@ namespace hpp { (hpp::constraints::ConvexShapeContact::create (name, robot_, floorSurfaces, objectSurfaces)); cvxShape->setNormalMargin(margin + width); - addNumericalConstraint (name, Implicit::create (cvxShape)); + addNumericalConstraint (name, Implicit::create + (cvxShape, 5 * constraints::EqualToZero)); } void ProblemSolver::createGraspConstraint -- GitLab