Robotic Writer
Published:
A full simulation and control environment for a 5-DOF Scorbot III robotic arm that picks letter blocks arranged on a circular arc and places them in a line to spell words. What started as a lab activity at the Universidad de Concepcion in 2004 has evolved into a complete kinematics exploration and trajectory planning tool.
The challenge
Given a word to spell, the robot must:
- Compute the 3D position of each letter on the circular source arc
- Plan a collision-free trajectory from the current position to the letter
- Pick the letter with the gripper
- Move to the corresponding target position on the output line
- Place the letter and return for the next one
Each step requires solving the inverse kinematics problem: given a desired end-effector position and orientation, find the joint angles that achieve it.
Kinematics
The system uses the Denavit-Hartenberg convention for systematic description of the 5-joint kinematic chain:
| Joint | Type | d (mm) | a (mm) |
|---|---|---|---|
| Base | Revolute | 340 | 16 |
| Shoulder | Revolute | 0 | 220 |
| Elbow | Revolute | 0 | 220 |
| Pitch | Revolute | 0 | 0 |
| Roll | Revolute | 151 | 0 |
Forward kinematics compose the transformations; inverse kinematics are solved analytically for real-time performance.
Features
- Interactive 3D simulation with animated trajectory playback (Dash + Plotly)
- Kinematics explorer: visualize forward/inverse solutions in real time
- Multiple hardware backends: Scorbot III (serial), Arduino steppers, MATLAB Engine
- REST API for programmatic control
- Configurable workspace: letter arc radius, target line spacing, approach heights
From 2004 to today
The original 2004 lab used MATLAB scripts to command the physical Scorbot III. The modern version wraps the entire system — simulation, kinematics, planning, and optional hardware control — in a Python web application, making the project accessible without the physical robot.
