From 32fcd837dd96ec69e845264edc857b0bfdba3394 Mon Sep 17 00:00:00 2001 From: Armar6 <armar6@h2t.com> Date: Mon, 30 Apr 2018 14:17:15 +0200 Subject: [PATCH] changed collision check for zero joint --- .../components/units/RobotUnit/RobotUnit.cpp | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/source/RobotAPI/components/units/RobotUnit/RobotUnit.cpp b/source/RobotAPI/components/units/RobotUnit/RobotUnit.cpp index f8fd2a54d..82eb2cbc8 100644 --- a/source/RobotAPI/components/units/RobotUnit/RobotUnit.cpp +++ b/source/RobotAPI/components/units/RobotUnit/RobotUnit.cpp @@ -2749,6 +2749,19 @@ namespace armarx // update joint values selfCollisionAvoidanceRobotSynchronization->sync(); + float absSum = 0; + VirtualRobot::RobotPtr tmpRobot = selfCollisionAvoidanceData.robot; + for (auto& node : tmpRobot->getRobotNodes()) + { + absSum += std::abs(node->getJointValue()); + } + // only check collision if joint values are not completely zero + if (absSum < 0.00001f) + { + ARMARX_INFO << deactivateSpam() << "All joint values are zero - skipping collision check for now"; + return; + } + // check distances between all collision models std::vector<VirtualRobot::SceneObjectSetPtr> conflictingColModels; -- GitLab