SCARA Arm Calibration
Summary
Associated with: AMBOTS, Inc.
Role: Co-Founder, R&D Project Manager.
Where: Fayetteville, Arkansas.
When: 2020.
Objective: Develop a calibration algorithm for the 3D printing arm in order to achieve 200µm positioning accuracy on the build surface.
Contribution: I've designed the mathematical model of the system, developed the calibration algorithm using Python, and implemented it on the 3D printing robots.
Results:
• Achieved 200µm positioning accuracy, making it 50 times more accurate.
• This solution enabled cooperative 3D printing on a shared build surface with multiple robots.
Project Description
The SCARA acronym stands for Selective Compliance Articulated Robot Arm, meaning it is compliant in the X-Y axis, and rigid in the Z-axis. This calibration technique relies on the fact that the SCARA robot is controlled using a kinematic model. It also relies on the fact that both joint angles can be controlled with at least 0.01 degrees of precision. The goal of this calibration process is to allow the SCARA arm to locate the edges of a 3D printing surface -- placed on the floor in front of the arm -- and stretch its virtual printing surface across its extension, matching the real world.
How It Works
The print-head position in the X-Y cartesian system is directly dependent on six variables. They represent the arm lengths (distal and proximal arms), the joint angles (distal and proximal joints), and the X-Y cartesian position of the proximal joint. Here's a graphical representation of the variables:
Since the starting angle positions are theoretically unknown, the absolute joint angles cannot be used in the calculations while calibrating the arm. Instead, the absolute joint angle values will only be used for calculating the difference between the 4 reference points. In other words, the input values for this calibration system represent how much the joint angles have changed in order to reach each one of the 4 reference points on the printing surface.
Once the joint angle values have been measured and stored, the X-Y position of the print-head can then be calculated using the design values for the remaining 4 variables. These coordinates are called Xpos and Ypos. The same calculation is performed on a virtual ideal model, and the resulting coordinates are called Xtarget and Ytarget. The summation of the differences between the measured coordinates and the ideal model coordinates is what gives the total error for the system.
The total error for the system, represented by the equation above, is the absolute error indicating the accuracy between the virtual coordinate system and the real world. In order to properly calibrate the arm, a mathematical solver needs to adjust the variables until this number gets really close to zero.