From 13fd9145936ababd1ce85bd17411487c0963d14d Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Timo=20Weberru=C3=9F?= <timo.weberruss@student.kit.edu>
Date: Mon, 3 Jul 2023 17:26:32 +0200
Subject: [PATCH] Add primitive collision model for ArmarIII

---
 data/RobotAPI/robots/Armar3/ArmarIII-Head.xml |  9 ++++++
 .../robots/Armar3/ArmarIII-LeftArm.xml        | 29 +++++++++++++++++++
 .../robots/Armar3/ArmarIII-RightArm.xml       | 29 +++++++++++++++++++
 data/RobotAPI/robots/Armar3/ArmarIII.xml      | 20 +++++++++++++
 4 files changed, 87 insertions(+)

diff --git a/data/RobotAPI/robots/Armar3/ArmarIII-Head.xml b/data/RobotAPI/robots/Armar3/ArmarIII-Head.xml
index 12a22e5a6..1fa5e30d4 100644
--- a/data/RobotAPI/robots/Armar3/ArmarIII-Head.xml
+++ b/data/RobotAPI/robots/Armar3/ArmarIII-Head.xml
@@ -114,6 +114,15 @@
         <CollisionModel>
             <File type="Inventor">convexModel/neck_yaw_link.wrl</File>
         </CollisionModel>
+        <PrimitiveModel>
+            <Primitives>
+                <Sphere radius="140">
+                    <Transform>
+                        <Translation x="40" y="0" z="180" />
+                    </Transform>
+                </Sphere>
+            </Primitives>
+        </PrimitiveModel>
 
         <Child name="Head_Tilt"/>
     </RobotNode>
diff --git a/data/RobotAPI/robots/Armar3/ArmarIII-LeftArm.xml b/data/RobotAPI/robots/Armar3/ArmarIII-LeftArm.xml
index ecf454692..2b1f340f2 100644
--- a/data/RobotAPI/robots/Armar3/ArmarIII-LeftArm.xml
+++ b/data/RobotAPI/robots/Armar3/ArmarIII-LeftArm.xml
@@ -33,6 +33,16 @@
     <CollisionModel>
       <File type="Inventor">convexModel/shoulder_l.wrl</File>
     </CollisionModel>
+    <PrimitiveModel>
+        <Primitives>
+            <Capsule height="80" radius="120">
+                <Transform>
+                    <Translation x="0" y="0" z="-90" />
+                    <rpy roll="90" pitch="0" yaw="00" unit="degree"/>
+                </Transform>
+            </Capsule>
+        </Primitives>
+    </PrimitiveModel>
     <Child name="Shoulder 2 L"/>
   </RobotNode>
 
@@ -60,6 +70,15 @@
     <CollisionModel>
       <File type="Inventor">convexModel/shoulder2_l_rot.wrl</File>
     </CollisionModel>
+    <PrimitiveModel>
+        <Primitives>
+            <Capsule height="310" radius="50">
+                <Transform>
+                    <Translation x="0" y="150" z="0" />
+                </Transform>
+            </Capsule>
+        </Primitives>
+    </PrimitiveModel>
     <Child name="Upperarm L"/>
   </RobotNode>
 
@@ -138,6 +157,16 @@
     <CollisionModel>
       <File type="Inventor">convexModel/underarm_l.wrl</File>
     </CollisionModel>
+    <PrimitiveModel>
+        <Primitives>
+            <Capsule height="240" radius="50">
+                <Transform>
+                    <Translation x="0" y="0" z="-110" />
+                    <rpy roll="90" pitch="0" yaw="0" unit="degree"/>
+                </Transform>
+            </Capsule>
+        </Primitives>
+    </PrimitiveModel>
     <Physics>
       <CoM location="VisualizationBBoxCenter"/>
       <Mass value="2.26566087" units="kg" />
diff --git a/data/RobotAPI/robots/Armar3/ArmarIII-RightArm.xml b/data/RobotAPI/robots/Armar3/ArmarIII-RightArm.xml
index d311a2e63..8f4c40157 100644
--- a/data/RobotAPI/robots/Armar3/ArmarIII-RightArm.xml
+++ b/data/RobotAPI/robots/Armar3/ArmarIII-RightArm.xml
@@ -34,6 +34,16 @@
 		<CollisionModel>
 			<File type="Inventor">convexModel/shoulder_r.wrl</File>
 		</CollisionModel>
+        <PrimitiveModel>
+            <Primitives>
+                <Capsule height="80" radius="120">
+                    <Transform>
+                        <Translation x="0" y="0" z="90" />
+                        <rpy roll="90" pitch="0" yaw="00" unit="degree"/>
+                    </Transform>
+                </Capsule>
+            </Primitives>
+        </PrimitiveModel>
 		<Child name="Shoulder 2 R"/>
 	</RobotNode>
 	
@@ -59,6 +69,15 @@
 		<CollisionModel>
 			<File type="Inventor">convexModel/shoulder2_r_rot.wrl</File>
 		</CollisionModel>
+        <PrimitiveModel>
+            <Primitives>
+                <Capsule height="310" radius="50">
+                    <Transform>
+                        <Translation x="0" y="150" z="0" />
+                    </Transform>
+                </Capsule>
+            </Primitives>
+        </PrimitiveModel>
 		<Child name="Upperarm R"/>
 	</RobotNode>
 	
@@ -133,6 +152,16 @@
  		<CollisionModel>
 			<File type="Inventor">convexModel/underarm_r.wrl</File>
 		</CollisionModel>
+        <PrimitiveModel>
+            <Primitives>
+                <Capsule height="240" radius="50">
+                    <Transform>
+                        <Translation x="0" y="0" z="-110" />
+                        <rpy roll="90" pitch="0" yaw="0" unit="degree"/>
+                    </Transform>
+                </Capsule>
+            </Primitives>
+        </PrimitiveModel>
 		<Physics>
             <CoM location="VisualizationBBoxCenter"/>
             <Mass value="2.26566087" units="kg" />
diff --git a/data/RobotAPI/robots/Armar3/ArmarIII.xml b/data/RobotAPI/robots/Armar3/ArmarIII.xml
index 0d089db9f..366892808 100644
--- a/data/RobotAPI/robots/Armar3/ArmarIII.xml
+++ b/data/RobotAPI/robots/Armar3/ArmarIII.xml
@@ -70,6 +70,16 @@
 		<CollisionModel>
 			<File type="Inventor">convexModel/platform.wrl</File>
 		</CollisionModel>
+        <PrimitiveModel>
+            <Primitives>
+                <Capsule height="400" radius="390">
+                    <Transform>
+                        <Translation x="0" y="0" z="380" />
+                        <rpy roll="90" pitch="0" yaw="0" unit="degree"/>
+                    </Transform>
+                </Capsule>
+            </Primitives>
+        </PrimitiveModel>
 		<Child name="Laser Scanner Front"/>
 		<Child name="Laser Scanner Back Left"/>
 		<Child name="Laser Scanner Back Right"/>
@@ -175,6 +185,16 @@
 		<CollisionModel>
 			<File type="Inventor">convexModel/torso.wrl</File>
 		</CollisionModel>
+        <PrimitiveModel>
+            <Primitives>
+                <Capsule height="400" radius="210">
+                    <Transform>
+                        <Translation x="0" y="-40" z="225" />
+                        <rpy roll="90" pitch="0" yaw="0" unit="degree"/>
+                    </Transform>
+                </Capsule>
+            </Primitives>
+        </PrimitiveModel>
 		<Child name="Center of Arms"/>
 	</RobotNode>
 	
-- 
GitLab