Skip to content

Festo-se/raepy

Repository files navigation

About

This is the official repositiory for the python based software drivers of the robot autonomy effector. This package enables you to control the fingertip distance of the gripper, the position of the rack and direct Servo access.

Prerequisites

  • Python > 3.6
  • Linux based System OS
  • Ethernet or Wifi Connected RPi4
  • SSH Connection to RPi (VSCODE SSH extension is strongly recommended)

Installation

Either clone this repository with

pip3 install git+https://github.com/romzn/raepy.git

or direct from the pypi repository

pip3 install raepy

or build the newest version and

git clone github.com/romzn/raepy.git
cd raepy

## Build repository and Install
python3 -m pip install --upgrade build
python -m build
pip3 install .

# Start tests to see basic functionality (!!After the racktest and servoest an recalibration has to be made!!)
python3 -m unittest racktest.py
python3 -m unittest radialgrippertest.py
python3 -m unittest racktest.py

Basic functionality

To move the gripper or the rack the their specific objects has to be loaded in the current script.

from raepy import Rack, RadialGripper, Servo

rack = Rack() 
gripper = RadialGripper()
servo = Servo()


rack.out() # brings the rack to the front position (+8cm) and the grippers back


gripper.grasp() # brings the grippers together until they meet resistance, then they are holding with an specific force.


gripper.to(0.1) # Set the distance between the two fingertips to 10 cm


gripper.to(0.2) # Set the distance between the two fingertips to 20 cm


rack.to(0.5) # Drives the rack to an absolute position (5cm)


rack.to(1.2) # Drives the rack out !! but before dismantle the grippers or they will collide !!


servo.led_to(color) # sets the color to ['black', 'red', 'green', 'blue', 'yellow', 'cyab', 'magenta']


servo.limp() # Sets the motor current to zero which results in powerless fingers


servo.hold() # holds the position with an specific force (max 28 Nm)


# ! There are some servomotor functions more, just take a look at the sources ./src/servo !

Calibration

To calibrate the gripper two steps has to be made.

In the first step the grippers have to be dismantled an the rack must drive Rack Out

Normally an calibration is not needed because the gripper is calibrated by factory. In the case you dismantle Gripper without mounting them back into exactly the same position, or you drive the rack completely out an recalibration is necessary. It is also necesseary if the package was updated