Metadata-Version: 2.4
Name: pyrobotiqgripper
Version: 2.0.10
Summary: Python Driver for Robotiq Grippers
License-File: LICENSE
Author: Benoit CASTETS
Author-email: opensourceeng@gmail.com
Requires-Python: >=3.8
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Programming Language :: Python :: 3.14
Requires-Dist: pymodbus (>=3.12.1,<4.0.0)
Requires-Dist: pyserial (>=3.5,<4.0)
Project-URL: Homepage, https://github.com/castetsb/pyRobotiqGripper
Project-URL: Issues, https://github.com/castetsb/pyRobotiqGripper/issues
Description-Content-Type: text/x-rst

pyRobotiqGripper
================

Python Driver for Robotiq Grippers.

pyRobotiqGripper is a Python library designed to facilitate control of Robotiq grippers using Modbus RTU communication via serial port or over ethernet.
It is compatible with 2F85, 2F140, and Hande.

Documentation: `pyRobotiqGripper Documentation <https://pyrobotiqgripper.readthedocs.io/en/latest/>`_

1-Disclaimer
------------

This library can be seen as a starting point for a Robotiq integration project.
You are responsible for what you do with this library.
The author takes no responsibility for any malfunction.

Note: This library is not maintained by Robotiq.

2-How to Install
----------------

Install the pyRobotiqGripper python package using PIP.

.. code-block:: bash

    python3 -m pip install pyRobotiqGripper

3-Typical Usage:
----------------

3-1-Robotiq gripper connected at PC USB port via a USB to RS485 converter
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

.. code-block:: python

    from pyrobotiqgripper import RobotiqGripper

    #Create a Robotiq gripper object.
    gripper = RobotiqGripper()

By default, the serial port on which the gripper is connected is automatically detected. However, you can manually specify the serial port name if you want to. Refer to the API documentation for more information.

3-2-Robotiq gripper connected to a UR robot with RS485 URCAP installed
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Replace <UR_ROBOT_IP> with the actual IP address of your UR robot.

.. code-block:: python

    from pyrobotiqgripper import RobotiqGripper

    #Create a Robotiq gripper object.
    gripper = RobotiqGripper(connection_type="RTU_VIA_TCP", tcp_host=<UR_ROBOT_IP>)

3-3-Gripper control
~~~~~~~~~~~~~~~~~~~
Activate the gripper and do whatever you want with the gripper: open, close, get position feedback, etc.

.. code-block:: python

    gripper.activate()
    gripper.calibrate(closemm=0, openmm=40)
    gripper.open()
    gripper.close()
    gripper.move(100)
    position_in_bit = gripper.getPosition()
    print(position_in_bit)
    gripper.move_mm(25)
    position_in_mm = gripper.getPositionmm()
    print(position_in_mm)

Note: During activation, the gripper is going to fully open and close. Do not disturb this process. Do not place an object inside the gripper.

Note: Position, Speed and Force varie from 0 to 255. It is coded on 8 bits.

You can print the current status of gripper registers using `printStatus()`.

.. code-block:: python

    gripper.printStatus(()

For realtime control use the realTimeMove method.

.. code-block:: python

    gripper.realTimeMove(requestedPosition=100)

The realTimeMove method is designed to be called in a loop with a high frequency. It will move the gripper to the requested position with a speed that depends on the distance to the target position. This allows for a smooth and responsive control of the gripper.

4-Joystick CLI Feature
----------------------

pyRobotiqGripper includes a command-line interface (CLI) tool for controlling the gripper using a joystick or gamepad. This feature allows for intuitive, real-time manual control of the gripper's position, speed, and force.

To use the Joystick CLI, run:

.. code-block:: bash

    python -m pyrobotiqgripper.joystick_cli

Make sure a supported joystick or gamepad is connected to your computer. The CLI will automatically detect the device and provide on-screen instructions for mapping joystick inputs to gripper actions.

Refer to the documentation for details on supported devices and customization options.
.. code-block:: bash

    python -m pyrobotiqgripper.joystick_cli --help

