Package: covmatic-robotmanager
RobotManagerManager code for EVA robot from Automata.WarningThis is a development program and not ready for production-use.
This is part of a project in development.Table of ContentsIntroductionInstallationSetupCalibrationExecutionTestingIntroductionThecovmatic-robotmanagercomes with two scripts callable in a command shell:robotmanager-calibratoris a helper program useful to save precise and repeatable calibrations.robotmanager-serveris the main server that listen for actions to do;Source code is onASST Bergamo Est repositoryInstallationYou caninstall the Covmatic LocalWebServer viapip:<python> -m pip install covmatic-robotmanagerWhere<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.SetupTo set up the Robotmanager application, run<python> -m covmatic_robotmanager.setupThis will create a desktop link and open in a text editor the file.covmatic/robotmanager.confin 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 theProfileEva page.
Below an example ofrobotmanager.conffile:eva-ip=192.168.1.1
eva-token=abcdefghijklmnrstuvwxyzPlease pay attention to any message regarding if the installed script are insidePATHdirectory;
if you see these messages than you will not be able to start theserverand thecalibratorusing the short commands
below, but instead you should locate the script installation directory to launch them.CalibrationRobotmanager-server uses pre-calibrated positions in order to know where to position the robot.All the position are stored in a.covmatic/positions.jsonfile in your home directory.The data organization has these objects:a mainHOMEposition which is the general home where the robot should stay waiting for operations and where it will return after each operation.atarget robotintended as a machine or entity to reach (e.g. a pipetting robot)aslotintended as a part of atarget robotto be reached (e.g. SLOT 1 of a pipetting robot)The calibration flow should be as follows:First of all launch the calibrator in a command line with:robotmanager-calibratorThen calibrate the generalHOMEposition:when asked for target insertHOMEmove manually the robot by pressing theteachbutton on the robot headwhen ready, pressEnterand thensto save the position as homepressqto quit the program.Calibrate theHOME,DECKandHMAXposition for each target robot:
For proper movement eachtarget robotneeds these point calibrated in order:HOMEis the starting position that Eva will go to before entering the target robot.
Eva should move freely betweenHOMEs positions.DECKis a position where the gripper touches the deck of the target robot.
This value is used to calculate heights of labware.HMAXis 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:launch therobotmanager-calibratorscriptinsert thetarget robotname (e.g. OT1)insert theslot name(e.g. HOME, DECK, HMAX, or anything used by protocols as SLOT1, SLOT2 etc.)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)make any necessary adjustment with the keyboard (see the screen instructions)when ready you can test the saved position by pressingwand if necessary make any adjustmentwhen the position is good presssto save andqto quitAfter 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.ExecutionCovmatic Robotmanager server will listen for request fromcovmatic-robotstationpackage running on each target robot.
When apickanddropor atransferaction 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) every action related to that plate will be aborted.TestingThe Covmatic Robotmanager comes with a handful of tests to check that the code is doing as expected.
It has been developed using a Test Driven Development approach.
To execute tests and coverage report just launch:hatch run cov