# Robot Calibration for Cooperative Process under Typical Installation

Authors: Yahui Gan; Xianzhong Dai; Donghui Dong
Journal: Journal of Applied Mathematics
 (2014)

---

## Abstract

A method with easy operation procedure and simple calibration condition is presented in this paper to solve the
base frame calibration problem for cooperative robots. It is carried out through constructing a series of handclasp
configurations and recording coordinates of the contact points, respectively, in base frame of each robot. Then the rotation
matrix and translation matrix between base frame of cooperative robots can be calculated which is just the calibration
result for cooperative robots. Based on typical installation mode for industrial robot, the floor mounted, wall mounted
and ceiling mounted, constraints between base frames of these robots are further explored. These constraints are
used to improve the calibration results for base frame calibration problem. In order to validate the correctness and
effectiveness of our method, experiments on two industrial robots (Motoman VA1400 and HP20) are carried out at the
end of the paper. The calibration errors are less than 8 mm in most cases, which satisfies the requirement of positioning
accuracy for most industrial process, such as arc welding, transporting, and cutting. These experiment results assert the
correctness of our method which can be used effectively to solve the base frame calibration problem for cooperative
robots in manufacturing process.


---

## Body

## 1. Introduction

Cooperative robot system is a hot topic in robotics and much literature has been reported in this field. A multiple robot system surpasses a single robot system greatly in terms of flexibility and versatility in task execution. Particularly, multiple robot cooperation is required if we are to assemble and manipulate parts without the aid of fixtures or jigs or if we to smoothly transfer heavy and voluminous objects from one place to another. In the case of cooperation control between two robots, one robot must be informed of the position and orientation of the other robots. Therefore, robot base frame between one and another must be calibrated out before the cooperation starts. This paper aims at presenting an effective solution to such a problem of base frame calibration between two cooperative robots.“Base frame calibration, which is to determine the relative translation and rotation between base frames of two cooperative robots, is a challenging and basic problem for multiple robot system. A direct measurement is unaccessible because origins of the robot base frames are out of reach. Calibrations for an individual robot have already been investigated extensively and many effective methods have been developed [1–3]. Nevertheless, few researches have been made on calibration problem between two robots. Reference [4] proposed a passive base frame calibration method for two cooperative industrial robots by using a series of “peg-into-hole” manipulations to set up the calibration equation as A
X
=
X
B. The calibration accuracy depends on how precisely the peg aligned with the hole, which is monitored and adjusted manually by human operator. Through a hand-mounted vision sensor, a more human-independent calibrating approach for dual robots system is presented in [5]. It takes advantage of relative motion between the robot end-effectors which can be recorded by the vision sensor to calculate the transformation relation between the base frames of dual robots. However, vision sensor parameters and their mounted postures are required for calculation of the transformation. Therefore, calibration result would be poor if these prerequisites were unprecise. Reference [6] introduced another calibration method based on Direct Linear Transformation using two CCD (Charge Coupled Device) cameras for cooperative industrial robots. Without knowing the mounting information of the cameras, it just uses a set of motions commanded to each manipulator. By detecting the motion with the cameras, relative rotation and translation between base frames of the two robots can be obtained. A simpler but more effective calibration method is presented in [7]. It uses only two calibration plates which are inexpensive to manufacture and requires no other measuring instrument. Only by forming the cooperative manipulators into a closed chain, commanding them to move through a set of postures and recording the joint information, the calibration problem can be formulated as a nonlinear optimization problem.” (This paragraph is cited from our previously published paper in [8]. It has been included in this paper just for integrity reason.)In one of our previous works [8], a new calibration method based on handclasp manipulation is proposed. This method uses only a series of handclasp manipulations and their corresponding joint information to calculate the transformation relation between base frames of the cooperative robots. No external calibration apparatus or elaborate setups are needed. Great advantages of this method are the easy operational procedure and simple calibrating condition, which makes it quite feasible for use in manufacturing field, whereas the calibration problem considered in [8] is a generic form. For industrial process, robot base installation has strong characteristics. These characteristics can be described by a concept of robot installation angle. Definite constraints exist between robot installation angle for typical installed robots. Considering these constraints, the calibration results in [8] can be greatly improved for typical installed robots. Therefore, further research has been conducted to improve the calibration accuracy of our previously proposed calibration method. Focus of the innovation in this paper lies in that constraints between robot installation angles for typical installed robots have been involved in the calibration process, which improves the calibration accuracy a lot. Remainder of this paper is organized as follows. Section 2 introduces theoretical analysis of the improved method for robot base calibration. Section 3 presents the calibration procedure of this method. In addition to the method introduction, calibration experiments for two cooperative industrial robots are presented in Section 4. Concluding remarks follow in Section 5.


## 2. Method of the Calibration

### 2.1. Robot Installation Angle

In applications with a single robot, the world system is usually chosen in the base of the robot. Yet, when several robots work together in a task, it is beneficial to use a world system independent of the individual robots. To enable this, the path controller has to manage the position of the individual robots in the world system by defining a separate robot base frame.For most industrial applications, only three installation types exist for the robot base mounting, which is called floor mounted, wall mounted, and ceiling mounted. For quantitative descriptions of the aforementioned robot base installation types, concept of robot installation angle is defined as follows.Definition 1.
As shown in Figure1, the installation angle is defined as the joint θ between axis-X of robot base frame and the ground level line.Figure 1
Robot base installation angle.Since the definition of robot base frame has a unique form in industry standard [9], the above definition of the robot installation angle is invariant with respect to the robot’s front and rear. For further illustration, examples of typical installation angle are shown in Figure 2.Figure 2
Examples of typical installation angle.By the definition of robot installation angle, a floor mounted robot has an installation angle of0
°, a wall mounted robot has an installation angle of -
9
0
° or 9
0
°, and a ceiling mounted robot has an installation angle of 18
0
°. Introducing these values to base frame calibration between typical installed robots, the calibration results will be improved greatly compared with the calibration results presented in [8].


### 2.2. Calibration of Generally Installed Cooperative Robots

In [8], we proposed a base frame calibration method for generally installed cooperative robots. Principle of the calibration method in [8] is used as the development basis for this paper.For two cooperative robots as shown in Figure3, F
b
1 is the base frame system for robot Motoman VA1400 and F
b
2 is the base frame system for robot Motoman HP20. These two robots form a handclasp configuration in Figure 3 with measuring tips mounted at the end of each robot. Let the homogenous matrix H
b
2
b
1
∈
ℝ
4
×
4 be the relative position and orientation between these two robots. H
b
2
b
1 can be calibrated by 4 handclasp manipulations as shown in Figure 3.Figure 3
Handclasp manipulation for two cooperative industrial robots Motoman VA1400 and HP20.Reference [8] presents basic forms of the base frame calibration equations for two cooperative robots. Those equations are generic forms. For typical installed robots, those equations can be refined to improve the calibration results as discussed in the next part of the paper.


### 2.3. Calibration Equations for Typical Installed Robot

In this paper, only three types of the robot base installation are considered, which are floor mounted, wall mounted, and ceiling mounted. Thereafter, only three types of the robot base calibration problems are considered here, which are calibration of a floor mounted robot to a floor mounted robot, calibration of a floor mounted robot to a wall mounted robot, and calibration of a floor mounted robot to a ceiling mounted robot. Although the resulting classification is not exhaustive, it covers most cases of the industrial applications.


#### 2.3.1. Calibration of a Floor Mounted Robot Relative to a Floor Mounted Robot

As shown in Figure4, a floor mounted robot is carrying out the handclasp manipulation with a floor mounted robot. By the above introduced method, relative position and orientation between base frames of the two robots can be calibrated. Theoretically speaking, the rotation matrix for orientation between the two base frames must be orthogonal and normalized, whereas the solution cannot ensure this characteristic, because resolution of transducer for robot joint positions is limited and error exists in system modeling. Therefore, an orthonormalization procedure is necessary to refine the calibrated result for frame rotation.Figure 4
Handclasp manipulation between a floor mounted robot and a floor mounted robot.The criterion for rotation matrix orthonormalization is that modification made on frame rotationR
b
2
b
1 must be the least. The Frobenius norm of matrix A is adopted to evaluate the difference between two matrices, which is
(1)
∥
A
∥
F
=
(
∑
i
=
1
m
‍
∑
j
=
1
n
‍
|
a
i
j
|
2
)
1
/
2
,
where A is an m
×
n matrix, A
m
×
n
=
(
a
i
j
)
m
×
n. By the Frobenius norm, a cost function for the orthonormalization can be defined as
(2)
J
=
∥
R
-
b
1
R
b
2
∥
F
2
s
.
t
.
R
·
R
T
=
I
3
×
3
,
R
∈
ℝ
3
×
3
.
The Frobenius distance between R and R
b
2
b
1 is adopted as the cost function because each element difference will contribute to the increase of matrix distance. The Frobenius norm is much more sensitive to the element variation than other matrix norms. When J is minimized, it means that each element variation between R and R
b
2
b
1 is averagely minimized. Let R
b
2
*
b
1 be the orthonormalized result; we have
(3)
J
(
R
b
2
*
b
1
)
=
min
⁡
R
·
R
T
=
I
3
∥
R
-
b
1
R
b
2
∥
F
2
.
Equation (3) means orthonormal matrix R
b
2
*
b
1 is the optimal Frobenius norm approximation for preliminary solution R
b
2
b
1.For the calibration case in Figure4, relative orientation between the two cooperative robots exists in the form of a rotation around axis-Z of the robot base frame. Since the two robots have the same installation angle of 0
∘, rotation matrix between their base frames F
b
1 and F
b
2 will be
(4)
Rot
(
Z
,
θ
)
=
[
cos
⁡
θ
-
sin
θ
0
sin
θ
cos
⁡
θ
0
0
0
1
]
,
where θ is an arbitrary angle.Letα
=
cos
⁡
θ
,
β
=
sin
θ; then α
2
+
β
2
=
1. Substituting α
,
β into (2) yields
(5)
J
=
∥
Rot
(
Z
,
θ
(
α
,
β
)
)
-
b
1
R
b
2
∥
F
2
s
.
t
.
α
2
+
β
2
=
1
.
Equation (5) can be viewed as a mathematical optimization problem, which is to find the minimum of a multivariable function J subject to constraint α
2
+
β
2
=
1. The method of Lagrange multipliers [10] provides an effective strategy for solving these problems. Define the Lagrangian function as
(6)
J
=
∥
Rot
(
α
,
β
)
-
b
1
R
b
2
∥
F
2
+
λ
(
α
2
+
β
2
-
1
)
.
Let the preliminary calibration result R
b
2
b
1 be
(7)
R
b
2
b
1
=
[
n
x
o
x
a
x
n
y
o
y
a
y
n
z
o
z
a
z
]
.
Substituting (7) into (6) and expanding the function J yields
(8)
J
=
∥
Rot
(
α
,
β
)
-
b
1
R
b
2
∥
F
2
+
λ
(
α
2
+
β
2
-
1
)
=
(
α
-
n
x
)
2
+
(
-
β
-
o
x
)
2
+
a
x
2
+
(
β
-
n
y
)
2
+
(
α
-
o
y
)
2
+
a
y
2
+
n
z
2
+
o
z
2
+
(
1
-
a
z
)
2
+
λ
(
α
2
+
β
2
-
1
)
.Minimizing the functionJ (8) with respect to α
,
β, and λ, we obtain(9)
∂
J
∂
α
=
2
(
α
-
n
x
)
+
2
(
α
-
o
y
)
+
2
λ
α
=
0
,
∂
J
∂
β
=
2
(
β
+
o
x
)
+
2
(
β
-
n
y
)
+
2
λ
β
=
0
,
∂
J
∂
λ
=
α
2
+
β
2
-
1
=
0
.
Unique solution exists for (9); that is,
(10)
λ
=
(
n
x
+
o
y
)
2
+
(
n
y
-
o
x
)
2
-
2
,
α
=
n
x
+
o
y
(
n
x
+
o
y
)
2
+
(
n
y
-
o
x
)
2
,
β
=
n
y
-
o
x
(
n
x
+
o
y
)
2
+
(
n
y
-
o
x
)
2
.Afterα
,
β
,
λ are obtained, we have the refined calibration result for rotation as(11)
b
1
R
b
2
*
=
Rot
(
α
,
β
)
=
[
n
x
+
o
y
(
n
x
+
o
y
)
2
+
(
n
y
-
o
x
)
2
-
n
y
-
o
x
(
n
x
+
o
y
)
2
+
(
n
y
-
o
x
)
2
0
n
y
-
o
x
(
n
x
+
o
y
)
2
+
(
n
y
-
o
x
)
2
n
x
+
o
y
(
n
x
+
o
y
)
2
+
(
n
y
-
o
x
)
2
0
0
0
1
]in whichR
b
2
*
b
1 is the orthonormalized and refined calibration result for rotation matrix. Thereafter, the translation vector also needs to be recalculated, which is
(12)
b
1
T
b
2
*
=
1
4
[
(
P
1
b
1
-
b
1
R
b
2
*
·
P
1
b
j
)
+
(
P
2
b
1
-
b
1
R
b
2
*
·
P
2
b
2
)
+
(
P
3
b
1
-
b
1
R
b
2
*
·
P
3
b
2
)
+
(
P
4
b
1
-
b
1
R
b
2
*
·
P
4
b
2
)
]
.Equations (11) and (12) are developed form of the calibration equations in [8], which will lead to more accurate calibration results compared with other methods as presented in [8].


#### 2.3.2. Calibration of a Floor Mounted Robot Relative to a Wall Mounted Robot

As shown in Figure5, a floor mounted robot is carrying out the handclasp manipulation with a wall mounted robot. For the calibration case in Figure 5, relative orientation between the two cooperative robots exists in the form of 3 successive rotations.Figure 5
Handclasp manipulation between a floor mounted robot and a wall mounted robot.(I) A rotation of angleα for Robot HP20 around axis-Z of the robot base frame F
b
2 to make axis-Y of F
b
2 horizontal, which is
(13)
Rot
(
Z
,
α
)
=
[
cos
⁡
α
-
sin
α
0
sin
α
cos
⁡
α
0
0
0
1
]
.(II) A rotation of-
9
0
° for Robot HP20 around axis-Y of the robot base frame F
b
2 to make axis-Z of F
b
2 vertical to the ground, which is
(14)
Rot
(
Y
,
-
9
0
°
)
=
[
cos
⁡
(
-
9
0
°
)
0
sin
(
-
9
0
°
)
0
1
0
-
sin
(
-
9
0
°
)
0
cos
⁡
(
-
9
0
°
)
]
=
[
0
0
-
1
0
1
0
1
0
0
]
.(III) A rotation of angleβ for Robot HP20 around axis-Z of the robot base frame F
b
2 to make axis-X of F
b
2 stretch along the same direction as axis-X of F
b
1, which is
(15)
Rot
(
Z
,
β
)
=
[
cos
⁡
β
-
sin
β
0
sin
β
cos
⁡
β
0
0
0
1
]
.By (13), (14), and (15), we have the rotation matrix between robot base frame F
b
1 and F
b
2 as
(16)
R
(
α
,
β
)
=
Rot
(
Z
,
β
)
·
Rot
(
Y
,
-
9
0
°
)
·
Rot
(
Z
,
α
)
=
[
cos
⁡
β
-
sin
β
0
sin
β
cos
⁡
β
0
0
0
1
]
·
[
0
0
-
1
0
1
0
1
0
0
]
·
[
cos
⁡
α
-
sin
α
0
sin
α
cos
⁡
α
0
0
0
1
]
=
[
0
-
sin
β
-
cos
⁡
β
0
cos
⁡
β
-
sin
β
1
0
0
]
[
cos
⁡
α
-
sin
α
0
sin
α
cos
⁡
α
0
0
0
1
]
=
[
-
sin
β
sin
α
-
sin
β
cos
⁡
α
-
cos
⁡
β
cos
⁡
β
sin
α
cos
⁡
β
cos
⁡
α
-
sin
β
cos
⁡
α
-
sin
α
0
]
.For simplicity, letμ
=
cos
⁡
α
,
ν
=
sin
α
,
ρ
=
cos
⁡
β
,
σ
=
sin
β; then μ
2
+
ν
2
=
1
,
ρ
2
+
σ
2
=
1,
(17)
R
(
α
,
β
)
=
[
-
σ
ν
-
σ
μ
-
ρ
ρ
ν
ρ
μ
-
σ
μ
-
ν
0
]
=
R
(
μ
,
ν
,
ρ
,
σ
)
.
Substituting (17) into (2) yields
(18)
J
=
∥
R
(
μ
,
ν
,
ρ
,
σ
)
-
b
1
R
b
2
∥
F
2
s
.
t
.
μ
2
+
ν
2
=
1
,
ρ
2
+
σ
2
=
1
.
Equation (18) also is a multivariable function optimization problem. By Lagrange multipliers method, define the Lagrangian function as
(19)
J
=
∥
Rot
(
μ
,
ν
,
ρ
,
σ
)
-
b
1
R
b
2
∥
F
2
+
λ
1
(
μ
2
+
ν
2
-
1
)
+
λ
2
(
ρ
2
+
σ
2
-
1
)
.
Substituting (7) into (19) and expanding the function J yields
(20)
J
=
(
-
σ
ν
-
n
x
)
2
+
(
-
σ
μ
-
o
x
)
2
+
(
-
ρ
-
a
x
)
2
+
(
ρ
ν
-
n
y
)
2
+
(
ρ
μ
-
o
y
)
2
+
(
-
σ
-
a
y
)
2
+
(
μ
-
n
z
)
2
+
(
-
ν
-
o
z
)
2
+
(
-
a
z
)
2
+
λ
1
(
μ
2
+
ν
2
-
1
)
+
λ
2
(
ρ
2
+
σ
2
-
1
)
.Minimizing the functionJ (20) with respect to μ
,
ν
,
ρ, and σ, we obtain
(21)
∂
J
∂
μ
=
2
μ
+
o
x
σ
-
o
y
ρ
+
μ
λ
1
-
n
z
=
0
∂
J
∂
ν
=
2
ν
+
n
x
σ
-
n
y
ρ
+
ν
λ
1
+
o
z
=
0
∂
J
∂
ρ
=
2
ρ
-
n
y
ν
-
o
y
μ
+
ρ
λ
2
+
a
x
=
0
∂
J
∂
σ
=
2
σ
+
n
x
ν
+
o
x
μ
+
σ
λ
2
+
a
y
=
0
∂
J
∂
λ
1
=
μ
2
+
ν
2
-
1
=
0
∂
J
∂
λ
2
=
ρ
2
+
σ
2
-
1
=
0
.
Collectively, there are 6 unique equations in (21) totaling the number of elements in function J (20). Therefore, unique solution exists for (21), which can be reached by Levenberg-Marquardt method with a numeric iterative procedure.Afterμ
,
ν
,
ρ, and σ are obtained, an orthonormalized and refined calibration result R
b
2
*
b
1 for rotation matrix can be obtained by (17). Thereafter, the translation vector T
b
2
*
b
1 also needs to be recalculated as (12).


#### 2.3.3. Calibration of a Floor Mounted Robot Relative to a Ceiling Mounted Robot

As shown in Figure6, a floor mounted robot is carrying out the handclasp manipulation with a ceiling mounted robot. For the calibration case in Figure 6, relative orientation between the two cooperative robots exists in the form of 2 successive rotations.Figure 6
Handclasp manipulation between a floor mounted robot and a ceiling mounted robot.(I) A rotation of18
0
° for Robot HP20 around axis-X of the robot base frame F
b
2 to make axis-Z of F
b
2 vertical to ground, which is
(22)
Rot
(
X
,
18
0
°
)
=
[
1
0
0
0
cos
⁡
(
18
0
°
)
-
sin
(
18
0
°
)
0
sin
(
18
0
°
)
cos
⁡
(
18
0
°
)
]
=
[
1
0
0
0
-
1
0
0
0
-
1
]
.(II) A rotation of angleθ for Robot HP20 around axis-Z of the robot base frame F
b
2 to make axis-X of F
b
2 stretch along the same direction as axis-X of frame F
b
1, which is
(23)
Rot
(
Z
,
θ
)
=
[
cos
⁡
θ
-
sin
θ
0
sin
θ
cos
⁡
θ
0
0
0
1
]
.By (22) and (23), we have the rotation matrix between robot base frame F
b
1 and F
b
2 as
(24)
R
(
θ
)
=
Rot
(
Z
,
θ
)
Rot
(
X
,
18
0
°
)
=
[
cos
⁡
θ
-
sin
θ
0
sin
θ
cos
⁡
θ
0
0
0
1
]
[
1
0
0
0
-
1
0
0
0
-
1
]
=
[
cos
⁡
θ
sin
θ
0
sin
θ
-
cos
⁡
θ
0
0
0
-
1
]
.
Let α
=
cos
⁡
θ
,
β
=
sin
θ; then α
2
+
β
2
=
1,
(25)
R
(
θ
)
=
[
α
β
0
β
-
α
0
0
0
-
1
]
=
R
(
α
,
β
)
.
Substituting (25) into (2) yields
(26)
J
=
∥
R
(
α
,
β
)
-
b
1
R
b
2
∥
F
2
s
.
t
.
α
2
+
β
2
=
1
.
Equation (26) also is a multivariable function optimization problem. By Lagrange multipliers method, define the Lagrangian function as
(27)
J
=
∥
R
(
α
,
β
)
-
b
1
R
b
2
∥
F
2
+
λ
(
α
2
+
β
2
-
1
)
=
(
-
α
-
n
x
)
2
+
(
-
β
-
o
x
)
2
+
(
-
a
x
)
2
+
(
β
-
n
y
)
2
+
(
α
-
o
y
)
2
+
(
-
a
y
)
2
+
(
-
n
z
)
2
+
(
-
o
z
)
2
+
(
-
1
-
a
z
)
2
+
λ
(
α
2
+
β
2
-
1
)
.Minimizing the functionJ (27) with respect to α
,
β, and λ yields
(28)
∂
J
∂
α
=
2
(
α
+
n
x
)
+
2
(
α
-
o
y
)
+
2
λ
α
=
0
,
∂
J
∂
β
=
2
(
β
+
o
x
)
+
2
(
β
-
n
y
)
+
2
λ
β
=
0
,
∂
J
∂
λ
=
α
2
+
β
2
-
1
=
0
.
Unique solution exists for (28); that is,
(29)
λ
=
(
n
x
-
o
y
)
2
+
(
n
y
+
o
x
)
2
-
2
,
α
=
n
x
-
o
y
(
n
x
-
o
y
)
2
+
(
n
y
+
o
x
)
2
,
β
=
n
y
+
o
x
(
n
x
-
o
y
)
2
+
(
n
y
+
o
x
)
2
.
After α
,
β
,
λ are obtained, we have the refined calibration result for rotation as(30)
b
1
R
b
2
*
=
R
(
α
,
β
)
=
[
n
x
-
o
y
(
n
x
-
o
y
)
2
+
(
n
y
+
o
x
)
2
n
y
+
o
x
(
n
x
-
o
y
)
2
+
(
n
y
+
o
x
)
2
0
n
y
+
o
x
(
n
x
-
o
y
)
2
+
(
n
y
+
o
x
)
2
-
n
x
-
o
y
(
n
x
-
o
y
)
2
+
(
n
y
+
o
x
)
2
0
0
0
-
1
]in whichR
b
2
*
b
1 is the orthonormalized and refined calibration result for rotation matrix. Thereafter, the translation vector T
b
2
*
b
1 also needs to be recalculated as (12).Equations (30) and (12) are developed form of the calibration equations in [8], which will lead to more accurate calibration results compared with other methods as presented in [8].


## 2.1. Robot Installation Angle

In applications with a single robot, the world system is usually chosen in the base of the robot. Yet, when several robots work together in a task, it is beneficial to use a world system independent of the individual robots. To enable this, the path controller has to manage the position of the individual robots in the world system by defining a separate robot base frame.For most industrial applications, only three installation types exist for the robot base mounting, which is called floor mounted, wall mounted, and ceiling mounted. For quantitative descriptions of the aforementioned robot base installation types, concept of robot installation angle is defined as follows.Definition 1.
As shown in Figure1, the installation angle is defined as the joint θ between axis-X of robot base frame and the ground level line.Figure 1
Robot base installation angle.Since the definition of robot base frame has a unique form in industry standard [9], the above definition of the robot installation angle is invariant with respect to the robot’s front and rear. For further illustration, examples of typical installation angle are shown in Figure 2.Figure 2
Examples of typical installation angle.By the definition of robot installation angle, a floor mounted robot has an installation angle of0
°, a wall mounted robot has an installation angle of -
9
0
° or 9
0
°, and a ceiling mounted robot has an installation angle of 18
0
°. Introducing these values to base frame calibration between typical installed robots, the calibration results will be improved greatly compared with the calibration results presented in [8].


## 2.2. Calibration of Generally Installed Cooperative Robots

In [8], we proposed a base frame calibration method for generally installed cooperative robots. Principle of the calibration method in [8] is used as the development basis for this paper.For two cooperative robots as shown in Figure3, F
b
1 is the base frame system for robot Motoman VA1400 and F
b
2 is the base frame system for robot Motoman HP20. These two robots form a handclasp configuration in Figure 3 with measuring tips mounted at the end of each robot. Let the homogenous matrix H
b
2
b
1
∈
ℝ
4
×
4 be the relative position and orientation between these two robots. H
b
2
b
1 can be calibrated by 4 handclasp manipulations as shown in Figure 3.Figure 3
Handclasp manipulation for two cooperative industrial robots Motoman VA1400 and HP20.Reference [8] presents basic forms of the base frame calibration equations for two cooperative robots. Those equations are generic forms. For typical installed robots, those equations can be refined to improve the calibration results as discussed in the next part of the paper.


## 2.3. Calibration Equations for Typical Installed Robot

In this paper, only three types of the robot base installation are considered, which are floor mounted, wall mounted, and ceiling mounted. Thereafter, only three types of the robot base calibration problems are considered here, which are calibration of a floor mounted robot to a floor mounted robot, calibration of a floor mounted robot to a wall mounted robot, and calibration of a floor mounted robot to a ceiling mounted robot. Although the resulting classification is not exhaustive, it covers most cases of the industrial applications.


### 2.3.1. Calibration of a Floor Mounted Robot Relative to a Floor Mounted Robot

As shown in Figure4, a floor mounted robot is carrying out the handclasp manipulation with a floor mounted robot. By the above introduced method, relative position and orientation between base frames of the two robots can be calibrated. Theoretically speaking, the rotation matrix for orientation between the two base frames must be orthogonal and normalized, whereas the solution cannot ensure this characteristic, because resolution of transducer for robot joint positions is limited and error exists in system modeling. Therefore, an orthonormalization procedure is necessary to refine the calibrated result for frame rotation.Figure 4
Handclasp manipulation between a floor mounted robot and a floor mounted robot.The criterion for rotation matrix orthonormalization is that modification made on frame rotationR
b
2
b
1 must be the least. The Frobenius norm of matrix A is adopted to evaluate the difference between two matrices, which is
(1)
∥
A
∥
F
=
(
∑
i
=
1
m
‍
∑
j
=
1
n
‍
|
a
i
j
|
2
)
1
/
2
,
where A is an m
×
n matrix, A
m
×
n
=
(
a
i
j
)
m
×
n. By the Frobenius norm, a cost function for the orthonormalization can be defined as
(2)
J
=
∥
R
-
b
1
R
b
2
∥
F
2
s
.
t
.
R
·
R
T
=
I
3
×
3
,
R
∈
ℝ
3
×
3
.
The Frobenius distance between R and R
b
2
b
1 is adopted as the cost function because each element difference will contribute to the increase of matrix distance. The Frobenius norm is much more sensitive to the element variation than other matrix norms. When J is minimized, it means that each element variation between R and R
b
2
b
1 is averagely minimized. Let R
b
2
*
b
1 be the orthonormalized result; we have
(3)
J
(
R
b
2
*
b
1
)
=
min
⁡
R
·
R
T
=
I
3
∥
R
-
b
1
R
b
2
∥
F
2
.
Equation (3) means orthonormal matrix R
b
2
*
b
1 is the optimal Frobenius norm approximation for preliminary solution R
b
2
b
1.For the calibration case in Figure4, relative orientation between the two cooperative robots exists in the form of a rotation around axis-Z of the robot base frame. Since the two robots have the same installation angle of 0
∘, rotation matrix between their base frames F
b
1 and F
b
2 will be
(4)
Rot
(
Z
,
θ
)
=
[
cos
⁡
θ
-
sin
θ
0
sin
θ
cos
⁡
θ
0
0
0
1
]
,
where θ is an arbitrary angle.Letα
=
cos
⁡
θ
,
β
=
sin
θ; then α
2
+
β
2
=
1. Substituting α
,
β into (2) yields
(5)
J
=
∥
Rot
(
Z
,
θ
(
α
,
β
)
)
-
b
1
R
b
2
∥
F
2
s
.
t
.
α
2
+
β
2
=
1
.
Equation (5) can be viewed as a mathematical optimization problem, which is to find the minimum of a multivariable function J subject to constraint α
2
+
β
2
=
1. The method of Lagrange multipliers [10] provides an effective strategy for solving these problems. Define the Lagrangian function as
(6)
J
=
∥
Rot
(
α
,
β
)
-
b
1
R
b
2
∥
F
2
+
λ
(
α
2
+
β
2
-
1
)
.
Let the preliminary calibration result R
b
2
b
1 be
(7)
R
b
2
b
1
=
[
n
x
o
x
a
x
n
y
o
y
a
y
n
z
o
z
a
z
]
.
Substituting (7) into (6) and expanding the function J yields
(8)
J
=
∥
Rot
(
α
,
β
)
-
b
1
R
b
2
∥
F
2
+
λ
(
α
2
+
β
2
-
1
)
=
(
α
-
n
x
)
2
+
(
-
β
-
o
x
)
2
+
a
x
2
+
(
β
-
n
y
)
2
+
(
α
-
o
y
)
2
+
a
y
2
+
n
z
2
+
o
z
2
+
(
1
-
a
z
)
2
+
λ
(
α
2
+
β
2
-
1
)
.Minimizing the functionJ (8) with respect to α
,
β, and λ, we obtain(9)
∂
J
∂
α
=
2
(
α
-
n
x
)
+
2
(
α
-
o
y
)
+
2
λ
α
=
0
,
∂
J
∂
β
=
2
(
β
+
o
x
)
+
2
(
β
-
n
y
)
+
2
λ
β
=
0
,
∂
J
∂
λ
=
α
2
+
β
2
-
1
=
0
.
Unique solution exists for (9); that is,
(10)
λ
=
(
n
x
+
o
y
)
2
+
(
n
y
-
o
x
)
2
-
2
,
α
=
n
x
+
o
y
(
n
x
+
o
y
)
2
+
(
n
y
-
o
x
)
2
,
β
=
n
y
-
o
x
(
n
x
+
o
y
)
2
+
(
n
y
-
o
x
)
2
.Afterα
,
β
,
λ are obtained, we have the refined calibration result for rotation as(11)
b
1
R
b
2
*
=
Rot
(
α
,
β
)
=
[
n
x
+
o
y
(
n
x
+
o
y
)
2
+
(
n
y
-
o
x
)
2
-
n
y
-
o
x
(
n
x
+
o
y
)
2
+
(
n
y
-
o
x
)
2
0
n
y
-
o
x
(
n
x
+
o
y
)
2
+
(
n
y
-
o
x
)
2
n
x
+
o
y
(
n
x
+
o
y
)
2
+
(
n
y
-
o
x
)
2
0
0
0
1
]in whichR
b
2
*
b
1 is the orthonormalized and refined calibration result for rotation matrix. Thereafter, the translation vector also needs to be recalculated, which is
(12)
b
1
T
b
2
*
=
1
4
[
(
P
1
b
1
-
b
1
R
b
2
*
·
P
1
b
j
)
+
(
P
2
b
1
-
b
1
R
b
2
*
·
P
2
b
2
)
+
(
P
3
b
1
-
b
1
R
b
2
*
·
P
3
b
2
)
+
(
P
4
b
1
-
b
1
R
b
2
*
·
P
4
b
2
)
]
.Equations (11) and (12) are developed form of the calibration equations in [8], which will lead to more accurate calibration results compared with other methods as presented in [8].


### 2.3.2. Calibration of a Floor Mounted Robot Relative to a Wall Mounted Robot

As shown in Figure5, a floor mounted robot is carrying out the handclasp manipulation with a wall mounted robot. For the calibration case in Figure 5, relative orientation between the two cooperative robots exists in the form of 3 successive rotations.Figure 5
Handclasp manipulation between a floor mounted robot and a wall mounted robot.(I) A rotation of angleα for Robot HP20 around axis-Z of the robot base frame F
b
2 to make axis-Y of F
b
2 horizontal, which is
(13)
Rot
(
Z
,
α
)
=
[
cos
⁡
α
-
sin
α
0
sin
α
cos
⁡
α
0
0
0
1
]
.(II) A rotation of-
9
0
° for Robot HP20 around axis-Y of the robot base frame F
b
2 to make axis-Z of F
b
2 vertical to the ground, which is
(14)
Rot
(
Y
,
-
9
0
°
)
=
[
cos
⁡
(
-
9
0
°
)
0
sin
(
-
9
0
°
)
0
1
0
-
sin
(
-
9
0
°
)
0
cos
⁡
(
-
9
0
°
)
]
=
[
0
0
-
1
0
1
0
1
0
0
]
.(III) A rotation of angleβ for Robot HP20 around axis-Z of the robot base frame F
b
2 to make axis-X of F
b
2 stretch along the same direction as axis-X of F
b
1, which is
(15)
Rot
(
Z
,
β
)
=
[
cos
⁡
β
-
sin
β
0
sin
β
cos
⁡
β
0
0
0
1
]
.By (13), (14), and (15), we have the rotation matrix between robot base frame F
b
1 and F
b
2 as
(16)
R
(
α
,
β
)
=
Rot
(
Z
,
β
)
·
Rot
(
Y
,
-
9
0
°
)
·
Rot
(
Z
,
α
)
=
[
cos
⁡
β
-
sin
β
0
sin
β
cos
⁡
β
0
0
0
1
]
·
[
0
0
-
1
0
1
0
1
0
0
]
·
[
cos
⁡
α
-
sin
α
0
sin
α
cos
⁡
α
0
0
0
1
]
=
[
0
-
sin
β
-
cos
⁡
β
0
cos
⁡
β
-
sin
β
1
0
0
]
[
cos
⁡
α
-
sin
α
0
sin
α
cos
⁡
α
0
0
0
1
]
=
[
-
sin
β
sin
α
-
sin
β
cos
⁡
α
-
cos
⁡
β
cos
⁡
β
sin
α
cos
⁡
β
cos
⁡
α
-
sin
β
cos
⁡
α
-
sin
α
0
]
.For simplicity, letμ
=
cos
⁡
α
,
ν
=
sin
α
,
ρ
=
cos
⁡
β
,
σ
=
sin
β; then μ
2
+
ν
2
=
1
,
ρ
2
+
σ
2
=
1,
(17)
R
(
α
,
β
)
=
[
-
σ
ν
-
σ
μ
-
ρ
ρ
ν
ρ
μ
-
σ
μ
-
ν
0
]
=
R
(
μ
,
ν
,
ρ
,
σ
)
.
Substituting (17) into (2) yields
(18)
J
=
∥
R
(
μ
,
ν
,
ρ
,
σ
)
-
b
1
R
b
2
∥
F
2
s
.
t
.
μ
2
+
ν
2
=
1
,
ρ
2
+
σ
2
=
1
.
Equation (18) also is a multivariable function optimization problem. By Lagrange multipliers method, define the Lagrangian function as
(19)
J
=
∥
Rot
(
μ
,
ν
,
ρ
,
σ
)
-
b
1
R
b
2
∥
F
2
+
λ
1
(
μ
2
+
ν
2
-
1
)
+
λ
2
(
ρ
2
+
σ
2
-
1
)
.
Substituting (7) into (19) and expanding the function J yields
(20)
J
=
(
-
σ
ν
-
n
x
)
2
+
(
-
σ
μ
-
o
x
)
2
+
(
-
ρ
-
a
x
)
2
+
(
ρ
ν
-
n
y
)
2
+
(
ρ
μ
-
o
y
)
2
+
(
-
σ
-
a
y
)
2
+
(
μ
-
n
z
)
2
+
(
-
ν
-
o
z
)
2
+
(
-
a
z
)
2
+
λ
1
(
μ
2
+
ν
2
-
1
)
+
λ
2
(
ρ
2
+
σ
2
-
1
)
.Minimizing the functionJ (20) with respect to μ
,
ν
,
ρ, and σ, we obtain
(21)
∂
J
∂
μ
=
2
μ
+
o
x
σ
-
o
y
ρ
+
μ
λ
1
-
n
z
=
0
∂
J
∂
ν
=
2
ν
+
n
x
σ
-
n
y
ρ
+
ν
λ
1
+
o
z
=
0
∂
J
∂
ρ
=
2
ρ
-
n
y
ν
-
o
y
μ
+
ρ
λ
2
+
a
x
=
0
∂
J
∂
σ
=
2
σ
+
n
x
ν
+
o
x
μ
+
σ
λ
2
+
a
y
=
0
∂
J
∂
λ
1
=
μ
2
+
ν
2
-
1
=
0
∂
J
∂
λ
2
=
ρ
2
+
σ
2
-
1
=
0
.
Collectively, there are 6 unique equations in (21) totaling the number of elements in function J (20). Therefore, unique solution exists for (21), which can be reached by Levenberg-Marquardt method with a numeric iterative procedure.Afterμ
,
ν
,
ρ, and σ are obtained, an orthonormalized and refined calibration result R
b
2
*
b
1 for rotation matrix can be obtained by (17). Thereafter, the translation vector T
b
2
*
b
1 also needs to be recalculated as (12).


### 2.3.3. Calibration of a Floor Mounted Robot Relative to a Ceiling Mounted Robot

As shown in Figure6, a floor mounted robot is carrying out the handclasp manipulation with a ceiling mounted robot. For the calibration case in Figure 6, relative orientation between the two cooperative robots exists in the form of 2 successive rotations.Figure 6
Handclasp manipulation between a floor mounted robot and a ceiling mounted robot.(I) A rotation of18
0
° for Robot HP20 around axis-X of the robot base frame F
b
2 to make axis-Z of F
b
2 vertical to ground, which is
(22)
Rot
(
X
,
18
0
°
)
=
[
1
0
0
0
cos
⁡
(
18
0
°
)
-
sin
(
18
0
°
)
0
sin
(
18
0
°
)
cos
⁡
(
18
0
°
)
]
=
[
1
0
0
0
-
1
0
0
0
-
1
]
.(II) A rotation of angleθ for Robot HP20 around axis-Z of the robot base frame F
b
2 to make axis-X of F
b
2 stretch along the same direction as axis-X of frame F
b
1, which is
(23)
Rot
(
Z
,
θ
)
=
[
cos
⁡
θ
-
sin
θ
0
sin
θ
cos
⁡
θ
0
0
0
1
]
.By (22) and (23), we have the rotation matrix between robot base frame F
b
1 and F
b
2 as
(24)
R
(
θ
)
=
Rot
(
Z
,
θ
)
Rot
(
X
,
18
0
°
)
=
[
cos
⁡
θ
-
sin
θ
0
sin
θ
cos
⁡
θ
0
0
0
1
]
[
1
0
0
0
-
1
0
0
0
-
1
]
=
[
cos
⁡
θ
sin
θ
0
sin
θ
-
cos
⁡
θ
0
0
0
-
1
]
.
Let α
=
cos
⁡
θ
,
β
=
sin
θ; then α
2
+
β
2
=
1,
(25)
R
(
θ
)
=
[
α
β
0
β
-
α
0
0
0
-
1
]
=
R
(
α
,
β
)
.
Substituting (25) into (2) yields
(26)
J
=
∥
R
(
α
,
β
)
-
b
1
R
b
2
∥
F
2
s
.
t
.
α
2
+
β
2
=
1
.
Equation (26) also is a multivariable function optimization problem. By Lagrange multipliers method, define the Lagrangian function as
(27)
J
=
∥
R
(
α
,
β
)
-
b
1
R
b
2
∥
F
2
+
λ
(
α
2
+
β
2
-
1
)
=
(
-
α
-
n
x
)
2
+
(
-
β
-
o
x
)
2
+
(
-
a
x
)
2
+
(
β
-
n
y
)
2
+
(
α
-
o
y
)
2
+
(
-
a
y
)
2
+
(
-
n
z
)
2
+
(
-
o
z
)
2
+
(
-
1
-
a
z
)
2
+
λ
(
α
2
+
β
2
-
1
)
.Minimizing the functionJ (27) with respect to α
,
β, and λ yields
(28)
∂
J
∂
α
=
2
(
α
+
n
x
)
+
2
(
α
-
o
y
)
+
2
λ
α
=
0
,
∂
J
∂
β
=
2
(
β
+
o
x
)
+
2
(
β
-
n
y
)
+
2
λ
β
=
0
,
∂
J
∂
λ
=
α
2
+
β
2
-
1
=
0
.
Unique solution exists for (28); that is,
(29)
λ
=
(
n
x
-
o
y
)
2
+
(
n
y
+
o
x
)
2
-
2
,
α
=
n
x
-
o
y
(
n
x
-
o
y
)
2
+
(
n
y
+
o
x
)
2
,
β
=
n
y
+
o
x
(
n
x
-
o
y
)
2
+
(
n
y
+
o
x
)
2
.
After α
,
β
,
λ are obtained, we have the refined calibration result for rotation as(30)
b
1
R
b
2
*
=
R
(
α
,
β
)
=
[
n
x
-
o
y
(
n
x
-
o
y
)
2
+
(
n
y
+
o
x
)
2
n
y
+
o
x
(
n
x
-
o
y
)
2
+
(
n
y
+
o
x
)
2
0
n
y
+
o
x
(
n
x
-
o
y
)
2
+
(
n
y
+
o
x
)
2
-
n
x
-
o
y
(
n
x
-
o
y
)
2
+
(
n
y
+
o
x
)
2
0
0
0
-
1
]in whichR
b
2
*
b
1 is the orthonormalized and refined calibration result for rotation matrix. Thereafter, the translation vector T
b
2
*
b
1 also needs to be recalculated as (12).Equations (30) and (12) are developed form of the calibration equations in [8], which will lead to more accurate calibration results compared with other methods as presented in [8].


## 2.3.1. Calibration of a Floor Mounted Robot Relative to a Floor Mounted Robot

As shown in Figure4, a floor mounted robot is carrying out the handclasp manipulation with a floor mounted robot. By the above introduced method, relative position and orientation between base frames of the two robots can be calibrated. Theoretically speaking, the rotation matrix for orientation between the two base frames must be orthogonal and normalized, whereas the solution cannot ensure this characteristic, because resolution of transducer for robot joint positions is limited and error exists in system modeling. Therefore, an orthonormalization procedure is necessary to refine the calibrated result for frame rotation.Figure 4
Handclasp manipulation between a floor mounted robot and a floor mounted robot.The criterion for rotation matrix orthonormalization is that modification made on frame rotationR
b
2
b
1 must be the least. The Frobenius norm of matrix A is adopted to evaluate the difference between two matrices, which is
(1)
∥
A
∥
F
=
(
∑
i
=
1
m
‍
∑
j
=
1
n
‍
|
a
i
j
|
2
)
1
/
2
,
where A is an m
×
n matrix, A
m
×
n
=
(
a
i
j
)
m
×
n. By the Frobenius norm, a cost function for the orthonormalization can be defined as
(2)
J
=
∥
R
-
b
1
R
b
2
∥
F
2
s
.
t
.
R
·
R
T
=
I
3
×
3
,
R
∈
ℝ
3
×
3
.
The Frobenius distance between R and R
b
2
b
1 is adopted as the cost function because each element difference will contribute to the increase of matrix distance. The Frobenius norm is much more sensitive to the element variation than other matrix norms. When J is minimized, it means that each element variation between R and R
b
2
b
1 is averagely minimized. Let R
b
2
*
b
1 be the orthonormalized result; we have
(3)
J
(
R
b
2
*
b
1
)
=
min
⁡
R
·
R
T
=
I
3
∥
R
-
b
1
R
b
2
∥
F
2
.
Equation (3) means orthonormal matrix R
b
2
*
b
1 is the optimal Frobenius norm approximation for preliminary solution R
b
2
b
1.For the calibration case in Figure4, relative orientation between the two cooperative robots exists in the form of a rotation around axis-Z of the robot base frame. Since the two robots have the same installation angle of 0
∘, rotation matrix between their base frames F
b
1 and F
b
2 will be
(4)
Rot
(
Z
,
θ
)
=
[
cos
⁡
θ
-
sin
θ
0
sin
θ
cos
⁡
θ
0
0
0
1
]
,
where θ is an arbitrary angle.Letα
=
cos
⁡
θ
,
β
=
sin
θ; then α
2
+
β
2
=
1. Substituting α
,
β into (2) yields
(5)
J
=
∥
Rot
(
Z
,
θ
(
α
,
β
)
)
-
b
1
R
b
2
∥
F
2
s
.
t
.
α
2
+
β
2
=
1
.
Equation (5) can be viewed as a mathematical optimization problem, which is to find the minimum of a multivariable function J subject to constraint α
2
+
β
2
=
1. The method of Lagrange multipliers [10] provides an effective strategy for solving these problems. Define the Lagrangian function as
(6)
J
=
∥
Rot
(
α
,
β
)
-
b
1
R
b
2
∥
F
2
+
λ
(
α
2
+
β
2
-
1
)
.
Let the preliminary calibration result R
b
2
b
1 be
(7)
R
b
2
b
1
=
[
n
x
o
x
a
x
n
y
o
y
a
y
n
z
o
z
a
z
]
.
Substituting (7) into (6) and expanding the function J yields
(8)
J
=
∥
Rot
(
α
,
β
)
-
b
1
R
b
2
∥
F
2
+
λ
(
α
2
+
β
2
-
1
)
=
(
α
-
n
x
)
2
+
(
-
β
-
o
x
)
2
+
a
x
2
+
(
β
-
n
y
)
2
+
(
α
-
o
y
)
2
+
a
y
2
+
n
z
2
+
o
z
2
+
(
1
-
a
z
)
2
+
λ
(
α
2
+
β
2
-
1
)
.Minimizing the functionJ (8) with respect to α
,
β, and λ, we obtain(9)
∂
J
∂
α
=
2
(
α
-
n
x
)
+
2
(
α
-
o
y
)
+
2
λ
α
=
0
,
∂
J
∂
β
=
2
(
β
+
o
x
)
+
2
(
β
-
n
y
)
+
2
λ
β
=
0
,
∂
J
∂
λ
=
α
2
+
β
2
-
1
=
0
.
Unique solution exists for (9); that is,
(10)
λ
=
(
n
x
+
o
y
)
2
+
(
n
y
-
o
x
)
2
-
2
,
α
=
n
x
+
o
y
(
n
x
+
o
y
)
2
+
(
n
y
-
o
x
)
2
,
β
=
n
y
-
o
x
(
n
x
+
o
y
)
2
+
(
n
y
-
o
x
)
2
.Afterα
,
β
,
λ are obtained, we have the refined calibration result for rotation as(11)
b
1
R
b
2
*
=
Rot
(
α
,
β
)
=
[
n
x
+
o
y
(
n
x
+
o
y
)
2
+
(
n
y
-
o
x
)
2
-
n
y
-
o
x
(
n
x
+
o
y
)
2
+
(
n
y
-
o
x
)
2
0
n
y
-
o
x
(
n
x
+
o
y
)
2
+
(
n
y
-
o
x
)
2
n
x
+
o
y
(
n
x
+
o
y
)
2
+
(
n
y
-
o
x
)
2
0
0
0
1
]in whichR
b
2
*
b
1 is the orthonormalized and refined calibration result for rotation matrix. Thereafter, the translation vector also needs to be recalculated, which is
(12)
b
1
T
b
2
*
=
1
4
[
(
P
1
b
1
-
b
1
R
b
2
*
·
P
1
b
j
)
+
(
P
2
b
1
-
b
1
R
b
2
*
·
P
2
b
2
)
+
(
P
3
b
1
-
b
1
R
b
2
*
·
P
3
b
2
)
+
(
P
4
b
1
-
b
1
R
b
2
*
·
P
4
b
2
)
]
.Equations (11) and (12) are developed form of the calibration equations in [8], which will lead to more accurate calibration results compared with other methods as presented in [8].


## 2.3.2. Calibration of a Floor Mounted Robot Relative to a Wall Mounted Robot

As shown in Figure5, a floor mounted robot is carrying out the handclasp manipulation with a wall mounted robot. For the calibration case in Figure 5, relative orientation between the two cooperative robots exists in the form of 3 successive rotations.Figure 5
Handclasp manipulation between a floor mounted robot and a wall mounted robot.(I) A rotation of angleα for Robot HP20 around axis-Z of the robot base frame F
b
2 to make axis-Y of F
b
2 horizontal, which is
(13)
Rot
(
Z
,
α
)
=
[
cos
⁡
α
-
sin
α
0
sin
α
cos
⁡
α
0
0
0
1
]
.(II) A rotation of-
9
0
° for Robot HP20 around axis-Y of the robot base frame F
b
2 to make axis-Z of F
b
2 vertical to the ground, which is
(14)
Rot
(
Y
,
-
9
0
°
)
=
[
cos
⁡
(
-
9
0
°
)
0
sin
(
-
9
0
°
)
0
1
0
-
sin
(
-
9
0
°
)
0
cos
⁡
(
-
9
0
°
)
]
=
[
0
0
-
1
0
1
0
1
0
0
]
.(III) A rotation of angleβ for Robot HP20 around axis-Z of the robot base frame F
b
2 to make axis-X of F
b
2 stretch along the same direction as axis-X of F
b
1, which is
(15)
Rot
(
Z
,
β
)
=
[
cos
⁡
β
-
sin
β
0
sin
β
cos
⁡
β
0
0
0
1
]
.By (13), (14), and (15), we have the rotation matrix between robot base frame F
b
1 and F
b
2 as
(16)
R
(
α
,
β
)
=
Rot
(
Z
,
β
)
·
Rot
(
Y
,
-
9
0
°
)
·
Rot
(
Z
,
α
)
=
[
cos
⁡
β
-
sin
β
0
sin
β
cos
⁡
β
0
0
0
1
]
·
[
0
0
-
1
0
1
0
1
0
0
]
·
[
cos
⁡
α
-
sin
α
0
sin
α
cos
⁡
α
0
0
0
1
]
=
[
0
-
sin
β
-
cos
⁡
β
0
cos
⁡
β
-
sin
β
1
0
0
]
[
cos
⁡
α
-
sin
α
0
sin
α
cos
⁡
α
0
0
0
1
]
=
[
-
sin
β
sin
α
-
sin
β
cos
⁡
α
-
cos
⁡
β
cos
⁡
β
sin
α
cos
⁡
β
cos
⁡
α
-
sin
β
cos
⁡
α
-
sin
α
0
]
.For simplicity, letμ
=
cos
⁡
α
,
ν
=
sin
α
,
ρ
=
cos
⁡
β
,
σ
=
sin
β; then μ
2
+
ν
2
=
1
,
ρ
2
+
σ
2
=
1,
(17)
R
(
α
,
β
)
=
[
-
σ
ν
-
σ
μ
-
ρ
ρ
ν
ρ
μ
-
σ
μ
-
ν
0
]
=
R
(
μ
,
ν
,
ρ
,
σ
)
.
Substituting (17) into (2) yields
(18)
J
=
∥
R
(
μ
,
ν
,
ρ
,
σ
)
-
b
1
R
b
2
∥
F
2
s
.
t
.
μ
2
+
ν
2
=
1
,
ρ
2
+
σ
2
=
1
.
Equation (18) also is a multivariable function optimization problem. By Lagrange multipliers method, define the Lagrangian function as
(19)
J
=
∥
Rot
(
μ
,
ν
,
ρ
,
σ
)
-
b
1
R
b
2
∥
F
2
+
λ
1
(
μ
2
+
ν
2
-
1
)
+
λ
2
(
ρ
2
+
σ
2
-
1
)
.
Substituting (7) into (19) and expanding the function J yields
(20)
J
=
(
-
σ
ν
-
n
x
)
2
+
(
-
σ
μ
-
o
x
)
2
+
(
-
ρ
-
a
x
)
2
+
(
ρ
ν
-
n
y
)
2
+
(
ρ
μ
-
o
y
)
2
+
(
-
σ
-
a
y
)
2
+
(
μ
-
n
z
)
2
+
(
-
ν
-
o
z
)
2
+
(
-
a
z
)
2
+
λ
1
(
μ
2
+
ν
2
-
1
)
+
λ
2
(
ρ
2
+
σ
2
-
1
)
.Minimizing the functionJ (20) with respect to μ
,
ν
,
ρ, and σ, we obtain
(21)
∂
J
∂
μ
=
2
μ
+
o
x
σ
-
o
y
ρ
+
μ
λ
1
-
n
z
=
0
∂
J
∂
ν
=
2
ν
+
n
x
σ
-
n
y
ρ
+
ν
λ
1
+
o
z
=
0
∂
J
∂
ρ
=
2
ρ
-
n
y
ν
-
o
y
μ
+
ρ
λ
2
+
a
x
=
0
∂
J
∂
σ
=
2
σ
+
n
x
ν
+
o
x
μ
+
σ
λ
2
+
a
y
=
0
∂
J
∂
λ
1
=
μ
2
+
ν
2
-
1
=
0
∂
J
∂
λ
2
=
ρ
2
+
σ
2
-
1
=
0
.
Collectively, there are 6 unique equations in (21) totaling the number of elements in function J (20). Therefore, unique solution exists for (21), which can be reached by Levenberg-Marquardt method with a numeric iterative procedure.Afterμ
,
ν
,
ρ, and σ are obtained, an orthonormalized and refined calibration result R
b
2
*
b
1 for rotation matrix can be obtained by (17). Thereafter, the translation vector T
b
2
*
b
1 also needs to be recalculated as (12).


## 2.3.3. Calibration of a Floor Mounted Robot Relative to a Ceiling Mounted Robot

As shown in Figure6, a floor mounted robot is carrying out the handclasp manipulation with a ceiling mounted robot. For the calibration case in Figure 6, relative orientation between the two cooperative robots exists in the form of 2 successive rotations.Figure 6
Handclasp manipulation between a floor mounted robot and a ceiling mounted robot.(I) A rotation of18
0
° for Robot HP20 around axis-X of the robot base frame F
b
2 to make axis-Z of F
b
2 vertical to ground, which is
(22)
Rot
(
X
,
18
0
°
)
=
[
1
0
0
0
cos
⁡
(
18
0
°
)
-
sin
(
18
0
°
)
0
sin
(
18
0
°
)
cos
⁡
(
18
0
°
)
]
=
[
1
0
0
0
-
1
0
0
0
-
1
]
.(II) A rotation of angleθ for Robot HP20 around axis-Z of the robot base frame F
b
2 to make axis-X of F
b
2 stretch along the same direction as axis-X of frame F
b
1, which is
(23)
Rot
(
Z
,
θ
)
=
[
cos
⁡
θ
-
sin
θ
0
sin
θ
cos
⁡
θ
0
0
0
1
]
.By (22) and (23), we have the rotation matrix between robot base frame F
b
1 and F
b
2 as
(24)
R
(
θ
)
=
Rot
(
Z
,
θ
)
Rot
(
X
,
18
0
°
)
=
[
cos
⁡
θ
-
sin
θ
0
sin
θ
cos
⁡
θ
0
0
0
1
]
[
1
0
0
0
-
1
0
0
0
-
1
]
=
[
cos
⁡
θ
sin
θ
0
sin
θ
-
cos
⁡
θ
0
0
0
-
1
]
.
Let α
=
cos
⁡
θ
,
β
=
sin
θ; then α
2
+
β
2
=
1,
(25)
R
(
θ
)
=
[
α
β
0
β
-
α
0
0
0
-
1
]
=
R
(
α
,
β
)
.
Substituting (25) into (2) yields
(26)
J
=
∥
R
(
α
,
β
)
-
b
1
R
b
2
∥
F
2
s
.
t
.
α
2
+
β
2
=
1
.
Equation (26) also is a multivariable function optimization problem. By Lagrange multipliers method, define the Lagrangian function as
(27)
J
=
∥
R
(
α
,
β
)
-
b
1
R
b
2
∥
F
2
+
λ
(
α
2
+
β
2
-
1
)
=
(
-
α
-
n
x
)
2
+
(
-
β
-
o
x
)
2
+
(
-
a
x
)
2
+
(
β
-
n
y
)
2
+
(
α
-
o
y
)
2
+
(
-
a
y
)
2
+
(
-
n
z
)
2
+
(
-
o
z
)
2
+
(
-
1
-
a
z
)
2
+
λ
(
α
2
+
β
2
-
1
)
.Minimizing the functionJ (27) with respect to α
,
β, and λ yields
(28)
∂
J
∂
α
=
2
(
α
+
n
x
)
+
2
(
α
-
o
y
)
+
2
λ
α
=
0
,
∂
J
∂
β
=
2
(
β
+
o
x
)
+
2
(
β
-
n
y
)
+
2
λ
β
=
0
,
∂
J
∂
λ
=
α
2
+
β
2
-
1
=
0
.
Unique solution exists for (28); that is,
(29)
λ
=
(
n
x
-
o
y
)
2
+
(
n
y
+
o
x
)
2
-
2
,
α
=
n
x
-
o
y
(
n
x
-
o
y
)
2
+
(
n
y
+
o
x
)
2
,
β
=
n
y
+
o
x
(
n
x
-
o
y
)
2
+
(
n
y
+
o
x
)
2
.
After α
,
β
,
λ are obtained, we have the refined calibration result for rotation as(30)
b
1
R
b
2
*
=
R
(
α
,
β
)
=
[
n
x
-
o
y
(
n
x
-
o
y
)
2
+
(
n
y
+
o
x
)
2
n
y
+
o
x
(
n
x
-
o
y
)
2
+
(
n
y
+
o
x
)
2
0
n
y
+
o
x
(
n
x
-
o
y
)
2
+
(
n
y
+
o
x
)
2
-
n
x
-
o
y
(
n
x
-
o
y
)
2
+
(
n
y
+
o
x
)
2
0
0
0
-
1
]in whichR
b
2
*
b
1 is the orthonormalized and refined calibration result for rotation matrix. Thereafter, the translation vector T
b
2
*
b
1 also needs to be recalculated as (12).Equations (30) and (12) are developed form of the calibration equations in [8], which will lead to more accurate calibration results compared with other methods as presented in [8].


## 3. Calibration Procedure

Base frame calibration between two cooperative robots is to identify elements of a rotation matrixR
b
2
b
1 and translation vector T
b
2
b
1. Information that we need for our calibration method includes robot joint positions, robot link parameters, and measuring tip dimensions. Preparatory conditions for this calibration method are quite simple, which include only the installation of the measuring tips on both robots and dimensions input of the measuring tip for each robot.After commencing of the calibration command, move one robot to an arbitrary position. Align the tool center point of the other robot to tool center point of the first robot by independent robot motion. The two robots form a handclasp configuration and the first measurement commences. Register the position asP
1. Repeat this handclasp manipulation process three more times and register P
2, P
3, and P
4 in the same manner as P
1. Both robots are to be moved independently during the calibration procedure. After P
1
,
P
2
,
P
3, and P
4 are registered, substitute these points information into corresponding calibration equations. For calibration of floor mounted robot relative to floor mounted robot, the calibration equations are (11) and (12). For calibration of floor mounted robot relative to wall mounted robot, the calibration equations are (17) and (12). For calibration of floor mounted robot relative to ceiling mounted robot, the calibration equations are (30) and (12). Figure 7 shows the calibration procedure of our proposed method.Figure 7
Calibration procedure of this method.In order to optimize the calibration results, the handclasp points selected should be as far apart as possible. The standard distance betweenP
1 and P
2
,
P
2 and P
3, and P
3 and P
4 should be 1 m or more. Typical selection of these 4 points is shown in Figure 8. As shown in Figure 8, teach P
1
,
P
2, and P
3 so that a triangle, not a straight line, is formed. Teach P
4 far apart from planar P
1
P
2
P
3 so that a triangular pyramid is formed. Otherwise, inaccurate calibration will result.Figure 8
Example of 4 handclasp manipulations for two cooperative robots.After the calibration procedure, a check should be made to see if the two robot base frames are correctly calibrated. Jog the two robots in a coupled synchronous motion [11] and move one of them to see if the other can follow the motion of the first robot. If yes, base frames of the two robots are correctly calibrated.


## 4. Experiment Result

In order to validate the above-proposed calibration method for typical installed robot, representative experiments have been carried out in our lab. The testbed is composed of two industrial robots, Motoman VA1400 and HP20, which are produced by YASKAWA Electronic Corporation, Japan. An external PC, DELL Optiplex 780, is used as a top layer controller to implement all the control logic and calculations. This external PC is connected to the robot controller DX100 by Ethernet cable. The communication software MotoCom SDK, which is also provided by YASKAWA Electronic Corporation, is installed on the PC to help transfer robot data and job files between the PC and DX100 robot controller. Figure9 shows the experimental testbed we used here in our lab.Figure 9
Testbed of calibration experiments in our lab.By the communication software MotoCom SDK, user applications can be developed and executed on a PC platform. MotoCom SDK provides users with the function to obtain coordinate of robot tool center point in its base frame, which forms the source data of calibration in the following analysis. Coordinate of robot tool center point in its base frame can be directly read out from the robot controller DX100 by functionBscIsRobotPos( ), which is one of the member functions provided by MotoCom SDK, whereas MotoCom SDK only provides a 6-dimensional vector (
x
,
y
,
z
,
ϕ
,
θ
,
ψ
)
∈
ℝ
6 to represent position and orientation of the robot end-effector, 3-dimension (
x
,
y
,
z
) for tool center point position and 3-dimensional Euler angles (
ϕ
,
θ
,
ψ
) for tool orientation. The variables x
,
y, and z have a unit of millimetre (
mm
) while variables ϕ
,
θ, and ψ have a unit of degree (
°
). These coordinate values can also be found on the teaching pendant of the robot controller.For consistency and coherence, transformations between Euler angle representation and a rotation matrix are presented here. In [12], successive rotations with angle ϕ
,
θ
,
ψ relative to axis Z
,
Y
,
Z will lead to a rotation matrix R represented in (31) as follows:(31)
Euler
(
ϕ
,
θ
,
ψ
)
=
Rot
(
Z
,
ϕ
)
Rot
(
Y
,
θ
)
Rot
(
Z
,
ψ
)
=
[
cos
⁡
ϕ
cos
⁡
θ
cos
⁡
ψ
-
sin
ϕ
sin
ψ
-
cos
⁡
ϕ
cos
⁡
θ
sin
ψ
-
sin
ϕ
cos
⁡
ψ
cos
⁡
ϕ
sin
θ
sin
ϕ
cos
⁡
θ
cos
⁡
ψ
+
cos
⁡
ϕ
sin
ψ
-
sin
ϕ
cos
⁡
θ
sin
ψ
+
cos
⁡
ϕ
cos
⁡
ψ
sin
ϕ
sin
θ
-
sin
θ
cos
⁡
ψ
sin
θ
sin
ψ
cos
⁡
θ
]
=
R
.Conversely, a rotation matrixR can be decomposed into three successive rotations with ϕ
,
θ
,
ψ relative to axes Z
,
Y
,
Z,
(32)
Rot
(
Z
,
ϕ
)
Rot
(
Y
,
θ
)
Rot
(
Z
,
ψ
)
=
[
n
x
o
x
a
x
n
y
o
y
a
y
n
z
o
z
a
z
]
,
ϕ
=
atan
2
(
a
y
,
a
x
)
,
θ
=
atan
2
(
sin
ϕ
a
y
+
cos
⁡
ϕ
a
x
,
a
z
)
,
ψ
=
atan
2
(
-
sin
ϕ
n
x
+
cos
⁡
ϕ
n
y
,
-
sin
ϕ
o
x
+
cos
⁡
ϕ
o
y
)
.Equation (32) will encounter degeneracy when ϕ
=
0
° or 18
0
°. However, when ϕ
=
0
° or 18
0
°, it means a
x
=
0 and a
y
=
0. In such a case, we arbitrarily assume ϕ
=
0
°. When θ
=
0
° or 18
0
°, we assume θ
=
0
°. Under this assumption, (32) is qualified for the rotation error assessment.The 6-dimensional vector formation(
x
,
y
,
z
,
ϕ
,
θ
,
ψ
)
∈
ℝ
6 is also adopted to represent the relative translation and rotation between based frames of the two robots. The aforementioned 3-dimension vector (
x
,
y
,
z
) indicates relative translation and 3-dimensional vector Euler angles (
ϕ
,
θ
,
ψ
) indicate relative rotation. The variables x
,
y, and z also have a unit of millimeter (mm) while variables ϕ
,
θ, and ψ have a unit of degree (
°
).For accuracy assessment, the calibration error for relative rotation between the two robots can be defined as(33)
e
rot
⁡
=
∥
Euler
(
R
b
2
tru
b
1
)
-
Euler
(
R
b
2
*
b
1
)
∥
∞
in which Euler
(
R
b
2
tru
b
1
) is true values of the Euler form rotation between the two robots and e
rot
⁡ is the error. The error e
rot
⁡ with a unit of degree (
°
) has a definite meaning that represents the maximum error between Euler angle forms of the calibrated rotation matrix and its true value. The calibration error for the translation vector can be defined as
(34)
e
tran
⁡
=
∥
T
b
2
tru
b
1
-
b
1
T
b
2
*
∥
∞
in which T
b
2
tru
b
1 is true values of translation vector between the two robots and e
tran
⁡ is the error. The error e
tran
⁡ has a unit of millimeter (mm), whose meaning represents the maximum error between calibrated translation vector and its true value.True values for relative rotationEuler
(
R
b
2
tru
b
1
) and translation T
b
2
tru
b
1 between base frames of the two robots are calibrated by an external sensor Actiris350. The Actiris350 system is a 3D coordinate measuring machine manufactured by ActCM Corporation, France. Actiris350 system has a precision of ±15 μm for single point according to ISO 10360-2; repeatability is ±25 μm, acquisition speed is 15 measurements per second max, and measuring volume is 3.5 m3. Figure 10 shows the 3D coordinate measuring machine Actiris350 we used.Figure 10
3D coordinate measuring machine Actiris350.Table1 presents the robot base calibration results and comparisons with other methods. Data in column H
tru are the true values of the relative rotation and translation between base frames of Motoman VA1400 and HP20, which are acquired by Actiris350, H
tru
=
[
T
b
2
tru
b
1
,
Euler
(
R
b
2
tru
b
1
)
]. Data in column H
calib
2 are the calibrated results by our proposed method, H
calib
2
=
[
T
b
2
*
b
1
,
Euler
(
R
b
2
*
b
1
)
]. The columns e
tran
⁡
2 obtained by (34) and e
rot
⁡
2 obtained by (33) are the calibration errors of robot base frame translation and rotation, respectively, for this method. Data in column H
calib
1 are calibration results by the method proposed in [8]. The columns e
tran
⁡
1 obtained as e
tran
⁡
2 and e
rot
⁡
1 obtained as e
rot
⁡
2 are their calibration errors for robot base frame translation and rotation, respectively. Figure 11 shows the calibration error e
tran
⁡
1 and e
tran
⁡
2 for relative translation between the two robots. Figure 12 shows the calibration errors e
rot
⁡
1 and e
rot
⁡
2 for relative rotation between the two robots.Table 1
Robot calibration results and comparisons.
H
tru
H
calib1
e
tran1 (mm)
e
rot1  (°)
H
calib2
e
tran2 (mm)
e
rot
⁡
2  (°)
(
37.9
,
1476.5
,
54.5
,
-
0.001
,
0.001
,
-
44.500
)
(
43.6
,
1475.4
,
58.8
,
0
,
-
0.167
,
-
44.593
)
5.7
0.167
(
43.8
,
1475.6
,
58.2
,
0
,
0
,
-
44.593
)
5.9
0.093
(
37.9
,
1476.5
,
54.5
,
-
0.001
,
0.001
,
-
44.500
)
(
33.5
,
1477.8
,
51.4
,
0
,
-
0.352
,
-
44.632
)
4.5
0.352
(
42.7
,
1476.8
,
57.7
,
0
,
0
,
-
44.631
)
4.8
0.131
(
37.9
,
1476.5
,
54.5
,
-
0.001
,
0.001
,
-
44.500
)
(
42.2
,
1475.1
,
55.5
,
0
,
0.070
,
-
44.532
)
4.3
0.070
(
33.5
,
1477.6
,
52.8
,
0
,
0
,
-
44.536
)
4.4
0.036
(
37.9
,
1476.5
,
54.5
,
-
0.001
,
0.001
,
-
44.500
)
(
34.9
,
1477.9
,
47.5
,
0
,
-
0.178
,
-
44.601
)
7.2
0.178
(
43.8
,
1474.9
,
56.3
,
0
,
0
,
-
44.600
)
5.9
0.100
(
37.9
,
1476.5
,
54.5
,
-
0.001
,
0.001
,
-
44.500
)
(
29.1
,
1477.6
,
47.8
,
0
,
0.144
,
-
44.385
)
8.8
0.147
(
30.1
,
1479.4
,
51.8
,
0
,
0
,
-
44.384
)
7.8
0.116
(
1500.1
,
500.0
,
1499.9
,
0
,
180.001
,
0.001
)
(
1501.4
,
508.6
,
1496.2
,
0
,
-
179.941
,
-
0.312
)
8.6
0.312
(
1500.4
,
506.3
,
1498.4
,
0
,
180
,
-
0.312
)
6.3
0.312
(
1500.1
,
500.0
,
1499.9
,
0
,
180.001
,
0.001
)
(
1499.1
,
505.0
,
1498.6
,
0
,
179.979
,
-
0.163
)
5.0
0.163
(
1499.5
,
503.3
,
1499.2
,
0
,
180
,
-
0.163
)
3.3
0.163
(
1500.1
,
500.0
,
1499.9
,
0
,
180.001
,
0.001
)
(
1501.9
,
492.0
,
1501.8
,
0
,
-
179.946
,
0.273
)
8.0
0.273
(
1501.0
,
494.6
,
1501.2
,
0
,
180
,
0.273
)
5.4
0.273
(
1500.1
,
500.0
,
1499.9
,
0
,
180.001
,
0.001
)
(
1498.5
,
503.9
,
1499.9
,
0
,
179.947
,
-
0.157
)
3.9
0.157
(
1499.4
,
503.0
,
1499.5
,
0
,
180
,
-
0.157
)
3.0
0.157
(
1500.1
,
500.0
,
1499.9
,
0
,
180.001
,
0.001
)
(
1498.7
,
511.9
,
1496.1
,
0
,
179.982
,
-
0.372
)
11.9
0.372
(
1499.0
,
507.4
,
1498.2
,
0
,
180
,
-
0.372
)
7.4
0.372
(
1303.3
,
-
102.3,1386.3
,
180,89.874
,
-
179.997
)
(
1307.8
,
-
97.8,1380.1
,
-
179.695,89.726,179.686
)
6.2
0.312
(
1303.6
,
-
97.8
,
1383.3
,
-
179.695
,
90
,
179.686
)
4.5
0.311
(
1303.3
,
-
102.3,1386.3
,
180,89.874
,
-
179.997
)
(
1305.2
,
-
101.2,1384.0
,
-
179.952,89.753,179.890
)
2.3
0.121
(
1301.5
,
-
101.2,1387.0
,
-
179.952
,
90
,
179.890
)
1.8
0.126
(
1303.3
,
-
102.3,1386.3
,
180,89.874
,
-
179.997
)
(
1308.6
,
-
99.7,1380.0
,
-
179.650,89.629,179.547
)
6.3
0.450
(
1306.1
,
-
99.7
,
1386.7
,
-
179.650
,
90
,
179.547
)
2.8
0.449
(
1303.3
,
-
102.3,1386.3
,
180,89.874
,
-
179.997
)
(
1307.9
,
-
100.4,1381.8
,
-
179.804,89.694,179.794
)
4.6
0.203
(
1305.8
,
-
100.4,1387.4
,
-
179.804,90,179.794
)
2.5
0.202
(
1303.3
,
-
102.3
,
1386.3
,
180
,
89.874
,
-
179.997
)
(
1307.6
,
-
101.2,1382.5
,
-
179.782,89.749,179.604
)
4.3
0.393
(
1305.7
,
-
101.2,1387.1
,
-
179.782,90,179.604
)
2.4
0.393Figure 11
Translation error of calibration result.Figure 12
Rotation error of calibration result.As shown in Figures11 and 12, it is clear that the calibration accuracy by our proposed method is no more than 8 mm for relative translation and 1
° for relative rotation, which indicates that calibration errors are relatively small. This precision level is quite satisfactory that can meet the requirement for most rough robot tasks, such as spraying, arc welding, or material transportation. So far, it can be concluded that the calibration method proposed in this paper is quite effective to solve the problem of base frame calibration for two cooperative robots.


## 5. Conclusion

A simple but effective method for calibrating the relative rotation and translation between base frames of two cooperative robots is presented in this paper. Greatest advantage of this method lies in its simple calibration setup and no other measuring apparatus required, which makes it quite feasible for applications in manufacturing works. The calibration procedure is based on a series of handclasp manipulations. Robot base installation angles are adopted to refine the preliminary calibration result.Experimental testbed of base frame calibration with two cooperative industrial robots Motoman VA1400 and HP20 is presented here. Calibration results are quite satisfactory which asserts the validity and effectiveness of this method. The only defect of this calibration method may lie in that the handclasp manipulation for cooperative robots is driven by human operator. If the tool center point of each robot cannot be exactly driven to one same point, error will expand in the calibration result, whereas as long as the human operator drive the robot carefully and make the handclasp manipulation as accurate as possible, the calibration error can be reduced to relatively small.



---

*Source: 576420-2014-04-24.xml*