Metadata-Version: 2.4
Name: gripper
Version: 0.0.1
Summary: An abstraction of a robotic arm gripper.
Author-email: David Dovrat <ddovrat@cs.technion.ac.il>
Maintainer-email: David Dovrat <ddovrat@cs.technion.ac.il>
License-Expression: MIT
Project-URL: Repository, https://github.com/CLAIR-LAB-TECHNION/gripper.git
Keywords: gripper,robot,arm
Requires-Python: >=3.10
Description-Content-Type: text/markdown
License-File: LICENSE
Dynamic: license-file

# Gripper

This package defines an abstract gripper and an abstract factory that creates grippers.

## What does an abstract gripper do?
It raises _NotImplementedError_ exceptions... but more importantly, it defines a type and an interface to that type. That type being a gripper.

What does a gripper do? Generally speaking (thanks to abstractions we can speak generally), it grips.

Grippers can be end effectors mounted on robotic arms, but they can also be anything that grips. When thinking about gripping stuff, three parameters come to mind:
* gap: the desired end gap between the gripping parts of the gripper (fingers, claws, pincers...), we choose to measure this parameter in millimeters.
* force: the desired force used to reach the desired gap. We measure this parameter in Newtons.
* speed: the desired speed at which to reach the desired gap. We measure this parameter in meters per second.

Grippers also report their status.

## What does an abstract factory do?
Again, it raises _NotImplementedError_, but allows future client applications to create as many grippers that they need from any vendor that they choose, providing that vendors implement concrete _gripper_ type grippers.

