Skip to main content

Covmatic Robot Manager is a robotic arm manager for action requested by other robots

Project description

RobotManager

Manager code for EVA robot from Automata.

Warning

This is a development program and not ready for production-use. This is part of a project in development.

Table of Contents

Introduction

The covmatic-robotmanager comes with two scripts callable in a command shell:

  • robotmanager-calibrator is a helper program useful to save precise and repeatable calibrations.
  • robotmanager-server is the main server that listen for actions to do;

Source code is on ASST Bergamo Est repository

Installation

You can install the Covmatic LocalWebServer via pip:

<python> -m pip install covmatic-robotmanager

Where <python> should be changed for the Python instance you wish to install the Robotmanager onto. We will be following this convention for all the next instructions.

Setup

To set up the Robotmanager application, run

<python> -m covmatic_robotmanager.setup

This will create a desktop link and open in a text editor the file .covmatic/robotmanager.conf in your user home directory. The configuration file should contain at least two parameter:

  • eva-ip: this is the IP address of the Automata EVA robot;
  • eva-token: this is the token used to authenticate with the EVA robot; create one token in the Profile Eva page. Below an example of robotmanager.conf file:
eva-ip=192.168.1.1
eva-token=abcdefghijklmnrstuvwxyz

Please pay attention to any message regarding if the installed script are inside PATH directory; if you see these messages than you will not be able to start the server and the calibrator using the short commands below, but instead you should locate the script installation directory to launch them.

Calibration

Robotmanager-server uses pre-calibrated positions in order to know where to position the robot.

All the position are stored in a .covmatic/positions.json* file in your home directory.

The data organization has these objects:

  • a main HOME position which is the general home where the robot should stay waiting for operations and where it will return after each operation.
  • a target robot intended as a machine or entity to reach (e.g. a pipetting robot)
  • a slot intended as a part of a target robot to be reached (e.g. SLOT 1 of a pipetting robot)

The calibration flow should be as follows:

  1. First of all launch the calibrator in a command line with:

    robotmanager-calibrator
    
  2. Then calibrate the general HOME position:

    1. when asked for target insert HOME
    2. move manually the robot by pressing the teach button on the robot head
    3. when ready, press Enter and then s to save the position as home
    4. press q to quit the program.
  3. Calibrate the HOME, DECK and HMAX position for each target robot: For proper movement each target robot needs these point calibrated in order:

    1. HOME is the starting position that Eva will go to before entering the target robot. Eva should move freely between HOMEs positions.
    2. DECK is a position where the gripper touches the deck of the target robot. This value is used to calculate heights of labware.
    3. HMAX is the maximum height reachable, calibrated with the Eva arm in the highest possibile position.ù

    To calibrate a position in a target robot you need to follow this sequence for each position:

    1. launch the robotmanager-calibrator script
    2. insert the target robot name (e.g. OT1)
    3. insert the slot name (e.g. HOME, DECK, HMAX, or anything used by protocols as SLOT1, SLOT2 etc.)
    4. follow the instruction of the calibrator (it will ask you to move the robot manually if the position is not found or to load a previously saved position)
    5. make any necessary adjustment with the keyboard (see the screen instructions)
    6. when ready you can test the saved position by pressing w and if necessary make any adjustment
    7. when the position is good press s to save and q to quit

After defining the three basic positions (HOME, DECK, HMAX) for a target robot you can define any other position for a target robot. The Eva will use this data to calculate and execute a safe trajectory to pick up or drop off a plate.

Execution

Covmatic Robotmanager API will listen for request from covmatic-robotstation package running on each target robot. When a pick and drop or a transfer action are queued for a same plate name then the EVA robot will execute the plate transfer.

In case of error (e.g. plate not grabbed) both every action related to that plate will be aborted.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

covmatic_robotmanager-0.0.5.tar.gz (48.6 kB view details)

Uploaded Source

Built Distribution

covmatic_robotmanager-0.0.5-py3-none-any.whl (50.2 kB view details)

Uploaded Python 3

File details

Details for the file covmatic_robotmanager-0.0.5.tar.gz.

File metadata

  • Download URL: covmatic_robotmanager-0.0.5.tar.gz
  • Upload date:
  • Size: 48.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.8.17

File hashes

Hashes for covmatic_robotmanager-0.0.5.tar.gz
Algorithm Hash digest
SHA256 4e203ab731c0f3e821cd9ef65d8e927908c733d1281e251dc0034da591aef9fc
MD5 892dc9c719272a927190c21cfc389bf4
BLAKE2b-256 b3be51816fe55d9b3b63500c1d35ecbef5b102915a0cc787a6eb3eb95d20d84b

See more details on using hashes here.

File details

Details for the file covmatic_robotmanager-0.0.5-py3-none-any.whl.

File metadata

File hashes

Hashes for covmatic_robotmanager-0.0.5-py3-none-any.whl
Algorithm Hash digest
SHA256 5e919de52a90a164a54b7e1c257cb93384d928607ff36674a3bc44ab8e1f9165
MD5 716c012e61848ff92567d8d8a95cc10a
BLAKE2b-256 cc5956f63c762215154088ed6c803e3338cb51cdca72f2683c6e5bc8dc424294

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page