Python GUI & Robotic Arm (Fairino FR5) Integration Specialist

Background

emtensor operates a Python-based GUI application that controls an imaging measurement system, used to run experiments and collect scans. To accelerate and automate the measurement process, we want to integrate a Fairino FR5 robotic arm (6DOF, 922mm reach, 5kg payload) to automate physical positioning during measurement. The robot should be controllable from within the existing measurement GUI, with both systems’ data combined into one unified output.

In addition, we want the ability to control and run the entire measurement (including the robotic arm) remotely, so an operator can start and monitor a measurement run from anywhere, not just from the machine onsite.

Project Goal

Build a unified Python control hub that lets an operator run the measurement and the robotic arm from one GUI, with both systems’ data (measurement results and robot telemetry) logged together into a single, time-synchronized output file. The integration should automate sample/probe positioning to accelerate the measurement process, and the entire system (measurement + robot) should be controllable remotely, allowing an operator to run measurements from anywhere.

Scope of Work

1. Robotic Arm Programming

Use the official fairino-python-sdk to write modular control scripts for the FR5, covering jog control, point-to-point movement, speed/acceleration limits, and safety/error handling (including e-stop response and workspace limits appropriate for a collaborative robot).

2. GUI Integration

Integrate the robot control scripts into the existing measurement GUI (currently built with Tkinter) without disrupting its existing scanning and experiment-running workflows. The robot controls should feel like a natural extension of the current interface, not a bolted-on separate tool.

3. Real-Time Monitoring Without Blocking

Implement background threading (threading, asyncio, or equivalent) so that robot telemetry — joint positions, TCP coordinates, motion status, error states — updates live on the GUI without freezing or slowing down the measurement software.

4. Unified Data Logging

Design a single data pipeline that timestamps and aligns robot telemetry with the measurement system’s scan data, writing both into one unified output file (CSV, JSON, or HDF5 — to be agreed with emtensor based on existing file conventions).

5. Remote Operation

Implement a remote control capability so the integrated GUI (measurement + robotic arm) can be operated from a remote location — not just from the machine onsite. This includes secure remote access/connection to the GUI, remote start/stop/monitoring of measurement runs, and consideration of network latency and safety (e.g., ensuring the robot cannot be commanded into an unsafe state due to a dropped or delayed remote connection).

6. Testing and Safe Deployment

Validate all robot motion logic in simulation (Fairino SimMachine or the WebApp simulator) before any testing on the physical arm. Onsite sessions will be used for hardware validation, safety checks, and final deployment.

7. Documentation and Handover

Provide clear code documentation and a short handover guide, since emtensor’s internal team will maintain the code after the contract ends. Code should be delivered via Git with a clean commit history.

Deliverables

  • Integrated GUI with working robot control panel
  • Unified data logging system (measurement + robot telemetry)
  • Simulation test results prior to live deployment
  • Source code in a Git repository with documentation
  • Short handover session/guide for emtensor’s team

How to Apply

Please send your CV to lizaveta.shatalava@emtensor.com