├── .gitignore ├── README.md ├── robotiq_2f_140_gripper_visualization ├── CMakeLists.txt ├── README.md ├── launch │ └── test_2f_140_model.launch ├── meshes │ ├── collision │ │ ├── robotiq_arg2f_140_inner_finger.stl │ │ ├── robotiq_arg2f_140_inner_knuckle.stl │ │ ├── robotiq_arg2f_140_outer_finger.stl │ │ ├── robotiq_arg2f_140_outer_knuckle.stl │ │ ├── robotiq_arg2f_base_link.stl │ │ └── robotiq_arg2f_coupling.stl │ └── visual │ │ ├── robotiq_arg2f_140_inner_finger.stl │ │ ├── robotiq_arg2f_140_inner_knuckle.stl │ │ ├── robotiq_arg2f_140_outer_finger.stl │ │ ├── robotiq_arg2f_140_outer_knuckle.stl │ │ ├── robotiq_arg2f_base_link.stl │ │ └── robotiq_arg2f_coupling.stl ├── package.xml ├── urdf │ ├── robotiq_arg2f.xacro │ ├── robotiq_arg2f_140_model.xacro │ ├── robotiq_arg2f_140_model_macro.xacro │ └── robotiq_arg2f_transmission.xacro └── visualize.rviz ├── robotiq_2f_85_gripper_visualization ├── CMakeLists.txt ├── README.md ├── launch │ └── test_2f_85_model.launch ├── meshes │ ├── collision │ │ ├── robotiq_arg2f_85_base_link.stl │ │ ├── robotiq_arg2f_85_inner_finger.dae │ │ ├── robotiq_arg2f_85_inner_knuckle.dae │ │ ├── robotiq_arg2f_85_outer_finger.dae │ │ ├── robotiq_arg2f_85_outer_knuckle.dae │ │ └── robotiq_arg2f_base_link.stl │ └── visual │ │ ├── robotiq_arg2f_85_base_link.dae │ │ ├── robotiq_arg2f_85_inner_finger.dae │ │ ├── robotiq_arg2f_85_inner_knuckle.dae │ │ ├── robotiq_arg2f_85_outer_finger.dae │ │ ├── robotiq_arg2f_85_outer_knuckle.dae │ │ ├── robotiq_arg2f_85_pad.dae │ │ └── robotiq_gripper_coupling.stl ├── package.xml ├── urdf │ ├── robotiq_arg2f.xacro │ ├── robotiq_arg2f_85_model.xacro │ ├── robotiq_arg2f_85_model_macro.xacro │ └── robotiq_arg2f_transmission.xacro └── visualize.rviz ├── robotiq_2f_gripper_control ├── CMakeLists.txt ├── include │ └── robotiq_2f_gripper_control │ │ └── robotiq_gripper_client.h ├── launch │ ├── robotiq_action_server.launch │ ├── robotiq_dual_action_server.launch │ ├── test_140mm_gripper.launch │ └── test_85mm_gripper.launch ├── package.xml ├── scripts │ ├── robotiq_2f_action_client_example.py │ └── robotiq_2f_action_server.py ├── setup.py └── src │ └── robotiq_2f_gripper_control │ ├── __init__.py │ ├── modbus_crc.py │ ├── robotiq_2f_gripper.py │ └── robotiq_2f_gripper_driver.py ├── robotiq_2f_gripper_msgs ├── CMakeLists.txt ├── action │ └── CommandRobotiqGripper.action ├── msg │ ├── RobotiqGripperCommand.msg │ └── RobotiqGripperStatus.msg └── package.xml └── robotiq_modbus_rtu ├── CMakeLists.txt ├── mainpage.dox ├── package.xml ├── setup.py └── src └── robotiq_modbus_rtu ├── __init__.py └── comModbusRtu.py /.gitignore: -------------------------------------------------------------------------------- 1 | *.pyc 2 | .vscode/ 3 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | This package contains the necesary files to connect and control the Robotiq 2 finger adaptive grippers (85mm and 140mm stroke) of the `C` series through a **USB port using the Modbus RTU communication protocol**. (Currently only URDF descriptions of models C3 are available) 2 | 3 | ![C3 models](https://user-images.githubusercontent.com/8356912/52115661-78872b00-260f-11e9-8eb3-960747131df6.jpg) 4 | 5 | Note: This package is based on [waypointrobotics/robotiq_85_gripper](https://github.com/waypointrobotics/robotiq_85_gripper) and [ros-industrial/robotiq](https://github.com/ros-industrial/robotiq), with many code changes and feature inclusions as: 6 | 7 | - Use of ros `actionlib` Action Server/Clients to properly connect, control and command the grippers. 8 | - Gripper driver joint position update to `/joint_state` topic. 9 | - Simulation of grippers operation. 10 | - Configuration of collision meshes as simplified convex hulls of the visual meshes for both 85mm and 140mm stroke grippers. 11 | - Helper functions and examples for python and C++. 12 | 13 | *A pull request to this packages requires further analysis since I performed many structural changes, which will create conflict for previous users.* 14 | ### Ros Distro 15 | This package has been tested on `Kinetic` and `Melodic`. 16 | # Contents 17 | - [Contents](#contents) 18 | - [Operation Instructions](#operation-instructions) 19 | - [Serial Port Configuration](#serial-port-configuration) 20 | - [Test communication and control](#test-communication-and-control) 21 | - [Documentation](#documentation) 22 | - [Control Robotiq gripper/s](#control-robotiq-grippers) 23 | - [Node `robotiq_2f_action_server`](#node-robotiq2factionserver) 24 | - [Arguments:](#arguments) 25 | - [Action type:](#action-type) 26 | - [Command gripper through an instance of a `SimpleActionClient` in Python](#command-gripper-through-an-instance-of-a-simpleactionclient-in-python) 27 | - [Command gripper through an instance of a `SimpleActionClient` in C++](#command-gripper-through-an-instance-of-a-simpleactionclient-in-c) 28 | - [Operation of Multiple Grippers](#operation-of-multiple-grippers) 29 | # Operation Instructions 30 | 31 | Prior to executing control of the grippers make sure you have connected a [_2-finger adaptive gripper model_](https://robotiq.com/support/2-finger-adaptive-robot-gripper) to a USB port of your computer. The RS-485 to USB converter _ACC-ADT-USB-RS485_ that comes by default when you order these grippers allow connecting the 2-finger gripper directly to a computer through a USB 2.0 port using Modbus RTU communication protocol. 32 | ## Serial Port Configuration 33 | 34 | To control the gripper over a serial port, you may need to give proper privileges to the user: 35 | ``` 36 | sudo adduser dialout 37 | ``` 38 | To find out the port on which the controller is connected, use: 39 | ``` 40 | dmesg | grep tty 41 | ``` 42 | The output should look something similar to: 43 | ``` 44 | [####.#####] USB 1-2: FTDI USB Serial Device converter now attached to ttyUSB0 45 | ``` 46 | ## Test communication and control 47 | 48 | On a new terminal type the following line: 49 | ``` 50 | # Connect and move 85 mm gripper 51 | roslaunch robotiq_2f_gripper_control test_85mm_gripper.launch comport:="" 52 | # Simulate 85mm gripper 53 | roslaunch robotiq_2f_gripper_control test_85mm_gripper.launch sim:=true 54 | ``` 55 | This launch file starts a `robotiq_action_server` and an example action client which recursively commands the the real gripper *or simulated one) with diferent poses/speeds while updating the gripper joints on `rviz`. 56 | 57 | ![gripper operation](https://user-images.githubusercontent.com/8356912/52121064-a0ca5600-261e-11e9-8ad1-6b2855f11909.gif) 58 | 59 | # Documentation 60 | ## Control Robotiq gripper/s 61 | The control of both 140mm and 85mm stroke robotiq grippers is done though an `actionlib` client-server interaction (see actionlib [documentation](http://wiki.ros.org/actionlib)). 62 | 63 | ![robotiq_actionlib_structure](https://user-images.githubusercontent.com/8356912/50008462-8d065a00-ffb4-11e8-931b-d686bf16c414.png) 64 | *** 65 | ### Node `robotiq_2f_action_server` 66 | This node creates an instance of an action server that will handle the gripper connection, initialization, joint state publishing, and control by listening for incoming goals on the action name `command_robotiq_action`. It offers also the option to simulate a gripper response to incoming goals. 67 | 68 | #### Arguments: 69 | - `sim`: Whether to use a simulated gripper or not 70 | - `comport`: Communication port to which the gripper is connected. 71 | - `baud`: Communication baud rate (must be the same baud rate as configured on the gripper) 72 | - `stroke`: Stroke of the gripper (maximum distance between fingers) currently only 0.085m or 0.140m values are supported. 73 | - `joint_name`: Name of the gripper driver joint as defined in your robot URDF description. This parameter is used to publish the state of the gripper joint on the `/joint_states` topic. Default is `finger_joint`. 74 | - `rate`: Frequency in Hz to send/request of data to the gripper and update of joint state. 75 | 76 | #### Action type: 77 | [`CommandRobotiqGripper.action`](https://github.com/Danfoa/robotiq_2finger_grippers/blob/master/robotiq_2f_gripper_msgs/action/CommandRobotiqGripper.action) (see action declaration for `goal`, `feedback` and `result` message fields) 78 | 79 | or 80 | 81 | [`FollowJointTrajectory.action`](http://docs.ros.org/api/control_msgs/html/action/FollowJointTrajectory.html) (see action declaration for `goal`, `feedback` and `result` message fields): This is the default control scheme from MoveIt!, meaning that with the appropiate configuration you can plan and command the gripper through the MoveIt!-Rviz GUI, and through Pick and Place operations. 82 | 83 | Note: The Action Server will only become active and ready after Robotiq gripper has been propertly initialized (see robotiq documentation). 84 | 85 | *** 86 | ### Command gripper through an instance of a `SimpleActionClient` in Python 87 | An example action client implementation is provided on the script [`robotiq_2f_action_client_example.py`](https://github.com/Danfoa/robotiq_2finger_grippers/blob/master/robotiq_2f_gripper_control/scripts/robotiq_2f_action_client_example.py), showing how to initialize the client, create custom goals, and use predefined functions for fast control of the gripper, position, speed and force. But basically you just need to: 88 | 89 | Import the Action messages and actionlib library 90 | ``` 91 | import actionlib 92 | from robotiq_2f_gripper_msgs.msg import CommandRobotiqGripperFeedback, CommandRobotiqGripperResult, CommandRobotiqGripperAction, CommandRobotiqGripperGoal 93 | from robotiq_2f_gripper_control.robotiq_2f_gripper_driver import Robotiq2FingerGripperDriver as Robotiq 94 | ``` 95 | Instantiate the action client 96 | ``` 97 | action_name = 'command_robotiq_action' # Use your action server namespace if necesary 98 | # Create an action client 99 | robotiq_client = actionlib.SimpleActionClient(action_name, CommandRobotiqGripperAction) 100 | # Wait until grippers are ready to take command (communication is stablished and gripper is activated) 101 | robotiq_client.wait_for_server() 102 | ``` 103 | Command your robotiq gripper 104 | ``` 105 | # Use pre-defined functions for robot gripper manipulation. 106 | Robotiq.close(robotiq_client, block=True) # Close and wait until completion 107 | Robotiq.open(robotiq_client, block=False) # Open and do not block thread while completing goal 108 | Robotiq.goto(robotiq_client, pos=0.04, speed=0.1, force=10, block=True) # Send command Pose[m], speed[m/s], force [%] 109 | Robotiq.emergency_release(robotiq_client) # Slowly open gripper and deactivate it 110 | ``` 111 | ### Command gripper through an instance of a `SimpleActionClient` in C++ 112 | Import the Action messages and actionlib library 113 | ``` 114 | #include 115 | #include 116 | #include 117 | 118 | typedef robotiq_2f_gripper_control::RobotiqActionClient RobotiqActionClient; 119 | ``` 120 | Instantiate a `RobotiqActionClient` class 121 | ``` 122 | std::string action_name = "/command_robotiq_action"; 123 | bool wait_for_server = true; // Wait for Action Server connection (gripper is ready and activated) 124 | RobotiqActionClient* gripper = new RobotiqActionClient(action_name, wait_for_server); 125 | ``` 126 | Command your robotiq gripper 127 | ``` 128 | gripper.close(speed, force, false); // Close and do not wait 129 | gripper.close(); // Block thread until gripper is closed. 130 | gripper.open(); 131 | gripper.goToPosition( position, speed, force, true); 132 | ``` 133 | *** 134 | ## Operation of Multiple Grippers 135 | To control multiple grippers simultaneously you need to correctly namespace the grippers Action service and client nodes. A correct example is provided in the [`robotiq_dual_action_server.launch`](https://github.com/Danfoa/robotiq_2finger_grippers/blob/master/robotiq_2f_gripper_control/launch/robotiq_dual_action_server.launch) file. 136 | 137 | -------------------------------------------------------------------------------- /robotiq_2f_140_gripper_visualization/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | cmake_minimum_required(VERSION 2.8.3) 2 | project(robotiq_2f_140_gripper_visualization) 3 | find_package(catkin REQUIRED) 4 | catkin_package() 5 | 6 | install(DIRECTORY meshes DESTINATION ${CATKIN_PACKAGE_SHARE_DESTINATION}) 7 | install(DIRECTORY urdf DESTINATION ${CATKIN_PACKAGE_SHARE_DESTINATION}) 8 | -------------------------------------------------------------------------------- /robotiq_2f_140_gripper_visualization/README.md: -------------------------------------------------------------------------------- 1 | # Robotiq 140mm 2-Finger-Adaptive-Gripper 2 | 3 | This package contains the URDF files describing the 140mm stroke gripper from robotiq, also known as series **C3**. 4 | 5 | To test the gripper URDF description type 6 | 7 | ``` 8 | roslaunch robotiq_2f_140_gripper_visualization test_2f_140_model.launch 9 | ``` 10 | ## Robot Visual 11 | ![140](https://user-images.githubusercontent.com/8356912/49428409-463f8580-f7a6-11e8-8278-5246acdc5c14.png) 12 | 13 | ## Robot Collision 14 | ![1402](https://user-images.githubusercontent.com/8356912/49428407-463f8580-f7a6-11e8-9c4e-df69e478f107.png) 15 | -------------------------------------------------------------------------------- /robotiq_2f_140_gripper_visualization/launch/test_2f_140_model.launch: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /robotiq_2f_140_gripper_visualization/meshes/collision/robotiq_arg2f_140_inner_finger.stl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Danfoa/robotiq_2finger_grippers/4a98b19a83e73c2adadb4deb8b1406153e0ddcf9/robotiq_2f_140_gripper_visualization/meshes/collision/robotiq_arg2f_140_inner_finger.stl -------------------------------------------------------------------------------- /robotiq_2f_140_gripper_visualization/meshes/collision/robotiq_arg2f_140_inner_knuckle.stl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Danfoa/robotiq_2finger_grippers/4a98b19a83e73c2adadb4deb8b1406153e0ddcf9/robotiq_2f_140_gripper_visualization/meshes/collision/robotiq_arg2f_140_inner_knuckle.stl -------------------------------------------------------------------------------- /robotiq_2f_140_gripper_visualization/meshes/collision/robotiq_arg2f_140_outer_finger.stl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Danfoa/robotiq_2finger_grippers/4a98b19a83e73c2adadb4deb8b1406153e0ddcf9/robotiq_2f_140_gripper_visualization/meshes/collision/robotiq_arg2f_140_outer_finger.stl -------------------------------------------------------------------------------- /robotiq_2f_140_gripper_visualization/meshes/collision/robotiq_arg2f_140_outer_knuckle.stl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Danfoa/robotiq_2finger_grippers/4a98b19a83e73c2adadb4deb8b1406153e0ddcf9/robotiq_2f_140_gripper_visualization/meshes/collision/robotiq_arg2f_140_outer_knuckle.stl -------------------------------------------------------------------------------- /robotiq_2f_140_gripper_visualization/meshes/collision/robotiq_arg2f_base_link.stl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Danfoa/robotiq_2finger_grippers/4a98b19a83e73c2adadb4deb8b1406153e0ddcf9/robotiq_2f_140_gripper_visualization/meshes/collision/robotiq_arg2f_base_link.stl -------------------------------------------------------------------------------- /robotiq_2f_140_gripper_visualization/meshes/collision/robotiq_arg2f_coupling.stl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Danfoa/robotiq_2finger_grippers/4a98b19a83e73c2adadb4deb8b1406153e0ddcf9/robotiq_2f_140_gripper_visualization/meshes/collision/robotiq_arg2f_coupling.stl -------------------------------------------------------------------------------- /robotiq_2f_140_gripper_visualization/meshes/visual/robotiq_arg2f_140_inner_finger.stl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Danfoa/robotiq_2finger_grippers/4a98b19a83e73c2adadb4deb8b1406153e0ddcf9/robotiq_2f_140_gripper_visualization/meshes/visual/robotiq_arg2f_140_inner_finger.stl -------------------------------------------------------------------------------- /robotiq_2f_140_gripper_visualization/meshes/visual/robotiq_arg2f_140_inner_knuckle.stl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Danfoa/robotiq_2finger_grippers/4a98b19a83e73c2adadb4deb8b1406153e0ddcf9/robotiq_2f_140_gripper_visualization/meshes/visual/robotiq_arg2f_140_inner_knuckle.stl -------------------------------------------------------------------------------- /robotiq_2f_140_gripper_visualization/meshes/visual/robotiq_arg2f_140_outer_finger.stl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Danfoa/robotiq_2finger_grippers/4a98b19a83e73c2adadb4deb8b1406153e0ddcf9/robotiq_2f_140_gripper_visualization/meshes/visual/robotiq_arg2f_140_outer_finger.stl -------------------------------------------------------------------------------- /robotiq_2f_140_gripper_visualization/meshes/visual/robotiq_arg2f_140_outer_knuckle.stl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Danfoa/robotiq_2finger_grippers/4a98b19a83e73c2adadb4deb8b1406153e0ddcf9/robotiq_2f_140_gripper_visualization/meshes/visual/robotiq_arg2f_140_outer_knuckle.stl -------------------------------------------------------------------------------- /robotiq_2f_140_gripper_visualization/meshes/visual/robotiq_arg2f_base_link.stl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Danfoa/robotiq_2finger_grippers/4a98b19a83e73c2adadb4deb8b1406153e0ddcf9/robotiq_2f_140_gripper_visualization/meshes/visual/robotiq_arg2f_base_link.stl -------------------------------------------------------------------------------- /robotiq_2f_140_gripper_visualization/meshes/visual/robotiq_arg2f_coupling.stl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Danfoa/robotiq_2finger_grippers/4a98b19a83e73c2adadb4deb8b1406153e0ddcf9/robotiq_2f_140_gripper_visualization/meshes/visual/robotiq_arg2f_coupling.stl -------------------------------------------------------------------------------- /robotiq_2f_140_gripper_visualization/package.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | robotiq_2f_140_gripper_visualization 4 | 1.0.0 5 | Robotiq ARG 2-Finger 140mm model C3 description package 6 | BSD 7 | http://ros.org/wiki/robotiq 8 | Ryan Sinnet 9 | Jean-Philippe Roberge 10 | Daniel Ordonez 11 | 12 | catkin 13 | 14 | urdf 15 | 16 | 17 | -------------------------------------------------------------------------------- /robotiq_2f_140_gripper_visualization/urdf/robotiq_arg2f.xacro: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | -------------------------------------------------------------------------------- /robotiq_2f_140_gripper_visualization/urdf/robotiq_arg2f_140_model.xacro: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /robotiq_2f_140_gripper_visualization/urdf/robotiq_arg2f_140_model_macro.xacro: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 | 91 | 92 | 93 | 94 | 95 | 96 | 97 | 98 | 99 | 100 | 101 | 102 | 103 | 110 | 111 | 112 | 113 | 114 | 115 | 116 | 117 | 118 | 119 | 120 | 121 | 122 | 123 | 124 | 125 | 126 | 127 | 128 | 129 | 130 | 131 | 132 | 133 | 134 | 135 | 136 | 137 | 138 | 139 | 140 | 141 | 142 | 143 | 144 | 145 | 146 | 147 | 148 | 149 | 150 | 151 | 152 | 153 | 154 | 155 | 156 | 157 | 158 | 159 | 160 | 161 | 162 | 163 | 164 | 165 | 166 | 167 | 168 | 169 | 170 | 171 | 172 | 173 | 174 | 175 | 176 | 177 | 178 | 179 | 180 | 181 | 182 | 183 | 184 | 185 | 186 | 187 | 188 | 189 | 190 | 191 | 192 | 193 | 194 | 195 | 196 | 197 | 198 | 199 | 200 | 201 | 202 | 203 | 204 | 205 | 206 | 207 | 208 | 209 | 210 | 211 | 212 | 213 | 214 | 215 | 216 | 217 | 218 | 219 | 220 | 221 | 222 | 223 | 224 | 225 | 226 | 227 | -------------------------------------------------------------------------------- /robotiq_2f_140_gripper_visualization/urdf/robotiq_arg2f_transmission.xacro: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | transmission_interface/SimpleTransmission 6 | 7 | PositionJointInterface 8 | 9 | 10 | 1 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /robotiq_2f_140_gripper_visualization/visualize.rviz: -------------------------------------------------------------------------------- 1 | Panels: 2 | - Class: rviz/Displays 3 | Help Height: 78 4 | Name: Displays 5 | Property Tree Widget: 6 | Expanded: 7 | - /RobotModel1 8 | - /RobotModel1/Link/Joint Tree1 9 | Splitter Ratio: 0.57432431 10 | Tree Height: 815 11 | - Class: rviz/Selection 12 | Name: Selection 13 | - Class: rviz/Tool Properties 14 | Expanded: 15 | - /2D Pose Estimate1 16 | - /2D Nav Goal1 17 | - /Publish Point1 18 | Name: Tool Properties 19 | Splitter Ratio: 0.588679016 20 | - Class: rviz/Views 21 | Expanded: 22 | - /Current View1 23 | Name: Views 24 | Splitter Ratio: 0.5 25 | - Class: rviz/Time 26 | Experimental: false 27 | Name: Time 28 | SyncMode: 0 29 | SyncSource: "" 30 | Visualization Manager: 31 | Class: "" 32 | Displays: 33 | - Alpha: 1 34 | Class: rviz/RobotModel 35 | Collision Enabled: false 36 | Enabled: true 37 | Link/Joint Tree: 38 | All Links Enabled: true 39 | Expand Joint Details: false 40 | Expand Link Details: false 41 | Expand Tree: false 42 | Link Tree Style: Tree of links and joints 43 | robotiq_arg2f_base_link: 44 | Details: 45 | Alpha: 1 46 | Show Axes: false 47 | Show Trail: false 48 | Value: true 49 | finger_joint: 50 | Details: 51 | Show Axes: false 52 | Show Joint Axis: false 53 | Value: true 54 | left_outer_knuckle: 55 | Details: 56 | Alpha: 1 57 | Show Axes: false 58 | Show Trail: false 59 | Value: true 60 | left_outer_finger_joint: 61 | Details: 62 | Show Axes: false 63 | Value: true 64 | left_outer_finger: 65 | Details: 66 | Alpha: 1 67 | Show Axes: false 68 | Show Trail: false 69 | Value: true 70 | left_inner_finger_joint: 71 | Details: 72 | Show Axes: false 73 | Show Joint Axis: false 74 | Value: true 75 | left_inner_finger: 76 | Details: 77 | Alpha: 1 78 | Show Axes: false 79 | Show Trail: false 80 | Value: true 81 | left_inner_finger_pad_joint: 82 | Details: 83 | Show Axes: false 84 | Value: true 85 | left_inner_finger_pad: 86 | Details: 87 | Alpha: 1 88 | Show Axes: false 89 | Show Trail: false 90 | Value: true 91 | left_inner_knuckle_joint: 92 | Details: 93 | Show Axes: false 94 | Show Joint Axis: false 95 | Value: true 96 | left_inner_knuckle: 97 | Details: 98 | Alpha: 1 99 | Show Axes: false 100 | Show Trail: false 101 | Value: true 102 | right_inner_knuckle_joint: 103 | Details: 104 | Show Axes: false 105 | Show Joint Axis: false 106 | Value: true 107 | right_inner_knuckle: 108 | Details: 109 | Alpha: 1 110 | Show Axes: false 111 | Show Trail: false 112 | Value: true 113 | right_outer_knuckle_joint: 114 | Details: 115 | Show Axes: false 116 | Show Joint Axis: false 117 | Value: true 118 | right_outer_knuckle: 119 | Details: 120 | Alpha: 1 121 | Show Axes: false 122 | Show Trail: false 123 | Value: true 124 | right_outer_finger_joint: 125 | Details: 126 | Show Axes: false 127 | Value: true 128 | right_outer_finger: 129 | Details: 130 | Alpha: 1 131 | Show Axes: false 132 | Show Trail: false 133 | Value: true 134 | right_inner_finger_joint: 135 | Details: 136 | Show Axes: false 137 | Show Joint Axis: false 138 | Value: true 139 | right_inner_finger: 140 | Details: 141 | Alpha: 1 142 | Show Axes: false 143 | Show Trail: false 144 | Value: true 145 | right_inner_finger_pad_joint: 146 | Details: 147 | Show Axes: false 148 | Value: true 149 | right_inner_finger_pad: 150 | Details: 151 | Alpha: 1 152 | Show Axes: false 153 | Show Trail: false 154 | Value: true 155 | Name: RobotModel 156 | Robot Description: robot_description 157 | TF Prefix: "" 158 | Update Interval: 0 159 | Value: true 160 | Visual Enabled: true 161 | - Alpha: 0.5 162 | Cell Size: 1 163 | Class: rviz/Grid 164 | Color: 160; 160; 164 165 | Enabled: true 166 | Line Style: 167 | Line Width: 0.0299999993 168 | Value: Lines 169 | Name: Grid 170 | Normal Cell Count: 0 171 | Offset: 172 | X: 0 173 | Y: 0 174 | Z: 0 175 | Plane: XY 176 | Plane Cell Count: 10 177 | Reference Frame: 178 | Value: true 179 | Enabled: true 180 | Global Options: 181 | Background Color: 48; 48; 48 182 | Default Light: true 183 | Fixed Frame: robotiq_arg2f_base_link 184 | Frame Rate: 30 185 | Name: root 186 | Tools: 187 | - Class: rviz/Interact 188 | Hide Inactive Objects: true 189 | - Class: rviz/MoveCamera 190 | - Class: rviz/Select 191 | - Class: rviz/FocusCamera 192 | - Class: rviz/Measure 193 | - Class: rviz/SetInitialPose 194 | Topic: /initialpose 195 | - Class: rviz/SetGoal 196 | Topic: /move_base_simple/goal 197 | - Class: rviz/PublishPoint 198 | Single click: true 199 | Topic: /clicked_point 200 | Value: true 201 | Views: 202 | Current: 203 | Class: rviz/Orbit 204 | Distance: 0.409954339 205 | Enable Stereo Rendering: 206 | Stereo Eye Separation: 0.0599999987 207 | Stereo Focal Distance: 1 208 | Swap Stereo Eyes: false 209 | Value: false 210 | Focal Point: 211 | X: -0.00203653378 212 | Y: 0.00489575882 213 | Z: 0.0903690681 214 | Focal Shape Fixed Size: true 215 | Focal Shape Size: 0.0500000007 216 | Invert Z Axis: false 217 | Name: Current View 218 | Near Clip Distance: 0.00999999978 219 | Pitch: 0.265203476 220 | Target Frame: 221 | Value: Orbit (rviz) 222 | Yaw: 0.352224886 223 | Saved: ~ 224 | Window Geometry: 225 | Displays: 226 | collapsed: false 227 | Height: 1028 228 | Hide Left Dock: false 229 | Hide Right Dock: false 230 | QMainWindow State: 000000ff00000000fd0000000400000000000001be000003befc0200000008fb0000001200530065006c0065006300740069006f006e00000001e10000009b0000006100fffffffb0000001e0054006f006f006c002000500072006f007000650072007400690065007302000001ed000001df00000185000000a3fb000000120056006900650077007300200054006f006f02000001df000002110000018500000122fb000000200054006f006f006c002000500072006f0070006500720074006900650073003203000002880000011d000002210000017afb000000100044006900730070006c0061007900730100000028000003be000000d700fffffffb0000002000730065006c0065006300740069006f006e00200062007500660066006500720200000138000000aa0000023a00000294fb00000014005700690064006500530074006500720065006f02000000e6000000d2000003ee0000030bfb0000000c004b0069006e0065006300740200000186000001060000030c0000026100000001000001320000038afc0200000003fb0000001e0054006f006f006c002000500072006f00700065007200740069006500730100000041000000780000000000000000fb0000000a0056006900650077007300000000280000038a000000ad00fffffffb0000001200530065006c0065006300740069006f006e010000025a000000b200000000000000000000000200000490000000a9fc0100000001fb0000000a00560069006500770073030000004e00000080000002e10000019700000003000007800000004afc0100000002fb0000000800540069006d00650000000000000007800000030000fffffffb0000000800540069006d0065010000000000000450000000000000000000000452000003be00000004000000040000000800000008fc0000000100000002000000010000000a0054006f006f006c00730100000000ffffffff0000000000000000 231 | Selection: 232 | collapsed: false 233 | Time: 234 | collapsed: false 235 | Tool Properties: 236 | collapsed: false 237 | Views: 238 | collapsed: false 239 | Width: 1558 240 | X: 322 241 | Y: 24 242 | -------------------------------------------------------------------------------- /robotiq_2f_85_gripper_visualization/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | cmake_minimum_required(VERSION 2.8.3) 2 | project(robotiq_2f_85_gripper_visualization) 3 | find_package(catkin REQUIRED) 4 | catkin_package() 5 | 6 | install(DIRECTORY meshes DESTINATION ${CATKIN_PACKAGE_SHARE_DESTINATION}) 7 | install(DIRECTORY urdf DESTINATION ${CATKIN_PACKAGE_SHARE_DESTINATION}) 8 | -------------------------------------------------------------------------------- /robotiq_2f_85_gripper_visualization/README.md: -------------------------------------------------------------------------------- 1 | # Robotiq 85mm 2-Finger-Adaptive-Gripper 2 | 3 | This package contains the URDF files describing the 85mm stroke gripper from robotiq, also known as series **C3**. 4 | 5 | To test the gripper URDF description type 6 | 7 | ``` 8 | roslaunch robotiq_2f_85_gripper_visualization test_2f_85_model.launch 9 | ``` 10 | ## Robot Visual 11 | ![85](https://user-images.githubusercontent.com/8356912/49428405-45a6ef00-f7a6-11e8-822b-c6870c39d445.png) 12 | 13 | ## Robot Collision 14 | ![852](https://user-images.githubusercontent.com/8356912/49428404-450e5880-f7a6-11e8-82a8-564247ebe7fc.png) 15 | 16 | -------------------------------------------------------------------------------- /robotiq_2f_85_gripper_visualization/launch/test_2f_85_model.launch: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /robotiq_2f_85_gripper_visualization/meshes/collision/robotiq_arg2f_85_base_link.stl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Danfoa/robotiq_2finger_grippers/4a98b19a83e73c2adadb4deb8b1406153e0ddcf9/robotiq_2f_85_gripper_visualization/meshes/collision/robotiq_arg2f_85_base_link.stl -------------------------------------------------------------------------------- /robotiq_2f_85_gripper_visualization/meshes/collision/robotiq_arg2f_85_inner_finger.dae: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | VCGLab 6 | VCGLib | MeshLab 7 | 8 | Mon Dec 3 16:35:50 2018 GMT 9 | Mon Dec 3 16:35:50 2018 GMT 10 | Y_UP 11 | 12 | 13 | 14 | 15 | 16 | 7 -18.9031 44.5146 -7 -13.9031 44.5149 -7 -18.9031 44.5146 7 -13.9031 44.5149 -7 -23.9018 13.5144 7 -23.9018 13.5144 -7 5.563 2.24789 7 5.563 2.24789 -7 -1.45127 -5.82184 7 -0.834774 -5.94165 7 -1.45127 -5.82184 -7 -0.834774 -5.94165 7 -2.05187 -5.63825 -7 -2.05187 -5.63825 -7 -19.9533 0.87644 7 -19.9533 0.87644 -7 5.7675 1.65408 7 5.7675 1.65408 7 5.9088 1.04215 -7 5.9088 1.04215 7 -20.6251 1.16853 -7 -20.6251 1.16853 7 -23.9014 6.51442 -7 -23.9014 6.51442 7 -21.2564 1.54031 -7 -21.8376 1.98625 7 -21.8376 1.98625 -7 -21.2564 1.54031 7 -22.8162 3.07301 7 -23.199 3.69762 -7 -23.199 3.69762 -7 -22.8162 3.07301 -7 -23.5028 4.36423 7 -23.5028 4.36423 -7 -23.7231 5.0629 7 -23.7231 5.0629 7 5.98537 0.418805 -7 5.98537 0.418805 -7 5.99635 -0.20913 7 5.99635 -0.20913 7 -22.3601 2.49971 -7 -22.3601 2.49971 -7 -23.8567 5.78321 7 -23.8567 5.78321 -7.5 -22.1867 3.93849 -7.5 4.9959 -0.202394 -7.5 4.98562 0.378963 -7.5 -21.9642 9.42908 -7.5 -21.5984 9.88103 -7.5 2.16462 4.50715 -7.5 2.67323 4.22538 -7.5 2.821 -4.12819 -7.5 3.28118 -3.77278 -7.5 -16.2747 11.2427 -7.5 1.62673 4.72797 -7.5 -0.492538 -4.97568 -7.5 -1.06685 -4.88486 -7.5 0.66821 -4.95515 -7.5 1.23895 -4.84407 -7.5 4.62539 -1.89889 -7.5 4.37367 -2.42302 -7.5 4.55534 2.06129 -7.5 4.76383 1.51851 -7.5 3.14569 3.88647 -7.5 -22.8401 7.2957 -7.5 -22.716 7.86376 -7.5 -19.1404 11.3588 -7.5 -18.5696 11.4698 -7.5 -20.2241 10.9425 -7.5 -20.7224 10.6429 -7.5 -21.4771 3.01969 -7.5 -21.0471 2.62822 -7.5 -19.5282 1.78671 -7.5 -1.62673 -4.72797 -7.5 -20.066 2.00753 -7.5 4.90791 0.955196 -7.5 4.28523 2.5762 -7.5 3.95718 3.05626 -7.5 -22.5268 8.41357 -7.5 -21.1826 10.2875 -7.5 -17.9899 11.5139 -7.5 1.79293 -4.66748 -7.5 -20.5747 2.28931 -7.5 -22.8871 6.13572 -7.5 -22.8093 5.55949 -7.5 4.93862 -0.781014 -7.5 -17.4089 11.4904 -7.5 3.57561 3.495 -7.5 -22.2751 8.93771 -7.5 -22.8973 6.71708 -7.5 -19.6944 11.1822 -7.5 0.0884342 -4.99922 -7.5 -16.8346 11.3995 -7.5 4.81456 -1.34907 -7.5 3.69699 -3.36635 -7.5 -21.8586 3.45843 -7.5 2.32267 -4.42777 -7.5 -22.6653 4.99618 -7.5 4.0628 -2.91439 -7.5 -22.4568 4.4534 7 5.94165 -0.834774 -7 5.94165 -0.834774 7 3.85693 -4.5961 -7 3.35538 -4.97408 -7 3.85693 -4.5961 7 3.35538 -4.97408 -7 5.08843 -3.17929 7 5.08843 -3.17929 7 4.72823 -3.69376 -7 4.72823 -3.69376 -7 5.39288 -2.62999 7 5.39288 -2.62999 -7 5.63825 -2.05187 7 5.63825 -2.05187 7 1.04215 -5.9088 -7 1.04215 -5.9088 -7 1.65408 -5.7675 7 1.65408 -5.7675 -7 0.418805 -5.98537 7 0.418805 -5.98537 7 -0.20913 -5.99635 -7 -0.20913 -5.99635 7 2.24789 -5.563 -7 2.24789 -5.563 7.5 2.51531 -4.32125 7.5 -19.8981 11.0987 7.5 -19.3524 11.2995 7.5 -15.9373 11.1128 7.5 1.96414 4.59806 7.5 3.81882 3.22747 7.5 3.41832 3.64899 7.5 4.70449 -1.69346 7.5 4.86928 -1.13585 7.5 4.69238 1.72672 7.5 4.86111 1.17029 7.5 -17.0506 11.4418 7.5 -17.6284 11.5072 7.5 -20.9014 10.5147 7.5 -21.3455 10.1394 7.5 -22.9014 6.49699 7.5 -22.8696 7.07757 7.5 -22.7626 5.3444 7.5 -22.5938 4.78797 7.5 -16.4844 11.3097 7.5 4.16769 2.76231 7.5 2.97158 4.02116 7.5 2.48466 4.33895 7.5 -18.7871 11.4356 7.5 -18.2098 11.5052 7.5 -22.8655 5.91665 7.5 -0.850809 -4.92708 7.5 -1.41706 -4.79499 7.5 -22.7707 7.65054 7.5 -22.6059 8.20815 7.5 3.44406 -3.6247 7.5 3.84157 -3.20036 7.5 -20.4167 10.8359 7.5 -1.96414 -4.59806 7.5 4.96411 0.598037 7.5 -20.3861 2.17574 7.5 -20.873 2.49353 7.5 -21.743 9.71505 7.5 -22.3616 4.25489 7.5 -22.0691 3.75237 7.5 4.46019 2.25979 7.5 -19.8656 1.91663 7.5 -22.3775 8.74286 7.5 4.99997 0.0176953 7.5 -21.3197 2.8657 7.5 4.96821 -0.562885 7.5 -22.0886 9.24743 7.5 0.308388 -4.99048 7.5 0.885662 -4.92094 7.5 -0.273057 -4.99254 7.5 4.47608 -2.22817 7.5 4.18714 -2.73274 7.5 1.45096 -4.78484 7.5 1.99663 -4.58404 7.5 -21.7203 3.28721 7.5 2.99997 -4.00002 -7 2.81707 -5.29756 7 2.81707 -5.29756 -7 5.82184 -1.45127 7 5.82184 -1.45127 7 4.31622 -4.16776 -7 4.31622 -4.16776 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | -0.999885 -6.58811e-07 0.0151494 0.893835 0.407279 0.187573 0.999885 -6.58678e-07 0.0151464 0.97135 -0.234625 0.037832 -0.892862 -0.228542 -0.388028 -0.894566 -0.152842 -0.419988 -0.894566 -0.152843 -0.41999 0.999879 0.00527213 0.0146462 0.999879 0.0053288 0.0146428 0.999885 0.00344961 0.014788 0.999887 0.00169444 0.0149551 -0.893489 -0.13128 -0.429467 0.895752 -0.152028 -0.417751 0.940352 -0.339696 0.0185767 -0.895157 -0.445751 -2.04049e-05 -0.893915 0.444893 0.0546462 -0.893184 0.425185 0.146424 -0.893223 0.408385 0.188082 -0.895768 0.414959 0.1594 -0.999879 0.00532991 0.0146458 -0.999761 -0.0152696 0.0156217 -0.999885 -0.00114887 0.0151176 -0.999811 -0.0118922 0.0153975 -0.893184 -0.0857859 -0.441433 -0.895485 -0.120093 -0.428585 -0.895485 -0.25943 -0.361666 -0.892707 -0.274314 -0.357527 -0.893046 -0.179405 -0.412654 -0.895056 -0.169365 -0.412542 -0.895289 -0.215886 -0.389681 0.999486 0.0232355 0.0220775 0.999848 0.00777246 0.0156138 0.999855 -0.00769614 0.0151899 0.99987 -0.00556636 0.0151267 0.999885 -5.36535e-05 0.0151443 0.892981 -0.131576 -0.430433 0.892417 -0.179901 -0.413797 0.892981 0.438554 0.101269 0.894433 -0.447203 -2.04713e-05 0.894596 -0.427647 -0.129679 -0.89446 0.44708 0.00782346 -0.89448 0.447038 0.0079079 -0.893931 0.446501 -0.0390439 -0.895056 0.441953 0.0595984 -0.893489 0.43757 0.101042 -0.895485 0.431212 0.110289 -0.989204 0.129772 0.0680744 -0.999886 0.000610579 0.0150737 -0.999637 0.018129 0.0199097 -0.999765 0.0126268 0.0176023 -0.999869 0.00614285 0.014963 -0.999831 0.00890353 0.0160713 -0.999183 -0.0364293 0.0174953 -0.998199 -0.0567288 0.0195193 -0.971201 -0.235223 0.0379285 -0.992628 -0.118413 0.0258604 -0.957945 -0.285557 0.0282693 -0.999522 -0.0261159 0.0165226 -0.999678 -0.0197277 0.0159675 -0.999874 -0.00481738 0.0151129 -0.999882 -0.00293873 0.0150995 -0.999862 -0.00686051 0.0151612 -0.999842 -0.0091688 0.0152517 -0.895768 -0.0694353 -0.439065 -0.892584 -0.316014 -0.321603 -0.895644 -0.299452 -0.328862 0.995719 0.079881 0.0464971 0.998888 0.0377137 0.0282848 0.999697 0.0157521 0.0189081 0.999795 0.011067 0.016957 0.999879 -0.00363541 0.0151007 0.999884 -0.00182008 0.0151072 0.895752 -0.152028 -0.417751 0.895919 -0.150453 -0.417964 0.893142 -0.0858021 -0.441516 0.895805 -0.100966 -0.432828 0.895919 0.437193 0.0786852 0.893141 0.425265 0.146451 0.895805 0.425323 0.128975 0.895547 0.407949 0.177687 0.999832 -0.0101404 0.0152994 0.999795 -0.0130756 0.0154714 0.999631 -0.0218487 0.0161457 0.999735 -0.0167965 0.0157349 0.979989 -0.196148 0.0338707 0.997259 -0.0709609 0.020971 0.999427 -0.0293775 0.0168228 0.998941 -0.0423056 0.0180717 0.89341 -0.428444 -0.135108 -0.892401 -0.410605 -0.187147 0.894267 -0.440458 -0.0792697 0.893674 -0.441199 -0.0817945 0.893976 -0.447262 -0.0276369 0.893906 -0.447417 -0.0273819 -0.89504 0.443818 -0.0439332 -0.999338 0.0274601 0.023882 -0.998332 0.0476736 0.0325778 -0.999883 0.00412776 0.0147316 -0.999886 0.00235471 0.0148886 -0.895473 0.135183 -0.424091 -0.892942 0.00787636 -0.450104 -0.895908 -0.0179822 -0.443875 -0.893001 -0.0392043 -0.448343 -0.895906 0.0336706 -0.442965 -0.892493 -0.352992 -0.280809 -0.895768 -0.33542 -0.291708 0.892548 -0.274506 -0.357777 0.895694 -0.284619 -0.341648 0.89589 0.443429 0.0274023 0.89303 0.449928 0.00787328 0.892944 0.44681 0.0548817 0.894597 0.410951 -0.175544 0.894351 0.41181 -0.174782 0.894023 0.428451 -0.13097 0.894944 0.427884 -0.126452 0.895719 0.443957 -0.0242816 -0.893005 0.0548668 -0.446689 -0.895761 0.0849236 -0.436348 -0.893192 0.101174 -0.438145 0.892659 -0.31591 -0.321497 0.892974 -0.38377 -0.235197 -0.89576 -0.444468 -0.00786718 -0.892402 -0.430351 -0.13571 -0.895905 -0.43039 -0.110081 -0.895925 -0.414665 -0.159287 -0.892498 -0.450209 -0.0275528 -0.895852 -0.440367 -0.0593809 -0.892434 -0.443619 -0.0822431 -0.89504 0.183862 -0.406324 -0.893501 0.146219 -0.424588 -0.89448 0.230367 -0.383192 -0.895056 0.27259 -0.352944 -0.893915 0.269771 -0.357965 -0.895768 0.345524 -0.279665 -0.893184 0.339399 -0.295009 -0.895485 0.311119 -0.318296 -0.893489 0.30629 -0.328426 -0.895906 0.400455 -0.192323 -0.89243 -0.384689 -0.23576 -0.895856 -0.366865 -0.250703 -0.895908 -0.3934 -0.206363 0.895548 -0.0500923 -0.442137 0.894597 0.0534496 -0.443666 0.892467 -0.228939 -0.388702 0.895805 -0.242912 -0.372192 0.89588 -0.197994 -0.397741 0.89324 0.447872 -0.0391638 0.895404 0.43876 -0.0757649 0.893571 0.440678 -0.0856385 0.893828 0.392198 -0.217376 0.892944 0.270934 -0.359508 0.894944 0.104432 -0.433784 0.895145 -0.38526 -0.224255 0.893177 -0.409206 -0.186509 0.894889 -0.409161 -0.178217 0.892801 -0.352515 -0.280429 0.895365 -0.356271 -0.267195 0.895547 -0.322574 -0.306499 -0.892942 0.39374 -0.21823 -0.895908 0.375416 -0.23751 -0.893001 0.368674 -0.258124 -0.895761 0.42035 -0.144629 -0.893005 0.414277 -0.175829 0.894023 0.100802 -0.436534 0.894351 0.0545401 -0.444029 0.895146 0.00157708 -0.445771 0.893828 0.00784552 -0.448341 0.893424 -0.0391311 -0.447506 0.895146 0.386838 -0.221519 0.893424 0.367986 -0.257642 0.895547 0.357856 -0.26445 0.895919 0.28674 -0.339278 0.89324 0.190019 -0.40745 0.895404 0.153765 -0.41786 0.893571 0.146174 -0.424457 0.895719 0.20095 -0.396618 0.89589 0.245445 -0.37032 0.89303 0.231782 -0.385712 -0.89446 0.230316 -0.383271 -0.893931 0.189437 -0.406203 -0.893192 0.430032 -0.131453 -0.895473 0.434866 -0.0949739 -0.893501 0.440814 -0.085665 0.895805 0.324357 -0.303853 0.893141 0.339463 -0.295065 0.892981 0.306978 -0.329164 0 -4.34875e-05 1 0 -4.34875e-05 1 0 -0.987248 0.159189 0 -0.987248 0.159189 0 0.9083 0.418319 0 0.9083 0.418319 0 -0.190766 -0.981636 0 -0.190766 -0.981636 0 -0.292329 -0.956318 0 -0.292329 -0.956318 0 -0.341978 -0.939708 0 -0.341978 -0.939708 0 0.97436 0.224995 0 0.97436 0.224995 0 0.945504 0.32561 0 0.945504 0.32561 0 -0.398707 -0.917078 0 -0.398707 -0.917078 0 -1 -4.57764e-05 0 -1 -4.57764e-05 0 -0.608725 -0.793382 0 -0.608725 -0.793382 0 -0.507499 -0.861652 0 -0.507499 -0.861652 0 -0.852618 -0.522535 0 -0.852618 -0.522535 0 -0.909942 -0.414737 0 -0.909942 -0.414737 0 -0.953704 -0.300747 0 -0.953704 -0.300747 0 0.992541 0.121914 0 0.992541 0.121914 0 0.999847 0.0174963 0 0.999847 0.0174963 0 -0.700882 -0.713277 0 -0.700882 -0.713277 0 -0.78258 -0.62255 0 -0.78258 -0.62255 0 -0.998133 -0.0610856 0 -0.998133 -0.0610856 0 -0.983246 -0.182285 0 -0.983246 -0.182285 -1 0 0 -1 0 0 -1 0 0 -1 0 0 -1 0 0 -1 0 0 -1 0 0 -1 0 0 -1 0 0 -1 0 0 -1 0 0 -1 0 0 -1 0 0 -1 0 0 -1 0 0 -1 0 0 -1 0 0 -1 0 0 -1 0 0 -1 0 0 -1 0 0 -1 0 0 -1 0 0 -1 0 0 -1 0 0 -1 0 0 -1 0 0 -1 0 0 -1 0 0 -1 0 0 -1 0 0 -1 0 0 -1 0 0 -1 0 0 -1 0 0 -1 0 0 -1 0 0 -1 0 0 -1 0 0 -1 0 0 -1 0 0 -1 0 0 -1 0 0 -1 0 0 -1 0 0 -1 0 0 -1 0 0 -1 0 0 -1 0 0 -1 0 0 -1 0 0 -1 0 0 -1 0 0 -1 0 0 0 0.996199 -0.0871118 0 0.996199 -0.0871118 0 0.601851 -0.798609 0 0.601851 -0.798609 0 0.819178 -0.57354 0 0.819178 -0.57354 0 0.874641 -0.484771 0 0.874641 -0.484771 0 0.920522 -0.390691 0 0.920522 -0.390691 0 0.224994 -0.97436 0 0.224994 -0.97436 0 0.121914 -0.992541 0 0.121914 -0.992541 0 -0.0871103 -0.996199 0 -0.0871103 -0.996199 0 0.0174963 -0.999847 0 0.0174963 -0.999847 0 0.325611 -0.945504 0 0.325611 -0.945504 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 0 0.515076 -0.857144 0 0.515076 -0.857144 0 0.422658 -0.906289 0 0.422658 -0.906289 0 0.981636 -0.190765 0 0.981636 -0.190765 0 0.956318 -0.292329 0 0.956318 -0.292329 0 0.754739 -0.656026 0 0.754739 -0.656026 0 0.682031 -0.731323 0 0.682031 -0.731323 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 |

1 0 80 0 2 0 164 1 7 1 3 1 0 2 136 2 3 2 140 3 0 3 5 3 82 4 21 4 27 4 13 5 72 5 73 5 14 6 72 6 13 6 143 7 127 7 3 7 127 8 128 8 3 8 143 9 3 9 135 9 136 10 135 10 3 10 8 11 13 11 73 11 12 12 165 12 15 12 139 13 140 13 5 13 23 14 4 14 89 14 37 15 46 15 19 15 62 16 6 16 16 16 6 17 61 17 1 17 62 18 61 18 6 18 54 19 53 19 1 19 79 20 48 20 2 20 80 21 67 21 2 21 69 22 79 22 2 22 8 23 56 23 11 23 8 24 73 24 56 24 71 25 82 25 27 25 25 26 71 26 27 26 21 27 74 27 14 27 74 28 72 28 14 28 21 29 82 29 74 29 130 30 129 30 3 30 128 31 146 31 3 31 0 32 156 32 125 32 125 33 126 33 0 33 0 34 148 34 136 34 10 35 151 35 12 35 165 36 20 36 15 36 17 37 134 37 18 37 139 38 5 38 22 38 142 39 141 39 35 39 38 40 45 40 37 40 45 41 46 41 37 41 101 42 45 42 38 42 46 43 75 43 19 43 19 44 75 44 16 44 16 45 75 45 62 45 61 46 76 46 1 46 1 47 86 47 80 47 87 48 63 48 1 48 63 49 50 49 1 49 49 50 54 50 1 50 50 51 49 51 1 51 88 52 78 52 2 52 78 53 65 53 2 53 2 54 64 54 4 54 65 55 64 55 2 55 4 56 64 56 89 56 47 57 88 57 2 57 48 58 47 58 2 58 90 59 2 59 66 59 67 60 66 60 2 60 90 61 68 61 2 61 68 62 69 62 2 62 56 63 55 63 11 63 41 64 70 64 25 64 70 65 71 65 25 65 144 66 164 66 3 66 129 67 144 67 3 67 145 68 130 68 3 68 146 69 145 69 3 69 126 70 147 70 0 70 147 71 148 71 0 71 157 72 165 72 12 72 151 73 157 73 12 73 9 74 150 74 10 74 150 75 151 75 10 75 134 76 158 76 18 76 7 77 133 77 17 77 133 78 134 78 17 78 7 79 164 79 133 79 0 80 137 80 156 80 138 81 137 81 0 81 170 82 161 82 0 82 161 83 138 83 0 83 140 84 152 84 0 84 152 85 153 85 0 85 166 86 170 86 0 86 153 87 166 87 0 87 142 88 35 88 33 88 30 89 32 89 99 89 149 90 43 90 141 90 141 91 43 91 35 91 139 92 43 92 149 92 22 93 43 93 139 93 85 94 45 94 101 94 77 95 87 95 1 95 76 96 77 96 1 96 53 97 92 97 1 97 92 98 86 98 1 98 58 99 81 99 116 99 118 100 121 100 91 100 91 101 121 101 55 101 55 102 121 102 11 102 118 103 91 103 57 103 31 104 95 104 41 104 95 105 70 105 41 105 24 106 160 106 26 106 160 107 168 107 26 107 167 108 36 108 158 108 39 109 36 109 167 109 158 110 36 110 18 110 111 111 131 111 174 111 113 112 131 112 111 112 183 113 131 113 113 113 132 114 131 114 183 114 39 115 167 115 169 115 57 116 115 116 118 116 58 117 115 117 57 117 58 118 116 118 115 118 168 119 40 119 26 119 28 120 163 120 29 120 23 121 89 121 83 121 34 122 97 122 32 122 84 123 97 123 34 123 32 124 97 124 99 124 83 125 42 125 23 125 84 126 42 126 83 126 84 127 34 127 42 127 96 128 123 128 81 128 81 129 123 129 116 129 103 130 96 130 51 130 51 131 52 131 104 131 103 132 51 132 104 132 109 133 94 133 98 133 109 134 185 134 94 134 94 135 185 135 52 135 52 136 185 136 104 136 59 137 110 137 60 137 31 138 30 138 44 138 95 139 31 139 44 139 99 140 44 140 30 140 173 141 150 141 9 141 171 142 119 142 172 142 20 143 159 143 24 143 159 144 160 144 24 144 20 145 165 145 159 145 169 146 100 146 39 146 132 147 100 147 169 147 132 148 183 148 100 148 107 149 111 149 174 149 105 150 102 150 179 150 117 151 176 151 172 151 163 152 162 152 29 152 29 153 162 153 33 153 33 154 162 154 142 154 40 155 178 155 28 155 178 156 163 156 28 156 40 157 168 157 178 157 110 158 106 158 60 158 60 159 106 159 98 159 98 160 106 160 109 160 93 161 112 161 59 161 112 162 110 162 59 162 117 163 172 163 114 163 119 164 114 164 172 164 173 165 120 165 171 165 120 166 119 166 171 166 173 167 9 167 120 167 107 168 174 168 175 168 107 169 175 169 108 169 175 170 155 170 108 170 102 171 154 171 179 171 177 172 122 172 181 172 176 173 122 173 177 173 176 174 117 174 122 174 181 175 124 175 177 175 179 176 124 176 105 176 181 177 105 177 124 177 103 178 180 178 96 178 180 179 123 179 96 179 182 180 112 180 93 180 85 181 182 181 93 181 85 182 101 182 182 182 154 183 184 183 155 183 155 184 184 184 108 184 154 185 102 185 184 185 2 186 0 186 1 186 1 187 0 187 3 187 4 188 0 188 2 188 0 189 4 189 5 189 6 190 1 190 3 190 7 191 6 191 3 191 9 192 10 192 8 192 9 193 8 193 11 193 12 194 8 194 10 194 8 195 12 195 13 195 13 196 12 196 14 196 14 197 12 197 15 197 17 198 18 198 16 198 19 199 16 199 18 199 6 200 7 200 16 200 17 201 16 201 7 201 15 202 20 202 14 202 20 203 21 203 14 203 4 204 22 204 5 204 23 205 22 205 4 205 25 206 24 206 26 206 24 207 25 207 27 207 20 208 24 208 21 208 21 209 24 209 27 209 30 210 28 210 29 210 31 211 28 211 30 211 29 212 32 212 30 212 33 213 32 213 29 213 34 214 32 214 35 214 33 215 35 215 32 215 36 216 19 216 18 216 36 217 37 217 19 217 37 218 36 218 38 218 39 219 38 219 36 219 40 220 25 220 26 220 25 221 40 221 41 221 40 222 28 222 31 222 40 223 31 223 41 223 42 224 22 224 23 224 22 225 42 225 43 225 34 226 35 226 42 226 43 227 42 227 35 227 45 228 44 228 46 228 47 229 48 229 44 229 49 230 50 230 44 230 51 231 44 231 52 231 53 232 54 232 44 232 55 233 56 233 44 233 57 234 44 234 58 234 59 235 60 235 44 235 61 236 62 236 44 236 63 237 44 237 50 237 64 238 65 238 44 238 67 239 44 239 66 239 68 240 44 240 69 240 70 241 44 241 71 241 72 242 44 242 73 242 74 243 44 243 72 243 75 244 46 244 44 244 76 245 61 245 44 245 77 246 76 246 44 246 78 247 44 247 65 247 48 248 79 248 44 248 80 249 44 249 67 249 69 250 44 250 79 250 56 251 73 251 44 251 81 252 58 252 44 252 71 253 44 253 82 253 74 254 82 254 44 254 83 255 44 255 84 255 75 256 44 256 62 256 85 257 44 257 45 257 86 258 44 258 80 258 63 259 87 259 44 259 49 260 44 260 54 260 78 261 88 261 44 261 64 262 44 262 89 262 47 263 44 263 88 263 66 264 44 264 90 264 68 265 90 265 44 265 55 266 44 266 91 266 92 267 44 267 86 267 59 268 44 268 93 268 52 269 44 269 94 269 95 270 44 270 70 270 85 271 93 271 44 271 77 272 44 272 87 272 92 273 53 273 44 273 81 274 44 274 96 274 57 275 91 275 44 275 97 276 84 276 44 276 98 277 44 277 60 277 83 278 89 278 44 278 97 279 44 279 99 279 51 280 96 280 44 280 98 281 94 281 44 281 39 282 100 282 38 282 38 283 100 283 101 283 102 284 103 284 104 284 103 285 102 285 105 285 107 286 108 286 106 286 109 287 106 287 108 287 110 288 111 288 106 288 107 289 106 289 111 289 110 290 112 290 111 290 113 291 111 291 112 291 115 292 116 292 114 292 117 293 114 293 116 293 115 294 114 294 118 294 118 295 114 295 119 295 11 296 120 296 9 296 121 297 120 297 11 297 119 298 120 298 118 298 120 299 121 299 118 299 116 300 122 300 117 300 123 301 122 301 116 301 125 302 124 302 126 302 127 303 124 303 128 303 129 304 130 304 124 304 131 305 132 305 124 305 133 306 124 306 134 306 136 307 124 307 135 307 137 308 138 308 124 308 139 309 124 309 140 309 141 310 142 310 124 310 127 311 143 311 124 311 135 312 124 312 143 312 144 313 129 313 124 313 145 314 146 314 124 314 147 315 124 315 148 315 139 316 149 316 124 316 150 317 124 317 151 317 152 318 124 318 153 318 154 319 155 319 124 319 146 320 128 320 124 320 125 321 156 321 124 321 148 322 124 322 136 322 157 323 151 323 124 323 158 324 134 324 124 324 159 325 124 325 160 325 161 326 124 326 138 326 141 327 124 327 149 327 162 328 163 328 124 328 144 329 124 329 164 329 145 330 124 330 130 330 147 331 126 331 124 331 157 332 124 332 165 332 166 333 153 333 124 333 158 334 124 334 167 334 133 335 164 335 124 335 160 336 124 336 168 336 169 337 124 337 132 337 137 338 124 338 156 338 161 339 170 339 124 339 152 340 140 340 124 340 166 341 124 341 170 341 171 342 172 342 124 342 173 343 171 343 124 343 131 344 124 344 174 344 169 345 167 345 124 345 175 346 124 346 155 346 176 347 177 347 124 347 173 348 124 348 150 348 159 349 165 349 124 349 178 350 124 350 163 350 176 351 124 351 172 351 162 352 124 352 142 352 178 353 168 353 124 353 175 354 174 354 124 354 154 355 124 355 179 355 180 356 103 356 105 356 181 357 180 357 105 357 123 358 180 358 122 358 122 359 180 359 181 359 100 360 182 360 101 360 100 361 183 361 182 361 112 362 182 362 113 362 113 363 182 363 183 363 108 364 184 364 109 364 184 365 185 365 109 365 104 366 184 366 102 366 185 367 184 367 104 367

42 |
43 |
44 |
45 |
46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 |
57 | -------------------------------------------------------------------------------- /robotiq_2f_85_gripper_visualization/meshes/collision/robotiq_arg2f_85_inner_knuckle.dae: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | VCGLab 6 | VCGLib | MeshLab 7 | 8 | Mon Dec 3 16:34:34 2018 GMT 9 | Mon Dec 3 16:34:34 2018 GMT 10 | Y_UP 11 | 12 | 13 | 14 | 15 | 16 | -16.7877 18.9747 31.4552 16.7877 28.0996 23.6618 17 18.0385 30.3589 16.7877 18.9747 31.4552 13.1548 30.4682 26.4351 13.5 39.564 42.9502 16.9466 27.6365 23.1196 13.5 39.6132 43.575 13.5 39.2476 44.7635 13.5 38.8557 45.2525 13.5 39.5054 44.1923 -17 18.0385 30.3589 -15.1957 20.5359 33.2831 15.1957 20.5359 33.2831 -13.5 38.3546 45.6288 -13.5 37.7756 45.8686 -13.5 37.1552 45.9569 -13.5 36.5323 45.8881 13.5 38.3546 45.6288 13.5 37.1552 45.9569 13.5 37.7756 45.8686 13.5 36.5323 45.8881 16.9466 18.5116 30.913 -16.9466 18.5116 30.913 -13.5 38.8557 45.2525 -16.7877 28.0996 23.6618 -13.5 39.2476 44.7635 -13.5 39.5054 44.1923 -13.5 39.6132 43.575 -13.5 39.564 42.9502 -13.1548 30.4682 26.4351 -16.9466 27.6365 23.1196 -19.5 -0.314016 -5.99178 19.5 0.470755 -5.9815 19.5 -0.314016 -5.99178 -19.5 0.470755 -5.9815 -19.5 1.24747 -5.86889 19.5 1.24747 -5.86889 -12 32.5535 47.3539 12 32.5535 47.3539 12 33.1012 47.9161 -12 33.1012 47.9161 19.5 4.01478 -4.45887 -19.5 4.01478 -4.45887 -19.5 4.56244 -3.89669 19.5 4.56244 -3.89669 -19.5 3.39844 -4.94476 19.5 2.72394 -5.34604 19.5 3.39844 -4.94476 -19.5 2.72394 -5.34604 -19.5 2.00284 -5.65585 19.5 2.00284 -5.65585 19.5 -5.34604 -2.72394 -19.5 -5.34604 -2.72394 19.5 -5.65585 -2.00284 -19.5 -5.65585 -2.00284 12 42.148 40.1894 -12 42.5315 40.8741 12 42.5315 40.8741 -12 42.148 40.1894 12 41.6784 39.5605 -12 41.6784 39.5605 19.5 -1.8541 -5.70634 -19.5 -1.8541 -5.70634 -19.5 -2.58307 -5.41551 19.5 -2.58307 -5.41551 19.5 -3.89669 -4.56244 -19.5 -3.89669 -4.56244 -19.5 -4.45887 -4.01478 19.5 -4.45887 -4.01478 -19.5 -5.99178 0.314016 19.5 -5.89953 1.09341 19.5 -5.99178 0.314016 -19.5 -5.89953 1.09341 19.5 -5.9815 -0.470755 -19.5 -5.9815 -0.470755 -19.5 -5.86889 -1.24747 19.5 -5.86889 -1.24747 12 43.0155 42.3638 -12 43.0155 42.3638 -12 43.1077 43.1432 12 43.1077 43.1432 -19.5 -5.03202 3.26783 19.5 -4.56244 3.89669 19.5 -5.03202 3.26783 -19.5 -4.56244 3.89669 19.5 -5.41551 2.58307 -19.5 -5.41551 2.58307 -19.5 -5.70634 1.8541 19.5 -5.70634 1.8541 -7.39096 22.4038 35.4701 7.39096 22.4038 35.4701 12 42.462 46.1811 12 42.0607 46.8556 -12 42.0607 46.8556 -12 42.462 46.1811 -19.3223 0.989514 10.3972 19.3223 0.989514 10.3972 19.5 -1.09341 -5.89953 -19.5 -1.09341 -5.89953 19.5 -3.26783 -5.03202 -19.5 -3.26783 -5.03202 -19.5 -4.94476 -3.39844 -19.5 0.131506 9.39259 -19.5 9.25638 1.59921 19.5 -4.94476 -3.39844 19.5 0.131506 9.39259 19.5 9.25638 1.59921 8.2941 16.1092 28.1001 -8.2941 16.1092 28.1001 12 42.8223 41.6031 -12 42.8223 41.6031 12 37.43 49.449 -12 37.43 49.449 -12 38.2094 49.3567 12 38.2094 49.3567 12 38.9701 49.1635 -12 38.9701 49.1635 12 33.7175 48.402 -12 33.7175 48.402 12 34.392 48.8032 -12 34.392 48.8032 -19.3223 10.1144 2.60381 19.3223 10.1144 2.60381 8.2941 25.2341 20.3067 -8.2941 25.2341 20.3067 12 43.0975 43.928 -12 43.0975 43.928 12 41.0126 48.0196 -12 40.3838 48.4892 12 40.3838 48.4892 -12 41.0126 48.0196 12 42.7718 45.46 -12 42.7718 45.46 17.9756 2.46592 12.1258 -17.9756 2.46592 12.1258 -12 42.9848 44.7047 12 42.9848 44.7047 -12 36.6452 49.4387 12 35.8685 49.3261 -12 35.8685 49.3261 12 36.6452 49.4387 -12 41.5748 47.472 12 41.5748 47.472 12 39.699 48.8727 -12 39.699 48.8727 12 35.1131 49.113 -12 35.1131 49.113 6.56274 30.597 26.5859 -6.56274 30.597 26.5859 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 0.274634 -0.68876 0.670959 0.000909477 -0.76027 0.649607 -0.919002 0.391522 -0.0463353 -0.274634 -0.68876 0.670959 -0.00101522 -0.760229 0.649655 2.67985e-07 -0.760406 0.649448 -0.918698 -0.10721 0.380131 -0.919713 -0.131495 0.369915 -0.899248 -0.172676 0.401917 -0.826239 -0.288024 0.484119 -0.673256 -0.453065 0.584345 -0.657818 -0.466285 0.591484 0.673409 0.647933 -0.355955 0.00057084 0.760491 -0.649349 0.657795 0.657159 -0.368033 0.274649 0.770443 -0.575314 -0.274649 0.770443 -0.575314 -0.657797 0.657157 -0.368032 -0.995955 0.0583571 0.0683273 -2.89301e-07 -0.760406 0.649448 1.41082e-05 -0.760406 0.649448 -0.966148 -0.0283074 0.256429 -0.981195 0.0271964 0.191092 -0.989575 0.0864715 0.115172 -0.987028 0.0614393 0.148329 -0.919731 0.0553108 0.388633 -0.919465 0.236065 0.314416 -0.919391 0.235345 0.315171 -2.0889e-07 -0.760406 0.649448 -2.67985e-07 -0.760406 0.649448 1.89347e-05 0.760406 -0.649448 5.64453e-05 0.760409 -0.649444 0.995955 0.0583571 0.0683273 0.995955 0.0583571 0.0683273 0.989941 0.0918835 0.107582 0.988564 0.117689 0.0942865 0.918628 0.339571 0.202026 -0.919208 0.361797 0.155435 0 -0.760406 0.649448 -1.41082e-05 -0.760406 0.649448 2.0889e-07 -0.760406 0.649448 0.000174421 -0.760389 0.649468 3.94178e-05 -0.760404 0.649451 1.58797e-06 -0.760406 0.649448 2.06294e-05 -0.760403 0.649452 2.16959e-06 -0.760406 0.649448 0.826244 0.52321 -0.208739 0.899246 0.423983 -0.107679 -0.918637 0.0972567 0.382947 -0.919152 0.0462978 0.391172 0.918637 0.0972567 0.382947 0.657818 -0.466285 0.591484 0.673253 -0.453078 0.584337 0.919049 -0.0565529 0.390066 0.826239 -0.288024 0.484119 -1.9306e-05 0.760406 -0.649448 2.64332e-07 0.760406 -0.649448 0 0.760406 -0.649448 3.27417e-07 0.760406 -0.649448 4.41978e-07 0.760406 -0.649448 -2.0498e-07 0.760406 -0.649448 0.98472 0.158719 0.0716633 0.9756 0.216287 0.0377472 0.91978 0.38659 0.0674691 0.919675 0.357892 0.161592 0.91916 0.387052 -0.0730464 0.948637 0.315391 -0.0248217 0.919002 0.391522 -0.0463353 0.91986 0.391038 -0.030775 0.919099 0.389948 0.0565416 0.918679 0.394972 0.00516843 0.987028 0.0614393 0.148329 0.989575 0.0864715 0.115172 0.919391 0.235345 0.315171 0.919465 0.236065 0.314416 0.919327 0.309016 0.243611 0.919541 0.306704 0.245716 0.918619 0.27573 0.28304 0.918647 0.380245 0.107241 0.919208 0.361797 0.155435 -0.918679 0.394972 0.00516843 -0.91986 0.391038 -0.030775 -0.918628 0.339571 0.202026 -0.919675 0.357892 0.161592 -0.000174421 -0.760389 0.649468 -4.06123e-05 -0.760404 0.649451 -1.29023e-06 -0.760406 0.649448 -1.86832e-05 -0.760401 0.649454 -2.16959e-06 -0.760406 0.649448 6.1231e-07 -0.760406 0.649448 2.53138e-07 -0.760406 0.649448 -0.918648 0.380245 0.107241 -0.91978 0.38659 0.0674691 -0.919099 0.389948 0.0565416 -0.918622 0.193073 0.344755 -0.919611 0.150328 0.362928 -0.919266 0.145866 0.365613 -0.918662 -0.00517278 0.395011 -0.919049 -0.0565529 0.390066 -0.919824 -0.0430483 0.389964 -0.918619 0.27573 0.28304 -0.919541 0.306704 0.245716 -0.919327 0.309016 0.243611 0.918622 0.193073 0.344755 0.919266 0.145866 0.365613 0.919611 0.150328 0.362928 0.918662 -0.00517278 0.395011 0.919824 -0.0430483 0.389964 0.919152 0.0462978 0.391172 0.919731 0.0553108 0.388633 0.981195 0.0271965 0.191092 0.966148 -0.0283076 0.256429 0.918698 -0.10721 0.380131 0.919713 -0.131495 0.369915 0.899248 -0.172676 0.401917 -5.64453e-05 0.760409 -0.649444 -0.995955 0.0583571 0.0683273 -0.989941 0.0918835 0.107582 -0.00057084 0.760491 -0.649349 -0.988564 0.117689 0.0942865 -0.98472 0.158719 0.0716633 -0.9756 0.216287 0.0377472 -0.948637 0.315391 -0.0248216 -0.91916 0.387052 -0.0730464 -0.899246 0.423983 -0.107679 -0.826244 0.52321 -0.208739 -0.67341 0.647932 -0.355954 1.0249e-07 0.760406 -0.649448 -3.02094e-07 0.760406 -0.649448 -3.31907e-07 0.760406 -0.649448 -2.45562e-07 0.760406 -0.649448 -3.78838e-07 0.760406 -0.649448 0 0.0130893 -0.999914 0 0.0130893 -0.999914 0 0.143492 -0.989651 0 0.143492 -0.989651 0 -0.716303 0.697789 0 -0.716303 0.697789 0 0.716302 -0.69779 0 0.716302 -0.69779 0 0.511293 -0.859406 0 0.511293 -0.859406 0 0.619093 -0.785317 0 0.619093 -0.785317 0 0.271441 -0.962455 0 0.271441 -0.962455 0 0.394744 -0.918791 0 0.394744 -0.918791 0 -0.918791 -0.394744 0 -0.918791 -0.394744 0 0.872492 -0.488628 0 0.872492 -0.488628 0 0.801256 -0.598322 0 0.801256 -0.598322 0 -0.370557 -0.92881 0 -0.370557 -0.92881 0 -0.69779 -0.716302 0 -0.69779 -0.716302 0 -0.993068 0.117538 0 -0.993068 0.117538 0 -0.999914 -0.0130893 0 -0.999914 -0.0130893 0 -0.962455 -0.271441 0 -0.962455 -0.271441 0 -0.989651 -0.143492 0 -0.989651 -0.143492 0 0.99307 -0.117527 0 0.99307 -0.117527 0 -0.801254 0.598324 0 -0.801254 0.598324 0 -0.872495 0.488622 0 -0.872495 0.488622 0 -0.92881 0.370557 0 -0.92881 0.370557 0 -0.969231 0.246153 0 -0.969231 0.246153 0 -0.760406 0.649448 0 -0.760406 0.649448 0 0.859403 0.511299 0 0.859403 0.511299 0 -0.760406 0.649448 0 -0.760406 0.649448 0 -0.117538 -0.993068 0 -0.117538 -0.993068 0 -0.246153 -0.969231 0 -0.246153 -0.969231 0 -0.488622 -0.872495 0 -0.488622 -0.872495 0 -0.598324 -0.801254 0 -0.598324 -0.801254 -1 0 0 -1 0 0 -1 0 0 -1 0 0 -1 0 0 -1 0 0 -1 0 0 -1 0 0 -1 0 0 -1 0 0 -1 0 0 -1 0 0 -1 0 0 -1 0 0 -1 0 0 -1 0 0 -1 0 0 -1 0 0 -1 0 0 -1 0 0 -1 0 0 -1 0 0 -1 0 0 -1 0 0 -1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 0 -0.785317 -0.619093 0 -0.785317 -0.619093 0 -0.859406 -0.511293 0 -0.859406 -0.511293 0 -0.760406 0.649448 0 -0.760406 0.649448 0 0.92881 -0.370557 0 0.92881 -0.370557 0 0.969231 -0.246155 0 0.969231 -0.246155 0 0.117536 0.993069 0 0.117536 0.993069 0 0.246155 0.969231 0 0.246155 0.969231 0 -0.619091 0.785319 0 -0.619091 0.785319 0 -0.511298 0.859404 0 -0.511298 0.859404 0 0.760406 -0.649448 0 0.760406 -0.649448 0 0.760406 -0.649448 0 0.760406 -0.649448 0 0.999914 0.0130844 0 0.999914 0.0130844 0 0.598317 0.801259 0 0.598317 0.801259 0 0.918796 0.394733 0 0.918796 0.394733 0 -0.760406 0.649448 0 -0.760406 0.649448 0 -0.760406 0.649448 0 -0.760406 0.649448 0 0.962454 0.271444 0 0.962454 0.271444 0 0.989651 0.143497 0 0.989651 0.143497 0 -0.143483 0.989653 0 -0.143483 0.989653 0 -0.0130942 0.999914 0 -0.0130942 0.999914 0 0.697797 0.716296 0 0.697797 0.716296 0 0.785313 0.619098 0 0.785313 0.619098 0 0.488624 0.872495 0 0.488624 0.872495 0 0.37056 0.928809 0 0.37056 0.928809 0 -0.271446 0.962454 0 -0.271446 0.962454 0 -0.394742 0.918792 0 -0.394742 0.918792 0 0.760406 -0.649448 0 0.760406 -0.649448 0 0.760406 -0.649448 0 0.760406 -0.649448 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 |

39 0 3 0 40 0 22 1 3 1 39 1 79 2 29 2 80 2 0 3 38 3 41 3 38 4 0 4 23 4 13 5 39 5 91 5 17 6 147 6 140 6 23 7 147 7 17 7 121 8 147 8 23 8 119 9 121 9 23 9 0 10 119 10 23 10 0 11 41 11 119 11 6 12 1 12 58 12 6 13 60 13 1 13 1 14 56 14 58 14 1 15 60 15 56 15 25 16 59 16 61 16 59 17 25 17 57 17 104 18 103 18 23 18 12 19 135 19 109 19 106 20 97 20 83 20 17 21 16 21 23 21 23 22 16 22 15 22 14 23 24 23 23 23 15 24 14 24 23 24 16 25 114 25 15 25 14 26 131 26 24 26 14 27 129 27 131 27 90 28 12 28 109 28 12 29 90 29 38 29 123 30 107 30 45 30 123 31 6 31 107 31 106 32 107 32 22 32 22 33 107 33 6 33 6 34 9 34 22 34 8 35 9 35 6 35 8 36 92 36 93 36 133 37 27 37 95 37 12 38 96 38 135 38 103 39 85 39 96 39 91 40 108 40 13 40 106 41 22 41 2 41 106 42 2 42 97 42 97 43 2 43 13 43 22 44 39 44 2 44 13 45 2 45 39 45 110 46 6 46 58 46 110 47 78 47 6 47 114 48 117 48 15 48 16 49 113 49 114 49 20 50 116 50 115 50 3 51 118 51 40 51 118 52 3 52 22 52 139 53 21 53 141 53 120 54 118 54 22 54 104 55 122 55 44 55 124 56 4 56 123 56 123 57 4 57 6 57 60 58 4 58 124 58 6 59 4 59 60 59 61 60 149 60 125 60 10 61 8 61 6 61 7 62 10 62 6 62 137 63 10 63 7 63 8 64 10 64 92 64 78 65 5 65 6 65 6 66 5 66 7 66 78 67 81 67 5 67 7 68 5 68 81 68 7 69 126 69 137 69 126 70 7 70 81 70 18 71 20 71 22 71 9 72 18 72 22 72 18 73 128 73 130 73 9 74 128 74 18 74 8 75 93 75 143 75 143 76 9 76 8 76 143 77 128 77 9 77 132 78 10 78 137 78 10 79 132 79 92 79 80 80 28 80 127 80 29 81 28 81 80 81 26 82 94 82 95 82 27 83 26 83 95 83 103 84 11 84 23 84 96 85 11 85 103 85 11 86 96 86 12 86 38 87 23 87 11 87 12 88 38 88 11 88 97 89 13 89 134 89 108 90 134 90 13 90 27 91 133 91 136 91 27 92 136 92 28 92 28 93 136 93 127 93 14 94 145 94 129 94 15 95 145 95 14 95 117 96 145 96 15 96 16 97 138 97 113 97 138 98 17 98 140 98 138 99 16 99 17 99 131 100 142 100 24 100 24 101 142 101 26 101 26 102 142 102 94 102 18 103 130 103 144 103 20 104 144 104 116 104 18 105 144 105 20 105 112 106 141 106 19 106 21 107 19 107 141 107 112 108 19 108 115 108 115 109 19 109 20 109 20 110 19 110 22 110 22 111 19 111 21 111 21 112 139 112 146 112 21 113 146 113 22 113 146 114 120 114 22 114 122 115 104 115 31 115 23 116 31 116 104 116 24 117 31 117 23 117 31 118 25 118 61 118 26 119 31 119 24 119 26 120 27 120 31 120 28 121 31 121 27 121 28 122 29 122 31 122 29 123 79 123 31 123 111 124 31 124 79 124 111 125 57 125 31 125 25 126 31 126 57 126 124 127 148 127 60 127 122 128 30 128 125 128 31 129 30 129 122 129 125 130 30 130 61 130 30 131 31 131 61 131 34 132 32 132 33 132 33 133 32 133 35 133 33 134 36 134 37 134 33 135 35 135 36 135 40 136 38 136 39 136 41 137 38 137 40 137 44 138 42 138 43 138 44 139 45 139 42 139 47 140 46 140 48 140 47 141 49 141 46 141 42 142 46 142 43 142 48 143 46 143 42 143 37 144 50 144 51 144 36 145 50 145 37 145 51 146 50 146 47 146 47 147 50 147 49 147 52 148 54 148 55 148 53 149 52 149 55 149 57 150 58 150 56 150 59 151 57 151 56 151 61 152 56 152 60 152 59 153 56 153 61 153 63 154 62 154 64 154 62 155 65 155 64 155 67 156 66 156 68 156 66 157 69 157 68 157 71 158 70 158 72 158 73 159 70 159 71 159 74 160 70 160 75 160 72 161 70 161 74 161 54 162 76 162 55 162 77 163 76 163 54 163 74 164 75 164 76 164 74 165 76 165 77 165 79 166 80 166 78 166 81 167 78 167 80 167 83 168 82 168 84 168 85 169 82 169 83 169 84 170 82 170 86 170 82 171 87 171 86 171 86 172 88 172 89 172 87 173 88 173 86 173 89 174 88 174 71 174 88 175 73 175 71 175 38 176 90 176 39 176 91 177 39 177 90 177 93 178 92 178 94 178 94 179 92 179 95 179 85 180 83 180 96 180 97 181 96 181 83 181 32 182 98 182 99 182 32 183 34 183 98 183 63 184 99 184 98 184 98 185 62 185 63 185 65 186 100 186 64 186 64 187 100 187 101 187 101 188 100 188 67 188 100 189 66 189 67 189 46 190 102 190 43 190 63 191 102 191 99 191 102 192 32 192 99 192 102 193 101 193 67 193 82 194 102 194 87 194 104 195 102 195 103 195 32 196 102 196 35 196 67 197 68 197 102 197 102 198 50 198 36 198 43 199 102 199 44 199 102 200 36 200 35 200 102 201 63 201 64 201 101 202 102 202 64 202 102 203 53 203 55 203 102 204 46 204 49 204 50 205 102 205 49 205 44 206 102 206 104 206 88 207 87 207 102 207 70 208 102 208 75 208 76 209 75 209 102 209 103 210 102 210 85 210 70 211 73 211 102 211 76 212 102 212 55 212 82 213 85 213 102 213 88 214 102 214 73 214 47 215 48 215 105 215 33 216 37 216 105 216 37 217 51 217 105 217 71 218 105 218 89 218 83 219 84 219 105 219 77 220 54 220 105 220 86 221 89 221 105 221 33 222 105 222 34 222 106 223 83 223 105 223 42 224 105 224 48 224 71 225 72 225 105 225 47 226 105 226 51 226 62 227 105 227 65 227 86 228 105 228 84 228 74 229 77 229 105 229 42 230 45 230 105 230 52 231 105 231 54 231 98 232 105 232 62 232 100 233 105 233 66 233 105 234 107 234 106 234 66 235 105 235 69 235 74 236 105 236 72 236 107 237 105 237 45 237 98 238 34 238 105 238 100 239 65 239 105 239 69 240 105 240 68 240 102 241 68 241 105 241 52 242 53 242 105 242 102 243 105 243 53 243 90 244 108 244 91 244 108 245 90 245 109 245 57 246 110 246 58 246 111 247 110 247 57 247 79 248 110 248 111 248 78 249 110 249 79 249 113 250 112 250 114 250 112 251 115 251 114 251 115 252 116 252 114 252 117 253 114 253 116 253 41 254 40 254 118 254 119 255 41 255 118 255 118 256 120 256 119 256 119 257 120 257 121 257 44 258 122 258 45 258 45 259 122 259 123 259 124 260 122 260 125 260 123 261 122 261 124 261 80 262 126 262 81 262 127 263 126 263 80 263 130 264 128 264 129 264 128 265 131 265 129 265 92 266 132 266 95 266 133 267 95 267 132 267 97 268 134 268 96 268 96 269 134 269 135 269 134 270 108 270 109 270 135 271 134 271 109 271 136 272 132 272 137 272 132 273 136 273 133 273 136 274 126 274 127 274 126 275 136 275 137 275 139 276 138 276 140 276 139 277 141 277 138 277 113 278 138 278 112 278 112 279 138 279 141 279 128 280 142 280 131 280 143 281 142 281 128 281 93 282 94 282 142 282 143 283 93 283 142 283 129 284 144 284 130 284 145 285 144 285 129 285 116 286 144 286 117 286 145 287 117 287 144 287 139 288 140 288 146 288 147 289 146 289 140 289 147 290 121 290 146 290 120 291 146 291 121 291 60 292 148 292 61 292 61 293 148 293 149 293 124 294 125 294 148 294 149 295 148 295 125 295

42 |
43 |
44 |
45 |
46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 |
57 | -------------------------------------------------------------------------------- /robotiq_2f_85_gripper_visualization/meshes/collision/robotiq_arg2f_85_outer_finger.dae: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | VCGLab 6 | VCGLib | MeshLab 7 | 8 | Mon Dec 3 16:31:45 2018 GMT 9 | Mon Dec 3 16:31:45 2018 GMT 10 | Y_UP 11 | 12 | 13 | 14 | 15 | 16 | 12 12.0649 46.3529 -12 12.1139 47.0239 -12 12.0649 46.3529 12 12.1139 47.0239 -7.07463 -2.07595 30.6293 7.07463 -2.07595 30.6293 12 0.164657 47.897 -12 0.164657 47.897 12 5.95012 -0.772068 12 5.82626 -1.43342 -12 5.82626 -1.43342 -12 5.95012 -0.772068 -12 5.62914 -2.07674 12 5.62914 -2.07674 -12 -5.95012 0.772068 12 -5.95012 0.772068 12 8.19151 52.7541 -12 8.19151 52.7541 -12 8.80872 52.4862 12 8.80872 52.4862 12 10.4282 51.2956 -12 10.8681 50.7864 12 10.8681 50.7864 -12 10.4282 51.2956 -12 9.93416 51.7523 12 9.93416 51.7523 12 6.21579 53.1241 -12 5.54346 53.0977 12 5.54346 53.0977 -12 6.21579 53.1241 12 6.88684 53.0751 -12 6.88684 53.0751 12 9.39204 52.1508 -12 9.39204 52.1508 12 -5.99915 0.101011 -12 -5.99915 0.101011 7.5 10.0286 30.6594 -7.5 10.0286 30.6594 12 4.87832 52.9962 -12 4.87832 52.9962 -12 4.22872 52.8208 12 4.22872 52.8208 -12 3.60285 52.5738 12 3.60285 52.5738 -12 3.00856 52.2583 12 3.00856 52.2583 12 7.54819 52.9512 -12 7.54819 52.9512 -12 11.2481 50.2312 12 11.5637 49.6369 -12 11.5637 49.6369 12 11.2481 50.2312 12 -5.44887 -2.51193 -12 -5.44887 -2.51193 -12 -5.13337 -3.10621 12 -5.13337 -3.10621 12 -5.97274 -0.571316 -12 -5.97274 -0.571316 -12 -5.87122 -1.23646 12 -5.87122 -1.23646 12 12.0875 47.6963 12 11.986 48.3614 -12 11.986 48.3614 -12 12.0875 47.6963 -12 0.288514 48.5583 12 0.288514 48.5583 12 0.48564 49.2017 -12 0.48564 49.2017 -13.5 3.87478 48.2351 -13.5 -2.42146 -0.621725 -13.5 -2.5 -6.66134e-15 -13.5 8.60614 46.9174 -13.5 2.48029 -0.313333 -13.5 7.08208 49.4302 -13.5 6.47839 49.5984 -13.5 -2.42146 0.621725 -13.5 2.32444 -0.920311 -13.5 2.02254 -1.46946 -13.5 0.468453 -2.45572 -13.5 -0.156976 -2.49507 -13.5 8.5795 47.5434 -13.5 1.59356 -1.92628 -13.5 7.62499 49.1172 -13.5 -0.772542 -2.37764 -13.5 -1.33957 -2.11082 -13.5 4.68667 49.1769 -13.5 4.22123 48.7573 -13.5 3.66907 47.6431 -13.5 5.85185 49.6111 -13.5 1.06445 -2.26207 -13.5 -2.19077 -1.20438 -13.5 5.24184 49.4676 -13.5 8.39798 48.1432 -13.5 -1.82242 -1.71137 -13.5 8.07301 48.6791 12 2.45334 51.8782 -12 2.45334 51.8782 12 1.94416 51.4384 -12 1.94416 51.4384 12 5.02588 -3.27727 -12 5.02588 -3.27727 -12 4.62735 -3.81938 12 4.62735 -3.81938 12 4.17061 -4.31347 -12 4.17061 -4.31347 12 -5.69586 -1.88605 -12 -5.69586 -1.88605 13.5 0.468453 -2.45572 13.5 -2.42146 0.621725 13.5 3.66907 47.6431 13.5 4.22123 48.7573 13.5 3.87478 48.2351 13.5 5.85185 49.6111 13.5 6.47839 49.5984 13.5 8.60614 46.9174 13.5 2.48029 -0.313333 13.5 -2.19077 -1.20438 13.5 -2.42146 -0.621725 13.5 -2.5 -5.55112e-15 13.5 5.24184 49.4676 13.5 8.5795 47.5434 13.5 -1.33957 -2.11082 13.5 -1.82242 -1.71137 13.5 8.39798 48.1432 13.5 7.62499 49.1172 13.5 8.07301 48.6791 13.5 4.68667 49.1769 13.5 7.08208 49.4302 13.5 2.32444 -0.920311 13.5 2.02254 -1.46946 13.5 1.59356 -1.92628 13.5 1.06445 -2.26207 13.5 -0.156976 -2.49507 13.5 -0.772542 -2.37764 12 -0.772068 -5.95012 -12 -0.772068 -5.95012 -12 -1.43342 -5.82626 12 -1.43342 -5.82626 12 2.51193 -5.44887 -12 1.88605 -5.69586 12 1.88605 -5.69586 -12 2.51193 -5.44887 -12 3.10621 -5.13337 12 3.10621 -5.13337 12 -2.69394 -5.36122 -12 -3.27727 -5.02588 12 -3.27727 -5.02588 -12 -2.69394 -5.36122 12 -4.7533 -3.66143 12 -4.31347 -4.17061 -12 -4.31347 -4.17061 -12 -4.7533 -3.66143 12 -3.81938 -4.62735 -12 -3.81938 -4.62735 12 11.8106 49.011 -12 11.8106 49.011 -12 0.753556 49.8189 12 0.753556 49.8189 -12 1.08889 50.4022 12 1.08889 50.4022 12 1.48743 50.9443 -12 1.48743 50.9443 -12 -2.07674 -5.62914 12 -2.07674 -5.62914 12 5.36122 -2.69394 -12 5.36122 -2.69394 12 3.66143 -4.7533 -12 3.66143 -4.7533 12 1.23646 -5.87122 12 0.571316 -5.97274 -12 0.571316 -5.97274 -12 1.23646 -5.87122 -12 -0.101011 -5.99915 12 -0.101011 -5.99915 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 0.919468 -0.389896 0.0505916 6.51936e-08 -0.991686 0.128678 -0.919252 0.3904 -0.0506352 -0.918764 0.393756 -0.028775 -0.91894 0.387657 -0.072601 -0.919146 0.390643 -0.0506885 0.919252 0.3904 -0.0506352 0.918764 0.393756 -0.028775 0.919941 -0.388965 0.0491377 0.919904 -0.388896 0.0503724 0.91894 0.387657 -0.0726009 0.919146 0.390643 -0.0506885 0.919899 -0.370425 0.128728 0.919935 -0.326705 0.216757 -0.919815 0.0246361 -0.391578 -0.919832 -0.389219 -0.0491698 -0.918838 -0.394331 -0.0154913 -0.919941 -0.388965 0.0491376 -0.919031 -0.393137 0.0287247 -1.30387e-07 -0.991686 0.128678 -0.919032 0.028722 0.393136 -0.918848 0.298625 0.257957 -1.64119e-06 0.991686 -0.128678 0.918848 0.298625 0.257957 0.919848 0.274281 0.280444 0.919244 0.267237 0.289092 0.918983 -0.0154762 0.393995 0.919941 0.00795919 0.391976 0.919032 0.028722 0.393136 0.91877 0.233844 0.318086 -0.919468 -0.389896 0.0505916 -0.919904 -0.388896 0.0503724 -0.919201 -0.10263 0.38018 -0.919547 0.195857 0.340696 -0.918767 0.1572 0.362154 -0.918868 -0.059533 0.390048 -0.919876 -0.0898123 0.381787 -0.918983 -0.0154762 0.393995 -0.919941 0.00795919 0.391976 -0.919796 -0.262753 0.291439 0.918953 -0.341899 0.196545 0.91889 -0.361889 0.15709 0.918788 -0.388006 0.0726669 0.919159 -0.376603 0.115397 -0.919466 0.288712 -0.266886 -0.918761 0.318104 -0.233857 -0.919083 0.376772 -0.11545 -0.91993 0.379764 -0.0975071 -0.919661 0.286275 -0.26883 -0.919942 -0.249904 -0.302082 -0.919015 -0.267601 -0.289486 0.918767 0.1572 0.362154 0.919547 0.195857 0.340696 0.919578 0.196233 0.340394 -0.918838 0.0726478 0.387891 -0.919831 0.105259 0.37793 -0.919269 0.115325 0.376358 0.919 0.348225 0.184876 0.919943 0.335217 0.20331 0.919014 0.325309 0.222682 0.919031 -0.393137 0.0287246 1.64119e-06 0.991686 -0.128678 0.918868 -0.059533 0.390048 0.919876 -0.0898123 0.381787 0.919201 -0.10263 0.38018 0.918778 -0.144915 0.367215 0.919636 -0.182193 0.347959 0.919492 -0.184333 0.347213 -0.918778 -0.144915 0.367215 -0.919636 -0.182193 0.347959 -0.919492 -0.184333 0.347213 -0.91877 0.233844 0.318086 -0.919578 0.196233 0.340394 -0.919244 0.267237 0.289092 -0.919848 0.274281 0.280444 0.919796 -0.262753 0.291439 -0.918762 -0.223016 0.325792 -0.919315 -0.257245 0.2978 -0.918813 0.362053 -0.15716 -0.919777 0.343898 -0.18906 -0.919338 0.34112 -0.196098 -0.918782 0.258057 -0.29874 -0.919862 -0.167008 -0.354911 -0.918999 -0.233528 -0.317657 -0.918857 -0.196658 -0.342093 -0.918847 -0.298625 -0.257958 -0.919848 -0.317358 -0.230574 -0.919245 -0.324864 -0.222377 -0.919268 -0.389126 -0.0593931 -0.918767 -0.381157 -0.102893 -0.919577 -0.365318 -0.144639 -0.919548 -0.365545 -0.144253 -0.91877 -0.348698 -0.185125 0.918838 0.0726478 0.387891 0.919831 0.105259 0.37793 0.919269 0.115325 0.376358 -0.919 0.348225 0.184876 -0.919943 0.335217 0.20331 -0.919014 0.325309 0.222682 0.919083 0.376772 -0.11545 0.91993 0.379764 -0.0975072 0.919888 0.210142 -0.33113 -0.918829 0.0595474 -0.390137 0.919577 -0.365318 -0.144639 0.91877 -0.348698 -0.185125 0.918838 -0.394331 -0.0154911 0.919832 -0.389219 -0.0491698 0.919268 -0.389126 -0.059393 0.919607 -0.0736113 -0.385882 0.918774 -0.115661 -0.377462 -0.918773 0.390266 0.0595662 -0.919605 0.392489 0.0167036 -0.919521 0.392737 0.0154329 0.918773 0.390266 0.0595662 0.919605 0.392489 0.0167036 0.919521 0.392737 0.0154329 -0.918788 -0.388006 0.0726669 -0.919159 -0.376603 0.115397 -0.919899 -0.370425 0.128728 -0.919935 -0.326705 0.216757 0.918762 -0.223016 0.325792 0.919315 -0.257245 0.2978 -0.919888 0.210142 -0.33113 -0.919181 0.222462 -0.324988 -0.918878 0.185007 -0.348476 -0.919607 -0.0736113 -0.385882 -0.91952 -0.0723517 -0.386326 0.918761 0.318104 -0.233857 0.919661 0.286275 -0.26883 0.919466 0.288712 -0.266886 -0.919939 0.121154 -0.372873 -0.919048 0.102722 -0.380525 -0.918968 0.144749 -0.366803 0.918767 -0.381157 -0.102893 0.919548 -0.365545 -0.144253 0.919815 0.0246362 -0.391578 0.919939 0.121153 -0.372873 0.91952 -0.0723517 -0.386326 0.918878 0.185007 -0.348476 0.918968 0.144749 -0.366803 0.919862 -0.167008 -0.354911 0.919223 -0.156779 -0.361177 0.918857 -0.196658 -0.342093 0.918847 -0.298625 -0.257958 0.919848 -0.317358 -0.230574 0.919245 -0.324864 -0.222377 0.919942 -0.249904 -0.302082 0.919015 -0.267601 -0.289486 0.918999 -0.233528 -0.317657 -0.918857 0.367047 0.144841 -0.919862 0.375429 0.113614 -0.919224 0.380127 0.102617 0.918857 0.367047 0.144841 0.919862 0.375429 0.113614 0.919224 0.380127 0.102617 -0.918953 -0.341899 0.196545 -0.91889 -0.361889 0.15709 -0.919066 -0.31753 0.233436 -0.918821 -0.289817 0.267909 0.919066 -0.31753 0.233436 0.918821 -0.289817 0.267909 -0.919223 -0.156779 -0.361177 -0.918774 -0.115661 -0.377462 0.918813 0.362053 -0.15716 0.919777 0.343898 -0.18906 0.919338 0.34112 -0.196098 0.919181 0.222462 -0.324988 0.918782 0.258057 -0.29874 0.918829 0.0595473 -0.390137 0.919048 0.102722 -0.380525 0.919291 0.0154496 -0.393276 0.918764 -0.0287699 -0.393757 -0.919291 0.0154496 -0.393276 -0.918764 -0.0287699 -0.393757 0 0.99734 -0.072884 0 0.99734 -0.072884 0 -0.991686 0.128678 0 -0.991686 0.128678 0 0.982911 -0.184081 0 0.982911 -0.184081 0 0.956121 -0.292972 0 0.956121 -0.292972 0 -0.991686 0.128678 0 -0.991686 0.128678 0 0.398176 0.917309 0 0.398176 0.917309 0 0.756755 0.653698 0 0.756755 0.653698 0 0.678805 0.734318 0 0.678805 0.734318 0 -0.0392499 0.999229 0 -0.0392499 0.999229 0 0.0728645 0.997342 0 0.0728645 0.997342 0 0.498388 0.866954 0 0.498388 0.866954 0 0.59232 0.805703 0 0.59232 0.805703 0 -0.997341 0.0728708 0 -0.997341 0.0728708 0 0.991687 -0.128677 0 0.991687 -0.128677 0 0.991686 -0.128678 0 0.991686 -0.128678 0 -0.150883 0.988552 0 -0.150883 0.988552 0 -0.260621 0.965441 0 -0.260621 0.965441 0 -0.468909 0.883246 0 -0.468909 0.883246 0 -0.367082 0.930189 0 -0.367082 0.930189 0 0.184088 0.98291 0 0.184088 0.98291 0 0.292977 0.95612 0 0.292977 0.95612 0 0.88324 0.468922 0 0.88324 0.468922 0 0.825186 0.56486 0 0.825186 0.56486 0 -0.883243 -0.468916 0 -0.883243 -0.468916 0 -0.988551 -0.150885 0 -0.988551 -0.150885 0 -0.999229 -0.0392542 0 -0.999229 -0.0392542 0 0.988552 0.150883 0 0.988552 0.150883 0 0.999229 0.0392654 0 0.999229 0.0392654 0 -0.956122 0.29297 0 -0.956122 0.29297 0 -0.982911 0.184082 0 -0.982911 0.184082 -1 0 0 -1 0 0 -1 0 0 -1 0 0 -1 0 0 -1 0 0 -1 0 0 -1 0 0 -1 0 0 -1 0 0 -1 0 0 -1 0 0 -1 0 0 -1 0 0 -1 0 0 -1 0 0 -1 0 0 -1 0 0 -1 0 0 -1 0 0 -1 0 0 -1 0 0 -1 0 0 -1 0 0 -1 0 0 0 -0.564866 0.825182 0 -0.564866 0.825182 0 -0.653699 0.756755 0 -0.653699 0.756755 0 0.805703 -0.59232 0 0.805703 -0.59232 0 0.734318 -0.678805 0 0.734318 -0.678805 0 -0.965442 -0.26062 0 -0.965442 -0.26062 0 -0.930191 -0.367075 0 -0.930191 -0.367075 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 0 -0.184081 -0.982911 0 -0.184081 -0.982911 0 0.367075 -0.930191 0 0.367075 -0.930191 0 0.468916 -0.883243 0 0.468916 -0.883243 0 -0.498384 -0.866956 0 -0.498384 -0.866956 0 -0.756755 -0.653699 0 -0.756755 -0.653699 0 -0.825187 -0.564859 0 -0.825187 -0.564859 0 -0.59232 -0.805703 0 -0.59232 -0.805703 0 -0.678805 -0.734318 0 -0.678805 -0.734318 0 0.930195 0.367065 0 0.930195 0.367065 0 0.96544 0.260625 0 0.96544 0.260625 0 -0.917305 0.398186 0 -0.917305 0.398186 0 -0.866957 0.498382 0 -0.866957 0.498382 0 -0.805702 0.592321 0 -0.805702 0.592321 0 -0.734316 0.678808 0 -0.734316 0.678808 0 -0.398184 -0.917306 0 -0.398184 -0.917306 0 -0.292972 -0.956121 0 -0.292972 -0.956121 0 0.917306 -0.398184 0 0.917306 -0.398184 0 0.866956 -0.498384 0 0.866956 -0.498384 0 0.564859 -0.825187 0 0.564859 -0.825187 0 0.653699 -0.756755 0 0.653699 -0.756755 0 0.150885 -0.988551 0 0.150885 -0.988551 0 0.26062 -0.965442 0 0.26062 -0.965442 0 0.0392542 -0.999229 0 0.0392542 -0.999229 0 -0.0728708 -0.997341 0 -0.0728708 -0.997341 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 |

15 0 109 0 6 0 6 1 5 1 15 1 2 2 72 2 71 2 2 3 71 3 1 3 72 4 11 4 10 4 2 5 11 5 72 5 115 6 0 6 114 6 114 7 0 7 3 7 15 8 118 8 108 8 15 9 108 9 109 9 9 10 8 10 115 10 0 11 115 11 8 11 111 12 66 12 109 12 111 13 110 13 159 13 79 14 78 14 170 14 69 15 57 15 70 15 70 16 57 16 35 16 75 17 70 17 14 17 70 18 35 18 14 18 14 19 4 19 7 19 74 20 29 20 31 20 23 21 21 21 94 21 11 22 2 22 37 22 22 23 20 23 125 23 125 24 20 24 124 24 124 25 20 25 25 25 112 26 26 26 28 26 113 27 26 27 112 27 30 28 26 28 113 28 124 29 25 29 32 29 14 30 7 30 87 30 14 31 87 31 75 31 40 32 39 32 91 32 33 33 73 33 18 33 18 34 73 34 17 34 27 35 88 35 39 35 39 36 88 36 91 36 29 37 88 37 27 37 29 38 74 38 88 38 86 39 98 39 85 39 159 40 157 40 111 40 66 41 111 41 157 41 109 42 65 42 6 42 66 43 65 43 109 43 77 44 101 44 104 44 101 45 77 45 100 45 12 46 76 46 10 46 76 47 72 47 10 47 81 48 77 48 104 48 153 49 93 49 84 49 153 50 150 50 93 50 16 51 127 51 19 51 32 52 19 52 127 52 32 53 127 53 124 53 74 54 31 54 47 54 74 55 47 55 73 55 73 56 47 56 17 56 123 57 49 57 51 57 123 58 51 58 125 58 125 59 51 59 22 59 15 60 34 60 118 60 8 61 36 61 0 61 112 62 28 62 38 62 112 63 38 63 119 63 119 64 38 64 41 64 119 65 41 65 43 65 119 66 43 66 126 66 126 67 43 67 45 67 91 68 42 68 40 68 85 69 42 69 91 69 44 70 42 70 85 70 24 71 82 71 33 71 82 72 73 72 33 72 23 73 82 73 24 73 23 74 94 74 82 74 126 75 97 75 110 75 85 76 96 76 44 76 98 77 96 77 85 77 12 78 165 78 76 78 76 79 165 79 77 79 77 80 165 80 100 80 81 81 104 81 167 81 84 82 83 82 147 82 84 83 145 83 153 83 84 84 147 84 145 84 150 85 151 85 93 85 93 86 151 86 90 86 90 87 151 87 54 87 58 88 57 88 69 88 106 89 58 89 69 89 90 90 53 90 69 90 53 91 106 91 69 91 90 92 54 92 53 92 113 93 46 93 30 93 127 94 46 94 113 94 127 95 16 95 46 95 92 96 48 96 50 96 94 97 48 97 92 97 21 98 48 98 94 98 9 99 128 99 13 99 9 100 115 100 128 100 130 101 131 101 143 101 78 102 171 102 170 102 117 103 52 103 116 103 116 104 52 104 55 104 34 105 56 105 118 105 118 106 56 106 117 106 117 107 56 107 59 107 137 108 132 108 133 108 163 109 137 109 133 109 62 110 63 110 80 110 80 111 63 111 71 111 71 112 63 112 1 112 120 113 60 113 61 113 114 114 60 114 120 114 114 115 3 115 60 115 87 116 7 116 64 116 67 117 87 117 64 117 67 118 68 118 87 118 68 119 158 119 86 119 45 120 95 120 126 120 97 121 126 121 95 121 81 122 142 122 89 122 167 123 142 123 81 123 142 124 141 124 89 124 79 125 136 125 83 125 135 126 136 126 79 126 102 127 99 127 129 127 130 128 103 128 129 128 129 129 103 129 102 129 89 130 139 130 78 130 139 131 171 131 78 131 141 132 139 132 89 132 117 133 59 133 105 133 105 134 52 134 117 134 169 135 107 135 132 135 140 136 131 136 107 136 134 137 132 137 137 137 131 138 138 138 143 138 140 139 138 139 131 139 121 140 144 140 133 140 144 141 163 141 133 141 121 142 146 142 144 142 122 143 148 143 149 143 116 144 148 144 122 144 116 145 55 145 148 145 122 146 152 146 121 146 149 147 152 147 122 147 121 148 152 148 146 148 92 149 50 149 155 149 92 150 155 150 80 150 155 151 62 151 80 151 123 152 154 152 49 152 120 153 154 153 123 153 61 154 154 154 120 154 68 155 156 155 158 155 68 156 67 156 156 156 158 157 161 157 86 157 86 158 161 158 98 158 110 159 160 159 159 159 97 160 160 160 110 160 83 161 162 161 147 161 136 162 162 162 83 162 128 163 164 163 13 163 129 164 164 164 128 164 99 165 164 165 129 165 130 166 143 166 166 166 166 167 103 167 130 167 168 168 107 168 169 168 107 169 168 169 140 169 132 170 173 170 169 170 134 171 173 171 132 171 79 172 170 172 172 172 135 173 79 173 172 173 1 174 0 174 2 174 3 175 0 175 1 175 4 176 5 176 6 176 7 177 4 177 6 177 9 178 10 178 8 178 11 179 8 179 10 179 9 180 12 180 10 180 12 181 9 181 13 181 4 182 14 182 5 182 5 183 14 183 15 183 18 184 17 184 16 184 18 185 16 185 19 185 21 186 20 186 22 186 21 187 23 187 20 187 24 188 20 188 23 188 20 189 24 189 25 189 28 190 26 190 27 190 29 191 27 191 26 191 30 192 31 192 26 192 29 193 26 193 31 193 18 194 19 194 32 194 18 195 32 195 33 195 24 196 32 196 25 196 24 197 33 197 32 197 14 198 35 198 34 198 14 199 34 199 15 199 0 200 36 200 2 200 37 201 2 201 36 201 8 202 11 202 36 202 37 203 36 203 11 203 27 204 38 204 28 204 39 205 38 205 27 205 40 206 41 206 38 206 39 207 40 207 38 207 45 208 42 208 44 208 43 209 42 209 45 209 40 210 42 210 41 210 42 211 43 211 41 211 30 212 46 212 31 212 47 213 31 213 46 213 16 214 17 214 46 214 47 215 46 215 17 215 48 216 49 216 50 216 48 217 51 217 49 217 22 218 48 218 21 218 51 219 48 219 22 219 55 220 52 220 54 220 53 221 54 221 52 221 59 222 56 222 58 222 58 223 56 223 57 223 56 224 34 224 35 224 57 225 56 225 35 225 61 226 60 226 62 226 63 227 62 227 60 227 1 228 60 228 3 228 63 229 60 229 1 229 64 230 65 230 66 230 67 231 64 231 66 231 7 232 6 232 64 232 65 233 64 233 6 233 69 234 70 234 68 234 71 235 72 235 68 235 73 236 68 236 74 236 75 237 68 237 70 237 76 238 77 238 68 238 78 239 79 239 68 239 80 240 71 240 68 240 81 241 68 241 77 241 82 242 68 242 73 242 83 243 84 243 68 243 85 244 68 244 86 244 87 245 68 245 75 245 88 246 74 246 68 246 78 247 68 247 89 247 90 248 69 248 68 248 85 249 91 249 68 249 92 250 80 250 68 250 88 251 68 251 91 251 76 252 68 252 72 252 81 253 89 253 68 253 84 254 93 254 68 254 90 255 68 255 93 255 92 256 68 256 94 256 82 257 94 257 68 257 83 258 68 258 79 258 44 259 95 259 45 259 96 260 95 260 44 260 97 261 95 261 98 261 98 262 95 262 96 262 101 263 100 263 99 263 99 264 102 264 101 264 102 265 103 265 101 265 101 266 103 266 104 266 58 267 105 267 59 267 58 268 106 268 105 268 52 269 105 269 53 269 53 270 105 270 106 270 108 271 107 271 109 271 110 272 111 272 107 272 109 273 107 273 111 273 112 274 107 274 113 274 114 275 107 275 115 275 116 276 107 276 117 276 108 277 118 277 107 277 119 278 107 278 112 278 120 279 107 279 114 279 121 280 107 280 122 280 123 281 107 281 120 281 124 282 107 282 125 282 110 283 107 283 126 283 127 284 107 284 124 284 128 285 107 285 129 285 123 286 125 286 107 286 119 287 126 287 107 287 127 288 113 288 107 288 130 289 129 289 107 289 117 290 107 290 118 290 128 291 115 291 107 291 130 292 107 292 131 292 116 293 122 293 107 293 132 294 107 294 133 294 121 295 133 295 107 295 136 296 134 296 137 296 136 297 135 297 134 297 139 298 138 298 140 298 139 299 141 299 138 299 143 300 138 300 142 300 142 301 138 301 141 301 145 302 144 302 146 302 145 303 147 303 144 303 149 304 148 304 150 304 151 305 150 305 148 305 54 306 148 306 55 306 151 307 148 307 54 307 145 308 152 308 153 308 146 309 152 309 145 309 150 310 153 310 152 310 149 311 150 311 152 311 49 312 154 312 50 312 155 313 50 313 154 313 61 314 62 314 154 314 155 315 154 315 62 315 66 316 156 316 67 316 157 317 156 317 66 317 158 318 156 318 159 318 157 319 159 319 156 319 159 320 160 320 158 320 160 321 161 321 158 321 98 322 160 322 97 322 161 323 160 323 98 323 144 324 147 324 162 324 144 325 162 325 163 325 162 326 136 326 137 326 163 327 162 327 137 327 164 328 12 328 13 328 12 329 164 329 165 329 99 330 100 330 164 330 165 331 164 331 100 331 142 332 167 332 166 332 142 333 166 333 143 333 103 334 166 334 104 334 167 335 104 335 166 335 169 336 170 336 168 336 171 337 168 337 170 337 139 338 140 338 168 338 139 339 168 339 171 339 169 340 172 340 170 340 173 341 172 341 169 341 134 342 135 342 172 342 173 343 134 343 172 343

42 |
43 |
44 |
45 |
46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 |
57 | -------------------------------------------------------------------------------- /robotiq_2f_85_gripper_visualization/meshes/collision/robotiq_arg2f_85_outer_knuckle.dae: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | VCGLab 6 | VCGLib | MeshLab 7 | 8 | Mon Dec 3 16:33:09 2018 GMT 9 | Mon Dec 3 16:33:09 2018 GMT 10 | Y_UP 11 | 12 | 13 | 14 | 15 | 16 | -5 31.6768 -9.08188 11.5 24.2004 9.27773 11.5 24.8506 9.36074 5 32.8239 -8.90321 -11.5 24.2004 9.27773 11.5 25.5 9.27188 -11.5 24.8506 9.36074 -5.5 -0.0514696 -7.49982 5 31.6768 -9.08188 5 32.2556 -9.02595 -11.5 26.1041 9.01725 -11.5 25.5 9.27188 11.5 26.1041 9.01725 5 35.9084 -6.4185 5 33.8989 -8.46482 5 33.3742 -8.71532 5 35.6077 -6.91613 5 34.8438 -7.79034 5 34.391 -8.1551 5 35.2512 -7.37548 -5 32.2556 -9.02595 -5 35.9084 -6.4185 -5 35.6077 -6.91613 -5 32.8239 -8.90321 -5 33.3742 -8.71532 -5 34.391 -8.1551 -5 33.8989 -8.46482 -5 35.2512 -7.37548 -5 34.8438 -7.79034 5.5 -0.0514696 -7.49982 -4.5 23.6897 12.7496 5.5 -1.3275 7.38158 4.5 23.6897 12.7496 -5.5 -1.3275 7.38158 4.5 31.1073 -10.0736 -4.5 31.1073 -10.0736 -4.5 31.7519 -10.0796 4.5 31.7519 -10.0796 4.5 24.3268 12.8388 -4.5 24.3268 12.8388 -4.5 25.6114 12.8109 4.5 33.5449 11.7815 -4.5 33.5449 11.7815 4.5 25.6114 12.8109 5.5 -7.47258 -0.640746 -5.5 -7.49982 0.0514696 -5.5 -7.47258 -0.640746 5.5 -7.49982 0.0514696 4.5 38.644 7.0678 -4.5 38.644 7.0678 -4.5 38.4687 7.71739 4.5 38.4687 7.71739 4.5 24.9699 12.8593 -4.5 24.9699 12.8593 4.5 38.2217 8.34326 -4.5 38.2217 8.34326 4.5 37.9062 8.93755 -4.5 37.9062 8.93755 4.5 32.3935 -10.0165 -4.5 32.3935 -10.0165 -5.5 -3.29689 6.73651 5.5 -3.90439 6.40357 5.5 -3.29689 6.73651 -5.5 -3.90439 6.40357 -5.5 -2.00292 7.22761 5.5 -2.00292 7.22761 4.5 34.2062 11.6576 -4.5 34.2062 11.6576 -4.5 34.8496 11.4605 4.5 34.8496 11.4605 -5.5 -7.38158 -1.3275 5.5 -7.38158 -1.3275 5.5 -7.22761 -2.00292 -5.5 -7.22761 -2.00292 -5.5 -7.01197 -2.66125 5.5 -7.01197 -2.66125 5.5 -7.46308 0.743246 -5.5 -7.46308 0.743246 5.5 -2.66125 7.01197 -5.5 -2.66125 7.01197 5.5 -6.73651 -3.29689 -5.5 -6.73651 -3.29689 5.5 -6.01601 -4.47858 -5.5 -6.01601 -4.47858 -5.5 -5.57711 -5.01456 5.5 -5.57711 -5.01456 -4.5 37.4362 -4.85759 -4.5 38.7229 5.05927 4.5 38.7229 5.05927 4.5 37.4362 -4.85759 12 26.8227 6.60341 12 26.7014 7.59074 12 26.8244 7.10474 12 26.1194 8.39748 12 25.697 8.66754 12 23.7734 8.55302 12 24.2277 8.76495 12 25.6848 5.04825 12 26.109 5.31545 12 24.7205 8.85723 12 23.762 5.17573 12 23.3768 5.49659 12 22.8393 6.86751 12 22.9039 7.36467 12 23.0835 5.90317 12 23.09 7.83017 12 26.4613 8.03087 12 26.6964 6.11825 12 26.4534 5.67974 12 22.9005 6.36992 12 23.386 8.23477 12 24.2149 4.96074 12 24.707 4.86515 12 25.2075 4.89494 12 25.2207 8.82406 4.5 37.5261 9.49277 -4.5 37.5261 9.49277 -4.5 37.0863 10.002 4.5 37.0863 10.002 4.5 35.4668 11.1926 -4.5 35.4668 11.1926 -4.5 36.0501 10.8572 4.5 36.0501 10.8572 4.5 36.5922 10.4587 -4.5 36.5922 10.4587 4.5 36.8848 -6.70353 -4.5 36.8848 -6.70353 -4.5 37.1345 -6.1092 4.5 37.1345 -6.1092 -4.5 36.5727 -7.26763 4.5 36.5727 -7.26763 4.5 36.202 -7.795 -4.5 36.202 -7.795 5.5 -6.34938 3.99191 -5.5 -6.34938 3.99191 -5.5 -5.95397 4.56073 5.5 -5.95397 4.56073 -5.5 -6.69063 3.38903 5.5 -6.69063 3.38903 5.5 -6.97478 2.75724 -5.5 -6.97478 2.75724 -5.5 -7.19944 2.10193 5.5 -7.19944 2.10193 -5.5 -5.50776 5.09063 5.5 -5.50776 5.09063 -5.5 -5.01456 5.57711 5.5 -5.01456 5.57711 -5.5 -6.40357 -3.90439 5.5 -6.40357 -3.90439 -5.5 -5.09063 -5.50776 5.5 -5.09063 -5.50776 -5.5 -4.56073 -5.95397 5.5 -4.56073 -5.95397 -5.5 -7.36267 1.42868 5.5 -7.36267 1.42868 -4.5 37.319 -5.49151 4.5 37.319 -5.49151 -12 26.8244 7.10474 -12 26.4534 5.67974 -12 26.6964 6.11825 -12 22.9039 7.36467 -12 22.8393 6.86751 -12 26.4613 8.03087 -12 26.1194 8.39748 -12 24.2277 8.76495 -12 24.7205 8.85723 -12 25.697 8.66754 -12 25.6848 5.04825 -12 25.2075 4.89494 -12 23.762 5.17573 -12 23.3768 5.49659 -12 23.0835 5.90317 -12 25.2207 8.82406 -12 24.707 4.86515 -12 23.386 8.23477 -12 23.09 7.83017 -12 26.7014 7.59074 -12 24.2149 4.96074 -12 22.9005 6.36992 -12 26.109 5.31545 -12 26.8227 6.60341 -12 23.7734 8.55302 -4.5 33.0246 -9.88491 4.5 33.0246 -9.88491 -5.5 -4.47858 6.01601 5.5 -4.47858 6.01601 5.5 -3.38903 -6.69063 5.5 -2.75724 -6.97478 -5.5 -2.75724 -6.97478 -5.5 -3.38903 -6.69063 -4.5 38.7456 6.40266 4.5 38.7456 6.40266 -4.5 33.6379 -9.68637 4.5 34.2264 -9.42318 -4.5 34.2264 -9.42318 4.5 33.6379 -9.68637 -4.5 34.7832 -9.09836 4.5 34.7832 -9.09836 4.5 35.302 -8.71568 -4.5 35.302 -8.71568 -4.5 35.7767 -8.27955 4.5 35.7767 -8.27955 5.5 -3.99191 -6.34938 -5.5 -3.99191 -6.34938 5.5 -0.743246 -7.46308 5.5 -1.42868 -7.36267 -5.5 -1.42868 -7.36267 -5.5 -0.743246 -7.46308 5.5 -2.10193 -7.19944 -5.5 -2.10193 -7.19944 -4.5 38.772 5.73033 4.5 38.772 5.73033 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | -0.894484 0.0430027 -0.445027 -0.447782 -0.170442 0.877748 -0.713416 -0.128977 0.688769 0.447782 -0.170442 0.877748 0.537566 -0.187414 0.82213 0.694759 -0.0910849 0.713452 0.95725 -0.233457 0.170794 -0.448148 -0.123954 0.885324 -0.446496 -0.0285076 0.894331 -0.448887 -0.113165 0.886394 -0.455042 0.120721 0.882249 -0.694759 -0.0910849 0.713452 -0.900953 0.0417347 -0.431906 0.978909 -0.190202 -0.0745734 -0.835282 0.530833 0.143252 -0.826042 0.524259 0.2069 -0.814469 0.512468 0.272061 0.448148 -0.123954 0.885324 0.448887 -0.113165 0.886394 0.449191 0.114963 0.886009 0.813244 0.510853 0.278682 0.627961 0.302278 0.717142 0.455042 0.120721 0.882249 0.692813 0.280089 0.6645 0.896122 0.388189 -0.215116 0.89876 0.375252 -0.226752 0.907202 0.0888135 -0.411213 0.911034 0.126097 -0.392577 0.914402 0.215752 -0.342522 0.894774 0.0942653 -0.436455 0.911469 0.13292 -0.389303 -0.8943 0.043796 -0.445319 0.895794 0.380412 -0.22987 -0.568019 0.241066 0.786919 -0.491271 0.160398 0.85611 -0.44697 0.0673006 0.892014 -0.449191 0.114963 0.886009 -0.813244 0.510853 0.278682 -0.772188 0.464678 0.433359 -0.894065 0.00159371 -0.447933 -0.898606 0.0260688 -0.437982 -0.892964 -0.00419001 -0.450108 -0.933962 -0.0681456 -0.350816 -0.925531 -0.0548863 -0.374674 -0.940666 -0.0799551 -0.329779 -0.96026 -0.11969 -0.25214 0.971579 -0.151503 -0.181882 -0.977228 -0.211894 0.0112539 -0.978719 -0.203669 -0.0250495 -0.978153 -0.207728 -0.00817461 0.974125 -0.219646 0.0532538 0.705014 -0.214325 0.676032 0.713416 -0.128977 0.688769 0.892165 -0.00867246 -0.451627 0.892964 -0.00419019 -0.450108 0.978153 -0.207728 -0.00817456 0.978719 -0.203669 -0.0250496 0.978758 -0.203243 -0.0269312 0.979029 -0.193598 -0.0634141 0.979027 -0.198636 -0.0452815 0.841428 0.534174 0.0815955 0.836503 0.531214 0.134442 0.835282 0.530833 0.143252 0.845681 0.533278 0.0209381 0.874172 0.465302 -0.138984 0.44697 0.0673008 0.892014 0.446496 -0.0285074 0.894331 0.826042 0.524259 0.206901 0.814469 0.512468 0.272061 -0.779385 0.474179 0.409529 -0.798729 0.496491 0.339895 -0.754503 0.445474 0.481953 -0.723643 0.408782 0.556091 0.772188 0.464678 0.433359 0.716752 0.375625 0.587514 0.71107 0.392536 0.583348 0.715872 0.217983 0.663333 0.714768 0.0462753 0.697829 0.693693 0.097647 0.713621 -0.913194 0.255654 -0.317361 -0.914402 0.215752 -0.342522 -0.907203 0.0888141 -0.411212 -0.911034 0.126097 -0.392576 -0.911469 0.13292 -0.389303 -0.886379 0.42682 -0.179322 0.895707 0.236846 -0.376314 0.9144 0.215629 -0.342602 0.913654 0.175131 -0.366832 0.893671 0.138201 -0.426911 0.895169 0.144022 -0.421817 0.8943 0.043796 -0.445319 0.89404 0.0914431 -0.438554 0.909979 0.301314 -0.284863 0.90569 0.334911 -0.259923 0.892965 0.267198 -0.362241 -0.813229 -0.231397 0.533961 -0.705014 -0.214325 0.676032 -0.717954 -0.216681 0.661507 -0.537566 -0.187414 0.82213 -0.958954 -0.232832 0.161851 -0.96447 -0.229915 0.13014 -0.968637 -0.226617 0.101922 -0.95725 -0.233457 0.170794 0.951379 -0.235614 0.198402 0.940866 -0.237905 0.241191 0.568019 0.241066 0.786919 0.491271 0.160398 0.85611 -0.715872 0.217983 0.663333 -0.714768 0.0462753 0.697829 -0.693693 0.097647 0.713621 -0.676114 -0.0390763 -0.73576 -0.892165 -0.00867247 -0.451627 -0.902991 -0.0227875 -0.429056 -0.978758 -0.203243 -0.0269316 -0.979027 -0.198636 -0.0452815 -0.979029 -0.193598 -0.0634141 -0.978909 -0.190202 -0.0745733 -0.978743 -0.188181 -0.08155 -0.976839 -0.173536 -0.125186 -0.975887 -0.168878 -0.13829 -0.958837 -0.116472 -0.258969 -0.951204 -0.100067 -0.291885 -0.971579 -0.151503 -0.181882 0.974088 -0.161019 -0.158825 0.971732 -0.152068 -0.18059 -0.971764 -0.223204 0.0765209 -0.970216 -0.224934 0.0899251 -0.976204 -0.215048 0.0279429 0.976204 -0.215047 0.0279423 0.975928 -0.215788 0.0316103 0.977228 -0.211894 0.0112537 0.903504 -0.239771 0.355232 0.869031 -0.237782 0.433872 0.833306 -0.233707 0.500982 0.926256 -0.239243 0.291227 0.925942 -0.239273 0.292198 0.717954 -0.216681 0.661507 0.813229 -0.231397 0.533961 0.894484 0.0430027 -0.445027 0.894065 0.001594 -0.447934 0.898606 0.0260688 -0.437982 0.900953 0.0417349 -0.431906 0.978743 -0.188181 -0.08155 0.978136 -0.182372 -0.099949 0.976839 -0.173536 -0.125186 0.977217 -0.17592 -0.11874 0.975887 -0.168878 -0.13829 -0.847998 0.525594 -0.0681953 0.869534 0.477943 -0.124422 0.85786 0.50532 -0.0934243 0.847998 0.525594 -0.0681952 0.847045 0.531518 -0.00180178 0.847624 0.529184 -0.038719 0.779385 0.474179 0.409529 0.798729 0.496491 0.339895 -0.683408 0.363906 0.632871 -0.716752 0.375625 0.587514 -0.71107 0.392536 0.583348 -0.692813 0.280089 0.6645 -0.627961 0.302278 0.717142 -0.63298 0.308247 0.710154 0.63298 0.308247 0.710154 0.683408 0.363906 0.632871 0.754503 0.445474 0.481953 0.723643 0.408783 0.556091 -0.913654 0.175131 -0.366832 -0.9144 0.215629 -0.342602 -0.895484 0.191761 -0.401666 -0.90998 0.301314 -0.284863 -0.910518 0.295007 -0.289704 -0.90569 0.334911 -0.259923 -0.895904 0.350954 -0.272373 -0.892911 0.368339 -0.258914 0.893044 0.393725 -0.217836 0.886379 0.42682 -0.179322 0.893984 0.397304 -0.207225 0.895484 0.191761 -0.401666 0.893364 0.183443 -0.410182 0.893132 0.226648 -0.388517 0.892859 0.338455 -0.29707 0.892911 0.368339 -0.258914 0.895904 0.350954 -0.272373 0.895854 0.278755 -0.346037 0.913194 0.255654 -0.317361 0.910518 0.295007 -0.289704 0.895913 0.316954 -0.311257 0.892874 0.304658 -0.331601 0.958954 -0.232832 0.161851 0.96447 -0.229915 0.13014 0.970215 -0.224934 0.0899255 0.968637 -0.226617 0.101922 0.971764 -0.223204 0.0765209 -0.951379 -0.235614 0.198402 -0.940866 -0.237905 0.241191 -0.869032 -0.237782 0.433871 -0.833306 -0.233707 0.500982 -0.926256 -0.239243 0.291227 -0.978136 -0.182372 -0.099949 -0.977217 -0.17592 -0.11874 -0.974088 -0.161019 -0.158825 -0.971732 -0.152068 -0.18059 -0.964391 -0.130282 -0.230167 -0.968557 -0.142006 -0.204284 -0.974125 -0.219646 0.0532533 -0.975928 -0.215788 0.0316111 -0.85786 0.505321 -0.0934236 -0.869534 0.477943 -0.124423 -0.874172 0.465302 -0.138984 -0.836503 0.531214 0.134442 -0.89404 0.0914431 -0.438554 -0.894774 0.0942653 -0.436455 -0.895854 0.278755 -0.346037 -0.896122 0.388189 -0.215116 -0.893044 0.393725 -0.217836 -0.893984 0.397304 -0.207225 -0.89876 0.375252 -0.226752 -0.895794 0.380412 -0.22987 -0.903504 -0.239771 0.355233 -0.925942 -0.239273 0.292198 0.96026 -0.11969 -0.25214 0.958837 -0.116472 -0.258969 0.933962 -0.0681458 -0.350815 -0.841428 0.534174 0.0815955 -0.895169 0.144022 -0.421817 -0.893671 0.138201 -0.426911 -0.893364 0.183443 -0.410182 -0.892965 0.267198 -0.362241 -0.895707 0.236846 -0.376314 -0.893132 0.226648 -0.388517 -0.895913 0.316954 -0.311257 -0.892874 0.304658 -0.331601 -0.892859 0.338455 -0.29707 0.968557 -0.142006 -0.204283 0.964391 -0.130282 -0.230167 0.676115 -0.0390762 -0.735759 0.902991 -0.0227872 -0.429056 0.925531 -0.0548863 -0.374674 0.951204 -0.100067 -0.291885 0.940666 -0.0799551 -0.329779 -0.847045 0.531518 -0.00180178 -0.845681 0.533278 0.0209381 -0.847624 0.529184 -0.0387184 0 -0.209798 0.977745 0 -0.209798 0.977745 0 -0.0093085 -0.999957 0 -0.0093085 -0.999957 0 -0.138657 0.99034 0 -0.138657 0.99034 0 0.128675 0.991687 0 0.128675 0.991687 0 -0.999227 -0.0393219 0 -0.999227 -0.0393219 0 0.965462 0.260543 0 0.965462 0.260543 0 0.0752342 0.997166 0 0.0752342 0.997166 0 -0.0318594 0.999492 0 -0.0318594 0.999492 0 0.930182 0.367099 0 0.930182 0.367099 0 0.88325 0.468902 0 0.88325 0.468902 0 0.0978752 -0.995199 0 0.0978752 -0.995199 0 -0.480604 0.876938 0 -0.480604 0.876938 0 -0.22226 0.974988 0 -0.22226 0.974988 0 0.292906 0.956141 0 0.292906 0.956141 0 0.184153 0.982898 0 0.184153 0.982898 0 -0.991335 -0.131359 0 -0.991335 -0.131359 0 -0.974988 -0.22226 0 -0.974988 -0.22226 0 -0.950318 -0.311282 0 -0.950318 -0.311282 0 -0.998593 0.0530353 0 -0.998593 0.0530353 0 -0.311282 0.950318 0 -0.311282 0.950318 0 -0.397627 0.917547 0 -0.397627 0.917547 0 -0.917547 -0.397627 0 -0.917547 -0.397627 0 -0.773695 -0.633558 0 -0.773695 -0.633558 0 0.991687 -0.12867 0 0.991687 -0.12867 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 0 0.756815 0.653629 0 0.756815 0.653629 0 0.82516 0.564899 0 0.82516 0.564899 0 0.398166 0.917313 0 0.398166 0.917313 0 0.498476 0.866903 0 0.498476 0.866903 0 0.678769 0.734352 0 0.678769 0.734352 0 0.592289 0.805726 0 0.592289 0.805726 0 0.921938 -0.387338 0 0.921938 -0.387338 0 0.875005 -0.484114 0 0.875005 -0.484114 0 0.818107 -0.575067 0 0.818107 -0.575067 0 -0.821102 0.570782 0 -0.821102 0.570782 0 -0.870259 0.492595 0 -0.870259 0.492595 0 -0.945954 0.324301 0 -0.945954 0.324301 0 -0.912005 0.410178 0 -0.912005 0.410178 0 -0.764927 0.644117 0 -0.764927 0.644117 0 -0.70224 0.71194 0 -0.70224 0.71194 0 -0.876938 -0.480604 0 -0.876938 -0.480604 0 -0.828861 -0.559455 0 -0.828861 -0.559455 0 -0.71194 -0.70224 0 -0.71194 -0.70224 0 -0.644117 -0.764927 0 -0.644117 -0.764927 0 -0.971844 0.235624 0 -0.971844 0.235624 0 -0.98944 0.144944 0 -0.98944 0.144944 0 0.958169 -0.286202 0 0.958169 -0.286202 0 0.983336 -0.181799 0 0.983336 -0.181799 -1 0 0 -1 0 0 -1 0 0 -1 0 0 -1 0 0 -1 0 0 -1 0 0 -1 0 0 -1 0 0 -1 0 0 -1 0 0 -1 0 0 -1 0 0 -1 0 0 -1 0 0 -1 0 0 -1 0 0 -1 0 0 -1 0 0 -1 0 0 -1 0 0 -1 0 0 -1 0 0 0 0.20412 -0.978946 0 0.20412 -0.978946 0 -0.559455 0.828861 0 -0.559455 0.828861 0 -0.633558 0.773695 0 -0.633558 0.773695 0 -0.410178 -0.912005 0 -0.410178 -0.912005 0 0.988534 0.150999 0 0.988534 0.150999 0 0.408256 -0.912867 0 0.408256 -0.912867 0 0.307987 -0.95139 0 0.307987 -0.95139 0 0.503893 -0.863766 0 0.503893 -0.863766 0 0.593608 -0.804754 0 0.593608 -0.804754 0 0.751561 -0.659663 0 0.751561 -0.659663 0 0.676557 -0.73639 0 0.676557 -0.73639 0 -0.570782 -0.821102 0 -0.570782 -0.821102 0 -0.492595 -0.870259 0 -0.492595 -0.870259 0 -0.144944 -0.98944 0 -0.144944 -0.98944 0 -0.0816876 -0.996658 0 -0.0816876 -0.996658 0 -0.324301 -0.945954 0 -0.324301 -0.945954 0 -0.235624 -0.971844 0 -0.235624 -0.971844 0 0.997334 -0.0729712 0 0.997334 -0.0729712 0 0.99923 0.0392328 0 0.99923 0.0392328 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 |

0 0 20 0 36 0 30 1 4 1 33 1 164 2 4 2 165 2 1 3 32 3 31 3 1 4 31 4 65 4 1 5 99 5 2 5 136 6 105 6 110 6 39 7 4 7 30 7 6 8 39 8 53 8 39 9 6 9 4 9 6 10 42 10 11 10 4 11 6 11 165 11 168 12 20 12 0 12 109 13 75 13 104 13 49 14 176 14 50 14 50 15 176 15 55 15 176 16 57 16 55 16 32 17 1 17 38 17 38 18 1 18 2 18 41 19 43 19 2 19 106 20 91 20 56 20 5 21 12 21 69 21 5 22 41 22 2 22 5 23 94 23 12 23 13 24 107 24 108 24 16 25 13 25 108 25 9 26 3 26 113 26 97 27 113 27 3 27 97 28 18 28 98 28 183 29 3 29 9 29 15 30 97 30 3 30 59 31 36 31 20 31 130 32 13 32 16 32 11 33 67 33 68 33 67 34 11 34 42 34 40 35 6 35 53 35 6 36 40 36 42 36 162 37 57 37 176 37 162 38 163 38 117 38 173 39 0 39 36 39 173 40 168 40 0 40 36 41 35 41 173 41 173 42 206 42 177 42 173 43 207 43 206 43 209 44 177 44 206 44 177 45 189 45 169 45 152 46 100 46 101 46 161 47 45 47 77 47 161 48 178 48 46 48 161 49 46 49 45 49 103 50 142 50 154 50 96 51 1 51 65 51 99 52 1 52 96 52 112 53 29 53 34 53 112 54 34 54 37 54 44 55 102 55 47 55 44 56 109 56 102 56 44 57 71 57 109 57 72 58 75 58 109 58 72 59 109 59 71 59 191 60 48 60 92 60 48 61 91 61 92 61 48 62 51 62 91 62 211 63 191 63 92 63 156 64 107 64 128 64 2 65 43 65 52 65 52 66 38 66 2 66 54 67 91 67 51 67 54 68 56 68 91 68 116 69 162 69 117 69 57 70 162 70 116 70 163 71 124 71 117 71 124 72 163 72 121 72 93 73 106 73 118 73 94 74 93 74 12 74 93 75 122 75 12 75 114 76 94 76 5 76 99 77 114 77 2 77 114 78 5 78 2 78 25 79 179 79 28 79 179 80 25 80 167 80 168 81 23 81 20 81 23 82 168 82 167 82 23 83 167 83 24 83 126 84 159 84 127 84 14 85 197 85 18 85 97 86 14 86 18 86 14 87 97 87 15 87 183 88 195 88 3 88 195 89 15 89 3 89 58 90 9 90 37 90 58 91 183 91 9 91 98 92 19 92 108 92 19 93 16 93 108 93 198 94 18 94 197 94 60 95 79 95 164 95 164 96 64 96 4 96 79 97 64 97 164 97 4 98 64 98 33 98 175 99 134 99 135 99 134 100 175 100 137 100 140 101 137 101 175 101 174 102 175 102 135 102 144 103 136 103 110 103 146 104 144 104 110 104 66 105 5 105 69 105 41 106 5 106 66 106 166 107 172 107 11 107 165 108 6 108 172 108 172 109 6 109 11 109 35 110 207 110 7 110 7 111 173 111 35 111 173 112 7 112 207 112 178 113 70 113 46 113 70 114 178 114 73 114 74 115 73 115 178 115 74 116 178 116 171 116 74 117 171 117 81 117 83 118 171 118 170 118 83 119 170 119 84 119 188 120 189 120 177 120 209 121 188 121 177 121 151 122 170 122 169 122 150 123 101 123 85 123 150 124 152 124 101 124 141 125 140 125 160 125 160 126 140 126 175 126 160 127 161 127 77 127 76 128 102 128 103 128 103 129 154 129 76 129 47 130 102 130 76 130 95 131 61 131 185 131 95 132 62 132 61 132 95 133 96 133 62 133 95 134 146 134 110 134 95 135 185 135 146 135 78 136 96 136 65 136 62 137 96 137 78 137 37 138 9 138 8 138 8 139 112 139 37 139 112 140 8 140 113 140 8 141 9 141 113 141 80 142 104 142 75 142 80 143 148 143 104 143 82 144 101 144 104 144 148 145 82 145 104 145 101 146 82 146 85 146 87 147 86 147 180 147 107 148 156 148 90 148 90 149 156 149 89 149 90 150 89 150 88 150 90 151 211 151 92 151 90 152 88 152 211 152 115 153 118 153 106 153 106 154 56 154 115 154 10 155 120 155 121 155 10 156 163 156 166 156 10 157 121 157 163 157 10 158 166 158 11 158 10 159 11 159 68 159 120 160 10 160 68 160 69 161 12 161 119 161 12 162 122 162 119 162 123 163 93 163 118 163 93 164 123 164 122 164 26 165 24 165 167 165 26 166 167 166 25 166 26 167 194 167 24 167 27 168 179 168 158 168 27 169 28 169 179 169 27 170 158 170 22 170 132 171 27 171 22 171 129 172 132 172 22 172 130 173 125 173 13 173 107 174 125 174 128 174 13 175 125 175 107 175 193 176 14 176 15 176 195 177 193 177 15 177 14 178 193 178 197 178 131 179 19 179 201 179 131 180 130 180 16 180 19 181 131 181 16 181 17 182 18 182 198 182 17 183 98 183 18 183 17 184 19 184 98 184 17 185 201 185 19 185 17 186 198 186 201 186 133 187 105 187 136 187 133 188 138 188 105 188 139 189 103 189 105 189 139 190 105 190 138 190 139 191 142 191 103 191 143 192 174 192 135 192 145 193 174 193 143 193 63 194 60 194 181 194 181 195 60 195 164 195 181 196 174 196 145 196 81 197 171 197 147 197 83 198 147 198 171 198 84 199 170 199 149 199 151 200 149 200 170 200 203 201 169 201 189 201 203 202 151 202 169 202 141 203 160 203 153 203 153 204 160 204 77 204 155 205 180 205 86 205 155 206 159 206 180 206 127 207 159 207 155 207 176 208 49 208 157 208 182 209 59 209 20 209 20 210 23 210 182 210 199 211 25 211 28 211 21 212 158 212 159 212 21 213 126 213 129 213 21 214 159 214 126 214 22 215 158 215 21 215 21 216 129 216 22 216 63 217 181 217 184 217 184 218 181 218 145 218 186 219 111 219 100 219 186 220 187 220 111 220 205 221 112 221 111 221 190 222 157 222 49 222 192 223 23 223 24 223 192 224 182 224 23 224 24 225 194 225 192 225 199 226 196 226 25 226 196 227 26 227 25 227 26 228 196 228 194 228 28 229 27 229 200 229 200 230 199 230 28 230 200 231 27 231 132 231 100 232 152 232 202 232 202 233 186 233 100 233 204 234 34 234 29 234 29 235 112 235 204 235 112 236 205 236 204 236 111 237 187 237 208 237 208 238 205 238 111 238 180 239 157 239 210 239 210 240 157 240 190 240 87 241 180 241 210 241 30 242 31 242 32 242 33 243 31 243 30 243 34 244 35 244 36 244 34 245 36 245 37 245 38 246 30 246 32 246 38 247 39 247 30 247 40 248 41 248 42 248 43 249 41 249 40 249 44 250 45 250 46 250 45 251 44 251 47 251 48 252 49 252 50 252 48 253 50 253 51 253 43 254 40 254 52 254 52 255 40 255 53 255 38 256 52 256 39 256 53 257 39 257 52 257 54 258 51 258 50 258 50 259 55 259 54 259 54 260 57 260 56 260 54 261 55 261 57 261 58 262 37 262 36 262 59 263 58 263 36 263 60 264 61 264 62 264 60 265 63 265 61 265 64 266 31 266 33 266 65 267 31 267 64 267 67 268 66 268 68 268 66 269 69 269 68 269 42 270 41 270 66 270 66 271 67 271 42 271 70 272 44 272 46 272 44 273 70 273 71 273 70 274 72 274 71 274 70 275 73 275 72 275 74 276 72 276 73 276 75 277 72 277 74 277 76 278 45 278 47 278 76 279 77 279 45 279 65 280 64 280 78 280 78 281 64 281 79 281 78 282 60 282 62 282 60 283 78 283 79 283 74 284 80 284 75 284 80 285 74 285 81 285 82 286 83 286 84 286 82 287 84 287 85 287 86 288 87 288 88 288 86 289 88 289 89 289 90 290 92 290 91 290 90 291 93 291 94 291 96 292 95 292 90 292 90 293 97 293 98 293 99 294 96 294 90 294 100 295 90 295 101 295 90 296 103 296 102 296 90 297 104 297 101 297 90 298 105 298 103 298 90 299 91 299 106 299 108 300 107 300 90 300 90 301 98 301 108 301 90 302 102 302 109 302 110 303 105 303 90 303 90 304 100 304 111 304 109 305 104 305 90 305 90 306 112 306 113 306 90 307 113 307 97 307 94 308 114 308 90 308 112 309 90 309 111 309 106 310 93 310 90 310 90 311 114 311 99 311 90 312 95 312 110 312 115 313 116 313 117 313 115 314 117 314 118 314 115 315 56 315 57 315 57 316 116 316 115 316 119 317 68 317 69 317 119 318 120 318 68 318 121 319 120 319 119 319 119 320 122 320 121 320 123 321 118 321 117 321 124 322 123 322 117 322 123 323 121 323 122 323 123 324 124 324 121 324 125 325 126 325 127 325 125 326 127 326 128 326 129 327 125 327 130 327 125 328 129 328 126 328 131 329 129 329 130 329 132 330 129 330 131 330 134 331 133 331 135 331 136 332 135 332 133 332 133 333 134 333 137 333 137 334 138 334 133 334 139 335 140 335 141 335 139 336 141 336 142 336 139 337 138 337 137 337 140 338 139 338 137 338 143 339 135 339 136 339 136 340 144 340 143 340 146 341 145 341 143 341 143 342 144 342 146 342 147 343 80 343 81 343 148 344 80 344 147 344 147 345 83 345 82 345 147 346 82 346 148 346 85 347 84 347 149 347 149 348 150 348 85 348 149 349 151 349 152 349 152 350 150 350 149 350 153 351 142 351 141 351 153 352 154 352 142 352 153 353 77 353 76 353 153 354 76 354 154 354 128 355 127 355 155 355 155 356 156 356 128 356 155 357 86 357 89 357 155 358 89 358 156 358 159 359 158 359 157 359 161 360 160 360 157 360 163 361 162 361 157 361 157 362 164 362 165 362 157 363 166 363 163 363 157 364 167 364 168 364 157 365 169 365 170 365 170 366 171 366 157 366 157 367 172 367 166 367 173 368 157 368 168 368 175 369 174 369 157 369 157 370 162 370 176 370 157 371 173 371 177 371 157 372 171 372 178 372 177 373 169 373 157 373 178 374 161 374 157 374 179 375 167 375 157 375 157 376 158 376 179 376 157 377 180 377 159 377 165 378 172 378 157 378 157 379 160 379 175 379 174 380 181 380 157 380 157 381 181 381 164 381 182 382 58 382 59 382 183 383 58 383 182 383 184 384 61 384 63 384 185 385 61 385 184 385 184 386 145 386 146 386 184 387 146 387 185 387 186 388 188 388 187 388 189 389 188 389 186 389 49 390 48 390 190 390 190 391 48 391 191 391 194 392 193 392 192 392 192 393 193 393 195 393 183 394 182 394 192 394 192 395 195 395 183 395 196 396 193 396 194 396 196 397 197 397 193 397 196 398 198 398 197 398 196 399 199 399 198 399 132 400 131 400 200 400 200 401 131 401 201 401 200 402 198 402 199 402 198 403 200 403 201 403 152 404 151 404 202 404 151 405 203 405 202 405 186 406 202 406 189 406 202 407 203 407 189 407 204 408 205 408 206 408 207 409 204 409 206 409 35 410 34 410 204 410 204 411 207 411 35 411 208 412 187 412 188 412 208 413 188 413 209 413 208 414 206 414 205 414 208 415 209 415 206 415 88 416 87 416 210 416 210 417 211 417 88 417 210 418 190 418 191 418 191 419 211 419 210 419

42 |
43 |
44 |
45 |
46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 |
57 | -------------------------------------------------------------------------------- /robotiq_2f_85_gripper_visualization/meshes/collision/robotiq_arg2f_base_link.stl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Danfoa/robotiq_2finger_grippers/4a98b19a83e73c2adadb4deb8b1406153e0ddcf9/robotiq_2f_85_gripper_visualization/meshes/collision/robotiq_arg2f_base_link.stl -------------------------------------------------------------------------------- /robotiq_2f_85_gripper_visualization/meshes/visual/robotiq_arg2f_85_pad.dae: -------------------------------------------------------------------------------- 1 | 2 | 3 | 2016-07-17T22:25:43.361178 4 | 2016-07-17T22:25:43.361188 5 | Z_UP 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 0.0 0.0 0.0 1.0 14 | 15 | 16 | 0.0 0.0 0.0 1.0 17 | 18 | 19 | 0.7 0.7 0.7 1.0 20 | 21 | 22 | 1 1 1 1.0 23 | 24 | 25 | 0.0 26 | 27 | 28 | 0.0 0.0 0.0 1.0 29 | 30 | 31 | 0.0 32 | 33 | 34 | 0.0 0.0 0.0 1.0 35 | 36 | 37 | 1.0 38 | 39 | 40 | 41 | 42 | 43 | 0 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 4.38531e-14 -1 -4.451336e-05 4.38531e-14 -1 -4.451336e-05 -4.38531e-14 1 4.451336e-05 -4.38531e-14 1 4.451336e-05 -1 -4.385301e-14 -2.011189e-15 -1 -4.385301e-14 -2.011189e-15 -2.009237e-15 -4.451336e-05 1 -2.009237e-15 -4.451336e-05 1 1 4.385301e-14 2.011189e-15 1 4.385301e-14 2.011189e-15 2.009237e-15 4.451336e-05 -1 2.009237e-15 4.451336e-05 -1 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | -10 -23.90175 13.51442 10 -23.9033 48.51442 -10 -23.9033 48.51442 10 -23.90175 13.51442 -10 -18.90175 13.51464 -10 -18.9033 48.51464 10 -18.90175 13.51464 10 -18.9033 48.51464 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 |

0 0 1 0 2 0 3 1 1 1 0 1 4 2 5 2 6 2 5 3 7 3 6 3 2 4 5 4 4 4 2 5 4 5 0 5 5 6 2 6 1 6 5 7 1 7 7 7 7 8 1 8 6 8 1 9 3 9 6 9 0 10 4 10 3 10 4 11 6 11 3 11

79 |
80 |
81 |
82 |
83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 | 91 | 92 | 93 | 94 | 95 | 96 | 97 | 98 | 99 | 100 | 101 | 102 | 103 | 104 |
105 | -------------------------------------------------------------------------------- /robotiq_2f_85_gripper_visualization/meshes/visual/robotiq_gripper_coupling.stl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Danfoa/robotiq_2finger_grippers/4a98b19a83e73c2adadb4deb8b1406153e0ddcf9/robotiq_2f_85_gripper_visualization/meshes/visual/robotiq_gripper_coupling.stl -------------------------------------------------------------------------------- /robotiq_2f_85_gripper_visualization/package.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | robotiq_2f_85_gripper_visualization 4 | 1.0.0 5 | Robotiq ARG 2-Finger 85mm model C3 description package 6 | BSD 7 | http://ros.org/wiki/robotiq 8 | Daniel Ordonez 9 | Daniel Ordonez 10 | Jean-Philippe Roberge 11 | 12 | catkin 13 | 14 | urdf 15 | 16 | 17 | -------------------------------------------------------------------------------- /robotiq_2f_85_gripper_visualization/urdf/robotiq_arg2f.xacro: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | -------------------------------------------------------------------------------- /robotiq_2f_85_gripper_visualization/urdf/robotiq_arg2f_85_model.xacro: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /robotiq_2f_85_gripper_visualization/urdf/robotiq_arg2f_85_model_macro.xacro: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 87 | 88 | 89 | 90 | 91 | 92 | 93 | 94 | 95 | 96 | 97 | 98 | 99 | 100 | 101 | 102 | 103 | 104 | 105 | 106 | 107 | 108 | 109 | 110 | 111 | 112 | 113 | 114 | 115 | 116 | 117 | 118 | 119 | 120 | 121 | 122 | 123 | 124 | 125 | 126 | 127 | 128 | 129 | 130 | 131 | 132 | 133 | 134 | 135 | 136 | 137 | 138 | 139 | 140 | 141 | 142 | 143 | 144 | 145 | 146 | 147 | 148 | 149 | 150 | 151 | 152 | 153 | 154 | 155 | 156 | 157 | 158 | 159 | 160 | 161 | 162 | 163 | 164 | 165 | 166 | 167 | 168 | 169 | 170 | 171 | 172 | 173 | 174 | 175 | 176 | 177 | 178 | 179 | 180 | 181 | 182 | 183 | 184 | 185 | 186 | 187 | 188 | 189 | 190 | 191 | 192 | 193 | 194 | 195 | 196 | 197 | 198 | 199 | 200 | 201 | 202 | 203 | 204 | 205 | -------------------------------------------------------------------------------- /robotiq_2f_85_gripper_visualization/urdf/robotiq_arg2f_transmission.xacro: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | transmission_interface/SimpleTransmission 6 | 7 | PositionJointInterface 8 | 9 | 10 | 1 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /robotiq_2f_85_gripper_visualization/visualize.rviz: -------------------------------------------------------------------------------- 1 | Panels: 2 | - Class: rviz/Displays 3 | Help Height: 78 4 | Name: Displays 5 | Property Tree Widget: 6 | Expanded: 7 | - /RobotModel1 8 | - /RobotModel1/Link/Joint Tree1 9 | - /RobotModel1/Link/Joint Tree1/robotiq_arg2f_base_link1 10 | Splitter Ratio: 0.581532419 11 | Tree Height: 813 12 | - Class: rviz/Selection 13 | Name: Selection 14 | - Class: rviz/Tool Properties 15 | Expanded: 16 | - /2D Pose Estimate1 17 | - /2D Nav Goal1 18 | - /Publish Point1 19 | Name: Tool Properties 20 | Splitter Ratio: 0.588679016 21 | - Class: rviz/Views 22 | Expanded: 23 | - /Current View1 24 | Name: Views 25 | Splitter Ratio: 0.5 26 | - Class: rviz/Time 27 | Experimental: false 28 | Name: Time 29 | SyncMode: 0 30 | SyncSource: "" 31 | Visualization Manager: 32 | Class: "" 33 | Displays: 34 | - Alpha: 1 35 | Class: rviz/RobotModel 36 | Collision Enabled: false 37 | Enabled: true 38 | Link/Joint Tree: 39 | All Links Enabled: true 40 | Expand Joint Details: false 41 | Expand Link Details: false 42 | Expand Tree: false 43 | Link Tree Style: Tree of links and joints 44 | robotiq_arg2f_base_link: 45 | Details: 46 | Alpha: 1 47 | Show Axes: false 48 | Show Trail: false 49 | Value: true 50 | finger_joint: 51 | Details: 52 | Show Axes: false 53 | Show Joint Axis: false 54 | Value: true 55 | left_outer_knuckle: 56 | Details: 57 | Alpha: 1 58 | Show Axes: false 59 | Show Trail: false 60 | Value: true 61 | left_outer_finger_joint: 62 | Details: 63 | Show Axes: false 64 | Value: true 65 | left_outer_finger: 66 | Details: 67 | Alpha: 1 68 | Show Axes: false 69 | Show Trail: false 70 | Value: true 71 | left_inner_finger_joint: 72 | Details: 73 | Show Axes: false 74 | Show Joint Axis: false 75 | Value: true 76 | left_inner_finger: 77 | Details: 78 | Alpha: 1 79 | Show Axes: false 80 | Show Trail: false 81 | Value: true 82 | left_inner_finger_pad_joint: 83 | Details: 84 | Show Axes: false 85 | Value: true 86 | left_inner_finger_pad: 87 | Details: 88 | Alpha: 1 89 | Show Axes: false 90 | Show Trail: false 91 | Value: true 92 | left_inner_knuckle_joint: 93 | Details: 94 | Show Axes: false 95 | Show Joint Axis: false 96 | Value: true 97 | left_inner_knuckle: 98 | Details: 99 | Alpha: 1 100 | Show Axes: false 101 | Show Trail: false 102 | Value: true 103 | right_inner_knuckle_joint: 104 | Details: 105 | Show Axes: false 106 | Show Joint Axis: false 107 | Value: true 108 | right_inner_knuckle: 109 | Details: 110 | Alpha: 1 111 | Show Axes: false 112 | Show Trail: false 113 | Value: true 114 | right_outer_knuckle_joint: 115 | Details: 116 | Show Axes: false 117 | Show Joint Axis: false 118 | Value: true 119 | right_outer_knuckle: 120 | Details: 121 | Alpha: 1 122 | Show Axes: false 123 | Show Trail: false 124 | Value: true 125 | right_outer_finger_joint: 126 | Details: 127 | Show Axes: false 128 | Value: true 129 | right_outer_finger: 130 | Details: 131 | Alpha: 1 132 | Show Axes: false 133 | Show Trail: false 134 | Value: true 135 | right_inner_finger_joint: 136 | Details: 137 | Show Axes: false 138 | Show Joint Axis: false 139 | Value: true 140 | right_inner_finger: 141 | Details: 142 | Alpha: 1 143 | Show Axes: false 144 | Show Trail: false 145 | Value: true 146 | right_inner_finger_pad_joint: 147 | Details: 148 | Show Axes: false 149 | Value: true 150 | right_inner_finger_pad: 151 | Details: 152 | Alpha: 1 153 | Show Axes: false 154 | Show Trail: false 155 | Value: true 156 | Name: RobotModel 157 | Robot Description: robot_description 158 | TF Prefix: "" 159 | Update Interval: 0 160 | Value: true 161 | Visual Enabled: true 162 | - Alpha: 0.5 163 | Cell Size: 1 164 | Class: rviz/Grid 165 | Color: 160; 160; 164 166 | Enabled: true 167 | Line Style: 168 | Line Width: 0.0299999993 169 | Value: Lines 170 | Name: Grid 171 | Normal Cell Count: 0 172 | Offset: 173 | X: 0 174 | Y: 0 175 | Z: 0 176 | Plane: XY 177 | Plane Cell Count: 10 178 | Reference Frame: 179 | Value: true 180 | Enabled: true 181 | Global Options: 182 | Background Color: 48; 48; 48 183 | Default Light: true 184 | Fixed Frame: robotiq_arg2f_base_link 185 | Frame Rate: 30 186 | Name: root 187 | Tools: 188 | - Class: rviz/Interact 189 | Hide Inactive Objects: true 190 | - Class: rviz/MoveCamera 191 | - Class: rviz/Select 192 | - Class: rviz/FocusCamera 193 | - Class: rviz/Measure 194 | - Class: rviz/SetInitialPose 195 | Topic: /initialpose 196 | - Class: rviz/SetGoal 197 | Topic: /move_base_simple/goal 198 | - Class: rviz/PublishPoint 199 | Single click: true 200 | Topic: /clicked_point 201 | Value: true 202 | Views: 203 | Current: 204 | Class: rviz/Orbit 205 | Distance: 0.453161746 206 | Enable Stereo Rendering: 207 | Stereo Eye Separation: 0.0599999987 208 | Stereo Focal Distance: 1 209 | Swap Stereo Eyes: false 210 | Value: false 211 | Focal Point: 212 | X: -0.0555366687 213 | Y: 0.0123848282 214 | Z: 0.0355766453 215 | Focal Shape Fixed Size: true 216 | Focal Shape Size: 0.0500000007 217 | Invert Z Axis: false 218 | Name: Current View 219 | Near Clip Distance: 0.00999999978 220 | Pitch: 0.400203109 221 | Target Frame: 222 | Value: Orbit (rviz) 223 | Yaw: 0.257229745 224 | Saved: ~ 225 | Window Geometry: 226 | Displays: 227 | collapsed: false 228 | Height: 1026 229 | Hide Left Dock: false 230 | Hide Right Dock: false 231 | QMainWindow State: 000000ff00000000fd0000000100000000000001ff000003bcfc0200000005fb000000100044006900730070006c0061007900730100000028000003bc000000d700fffffffb0000001200530065006c0065006300740069006f006e0000000186000000a50000006100fffffffb0000001e0054006f006f006c002000500072006f007000650072007400690065007300000001d0000000c90000006100fffffffb0000000a00560069006500770073000000024100000159000000ad00fffffffb0000000800540069006d00650000000369000000990000003b00ffffff00000479000003bc00000004000000040000000800000008fc0000000100000002000000010000000a0054006f006f006c00730100000000ffffffff0000000000000000 232 | Selection: 233 | collapsed: false 234 | Time: 235 | collapsed: false 236 | Tool Properties: 237 | collapsed: false 238 | Views: 239 | collapsed: false 240 | Width: 1662 241 | X: 258 242 | Y: 24 243 | -------------------------------------------------------------------------------- /robotiq_2f_gripper_control/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | cmake_minimum_required(VERSION 2.8.3) 2 | project(robotiq_2f_gripper_control) 3 | 4 | ## Compile as C++11, supported in ROS Kinetic and newer 5 | add_compile_options(-std=c++11) 6 | 7 | find_package(catkin REQUIRED 8 | genmsg 9 | actionlib_msgs 10 | actionlib 11 | robotiq_2f_gripper_msgs 12 | COMPONENTS 13 | roscpp 14 | rospy 15 | std_msgs 16 | robotiq_2f_gripper_msgs 17 | ) 18 | 19 | ## System dependencies are found with CMake's conventions 20 | # find_package(Boost REQUIRED COMPONENTS system) 21 | 22 | catkin_python_setup() 23 | 24 | ################################### 25 | ## catkin specific configuration ## 26 | ################################### 27 | ## The catkin_package macro generates cmake config files for your package 28 | ## Declare things to be passed to dependent projects 29 | ## INCLUDE_DIRS: uncomment this if your package contains header files 30 | ## LIBRARIES: libraries you create in this project that dependent projects also need 31 | ## CATKIN_DEPENDS: catkin_packages dependent projects also need 32 | ## DEPENDS: system dependencies of this project that dependent projects also need 33 | 34 | catkin_package( 35 | INCLUDE_DIRS include 36 | # LIBRARIES robotiq_2f_gripper_control 37 | CATKIN_DEPENDS std_msgs robotiq_2f_gripper_msgs 38 | # DEPENDS system_lib 39 | ) 40 | 41 | ########### 42 | ## Build ## 43 | ########### 44 | 45 | ## Specify additional locations of header files 46 | ## Your package locations should be listed before other locations 47 | include_directories( 48 | #include 49 | ${catkin_INCLUDE_DIRS} 50 | ) 51 | 52 | ## Declare a C++ library 53 | # add_library(${PROJECT_NAME} 54 | # src/${PROJECT_NAME}/robotiq_2f_gripper_control.cpp 55 | # ) 56 | 57 | 58 | ############# 59 | ## Install ## 60 | ############# 61 | 62 | catkin_install_python(PROGRAMS 63 | scripts/robotiq_2f_action_server.py 64 | scripts/robotiq_2f_action_client_example.py 65 | DESTINATION ${CATKIN_PACKAGE_BIN_DESTINATION}) 66 | 67 | ## Mark executables and/or libraries for installation 68 | # install(TARGETS ${PROJECT_NAME} ${PROJECT_NAME}_node 69 | # ARCHIVE DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION} 70 | # LIBRARY DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION} 71 | # RUNTIME DESTINATION ${CATKIN_PACKAGE_BIN_DESTINATION} 72 | # ) 73 | 74 | ## Mark cpp header files for installation 75 | install(DIRECTORY include/${PROJECT_NAME}/ 76 | DESTINATION ${CATKIN_PACKAGE_INCLUDE_DESTINATION} 77 | FILES_MATCHING PATTERN "*.h" 78 | PATTERN ".svn" EXCLUDE 79 | ) -------------------------------------------------------------------------------- /robotiq_2f_gripper_control/include/robotiq_2f_gripper_control/robotiq_gripper_client.h: -------------------------------------------------------------------------------- 1 | /* 2 | BSD 2-Clause License 3 | 4 | Copyright (c) 2019, Daniel Ordonez 5 | All rights reserved. 6 | 7 | Redistribution and use in source and binary forms, with or without 8 | modification, are permitted provided that the following conditions are met: 9 | 10 | 1. Redistributions of source code must retain the above copyright notice, this 11 | list of conditions and the following disclaimer. 12 | 13 | 2. Redistributions in binary form must reproduce the above copyright notice, 14 | this list of conditions and the following disclaimer in the documentation 15 | and/or other materials provided with the distribution. 16 | 17 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 18 | AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 19 | IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 20 | DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE 21 | FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 22 | DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR 23 | SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER 24 | CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, 25 | OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 26 | OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 27 | 28 | * File name: robotiq_gripper_client.h 29 | * 30 | * Description: 31 | * This header defines the `RobotiqActionClient` class which allows the user to connect and 32 | * control to the gripper action server in a higher level of abstraction. 33 | * 34 | * 35 | * Author: 36 | * Daniel Felipe Ordonez Apraez - daniels.ordonez@gmail.com 37 | */ 38 | 39 | #include 40 | #include 41 | // Robotiq msgs 42 | #include 43 | #include 44 | #include 45 | #include 46 | 47 | typedef robotiq_2f_gripper_msgs::CommandRobotiqGripperGoal CommandRobotiqGripperGoal; 48 | typedef robotiq_2f_gripper_msgs::CommandRobotiqGripperResult CommandRobotiqGripperResult; 49 | typedef robotiq_2f_gripper_msgs::CommandRobotiqGripperAction CommandRobotiqGripperAction; 50 | typedef robotiq_2f_gripper_msgs::CommandRobotiqGripperFeedback CommandRobotiqGripperFeedback; 51 | 52 | namespace robotiq_2f_gripper_control{ 53 | 54 | class RobotiqActionClient : actionlib::SimpleActionClient{ 55 | 56 | private: 57 | CommandRobotiqGripperGoal goal; 58 | 59 | public: 60 | RobotiqActionClient(std::string action_name, bool wait_for_server = true) 61 | : actionlib::SimpleActionClient(action_name, true){ 62 | if( wait_for_server ){ 63 | waitForServer( ros::Duration(10) ); 64 | if( !isServerConnected() ) 65 | ROS_ERROR( "Robotiq Action Server (%s) seems not to be running", action_name.c_str() ); 66 | } 67 | } 68 | 69 | void close(float speed = 0.1, float force = 220, bool wait = true){ 70 | goal.position = 0.0; 71 | goal.speed = speed; 72 | goal.force = force; 73 | goal.emergency_release = false; 74 | if( wait ) 75 | sendGoalAndWait( goal ); 76 | else 77 | sendGoal( goal ); 78 | } 79 | 80 | void open(float speed = 0.1, float force = 220, bool wait = true){ 81 | goal.position = 255; 82 | goal.speed = speed; 83 | goal.force = force; 84 | goal.emergency_release = false; 85 | if( wait ) 86 | sendGoalAndWait( goal ); 87 | else 88 | sendGoal( goal ); 89 | } 90 | 91 | void open(bool wait){ 92 | goal.position = 255; 93 | goal.speed = 0.01; 94 | goal.force = 10; 95 | goal.emergency_release = false; 96 | if( wait ) 97 | sendGoalAndWait( goal ); 98 | else 99 | sendGoal( goal ); 100 | } 101 | 102 | void goToPosition(float position, float speed = 0.1, float force = 220, bool wait = true){ 103 | goal.position = position; 104 | goal.speed = speed; 105 | goal.force = force; 106 | goal.emergency_release = false; 107 | if( wait ) 108 | sendGoalAndWait( goal ); 109 | else 110 | sendGoal( goal ); 111 | } 112 | 113 | }; 114 | 115 | } -------------------------------------------------------------------------------- /robotiq_2f_gripper_control/launch/robotiq_action_server.launch: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | -------------------------------------------------------------------------------- /robotiq_2f_gripper_control/launch/robotiq_dual_action_server.launch: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | w 36 | 37 | 38 | 39 | 41 | 42 | 43 | 44 | 45 | -------------------------------------------------------------------------------- /robotiq_2f_gripper_control/launch/test_140mm_gripper.launch: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | [/joint_states] 32 | false 33 | 34 | 35 | 36 | 37 | -------------------------------------------------------------------------------- /robotiq_2f_gripper_control/launch/test_85mm_gripper.launch: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | [/joint_states] 32 | false 33 | 34 | 35 | 36 | 37 | -------------------------------------------------------------------------------- /robotiq_2f_gripper_control/package.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | robotiq_2f_gripper_control 4 | 0.0.3 5 | The robotiq_2f_gripper_control package 6 | 7 | Daniel Ordonez 8 | 9 | BSD 10 | 11 | 12 | catkin 13 | 14 | rospy 15 | roscpp 16 | std_msgs 17 | rospy 18 | roscpp 19 | std_msgs 20 | rospy 21 | roscpp 22 | std_msgs 23 | 24 | actionlib 25 | actionlib_msgs 26 | actionlib 27 | actionlib_msgs 28 | 29 | robotiq_2f_gripper_msgs 30 | 31 | 32 | -------------------------------------------------------------------------------- /robotiq_2f_gripper_control/scripts/robotiq_2f_action_client_example.py: -------------------------------------------------------------------------------- 1 | #! /usr/bin/env python 2 | """-------------------------------------------------------------------- 3 | This Node/Script shows an example on how to use a `SimpleActionClient` instance 4 | to control a Robotiq 2 Finger gripper. 5 | 6 | Parameters: 7 | action_name: Name of the action advertised by the `ActionServer` controlling the gripper. 8 | 9 | @author: Daniel Felipe Ordonez Apraez 10 | @email: daniels.ordonez@gmail.com 11 | --------------------------------------------------------------------""" 12 | 13 | import rospy 14 | 15 | # Brings in the SimpleActionClient 16 | import actionlib 17 | 18 | from robotiq_2f_gripper_msgs.msg import CommandRobotiqGripperFeedback, CommandRobotiqGripperResult, CommandRobotiqGripperAction, CommandRobotiqGripperGoal 19 | from robotiq_2f_gripper_control.robotiq_2f_gripper_driver import Robotiq2FingerGripperDriver as Robotiq 20 | 21 | def operate_gripper(): 22 | 23 | action_name = rospy.get_param('~action_name', 'command_robotiq_action') 24 | robotiq_client = actionlib.SimpleActionClient(action_name, CommandRobotiqGripperAction) 25 | # Wait until grippers are ready to take command 26 | robotiq_client.wait_for_server() 27 | 28 | rospy.logwarn("Client test: Starting sending goals") 29 | ## Manually set all the parameters of the gripper goal state. 30 | ###################################################################################### 31 | 32 | goal = CommandRobotiqGripperGoal() 33 | goal.emergency_release = False 34 | goal.stop = False 35 | goal.position = 0.00 36 | goal.speed = 0.1 37 | goal.force = 5.0 38 | 39 | # Sends the goal to the gripper. 40 | robotiq_client.send_goal(goal) 41 | # Block processing thread until gripper movement is finished, comment if waiting is not necesary. 42 | robotiq_client.wait_for_result() 43 | 44 | # Use pre-defined functions for robot gripper manipulation. 45 | ##################################################################################### 46 | while not rospy.is_shutdown(): 47 | Robotiq.goto(robotiq_client, pos=0.00, speed=0.1, force=100 , block=True) 48 | Robotiq.goto(robotiq_client, pos=0.04, speed=0.01, force=10) 49 | Robotiq.goto(robotiq_client, pos=0.011, speed=0.01, force=0 , block=True) 50 | Robotiq.goto(robotiq_client, pos=0.08, speed=0.11, force=200 , block=True) 51 | # Robotiq.goto(robotiq_client, pos=0.06, speed=0.0, force=0) 52 | # break 53 | 54 | # Prints out the result of executing the action 55 | return robotiq_client.get_result() # A FibonacciResult 56 | 57 | if __name__ == '__main__': 58 | # Initializes a rospy node so that the SimpleActionClient can 59 | # publish and subscribe over ROS. 60 | rospy.init_node('robotiq_2f_client') 61 | result = operate_gripper() -------------------------------------------------------------------------------- /robotiq_2f_gripper_control/scripts/robotiq_2f_action_server.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | """-------------------------------------------------------------------- 3 | This Node/Script creates an instance of a `SimpleActionServer` dedicated to receive, 4 | process and execute user commands for the Robotiq 2 finger adaptive grippers. 5 | 6 | The action type is defined in the `robotiq_2f_gripper_msgs` as `CommandRobotiqGripper.action` and 7 | the default action name is `/command_robotiq_action` but you can namespace it for multiple grippers 8 | control. 9 | 10 | See the `robotiq_action_server.launch` file on this package for an example on how to call this node. 11 | 12 | Parameters: 13 | comport: USB Communication port to which the gripper is connected to (not needed in `sim` mode). 14 | baud: Baudrate of communication with gripper (not needed in `sim` mode). 15 | stroke: Maximum distance in meters, between the gripper fingers (Only 0,085 and 0.140 are currently supported) 16 | joint_name: Name of the URDF gripper actuated joints to publish on the `/joint_state` topic 17 | sim: Boolean indicating whether to use a simulated gripper or try to connect to a real one. 18 | rate: Frequency in Herz to update the gripper variables (command, joint_state, gripper_state) 19 | 20 | @author: Daniel Felipe Ordonez Apraez 21 | @email: daniels.ordonez@gmail.com 22 | --------------------------------------------------------------------""" 23 | import rospy 24 | from robotiq_2f_gripper_control.robotiq_2f_gripper_driver import Robotiq2FingerGripperDriver, Robotiq2FingerSimulatedGripperDriver 25 | import actionlib 26 | from control_msgs.msg import FollowJointTrajectoryAction, FollowJointTrajectoryResult, FollowJointTrajectoryFeedback, FollowJointTrajectoryGoal 27 | from robotiq_2f_gripper_msgs.msg import CommandRobotiqGripperFeedback, CommandRobotiqGripperResult, CommandRobotiqGripperAction, CommandRobotiqGripperGoal 28 | 29 | GOAL_DETECTION_THRESHOLD = 0.05 # Max deviation from target goal to consider as goal "reached" 30 | 31 | class CommandGripperActionServer(object): 32 | 33 | def __init__(self, namespace, action_name, driver): 34 | self._action_name = namespace + action_name 35 | self._action_server = actionlib.SimpleActionServer(self._action_name, 36 | CommandRobotiqGripperAction, 37 | execute_cb=self.execute_cb, 38 | auto_start = False) 39 | self._joint_trajectory_action_server = actionlib.SimpleActionServer(namespace + "robotiq_controller/follow_joint_trajectory", 40 | FollowJointTrajectoryAction, 41 | execute_cb=self.execute_joint_trajectory_cb, 42 | auto_start = False) 43 | self._driver = driver # Get handle to the Gripper Control Server 44 | 45 | # Wait until gripper driver is ready to take commands. 46 | watchdog = rospy.Timer(rospy.Duration(15.0), self._connection_timeout, oneshot=True) 47 | while not rospy.is_shutdown() and not self._driver.is_ready: 48 | rospy.sleep(0.5) 49 | rospy.logwarn_throttle(5, self._action_name + ": Waiting for gripper to be ready...") 50 | 51 | watchdog.shutdown() 52 | if not rospy.is_shutdown(): 53 | self._processing_goal = False 54 | self._is_stalled = False 55 | 56 | self._action_server.start() 57 | self._joint_trajectory_action_server.start() 58 | rospy.loginfo("Robotiq server started") 59 | 60 | def _connection_timeout(self, event): 61 | rospy.logfatal("Gripper on port %s seems not to respond" % (self._driver._comport)) 62 | rospy.signal_shutdown("Gripper on port %s seems not to respond" % (self._driver._comport)) 63 | 64 | def execute_cb(self, goal_command): 65 | rospy.logdebug( (self._action_name + ": New goal received Pos:%.3f Speed: %.3f Force: %.3f Force-Stop: %r") % (goal_command.position, goal_command.speed, goal_command.force, goal_command.stop) ) 66 | # Send incoming command to gripper driver 67 | self._driver.update_gripper_command(goal_command) 68 | # Wait until command is received by the gripper 69 | rospy.sleep(rospy.Duration(0.1)) 70 | # Set Action Server as active === processing goal... 71 | self._processing_goal = True 72 | 73 | feedback = CommandRobotiqGripperFeedback() 74 | result = CommandRobotiqGripperResult() 75 | 76 | # Set timeout timer 77 | watchdog = rospy.Timer(rospy.Duration(5.0), self._execution_timeout, oneshot=True) 78 | 79 | # Wait until goal is achieved and provide feedback 80 | rate = rospy.Rate( rospy.get_param('~rate', 30) ) 81 | 82 | while not rospy.is_shutdown() and self._processing_goal and not self._is_stalled: # While moving and not stalled provide feedback and check for result 83 | feedback = self._driver.get_current_gripper_status() 84 | self._action_server.publish_feedback( feedback ) 85 | rospy.logdebug("Error = %.5f Requested position = %.3f Current position = %.3f" % (abs(feedback.requested_position - feedback.position), feedback.requested_position, feedback.position)) 86 | # Check for completition of action 87 | if( feedback.fault_status != 0 and not self._is_stalled): # Check for errors 88 | rospy.logerr(self._action_name + ": fault status (gFLT) is: %d", feedback.fault_status) 89 | self._is_stalled = True 90 | self._action_server.set_aborted( feedback , (self._action_name + ": fault status (gFLT) is: %d" % feedback.fault_status)) 91 | break 92 | if( abs(feedback.requested_position - feedback.position) < GOAL_DETECTION_THRESHOLD or feedback.obj_detected): # Check if position has been reached 93 | watchdog.shutdown() # Stop timeout watchdog. 94 | self._processing_goal = False 95 | self._is_stalled = False 96 | rate.sleep() 97 | 98 | result = feedback # Message declarations are the same 99 | # Send result 100 | if not self._is_stalled: 101 | rospy.logdebug(self._action_name + ": goal reached or object detected Pos: %.3f PosRequested: %.3f ObjectDetected: %r" % (goal_command.position, feedback.requested_position, feedback.obj_detected) ) 102 | self._action_server.set_succeeded(result) 103 | else: 104 | rospy.logerr(self._action_name + ": goal aborted Pos: %.3f PosRequested: %.3f ObjectDetected: %r" % (goal_command.position, feedback.requested_position, feedback.obj_detected) ) 105 | self._action_server.set_aborted(result) 106 | 107 | self._processing_goal = False 108 | self._is_stalled = False 109 | 110 | def execute_joint_trajectory_cb(self, goal): 111 | rospy.loginfo("Trajectory received with %d points", len(goal.trajectory.points)) 112 | feedback = FollowJointTrajectoryFeedback() 113 | result = FollowJointTrajectoryResult() 114 | current_status = self._driver.get_current_gripper_status() 115 | 116 | # Check trajectory joint names 117 | joint_names = goal.trajectory.joint_names 118 | if len(joint_names) != 1 and joint_names[0] != self._driver._joint_name : 119 | msg = "Joint trajectory joints do not match gripper joint" 120 | rospy.logerr(msg) 121 | result.error_code = result.INVALID_JOINTS 122 | result.error_string = msg 123 | self._joint_trajectory_action_server.set_aborted(result) 124 | return 125 | # Check trajectory points 126 | if len(goal.trajectory.points) == 0: 127 | msg = "Ignoring empty trajectory " 128 | rospy.logerr(msg) 129 | result.error_code = result.INVALID_GOAL 130 | result.error_string = msg 131 | self._joint_trajectory_action_server.set_aborted(result) 132 | return 133 | 134 | # Process goal trajectory 135 | self._processing_goal = True 136 | self._is_stalled = False 137 | 138 | goal_command = CommandRobotiqGripperGoal() 139 | feedback.joint_names = goal.trajectory.joint_names 140 | watchdog = rospy.Timer(rospy.Duration(goal.trajectory.points[-1].time_from_start.to_sec() + 0.5), 141 | self._execution_timeout, 142 | oneshot=True) 143 | 144 | # Follow trajectory points 145 | goal_trajectory_point = goal.trajectory.points[-1] 146 | 147 | # Validate trajectory point 148 | if len(goal_trajectory_point.positions) != 1: 149 | result.error_code = result.INVALID_GOAL 150 | result.error_string = "Invalid joint position on trajectory point " 151 | self._joint_trajectory_action_server.set_aborted(result) 152 | return 153 | target_speed = goal_trajectory_point.velocities[0] if len(goal_trajectory_point.velocities) > 0 else 0.01 154 | target_force = goal_trajectory_point.effort[0] if len(goal_trajectory_point.effort) > 0 else 0.1 155 | goal_command.position = self._driver.from_radians_to_distance(goal_trajectory_point.positions[0]) 156 | goal_command.speed = abs(target_speed) # To-Do: Convert to rad/s 157 | goal_command.force = target_force 158 | # Send incoming command to gripper driver 159 | self._driver.update_gripper_command(goal_command) 160 | # Set feedback desired value 161 | feedback.desired.positions = [goal_trajectory_point.positions[0]] 162 | 163 | while not rospy.is_shutdown() and self._processing_goal and not self._is_stalled: 164 | current_status = self._driver.get_current_gripper_status() 165 | feedback.actual.positions = [self._driver.get_current_joint_position()] 166 | error = abs(feedback.actual.positions[0] - feedback.desired.positions[0]) 167 | rospy.logdebug("Error : %.3f -- Actual: %.3f -- Desired: %.3f", error, self._driver.get_current_joint_position(), feedback.desired.positions[0]) 168 | 169 | feedback.error.positions = [error] 170 | self._joint_trajectory_action_server.publish_feedback( feedback ) 171 | 172 | # Check for errors 173 | if current_status.fault_status != 0 and not self._is_stalled: 174 | self._is_stalled = True 175 | self._processing_goal = False 176 | rospy.logerr(msg) 177 | result.error_code = -6 178 | result.error_string = "Gripper fault status (gFLT): " + current_status.fault_status 179 | self._joint_trajectory_action_server.set_aborted(result) 180 | return 181 | # Check if object was detected 182 | if current_status.obj_detected: 183 | watchdog.shutdown() # Stop timeout watchdog. 184 | self._processing_goal = False 185 | self._is_stalled = False 186 | result.error_code = result.SUCCESSFUL 187 | result.error_string = "Object detected/grasped" 188 | self._joint_trajectory_action_server.set_succeeded(result) 189 | return 190 | # Check if current trajectory point was reached 191 | if error < GOAL_DETECTION_THRESHOLD : 192 | break 193 | 194 | # Entire trajectory was followed/reached 195 | watchdog.shutdown() 196 | 197 | rospy.logdebug(self._action_name + ": goal reached") 198 | result.error_code = result.SUCCESSFUL 199 | result.error_string = "Goal reached" 200 | self._joint_trajectory_action_server.set_succeeded(result) 201 | 202 | self._processing_goal = False 203 | self._is_stalled = False 204 | 205 | def _execution_timeout(self, event): 206 | rospy.logerr("%s: Achieving goal is taking too long, dropping current goal") 207 | self._is_stalled = True 208 | self._processing_goal = False 209 | 210 | if __name__ == "__main__": 211 | 212 | rospy.init_node('robotiq_2f_action_server') 213 | 214 | # Get Node parameters 215 | comport = rospy.get_param('~comport','/dev/ttyUSB0') 216 | baud = rospy.get_param('~baud','115200') 217 | stroke = rospy.get_param('~stroke', 0.085) # Default stroke is 85mm (Small C / 2 finger adaptive gripper model) 218 | joint_name = rospy.get_param('~joint_name', 'finger_joint') 219 | sim = rospy.get_param('~sim', False) 220 | 221 | # Create instance of Robotiq Gripper Driver 222 | if sim: # Use simulated gripper 223 | gripper_driver = Robotiq2FingerSimulatedGripperDriver( stroke=stroke, joint_name=joint_name) 224 | else: # Try to connect to a real gripper 225 | gripper_driver = Robotiq2FingerGripperDriver( comport=comport, baud=baud, stroke=stroke, joint_name=joint_name) 226 | # Start action server 227 | server = CommandGripperActionServer(rospy.get_namespace(), 'command_robotiq_action', gripper_driver) 228 | 229 | # Send and Request data from gripper and update joint state every `r`[Hz] 230 | r = rospy.Rate(rospy.get_param('~rate', 50 if not sim else 20)) 231 | while not rospy.is_shutdown(): 232 | gripper_driver.update_driver() 233 | r.sleep() 234 | 235 | rospy.spin() 236 | 237 | 238 | -------------------------------------------------------------------------------- /robotiq_2f_gripper_control/setup.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | ## ! DO NOT MANUALLY INVOKE THIS setup.py, USE CATKIN INSTEAD 3 | 4 | from distutils.core import setup 5 | from catkin_pkg.python_setup import generate_distutils_setup 6 | 7 | # fetch values from package.xml 8 | setup_args = generate_distutils_setup( 9 | packages=['robotiq_2f_gripper_control'], 10 | package_dir={'': 'src'} 11 | ) 12 | 13 | setup(**setup_args) 14 | -------------------------------------------------------------------------------- /robotiq_2f_gripper_control/src/robotiq_2f_gripper_control/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Danfoa/robotiq_2finger_grippers/4a98b19a83e73c2adadb4deb8b1406153e0ddcf9/robotiq_2f_gripper_control/src/robotiq_2f_gripper_control/__init__.py -------------------------------------------------------------------------------- /robotiq_2f_gripper_control/src/robotiq_2f_gripper_control/modbus_crc.py: -------------------------------------------------------------------------------- 1 | """-------------------------------------------------------------------- 2 | COPYRIGHT 2015 Stanley Innovation Inc. 3 | 4 | Software License Agreement: 5 | 6 | Redistribution and use in source and binary forms, with or without modification, 7 | are permitted provided that the following conditions are met: 8 | 9 | 1. Redistributions of source code must retain the above copyright notice, this 10 | list of conditions and the following disclaimer. 11 | 12 | 2. Redistributions in binary form must reproduce the above copyright notice, 13 | this list of conditions and the following disclaimer in the documentation and/or 14 | other materials provided with the distribution. 15 | 16 | 3. Neither the name of the copyright holder nor the names of its contributors 17 | may be used to endorse or promote products derived from this software without 18 | specific prior written permission. 19 | 20 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND 21 | ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 22 | WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 23 | DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR 24 | ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES 25 | (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 26 | LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON 27 | ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 28 | (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 29 | SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 30 | 31 | file modbus_crc.py 32 | 33 | brief Modbus CRC functions 34 | 35 | Platform: Linux/ROS Indigo 36 | --------------------------------------------------------------------""" 37 | CRC_HI_TBL = [ 38 | 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 39 | 0x40, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 40 | 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01, 41 | 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, 42 | 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 43 | 0x40, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, 44 | 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 45 | 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 46 | 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 47 | 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 48 | 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01, 49 | 0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 50 | 0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 51 | 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 52 | 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 53 | 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 54 | 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 55 | 0x40] 56 | 57 | CRC_LOW_TBL = [ 58 | 0x00, 0xC0, 0xC1, 0x01, 0xC3, 0x03, 0x02, 0xC2, 0xC6, 0x06, 0x07, 0xC7, 0x05, 0xC5, 0xC4, 59 | 0x04, 0xCC, 0x0C, 0x0D, 0xCD, 0x0F, 0xCF, 0xCE, 0x0E, 0x0A, 0xCA, 0xCB, 0x0B, 0xC9, 0x09, 60 | 0x08, 0xC8, 0xD8, 0x18, 0x19, 0xD9, 0x1B, 0xDB, 0xDA, 0x1A, 0x1E, 0xDE, 0xDF, 0x1F, 0xDD, 61 | 0x1D, 0x1C, 0xDC, 0x14, 0xD4, 0xD5, 0x15, 0xD7, 0x17, 0x16, 0xD6, 0xD2, 0x12, 0x13, 0xD3, 62 | 0x11, 0xD1, 0xD0, 0x10, 0xF0, 0x30, 0x31, 0xF1, 0x33, 0xF3, 0xF2, 0x32, 0x36, 0xF6, 0xF7, 63 | 0x37, 0xF5, 0x35, 0x34, 0xF4, 0x3C, 0xFC, 0xFD, 0x3D, 0xFF, 0x3F, 0x3E, 0xFE, 0xFA, 0x3A, 64 | 0x3B, 0xFB, 0x39, 0xF9, 0xF8, 0x38, 0x28, 0xE8, 0xE9, 0x29, 0xEB, 0x2B, 0x2A, 0xEA, 0xEE, 65 | 0x2E, 0x2F, 0xEF, 0x2D, 0xED, 0xEC, 0x2C, 0xE4, 0x24, 0x25, 0xE5, 0x27, 0xE7, 0xE6, 0x26, 66 | 0x22, 0xE2, 0xE3, 0x23, 0xE1, 0x21, 0x20, 0xE0, 0xA0, 0x60, 0x61, 0xA1, 0x63, 0xA3, 0xA2, 67 | 0x62, 0x66, 0xA6, 0xA7, 0x67, 0xA5, 0x65, 0x64, 0xA4, 0x6C, 0xAC, 0xAD, 0x6D, 0xAF, 0x6F, 68 | 0x6E, 0xAE, 0xAA, 0x6A, 0x6B, 0xAB, 0x69, 0xA9, 0xA8, 0x68, 0x78, 0xB8, 0xB9, 0x79, 0xBB, 69 | 0x7B, 0x7A, 0xBA, 0xBE, 0x7E, 0x7F, 0xBF, 0x7D, 0xBD, 0xBC, 0x7C, 0xB4, 0x74, 0x75, 0xB5, 70 | 0x77, 0xB7, 0xB6, 0x76, 0x72, 0xB2, 0xB3, 0x73, 0xB1, 0x71, 0x70, 0xB0, 0x50, 0x90, 0x91, 71 | 0x51, 0x93, 0x53, 0x52, 0x92, 0x96, 0x56, 0x57, 0x97, 0x55, 0x95, 0x94, 0x54, 0x9C, 0x5C, 72 | 0x5D, 0x9D, 0x5F, 0x9F, 0x9E, 0x5E, 0x5A, 0x9A, 0x9B, 0x5B, 0x99, 0x59, 0x58, 0x98, 0x88, 73 | 0x48, 0x49, 0x89, 0x4B, 0x8B, 0x8A, 0x4A, 0x4E, 0x8E, 0x8F, 0x4F, 0x8D, 0x4D, 0x4C, 0x8C, 74 | 0x44, 0x84, 0x85, 0x45, 0x87, 0x47, 0x46, 0x86, 0x82, 0x42, 0x43, 0x83, 0x41, 0x81, 0x80, 75 | 0x40] 76 | 77 | def compute_modbus_rtu_crc(buff): 78 | crc_hi = 0xFF 79 | crc_low = 0xFF 80 | i = 0 81 | 82 | data_len = len(buff) 83 | while(data_len): 84 | idx = (crc_low ^ buff[i]) & 0xFF 85 | crc_low = (crc_hi ^ CRC_HI_TBL[idx]) & 0xFF 86 | crc_hi = CRC_LOW_TBL[idx] & 0xFF 87 | data_len-=1 88 | i+=1 89 | 90 | buff.append(crc_low) 91 | buff.append(crc_hi) 92 | 93 | def verify_modbus_rtu_crc(buff): 94 | crc_hi = 0xFF 95 | crc_low = 0xFF 96 | i = 0 97 | 98 | data_len = len(buff)-2 99 | while(data_len): 100 | idx = (crc_low ^ buff[i]) & 0xFF 101 | crc_low = (crc_hi ^ CRC_HI_TBL[idx]) & 0xFF 102 | crc_hi = CRC_LOW_TBL[idx] & 0xFF 103 | data_len-=1 104 | i+=1 105 | 106 | if (crc_low == buff[len(buff)-2]) and (crc_hi == buff[len(buff)-1]): 107 | return True 108 | return False 109 | 110 | -------------------------------------------------------------------------------- /robotiq_2f_gripper_control/src/robotiq_2f_gripper_control/robotiq_2f_gripper.py: -------------------------------------------------------------------------------- 1 | import serial 2 | from serial.serialutil import SerialException 3 | 4 | from pymodbus.client.sync import ModbusSerialClient 5 | import robotiq_modbus_rtu.comModbusRtu 6 | 7 | from math import ceil 8 | 9 | import numpy as np 10 | import array 11 | 12 | ACTION_REQ_IDX = 7 13 | POS_INDEX = 10 14 | SPEED_INDEX = 11 15 | FORCE_INDEX = 12 16 | 17 | class Robotiq2FingerGripper: 18 | def __init__(self, device_id=0, stroke=0.085, comport='/dev/ttyUSB0',baud=115200): 19 | 20 | self.client = robotiq_modbus_rtu.comModbusRtu.communication() 21 | 22 | connected = self.client.connectToDevice(device = comport) 23 | if not connected: 24 | raise Exception("Communication with gripper %d on serial port: %s and baud rate: %d not achieved" % (device_id, comport, baud)) 25 | 26 | self.init_success = True 27 | self.device_id = device_id+9 28 | self.stroke = stroke 29 | self.initialize_communication_variables() 30 | 31 | self.message = [] 32 | 33 | def _update_cmd(self): 34 | 35 | #Initiate command as an empty list 36 | self.message = [] 37 | #Build the command with each output variable 38 | self.message.append(self.rACT + (self.rGTO << 3) + (self.rATR << 4)) 39 | self.message.append(0) 40 | self.message.append(0) 41 | self.message.append(self.rPR) 42 | self.message.append(self.rSP) 43 | self.message.append(self.rFR) 44 | 45 | def sendCommand(self): 46 | """Send the command to the Gripper.""" 47 | return self.client.sendCommand(self.message) 48 | 49 | 50 | def getStatus(self): 51 | """Request the status from the gripper and return it in the Robotiq2FGripper_robot_input msg type.""" 52 | 53 | #Acquire status from the Gripper 54 | status = self.client.getStatus(6); 55 | 56 | # Check if read was successful 57 | if( status is None ): 58 | return False 59 | 60 | #Assign the values to their respective variables 61 | self.gACT = (status[0] >> 0) & 0x01; 62 | self.gGTO = (status[0] >> 3) & 0x01; 63 | self.gSTA = (status[0] >> 4) & 0x03; 64 | self.gOBJ = (status[0] >> 6) & 0x03; 65 | self.gFLT = status[2] 66 | self.gPR = status[3] 67 | self.gPO = status[4] 68 | self.gCU = status[5] 69 | 70 | return True 71 | 72 | 73 | def initialize_communication_variables(self): 74 | # Out 75 | self.rPR = 0 76 | self.rSP = 255 77 | self.rFR = 150 78 | self.rARD = 1 79 | self.rATR = 0 80 | self.rGTO = 0 81 | self.rACT = 0 82 | # In 83 | self.gSTA = 0 84 | self.gACT = 0 85 | self.gGTO = 0 86 | self.gOBJ = 0 87 | self.gFLT = 0 88 | self.gPO = 0 89 | self.gPR = 0 90 | self.gCU = 0 91 | 92 | self._update_cmd() 93 | self._max_force = 100.0 # [%] 94 | 95 | def shutdown(self): 96 | self.client.close() 97 | 98 | def activate_gripper(self): 99 | self.rACT = 1 100 | self.rPR = 0 101 | self.rSP = 255 102 | self.rFR = 150 103 | self._update_cmd() 104 | 105 | def deactivate_gripper(self): 106 | self.rACT = 0 107 | self._update_cmd() 108 | 109 | def activate_emergency_release(self,open_gripper=True): 110 | self.rATR = 1 111 | self.rARD = 1 112 | 113 | if (open_gripper): 114 | self.rARD=0 115 | self._update_cmd() 116 | 117 | def deactivate_emergency_release(self): 118 | self.rATR = 0 119 | self._update_cmd() 120 | 121 | def goto(self, pos, vel, force): 122 | self.rACT = 1 123 | self.rGTO = 1 124 | self.rPR = int(np.clip((3. - 230.)/self.stroke * pos + 230., 0, 255)) 125 | self.rSP = int(np.clip(255./(0.1 - 0.013) * vel-0.013, 0, 255)) 126 | self.rFR = int(np.clip(255./(self._max_force) * force, 0, 255)) 127 | self._update_cmd() 128 | 129 | 130 | def stop(self): 131 | self.rACT = 1 132 | self.rGTO = 0 133 | self._update_cmd() 134 | 135 | def is_ready(self): 136 | return self.gSTA == 3 and self.gACT == 1 137 | 138 | def is_reset(self): 139 | return self.gSTA == 0 or self.gACT == 0 140 | 141 | def is_moving(self): 142 | return self.gGTO == 1 and self.gOBJ == 0 143 | 144 | def is_stopped(self): 145 | return self.gOBJ != 0 146 | 147 | def object_detected(self): 148 | return self.gOBJ == 1 or self.gOBJ == 2 149 | 150 | def get_fault_status(self): 151 | return self.gFLT 152 | 153 | def get_pos(self): 154 | po = float(self.gPO) 155 | return np.clip(self.stroke/(3.-230.)*(po-230.), 0, self.stroke) 156 | 157 | def get_req_pos(self): 158 | pr = float(self.gPR) 159 | return np.clip(self.stroke/(3.-230.)*(pr-230.), 0, self.stroke) 160 | 161 | def get_current(self): 162 | return self.gCU * 0.1 163 | 164 | 165 | -------------------------------------------------------------------------------- /robotiq_2f_gripper_msgs/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | cmake_minimum_required(VERSION 2.8.3) 2 | project(robotiq_2f_gripper_msgs) 3 | 4 | find_package(catkin 5 | REQUIRED genmsg actionlib actionlib_msgs 6 | COMPONENTS message_generation std_msgs) 7 | 8 | find_package(Boost REQUIRED COMPONENTS system) 9 | 10 | add_message_files( 11 | DIRECTORY 12 | msg 13 | FILES 14 | RobotiqGripperCommand.msg 15 | RobotiqGripperStatus.msg 16 | ) 17 | 18 | add_action_files( 19 | DIRECTORY 20 | action 21 | FILES 22 | CommandRobotiqGripper.action 23 | ) 24 | 25 | generate_messages(DEPENDENCIES actionlib_msgs std_msgs) 26 | include_directories(include ${catkin_INCLUDE_DIRS} ${Boost_INCLUDE_DIRS}) 27 | 28 | catkin_package(CATKIN_DEPENDS actionlib_msgs message_runtime std_msgs) 29 | 30 | 31 | -------------------------------------------------------------------------------- /robotiq_2f_gripper_msgs/action/CommandRobotiqGripper.action: -------------------------------------------------------------------------------- 1 | # See Robotiq documentation for fields documentation. 2 | # See Robotiq documentation for fields documentation. 3 | 4 | #goal definition 5 | bool emergency_release 6 | uint32 emergency_release_dir 7 | bool stop 8 | float32 position #[m] Distance in bewteen fingers 9 | float32 speed #[m/s] Speed (Min: 0.013m/s - Max: 0.1m/s) 10 | float32 force #[%] Percentage of gripper force to apply (Min: 0.0% - Max: 100.0%) 11 | --- 12 | #result definition 13 | Header header 14 | bool is_ready 15 | bool is_reset 16 | bool is_moving 17 | bool obj_detected 18 | uint8 fault_status 19 | float32 position 20 | float32 requested_position 21 | float32 current 22 | --- 23 | #feedback 24 | Header header 25 | bool is_ready 26 | bool is_reset 27 | bool is_moving 28 | bool obj_detected 29 | uint8 fault_status 30 | float32 position 31 | float32 requested_position 32 | float32 current 33 | -------------------------------------------------------------------------------- /robotiq_2f_gripper_msgs/msg/RobotiqGripperCommand.msg: -------------------------------------------------------------------------------- 1 | bool emergency_release 2 | uint32 emergency_release_dir 3 | bool stop 4 | float32 position #[m] Distance in bewteen fingers 5 | float32 speed #[m/s] Speed (Min: 0.013m/s - Max: 0.1m/s) 6 | float32 force #[%] Percentage of gripper force to apply (Min: 0.0% - Max: 100.0%) 7 | 8 | 9 | -------------------------------------------------------------------------------- /robotiq_2f_gripper_msgs/msg/RobotiqGripperStatus.msg: -------------------------------------------------------------------------------- 1 | # See Robotiq documentation for fields documentation. 2 | Header header 3 | bool is_ready 4 | bool is_reset 5 | bool is_moving 6 | bool obj_detected 7 | uint8 fault_status 8 | float32 position #[m] Distance in bewteen fingers 9 | float32 requested_position 10 | float32 current -------------------------------------------------------------------------------- /robotiq_2f_gripper_msgs/package.xml: -------------------------------------------------------------------------------- 1 | 2 | robotiq_2f_gripper_msgs 3 | 0.0.2 4 | Messages for Robotiq 2 Finger Adaptive Gripper Model (Also known as C series) Driver 5 | 6 | Daniel Ordonez 7 | Stanley Innovation, Inc. 8 | Daniel Ordonez 9 | BSD 10 | 11 | catkin 12 | 13 | 14 | roslaunch 15 | message_generation 16 | actionlib_msgs 17 | actionlib_msgs 18 | message_runtime 19 | std_msgs 20 | std_msgs 21 | 22 | 23 | 24 | -------------------------------------------------------------------------------- /robotiq_modbus_rtu/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # http://ros.org/doc/groovy/api/catkin/html/user_guide/supposed.html 2 | cmake_minimum_required(VERSION 2.8.3) 3 | project(robotiq_modbus_rtu) 4 | find_package(catkin REQUIRED COMPONENTS rospy) 5 | 6 | #set the default path for built executables to the "bin" directory 7 | set(EXECUTABLE_OUTPUT_PATH ${PROJECT_SOURCE_DIR}/bin) 8 | #set the default path for built libraries to the "lib" directory 9 | set(LIBRARY_OUTPUT_PATH ${PROJECT_SOURCE_DIR}/lib) 10 | 11 | catkin_python_setup() 12 | 13 | ################################### 14 | ## catkin specific configuration ## 15 | ################################### 16 | ## The catkin_package macro generates cmake config files for your package 17 | ## Declare things to be passed to dependent projects 18 | ## LIBRARIES: libraries you create in this project that dependent projects also need 19 | ## CATKIN_DEPENDS: catkin_packages dependent projects also need 20 | ## DEPENDS: system dependencies of this project that dependent projects also need 21 | catkin_package( 22 | CATKIN_DEPENDS rospy 23 | ) 24 | -------------------------------------------------------------------------------- /robotiq_modbus_rtu/mainpage.dox: -------------------------------------------------------------------------------- 1 | /** 2 | \mainpage 3 | \htmlinclude manifest.html 4 | 5 | \b robotiq_comm 6 | 7 | 10 | 11 | --> 12 | 13 | 14 | */ 15 | -------------------------------------------------------------------------------- /robotiq_modbus_rtu/package.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | robotiq_modbus_rtu 4 | 1.0.0 5 | A stack to communicate with Robotiq grippers using the Modbus RTU protocol 6 | Jean-Philippe Roberge 7 | BSD 8 | http://wiki.ros.org/robotiq 9 | Nicolas Lauzier (Robotiq inc.) 10 | Kelsey Hawkins 11 | 12 | catkin 13 | 14 | python-pymodbus 15 | rospy 16 | 17 | 18 | -------------------------------------------------------------------------------- /robotiq_modbus_rtu/setup.py: -------------------------------------------------------------------------------- 1 | ## ! DO NOT MANUALLY INVOKE THIS setup.py, USE CATKIN INSTEAD 2 | 3 | from distutils.core import setup 4 | from catkin_pkg.python_setup import generate_distutils_setup 5 | 6 | # fetch values from package.xml 7 | setup_args = generate_distutils_setup( 8 | packages=['robotiq_modbus_rtu'], 9 | package_dir={'': 'src'}, 10 | ) 11 | 12 | setup(**setup_args) 13 | -------------------------------------------------------------------------------- /robotiq_modbus_rtu/src/robotiq_modbus_rtu/__init__.py: -------------------------------------------------------------------------------- 1 | #autogenerated by ROS python message generators -------------------------------------------------------------------------------- /robotiq_modbus_rtu/src/robotiq_modbus_rtu/comModbusRtu.py: -------------------------------------------------------------------------------- 1 | # Software License Agreement (BSD License) 2 | # 3 | # Copyright (c) 2012, Robotiq, Inc. 4 | # All rights reserved. 5 | # 6 | # Redistribution and use in source and binary forms, with or without 7 | # modification, are permitted provided that the following conditions 8 | # are met: 9 | # 10 | # * Redistributions of source code must retain the above copyright 11 | # notice, this list of conditions and the following disclaimer. 12 | # * Redistributions in binary form must reproduce the above 13 | # copyright notice, this list of conditions and the following 14 | # disclaimer in the documentation and/or other materials provided 15 | # with the distribution. 16 | # * Neither the name of Robotiq, Inc. nor the names of its 17 | # contributors may be used to endorse or promote products derived 18 | # from this software without specific prior written permission. 19 | # 20 | # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 21 | # "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 22 | # LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS 23 | # FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE 24 | # COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, 25 | # INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, 26 | # BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 27 | # LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER 28 | # CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 29 | # LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN 30 | # ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 31 | # POSSIBILITY OF SUCH DAMAGE. 32 | # 33 | # Copyright (c) 2012, Robotiq, Inc. 34 | # Revision $Id$ 35 | # 36 | # Modifed from the orginal comModbusTcp by Kelsey Hawkins @ Georgia Tech 37 | 38 | 39 | 40 | """@package docstring 41 | Module comModbusRtu: defines a class which communicates with Robotiq Grippers using the Modbus RTU protocol. 42 | 43 | The module depends on pymodbus (http://code.google.com/p/pymodbus/) for the Modbus RTU client. 44 | """ 45 | 46 | from pymodbus.client.sync import ModbusSerialClient 47 | from math import ceil 48 | 49 | class communication: 50 | 51 | def __init__(self): 52 | self.client = None 53 | 54 | def connectToDevice(self, device): 55 | """Connection to the client - the method takes the IP address (as a string, e.g. '192.168.1.11') as an argument.""" 56 | self.client = ModbusSerialClient(method='rtu',port=device,stopbits=1, bytesize=8, baudrate=115200, timeout=0.2) 57 | if not self.client.connect(): 58 | print "Unable to connect to %s" % device 59 | return False 60 | return True 61 | 62 | def disconnectFromDevice(self): 63 | """Close connection""" 64 | self.client.close() 65 | 66 | def sendCommand(self, data): 67 | """Send a command to the Gripper - the method takes a list of uint8 as an argument. The meaning of each variable depends on the Gripper model (see support.robotiq.com for more details)""" 68 | #make sure data has an even number of elements 69 | if(len(data) % 2 == 1): 70 | data.append(0) 71 | 72 | #Initiate message as an empty list 73 | message = [] 74 | 75 | #Fill message by combining two bytes in one register 76 | for i in range(0, len(data)/2): 77 | message.append((data[2*i] << 8) + data[2*i+1]) 78 | 79 | #To do!: Implement try/except 80 | try: 81 | self.client.write_registers(0x03E8, message, unit=0x0009) 82 | except: 83 | print("Modbus write operation failure") 84 | return False 85 | return True 86 | 87 | def getStatus(self, numBytes): 88 | """Sends a request to read, wait for the response and returns the Gripper status. The method gets the number of bytes to read as an argument""" 89 | numRegs = int(ceil(numBytes/2.0)) 90 | 91 | #To do!: Implement try/except 92 | #Get status from the device 93 | try: 94 | response = self.client.read_holding_registers(0x07D0, numRegs, unit=0x0009) 95 | except Exception as e: 96 | print(e) 97 | return None 98 | 99 | # When reading failes, response is of type None 100 | if response is None: 101 | # print("Failed to receive status") 102 | return None 103 | 104 | #Instantiate output as an empty list 105 | output = [] 106 | 107 | #Fill the output with the bytes in the appropriate order 108 | for i in range(0, numRegs): 109 | output.append((response.getRegister(i) & 0xFF00) >> 8) 110 | output.append( response.getRegister(i) & 0x00FF) 111 | 112 | #Output the result 113 | return output 114 | --------------------------------------------------------------------------------