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.

Robot Setup

The challenge

Given a word to spell, the robot must:

  1. Compute the 3D position of each letter on the circular source arc
  2. Plan a collision-free trajectory from the current position to the letter
  3. Pick the letter with the gripper
  4. Move to the corresponding target position on the output line
  5. 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:

JointTyped (mm)a (mm)
BaseRevolute34016
ShoulderRevolute0220
ElbowRevolute0220
PitchRevolute00
RollRevolute1510

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.

View on GitHub