# Using Full Pose Measurement for Serial Robot Calibration
## 1 Introduction  
The topic of robot calibration is well-established, yet it is still a significant factor identified by end-users as being negatively impactful for robot usability and utility [1]. Calibration is followed by registration of robot frame to world frame so the accurate encoder angles can be obtained from inverse kinematic and fed to the robot's controller. Both procedures have a profound impact on robot performance and, as pointed out in [2], \"it is impossible to distinguish the end-effector error contributed either by\" incorrect model parameters or by inaccurate registration transformation. Various methods of calibrating a robot's kinematic chain have been developed (e.g., [3; 4; 5]). Many of these methods rely on intrinsic kinematic models (e.g., [6; 7; 8; 9]), which minimize complicated, nonlinear error functions (unless only linearized error models are considered, which may exchange uncertainty for mathematical simplicity) in at least \(N\)-dimensional space, where \(N\) is the number of controllable joints in the serial kinematic chain. Calibrations based on extended modeling (i.e., beyond rigid kinematics) include compensating for thermal effects [10], and elastostatic [11] and higher order errors [12]. Likewise, examples of non-kinematics-based calibrations can be seen in [13; 14]. There are also compensation techniques that can handle both kinematic and non-kinematic errors, but they require steady calculations and application of corrections during on-line operations [15; 16; 17], or dynamically selected pre-calculated, hand-eye calibrations from a table [18]. Robot calibration procedures depend on theoretical models of the mechanical system's forward kinematic. For a serial open chain robot, the Product of Exponentials (POE)--based on screw theory--is thought to be one of the most versatile models that can handle singularities in the popular Denavit-Hartenberg (DH) parameter model [19]. For robots with revolute joints only, each joint is parametrized by a three-dimensional (3D) unit vector indicating axis of rotation, and a 3D vector of any point on the axis line. Calibration procedures for such models rely on Circle Point Analysis (CPA) applied to 3D data acquired with laser tracker or other sensor: positioning the robot into a zero-reference configuration (i.e., where all joint angles are set to zero), and then rotating each joint one by one while keeping all other joints fixed at zero [20; 21]. Unfortunately, POE-based models do notexplicitly include zero offsets of encoder angles. Accurate estimating of zero offsets is critical because the largest contribution to the robot positioning error (97%) comes from incorrect zero offsets [22]. Performing the zero offsets calibration in CPA causes that errors in registration transformation and in the individual offsets accumulate. This may lead to inconsistent calibration results. For some poses, the calibration process reduced robot pose error seven-fold; for others, it actually increased error twofold [23]. A desired outcome of calibration is the error reduction in full pose of robot end-effector, i.e., in its position and orientation. However, both components belong to two different spaces: position is a vector in 3D space and its components have length units, like millimeters, while orientation matrix is parameterized by three angles in degrees. This causes a fundamental scaling problem when a full pose error is minimized (as discussed in [24], ad hoc introduced scaling factors put more weight either on linear or angular part of pose error and push optimizer towards different solutions). This may become a problem in commercial applications where not only position but also orientation of end-effector is important. For example, in automated drilling, a parallelism between the spindle axis and the normal axis of the drilling plate surface should be below 0.2\({}^{\circ}\)[25]. Small orientation error 0.05\({}^{\circ}\) required for automated riveting, drilling and spot welding was demonstrated by applying online pose corrections in [26].