Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Implement new gripper #47

Draft
wants to merge 3 commits into
base: master
Choose a base branch
from
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 9 additions & 1 deletion cfg/config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -118,7 +118,15 @@ plugins:
topic-set-conveyor: "~/RobotinoSim/SetConveyor/"
topic-holds-puck: "~/RobotinoSim/GripperHasPuck/"
topic-joint: "/GripperJoints/Holding"
radius-grab-area: 0.1
topic-final: "~/RobotinoSim/GripperFinal/"
topic-pose: "~/RobotinoSim/GripperPose/"
topic-closed: "~/RobotinoSim/GripperClosed/"
radius-grab-area: 0.0055
gripper-tolerance: 0.002
gripper-velocity: 0.5
finger-tolerance: 0.001
finger-open-velocity: 1.0
finger-close-velocity: 0.5

light-control:
topic-instruct-machine: "~/LLSFRbSim/InstructMachine/"
Expand Down
59 changes: 59 additions & 0 deletions models/carologistics/carologistics-gripper/meshes/back_finger.dae
Original file line number Diff line number Diff line change
@@ -0,0 +1,59 @@
<?xml version="1.0" encoding="utf-8"?>
<COLLADA xmlns="http://www.collada.org/2005/11/COLLADASchema" version="1.4.1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<asset>
<contributor>
<author>Blender User</author>
<authoring_tool>Blender 3.0.0 commit date:2021-12-02, commit time:18:35, hash:f1cca3055776</authoring_tool>
</contributor>
<created>2022-01-19T18:46:19</created>
<modified>2022-01-19T18:46:19</modified>
<unit name="meter" meter="1"/>
<up_axis>Z_UP</up_axis>
</asset>
<library_images/>
<library_geometries>
<geometry id="Gripper_Base_001-mesh" name="Gripper_Base.001">
<mesh>
<source id="Gripper_Base_001-mesh-positions">
<float_array id="Gripper_Base_001-mesh-positions-array" count="84">-24.4157 180.509 119.0557 -20.9157 180.509 119.0557 -20.9157 171.509 49.0557 -24.4157 171.509 49.0557 -16.9157 162.509 -0.9442902 -24.4157 162.509 -0.9442902 -24.4157 189.509 -0.9442902 -16.9157 189.509 -0.9442902 -20.9157 180.0731 -0.9442902 -20.9157 171.9449 -0.9442902 -20.9157 180.509 49.0557 -24.4157 180.509 49.0557 -24.4157 171.509 119.0557 -20.9157 171.509 119.0557 -24.9157 189.009 -0.444294 -24.9157 163.009 -0.444294 -24.9157 163.009 48.55571 -24.9157 172.009 48.55571 -24.9157 180.009 48.55571 -24.9157 189.009 48.55571 -24.4157 189.509 49.0557 -16.9157 189.509 49.0557 -24.4157 162.509 49.0557 -16.9157 162.509 49.0557 -24.4157 171.9462 -0.9442902 -24.4157 180.0735 -0.9442902 -24.9157 180.0638 -0.444294 -24.9157 171.9747 -0.444294</float_array>
<technique_common>
<accessor source="#Gripper_Base_001-mesh-positions-array" count="28" stride="3">
<param name="X" type="float"/>
<param name="Y" type="float"/>
<param name="Z" type="float"/>
</accessor>
</technique_common>
</source>
<source id="Gripper_Base_001-mesh-normals">
<float_array id="Gripper_Base_001-mesh-normals-array" count="84">0 0 1 -1 0 0 -0.7070954 0 0.7071182 -0.707107 -0.7071067 0 0 -1 0 0 1 0 -0.7071068 0.7071068 0 -0.7071036 0 -0.7071101 -0.7071041 0 -0.7071096 -0.7070972 0 0.7071164 0.920686 0.3902894 0.003402829 0.920686 -0.3902894 0.003402829 1 0 0 -0.9999749 0 0.007091999 -0.7071068 -0.7071068 0 0 0 -1 0 0 -1 0 0 -1 -0.7071042 0 -0.7071094 -0.707107 0.7071067 0 -0.7071053 0 -0.7071083 -0.7071042 0 -0.7071095 0.9138115 0.4061385 0 0.9138115 -0.4061385 0 -0.9999749 0 0.007091999 0 0 -1 0 0 -1 -0.7071035 0 -0.7071101</float_array>
<technique_common>
<accessor source="#Gripper_Base_001-mesh-normals-array" count="28" stride="3">
<param name="X" type="float"/>
<param name="Y" type="float"/>
<param name="Z" type="float"/>
</accessor>
</technique_common>
</source>
<vertices id="Gripper_Base_001-mesh-vertices">
<input semantic="POSITION" source="#Gripper_Base_001-mesh-positions"/>
</vertices>
<triangles count="52">
<input semantic="VERTEX" source="#Gripper_Base_001-mesh-vertices" offset="0"/>
<input semantic="NORMAL" source="#Gripper_Base_001-mesh-normals" offset="1"/>
<p>1 0 12 0 13 0 27 1 16 1 17 1 27 1 18 1 26 1 19 1 26 1 18 1 16 2 3 2 17 2 2 0 22 0 23 0 22 3 15 3 5 3 23 4 5 4 4 4 6 5 21 5 7 5 20 6 14 6 19 6 15 7 24 7 5 7 25 8 14 8 6 8 19 9 11 9 20 9 20 0 10 0 21 0 2 10 4 10 9 10 7 11 10 11 8 11 2 4 12 4 3 4 13 12 10 12 1 12 2 12 8 12 10 12 11 5 1 5 10 5 12 13 18 13 17 13 18 6 0 6 11 6 3 14 12 14 17 14 5 15 9 15 4 15 8 16 24 16 25 16 6 17 8 17 25 17 25 18 27 18 26 18 1 0 0 0 12 0 27 1 15 1 16 1 27 1 17 1 18 1 19 1 14 1 26 1 16 9 22 9 3 9 2 0 3 0 22 0 22 14 16 14 15 14 23 4 22 4 5 4 6 5 20 5 21 5 20 19 6 19 14 19 15 20 27 20 24 20 25 21 26 21 14 21 19 2 18 2 11 2 20 0 11 0 10 0 2 22 23 22 4 22 7 23 21 23 10 23 2 4 13 4 12 4 13 12 2 12 10 12 2 12 9 12 8 12 11 5 0 5 1 5 12 24 0 24 18 24 5 25 24 25 9 25 8 26 9 26 24 26 6 15 7 15 8 15 25 27 24 27 27 27</p>
</triangles>
</mesh>
</geometry>
</library_geometries>
<library_visual_scenes>
<visual_scene id="Scene" name="Scene">
<node id="Back_Finger" name="Back_Finger" type="NODE">
<matrix sid="transform">1 0 0 22.89313 0 1 0 -175.8983 0 0 1 -79.05167 0 0 0 1</matrix>
<instance_geometry url="#Gripper_Base_001-mesh" name="Back_Finger"/>
</node>
</visual_scene>
</library_visual_scenes>
<scene>
<instance_visual_scene url="#Scene"/>
</scene>
</COLLADA>
59 changes: 59 additions & 0 deletions models/carologistics/carologistics-gripper/meshes/finger.dae
Original file line number Diff line number Diff line change
@@ -0,0 +1,59 @@
<?xml version="1.0" encoding="utf-8"?>
<COLLADA xmlns="http://www.collada.org/2005/11/COLLADASchema" version="1.4.1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<asset>
<contributor>
<author>Blender User</author>
<authoring_tool>Blender 2.90.1 commit date:2020-09-23, commit time:06:43, hash:3e85bb34d0d7</authoring_tool>
</contributor>
<created>2021-12-16T19:17:24</created>
<modified>2021-12-16T19:17:24</modified>
<unit name="meter" meter="1"/>
<up_axis>Z_UP</up_axis>
</asset>
<library_images/>
<library_geometries>
<geometry id="Finger-mesh" name="Finger">
<mesh>
<source id="Finger-mesh-positions">
<float_array id="Finger-mesh-positions-array" count="24">-4.797152 -0.6911965 25.55571 -2.997149 -3.808891 25.55571 2.997083 3.8088 -79.44429 4.79707 0.6911087 -79.44429 -2.997149 -3.808891 -79.44429 -4.797152 -0.6911965 -79.44429 4.79707 0.6911087 25.55571 2.997083 3.8088 25.55571</float_array>
<technique_common>
<accessor source="#Finger-mesh-positions-array" count="8" stride="3">
<param name="X" type="float"/>
<param name="Y" type="float"/>
<param name="Z" type="float"/>
</accessor>
</technique_common>
</source>
<source id="Finger-mesh-normals">
<float_array id="Finger-mesh-normals-array" count="30">-1.8838e-6 0 -1 -0.4999994 0.8660258 0 0.5000004 -0.8660252 0 0 0 1 -0.8660254 -0.5000002 0 0.8660268 0.4999975 0 9.419e-7 0 -1 -0.4999994 0.8660258 0 0.5000004 -0.8660252 0 -0.8660253 -0.5000004 0</float_array>
<technique_common>
<accessor source="#Finger-mesh-normals-array" count="10" stride="3">
<param name="X" type="float"/>
<param name="Y" type="float"/>
<param name="Z" type="float"/>
</accessor>
</technique_common>
</source>
<vertices id="Finger-mesh-vertices">
<input semantic="POSITION" source="#Finger-mesh-positions"/>
</vertices>
<triangles count="12">
<input semantic="VERTEX" source="#Finger-mesh-vertices" offset="0"/>
<input semantic="NORMAL" source="#Finger-mesh-normals" offset="1"/>
<p>3 0 5 0 2 0 5 1 7 1 2 1 6 2 4 2 3 2 0 3 6 3 7 3 5 4 1 4 0 4 7 5 3 5 2 5 3 6 4 6 5 6 5 7 0 7 7 7 6 8 1 8 4 8 0 3 1 3 6 3 5 9 4 9 1 9 7 5 6 5 3 5</p>
</triangles>
</mesh>
</geometry>
</library_geometries>
<library_visual_scenes>
<visual_scene id="Scene" name="Scene">
<node id="Finger" name="Finger" type="NODE">
<matrix sid="transform">0.5 -0.8660254 0 0 0.8660254 0.5 0 0 0 0 1 0 0 0 0 1</matrix>
<instance_geometry url="#Finger-mesh" name="Finger"/>
</node>
</visual_scene>
</library_visual_scenes>
<scene>
<instance_visual_scene url="#Scene"/>
</scene>
</COLLADA>
59 changes: 59 additions & 0 deletions models/carologistics/carologistics-gripper/meshes/gripper_base.dae

Large diffs are not rendered by default.

178 changes: 134 additions & 44 deletions models/carologistics/carologistics-gripper/model.sdf
Original file line number Diff line number Diff line change
Expand Up @@ -2,79 +2,169 @@
<sdf version="1.4">
<model name="carologistics-gripper">
<static>false</static>
<link name="link">
<link name="gripper-hand">
<gravity>false</gravity>
<pose>0 0 0 0 0 0</pose>
<!-- Origin is where the puck should be gripped -->
<visual name="back-visual">
<pose>-0.15 0 0 0 0 0</pose>
<visual name="visual">
<geometry>
<box>
<size>0.005 0.15 0.1</size>
</box>
<mesh>
<uri>model://carologistics/carologistics-gripper/meshes/gripper_base.dae</uri>
<scale>0.001 0.001 0.001</scale>
</mesh>
</geometry>
<material>
<script>
<uri>model://german_open_field/materials/scripts/</uri>
<uri>model://german_open_field/materials/textures/</uri>
<name>Logistics_League_Field/Image</name>
</script>
<ambient>0.0 0.0 0.0 0.4</ambient>
</material>
<cast_shadows>false</cast_shadows>
</visual>
<visual name="left-servo-visual">
<pose>-0.12 0.04 0 0 0 0</pose>
<inertial>
<mass>0.1</mass>
</inertial>
</link>

<link name="back-finger">
<gravity>false</gravity>
<pose>-0.0228 -0.0004 0.079 0 0 0</pose>
<visual name="visual">
<geometry>
<box>
<size>0.06 0.03 0.04</size>
</box>
<mesh>
<uri>model://carologistics/carologistics-gripper/meshes/back_finger.dae</uri>
<scale>0.001 0.001 0.001</scale>
</mesh>
</geometry>
<material>
<ambient>0.0 0.0 0.0 0.1</ambient>
<diffuse>0.0 0.0 0.0 0.11</diffuse>
</material>
<material>
<ambient>0.0 0.0 0.0 0.4</ambient>
</material>
<cast_shadows>false</cast_shadows>
</visual>
<visual name="right-servo-visual">
<pose>-0.12 -0.04 0 0 0 0</pose>
<inertial>
<mass>0.02</mass>
</inertial>
<collision name="collision-left">
<pose>0.00207 0.01 -0.0506 0 0 -0.4</pose>
<geometry>
<box>
<size>0.06 0.03 0.04</size>
<size>0.00425 0.0095 0.06</size>
</box>
</geometry>
<material>
<ambient>0.0 0.0 0.0 0.1</ambient>
<diffuse>0.0 0.0 0.0 0.11</diffuse>
</material>
<cast_shadows>false</cast_shadows>
</visual>
<visual name="left-finger-visual">
<pose>-0.04 -0.04 0 0 0 0</pose>
</collision>
<collision name="collision-middle">
<pose>-0.00007 0.0002 -0.0506 0 0 0</pose>
<geometry>
<box>
<size>0.1 0.01 0.02</size>
<size>0.00425 0.0083 0.06</size>
</box>
</geometry>
<material>
<ambient>0.7 0.6 0.0 0.8</ambient>
<diffuse>0.7 0.6 0.0 0.8</diffuse>
</material>
</collision>
<collision name="collision-right">
<pose>0.00207 -0.0096 -0.0506 0 0 0.4</pose>
<geometry>
<box>
<size>0.00425 0.0095 0.06</size>
</box>
</geometry>
</collision>
</link>
<joint name="back-finger-hinge" type="revolute">
<pose>0 0 0 0 0 0</pose>
<parent>gripper-hand</parent>
<child>back-finger</child>
<axis>
<xyz>0 1 0</xyz>
<limit>
<lower>0</lower>
<upper>0.349066</upper>
<effort>30</effort>
<velocity>1.0</velocity>
</limit>
</axis>
</joint>

<link name="left-finger">
<gravity>false</gravity>
<pose>0.0102 0.0192 0.078 0 0 1.04719</pose>
<visual name="visual">
<geometry>
<mesh>
<uri>model://carologistics/carologistics-gripper/meshes/finger.dae</uri>
<scale>0.001 0.001 0.001</scale>
</mesh>
</geometry>
<material>
<ambient>0.0 0.0 0.0 0.4</ambient>
</material>
<cast_shadows>false</cast_shadows>
</visual>
<visual name="right-finger-visual">
<pose>-0.04 0.04 0 0 0 0</pose>
<inertial>
<mass>0.02</mass>
</inertial>
<collision name="collision">
<pose>0 0 -0.0496 0 0 0</pose>
<geometry>
<box>
<size>0.1 0.01 0.02</size>
<size>0.004 0.0092 0.06</size>
</box>
</geometry>
<material>
<ambient>0.7 0.6 0.0 0.8</ambient>
<diffuse>0.7 0.6 0.0 0.8</diffuse>
</material>
</collision>
</link>
<joint name="left-finger-hinge" type="revolute">
<pose>0 0 0 0 0 1.04719</pose>
<parent>gripper-hand</parent>
<child>left-finger</child>
<axis>
<xyz>0 1 0</xyz>
<limit>
<lower>0</lower>
<upper>0.2618</upper>
<effort>30</effort>
<velocity>1.0</velocity>
</limit>
</axis>
</joint>

<link name="right-finger">
<gravity>false</gravity>
<pose>0.0102 -0.0192 0.078 0 0 -1.04719</pose>
<visual name="visual">
<geometry>
<mesh>
<uri>model://carologistics/carologistics-gripper/meshes/finger.dae</uri>
<scale>0.001 0.001 0.001</scale>
</mesh>
</geometry>
<material>
<ambient>0.0 0.0 0.0 0.4</ambient>
</material>
<cast_shadows>false</cast_shadows>
</visual>
<inertial>
<mass>0.02</mass>
</inertial>
<collision name="collision">
<pose>0 0 -0.0496 0 0 0</pose>
<geometry>
<box>
<size>0.004 0.0092 0.06</size>
</box>
</geometry>
</collision>
</link>

<joint type="revolute" name="right-finger-hinge">
<pose>0 0 0 0 0 0</pose>
<parent>gripper-hand</parent>
<child>right-finger</child>
<axis>
<xyz>0 1 0</xyz>
<limit>
<lower>0</lower>
<upper>0.2618</upper>
<effort>30</effort>
<velocity>1.0</velocity>
</limit>
</axis>
</joint>

<plugin name="Gripper" filename="libgripper.so"/>
</model>
</sdf>
Loading