From 59559d00c310280c69d9ac16720d8ac490ade4e6 Mon Sep 17 00:00:00 2001
From: Rick Staa <rick.staa@outlook.com>
Date: Fri, 27 Aug 2021 14:27:34 +0200
Subject: [PATCH] Fix panda self-collisions

As Franka changed the collision geometries from meshes to coarse shapes
(matching the collision model of the internal controller) we now observe various self-collisions
in some default poses. This commit disables collision checks between link8 and links 5+6.
as well as between link3 and link5.

The corresponding collision are handled by joint limits already.
---
 config/panda_arm.xacro | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/config/panda_arm.xacro b/config/panda_arm.xacro
index 48674a8..04bad21 100644
--- a/config/panda_arm.xacro
+++ b/config/panda_arm.xacro
@@ -41,6 +41,7 @@
         <disable_collisions link1="panda_link2" link2="panda_link3" reason="Adjacent"/>
         <disable_collisions link1="panda_link2" link2="panda_link4" reason="Never"/>
         <disable_collisions link1="panda_link3" link2="panda_link4" reason="Adjacent"/>
+        <disable_collisions link1="panda_link3" link2="panda_link5" reason="Default" />
         <disable_collisions link1="panda_link3" link2="panda_link6" reason="Never"/>
         <disable_collisions link1="panda_link4" link2="panda_link5" reason="Adjacent"/>
         <disable_collisions link1="panda_link4" link2="panda_link6" reason="Never"/>
@@ -50,5 +51,10 @@
         <disable_collisions link1="panda_link5" link2="panda_link7" reason="Default"/>
         <disable_collisions link1="panda_link6" link2="panda_link7" reason="Adjacent"/>
         <disable_collisions link1="panda_link7" link2="panda_link8" reason="Adjacent"/>
+        <!-- Fix self-collisions between coarse collision geometries provided by franka_description
+             (see https://github.com/ros-planning/panda_moveit_config/pull/35#pullrequestreview-390715967).
+             These collisions are handled by joint limits already and thus can be disabled here. -->
+        <disable_collisions link1="panda_link5" link2="panda_link8" reason="Default"/>
+        <disable_collisions link1="panda_link6" link2="panda_link8" reason="Default"/>
     </xacro:macro>
 </robot>
-- 
GitLab