Installation and Setup
The Robotics API is for installation on the workstation controlling a robotic setup. There should be no need to install this unless setting up a new robotic setup.
Software Installation
Clone this GitHub Repository
Clone this repository on the robotics workstation. Ensure you have SSH privileges.
git clone git@github.com:D3TaLES/roboticsUI.git
Create Environment
The primary package this repo requires is the D3TaLES API. It is recommended that you create an environment to host the required packages.
conda create --name d3tales_robotics
conda activate d3tales_robotics
conda install -c conda-forge fireworks
pip install git+https://github.com/d3tales/d3tales_api.git
Get D3TaLES fork of hardpotato
The Robotics API uses a forked version of the hardpotato software for interacting with CHI potentiostats. This must be cloned and added to the PYTHONPATH (see next section). On the current Robotics Workstation, that would look like:
cd 'C:\Users\Lab\D3talesRobotics\Packages\'
git clone git@github.com:D3TaLES/hardpotato.git
Activate Environment
Note that you must set the DB_INFO_FILE environment variable as stipulated in the
D3TaLES API Docs.You will also
need to set the fireworks variable FW_CONFIG_FILE and a PYTHONPATH. For robotics PC (WINDOWS),
set environment variables run the command:
python robotics_api/settings.py
Then, copy the output and run that in your path terminal.
ALTERNATIVELY, set the environment variables manually with the following commands, making sure to insert the correct paths.
conda activate d3tales_robotics
$env:PYTHONPATH='C:\Users\Lab\D3talesRobotics\roboticsUI;C:\Users\Lab\D3talesRobotics\Packages\d3tales_api;C:\Users\Lab\D3talesRobotics\Packages\hardpotato\src'
$env:FW_CONFIG_FILE='C:\Users\Lab\D3talesRobotics\roboticsUI\robotics_api\management\config\FW_config.yaml'
$env:DB_INFO_FILE='C:\Users\Lab\D3talesRobotics\roboticsUI\db_infos.json'
cd C:\Users\Lab\D3talesRobotics\launch_dir
Hardware Setup
The hardware should be arranged on the table according to the desired layout.
Robot Setup
Make a snapshot of where the robot arm should be at each station via the Kinova web interface (http://192.168.1.10/). This position should be the position of the robot arm when the action happens (i.e., when the liquid is dispensed or when the robot releases the vial at its home). The
raise_amountfor each station can be set in the Robotics API standard actions. Previous snapshots can be found and uploaded atrobotics_api/snapshots/Set up Kinova protection zones (again, on the Kinova web interface, http://192.168.1.10/) for any place you do not want the robot traveling. Previous protection zones can be found and uploaded at
robotics_api/snapshots/protection_zones/
Station Setup
Documentation in progress