**robotiq_2f Repository** 

***Overview***

This repository provides a ROS2 integration for controlling the Robotiq 2F-85 and 2F-140 grippers. It combines elements from:

* **ros2_robotiq_gripper:** [https://github.com/PickNikRobotics/ros2_robotiq_gripper/tree/main](https://github.com/PickNikRobotics/ros2_robotiq_gripper/tree/main)
* **robotiq_2f_urcap_adapter:** [https://github.com/fzi-forschungszentrum-informatik/robotiq_2f_urcap_adapter/tree/main](https://github.com/fzi-forschungszentrum-informatik/robotiq_2f_urcap_adapter/tree/main)

It leverages the low-level socket communication provided by the robotiq_2f_urcap_adapter to create a new ROS2-compatible hardware interface.

***Features***

* **robotiq_2f_controllers:**
    * ForwardController
    * GripperCommand
    * RobotiqActivationController (inherited by ros2_robotiq_gripper) 
* **robotiq_2f_description:**
    * Configuration files for 85mm and 140mm grippers
    * Controller configuration files
    * Launch files for RViz visualization and controller activation
    * Meshes for visualization and collision detection
    * Modified URDF files
* **robotiq_2f_interface:**
    * ROS2 hardware interface 
    * Robotiq2fSocketAdapter 
    * MockRobotiq2fSocketAdapter
* **robotiq_2f_msgs:**
    * GripperCommand.action
    * ForwardCommand.msg

***Socket Communication***

Socket communication details: [https://dof.robotiq.com/discussion/2420/control-robotiq-gripper-mounted-on-ur-robot-via-socket-communication-python](https://dof.robotiq.com/discussion/2420/control-robotiq-gripper-mounted-on-ur-robot-via-socket-communication-python)

***Robotiq Resources***

* **Robotiq UR Cap:** [https://robotiq.com/products/2f85-140-adaptive-robot-gripper?ref=nav_product_new_button](https://robotiq.com/products/2f85-140-adaptive-robot-gripper?ref=nav_product_new_button)
* **Quick Start Guide:** [https://blog.robotiq.com/hubfs/Support%20Documents/QSG/Quick_start_2Finger_e-Series_nocropmarks_EN.pdf](https://blog.robotiq.com/hubfs/Support%20Documents/QSG/Quick_start_2Finger_e-Series_nocropmarks_EN.pdf)

***Parameters***

* `robot_ip`: IP address of the robot controller
* `robot_port`: Port for robot controller communication
* `use_fake_hardware`: Start gripper with fake hardware mirroring command to its states.
* `use_forward_controller`: Use forward controller instead of gripper command controller(action controller).
* `prefix`: In case multiple grippers are used on the same UR Cap.
* `description_file`: The type of the Gripper (85/140) is decided here.

**robotiq_2f_gripper (config file)**

* `min_position`: 0.0 (fully closed)
* `max_position`: 0.14 (fully open)
* `max_angle`: 0.695 (radians, closed)
* `min_speed`: 0.02 
* `max_speed`: 0.15 
* `min_force`: 20.0 
* `max_force`: 235.0 


