Skip to main content

Reverse Engineering the Andrew Robot

Andrew is a robot designed to automatically perform bioscience experiments through pipetting precise quantities of liquids. The original Andrew robots are no longer supported by the manufacturer. Additionally, the existing software is old and based on Adobe AIR, a product similar to Flash, which is no longer supported by Adobe. To revitalize old robots, this repo exists to document the hardware and software of the Andrew robots, along with providing a Python library to interface with the robot.

Software Library

To install the package, run:

$ pip install andrew_robot

For basic usage, the AndrewRobot class can be used to control both the servos and lights of the robot.

from andrew.robot import AndrewRobot

robot = AndrewRobot('D:\\Resources\\andrew.xml', 'COM3', 250000, 'COM4')
# Set the max speed to something reasonably slow
robot.max_speed = 50

The AndrewRobot constructor takes the path to the andrew.xml config file, the serial port for the servos, the baud rate for the servos (this is presumably 250000 for all Andrew robots), and the serial port for the LED controller.

To control the servos, the move_servos() fucntion can be used. This method will attempt to move the arm to a safe height before moving the rest of the servos to their desired position, and then changing the arm height to its own desired position.

robot.move_servos(shoulder=1065, elbow=1530, wrist=1300, linear=2035, thumb=1779)

The right servo values for a desired pose can be found using the example find_poses.py.

Functions to control the LEDs are also provided. Note that these will need a slight delay after creating an AndrewRobot instance, as the LED controller restarts upon starting serial communication.

# Delay to let the LED controller restart
time.sleep(.1)

robot.led_arm(0)
robot.led_body(0)

Before any code can be run to interface with the servos, you will need to fix the drivers they use.

Documentation

Limitations

Research for this was done largely using the 1000G model of Andrew robot (probably, it's not labeled clearly, but we believe this is one of the first generation of Andrew robots) and briefly double-checked on a 1000R, although not thoroughly. It is very possible that other robots may have issues with this library. Pull requests to improve the information and code here are welcome.

Metadata

Release files for andrew-robot 0.0.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for andrew-robot 0.0.1
File Size Uploaded
andrew_robot-0.0.1.tar.gz 4.4 MB Details

Built distribution (wheel)

Table of built distributions (wheels) for andrew-robot 0.0.1
File Interpreter ABI Platform
andrew_robot-0.0.1-py3-none-any.whl Python 3 none any Details

Total release size: 4.4 MB

Release files / andrew_robot-0.0.1.tar.gz

Download URL andrew_robot-0.0.1.tar.gz
Size 4.4 MB
Tags Source
SHA-256 checksum
How to use checksums
f6c5c450b0461ce0caf9a445722519077ba5b3e021a921419f8715903306f307
BLAKE2b-256 checksum
How to use checksums
9df7590d86646a7fce91cafb19921012768b598859b9459ddec34760d852c8a9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.10.11

Release files / andrew_robot-0.0.1-py3-none-any.whl

Download URL andrew_robot-0.0.1-py3-none-any.whl
Size 11.5 kB
Tags Python 3
SHA-256 checksum
How to use checksums
fbf891823d7cd1055d3ac38bf456c4f21cd6bf9993123e37f909c035685c7ca2
BLAKE2b-256 checksum
How to use checksums
b2b4d2f162e9ae426777efe1ed04361d504045a0e653fe57a03b8f6e7fc978a0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.10.11

Release history Release notifications | RSS feed

This release

0.0.1 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page