Six axis robotic arm used as the Z positioning module Pneumatic pipetter assembly carried by the arm System overview showing where the arm sits in the platform

Robotic Arm Module for the Automation Platform

Dipendra Nepal
Z Positioning • Python • Raspberry Pi

This project covers the coarse positioning half of the automated pipetting workflow. A six axis robotic arm running on a Raspberry Pi moves a pipette to an addressed well on a standard plate, at which point the fine positioning stage takes over. It also served as a platform for learning the practical side of servo control before committing decisions to the thesis hardware.

I wrote the joint mapping and motion routines in Python, converting well coordinates on the plate into joint angles and sequencing the moves so the arm approaches from above rather than sweeping across neighbouring wells. A 96 well plate has 9 mm well spacing, which is comfortably within the arm's repeatability but demands a properly registered coordinate frame to avoid cumulative offset across the plate.

A colour sorting demonstration extended the work with OpenCV, using HSV thresholding to identify and pick coloured objects. The lesson there was that lighting dominates: thresholds tuned under one set of laboratory lights fail under another, so the practical answer was controlled illumination rather than more elaborate detection.

The most useful thing this project taught me was procedural rather than theoretical. Servo torque has to be enabled before any motion command is issued, otherwise commands are silently accepted and nothing moves. Building a repeatable startup sequence that puts the arm into a known state before anything else runs saved considerable debugging time and is a habit I carried into the thesis work.

Technical Highlights: Six Axis Arm Control, Python Motion Scripting, Raspberry Pi, OpenCV HSV Detection, Coordinate Frame Registration, 96 Well Plate Addressing