You are on page 1of 15

Kinematic Calibration of Modular Reconfigurable Robots Using Product-ofExponentials Formula

I-Ming Chen* and Guilin Yang School of Mechanical and Production Engineering Nanyang Technological University Singapore 639798, Republic of Singapore e-mail: michen@ntu.edu.sg

Received June 20, 1996; accepted June 30, 1997

A modular reconfigurable robot system is a collection of individual link and joint components that can be assembled into different robot geometries for specific task requirements. However, the machining tolerance and assembly errors at the module interconnections affect the positioning accuracy of the end-effector. This article describes a novel kinematic calibration algorithm for modular robots based on recursive forward dyad kinematics. The forward kinematic model derived from the Product-ofExponentials formula is configuration independent. The error correction parameters are assumed to be in the relative initial positions of the dyads. Two calibration models, namely the six- and seven-parameter methods, are derived on the grounds of the linear superposition principle and differential transformation. An iterative least square algorithm is employed for the calibration solution. Two simulation examples of calibrating a three-module manipulator and a 4-DOF SCARA type manipulator are demonstrated. The result has shown that the average positioning accuracy of the end-effector increases two orders of magnitude after the calibration. 1997 John Wiley &
Sons, Inc.

* To whom all correspondence should be addressed.

Journal of Robotic Systems 14(11), 807 821 (1997) 1997 by John Wiley & Sons, Inc.

CCC 0741-2223/ 97 / 110807-15

808

Journal of Robotic Systems1997

1. INTRODUCTION
A modular reconfigurable robot system is referred to as a collection of individual link and joint components that can be arbitrarily assembled into a number of different robot configurations and geometries.1 Compared to a conventional industrial robot manipulator which is designed as a complete system for a limited set of tasks, a modular robot system can provide an inventory of functional components for a wide spectrum of tasks through the selection and reconfiguration of components. Several prototyping systems have been demonstrated in various research institutions.2 5 Applications of modularity designed robots have been seen in rapid deployable robot systems for field and hazardous material handling,2 space station based autonomous systems,6 and flexible manufacturing systems.7 However, one main concern in the modular robot system is the positioning accuracy of the endeffector. A series of robot modules are joined through connecting mechanisms to form a complete robot assembly. Factors like the machining tolerance, compliance, and wear of the connecting mechanism and misalignment of the connected module components may affect the positioning accuracy of the end-effector. Therefore, identifying the critical kinematic parameters to improve the positioning accuracy of the end-effector becomes a very important issue for modular reconfigurable robots. Modular robot calibration comes into play in at least two situations. One is after the reconfiguration of a robot geometry. In this case, new kinematic parameters of the robot have to be identified and corrected. The other is after a number of operations because of the possible loose module connections. The actual kinematic parameters may vary from the previously calibrated ones.

Because the robot geometries that a modular robot system can generate differ significantly, e.g., serial, branch, and close-loop types, conventional calibration schemes 8,9 dealing with a specific type of robots with serial geometry are not suitable under such circumstances. Furthermore, most of these algorithms are based on the Denavit-Hartenberg D-H. parameterization method,10 which uses a minimum set of parameters to describe the relationship of adjacent joint axes. When being adopted in a calibration procedure, this method is not amendable to direct identification because all of the parameters in the kinematic model are precisely defined and are unique.11 In addition, it has the singularity problem when neighboring joint axes are nearly parallel. Hayati,12 Stone,11 and Zhuang 13 focused on overcoming the singularity problem using modified D-H representations. However, these approaches may complicate the calibration model with arbitrarily defined parameters. In this article, we propose a novel singularityfree kinematic calibration modeling method for the modular reconfigurable robot system designed in Nanyang Technological University. This calibration method is based on the configuration independent forward kinematic algorithm for modular robots developed by Chen.1,7 The kinematic algorithm contains a graph-based modular assembly representation, termed Assembly Incidence Matrices AIM., which describe the connectivity and spatial relationship of connected modules, and a recursive dyad kinematics relating the relative positions of adjacent modules. The dyad kinematics employs the Productof-Exponentials POE. formula,10 which is a geometric representation of the kinematics of a manipulator based on the concept of one-parameter subgroup of Lie groups. The POE method is uni-

Chen and Yang: Calibration with Product-of-Exponentials Formula

809

form in modeling manipulators with both revolute and prismatic joints, and thus provides a very structured parameterization for an open chain manipulator. Significantly, the kinematic parameters in the POE model vary smoothly with changes in joint axes so that no special descriptions are required when adjacent joint axes are close to parallel. This fact makes the POE formula very suitable for kinematic calibration. Moreover, the POE formula is basically a zero reference position method, in which the description of the manipulator is in terms of the joint axes directions and locations in the zero reference positions.. It can be shown with this article that the POE formula is more convenient to automatically generate the kinematic calibration model for a modular robot. It is worth mentioning that Park et al.14 proposed a calibration method based on the POE formula for general open chain manipulators. This method works by assuming the kinematic errors exist in the joint axes and the home position of the tool frame. All kinematic parameters are expressed in the base frame so that the local frames attached to each link are unnecessary. Such a modeling scheme is suitable for a monolithically designed robot. For a modular robot, however, it becomes impractical since it is simple and clear to express the kinematic parameters in the local reference frames in this case. In our calibration model, a reference frame is defined on each module. The kinematic errors are assumed to exist in the relative initial position of two module frames and the relative joint angle in a dyad. Based on the linear superposition principle, the gross error in the endeffector position is the sum of the differential errors resulting from the errors in the initial positions of all dyads and the joint angles. Based on different error assumptions, six-parameter and seven-param-

eter models are derived. Both models are suitable for modular robots with different geometries. Finally, an iterative least-square algorithm is employed for calibration solution. Two simulation examples of calibrating a three-module manipulator and a SCARA type manipulator are demonstrated. The results have shown that the average positioning accuracy of the end-effector increases significantly after the calibration. This article is organized as follows. Section Two briefly describes the design of a modular robot system to be built in Nanyang Technological University for factory automation purposes. Section Three briefly mentions the configuration-independent modular robot kinematics. The kinematic calibration models for modular robots are introduced in Section Four. Two simulated calibration examples are given in Section Five to demonstrate the accuracy, effectiveness, and generality of this approach. It is also shown that the two calibration models are equivalent in the sense of calibrating a modular robot of the same geometry. Section Six summarizes the article.

2. MODULE DESIGNS
A novel modular reconfigurable robot system has been proposed by Chen and Yang7 for factory automation purposes. The main feature of this system is the use of a minimal number of module components to construct a robot geometry for a specific assembly task. Hence, the swiftness of the operation can increase. Two categories of modules are considered: link modules Fig. 1. and joint modules. Joint modules include simple one degree-of freedom revolute joints Fig. 2. and prismatic joints Fig. 3.. All modules are

Figure 1. Link module.

810

Journal of Robotic Systems1997

Figure 2. Revolute joint module.

designed based on the building block principle: cubic units with multiple connecting sockets. The connecting sockets are located on the faces of the cubes. Two modules are fastened together by a connector or an adapter through the sockets. The relative orientation of two modules can be changed just by fastening them through different connecting sockets. The geometry of the entire robot assembly can be altered in a similar way. The link module is a cube with fixed connecting sockets on each face. The designs of joint modules are similar, but with built-in linear or rotary actuators. Only the socket connected to the actuator can move; all other sockets are fixed. Two series of modules of different dimensions are considered. The smaller series will be mounted as distal modules to reduce the inertia load of the robot itself. Modules of the same size are joined by connectors Fig. 4a.; modules of different sizes are joined by adapters Fig. 4b..

3. MODULAR ROBOT KINEMATICS


To handle the diversified robot geometries generated from a collection of modular robot components, the kinematic model for modular reconfigurable robots need a notion of the module assembly sequence and an algorithm to determine the spatial relationship of the assembled modules. In the D-H parameterization model, these two identities are combined. A clean separation of the two identities is important in modeling modular reconfigurable robots for clarity and simplicity. An Assembly Incidence Matrix AIM. representation is proposed by Chen1,7 for the modular robot assembly sequences. This matrix describes the connectivity and geometry of connections the connected sockets. of all the modules in a robot assembly. One will be able to assemble a modular manipulator according to a given AIM. With such representation, kinematics, dynamics, assembly configuration enumeration, and

Figure 3. Prismatic joint module.

Chen and Yang: Calibration with Product-of-Exponentials Formula

811

Figure 4. Connectorradaptor.

calibration issues can be investigated separately. Solution strategies can be implemented based on the AIMs to achieve geometry independence. 3.1. Modular Robot Assembly Representation The AIM is based on the concept of kinematic graphs from mechanism analysis and synthesis.15 A robot, like a kinematic chain, comprises a collection of links and joints, and thus admits a graph representation in which vertices represent links and edges represent joints. It is known that this graph can be represented numerically as a vertex-edge incidence matrix in which the entries contain only 0s and 1s.16 The number of columns and rows in this matrix are equal to the numbers of edges and vertices in the graph, respectively. Entry i , j . is equal to 1 if edge j is incident on vertex i , otherwise, it is equal to zero. To further describe the geometry of the module connections, we use labels to identify all the connecting sockets. The 1s in the incidence matrix of the robot graph have provided the connectivity of all link and joint modules, and thus substituting the 1s with the labels of the connected sockets on re-

spective modules indicates exactly how those modules are assembled. The types of links and joints used in the robot assembly can be shown by adding one additional row and column to the matrix that specify the types of link and joint modules. This incidence matrix with labels of connected sockets and types of connected links and joints is the AIM. Once it is given, the assembly configuration of the robot is fully described. The socket labeling scheme is non-unique. It can be named by numbers,1 or the direction vectors of the connecting socket 7 with geometric definitions of those labels given. The assembly configuration of the following AIM is shown in Fig. 5. It is the AIM representation for the module robot system mentioned in the previous section.

Figure 5. An assembly configuration.

z, x. yz , x . 0 0 A G . s 0 0 0 0 Jp 2

x, y. 0 yy , x . 0 0 0 0 0 Jv1

yx , y . 0 0 yx , y . 0 0 0 0 Jv 1

0 0 z, x. 0 x, z. 0 0 0 Jr 1

0 0 0 z , yx . 0 yx , y . 0 0 Jr 2

0 0 0 0 yx , yz . 0 x , yz . 0 Jv 2

0 0 0 0 0 z, y. 0 x, z. Jp 3

L p1 Lc2 Lr1 Lr1 L c1 , Lp2 Lc2 Lc2 0

812

Journal of Robotic Systems1997

where L p i , L r i , and L c i i s 1 for large series and 2 for small series. denote the types of links; Jp i , Jr i , and Jv i i s 1 for a large connector, 2 for an adapter, and 3 for a small connector. denote the types of the joints. In our modeling scheme, all modules are considered as links, i.e., links from prismatic joint modules, revolute joint modules, and cubic link modules denoted by L p i , L r i , and L c i respectively; the connectorradapter is considered a joint between two connected modules. The connector is treated as a revolute joint Jr i when it is fastened to the rotating socket of a revolute joint module; a prismatic joint Jp i when it is fastened to the translating socket of a prismatic joint module; and a virtual joint Jv i when it is fastened to two fixed sockets of any two modules. The two modules are rigidly connected through the virtual joint. The , . entry in A G . is termed a port vector , which indicates the location of the connected socket and the orientation of the connector with respect to the axis of the local module coordinate frame.7 3.2. Dyad Kinematics Once the AIM of a modular robot is given, we are able to derive the forward kinematics of the robot. In our design, multiple branching robot structures are considered as well. The forward kinematics includes the forward transformation of every branch with respect to the base frame. The dyad kinematics, which relates the motion of two connected modules under a joint displacement, is proposed1,7 in this case. Applying dyad kinematics to every dyad and following the traversing order of the modules generated from the graph-traversing algorithms for the given AIM, the motions of every module in the branched modular robot can be derived. Let vi and vj be two adjacent links connected by a joint e j , as shown in Figure 6. Also let joint e j and vj be link assembly j. Denote the module coordinate frame on vi by frame i , vj by frame j. The relative position of the dyad, vi and vj , with respect to frame i , under a joint angle, qi , can be described by a 4 = 4 homogeneous matrix,
sj q j Ti j q j . s Ti j 0 . e ,

Figure 6. Two adjacent links.

the frame with respect to a base reference frame. In Equation 1., Ti j 0. is the initial position of frame j relative to frame i , and Ti j 0 . s R i j 0. 0 d i j 0. 1 , 2.

where R i j 0. g SO 3. refer to Appendix for definition. and d i j 0. g R 3 are the initial orientation and position of link frame j relative to frame i , respectively. The twist of link assembly j, s j , is written as sj s w i 0 vj 0 , 3.

where w j is a skew-symmetric matrix related to wj s wj x , wj y , wj z .T ., the unit directional vector of the joint axis expressed in frame j, by 0 w js wj z ywj y ywj z 0 wj x wj y ywj x ; 0 4.

1.

where s j g se3. refer to Appendix for definition. is the twist of joint e j expressed in frame j, Ti j 0. and Ti j q j . g SE 3. refer to Appendix for definition.. In the following context, the position of a module is always referred to as the 4 = 4 homogeneous matrix, including both the orientation and position of

and v j s vj x , vj y , vj z .T, is the position vector of the joint axis relative to frame j. The twist, s j , can also be represented by a six-dimensional vector through a mapping: s j s j s v j , wj . g R 6= 1, termed twist coordinates. For virtual joints, s j s 0, 0., thus Ti j q j . s Ti j 0., a constant. For revolute joints, s j s 0, wj ., where wj is the unit directional vector of the joint axis expressed in frame j. For prismatic joints, s j s v j , 0., where v j is the unit directional vector of the joint axis with respect to frame j.

Chen and Yang: Calibration with Product-of-Exponentials Formula

813

3.3. Forward Kinematics of an Open Chain Modular Manipulator-POE Formula We consider the calibration of serially connected modular robots because serial topology is the most popular robot manipulator structure in practical use. For serial type robots, the traversing order of the module is very obvious. Let the base module frame of the robot be the frame 0. Then the forward kinematics of a modular manipulator with n q 1. modules is T0 n q1 , q2 , . . . , qn . s T01 q1 . T12 q2 . Tny 1 , n qn .
1 q 1 T 0 . e s 2 q 2 T n q n , 5 . . s s T01 0 . e s 12 ny 1 , n 0 e

4.1. Geometric Errors in a Dyad Our kinematic calibration is based on the local frame representation of dyads described in Equation 1.. Two assumptions are made in the dyad of link i y 1 and i of a modular robot chain here: 1. small geometric errors exist in the initial position Tiy 1, i 0., and the joint angle qi ; and 2. the twist s i or s i has no geometrical error and remains the nominal values. Under these assumptions, all errors including the errors of the twist in the dyad are lumped into errors in the initial position Tiy 1, i 0. and the joint angle qi . The term, fr S dS, in Equation 6. thus can be eliminated. Seven geometric errors are introduced into a dyad in totalsix of which are from Ti , iy 10. g SE 3. and one from the joint angle qi . Since the parameters can fully describe the geometric errors in a dyad, our calibration model is parametrically complete. Let the small error in the initial position be dTiy 1, i 0.. This error can be realized by an infinitesimal translation Trans dx i , dyi , dz i . and followed by an infinitesimal rotation, Rot x i , yi , z i ., where dx i , dyi , and dz i are infinitesimal displacements along x , y, and z-axis of link frame i , respectively, and x i , yi , and z i are infinitesimal angles about x , y, and z-axis of link frame i , respectively. According to the definition of differential transformation, we have 1 0 Trans dx i , dyi , dz i . s 0 0 1 zi Rot x i , yi , z i . s y yi 0 0 1 0 0 y z i 1 xi 0 0 0 1 0 dx i dyi , dz i 1 yi y x i 1 0

where T0 n q1 , q2 , . . . , qn . or just simply T0 n , represents the position of the end-effector frame n with respect to the base frame. Note that Equation 5. is the local frame representation of manipulator kinematics using the POE formula.7

4. KINEMATIC CALIBRATION FOR MODULAR ROBOTS


Kinematic calibration typically begins with a linearization of the forward kinematic equations. Let the nominal forward kinematics be T s f T0 , S, q ., where T0 , S, and q represent the initial positions, twist coordinates, and joint angles respectively, i.e., T 0 s T 0 1 0 . , T 1 2 0 . , . . . , T n y 1 , n 0 .. T , S s s 1 , s 2 , . . . , s n .T, and q s q1 , q2 , . . . , qn .T. The linearized equation is of the form dT s

7.

f T0

dT0 q

f S

dS q

f q

dq ,

6.

The differential, dT , can be interpreted as the positioning error of the end-effector resulting from the kinematic errors that existed in T0 , S, and q, so that it is equal to the difference between the theoretical position and the measured position of the endeffector. The kinematic calibration for an open chain manipulator involves making several measurements of the error in the position of the end-effector, dT , and determining the optimal dT0 , dS, and dq that minimize the error in the least-squares sense, e.g., minimizing dT y

0 0 . 0 1 8.

After adding the small error dTiy 1, i 0., the corrected or measured. position of link frame i , Tiy 1, i 0., relative to link frame i y 1 becomes Tiy 1 , i 0 . s Tiy 1 , i 0 . q dTiy 1 , i 0 . s Tiy 1 , i 0 . Trans dx i , dyi , dz i . Rot x i , yi , z i . . 9.

f T0

dT0 y

f S

dS y

f q

dq .

The differential transformation is expressed in frame i. Hence, Equation 9. follows the right multiplicative differential transformation of Tiy 1, i 0..9

814

Journal of Robotic Systems1997

Subtracting Tiy 1, i 0. from both sides of the equation, we get dTiy 1 , i 0 . s Tiy 1 , i 0 . w Trans dx i , dyi , dz i . Rot x i , yi , z i . y I4= 4 x

0 n is of the form Similar to Equation 11.,


0 z0 n 0n s y y0 n 0 y z 0 n 0 x0 n 0 y0 n y x 0 n 0 0 dx 0 n dy0 n . 16 . dz 0 n 0

i, s Tiy 1 , i 0 .
where

10 .

4.3. Linear Superposition 0 zi is y yi 0 y z i 0 xi 0 yi y x i 0 0 dx i dyi . dz i 0 Based on the assumptions mentioned in Section 4.1 and Equation 5., the errors in all the dyads contribute to the gross error of the position of the end-effector, dT0 n . Thus, it can be written as a function of the errors of initial position of the dyads, dTiy 1, i 0., and errors of joint angles, dqi . Since the geometric errors are all very small, the principle of linear superposition can be applied. We assume that the gross errors dT0 n is the linear superposition of dTiy 1, i 0. and qi i s 1, 2, . . . , n.. Let dT0 n s dT0Tn0 . q dT0qn , 17 .

11.

Let the small error in joint i s angle be dqi , then the corrected joint angle qi can be given by qXi s qi q dqi . 4.2. Gross Geometric Error in the Completed Robot Now let us look at the gross geometric error of the end-effector position between the actual one and the nominal one. For simplicity, we assume the gross error can be realized by an infinitesimal rotation Rot x 0 n , y0 n , z 0 n . and followed by an infinitesimal translation Trans dx 0 n , dy0 n , dz 0 n ., where x 0 n , y0 n , and z 0 n are the rotation angles about the axes of the base frame, and dx 0 n , dy0 n , and dz 0 n are the displacements along the axes of base frame, respectively. It follows that
X T0 n s T0 n q dT0 n

12 .

where dT0Tn0 . and dT0qn denote the differential errors of T0 n due to the errors of initial positions and joint angles of dyads, respectively. Then dT0Tn0 . s s dT0qn s
qT T0 , iy 1 w Tiy 1 , i 0. y Tiy 1 , i 0. x e s i, n
i i

is 1 n is 1 n

qT , T0, iy 1 dTiy 1, i 0. e s i, n
i i

18 .

is 1

q qd q . y e s q xT . T0, iy 1Tiy 1, i 0. w e s i, n
i i i i i

s Trans dx 0 n , dy0 n , dz 0 n . Rot x 0 n , y0 n , z 0 n . T0 n . 13.

19 . Equation 18. sums up all the initial position errors of the dyads by first converting them into the base frame coordinates. Likewise, Equation 19. sums up the error of joint angles in all dyads written in the base frame. The forward kinematics of link frame j relative to link frame i i F j . is represented by Ti j . Especially, Ti j s I 4 = 4 identity matrix. when i s j. Substituting 10. into 18., we obtain dT0Tn0 . s
qT . ies T0, iy 1Tiy 1, i 0. i, n
i i

The gross error, dT0 n , is expressed in the base frame. Hence, Equation 13. follows the left multiplicative differential transformation of T0 n .9 dT0 n s w Trans dx 0 n , dy0 n , dz 0 n . Rot x 0 n , y0 n , z 0 n . y I4= 4 x T0 n ,

0 n T0 n , s
and
y1 0 n s dT0 n T0 n .

14.

20 .

is 1

15.

Because dqi is very small, we can use first order approximation to reduce the exponential series to

Chen and Yang: Calibration with Product-of-Exponentials Formula

815

the simplified form in 21..


i q iq d q i . y e s i q i s e s i d q iq q i . y e s i q i es i d q i y I . e s i q i ses i q i . s s i dqi e s

Converting Equation 24. into the adjoint representation see the Appendix for details., we get
n

0n s 21 .

is 1

AdT

0 , iy i

AdT

i y 1 , i 0 .

i q s i dqi . . . 29 .

Substituting 21. into 19., we get


n

dT0qn s

is 1

qT . s i dqi e s T0, iy 1Tiy 1, i 0. i, n


i i

22 .

X y1 . Because logT0 is also an element of se3. see n T0 n Appendix for details., it has a 6 = 1 vector represenX y1 . . tation, denoted by log k T0 n T0 n . Combining 27 and 29., we obtain the essential equation for modular robot calibration X y1 . log k T0 n T0 n s

n is 1

Putting 20. and 22. back to 17., the gross error of the end-effector position, dT0 n , becomes dT0 n s
qT . i q s i dqi / e s T0, iy 1Tiy 1, i 0. i, n
i i

AdT

0 , iy 1

AdT

i y 1 , i 0 .

i q s i dqi . . . 30 .

23 .

is 1

From Equation 15., we find that


y1 0 n s dT0 n T0 n

Equation 30. also can be expressed in the following form 31 . y s Ax , where


X y1 . 6= 1 y s log k T0 , n T0 n g R w x s column 1 , 2 , . . . , n , dq1 , dq2 , . . . , dqn x g R 7 n= 1, and w A s A d T , A d S x g R 6= 7 n with A d T s roww AdT 01 0 . , AdT 01 AdT12 0 . . , . . . , AdT 0, ny 1 AdT .x g R 6= 6 n , ny 1, n 0 . 6= n A dS s A dT S g R , in which S s diagw s 1 , s 2 , . . . , s n x g R 6 n= n.

is 1

qT i q s i dqi / e s T0, iy 1Tiy 1, i 0. i, n


i i

y1 T0 n .

24 .

0 n can be given by Also,


X y1 y1 0 n s dT0 n T0 X . y1 25 . n s T0 n y T0 n T0 n s T0 n T0 n y I , X where T0 n is the actual or measured position of end-effector frame n with respect to the base frame. X X y1 If T0 n and T0 n are sufficiently close, then T0 n T0 n is in the neighborhood of the identity matrix. Hence, X y1 . X y1 . X y1 . log T0 n T0 n s T0 n T0 n y I y T0 n T0 n y I r2 X y1 . q T0 n T0 n y I r3 y . . . . 3 2

26.

Using first order approximation, we get


y1 . 0 n s log T0X n T0 n .

27 .

x is the error parameters to be identified for a modular robot assembly. The quantities in matrix A y1 and T0 n are determined from the nominal model. X T0 n can be found from the actual measured data. Equation 31. is a parametric complete calibration model with seven parameters. We are able to reduce the complexity of this model further by assuming that the joint angle qi has no errors. All geometric errors are attributed to the errors in initial positions of the dyads, Tiy 1, i 0.. By setting dT0qn s 0 and following the same steps from 18. 30., we obtain a six-parameter calibration model similar to Equation 31., y* s A*x * , where
X y1 . 6= 1 y* s y s log k T0 , n T0 n g R

0n, i , and Because s i all belong to se3., they can also be represented as 6 = 1 vectors as follows. 0 n 0 n s dx 0 n , dy0 n , dz 0 n , x 0 n , y0 n , z 0 n . , i i s dx i , dyi , dz , x i , yi , z i . ,
T T s i s i s v , w . s vx i , v y i , vz i , wx i , wy i , wz i . . T T

32.

x * s column w 1 , 2 , . . . , n x g R 6 n= 1 , and A* s A d T s row AdT 01 0 . , AdT 01 AdT12 0 . . , . . . , AdT 0 , ny 1 AdT ny 1 , n 0 . . g R 6= 6 n .

28 .

816

Journal of Robotic Systems1997

4.4. A Least-Squares Algorithm for Kinematic Calibration To improve the accuracy of the actual model, the kinematic calibration procedure usually needs to measure the position of the end-effector in several different robot postures. For i th measurement, we obtain a yi . The corresponding A i can be determined from the nominal model. After several measurements, we can stack yi and A i to form the following equation:

7-parameter model, the errors of joint angles can be directly derived from the final calibrated kinematic vector X ; the error parameters of the initial positions in the dyads can be obtained by
1 . X .. i s log k Tiy y 1 , i 0 Tiy 1 , 1 0 .

35 .

In the case of 6-parameter model, only Equation 35. is needed.

5. COMPUTER SIMULATIONS

s Ax , Y
where

33 .

s columnw y1 , y2 , . . . , ym x g R 6 m = 1, Y m s the number of measured end-effector positions, x s the error parameters in the dyads to be determined., s columnw A 1 , A 2 , . . . , A m x g R 6 m = 7 n for 7A parameter model 31.. It is a 6 m = 6 n matrix for the 6-parameter model 32..
The least squares solution for x can be obtained by

In this section, two simulation examples are given to demonstrate the accuracy, effectiveness, and generality of the proposed calibration algorithms. For simplicity, a three-module 2 DOF. robot calibration is provided first. It is followed by the calibration of a seven-module 4 DOF. SCARA type modular manipulator. Example 1 (A 3-module robot). As shown in Figure 7, a modular manipulator consisting of two large revolute joint modules and one small cubic link module is given. The AIM and other kinematic quantities are given as follows. z, x. yx , y . 0 Jr 1
T

TA . xs A

y1

T Y , A

34.

A G . s

0 z, y. yz , x . Jr 2

L r 1 Base . L r1 Lc2 0
T

TA .y1A T is the pseudoinverse of A . where A


The solution of Equation 33. can be further improved through iterative substitution. Let X denote the vector of the initial positions of the dyads and the joint angles and initialize X using the nominal model. Based on the measured data and Equation 34., we can obtain the error parameter vector, x. The vector X is updated by substituting x into Equation 9.. The same procedure is repeated until the norm of the error vector, 5 x 5, approaches zero and the vector X converges to some stable values. Then X represents the final calibrated paX rameter vector, i.e ., X T 0 , dq . s T 010 ., . . T12 0 , . . . , Tny 1, n 0 , dq1 , dq2 , . . . , dqn .. It has been shown that this iteration method is computationally efficient. In general, only three or four iterations are needed to achieve the prescribed precision 10y5 .. Since the error vector, x , will converge to zero after the iterations, it no longer represents the actual kinematic errors in the dyads. To calibrate the position of the end-effector, we directly put the final calibrated vector, X , into the kinematic model. However, the actual kinematic errors in the dyads can be recovered based on Equation 10.. For the

s 1 s 0, 0, 0, 1, 0, 0 . , s 2 s 0, 0, 0, 0, 0, 1 . ; 0 0 T01 0 . s 1 0 0 1 T12 0 . s 0 0 1 0 0 0 y1 0 0 0 0 1 0 0 0 0 1 0 0 0 , 350 .0 1 0 0 . 312 .5 1

All the angles are expressed in radians, and the lengths are in millimeters. To validate the proposed calibration model, we presented here a simulated calibration result and consider both 6-parameter and 7-parameter models. The measured end-effector positionssimulated. are obtained from Equation 5. by a set of preset kinematic errors. This procedure is stated as follows.

Assign kinematic errors i and dqi i s 1, 2. listed in Table I..

Chen and Yang: Calibration with Product-of-Exponentials Formula

817

Table I. Calibration results 3-module.. 7-Parameter model 0.4248 0.2009 y0.4002 0.000351 0.001001 y0.002499 0.0006 y0.4243 0.5014 0.002000 y0.003297 0.001000 0.000351 y0.001000 6-Parameter model 0.4248 0.2007 y0.4001 0.000702 0.001001 y0.002500 0.0004 y0.4244 0.5009 0.001999 y0.003298 0.002001 0. 0.

Preset errors dx 1 dy1 dz1 x1 y1 z1 dx 2 dy 2 dz 2 x2 y2 z2 dq1 dq2 0.5 0.2 y0.4 0.0015 0.001 y0.0025 0.25 y0.35 0.5 0.002 y0.0025 0.002 0. 0.

Figure 7. A three-module manipulator.

Find the actual initial position in each dyad

iqI . Tiy 1 , i 0 . s Tiy 1 , i 0 .

i s 1, 2 .

Calculate the end-effector positions


X 1 q 1 q d q 1 . T 0 . e s 2 q 2 q d q 2 . q1 , q2 . s T01 0 . e s T02 12

The same set of prescribed errors is used for both models. The joint angle errors in 7-parameter model

are all set to zero, i.e., dq1 s dq2 s 0. Solving 33. iteratively, we obtain the solutions for both models, respectively, as listed in Table II. It has been shown that the calibrated end-effector positions based on either 6-parameter or 7parameter models are very close to the measured one. This indicates that both 6-parameter and seven-parameter models are correct and effective. From a computational point of view, the 6-parame-

Table II. Positions before and after calibration 3-module.. Joint angle Nominal position 0.433013 0.250000 0.866025 0 0.432215 0.250236 0.866363 0 0.432214 0.250235 0.866361 0 0.432216 0.250234 0.866362 0 q s r6, 5r3.T 0.750000 0.433013 y0.500000 0 0.748153 0.436877 y0.499428 0 0.748153 0.436878 y0.499428 0 0.748154 0.436879 y0.499429 0 y0.500000 0.866025 0 0 y0.503467 0.864020 0.001609 0 y0.503467 0.864022 0.001608 0 y0.503468 0.864022 0.001607 0 y156.250 270.633 350.000 1 y156.491 270.556 350.730 1 y156.491 270.557 350.729 1 y156.491 270.556 350.729 1

Measured position

Calibrated position 7-parameter. Calibrated position 6-parameter.

818

Journal of Robotic Systems1997

ter model is better than 7-parameter due to a fewer number of parameters needing to be identified. Comparing the preset errors with the errors derived from the two calibration models, which are listed in Table II, it is observed that the preset errors cannot be fully recovered. Six out of the 14 error parameters in the 7-parameter model and seven out of the 12 error parameters in the 6-parameter model exceed 1% precision. There are two reasons to explain this situation. 1. Basically, four independent error parameters are enough for calibrating one dyad. With either the 6-parameter or the 7-parameter model, redundant error parameters exist, which cannot be guaranteed to be recovered. 2. Some error parameters are coupled due to the geometry of the robot. Taking the 7-parameter model as an example, the orientation error in z-direction, z i , and the error of joint angle, dqi , in dyad i i s 1, 2. cannot be distinguished from each other because both of them describe the differential rotations about the same axis. This is very similar to solving the inverse kinematics of a robot when joint singularity exists. Nevertheless, both of these two sets of calibration results are equivalent in the sense of calibrating the end-effector positions. The precision of the end effectors position is the main concern in the robot calibration. Whether the error parameters can be fully recorded or not becomes less important.

Figure 8. A SCARA type modular manipulator.

Example 2 (A 4-DOF SCARA type modular manipulator). As shown in Figure 8, a 4 DOF SCARA type modular manipulator consists of seven modules, i.e., three large revolute joint modules, two large cubic link modules, one small prismatic joint module, and one small cubic link module. The AIM is given as follows.

z , yy . yx , y . 0 A G . s 0 0 0 0 Jr 1

0 z, y. yy , x . 0 0 0 0 Jv 1

0 0 z, x. yz , x . 0 0 0 Jr 1

0 0 0 y, z . yx , yz . 0 0 Jv1

0 0 0 0 z, x. yz , x . 0 Jr 2

0 0 0 0 0 z, x. yz , x . Jp 3

Lr1 L c1 Lr1 L c1 Lr1 Lp2 Lc2 0 .

Based on the given AIM, the calibration model can be automatically generated. Similar to Example 1, we first preset small geometric errors i i s 1, 2, . . . , 6. into dyad i, and then compute a number

of measured positions. For convenience, all i in the dyads are preset to identical values, i.e., i s 1.0, 1.0, 1.0, 0.0025, 0.0025, 0.0025.T. Using the sixparameter model, the identified kinematic errors

Chen and Yang: Calibration with Product-of-Exponentials Formula

819

are:

X1 s y0 .0053, 0 .9978, 1 .0098, y0 .005656, 0 .002496, 0 .002511. ,


T

X 3 s 0 .00004, 1 .1342, y0 .0053, 0 .004991, 0 .005019, 0 .009729. ,


T

X5 s 2 .7713, y0 .00003, 0 .0053, 0 .005047, 0 .004975, 0 .002033. ,


T

X6 s 1 .0015, 0 .9963, 0 .005330, 0 .002528, 0 .002534, 0 .002034. .


T

Because joint 2 in dyad 2 module 1 and 2. and joint 4 in dyad 4 module 3 and 4. are virtual joints, the two modules in both dyad 2 and dyad 4 are rigidly connected. Here, we consider each of these dyads as a rigid body. By doing so, the errors in such a dyad are considered to have occurred in its preceding dyad and succeeding dyad. For instance, the preset errors 2 in dyad 2 will be lumped into the errors of both dyad 1 base module and module 1. and dyad 3 module 2 and 3.. Thus, instead of recovering 2 and 4 , we assume X 2 s X 4 s 0, 0, 0, 0, 0, 0.T. The computation result also reflects that the preset errors can not be fully recovered. On the other hand, the average positioning accuracy significantly increases two orders of magnitude after calibration, which is shown in the results listed in Table III. Since this manipulator contains various types of joints, i.e., prismatic joints, revolute joints, and virtual joints, the proposed algorithm is a general approach.

6. CONCLUSION
We introduced a kinematic calibration model for serially connected modular reconfigurable robots. This method is based on recursive dyad kinematics for modular robots. The kinematic errors are attributable to the error in the initial positions in the dyads and joint angles. Applying differential tranformation techniques and the linear superposition principle, we are able to derive two compact kinematic models, namely the 6-parameter model and the 7-parameter model. Two simulation examples for calibrating a 3-module robot 2 DOF. and a 7-module SCARA type 4 DOF. modular manipulator are demonstrated. The result has shown that both models are simple and robust for modular robot applications. Furthermore, these models are configuration-independent, i.e., they can be applied to any serially connected modular robot configuration regardless of the number and types of modules.

Table III. Positions before and after calibration SCARA type.. Joint angle Nominal position q s r6, 0, yr6, 0, r3, 100.T 0.5 y0.866025 0 0 0.500011 y0.866037 y0.005310 0 0.500035 y0.866088 y0.005310 0 y0.866025 y0.5 0 0 0 0 y1 0 653.109 175.000 y187.5 1 664.664 183.145 y184.724 1 664.711 183.153 y184.764 1

Measured position

y0.865966 y0.499880 y0.017704 0 y0.866016 y0.499925 y0.017749 0

0.012690 0.013461 y0.999866 0 0.012761 0.013486 y0.999891 0

Calibrated position 6-parameter.

820

Journal of Robotic Systems1997

Recent research has shown that these calibration models are also suitable for tree structured modular manipulators with hybrid geometry. Furthermore, the overall calibration algorithm can be applied to general open chain industrial manipulators without modification. A simulated calibration study using the POE and the proposed algorithm on an ASEA IRB6r2 robot 5 DOF. has been completed and is successful. Our current research is focused on developing experimental calibration procedures for modular robots based on this approach.

Lie Algebra of SE(3) se(3) The Lie Algebra of SE3., denoted se3., can be defined as w se 3 . s ss 0

v : v g R3 , w g so 3. 0

4.

APPENDIX Special Orthogonal Group SO( 3)


SO 3 . s R g R 3= 3 : RR T s I , det R . s 1 4 1.

where s admits a 6-vector presentation: s s v, w ., termed a twist. The twist s denotes the line coordinate of the screw axis of a general rigid body motion rotation and translation.. w is the unit directional vector of the axis; v is the position of the axis relative to the origin. If p g R 3 is a point on the axis and h is the ratio of translational displacement to the angular displacement, then v s yp = w q hw. In sq exponential form, g s e g SE3., where q g R is the angle of rotation. Adjoint Representation An element of a Lie group SE3. can be identified with a linear mapping between its Lie algebra via the adjoint map. The adjoint map of g s p, R . g SE3., is Ad g s Ad g s . s R 0 R 0 pR , R pR R v w

SO 3. is also referred to as the rotation group on R 3. Every rigid body rotation about a fixed axis can be identified with an R g SO 3.. Lie Algebra of SO(3) so(3) The Lie algebra of SO 3., denoted so3., is a vector space of 3 = 3 skew-symmetric matrices, such that so 3 . s w g R 3= 3 : w T s yw 4 0 w s wz ywy .T ywz 0 wx
3

5. 6.

wy ywx 0

2. Exponential of se(3) An important connection between a Lie group, SE3., and its Lie algebra, se3., is the exponential mapping, defined on each Lie algebra. Let s g se3., 2 2 s s v, w . and 5 w 5 2 s wx q wy q wz2 , then
w s e s e 0

where w s wx , wy , wz g R . w corresponds to the axis of a rigid body rotation. In exponential form, q , where q g R is the angle of rotation. R s ew

Special Euclidean Group SE( 3)


SE 3 . s g s

Av g SE 3 . 0

7.

R 0

p : R g SO 3 . , p g R 3 1

3.

where sin 5 w 5 5w 5 5w 5
2

where R is interpreted as a rigid body rotation and p as a rigid body translation. SE3. represents the group of general rigid body motions including rotation and translation. It can also be written as an ordered pair, g s p, R ..

sIq ew

w q

1 y cos 5 w 5 5w 52 5w 53

w 2 w 2

8.

AsIq

1 y cos 5 w 5

w q

5w 5 y sin 5 w 5

9.

Chen and Yang: Calibration with Product-of-Exponentials Formula

821

Logarithm of SE(3) A matrix logarithm also establishes a connection between a Lie group and its Lie algebra while the Lie group is in the neighborhood of the identity. Let R g SO 3. such that trace R . / 1 and 1 q 2 cos s trace R ., 5 5 - , then log where w s Ay 1 s I y 1 2 w q R 0 p w s 1 0 Ay1 p g se 3 . 0 10.

2 sin

R y RT .

11 . 5w 52 12 .

2 sin 5 w 5y5w 5 1 q cos 5 w 5. 25w 5 2 sin 5 w 5

If is very small, w s R y R T .r2.


The authors thank Mr. Chee Tat Tan of the School of Mechanical and Production Engineering, Nanyang Technological University for providing the 4 DOF SCARA robot calibration example. This work was supported in part by the Ministry of Education, Singapore, under Research Grant RG64-96.

REFERENCES
1. I.-M. Chen, Theory and applications of modular reconfigurable robotic system, Ph.D thesis, California Institute of Technology, CA, 1994. 2. D. Schmitz, P. Khosla, and T. Kanade, The CMU reconfigurable modular manipulator system, Carnegie Mellon Univ., CMU-RI-TR-88-7, 1988. 3. R. Cohen, M. G. Lipton, M. Q. Dai, and B. Benhabib, Conceptual design of a modular robot, ASME J. Mechanical Design, 114, 117 125, 1992. 4. T. Fukuda and S. Nakagawa, Dynamically reconfigurable robotic system, Proc. IEEE Int. Conf. Robotics and Automation, 1988, pp. 1581 1586. 5. K. H. Wurst, The conception and construction of a modular robot system, in Proc. 16th Int. Sym. Industrial Robotics (ISIR), 1986, pp. 37 44.

6. R. O. Ambrose and D. Tesar, Modular robot connection design, Fourth ASME Conference on Flexible Assembly Systems, Scottsdale, AZ, 1992, pp. 41 48. 7. I.-M. Chen and G. Yang, Configuration independent kinematics for modular robots, IEEE Int. Conf. Robotics and Automation, Minneapolis, MN, 1996, pp. 1440 1445. 8. J. M. Hollerbach, A survey of kinematic calibration, The Robotics Review I, MIT Press, Cambridge, MA, 207 242, 1989. 9. B. W. Mooring, Z. S. Roth, and M. R. Driels, Fundamentals of Manipulator Calibration, A Wiley-Interscience Publication, John Wiley & Sons, New York, 1991. 10. J. Denavit and R. S. Hartenberg, A kinematic notation for lower pair mechanisms based on matrices, J. Applied Mechanics, 2, 215 221, 1955. 11. H. W. Stone, Kinematic Modeling, Identification, and Control of Robot Forward Manipulators, Kluwer, Boston, MA, 1987. 12. S. Hayati, Robot arm geometric link parameter estimation, IEEE Int. Conf. Decision and Control, San Antonio, TX, 1983, pp. 1477 1483. 13. H. Zhuang, Z. S. Roth, and F. Hamano, A complete and parametrically continuous kinematic model for robot manipulators, IEEE Trans. Robotics and Automation, 8, 451 463, 1992. 14. F. C. Park and K. Okamura, Kinematic calibration and the product of exponential formula, in Advances in Robot Kinematics and Computational Geometry, MIT Press, Cambridge, MA, 1994, pp. 119 128. 15. L. Dobrjanskyj and F. Freudenstein, Some applications of graph theory to the structural analysis of mechanisms, ASME J. Engineering for Industry, 89, 153 158, 1967. 16. N. Deo, Graph Theory with Applications to Engineering and Computer Science, Prentice-Hall, 1974. 17. F. C. Park, Computational aspect of manipulators via product of exponential formula for robot kinematics, IEEE Trans. Auto. Contr. 399., 643 647, 1994. 18. M. L. Curtis, Matrix Groups, Springer-Verlag, New York, 1984. 19. R. W. Brockett, Robotic manipulators and the product of exponential formula, Int. Symp. Math. Theory of Networks and Systems, Beer Sheba, Israel, 1983, pp. 120 129. 20. R. Murray, Z. Li, and S. Sastry, A Mathematical Introduction to Robotic Manipulation, CRC Press, USA, 1994. 21. F. C. Park, J. E. Bobrow, and S. R. Polen, A Lie group formulation of robot dynamics, International Journal of Robotics Research, 146., 609 618, 1995. 22. R. Johnsonbaugh, Discrete Mathematics, Macmillan, New York, NY, 1984.

You might also like