I Introduction
Traditional robotics applications, such as pick and place, spraypainting and spotwelding, rely on the high repeatability of existing industrial robots and hence tend to overlook accuracy. However, there is an increasing number of applications (e.g. robotic ondemand fulfillment, robotic 3D printing [1], etc.) where the robot must adapt dynamically to a changing environment and hence the robot’s accuracy becomes crucial. Consider for instance the robotic drilling task in [2] where the robot is required to drill several holes at preciselydefined locations on a workpiece. The workpiece can vary for each task, and the placement within the workspace may not be precisely known. To tackle such task automatically the robot has to scan the workspace, determine the location of the workpiece, and finally move to the drilling locations, all of which have to be done accurately. The accuracy of such a system depends on at least two factors: the accuracy of the robot and the accuracy of the measurement system.
The accuracy of the robot is determined by how close the robot’s model is to the actual kinematic parameters of the robot. Robot kinematic calibration is usually conducted to achieve a higher accuracy, either by an external measurement system or by constraining the motion of the endeffector.
To improve the accuracy of the measurement system, intrinsic calibration and extrinsic calibration are often necessary. Intrinsic calibration refines the internal parameters of the measurement devices (e.g. focal length and lens distortion for camera), while extrinsic calibration refines the transformation between the measurement system and the robot coordinate system. In addition, the type of the measurement device also affects the accuracy. For example. a nearrange laser scanner commonly used in industry for workpiece profiling can achieve a very high accuracy (on the order of ). For such highaccuracy device, the intrinsic calibration is often performed by the manufacturer, so only the extrinsic calibration is required.
In [3] we proposed an earlier version of SCALAR, which we shall refer to as SCALAR in this article, to calibrate simultaneously the kinematic parameters of a 6dof robot and the extrinsic parameters of a 2D lrf using only the information provided by the lrf attached to the robot’s flange. The lrf was chosen because it costs one order of magnitude less than commonly used measurement systems (such as Vicon or FARO Laser Tracker). Moreover, it can be used during the subsequent robotic tasks. For example, the robot can move the lrf to scan the workpiece in the drilling task [2] to determine the holes’ positions accurately .
We reported the performance of SCALAR for a simulated system in [3]. During experiments with our real setup we found that since SCALAR calibrates simultaneously the robot’s and the laser’s parameters, each system, taken in isolation, is not properly calibrated. That is, neither the robot’s kinematic parameters, nor the laser’s extrinsic parameters converge to the good values, although the combined system is accurate. We did not encounter this errors during simulation but only during the experiments with the real setup. In the experiments there are multiple sources of error that perturb the calibration process and cause it to deviate from the actual values.
In this paper, we present an improvement over SCALAR, which will be called SCALAR in this article. The key idea is to introduce an additional distance constraint to the optimization problem, such that the robot’s kinematic parameters converge to good values. This distance constraint is obtained by moving a tooltip attached to the robot’s endeffector through a known distance, and recording the robot’s joint values at the beginning and the end of the movement.
The remainder of the paper is as follows. In Section II we discuss existing approaches for calibrating robot’s kinematic parameters and lrf’s extrinsic parameters. In Section III, SCALAR is explained in detail. The experimental results are presented in Section IV to verify SCALAR, and finally we conclude with a few remarks in Section V.
Ii Related works
Iia Calibration of robot’s kinematic parameters
Existing robot calibration procedures can be divided in two categories: unconstrained and constrained calibration. In unconstrained calibration, an external measurement system is required to precisely determine the pose of the robot’s endeffector. Some of the examples of unconstrained calibration works include Ye et al. [4], Ginani and Mota [5], Nubiola and Bonev [6], and Wu et al. [7], who use measurement systems such as Faro Laser Tracker, Romer Measurement Arm, and SMX Laser Tracker to calibrate the robot. There are two limitations for this type of calibration methods: the calibration setup is cumbersome and the external measurement systems are very expensive.
As alternative, several researchers have focused on developing calibration methods that rely on the sensors available in the robotic systems combined with poses restricted by preengineered constraints, i.e. constrained calibration. The constraints can be in the form of point constraints [8], surface constraints, – in [9] the authors manufactured a cylinder and used its curved surface as constraint – or, planar constraints [10, 11, 12, 13, 14, 15, 16].
In [17], Wang et al. use point constraint in the form of a ball with a known radius, and the robot moves the laser attached to it to measure the center of the ball. In [18] and [19], Liu et al. obtain the point constraint by using a laser pointer and a PositionSensitive Detector (PSD), but they only calibrate the joint offset instead of the whole robot kinematic parameters.
Ikits and Hollerbach [12] propose a kinematic calibration method using a planar constraint via a touch probe. While the approach is promising, they also report that some of the parameters are hardly observable when the measurements are noisy or when the model is incomplete. In [13], Zhuang et al. investigate robot calibration with planar constraints, in particular the observability conditions of the robot’s kinematic parameters. They prove that a singleplane constraint is insufficient for calibrating a robot’s kinematics, and a minimum of three planar constraints are necessary.
Joubair and Bonev [16] calibrate both the kinematic and nonkinematic (stiffness) parameters of a FANUC LR Mate 200iC industrial robot using planar constraints in the form of a high precision 9inches granite cube. The robot is equipped with an MP250 Renishaw touch probe, which is then moved to touch four planes of the granite cube. The granite cube’s face is flat to within mm. In another work [20], Joubair and Bonev use distance and sphere constraints in the form of a triangular plate with three 2inch spheres separated at known distance.
In [21], Choi et al. calibrate the extrinsic parameters of a multicamera system and the DH parameters of a pantilt unit (regarded as a 2dof robot manipulator) simultaneously. One of the camera is attached to the pantilt unit, and a fiducial marker is used to provide the reference frame for all the cameras. In their work, however, the focus is more about calibrating the camera system instead of the manipulator, and the manipulator used only has 2dof. In [22], the work is extended to a 5dof robot manipulator.
IiB Calibration of extrinsic 2D lrf parameters
Extrinsic calibration of an lrf consists of finding the correct homogeneous transformation from the robot coordinate frame to the laser coordinate frame. Most of the works on extrinsic calibration of an lrf involves a camera, since both sensors are often used together. The works in this field are largely based on Zhang and Pless’ work [23]. They propose a method to calibrate both a camera and an lrf using a planar checkerboard pattern. The checkerboard pattern provides the planar constraints for an optimization problem where both camera and laser parameters are optimized simultaneously using LevenbergMarquardt algorithm. Unnikrishnan and Hebert [24] use the same setup as [23], but they do not optimize the camera parameter simultaneously. Wenyu et al. [25] propose a noise tolerant algorithm using a planar disk with arbitrary orientation to calibrate the laser sensor. Li et al. [26] calibrate a 3D laser sensor using a calibration sphere.
IiC Novelty of the proposed method
SCALAR can be seen as a combination of the algorithm for extrinsic calibration of an lrf [23] and the algorithm for calibration of robot’s kinematic parameters using planar constraints [16]. In [3] we described the advantages of SCALAR over the existing methods: a) The parameters of the robot and of the laser are calibrated simultaneously, b) No expensive external measurement system is required, c) The calibration plate can be easily manufactured, and d) Calibration poses can be distributed globally in the robot’s workspace. Unlike our previous work in SCALAR [3], SCALAR uses only two planar constraints and an additional distance constraint, and the resulting robot’s kinematic parameters are more accurate.
Iii Method
The calibration setup is depicted in Fig. 1, where a flat plate is placed within the reachable robot workspace. There are two small holes on the plate separated by a known distance . An lrf and a sharp tooltip are attached to the robot flange. The calibration procedure can be divided into four steps:

The plate is moved to two () different locations. For each location, the robot is moved to poses such that the lrf’s ray is directed to the respective plate. One reading from the 2D lrf ray contains hundreds of data points, so
data points are selected randomly for each pose (after removing the outliers by standard line fitting with RANSAC), and the robot’s joint angles are recorded.

The plate is moved to additional locations. For each location, the robot is moved such that the tooltip touches the pair of holes on the plate consecutively without changing the endeffector orientation. The tooltip orientation may vary between different plate locations, but at any particular location the robot has to maintain the same orientation between the pair of holes.

A tool calibration is performed so that the position of the tooltip with respect to the robot’s flange is known.

Finally, the LevenbergMarquardt nonlinear optimization algorithm is used to calibrate the all the parameters (robot kinematic and lrf extrinsic parameters) based on the collected data.
The calibration algorithm remains largely the same as SCALAR [3], except with the addition of the distance constraint and the reduction of the plane locations from three to two locations. Hence, we will focus on the part where SCALAR differs from SCALAR.
The calibration algorithm can be described as follows. First, the initial estimate of the lrf’s extrinsic parameters are obtained using the linear leastsquares method with the data from one of the plates’s location in Step 1. This is based on the algorithm in
[23] and presented in detail in [3]. Next, the robot kinematic parameters and the lrf’s extrinsic parameters are optimized simultaneously to satisfy the planar and distance constraints using LevenbergMarquardt nonlinear optimization method. The optimization method requires the tooltip coordinates w.r.t. the robot’s flange, so the next section describes the tool calibration to obtain the tooltip coordinates accurately. Finally, we present how svd can be used to determine the identifiable calibration parameters.Iiia Optimizing the lrf Extrinsic and Robot’s Kinematic Parameters
In SCALAR [3], the optimization step uses the laser data from three planes to optimize the extrinsic parameters of the lrf, the robot’s kinematic parameters and the plane parameters – three plane equations, one for each plate location. The objective function in SCALAR is described as follows,
(1) 
The parameters consist of the following:

Robot’s kinematic parameters. We use DH parameters to represent the robot’s kinematics.

lrf’s extrinsic parameters. We use the axisangle representation for the rotation part , and for the position part.

Plane parameters. Each plane can be described by an unit vector
normal to the plate and its perpendicular distance from the robot base’s coordinate system origin .
However, based on experimental results with a real robotic system, we found that using the above objective function (1) that optimizes the combined robot kinematic parameters and the lrf extrinsic parameters based only on the planar constraints has one important issue. The combined parameters indeed show good performance minimizing the errors of the data points w.r.t. the planar constraints – they give us an accurate prediction of – but often fail to estimate accurately the actual endeffector pose, , and the lrf extrinsic parameters . In summary, the combined parameters accurately estimate the laser frame w.r.t. the base frame, , but not necessarily the robot’s endeffector frame w.r.t the base frame, .
To account for this problem, we need to add more constraints that only affect one of the two parameters sets – either the robot or the laser parameters. To achieve this, we move the robot’s endeffector between two points that have a known distance and use this as a distance constraint during the calibration optimization. The plate has a pair of holes separated at distance , and a sharp tooltip is attached on the robot’s flange. The robot is moved such that the tooltip touches the first hole, see Fig. 4 LABEL:sub@subfig:constraintsa, and the robot’s joint angles are recorded. At this configuration, the tooltip position can be computed as , where and are the position of the tooltip in the robot base and endeffector frame respectively, is the location index of the plane, and the subscript refers to the first hole. The robot is then moved to touch the second hole, see Fig. 4 LABEL:sub@subfig:constraintsb, while maintaining the same orientation, and the joint angles are recorded. The tooltip position at this second configuration can be computed as .
Since the distance between the two is known as , then the parameters have to satisfy the following constraint:
(2) 
Note that only the robot’s kinematic parameters in are affected by the additional constraint, while the laser parameters in are not affected at all. This constraint is added as an additional term to the objective function, so the objective function in SCALAR is now defined as
(3) 
where is an introduced weight to scale the contribution of the distance constraints over the planar constraints. The value of has to be carefully chosen to balance the effect of the first and the second term in the objective function. In Section IVB the optimal value of will be determined experimentally.
consists of 24 DH parameters for a 6dof robot, 7 parameters for the laser’s parameters, and 8 parameters for the plane parameters at two locations. In total, there are 39 parameters to be optimized by minimizing the objective function . The optimization problem is then solved using a LevenbergMarquardt nonlinear optimizer [27].
For the unit vector parameters and , the following constraints are added to the optimization solver,
(4) 
(5) 
IiiB Tool Calibration Procedure (Optional)
The additional distance constraint in Section IIIA contains the term , which is the tooltip coordinates in the endeffector frame. If the robot accurately maintains the tooltip orientation while touching the pair of holes, the distances travelled by the robot’s flange and the tooltip are actually the same since they are part of the same rigid body. In that case, an accurate value of is not necessary.
However, this is true under the assumption that the endeffector orientation can be kept constant between the two hole positions. This largely depends on the accuracy of the initial robot kinematic parameters. If these parameters are far from the real ones, then the endeffector orientation might actually change significantly between the two holes. In this case, the error in – computed using the initial robot kinematic parameters – will corrupt the calibration result, hence a more accurate value of will be necessary. Several methods can be used to get such accurate value, e.g. using a CoordinateMeasuring Machine to measure or using the information from the CAD models.
In this work, we use a simple calibration method to calibrate . A base plate with a small diameter hole is attached to the robot base. First the tool is oriented such that zaxis of the robot’s endeffector points to the opposite direction of the robot base’s zaxis (the vertical direction), see Fig. 8 LABEL:sub@subfig:toolcaliba, while points to the opposite of , and points to the same direction as . Next, we move the robot such that the tooltip touches the hole on the base plane, see Fig. 8 LABEL:sub@subfig:toolcalibb, while maintaining its orientation. The zcoordinate of the hole is 0, because it is located on the robot base. From the robot’s kinematics, we can also get the zcoordinate of the robot’s flange. The difference between the two will give us the zcomponent of , which is .
Next we need to find and . To do that, when the robot is at the position in Fig. 8 LABEL:sub@subfig:toolcalibb, the last joint of the robot is rotated by 180 degrees. That will cause the tooltip to move semicircularly in the horizontal plane. In Fig. 8 LABEL:sub@subfig:toolcalibc, the center of the circle is the xy coordinates of the robot’s flange, while the xy coordinates of the tooltip will traverse the circle as the last joint is rotated. Both coordinates are seen from the robot base frame ( and ). Initially, the tooltip is at point 1 (which coincides with the hole on the base plane), and the coordinate frame of the robot flange is as indicated at the center ( and ). At this position, and are the same as the x and y coordinates of the point 1 in the robot’s flange coordinate frame which are still unknown. As the last joint is rotated 180 degrees, the tooltip will move along the circle from point 1 to point 2. By calculating the shift in x and y direction between point 1 and point 2, and can be calculated. Since point 1 coincides with the hole, this shift can be measured by moving the tooltip linearly without changing orientation from point 2 to point 1 using the robot’s teaching pendant, and record the change of the robot’s tooltip position. From that we can obtain and .
In the experiment section, we will demonstrate that the accurate tool calibration is not necessary in SCALAR if the robot’s initial DH parameters are quite accurate. Hence, we use this tool calibration mainly for the validation purpose. In actual calibration practice, the user can just do a rough measurement or use the information from the CAD model to obtain the tooltip coordinates.
IiiC Identifiability of the calibration parameters
In [3] we used three plate locations for the planar constraints based on the findings of Zhuang et al. [13]. However, we realize that two planes are actually sufficient for our method of calibration, due to the fact that we are using a 2D laser, whereas [13] used a touch probe. Unlike a touch probe which only gives a single point on the robot endeffector for calibration, 2D laser data gives us multiple data points with respect to the robot’s endeffector, and these points change at different poses. This result in fewer number of planes required for the calibration. Using the identifiability analysis here, we demonstrate that two planes are indeed enough for calibrating the same set of parameters as with three planes.
Following the approach in [16] and [28], svd is applied on the identification Jacobian matrix . Let be the geometric constraint equation on the data point at the robot pose and on the plane ,
(6) 
Then can be computed by differentiating (6) for all the data points at the robot poses and for all the planes , then stack them together as a matrix, We can then apply svd to the matrix .
For this identification step, the parameters are excluded from the parameters vector , since those three parameters are dependent on other parameters, see (4) and (5). That leaves us with parameters in .
In this paper, we use a Denso VS060 6dof industrial manipulator with its DH parameters presented in the first column of Table I. The Jacobian is computed by finite difference method. Applying the identifiability analysis to the system, we found that there are 7 sets of linearly dependent parameters out of the 36 parameters. These are exactly the same sets of parameters as found in [3], although here we use two plane locations () instead of three. For each set of the linearly dependent parameters, we can assign a fix value to one of the parameters. In this case, we fix the value of the parameters [] to their initial model’s values. More details can be found in [3].
Finally, we would like to note a few things:

The reduction of the number of plane’s locations from three to two do not change the set of identifiable parameters (see [3] for the same analysis to three planes calibration). This validates our claim that two plane’s locations are sufficient for calibration using a 2D laser.

In this analysis, we only make use of the planar constraints to analyse the identifiable parameters. This means that theoretically the planar constraints are sufficient for the calibration purpose, although not practically due to the various sources of errors (laser data error, flatness error, robot’s stiffness, etc), resulting in a slight dependency between the robot’s and the laser’s parameters during optimization. Including the distance constraint in the identifiability analysis will give us the same result in terms of the set of identifiable parameters.

These results apply to most existing 6dof industrial robots whose kinematic structures are similar to our Denso robot. Moreover, the analysis can be extended to any robot with arbitrary kinematic structures.
Iv Experimental Result
The experimental setup can be seen in Fig. 1. We use the following equipment:

DENSO VS060 6dof industrial robot arm.

MicroEpsilon scanControl 2600100 2D lrf, attached on the robot’s flange. The lrf has mm optimum range and mm maximum range, with mm accuracy in its zdirection. The optimum range is used here for better accuracy.

A custom tool, attached to the robot’s flange. The diameter of the tooltip is less than mm.

A base plate, attached below the robot’s base. The plate has holes with mm diameter and mm depth.

An aluminium plate with flatness within mm. There are a pair of holes with mm diameter and mm depth on the plate. The holes are separated at mm distance with mm tolerance. is chosen to be as large as possible such that small errors in robot’s and laser’s parameters result in large tooltip distance errors.
In addition, we also use FARO Edge Arm as an additional validation tool for SCALAR. It can measure XYZ positions within mm accuracy. Note that this tool is only used to further validate SCALAR, and it is not required in the actual calibration procedure.
The calibration procedure during the experiment is as follows. First, the aluminium plate is placed at two different locations in the robot’s workspace. For each location, the robot is moved to different poses such that the lrf’s ray intersects the plate at each pose. The robot’s joint angles and the laser data are recorded. This gives us 100 poses, 60 of which will be used for calibration (as proposed in [3]) while the remaining 40 poses are used for validation. The value of is chosen as 40.
Next, the plate is moved to 50 different locations, and the robot is moved such that the tooltip touches the pair of holes on the plate consecutively without changing orientation. The robot’s joint angles are recorded. This gives us 50 pair of joint angles, 15 of which will be used for calibration and 35 will be used for validation.
Finally, the tooltip position is calibrated using the hole at the base plate, as explained in Section IIIB.
The following subsections will be as follows. Section IVA explains the three methods for validating the calibration result. In Section IVB the optimal value for is determined experimentally. Section IVC presents the general result obtained by SCALAR. In Section IVD, Section IVE, and Section IVF, we compare the performance of SCALAR against three other cases:

Nominal DH. In this case, we run the whole calibration procedure, but we only optimize the laser parameters and the plane parameters while keeping the DH parameters to the nominal value, which is obtained from the manufacturer.

Noisy DH. Similar to the Nominal DH, but here we fix the noisy (instead of nominal) DH parameters while optimizing all the other parameters. The noisy DH parameters are generated by introducing random errors to the nominal DH parameters within the range of mm for linear parameters and degrees for angular parameters.

SCALAR. In this case, we use only the planar constraint in the objective function as in [3].
In Section IVG, we analyse the effect of the tool calibration error to the SCALAR calibration result. We claim that the tool calibration does not need to be very accurate in order for SCALAR to yield a good result. This means that we can even skip the tool calibration and just use the nominal tooltip parameters from the CAD model or some rough measurement. Finally, in Section IVH we discuss some of the interesting points from the experimental results.
Iva Validation Method
In this paper, the planar error is defined as the error of the laser data points with respect to the plane, and can be calculated by the following formula,
(7) 
The tooltip distance error is defined as the difference between the distance travelled by the tooltip when it touches the pair of holes according to the DH parameters and according to the known value (), and it is calculated by the following formula,
(8) 
The planar error and the tooltip distance errors will be used for validating the calibration method.
The validation using the tooltip distance error involves only the tooltip and the holes on the plate, so it does not require additional equipment. However, the certainty provided by this validation method is limited by the size of the holes and by how much the human eye can differentiate the tooltip position. To validate the calibration result with more certainty, we use a FARO Edge Arm as the third validation method. The device can measure its endpoint very accurately within mm. The endpoint is rigidly attached to the robot’s flange, as depicted in Fig. 9. The validation process here is similar to the second method with the tooltip; the robot is moved to two different poses without changing the orientation. The distance between the two poses, , is measured by the FARO arm, and it is compared with the distance calculated based on the DH parameters. FARO distance error is defined as
(9) 
where and refer to the two poses of endeffector with the same orientation and refers to the zero position vector (the origin of the endeffector frame).
We use the mean, the standard deviation, and the maximum of
, , and to validate the proposed calibration method. For validation, we use 40 poses at two plate’s locations for the calculation of , 35 plate’s locations for and 50 pair of robot poses for .Parameter  Nominal  Noisy  SCALAR  SCALAR+ 

0.00  0.00  0.00  0.00  
0.00  0.00  0.00  0.00  
0.00  0.00  0.00  0.00  
345.00  345.00  345.00  345.00  
90.00  90.17  89.94  89.92  
0.00  2.00  0.05  0.17  
90.00  89.56  90.01  89.97  
0.00  0.79  0.79  0.79  
0.00  0.71  0.01  0.01  
305.00  303.75  305.42  305.07  
90.00  89.18  90.01  90.01  
0.00  0.62  1.04  1.01  
90.00  89.79  89.95  89.97  
10.00  10.32  9.82  9.83  
0.00  1.57  0.15  0.15  
300.00  300.74  300.05  299.61  
90.00  90.59  89.96  89.97  
0.00  1.89  0.25  0.22  
0.00  0.76  0.04  0.03  
0.00  0.68  0.37  0.24  
90.00  90.00  89.94  89.96  
0.00  0.00  0.04  0.08  
0.00  0.00  0.00  0.00  
70.00  70.00  70.00  70.00  
127.50  127.50  125.46  125.26  
33.00  33.00  33.92  34.04  
101.50  101.50  99.35  99.01  
0.00  0.00  0.00  0.00  
0.00  0.00  0.00  0.00  
1.00  1.00  1.00  1.00  
3.14  3.14  3.13  3.13  
0.00  0.00  0.01  0.01  
0.00  0.00  0.04  0.04  
1.00  1.00  1.00  1.00  
0.00  0.00  83.97  84.17  
0.00  0.00  0.01  0.01  
1.00  1.00  1.00  1.00  
0.00  0.00  0.00  0.00  
600.00  600.00  819.79  818.91 
Parameter  Planar Errors  Tooltip Distance Errors  Faro Distance Errors  

Mean  Std  Max  Mean  Std  Max  Mean  Std  Max  
Nominal DH  0.53  0.58  1.13  0.741  0.736  1.424  0.44  0.34  1.4 
Noisy DH  3.92  3.96  7.76  3.25  3.73  7.51  2.67  1.70  8.97 
SCALAR  0.20  0.22  0.46  0.664  0.608  1.338  0.34  0.26  1.45 
SCALAR  0.23  0.25  0.59  0.24  0.27  0.50  0.19  0.13  0.50 
IvB Determining the weight
The weight in the SCALAR objective function (3) determines the relative effect of the additional distance constraints term in the optimization. If is too small, the distance term will be dominated by the planar term, and the objective function will be reduced to the SCALAR objective function (1). If is too large, the distance term will dominate and the optimization result will be suboptimal. To determine the optimal value of , the optimization is run while varying the value of , and the result is compared in terms of the planar error and the tooltip distance error. Fig. 12 LABEL:sub@subfig:plane and Fig. 12 LABEL:sub@subfig:point show the effect of to the planar error and the tooltip distance error, respectively. Note that when the value of is small, the planar error is small but the tooltip distance error is large (this corresponds to SCALAR result). As is increased, the planar error increases slightly but the tooltip distance error decreases, with its lowest point around = 0.31. As is increased further, both the planar error and the tooltip distance error increase. Hence, = 0.31 is chosen as the optimal weight for all subsequent experiments.
IvC General Result
Table I shows the comparison between the nominal parameters, the noisy parameters, and the calibrated parameters from SCALAR and SCALAR. The noisy parameters are used as the initial values for SCALAR and SCALAR. It can be seen from the table that although the noisy DH parameters are far from the nominal ones, SCALAR and SCALAR calibrate the DH parameters to be very close to the nominal ones. This is important because the nominal DH Parameters are already quite accurate (as will be shown in the following sections). On the contrary, the calibrated plane parameters are very different from the nominal and noisy ones, which demonstrate that accurate initial estimate of the plane parameters are not required in SCALAR.
After calibration, SCALAR results in mm mean planar error, mm mean tooltip distance error, and mm mean FARO distance error, which are better than the Nominal DH and SCALAR case. The optimization converges in less than 15 iterations with the total residual (Eq. 3) less than .
Hayati et al. [29] established that in the case of two parallel consecutive joints, the DH parameters are singular w.r.t. calibration. This means that a slight shift from the parallel configuration in the actual joint location results in large changes to the singular DH parameters. The second and third joint of the robot are parallel in our case, so this case should be considered as singular. Several ways have been proposed to account for this singularity, including [29]. However, we realized that by fixing the parameter (as a result of the identifiability analysis in Section IIIC), the singularity problem actually disappears. Fixing corresponds to forcing the location of the second joint to be near the original location, preventing the other set of DH parameters to change significantly. We also tried using the modified DH parameters [29], and the results that we obtained are similar to the ones presented here with standard DH parameters.
IvD Comparison of Planar Errors
The first three columns of Table II show the the planar error comparison. While Noisy DH gives very large errors, SCALAR and SCALAR improve the parameters such that the errors are even better than the Nominal DH. This demonstrates that both methods are able to improve the parameters of the robot and the laser as a whole such that the prediction of the laser data position can be obtained accurately. SCALAR has slightly better result as compared to SCALAR, which is expected since the only objective function in SCALAR is the planar error.
IvE Comparison of Tooltip Distance Errors
The middle columns of Table II show the the tooltip distance error comparison. SCALAR has the lowest errors, while SCALAR has similar errors compared to the Nominal DH. To explain this, note that the tooltip distance error only depends on the robot’s kinematic parameters and not on the laser parameters. This demonstrates that although SCALAR can optimize the combined robot kinematic parameters and laser parameters to achieve good estimates for the laser data points w.r.t. the robot’s base frame, the robot kinematic parameters and the laser’s extrinsic parameters, independently, are not optimal. In other words, SCALAR modifies the kinematic parameters and the laser parameters such that the combination minimizes the planar error, but the kinematic parameters by itself do not predict properly the robot’s endeffector pose. By adding the distance constraint to the objective function in SCALAR, the endeffector pose is predicted more accurately.
IvF Comparison of FARO Distance Error
To further validate the calibration result, we use the FARO arm to measure the distance travelled by the robot’s endeffector. In contrast to Section IVE, here the distance is not constant. The measured distance is then compared with the calculated distance based on the DH parameters, which gives us the FARO distance error. The comparison result is shown in the last three columns of Table II. The noisy DH parameters give very high errors w.r.t. the FARO measurement, with mm as the maximum error. The mean error of the nominal DH parameters is low, around mm, but the maximum error is up to mm. SCALAR only improves the mean and standard deviation of the error to be slightly better as compared to the nominal parameters. In contrast, SCALAR manages to improve the mean, standard deviation, and maximum error significantly.
Here we emphasize that the conclusions obtained by looking at FARO distance error and at tooltip distance error are very similar: SCALAR outperforms SCALAR in improving the robot’s endeffector pose prediction. This shows that at the absence of expensive equipment such as FARO arm, the calibration and its validation can still be performed with good confidence.
IvG Effect of the tooltip calibration error
In this section, we demonstrate that accurate tooltip calibration is not necessary for SCALAR to successfully improve the kinematic and laser parameters. To do that, we consider the calibrated tooltip coordinates, see Section IIIC, to be the true tooltip coordinates, and we introduce errors separately to the x, y, and z coordinates of the tooltip, ranging from mm to mm. The modified tooltip coordinates are used in SCALAR for calibration. The calibrated kinematic parameters are then validated against the FARO measurement by calculating the FARO distance errors such as in Section IVF.
Fig. 13 show the effect of the tooltip coordinates error in x, y, and z coordinate to the FARO distance error. It is clear that the errors in tooltip coordinates do not affect the FARO distance error significantly. This is due to the fact that when the robot is moved to touch the pair of holes on the plate, we keep the orientation of the robot constant, at least according to the initial DH parameters. When the orientation is constant, the distance travelled by the robot flange is the same as the distance travelled by the tooltip, or any point which is rigidly attached to the robot’s flange. This means that the tooltip coordinates do not affect the tooltip distance error at all.
However, it is important to note that in practice when we move the robot to touch the pair of holes, we usually depend on the robot’s teach pendant to maintain the constant orientation of the robot. Since the robot’s teach pendant uses the nominal DH parameters which have some errors, the actual orientation may actually change between the two robot poses, even though the teach pendant shows the two orientations to be the same. If the actual change in orientation is large, the tooltip coordinates errors can have a significant effect on the calibration result. The change in orientation will be propagated by the tooltip coordinate error to result in the tooltip position error. In such cases, tooltip calibration is necessary.
To evaluate the effect of orientation errors on the tooltip position, we can use a simple trigonometry equation which relates the magnitude of an angle to the length of an arc,
(10) 
where is the change in tooltip position, is the change in tooltip orientation, and is the error in tooltip coordinates. From this formula, given the initial robot orientation accuracy and the acceptable error in tooltip position, we can calculate the tolerable tooltip coordinate errors. For example, if the negligible change in tooltip position is mm, and the error in robot orientation is rad ( degrees), the acceptable error in tooltip coordinates is mm. This means that mm errors in tooltip coordinates will only result in mm error of the tooltip position for a robot with orientation accuracy around degree.
IvH Discussion
Based on the experiments that we conducted, we note the followings:

The laser accuracy depends on the plate’s surface. Our plate is made of aluminium, which gives quite a lot of noise to the laser data (within the range of mm). If the plate can be made of other materials with less specularity, the calibration result can be further improved.

The validation using the holes on the plate give us similar result to the validation using FARO Edge Arm. This means that in practice we can rely on the validation using the holes with confidence.

The addition of tooltip errors to the objective function indeed results in more inconvenience, as the data collection for this step requires manual intervention. However, only 15 pair of points are required for calibration, so the manual step can be completed quite fast (typically within 1015 minutes). In addition, the distance constraint is not necessary if we only want to calibrate one of the two parameters set (either the robot’s the laser’s parameters)

Instead of using 2D lrf, it is possible to use two or more pieces of 1D lrf which are rigidly attached to the robot. This will cost even cheaper as compared to 2D lrf, although more calibration poses might be necessary.

We demonstrate that using two plate’s locations instead of three is sufficient. The calibration algorithm can use more plate’s locations so that the range of the workspace explored by the calibration is extended, but we found that the result using more plate’s locations is similar to that obtained by two plate’s locations.

In this work we do not try to find the optimal set of calibration poses, but instead rely on the random poses to cover the robot’s configuration space. There are a lot of methods that have been proposed to find such an optimal set, e.g. using the singular values of the Jacobian or the information matrix (
[28],[30]). [31] use the parameters covariance matrix to determine the nextbestpose.
V Conclusions
In this paper, we have proposed SCALAR, a novel method to calibrate simultaneously a 6dof industrial robot’s kinematic parameters and a 2D lrf extrinsic parameters. SCALAR has been shown to be an improvement over our previous method (SCALAR), since it finds the optimal parameters for each set (robot and laser). SCALAR reduces the mean planar errors from mm to around mm, the mean tooltip distance errors from mm to mm, and the FARO distance errors from mm to mm. The proposed method is inexpensive and convenient, as it does not require expensive external measurement systems or an elaborated calibration setting.
Acknowledgment
This work was supported by SMART Innovation Grant NG000074ENG, NTUitive Gap Fund NGF201601028, by National Research Foundation, Prime Minister’s Office, Singapore, under its MediumSized Centre funding scheme, and by MEMMO project (Memory of Motion, http://www.memmoproject.eu/), funded by the European Commission’s Horizon 2020 Programme (H2020/201820) under grant agreement 780684.
References
 [1] X. Zhang, M. Li, J. H. Lim, Y. Weng, Y. W. D. Tay, H. Pham, and Q.C. Pham, “Largescale 3d printing by a team of mobile robots,” Automation in Construction, vol. 95, pp. 98–106, 2018.
 [2] F. SuárezRuiz, T. Santoso Lembono, and Q.C. Pham, “RoboTSP – A Fast Solution to the Robotic Task Sequencing Problem,” in IEEE Int. Conf. on Robotics and Automation, 2018.
 [3] T. S. Lembono, F. SuárezRuiz, and Q. C. Pham, “SCALAR  Simultaneous Calibration of 2D Laser and Robot’s Kinematic Parameters Using Three Planar Constraints,” in IEEE/RSJ Int. Conf. on Intelligent Robots and Systems, 2018.
 [4] S. H. Ye, Y. Wang, Y. J. Ren, and D. K. Li, “Robot calibration using iteration and differential kinematics,” Journal of Physics: Conference Series, vol. 48, no. 1, pp. 1–6, 2006.
 [5] L. S. Ginani and J. M. S. T. Motta, “Theoretical and practical aspects of robot calibration with experimental verification,” Journal of the Brazilian Society of Mechanical Sciences and Engineering, vol. 33, no. 1, pp. 15–21, 2011.
 [6] A. Nubiola and I. A. Bonev, “Absolute calibration of an ABB IRB 1600 robot using a laser tracker,” Robotics and ComputerIntegrated Manufacturing, vol. 29, no. 1, pp. 236–245, 2013.
 [7] L. Wu and H. Ren, “Finding the Kinematic Base Frame of a Robot by HandEye Calibration Using 3D Position Data,” IEEE Transactions on Automation Science and Engineering, vol. 14, no. 1, pp. 314–324, 2017.
 [8] C. S. Gatla, R. Lumia, J. Wood, and G. Starr, “An automated method to calibrate industrial robots using a virtual closed kinematic chain,” IEEE Transactions on Robotics, vol. 23, no. 6, pp. 1105–1116, 2007.
 [9] Y.J. Chiu and M.H. Perng, “Selfcalibration of a general hexapod manipulator using cylinder constraints,” International Journal of Machine Tools and Manufacture, vol. 43, pp. 1051–1066, 2003.
 [10] X. L. Zhong and J. M. Lewis, “New method for autonomous robot calibration,” IEEE Int. Conf. on Robotics and Automation, vol. 2, pp. 1790–1795, 1995.
 [11] X. L. Zhong, J. M. Lewis, and F. L. N. Nagy, “Autonomous robot calibration using a trigger probe,” Robotics and Autonomous Systems, vol. 18, no. 4, pp. 395–410, 1996.
 [12] M. Ikits and J. Hollerbach, “Kinematic calibration using a plane constraint,” IEEE Int. Conf. on Robotics and Automation, vol. 2, no. 4, pp. 3191–3196, 1997.
 [13] Z. Hanqi, S. Motaghedi, and Z. Roth, “Robot calibration with planar constraints,” IEEE Int. Conf. on Robotics and Automation, vol. 1, pp. 1–25, 1999.
 [14] T. Zilong, N. Zhanhai, and L. Xinggang, “Autonomous calibration research of polishing robot,” Proceedings of the World Congress on Intelligent Control and Automation (WCICA), vol. 2, pp. 8938–8942, 2006.
 [15] H. Hage, P. Bidaud, and N. Jardin, “Practical consideration on the identification of the kinematic parameters of the St¨aubli TX90 robot,” World, pp. 19–25, 2011.
 [16] A. Joubair and I. A. Bonev, “Nonkinematic calibration of a sixaxis serial robot using planar constraints,” Precision Engineering, vol. 40, pp. 325–333, 2015.
 [17] W. Wang, A. Li, and D. Wu, “Robot calibration by observing a virtual fixed point,” in IEEE International Conference on Robotics and Biomimetics (ROBIO), Dec 2009, pp. 1351–1355.
 [18] Y. Liu, N. Xi, G. Zhang, X. Li, H. Chen, C. Zhang, M. J. Jeffery, and T. A. Fuhlbrigge, “An automated method to calibrate industrial robot joint offset using virtual linebased singlepoint constraint approach,” in IEEE/RSJ Int. Conf. on Intelligent Robots and Systems, 2009, pp. 715–720.
 [19] Y. Liu and N. Xi, “Lowcost and automated calibration method for joint offset of industrial robot using singlepoint constraint,” Industrial Robot, vol. 38, no. 6, pp. 577–584, 2011.
 [20] A. Joubair and I. A. Bonev, “Kinematic calibration of a sixaxis serial robot using distance and sphere constraints,” The International Journal of Advanced Manufacturing Technology, vol. 77, no. 14, pp. 515–523, 2015.
 [21] C. L. Choi, J. Rebello, L. Koppel, P. Ganti, A. Das, and S. L. Waslander, “Encoderless gimbal calibration of dynamic multicamera clusters,” in IEEE Int. Conf. on Robotics and Automation, May 2018, pp. 2126–2133.
 [22] A. Das, “Informed data selection for dynamic multicamera clusters,” Ph.D. dissertation, University of Waterloo, 2018.
 [23] Qilong Zhang and R. Pless, “Extrinsic calibration of a camera and laser range finder (improves camera calibration),” in IEEE/RSJ Int. Conf. on Intelligent Robots and Systems, vol. 3, 2004, pp. 2301–2306.
 [24] R. Unnikrishnan and M. Hebert, “Fast Extrinsic Calibration of a Laser Rangefinder to a Camera,” Robotics, 2005.
 [25] W. Chen, J. Du, W. Xiong, Y. Wang, S. Chia, B. Liu, J. Cheng, and Y. Gu, “A NoiseTolerant Algorithm for RobotSensor Calibration Using a Planar Disk of Arbitrary 3D Orientation,” IEEE Transactions on Automation Science and Engineering, vol. 15, no. 1, pp. 251–263, 2018.
 [26] Y. Li, W. Zhang, J. Cao, J. Peng, B. Jiang, and L. Wang, “3D laser scanner calibration method based on invasive weed optimization and LevenbergMarquardt algorithm,” in IEEE Int. Conf. on Automation Science and Engineering, 2017, pp. 1280–1285.
 [27] M. Newville, T. Stensitzki, D. B. Allen, and A. Ingargiola, “LMFIT: NonLinear LeastSquare Minimization and CurveFitting for Python,” 2014.
 [28] J. M. Hollerbach and C. W. Wampler, “The calibration index and taxonomy for robot kinematic calibration methods,” International Journal of Robotics Research, vol. 15, no. 6, pp. 573–591, 1996.
 [29] S. Hayati and M. Mirmirani, “Improving the absolute positioning accuracy of robot manipulators,” Journal of Robotic Systems, vol. 2, no. 4, pp. 397–413, 1985.
 [30] G. Xiong, Y. Ding, L. Zhu, and C.Y. Su, “A productofexponentialbased robot calibration method with optimal measurement configurations,” International Journal of Advanced Robotic Systems, vol. 14, no. 6, 2017.
 [31] J. Rebello, A. Das, and S. Waslander, “Autonomous active calibration of a dynamic camera cluster using nextbestview,” in IEEE/RSJ Int. Conf. on Intelligent Robots and Systems, 2017, pp. 1484–1489.
Comments
There are no comments yet.