Franka Emika Panda Calligrapher
Summary
For my Mechanics of Manipulation course project, my teammate Arnav and I developed a robotic calligraphy framework using our professor’s simulator mengine. Motivated by the long-standing use of autopens for signatures, we investigated whether a general-purpose robotic manipulator could achieve comparable stroke quality. To track stroke thickness, we explicitly model and control pen–paper contact forces, leading to the control architecture below.

First, we compute an end-effector desired trajectory \(\boldsymbol{w}\) using CV trajectory generation projected onto the writing surface. We could naively use Inverse Kinematics to generate a joint-space trajectory, but this would not account for any variations in desired stroke thickness. Thus, we decouple kinematic tracking from contact regulation, using a linear joint-space MPC for end-effector position tracking while regulating the pen–paper interaction force (and thus stroke thickness \(\delta\)) via PID force control. The force loop offsets the desired end-effector \(z\)-trajectory, producing \(\hat{\boldsymbol{w}}\), and the linear MPC tracks this modified reference through kinematics-level optimization.
The figure below compares a baseline inverse-kinematics controller, kinematic MPC alone, and MPC with PD force feedback, demonstrating the performance gains from explicit force regulation.

Links
For a complete technical description, see our final paper here. Source code and datasets are available here.
