Vous êtes sur la page 1sur 138

Kinematic Analysis and Calibration of Modular

Parallel Robots

Lim Wee Kiat

School of Mechanical & Production Engineering

A thesis submitted to the Nanyang Technological University


in ful lment of the requirement for the degree of
Master of Engineering

2000

Acknowledgment
First and foremost, I want to thank God for giving me the wisdom, care, love and his
abundant blessings, without which this work would not be possible.
Next, I would like to express my sincere gratitude to my advisors, Dr. Yeo Song Huat
and Dr. Chen I-Ming, for their continuous guidance and support during this research.
Their visions and broad knowledge play an important role in the ful llment of this work.
I am also grateful to my senior, Dr. Yang Guilin, for his intellectual advice and the endless
encouragement he has given me. Dr. Yang is always there to lend a helping hand and he
is always keen in teaching me, sharing with me his ideas and approach in problem solving.
His role is equally important in guiding me in the ful llment of the research work.
Deepest gratitude is extended to my family members. Especially to my parents who
are constantly giving me their unconditional love and care, and to my sisters, Vicky
and Vivien who are always ready to help. Deepest appreciation is also extended to my
girlfriend, Anne, for her support, love and care.
I would also like to thank Dr. Gerald Seet, Mr. Lim Eng Cheng, Ms. Agnes Tan, Mr.
Yow Kim San and Ms. Ng for providing me an excellent research environment at the
Robotics Research Center(RRC). In addition, I would like to extend my gratitude to all
my friends and collegues in RRC.
Lastly, I would also like to acknowledge the nancial support that I have received during
the research. My scholarship has been sponsored by Nanyang Technological University,
and the research work is funded by Gintic Institute of Manufacturing Technology, Singapore.

Abstract
A modular recon gurable parallel robot system consists of standardized links and joint
components that can be assembled into a particular geometry for speci c tasks. The focus
of this work is on the con guration design, kinematic analysis, workspace visualization
and kinematic calibration of the modular recon gurable parallel robot.
The modular parallel robot can have numerous con gurations. Here, we have systematically identi ed and analyzed a class of three-legged non-redundant parallel robots.
Such robots have symmetrical geometry, simple kinematics and desirable characteristics
suitable for our applications.
The forward and inverse kinematic analysis of a class of three-legged parallel robots have
been considered. Numerical and sensor-based forward kinematic algorithms are developed using the Local Product-of-Exponential (POE) formula. The forward kinematics
algorithm is general and can also be applied to modular parallel robots with more than
three legs. For the inverse kinematics, the Paden-Kahan method has been adapted to
solve for the inverse problem. In addition, a workspace visualization scheme has been
proposed for the analysis and design of modular parallel robots. This technique enables a
virtual 3-D solid model that represents the reachable workspace of the robot to be formed.
This method is simple and general for analyzing the workspace of various three-legged
modular parallel robot con gurations and it is veri ed by simulation examples.
Next, provision of machining tolerance during fabrication, assembly errors and drift contribute to kinematic errors in the robot. Kinematic calibration is a process of rede ning a
set of new local coordinate frames to re ect the actual geometrical characteristics of the
robot, and thus improves the absolute positioning accuracy of the robot. Three kinematic
self-calibration and an end-e ector calibration models are developed for the three-legged
modular parallel robots based on the Local POE formulation. Simulation and experimental studies on a 6-DOF (R-R-R-S) modular parallel robot verify the validity, accuracy
and robustness of the calibration algorithms. Experiments showed that an improvement
of about an order of magnitude in both the orientation and position accuracy can be
achieved using the proposed calibration algorithms.

Contents
1

Introduction

1.1 Motivation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.2 Overview of this Work . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.3 Organization of this Report . . . . . . . . . . . . . . . . . . . . . . . . . . 5
2

Literature Survey

2.1 Parallel Manipulators . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6


2.1.1 Stewart Platforms . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
2.1.2 Redundant Parallel Manipulators . . . . . . . . . . . . . . . . . . . 8
2.1.3 Other Parallel Manipulators . . . . . . . . . . . . . . . . . . . . . . 9
2.2 Kinematic Analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
2.2.1 Forward Kinematics . . . . . . . . . . . . . . . . . . . . . . . . . . 12
2.2.2 Inverse Kinematics . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
2.3 Parallel Robot Workspace Analysis . . . . . . . . . . . . . . . . . . . . . . 17
2.4 Parallel Robot Kinematic Calibration . . . . . . . . . . . . . . . . . . . . . 19
2.5 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
i

Parallel Robot Design

27

3.1 Actuators and Passive Modules for Parallel Robots . . . . . . . . . . . . . 27


3.2 Parallel Robot Con guration Design . . . . . . . . . . . . . . . . . . . . . 29
3.3 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
4

Parallel Robot Kinematics and Workspace Analysis

38

4.1 Local POE Formula . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38


4.1.1 Dyad Kinematics . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
4.1.2 Local POE Formula for an Individual Leg . . . . . . . . . . . . . . 40
4.2 Forward Kinematics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
4.2.1 Determination of Passive Joint Angles . . . . . . . . . . . . . . . . 41
4.2.2 Determination of the Mobile Platform Pose . . . . . . . . . . . . . 43
4.3 Inverse Kinematics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
4.3.1 Paden Kahan's Approach . . . . . . . . . . . . . . . . . . . . . . . 45
4.3.2 Application to Parallel Robots . . . . . . . . . . . . . . . . . . . . . 46
4.4 Workspace Analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
4.4.1 Workspace Description . . . . . . . . . . . . . . . . . . . . . . . . . 51
4.4.2 Workspace Visualization . . . . . . . . . . . . . . . . . . . . . . . . 52
4.5 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
5

Kinematic Calibration: Model Formulation

56

5.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
5.2 Calibration Models . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
ii

5.2.1 Geometric Description of Kinematic Errors in a Dyad . . . . . . . . 58


5.3 Nonlinear Calibration Model . . . . . . . . . . . . . . . . . . . . . . . . . . 59
5.3.1 Kinematic Errors in an Individual Leg . . . . . . . . . . . . . . . . 59
5.3.2 Kinematic Error Identi cation Using an Optimization Technique . . 62
5.4 Linear Model Based on Leg-End Distance Error . . . . . . . . . . . . . . . 63
5.4.1 Kinematic Errors in an Individual Leg . . . . . . . . . . . . . . . . 63
5.4.2 A Least-Square Algorithm for Linear Model (i) . . . . . . . . . . . 67
5.5 Linear Model Based on Passive Joint-Angle Measurement Residue . . . . . 70
5.5.1 A Least-Square Algorithm for Linear Model (ii) . . . . . . . . . . . 73
5.6 End-E ector Calibration . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
5.6.1 End-E ector Calibration Model . . . . . . . . . . . . . . . . . . . . 75
5.6.2 A Least-Square Algorithm for End-E ector Calibration . . . . . . . 77
5.7 Discussion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
6

Kinematic Calibration: Simulation and Experimental Studies

81

6.1 Simulation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
6.1.1 Nonlinear Calibration Model . . . . . . . . . . . . . . . . . . . . . . 82
6.1.2 Linear Model Based on Leg-End Distance Error . . . . . . . . . . . 88
6.1.3 Linear Model Based on Passive Joint Angle Measurement Residue . 90
6.1.4 End-E ector Calibration . . . . . . . . . . . . . . . . . . . . . . . . 92
6.2 Experimental Studies . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
6.2.1 Experimental Setup . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
iii

6.2.2 Experimental Methodology . . . . . . . . . . . . . . . . . . . . . . . 97


6.2.3 Experimental Results . . . . . . . . . . . . . . . . . . . . . . . . . . 99
6.3 Discussion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110
7

Conclusion

112

7.1 Concluding Remarks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112


7.2 Future Directions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114
A Mathematical Background

116

Bibliography

119

iv

List of Figures
1.1 Serial Robots . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
2.1 General Parallel Manipulator (taken from [1]) . . . . . . . . . . . . . . . . 7
2.2 (a)Stewart Platform, (b)TSSM and (c)Equivalent TSSM Mechanism . . . . 7
2.3 (a)The Stewart Platform and (b)Modi ed Stewart Platform (reproduced
from [2]) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
2.4 (a)Kinematic Model and (b)Redundant Parallel Manipulator (taken from
[3]) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
2.5 (a)Graphical Model and (b)SMARTee Parallel Manipulator (reproduced
from [4]) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
2.6 24-DOF Logabex . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
3.1 Actuator Modules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
3.2 Passive Joint Modules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
3.3 Links, Connector Modules and Mobile Platform . . . . . . . . . . . . . . . 28
3.4 Two Modular Three-legged Parallel Robot Con gurations . . . . . . . . . . 31
3.5 Photographs of Modular Three-legged Parallel Robots . . . . . . . . . . . . 32
3.6 Leg Joint Directions (adapted from [5]) . . . . . . . . . . . . . . . . . . . . 34
3.7 Pointer-Revolute Leg Structures (adapted from [5]) . . . . . . . . . . . . . 35
v

3.8 Revolute-Pointer Leg Structures (reproduced from [5]) . . . . . . . . . . . 35


3.9 Leg Joint Directions - Prismatic Joint . . . . . . . . . . . . . . . . . . . . . 36
3.10 Unique Leg Structures Containing Prismatic Joints . . . . . . . . . . . . . 37
4.1 Two Consecutive Links: A Dyad . . . . . . . . . . . . . . . . . . . . . . . 39
4.2 A Three-legged Parallel Robot . . . . . . . . . . . . . . . . . . . . . . . . . 41
4.3 Paden-Kahan Subproblem 1 . . . . . . . . . . . . . . . . . . . . . . . . . . 45
4.4 Paden-Kahan Subproblem 2 . . . . . . . . . . . . . . . . . . . . . . . . . . 46
4.5 Paden-Kahan Subproblem 3 . . . . . . . . . . . . . . . . . . . . . . . . . . 46
4.6 3-D Workspace of a Three-legged Parallel Manipulator . . . . . . . . . . . 54
4.7 Sections of the Workspace Parallel to the x y Plane . . . . . . . . . . . . 55
5.1 Flowchart of the Calibration Scheme . . . . . . . . . . . . . . . . . . . . . 57
5.2 Coordinate Frames in a Dyad . . . . . . . . . . . . . . . . . . . . . . . . . 58
5.3 Kinematic Diagram of the Parallel Robot . . . . . . . . . . . . . . . . . . . 61
5.4 Iterative Calibration Loop for Linear Model (i) . . . . . . . . . . . . . . . 69
5.5 Iterative Calibration Loop for Linear Model (ii) . . . . . . . . . . . . . . . 74
5.6 Coordinate Frames for Parallel Robot End-E ector Calibration . . . . . . . 76
5.7 Iterative Calibration Loop for End-E ector Calibration . . . . . . . . . . . 79
6.1 Three-Legged Modular Parallel Robot . . . . . . . . . . . . . . . . . . . . 82
6.2 Iterative Routine of the Complex Method . . . . . . . . . . . . . . . . . . . 85
6.3 Leg-end Distance Errors Before and After Calibration Under Ideal Experimental Condition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86
vi

6.4 Leg-end Distance Errors Before and After Calibration with Measurement
Noise Injected . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87
6.5 Simulation Results for Linear Model (i) . . . . . . . . . . . . . . . . . . . . 89
6.6 Leg-End Distance Errors Versus the Number of Pose Measurements for
Linear Model (i) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89
6.7 Simulation Results for Linear Model (ii) . . . . . . . . . . . . . . . . . . . 91
6.8 Leg-End Distance Errors Versus the Number of Pose Measurements for
Linear Model (ii) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
6.9 Calibration Convergence . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94
6.10 Quanti ed Deviation Versus Number of Measurement Poses . . . . . . . . 94
6.11 A 6-DOF Modular Parallel Robot . . . . . . . . . . . . . . . . . . . . . . . 95
6.12 Mitutoyo Spin-Arm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
6.13 Hardware Architecture of the Controller System . . . . . . . . . . . . . . . 96
6.14 Establishing Cartesian Frame Using Geopak . . . . . . . . . . . . . . . . . 97
6.15 Establishing the Base Frame and the End-E ector Frame . . . . . . . . . 98
6.16 Result Validation Process . . . . . . . . . . . . . . . . . . . . . . . . . . . 99
6.17 Leg-End Distance Errors Before and After Calibration . . . . . . . . . . . 102
6.18 Calibration Convergence for Nonlinear Model . . . . . . . . . . . . . . . . 103
6.19 Quanti ed Deviation Versus Number of Measurement Poses using Results
from Nonlinear Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103
6.20 Calibration Convergence of Leg-End Distance Errors . . . . . . . . . . . . 104
6.21 Leg-End Distance Errors Versus Number of Measurement Poses . . . . . . 104
6.22 Calibration Convergence . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106
vii

6.23 Quanti ed Deviation Versus Number of Measurement Poses . . . . . . . . 106


6.24 Calibration Convergence of the Passive Joint Measurement Residue . . . . 107
6.25 Passive Joint Measurement Residue Versus Number of Measurement Poses 107
6.26 Calibration Convergence . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109
6.27 Quanti ed Deviation Versus Number of Measurement Poses . . . . . . . . 109

viii

List of Tables
2.1 Summary of Literature Survey . . . . . . . . . . . . . . . . . . . . . . . . . 26
3.1 Enumeration of 6-DOF Non-Redundant Parallel Manipulator (adapted from
[5] ) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
6.1 Preset Kinematic Errors . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84
6.2 Preset and Identi ed Kinematic Errors . . . . . . . . . . . . . . . . . . . . 93
6.3 Nominal and Calibrated Transformation . . . . . . . . . . . . . . . . . . . 93
6.4 Calibrated Initial Poses and Identi ed Kinematic Errors . . . . . . . . . . 101
6.5 Calibrated Transformation of TB ;B and TA;E for Nonlinear Model . . . . . 101
0

6.6 Calibrated Initial Poses and Identi ed Kinematic Errors . . . . . . . . . . 105


6.7 Calibrated Transformation of TB ;B and TA;E for Linear Model (i) . . . . . 106
0

6.8 Calibrated Initial Poses and Identi ed Kinematic Error . . . . . . . . . . . 108


6.9 Calibrated Transformation of TB ;B and TA;E for Linear Model (ii) . . . . . 109
0

6.10 Comparison of Results from the Three Self-Calibration Models . . . . . . . 111

ix

Chapter 1
Introduction
1.1 Motivation
The majority of robot manipulators in use today are serial robots employing a strictly
serial arrangement of their links and associated actuators. The industry has concentrated
on a monolithic design of manipulators which are suitable only for speci c tasks. This class
of manipulators was rst explored in 1960's and has been extensively studied in terms of
their design, kinematic and dynamic modeling, and control. They are now widely used in
industries. Well-known serial manipulators are the Stanford Arm, PUMA Arm, SCARA
type arm and the Cincinnati Milacron T3 (see Fig. 1.1). When properly designed, the
serial structure has the bene t of possessing a large workspace and high maneuverability in
comparison to their physical size. However, due to the serial structure of the manipulator,
not all of the actuation and transmission related masses can be mounted close to the base.
Hence, serial manipulators tend to have small payload capacity in comparison to the
manipulator weight, poor end-e ector sti ness and poor dynamic performance in terms
of acceleration capabilities. In addition, the serial structure leads to additive joint errors.
The additive joint errors combined with the inherent low sti ness, causes the structure
to have poor accuracy at the end-e ector.
By coupling serial manipulators together, a parallel manipulator can be formed. A parallel manipulator is a closed-loop mechanism in which the mobile platform is connected to
the base by at least two serial kinematic chains (legs). The parallel-actuated manipulator
features a structure where all the actuators act together to carry a common payload. Par1

(a) PUMA Arm

(b) SCARA Arm

(c) Cincinnati Milacron T3

Figure 1.1: Serial Robots


allel manipulators with closed-loop structure, present themselves as feasible alternatives
to their serial counterparts in situations where the demand on high speed, precise motion,
and dynamic loading outweighs those on workspace and maneuverability. Parallel manipulators whose high structural rigidity provides large strength-to-weight ratio and high
positioning capability are more attractive than their serial counterparts. In recent years,
much e ort has been directed in the research and development of parallel manipulators
for operations requiring high bandwidth and high-precision motion. Today, the use of
parallel manipulators can be found in the design and implementation of numerous robotic
systems, including spacecraft simulators, teleoperation hand controllers, force/torque sensors etc. In a nutshell, parallel robots are gaining importance in the automation industry
today.
Modularity is a design concept whereby di erent functional units are designed separately
and then they are used collaboratively to form an integrated working system. This design concept has been used in many engineering disciplines: mechanical, electrical and
electronic, computer and software engineering. Due to the rapid change in product design and customer requirements, there is a need for an e ective robotics and automation
system that can cater to this form of changes. Past monolithic design of manipulators
that are suitable for speci c tasks are not able to cater to such demands. Thus, modular
designs aim to meet these requirements. The concept of modularity has been previously
2

introduced in the design of serial robots for exibility, ease of maintenance, and rapid
deployment [6, 7, 8, 9]. Here, the modularity concept will be extended to the design and
implementation of modular parallel robot systems.
A modular recon gurable parallel robot system consists of a collection of standardized
individual actuators, passive joints, connectors, mobile platform and the end-e ector components that can be assembled into a particular parallel robot geometry in order to ful ll
speci c task requirements [6, 10, 7]. A modular recon gurable parallel robot can be rapidly
constructed and its workspace can be varied by changing the leg positions, joint types,
and link lengths for a variety of tasks. Modularity has many advantages. A modular parallel robot has components that are constructed with standardized units or dimensions.
This allows exibility, variety in use, rapid change-over and ease of maintenance. In order
for the modular recon gurable parallel robot system to be deployable and e ective in
performing its assigned tasks, certain issues must be addressed. These fundamental issues include parallel robot con guration design, kinematics analysis, workspace analysis,
kinematic calibration, singularity analysis and dynamics analysis.
Employing the concept of modularity requires designing and selecting modular parallel
robot con gurations that will be e ective in performing certain tasks. Hence, investigation into di erent forms of parallel robots should be performed to achieve a class of
con gurations that is suitable for modular robots. Next, to e ectively control and plan
the motion of a parallel manipulator, the inverse and forward displacement kinematics of
the parallel robots must be considered.
Due to relatively small workspace of parallel manipulators as compared to their serial
counterparts, it is of primary importance to develop some ecient tools that can determine the workspace of a particular parallel robot con guration. Moreover, assembly
errors are introduced into the geometrical structure of the robot during assembly and
re-con guration. Other sources of errors include machining tolerances of the components
and possible wear of mechanical parts after long-term operations. All these factors contribute to the robot kinematic errors. Hence, kinematic calibration plays an important
role in the development of a modular parallel robot system, which serves as an integrated
process of modeling, measuring and identifying the actual kinematic parameters of the
robot system. By exploiting the repeatability of the robot, a calibration algorithm can
be used to correct the geometric errors and improve the robot's end-e ector positioning
3

accuracy. Therefore, kinematic calibration becomes inevitable, as it allows these geometric errors to be minimized, if not totally eliminated, thus allowing the designated task to
be performed with high accuracy.
The closed-loop nature of the parallel robot limits the motion of the platform and creates
complex singularities in the workspace of the mobile platform. The notion of singularities in robot kinematics refers to a particular con guration of a robot such that the
robot in this con guration losses or gains one or more degrees of freedom instantaneously.
Singularity in the parallel robot's workspace will cause the performance of the robot to
be unpredictable and the robot to be uncontrollable. Singularity analysis thus plays an
important role in determining these singular regions in the robot's workspace so as to
e ectively avoid these areas during its motion.
The forces, torques, and inertia of the robotic system will be taken into consideration in
the dynamic modeling. An accurate and representative dynamic model will enable the
development of a dynamic simulator for the robot motion, the controller design and the
evaluation of the kinematic design and structure of the robot.

1.2 Overview of this Work


Among the research issues related to modular recon gurable parallel robots, the following
issues are addressed in this thesis.

 Modular parallel robot con gurations design: Di erent parallel robot con gurations
are explored in order to nd an appropriate class of con gurations that will be
suitable for the modular parallel robotic system.

 Forward and inverse kinematics analysis: Both forward and inverse kinematic algorithms have been developed, which are essential for the motion planning and control
of a parallel robot.

 Workspace analysis: It is necessary to ensure that the modular parallel robot has a

reasonable workspace volume. Workspace analysis is also required in the design of


the parallel robot. Hence, a workspace visualization scheme has been developed for
the modular parallel robot system.
4

 Kinematic calibration: Due to the recon guration capability of the modular parallel
robot, assembly errors are inherently introduced into the system, making kinematic
calibration necessary. In this work, we have developed three self-calibration models
and an end-e ector calibration model. Simulation and experimental studies were
also conducted to verify these calibration models.

1.3 Organization of this Report


The remaining chapters of this report are organized as follows

 Chapter 2 outlines the literature survey on past e orts made in parallel robot design,
forward and inverse kinematics, workspace analysis and kinematic calibration.

 Chapter 3 gives an introduction to the modular recon gurable robotic systems that
are designed and used in this work. Modular parallel robot designs and their preferred attributes are also discussed.

 Chapter 4 presents the fundamental theory on modular parallel robots. The math-

ematical background on the Product-of-Exponential (POE) formula is described.


Based on the POE formula, the algorithms for the forward and inverse kinematics
of parallel robots are addressed. This is followed by the workspace determination
of the modular parallel robot.

 Chapter 5 discusses the formulation of three kinematic calibration models of the

modular parallel robot. The calibration algorithms use the local coordinate representation of the Product-of-Exponential formula and the di erential transformation
theory to derive the kinematic error parameters for the calibration compensation.

 Chapter 6 demonstrates the robustness and accuracy of the calibration algorithms.


Computer simulations and experimental studies are conducted to verify the calibration models that have been developed. The results of the simulation and experimental studies are presented and recommendations regarding the calibration models are
discussed.

 Chapter 7 draws together the main ndings of the work completed and addresses
issues for future research.

Chapter 2
Literature Survey
In this chapter, we categorize and present the literature on parallel robots under (i)
types of existing parallel robot designs, (ii) kinematics of parallel robots, which includes
both forward and inverse kinematics analysis, (iii) workspace analysis and (iv) kinematic
calibration.

2.1 Parallel Manipulators


Most of the existing parallel manipulators share the simple structure of the Stewart Platform, which consists of three or six extendible legs, each with one actuating prismatic
joint, connecting the upper mobile platform and the base using spherical and universal
passive joints. A fully parallel manipulator is a closed-loop mechanism with an ende ector connected to the base by independent kinematic chains. Each chain has at most
two links and is actuated by a prismatic or rotary actuator. However, a parallel robot,
in its general form, puts no restriction on the structure, such as the number and the
geometry of its legs, the number and types of active and passive joints in each leg. A very
general parallel manipulator is shown in Fig. 2.1. Removal of such restrictions allows the
design of a parallel manipulator to take advantage of both closed- and open-chain manipulators. Recently, there has been much attention to improve the Stewart Platform and
design more sophisticated parallel manipulators with higher dexterity, better control and
larger workspace. The available parallel manipulators can be grouped into three general
categories as follows.
6

Figure 2.1: General Parallel Manipulator (taken from [1])

2.1.1 Stewart Platforms


One of the earliest practical forms of the parallel robot is the Stewart Platform presented
by D. Stewart in 1965 as ight simulators for pilot training. It has six-independent and
extendible links connected to two plates with universal joints at the base plate and spherical joints at the mobile platform as shown in Fig. 2.2(a). Fitch [11], Nanua and Waldron
[12] also studied a similar structure. Later, the structure was systematically analyzed
and classi ed as Triangular Symmetric Simpli ed Manipulator (TSSM) by Merlet [13] in
1992. It consists of a hexagonal base plate and a triangular mobile platform joined by
six-extendable legs (see Fig. 2.2(b)). This con guration is equivalent to a mechanism consisting of three links articulated through revolute joints on the base plate and connected
to the upper platform through three ball joints (see Fig. 2.2(c))[1, 13, 14].

(a)

(b)

(c)

Figure 2.2: (a)Stewart Platform, (b)TSSM and (c)Equivalent TSSM Mechanism


7

Due to interference constraints between the legs, the traditional Stewart Platform cannot
deviate far from the z-axis, i.e., the vertical direction, as the static force applied by each
leg to the upper plate must be acting along the axis of the leg. Though force capacity in
the z-direction is considerably higher than that in the x-y plane, the torque capacity about
the z-axis is limited [2]. Hence, a structure called the Modi ed Stewart Platform (MSP)
was developed by Cleary and Arai [15]. The structure has three of the six extendible legs
on an inner circle both at the base and at the upper plate, the other three legs on an outer
concentric circle as shown in Fig. 2.3(b). This mechanism not only improves the force
capacity about the vertical direction, but also allows the legs to cross over one another in
space without interference. The upper platform is able to move closer to the horizontal
base plate to achieve a larger workspace.

(a)

(b)

Figure 2.3: (a)The Stewart Platform and (b)Modi ed Stewart Platform (reproduced from
[2])

2.1.2 Redundant Parallel Manipulators


The dexterity of a parallel manipulator can be further improved using kinematic redundancy in the design. Another type of redundancy is in joint-displacement sensing. The
former can improve the maneuverability of the parallel robot, the latter can simplify the
forward kinematic problem.
8

Zanganeh and Angeles [3] designed a redundant parallel manipulator as shown in Fig. 2.4.
The manipulator is said to have a wide range of applications from space robots to highly
dexterous ight simulators. The manipulator consists of nine prismatic actuators in nine
legs, out of which, three legs connect the mobile platform directly to the base plate by two
spherical joints each and the remaining six legs are coupled pairwise by three concentric
spherical joints. Here, the use of redundancy increases the workspace, avoids singularities
and also improves dexterity. However, the redundant degrees-of-freedom increases the
diculty in the forward kinematics.

(a)

(b)

Figure 2.4: (a)Kinematic Model and (b)Redundant Parallel Manipulator (taken from [3])
Due to the diculty in deriving the forward kinematics of parallel robots, redundant
sensors are sometimes used to obtain the unknown parameters, e.g. joint-angle sensing,
so that the forward kinematics can be computed directly. Shi and Fenton [16] suggested
that for ecient solving of the forward kinematics, encoders are recommended to be
installed at the passive joints in order to reduce the computational complexity as well
as to obtain a one-to-one relation between the active joint variables and the end-e ector
pose.

2.1.3 Other Parallel Manipulators


In this work, we denote fully parallel manipulators as manipulators having one active
joint per branch, i.e., the number of kinematic branches connecting the base and the
9

end-e ector is equal to the number of actuator driving the manipulator. An example is
the Stewart Platform.
Serial and fully parallel manipulators represent two extremes of the manipulator structures, within which, there are parallel structures containing serial-chain branches, where
each chain comprises of actuated and passive joints, acting in parallel to support a common end-e ector. Through proper design, these manipulators exploiting the advantages
of both fully parallel and serial-chain manipulators can be developed for speci c applications.
Early research in parallel manipulator mostly adopted extendible links where actuators
were usually hydraulic cylinders in order to make them rigid and massive to avoid the
problems associated with structural exibility. With the development in AC/DC motor
technology, some possible structures of parallel manipulators were designed with serial
legs, having high speed performance, improved dexterity and high rigidity. Cleary and
Brooks [4] presented a 6-DOF parallel mini-manipulator named SMARTee (see Fig. 2.5)
with all revolute joints. Each leg has 6-DOF with a di erential joint, an elbow joint,
a ball joint and two links. It is driven by two motors through a di erential drive and
transmission. This arrangement allows the use of only three legs while keeping all six
actuators on the xed base and provides 6-DOF at the mobile platform. In [17], Pierrot
et al. designed a 3-DOF parallel manipulator with three legs and all revolute joints for
high speed application. An extension of its mechanical structure, led to a design of a new
robot called HEXA with 6-DOF.
In addition, Podhorodeski and Pittens [5] presented an enumeration scheme of 6-DOF
hybrid-chain manipulators. It was mentioned that in order to achieve 6-DOF tasks, the
hybrid structure must have a minimum of six-independently actuated joints distributed
amongst its parallel-acting serial-branches. Notash and Podhorodeski [18] considered a
manipulator consisting of a mobile platform supported by three legs, each comprising
three revolute joints, through three passive spherical joints. The preferred attributes of
this class of manipulators includes larger workspace and higher dexterity compared to
fully parallel robots. This class is also more rigid compared to serial robots.
Other types of hybrid manipulators are direct combination of the serial and parallel chain
manipulators. They include: i) Parallel-Parallel: two parallel arms connected in series.
10

(a)

(b)

Figure 2.5: (a)Graphical Model and (b)SMARTee Parallel Manipulator (reproduced from
[4])
Figure 2.6 shows a 24-DOF prototype developed for the intervention in nuclear plants
known as Logabex. This con guration undoubtedly is much more rigid than a serial arm,
but the forward and inverse kinematics are also more complicated. ii) Serial-Parallel: A
parallel arm mounted on a serial arm. The ARTISAN proposed by Waldron et al. [19]
is a 10-DOF manipulator system that combines the advantages of large workspace and
dexterity in the rst serial arm and high rigidity and position accuracy of the last parallel
wrist. iii) Parallel-Serial: A serial arm mounted on a parallel arm [20, 21]. A 6-DOF
manipulator can be constructed using a 3-DOF serial chain manipulator mounted on a
3-DOF parallel-actuated platform. By considering the structure separately at rst and
thereafter integrating them, the kinematics of the entire structure can be simpli ed.

2.2 Kinematic Analysis


The review on kinematic analysis includes both forward and inverse kinematics. The
forward displacement analysis requires the determination of the end-e ector pose given
the actuated joint displacements. Ecient solution of the forward displacement problem
11

Figure 2.6: 24-DOF Logabex


is fundamental in the successful implementation of robotic devices. There is a duality
between parallel and serial mechanisms: a dicult problem for one is easily solved for
other. The forward displacement analysis for parallel mechanisms is a dicult analytical
problem, which involves solving nonlinear equations that result in multiple solutions.
On the contrary, the inverse kinematic analysis, i.e., to determine the input joint values
when the pose of the end-e ector is given, is generally an easier problem (with some
exceptions, e.g. for system of Fig. 2.1). The opposite is true for serial manipulators.
The forward solution for serial manipulators can be easily solved using the homogeneous
transformations describing the relative locations of the link attached frames.

2.2.1 Forward Kinematics


Generally, there are three main approaches, namely analytical, numerical and sensorbased approach to solve the forward kinematics of parallel mechanisms. The analytical
approach is able to nd all the assembly modes (solutions) for a particular set of inputs.
However, it is complicated and computationally intensive as it requires solving higher
order nonlinear equations. Hence, it is still not suitable for real-time applications. As
for the numerical approach, it often utilizes the Newton-Raphson iteration method to
solve for a single forward displacement solution at a time. The drawback of this single
solution method is that for manipulators that are capable of operating near end-e ector
poses where assembly modes coexist, there could be a danger of unplanned switching
between assembly modes [22]. The sensor-based method is an ecient and practical
12

method for solving the forward displacement kinematics since close-form solutions exist
for all arbitrary manipulator con gurations. However, this approach requires the readings
from the sensors (including the passive joint displacement readings) before the forward
displacement can be solved. Hence, it is not suitable for o -line control, manipulation
and simulation.
A direct formulation for the forward displacement solution of special cases of the fully
parallel manipulator commonly known as the Stewart Platform has been reported recently
in literature [23, 13, 24, 12]. In this formulation, the solutions are expressed as 16th to
32rd-order polynomials in a single variable, each root representing a possible assembly
mode of the manipulator. For the hybrid manipulator, a direct close-form solution of
the forward displacement problem is not yet known. However, some researchers have
proposed the use of sensors and a numerical approach to solve the forward displacement
problem [18, 25]. The review that follows will be grouped into these three approaches.
ANALYTICAL APPROACH

Innocenti and Parenti-Castelli in [23] reported the analytical expression of the formulation
for the direct position analysis of a class of Stewart Platforms. The results are applicable
to a class of structures having three sub-chains connected to the end-e ector by spherical
joints. Assuming each leg is disconnected from the end-e ector, it will only have 1-DOF
when all the actuated joints are locked. The leg-end will trace a circle generated by the
remaining DOF. The forward displacement solution and assembly mode will correspond
to the end-e ector pose where the end-e ector's spherical connecting joints lie on their
respective circle generated by the leg-end positions. This approach results in a 16th-order
polynomial equation in one unknown. Consequently, 16 locations of the platform are
possible when a set of actuator displacements is given.
Sreenivasan and Nanua [26] found that there are exactly 40 distinct and nite solutions
for the direct kinematics problem of the general geometry of the Stewart platform. An
advanced polynomial continuation method was used to solve the forward displacement
problem of the near-general Stewart platform which was used as an initial guess for
solving the general problem. This method enables the number of the solutions of the
general Stewart platform to be reduced from 40 to 24 by eliminating solutions at in nity,
which have no geometric signi cance. This greatly improved the eciency of computation.
13

Merlet [13] addressed the problem of direct kinematics of the Triangular Symmetric Simpli ed parallel manipulator. It is a 6-DOF manipulator with a triangular mobile plate
and variable link lengths. It has been geometrically proven that the assembly modes of
the con guration are at most 16. The direct kinematics problem is equivalent to solving
a 16th-order polynomial in one variable. In this work, a more general approach was also
proposed to solve the forward kinematics of general manipulators with hexagonal base and
platform. The results were based on a particular case of a parallel robot con guration.
Lin, Crane and Du y [24] studied a class of in-parallel platforms whose six legs are
connected either singly or pairwise at the vertices of a quadrilateral top platform and
a pentagonal base. A forward displacement analysis using the so-called "closed-form"
approach is developed for each distinct case of the 4-5 type (i.e., legs connected at 4 points
at the top and 5 points at the base) parallel platform. Polynomials of 16th, 24th and
32nd degree in one unknown have been derived and the results were veri ed numerically.
Nanua and Waldron [12] reported the direct kinematics solution of a special form of the
Stewart platform where the six limbs of the parallel robot form three concurrent pairs
either at the base or at the mobile platform. The solution, as has been shown, can be
reduced to a 24th-order polynomial equation in a single variable. It was also shown that
for a given set of link lengths, this Stewart platform could be assembled in 24 di erent
con gurations. The details of the solutions can also be found in [1]. In it, the ContourIntersection and the Monovariate Polynomial approaches to solve for the direct kinematics
of a particular Stewart platform were clearly illustrated.
A special class of Stewart platform mechanisms where the leg end-points on the mobile
platform and the base are all planar was studied by Lee and Roth [27]. The arrays of
attachment points at the base and the mobile platform are similar hexagons. This parallel
robot is said to have the simplest solutions of the forward displacement analysis. Here,
the closed form solution depends only on linear and quadratic equations.
Zlatanov et al. [28] reported the design of a three legged 6-DOF hybrid parallel manipulator with asymmetrical 3-2-1 distribution of the controlled joints (where 3-2-1 refer to
the number of actuating joints on each of the three legs). The forward kinematics of
this asymmetrical manipulator has been solved. With this arrangement of the controlled
joints it can be proven that no redundant displacement sensing is necessary to obtain up
14

to four forward displacement solutions. This result was also realized by Notash et al. [18]
when performing forward displacement analysis for a class of three branch hybrid parallel
manipulators.
NUMERICAL APPROACH

Due to the diculty in solving the forward displacement problem of the general Stewart
platform, many researchers have used the numerical approach to simplify the problem and
achieve real-time forward displacement control. Commonly applied techniques for solving
the forward kinematics problems are based on the Newton-Raphson method, intended to
solve a single forward displacement solution. Cleary and Brooks [4] solved the forward
kinematics problem of the three-branch parallel manipulator (SMARTee) utilizing the
Newton-Raphson iteration method. The kinematic equations were implemented in realtime control software and the computation is fast enough even with modest computational
power.
Podhorodeski in [25] proposed and implemented an iterative method based on screw
theory and instantaneous kinematic transformation to solve for the forward displacement
of a hybrid manipulator. The technique proposed is applicable to hybrid manipulators
of arbitrary structure. The technique, however, will yield only one forward displacement
solution even though multiple solutions exist.
Numerical solutions reported by Innocenti and Parenti-Castelli in [29] can nd all the real
solutions of the direct kinematics for the general Stewart platform. The e ectiveness of the
algorithm relies on the solution of one equation in one unknown. The search of the roots
is restricted to a nite domain, and the equation is proved to be strictly representative of
the direct position analysis. However, the technique that guarantees the computation of
all solutions tends to be dicult to implement in real-time.
SENSOR-BASED APPROACH

The inclusion of redundant branches and/or redundant sensing of joints has also been considered for speci c parallel manipulators. The existence of multiple forward displacement
solutions for parallel manipulators suggests that redundant joint displacement sensing is
an asset. Cleary and Arai [15] attached a non-actuated-follow-along serial branch to the
end-e ector platform to allow unique solution to the forward displacement problem for a
15

parallel manipulator to be determined. However, the addition of another branch will lead
to branch interference and incur additional cost.
Zanganeh and Angeles [30] illustrated a formulation of the direct kinematics of a 6DOF generalized Stewart platform. Here, the positioning and orientation problems are
decoupled by introducing two auxiliary coordinates in the form of either two angles or two
lengths in accordance with the extra sensors, i.e., rotary or translational, that are located
on a leg of the manipulator. By casting the closure equations into an eigenvalue problem
and using data from two extra sensors, a real-time implementation, with a unique solution
to the forward displacement problem was achieved.
Notash et al. [18] reported the forward displacement solution for a class of spatial parallel
manipulators (Three-legged hybrid manipulators with three revolute joints in each leg).
It is demonstrated that close-form solutions can be found for all structures of hybrid
manipulators with redundant sensors, i.e., more than six joint sensors for each manipulator
con guration. For one of the two possible manipulators with non-redundant sensing, a
close-formed solution can be found for the case of the asymmetric (3-2-1) manipulator.
In the other case, the solution can be expressed as a 16th-order polynomial of a single
variable and solved numerically. It was recommended to use redundancy in displacement
sensing for ecient and fail-safe solution for the forward displacement problem of the
hybrid parallel manipulators.
Merlet [31] investigated how a unique posture of the 6-DOF Stewart platform can be
determined. It was shown that by adding four sensors to the passive joints, a unique
close-form solution of the end-e ector pose can be obtained for the general case of a
parallel robot. In addition, for a particular mechanical structure of the Stewart platform,
a minimum of three passive leg-length sensing is sucient to determine its pose.
The forward kinematics of the modi ed Stewart platform (MSP) is studied by Stoughton
and Arai [32]. Using six rotary position sensors, two on each of the three legs, the forward
kinematics can be easily solved. It was stated that the redundancy and parallelism of
the sensors yield improved accuracy of the position sensing. It was also proven that with
a minimum of three base-angle sensors, the forward kinematics solution could still be
determined. Thus, the system can continue to function even if some sensor data are lost
due to malfunction in sensors, which is advantageous in applications where repairs are
16

hardly possible, e.g., space exploration.


Shi and Fenton [16] proposed, based on three-point position, velocity and acceleration
data of the end-e ector, for solving the forward kinematics problem of 6-DOF platformtype manipulators, including forward position, velocity and acceleration kinematics. The
method can be implemented for any 6-DOF platform. It was mentioned that for a general
6-DOF Stewart platform, the number of passive joint encoders required to provide a
solution for the forward kinematics is six.

2.2.2 Inverse Kinematics


The purpose of the inverse kinematic analysis for parallel modular robots is to determine
the actuating-joint displacements when the desired pose of the mobile platform is given.
Each of the legs can be decoupled and treated as an independent serial open chain. For
hybrid manipulator, this involves determining the pose of the branch ends and solving
a serial-chain inverse displacement problem for each branch. The solution to the inverse
displacement problem of the branches can be expressed in close-form for certain classes
of serial-chains. Most of the inverse kinematics algorithms for serial manipulators can
be implemented here to solve for the solutions [1, 33, 34, 35, 36, 37]. Because of the
availability of these close-form inverse kinematics solutions for most parallel manipulators,
we will not go into detail research in this aspect of the problem.

2.3 Parallel Robot Workspace Analysis


Workspace analysis and optimization are important in a manipulator design. In serial
manipulators, the forward kinematics can be computed in close-form; hence, it is relatively
easy to optimize the workspace [34, 38, 39]. However, for parallel manipulators, given joint
limits, there is no conventional way to represent and display the workspace, except by
numerical methods. The complete workspace of a 6-DOF parallel robot is embedded in
a six-dimensional manifold and there is no human-readable way to display it. Hence, the
workspace described in most of the literature is the reachable or positioning workspace,
i.e., the region of the three-dimensional Cartesian space that can be attained by the mobile
platform with a given orientation of the platform. The positioning workspace is actually
17

a 3-D subspace of the complete 6-D workspace. As parallel manipulators have a smaller
workspace than that of the serial ones, it is important to carefully design the new parallel
manipulator to achieve as large a workspace as possible. Physical parameters of the links,
base and mobile platform should be designed to optimize the workspace.
In general, the determination of the general parallel robot manipulator workspace is more
dicult compared to that of serial manipulators, due to the following reasons: i) unavailability of close-form solution of its forward kinematic problem, which involves the solution
of highly nonlinear equations; and ii) the workspace depends on constraints introduced by
joint-angle limitations, link-length limitations, and leg-interference. Most of the literature
does not consider the physical constraints when performing the workspace analysis.
Gosselin [40] illustrated an algorithm for the determination of the workspace of Stewartplatform-type manipulators. The method, based on the geometrical properties of the
workspace, leads to a simple graphical representation of the regions of the 3-D Cartesian
space that can be attained by the manipulator with a given orientation of the platform.
The volume of the workspace can be computed by integration on its boundary.
The workspace of arbitrary planar manipulators has been studied by Dibakar and Mruthyunjaya [41]. Their method uses the modi ed gift-wrapper algorithm to determine the boundary of the sets of points generated in the workspace of the manipulator. These sets of
points are generated by the modular direct kinematics of planar mechanism.
Bulca, Angeles and Zsombor-Murray [42] developed a technique based on the EulerRodrigues parameters of the rotation of a rigid body to determine the workspace of
spherical platform mechanisms. For platform mechanisms, the intersections of the leg
workspaces constitute the space in which the platform is free to move. Approximate
solids were then tted inside the surfaces and their intersection will be the workspace
volume.
Cleary and Arai [15] demonstrated the workspace of a prototype parallel-link manipulator,
which is a class of modi ed Stewart platform (MSP). By varying the end-e ector positions
and using the inverse kinematics of the manipulator, the simulation and experimental
results of the workspace are analyzed and it was veri ed that both results conform.
Workspace volume is a ected by the choice of its major dimensions, actuator's stroke and
18

the kinematic constraints of its joints. Masory and Wang [43] investigated the e ects of
these parameters on the workspace volume and also the dexterity of a certain con guration
of the Stewart platform. The workspace volumes and boundaries for di erent geometric
parameters and kinematic constraints are computed and depicted using normalized dimensions. The information provided will be useful for the selection of dimensions, joints
and actuators of the Stewart platform.
Extreme reaches and reachable workspace analysis of general parallel manipulators have
been studied by Wang and Hsieh [44]. A numerical method was illustrated for analysis of
the parallel manipulator. In the method, nding the extreme reach is formulated as an
optimization problem. The objective is to minimize the distance between the end-e ector
and a xed base point with respect to any given search direction.

2.4 Parallel Robot Kinematic Calibration


One of the main concerns in robotic systems is the positioning accuracy of the ende ector. Di erent components of a robotic system are assembled to form a complete
robot assembly. Factors like machining tolerance, compliance, wear of the connecting
mechanisms and misalignment of the connected components will a ect the positioning
accuracy of the end-e ector. Especially for modular robots, the assembly errors are usually
larger than those of a robot with a xed con guration. Therefore, identifying the critical
kinematic parameters to improve the positioning accuracy of the end-e ector becomes
a very important issue for modular recon gurable parallel robots. In recent years, the
literature on the topic of kinematic calibration has grown, re ecting its importance and
current development in robotics. Many calibration models are developed by researchers
who are motivated by the need for robot calibration.
Basically, kinematic calibration involves four steps: modeling, measurement, identi cation, and compensation. Modeling refers to the formulation of a calibration model that
represents the actual robot kinematic parameters and to account for major error sources.
A good model should strive to meet three main criteria: completeness, proportionality
and equivalence [45]. A complete kinematic model can relate the joint displacements to
the end-e ector pose for any manipulator con guration and would allow arbitrary placement of the reference frame and zero position. Proportionality implies that a small change
19

in the actual robot structure will result in a corresponding small change in its parameters. Equivalence refers to the ability of transforming the parameters of one model to
di erent model descriptions. Measurement is made prior to calibration to determine the
actual position and orientation of the end-e ector or other parts of the manipulator in
consideration under a given set of joint displacements. Often it is required to measure
di erent poses in the workspace in order to eliminate random errors. Next, identi cation
is the process of using the proposed kinematic calibration model (or the nominal model),
together with the simulated or actual measured robot characteristics to determine the actual kinematic parameters of the robot. Upon determining the set of calibrated kinematic
parameters, the next step is to incorporate the improved model into the robot controller.
This is termed compensation.
Past research e orts on the calibration of parallel robots have been concentrated on the
calibration of 6-legged fully parallel robots with only linear actuators (e.g. the Stewart
platform) [46, 47, 48, 49, 50, 51]. The self-calibration technique is widely used, in which
the calibration problem is converted into an optimization problem. There is only a handful
of works on in-parallel manipulator calibration [52, 53].
Hollerbach and Wampler in [54] o ered a classi cation of strategies for kinematic calibration that is applicable to serial and parallel manipulators. Generally, calibration methods
can be classi ed under: i) open-loop methods ii) closed-loop methods iii) screw axis measurement methods iv) implicit-loop methods and v) self-calibration methods. End-e ector
calibration is an extension to the self-calibration where the xed transformation errors
of a robot are identi ed. We will categorize and present a literature review on parallel
robot calibration based on the above-mentioned classi cation. The distinction among
some of the methods are often small and arbitrary. For example, certain open-loop methods constrain some components of poses, and also measure others, thus mixing open and
closed-loop methods. Furthermore, parallel mechanisms have a mixture of sensed and
unsensed joints, the unsensed joints being formally not di erent from the task kinematics
of passive joints for closed-loop methods.
OPEN-LOOP METHODS

The primary calibration method has been open-loop kinematic calibration, in which a
manipulator is placed in a number of poses and the complete or partial end-point pose
is measured. Open-loop refers to an end point that is positioned freely in space. In
20

general, this method is more widely used for serial manipulator calibration than for parallel
manipulators.
In [55], Koseki et al. used a laser tracking coordinate-measuring system (external posemeasuring device) to calibrate a 6-legged parallel arm that is aimed to be used commercially. The Newton-Raphson method is used to minimize the sum of the squares of the
errors. The error is de ned as the di erence between the measured position and orientation of the end-e ector and the corresponding nominal values determined by the forward
kinematics. The experimental results of the calibration demonstrated an improvement in
the absolute positioning accuracy of the mechanism of about one order of magnitude after
calibration.
A method for the kinematic calibration of a 6-DOF parallel robot using two inclinometers
was proposed by Besnard and Khalil [56]. The method takes into account the error on the
angle between the inclinometers axes. The idea is to minimize the residue between the
calculated values and the measured values based on 35 identi able geometric parameters.
The estimation of the parameters is carried out using the Levenberg-Marquardt algorithm.
Simulation results showed that using inclinometers with high precision will result in a
positional accuracy of about 0.4mm.
Zhuang et al. [57] addressed the kinematic calibration of a Stewart platform using pose
measurement obtained by a single theodolite. The calibration problem is formulated in
terms of a measurement residue, which is the discrepancy between the measured and computed leg lengths. An identi cation Jacobian matrix which relates the pose measurement
residual to the errors in the parameters of the platform is also derived. Experimental studies reveal that the proposed calibration method is e ective in enhancing the performance
accuracy.
CLOSED-LOOP METHODS

The closed-loop method has an advantage over the open-loop method, as no external
measurement system is required. For a serial manipulator, by attaching the end-e ector
to the environment and forming a mobile closed kinematic chain, calibration is achieved
by sensing joint angles only. Bennett and Hollerbach [58], used the closed-loop method to
calibrate manipulators that are formed into mobile closed kinematic chains. Consistency
conditions in the kinematic loop-closure equations are adequate to calibrate the manipu21

lator from joint-angle readouts alone. This method is an adaptation of an iterative-least


square algorithm used in calibrating open-chain manipulators. In this closed-loop method,
there is a requirement that there should be positive mobility in the closed chain, i.e., the
summation of the manipulator DOF's and the passive DOF's of the end point constraint
must exceed six. Everett and Lin [51] also investigated kinematic calibration of manipulator with closed kinematic chains. Their approach is based on a constrained optimization
technique involving a large number of redundant parameters. Constraint equations arise
from the fact that the closed loop must remain closed for all joint con gurations. One
integral kinematic constraint exists per closed loop. The method was successfully applied
to a ve-bar actuated joint mechanism.
Extensions of the closed-loop method to multiple closed-loops have been proposed by
several authors [59, 60]. A loop-closure equation can be written for each loop and then
calibration can be performed with these combined equations. This method was employed
in [60] to calibrate a 3-DOF redundant shoulder joint parallel robot. Multiple closed
loops are used in a least-square optimization method. In [60], experimental results were
shown for both closed-loop method and also open-loop method. The open-loop calibration
procedure was carried out using the Optotrak 3020, which has a stated accuracy of 0.10.15mm in a distance of 2.5 m. It was reported that the root-mean-square error after
calibration is signi cantly reduced by using the closed-loop approach, thereby giving a
promising view for the closed-loop method.
IMPLICIT-LOOP METHODS

The term implicit-loop method emphasizes that the error enters the kinematic loop equations implicitly, rather than being explicit outputs of a conventional input-output formulation. Thus, it also includes other sources of non-geometrical errors, such as input
noise and backlash, into the equation to be optimized. Wampler and Hollerbach [50]
demonstrated a uni ed formulation for the self-calibration of both serial-link robots and
robotic mechanism having kinematic closed-loops using the implicit-loop method. The
uni cation is based on equivalence between end-e ector measurement and constraints imposed by the closure of the kinematic loops. A nonlinear estimation algorithm utilizing
a priori estimates of the statistics of the measurements errors and parameters was also
proposed. The algorithm is also applied experimentally to two 6-DOF devices i.e., RSI
6-DOF Hand Controller and the MEL to demonstrate the applicability of the proposed
22

approach. It was reported that calibration using only joint-angle measurements was found
to be more consistent, although less accurate, than a calibration for the same experiment
using additional pose information from a xturing device.
SCREW-AXIS METHODS

Screw-axis methods proceed quite di erently from kinematic-loop methods. Here, each
joint axis is identi ed as a screw. Kinematic parameters can then be found, without the
need of solving a nonlinear optimization problem. Circle point analysis (CPA) is a major
variant of screw-axis measurement and proceeds by measuring the end-point position
during rotation of one joint at a time. It can be viewed as an open-loop method with
this particular pose selection. The normal of the plane in which the circle lies and the
center of the circle de ne the joint screw. Another variant involves nding the Jacobian
matrix, either with velocity sensing or with joint torque and end-point wrench sensing.
This method is used mainly for the calibration of serial manipulators, so we will not go
into the details of this method.
SELF-CALIBRATION METHODS

Self-calibration has the potential of removing the dependence on any external pose-sensing
information and has the capability of producing accurate measurement data over the
entire workspace of the system with a fast measurement rate. In addition, it may be
automated and it is completely non-invasive and thus, it can also facilitate on-line accuracy
compensation. Self-calibration is similar to closed-loop methods, except that additional
sensor data are often used to facilitate the calibration; hence, it may be viewed as a
variant of the closed-loop method. This method is gaining popularity among researchers
dealing with the calibration of parallel robots, as can be seen by the number of calibration
studies based on this method [53, 47, 52, 50, 49, 48].
In [46], Wang and Masory proposed that manufacturing tolerance, installation errors
and link o sets cause deviation with respect to the nominal kinematic parameters of the
platform. Based on simulation results, it was shown that the manufacturing tolerance
provided for the joints has a minor e ect on the end-e ector pose error of a Stewart platform. It was concluded that the end-e ector error is of the same order of magnitude as
the manufacturing error. The work is extended in [47], formulating the full kinematic calibration model which includes the installation and manufacturing errors of the simpli ed
model of a Stewart platform. The simulation results exhibit, practically, full recovery of
23

the kinematic errors. The proposed identi cation algorithm can be applied to both full
and simpli ed models of the Stewart platform. However, it was recommended to use the
simpli ed model since it is computationally less expensive.
In [49], Zhuang presented a self-calibration method for the Stewart platform through the
installation of redundant sensors in proper locations and creating suitable measurement
residues using con icting information provided by the redundant sensors. The algorithm
is based on minimizing the cost function, which is the measurement residue, i.e., the
discrepancy between the measured and computed manipulator poses. From the experimental results, it is recommended that the accuracy of the redundant sensors must be at
least ve times as high as the accuracy of the mobile platform for an e ective calibration
task. Subsequently, Zhuang et al. [48] also addressed the kinematic calibration of Stewart platforms and other parallel manipulators. The algorithm is also formulated based on
the measurement residual, which is the discrepancy between the measured leg length and
the computed leg length. With this formulation, one is able to identify kinematic error
parameters without having to solve the forward kinematic problem, thus avoiding the
numerical forward kinematic problem. With this formulation, a di erential error model
with an identi cation Jacobian, which relates the pose-measurement residual to the error
parameters, is derived. The proposed algorithm can also be extended to other parallel
manipulators with some modi cations.
Notash et al. [52] presented a methodology of kinematic calibration of three-branch
parallel manipulators based on the minimization of the branch-end distance. The work
employs the Levenberg-Marquardt nonlinear least-square algorithm to identify kinematic
parameters of the device. It was concluded that using branch-end distance errors was
advantageous since branch-end location errors are not directly averaged and also there
is no need for a calibration xture. The algorithm is applied to a three-branch parallel
hand controller. For the complete model, it was demonstrated that the calibration can
minimize the errors to the noise levels related to the potentiometers' sensors. Hence, it is
important to have relatively noise-free redundant sensors for good calibration results.
In [53], Inrascu and Park developed a high-level, uni ed framework for the calibration
of kinematic chains containing closed loops using geometric methods. The kinematic
calibration is cast as a constrained optimization problem of seven identi able geometric
errors. Geometric calibration algorithms have also been explicitly developed correspond24

ing to the types of available measurements. The calibration results of the Eclipse parallel
mechanism was illustrated using simulation. The results showed signi cant improvement
in the positional accuracy of the manipulator.
END-EFFECTOR CALIBRATION METHOD

End-e ector calibration methods are extensions to self-calibration methods. The purpose of self-calibration is to calibrate the closed-loop mechanism (parallel robot) by using
built-in sensors in the passive joints, whereas end-e ector calibration consist in improving
the absolute positioning accuracy of the end-e ector by using external measuring equipment. Past research e orts on parallel robot calibration are focused on development of
self-calibration techniques. When a robot is programmed to execute certain tasks, its absolute positioning accuracy will be a major concern. For a self-calibrated parallel robot,
the kinematic transformation from the robot's base to the mobile platform frame can
be computed with sucient accuracy. Hence, in the end-e ector calibration, it is only
required to identify the xed kinematic transformation from the world frame to the robot
base frame and from the mobile platform frame to the end-e ector frame. In [61], Zhuang
et al. proposed a method that allows simultaneous computation of the rigid transformations from the world frame to the robot base frame and from the hand frame to the
camera frame. Their method attempts to solve a homogeneous matrix equation of the
form AX=YB. Quaternion algebra is used to simultaneously compute the two xed kinematic transformations. The approach is non-iterative and fast. However, a drawback of
this method is that the geometric parameters are estimated in two-stages, by doing which
the estimation errors of the rst stage will propagate to the next.

2.5 Summary
In this chapter, a systematic review of the issues related to this report has been presented.
Designs of parallel robots and their special forms are classi ed into three categories as
summarized in Table 2.1. The literature on the three major approaches of forward displacement analysis: close-form, numerical and sensor-based methods are discussed. Selected past works on workspace analysis and parallel robot calibration are also discussed.
The calibration methods are categorized into six groups, which include the open-loop,
closed-loop, implicit-loop, screw-axis, self-calibration and end-e ector methods. For each
25

of the methods, a description is given followed by the works done by other researchers.
Literature Survey Issues

Parallel Robot Designs (i)Stewart Platform


(ii)Redundant Parallel Manipulators
(iii)Other Parallel Manipulators
Kinematic Analysis (i)Forward Kinematics
-Analytical Approach
-Numerical Approach
-Sensor-Based Approach
(ii)Inverse Kinematics
Workspace Analysis Reachable Workspace
Kinematic Calibration (i)Open-Loop Method
(ii)Closed-Loop Method
(iii)Implicit-Loop Method
(iv)Screw Axis Method
(v)Self-Calibration Method
(vi)End-E ector Calibration Method
Table 2.1: Summary of Literature Survey

26

Chapter 3
Parallel Robot Design
3.1 Actuators and Passive Modules for Parallel Robots
A modular recon gurable robotic system is a collection of individual standard functional
units (or modules), links and joints that can be used individually or collectively when
assembled into various robot con gurations. A modular parallel manipulator can thus
be rapidly con gured for a diversity of tasks. Modularity concepts have been previously
introduced in the design of serial robots for exibility, ease of maintenance and rapid
deployment [62, 8]. The modular recon gurable parallel robot can be rapidly constructed
and its workspace can be varied by changing the leg positions, joint types, and link
lengths for a variety of tasks. Moreover, its components are constructed with standardized
units or dimensions thus allowing exibility, variety in use, rapid change-over and ease of
maintenance.
Two types of modules, namely, actuator modules and passive joint modules, are required
for con guring modular parallel robots. Figure 3.1 shows the prismatic and revolute
actuator modules used for modular recon gurable parallel robots. These o -the-shelf intelligent mechatronic drives from Germany are selected as the actuator modules for rapid
deployment. Each module is a self-contained drive unit with a built-in motor, controller,
ampli er, and communication interface. It has a double-cube design with multiple connecting sockets that enable two actuators to be connected in di erent orientations. These
features make them suitable for recon gurable modular robot design. Figure 3.2 shows
three types of passive joint modules (without actuators) that we have designed and fab27

ricated. They are the bend (Fig. 3.2(a)), roll (Fig. 3.2(b)), and spherical (Fig. 3.2(c))
joint modules. An angular optical displacement encoder is built into each of the bend and
roll joint modules. In addition, rigid link modules and connectors as shown in Fig. 3.3(a)
are needed to connect the joint modules. They are designed with various geometrical
shapes and dimensions to cater to the need of di erent robot con gurations. The mobile
platform (Fig. 3.3(b)) has a variable number of connecting sockets and can be used for
parallel robots with di erent number of legs.

Figure 3.1: Actuator Modules

Figure 3.2: Passive Joint Modules

(a)

(b)

Figure 3.3: Links, Connector Modules and Mobile Platform

28

3.2 Parallel Robot Con guration Design


The Stewart platform is one of the earlier manipulators used for the design of a ight
simulator proposed by D. Stewart in 1965. It has six independent and extendible legs
connected to two plates by universal joints at the base plate and ball joints at the upper
plate. Interest in the Stewart platform and other parallel manipulators was revived in the
80's. Fully parallel-actuated manipulators, in comparison with their serial counterparts,
have the advantage of large strength-to-weight ratio due to higher structural rigidity
found in closed-chain mechanisms, thus resulting in improved actuator load distribution
and sti ness. In addition, the cumulative position errors can be minimized within a loop
through calibration, such that the positioning accuracy far exceeds that of conventional
serial link manipulators [63].
As mentioned in Section 2.1.3, strictly serial and fully parallel manipulators represent
two extremes of a broader class of manipulator structures. This broader class consists of
manipulator structures containing serial branches with actuator and passive joints. The
modular recon gurable parallel robots that are developed here fall into this category.
For the modular recon gurable parallel robot, there is almost no limit on the number of
con gurations that can be constructed. At present, we focus on nonredundant 6-DOF
in-parallel manipulators. The 6-DOF manipulator is preferred because it is a general
manipulator with the ability to translate and rotate the end-e ector in the x; y; z directions. Hence, it is more dexterous compared to a manipulator with less than 6 DOF.
On the other hand, a redundant manipulator with more than 6 DOF have increased dexterous maneuverability. However, due to redundancy, the kinematics and control of the
manipulator will be much more complicated.
To be capable of 6-DOF force and motion tasks, the manipulator structure must have a
minimum of six independent actuated joints distributed among its legs. Each of the legs
will comprise passive and actuated joints. If each leg is to have an active role in driving
the parallel manipulator, there must be at least one actuated joint in each leg. Moreover,
for the end-e ector to have a 6-DOF motion capability, the end link of each leg must be
capable of 6-DOF motion. A leg capable of providing 6-DOF end link motion and having
no joint redundancy will have a total of six 1-DOF independent passive and active joints.
Therefore, a 6-DOF in-parallel manipulator will consist of serial legs, each having six
29

joints freedom with at least one actuator. There should be a total of six actuated joints
in the parallel manipulator. Podhorodeski in [5] presented an enumeration scheme for a
class of parallel robots with 6-DOF, non-redundant topological structure. A summary of
the enumeration scheme for the 6-DOF non-redundant parallel manipulator is shown in
Table 3.1.
Number of Number of actuated
legs
single degree-of-freedom
in-parallel
joints in each leg
1
6
1; 5
2
2; 4
3; 3
3; 3; 0
1; 1; 4
3
1; 2; 3
2; 2; 2
1
; 1; 1; 3
4
1; 1; 2; 2
5
1,1,1,1,2
6
1,1,1,1,1,1
Table 3.1: Enumeration of 6-DOF Non-Redundant Parallel Manipulator (adapted from
[5] )
From Table 3.1, 6-DOF in-parallel manipulators can have two to six legs. Manipulators
with one leg is excluded because it is a serial manipulator. In this work, a class of threelegged, non-redundant, parallel robots is identi ed as having symmetrical geometries with
simple kinematics and desirable characteristics suitable for our modular parallel robot.
The main considerations for choosing the three-legged parallel robot for the modular
parallel robot con gurations are:
i. In order to reduce the inertia of the modular manipulator, the passive spherical joint
will be used for the end joints as it provides three axes of rotation within the joint
itself. This is important because in modular robots, we try to place the actuator
module close to the base and passive joint module, which are much lighter, close to
the end as this would reduce the manipulator mass associated with the actuation.
Thus, to use the spherical joint as end joint, there must be three or more legs.
ii. For 6-DOF motion control, there must be at least six actuator joints. Therefore,
30

only modular parallel robots with two, three or six legs can be designed to have
a simple and symmetric kinematic structure. Leg symmetry is an advantage as
the workspace of the parallel robot is symmetrical and also the device (e.g., links)
production cost can be kept low.
iii. The individual actuator is a self-contained drive unit with a built-in motor, a controller, an ampli er, and a communication interface, and hence, it is not very compact. If more legs are used, the possibility of self-interference is greatly increased.
Hence, three-legged parallel robots will have a larger dexterous workspace than one
with more than three legs.
For such a class of three-legged parallel robots, each leg consists of two actuated joints
(prismatic and/or rotary), one passive revolute joint and one passive spherical joint. The
actuator joint modules in each leg are always placed near the base because of their weight.
Based on this fact, we can generate all of the possible robot con gurations in this class
(see Section 3.2). Figure 3.4 shows two such possible robot con gurations.

passive joint
actuator joint
(revolute)
actuator joint
(prismatic)

actuator joint
(revolute)
mobile
platform

spherical
joint

passive joint
mobile
platform

actuator joint
(revolute)

spherical
joint

Figure 3.4: Two Modular Three-legged Parallel Robot Con gurations


Through mobility analysis, the degrees-of-freedom of the manipulator designed can be
veri ed if it has the mobility required. The degrees-of-freedom of the spatial mechanism
or the manipulator can be calculated using the mobility equation for the spatial motion
addressed by Hunt in [64].
g
X
M = 6(n g 1) + fi
(3.1)
i=1

31

where
M : mobility(number of degrees of freedom of system)
n: number of links including the base
g : number of joints
fi : number of degrees-of-freedom for the ith joint
Referring to manipulator on the right in Fig. 3.4, we have
n = 11 links: base, mobile platform and 3 links in each of the three legs
g = 12 joints: 3 revolute and 1 spherical joints per leg
fi = 1 for revolute joint, and fi = 3 for spherical joint
Therefore,
g
X
i=1

fi = 3(1 + 1 + 1 + 3) = 18

M = 6(11 12 1) + 18 = 6

Hence, this con rms that the manipulator has 6-DOF. Similarly, the number of DOF of
other parallel manipulators can be calculated. Through proper design, hybrid parallel
manipulators exploiting the advantages of both parallel and strictly serial devices can be
developed for speci c tasks. Figure 3.5 shows the photos of three 6-DOF three-legged
parallel robots that have been built.

(a)

(b)

(c)

Figure 3.5: Photographs of Modular Three-legged Parallel Robots

32

Unique Parallel Robot Leg Structures

Some constrains and assumptions are made before we generate the leg structures of parallel robots. As discussed previously, grouping the last 3 DOF of each leg as a passive
spherical joint is advantageous in terms of manipulator sti ness and dynamic capabilities.
Therefore, all leg structures under consideration will employ a passive spherical joint at
the leg end. Next, it is also assumed that there is no o set among the branch links, and
the successive joint directions are either parallel or perpendicular. This assumption helps
in the construction of the legs and for developing simpli ed kinematic models. This is in
accordance with our hardware design as the actuator modules are cubic in shape. In addition, to avoid joint redundancy and to maintain 6-DOF end-e ector motion capability,
successive joints cannot be parallel unless separated by a link. Therefore, the requirement
to use a passive spherical end-joint combined with the avoidance of unnecessary o sets
and also the constraint of successive parallel or perpendicular joint directions de ne our
class of leg structures.

With the imposed conditions in mind, we can generate all the leg structures in the particular class. First, we focus on the structures where all the joints are revolute. The leg
structure will comprise three revolute joints and a passive spherical joint at the leg end.
In order to have 6-DOF leg-end motion, the three revolute joints must not intersect at
a common point. Avoiding unnecessary o sets, the three joints are dispersed amongst a
xed shoulder and an elbow (see Fig. 3.6), i.e., there are either two joints at the shoulder
and one at the elbow or vice versa. Figure 3.6 shows the possible joint directions at the
shoulder and the elbow. Considering permutations of the possible joint distributions and
directions yields [5]
"

2 (3 3! 2)! (3) = 36
(3.2)
potential leg layouts for the class described. However, many of these 36 layouts are
kinematically equivalent.
When two joints are located at the shoulder, the elbow joint will be constrained to lie
on a spherical surface of xed radius. This array is called pointer-revolute leg structure
[5]. Placing one revolute joint at the shoulder and two joints at the elbow results in a
pointing mechanism at the elbow constrained to lie on a circle of xed radius generated
33

;
;

Shoulder

Elbow

C
F

Figure 3.6: Leg Joint Directions (adapted from [5])


by the shoulder joint known as revolute-pointer leg structure [5].
Pointer-Revolute Leg Structure

Examining Fig. 3.6, the single elbow joint cannot be in the `D' direction as the nal
four joints of the leg will then intersect at a common point, i.e., the elbow joint is not
independent of the DOF provided by the spherical joint. The resulting structure would
be equivalent to a pointer with a spherical joint at the branch end, capable of only 5-DOF
motions. An elbow joint in the `F' direction also results in a leg structure capable of
5-DOF motion. Therefore, for the pointer-revolute leg structures the elbow joint must
be in the `E' direction. The directions of the two shoulder joints remain unrestricted.
Taking all permutations of the shoulder joint directions results in six pointer revolute leg
structures. Figure 3.7 shows these six leg structures. The structures on the right in the
same row are their respective kinematically equivalent structures.
Revolute-Pointer Leg Structure

The revolute-pointer leg structures will have one joint at the shoulder and two joints
at the elbow. Again from Fig. 3.6, it can be seen that the second elbow joint for the
revolute-pointer leg structure cannot be in the `D' direction. The reason is the same as
that considered for the pointer-revolute leg structure. Furthermore, the single shoulder
joint cannot be in the `C' direction, as it would only cause rotation of the elbow pointermechanism about its own center resulting in a structure only capable of 5-DOF motion.
Eliminating all the structures corresponding to these irrelevant cases yields eight possible
permutations of revolute-pointer leg structures, as depicted in Fig. 3.8. The unique leg
structures are boxed, the others are kinematically equivalent structures. Here, `ADE',
34

CBE

ABE

CAE

BAE

BCE

ACE

Unique leg structures

Figure 3.7: Pointer-Revolute Leg Structures (adapted from [5])


`ADF' and `BEF' are equivalent. Similarly, `BDE', `BDF' and `AEF' are equivalent.
`AFE' and `BFE' are identical to `ACE' and `BCE' pointer-revolute leg structures in
Fig. 3.7

ADE

BDE

ADF

BDF

BEF

AEF
Unique leg structures

AFE

BFE

Figure 3.8: Revolute-Pointer Leg Structures (reproduced from [5])


35

Combining the unique leg structures in both pointer-revolute and revolute-pointer types,
there are ve unique leg layouts belonging to this class. If these legs are to be used to
construct non-redundant actuated hybrid manipulators consisting of three legs (3-2,2,2
hybrid chains), then each leg of the parallel robot will have ve possible actuated leg
structures that can be employed.
Structures Containing Prismatic Joints

Next, we extend the work to structures containing prismatic joints. Theoretically, any
one of the joints mentioned in the pure revolute joint structure type can be replaced with
a prismatic joint, resulting in several potential leg con gurations. However, the prismatic
module under consideration is much heavier and bulkier than the revolute joint, hence
when the prismatic joint is included in the leg structure, it must be mounted close to the
base. Besides, due to space constraints and the possibility of leg interference, only one
prismatic joint should be used per leg, and it is supposed to translate and rotate only
in the vertical direction. Based on these considerations, we can generate the possible leg
structures comprising one prismatic joint and two revolute joints. The prismatic joints
will be located at the shoulder. There can be either two joints at the shoulder and one
joint at the elbow, i.e., the prismatic joint and one revolute joint at the shoulder and the
other revolute joint at the elbow, or one prismatic joint at the shoulder and two revolute
joints at the elbow. Figure 3.9 shows the possible joint directions at the shoulder and
the elbow. Note that the elbow joint closest to the spherical joint cannot be in the `D'
direction. As explained earlier, this would cause the last four joint axes to intersect at
a common point. Figure 3.10 illustrates the eight unique leg structures of this type. If
we include these eight structures into the earlier ve structures belonging to the pure
revolute type, we will have a total of 13 unique leg structures.
F
D
Elbow

;
E

Shoulder

Figure 3.9: Leg Joint Directions - Prismatic Joint


36

CAE

CAF

CBF

CFE

CFF

CCE

CBE

CCF

Figure 3.10: Unique Leg Structures Containing Prismatic Joints

3.3 Summary
In this chapter, the actuator modules, passive joints modules, links and other components used for modular robots have been introduced. We have also identi ed a class of
three-legged parallel robot structures that have symmetrical geometry with simple kinematics and desirable characteristics suitable for our application. Di erent types of unique
leg structures containing both revolute and prismatic joints for modular robots are also
discussed.

37

Chapter 4
Parallel Robot Kinematics and
Workspace Analysis
This chapter addresses the kinematics of modular parallel robots, which includes both
forward and inverse displacement analysis, and workspace analysis. The kinematic analysis utilizes the Product-Of-Exponential (POE) representation, which is a geometrical
interpretation of screw theory. A workspace visualization scheme is also developed for the
analysis of the parallel manipulator.

4.1 Local POE Formula


The purpose of this section is to give the reader some background on the Local POE
formula and its representation that will be used in the forward, inverse kinematics and the
kinematic calibration algorithms in this thesis. In [65], Brockett shows that the forward
kinematic equation of an open chain robot containing either revolute or prismatic joints
can be uniformly expressed as a product of matrix exponentials. Because of its compact
representation and its connection with Lie groups and Lie algebras, the POE formula has
proved to be a useful modeling tool in robot kinematics. According to the coordinate
frames used for expressing the joint axes, the POE formula can be written in di erent
forms such as the base frame, the local frame, and the tool frame [62, 66, 67, 37]. For
our purpose, only the local frame representation of the POE formula is introduced. Some
mathematical background regarding the POE formula can be found in Appendix A.
38

4.1.1 Dyad Kinematics


si
zi

zi -1
k i -1
yi -1 lin

i
ink

-2

xi -1

i -1

yi

link i

xi

Figure 4.1: Two Consecutive Links: A Dyad


Let link i 1 and link i be two adjacent links connected by joint i, as shown in Fig. 4.1.
Link i and joint i are termed dyad i. If we denote the body coordinate frame on dyad i by
frame i, then the relative pose (position and orientation) of frame i with respect to frame
i 1, under a joint displacement, qi , can be described by a 4  4 homogeneous matrix,
an element of SE (3), such that
Ti

1;i

(qi) = Ti ;i(0)ebs q ;
1

(4.1)

i i

where sbi 2 se(3) is the twist of joint i expressed in frame i, Ti ;i(qi ) and Ti ;i (0) 2 SE (3).
1

In Eq. (4.1), Ti ;i(0) is the initial pose of frame i relative to frame i 1, and


R
d
i ;i (0)
i ;i (0)
Ti ;i (0) =
;
(4.2)
0
1
where Ri ;i(0) 2 SO(3) and di ;i(0) 2 <  are the initial orientation and position of
frame i relative to frame i 1 respectively. The twist of joint i can be written as
1


bi vi
w
sbi = 0 0 ;

(4.3)

where wbi is the cross-product matrix of unit wi (= [wix; wiy ; wiz ]T ), the directional vector
of joint i's axis expressed in frame i, and vi (= [vix; viy ; viz ]T ) is the positional vector of
the joint i's axis relative to frame i. wbi is given by
2
3
0
wiz wiy
wbi = 64 wiz
0
wix 75 ;
(4.4)
wiy wix
0
The twist sbi can also be expressed as a 6-dimensional vector through a mapping:
39

sbi 7! si = (vi ; wi)T

2 <  , with the components of si termed twist coordinates. In the


6

local POE formula, the twists are expressed in their local frames. Without loss of generality, we assign the local frame i in a way such that the joint i's axis passes through frame
i's origin. Hence, si = (0; wi) for revolute joints, where wi is the unit directional vector
of the joint i's axis expressed in frame i and kwik = 1; si = (vi ; 0) for prismatic joints,
where vi is the unit directional vector of the joint i's axis relative to frame i and kvik = 1.
An explicit formula for the computation of ebs q , is given in [66, 67]. For the local POE
formula, the computation formula can also be simpli ed as
i i

 w^ q
es^ q = e 0

i i

i i

vi qi  ;

(4.5)

where qi is joint i's displacement and


ew^ q = I + w^i sin qi + w^i2 (1 cos qi ):

(4.6)

i i

4.1.2 Local POE Formula for an Individual Leg


Based on the dyad kinematics, the forward kinematic transformation for an open kinematic chain can be easily derived. Consider an open kinematic chain with n + 1 links,
sequentially 0, 1, : : :, n (from the base 0 to the end-link n). The forward kinematic
transformation thus can be given by
T0;n (q1 ; q2 ; : : : ; qn ) = T0;1 (q1 )T1;2 (q2 ) : : : T(n

1);n

(qn)

= T ; (0)es q T ; (0)es q : : : T n
01

^1 1

12

^2 2

1);n

(0)es q
^n

(4.7)

4.2 Forward Kinematics


The forward kinematic analysis of the parallel robot is known to be a dicult problem.
There is no general close-form solution for the general parallel robot. Some close-form
solutions have been developed for certain con gurations of the Stewart platform and
other speci c parallel robot structures [13, 23, 4, 27, 68, 26] mentioned in the review.
However, these close-form methods are computationally expensive and not very practical
to implement. Therefore, based on the POE formula, we have developed a numerical
method to solve the forward kinematics of the modular parallel robot.
40

We consider a class of modular three-legged (6-DOF) parallel robots as shown in Fig. 4.2.
Each leg contains four joint modules, i.e., two actuator modules, one passive revolute
(rotary or pivot) joint module, and one passive spherical joint module which is at the end
of the leg. We assume that joints ij (^sij ) are actuated joints (i = 1; 2; 3; j = 1; 3), while
joints i2 (^si ) are passive revolute joints (i = 1; 2; 3). De ne frame A as the local frame
attached to the mobile platform and frame B as the base frame. The coordinates of point
Ai (i = 1; 2; 3) relative to frame Bi and frame A are given by p0i = (x0ai ; yai0 ; zai0 )T and
p00i = (x00ai ; yai00 ; zai00 )T respectively, while pi = (xai ; yai ; zai )T is the positional vector of point
Ai with respect to frame B . The forward displacement analysis consists in determining
the pose of frame A with respect to the base frame B when the joint displacements of the
six actuated joints, qij (i = 1; 2; 3; j = 1; 3), are known [69].
2

A3

A1
A
z

^ 13
s

B33

^33
s

B13
A2
x

;
;
B32

^12
s

B12

B23

;
z

^32
s

^23
s

^11
s

B11 (B10)

^22
s
y

B31 (B30)

B22

^31
s

^21
s

B21 (B20)

Figure 4.2: A Three-legged Parallel Robot

4.2.1 Determination of Passive Joint Angles


For the three-legged parallel robot, we assume that the rst and third joints of each
leg are active joints and the second one is a passive joint. Let us also assume that the
mobile platform is disassembled from the parallel robot. Each of the legs then becomes
an individual serial kinematic chain. Based on the local POE formula, Eqn. (4.7), the
41

position vector of point Ai (i = 1; 2; 3) with respect to the base frame B , can be written
as
 
 0
pi = T
pi
s q
s q
s q
TB ;B (0)e TB ;B (0)e
(4.8)
B;B TB ;B (0)e
1
1
where TB;B is the xed kinematic transformation from frame B (the base platform frame)
to frame Bi (the base frame of leg i), and qi represents the displacement of the passive
joint. For simplicity, Eqn. (4.8) can also be written as
i0

i0

^i1

i1

i1

i1

^i2

i2

i2

i2

^i3

i3

i3

i0

Pi = TB;i2 es^

i2 i2

where, 
 0
Pi = p1i , Pi0 = p1i , TB;i = TB;B TB
2

i0

i0

Ti2;3 Pi0

;Bi1

(i = 1; 2; 3);

(0)es

^i1 qi1

TB

i1

;Bi2

(4.9)

(0), and Ti ; = TB
23

i2

;Bi3

Since

kA A!k = (P P )T (P P );
When there is a small change in kA A!k , Eqn. (4.10) can then be written as
(P P )T (dP dP )
dkA A!k =
kA A!k
1

(0)es

^i3 qi3

(4.10)

(4.11)

Di erentiating Eqn. (4.9) with respect to qi , we can nd that


2

dPi = TB;i2 es^

i2 i2

s^i2 Ti2;3 Pi0 dqi2

(i = 1; 2; 3)

(4.12)

The actual distance from point A to point A is a constant, denoted by a . And also
from Eqn. (4.11), we can write,
1

12

dkA1 A!2 k = a12 kA1 A!2 k


P1 )T
= (P2 !
(dP
kA1 A2k 2

dP1 )

(4.13)

Similarly, it can be shown that,

P )T
(dP
kA A!k = (P !
kA A k
P )T
(dP
kA A!k = (P !
kA A k

a23

a31

dP2 )

(4.14)

dP3 )

(4.15)

Let TB;i es q s^i Ti ; Pi0 = P_i, substituting Eqn. (4.12) into Eqn. (4.13), (4.14), (4.15) and
rearranging the terms, we get
T
T
(4.16)
a
kA A!k = (P P ) P_ dq (P P ) P_ dq
2

^i2

i2

23

12

kA A!k
2

42

22

kA A!k
2

12

a23

P )T _
P dq
kA A!k = (P !
kA A k
P )T _
kA A!k = (P !
P dq
kA A k
2

a31

32

12

P2 )T _
P dq
kA2 A!3k 2 22
(P1 P3)T P_ dq
kA3 A!1k 3 32
3

(P

(4.17)
(4.18)

Combining Eqn. (4.16), (4.17) and (4.18) into matrix form, we have
da = Jdq

where dq = column[dq ; dq ; dq ],
da = column[a
kA A!k; a kA A!k; a
2 P P
P_ P P! P_
0 3
!
6 kA A k
7
kA A k
6
7
P P
P P
6
_
_
0
P
P 77;
!
!
J = 66
kA A k
kA A k 7
4 P P
5
P P
0
! P_
! P_
13

12

( 2

1)

( 1

3)

kA3 A1 k

23

1)

31

kA A!k],
3

( 3

2)

33

( 2

23

(4.19)

( 3

2)

( 1

3
T
3)

kA3 A1 k

Rearranging Eqn. (4.19), we have

dq = J 1 da

(4.20)

Equation (4.20) can be written as an iterative form, i.e.,


q k+1 = q k + (J 1 da)k ;

(4.21)

where k represents the number of iterations. Based on the standard iterative form of
Eqn. (4.21), the Newton-Raphson method is employed to derive the numerical solution
of q(= [q ; q ; q ]T ). Since the Jacobian matrix J is a 3  3 matrix, the inverse of the
Jacobian matrix J can be found in symbolic form.
12

22

32

4.2.2 Determination of the Mobile Platform Pose


Once the passive joint displacement of leg i is derived, we can directly compute the
position vector of Ai by using Eqn. (4.8). Subsequently, we can determine the pose of the
mobile platform as shown in the following formulation.
Denote the forward kinematic transformation from the base frame B to the mobile platform frame A as TB;A; then


p00i  =  pi 

TB;A 1

43

(i = 1; 2; 3):

(4.22)

We also have
00 p00 )  (p00 p00 )   (p p )  (p p ) 
(
p
TB;A
=
;
0
0
Combining Eqn. (4.22) and Eqn. (4.23), we obtain
 00 00 00 00
00 )  (p00 p00 )  p p p (p p )  (p p )
p
p
p
(
p
p
TB;A 1 1 1
= 1 1 1
:
0
0
Therefore, the pose of the mobile platform, TB;A, can be given by


p1 )  (p3


TB;A = p11 p12 p13 (p2

p2 ) p001 p002 p003 (p002

1 1 1

(4.23)

p001 )  (p003

(4.24)

p002 ) 1 :

(4.25)

where the matrix,




p001 p002 p003 (p002

p001 )  (p003

p002 ) ;

1 1 1
0
is constant for a speci c robot con guration, and it is always invertible if points A ; A ; A
neither coincide with each other nor fall on the same line. The position vectors of points
Ai , p ; p ; p , can be found using the forward transformation equation if the passive joint
angles are known. The passive angles can be found by the numerical method described
in the previous section. Hence, the pose of the mobile platform can be found.
1

Alternatively, if sensors are installed in each of the passive joints to measure their displacements, q (= [q ; q ; q ]T ), then the position of points Ai (i = 1; 2; 3) can be directly
determined as a function of the actuating joint displacements and the sensed passive joint
displacements in leg i using Eqn. (4.8) and the platform pose can then be found directly
using the method described above. Because the POE formula is used in the formulation
of the forward kinematics, this approach is general and it can also be applied to other
robot con gurations with more than three legs. Therefore, the approach would be very
suitable for the modular robot systems.
12

22

32

4.3 Inverse Kinematics


This section addresses the inverse kinematics of parallel robot. The purpose of the inverse kinematic analysis for modular parallel robots is to determine the actuated-joint
displacements when the pose of the mobile platform is given. As shown in Fig. 4.2,
44

when the pose of platform frame A, TB;A is given, the position vector of point Ai, pi
(i = 1; 2; 3), can be determined directly through a simple kinematic transformation as
described in Eqn. (4.22). Consequently, each of the legs can be decoupled and treated as
an independent serial open chain. Most of the inverse kinematic algorithms for the serial
manipulator can be implemented. Following the POE approach, we employ the PadenKahan's method [34, 66] for the inverse kinematic analysis. The Paden-Kahan's method
is the geometrical algorithm originally used to solve for the inverse kinematics of the serial
robot. Here, this method is adapted to solve for the inverse kinematics of the three-legged
modular recon gurable parallel robot shown in Fig. 4.2. The complete inverse kinematics
problem is rst reduced into subproblems based on geometrical analysis. Subsequently,
these subproblems can be solved using the methods presented by Paden and Kahan in
[66]. Solving these subproblems will eventually yield the inverse kinematics solution.

4.3.1 Paden Kahan's Approach


The following three subproblems are part of the fundamental subproblems proposed by
Paden and Kahan [34], commonly used to solve the inverse kinematics of the serial robot.
They will be used to solve the inverse kinematics problem of our parallel robots. The
solution to these subproblems will be illustrated by solving the inverse kinematics of a
parallel robot.
Subproblem 1 Rotation about a single axis

Let s^ be a zero-pitch screw with unit magnitude and p; q


such that

2<
4

es^ p = q
p
u

u'
s

v'

v
q

Figure 4.3: Paden-Kahan Subproblem 1


45

be two points. Find 

Subproblem 2 Rotation about two subsequent axes

Let s^1 and s^2 be two zero-pitch, unit magnitude screws with intersecting axes and p; q
<41 be two points. Find 1 and 2 such that

es^  es^  p = q
1 1

2 2

s2
p
2
c
1

s1

Figure 4.4: Paden-Kahan Subproblem 2


Subproblem 3 Rotation to a given distance

Let s^ be a zero-pitch, unit magnitude screw; p; q 2 <41 two points; and a real number
greater than 0. Find  such that

kq es pk =
^

p
u

u'
s

e u '
v

'

v'

q
T (p-q)

Figure 4.5: Paden-Kahan Subproblem 3

4.3.2 Application to Parallel Robots


Let TB;A be the end-e ector pose of a parallel robot with respect to the base of the robot
(as shown in Fig. 4.2). The individual leg-end positions at the centre of the spherical
46

joints, pi (i = 1; 2; 3), can be determined by a xed transformation with respect to TB;A .


If we assume that the mobile platform is disassembled from the parallel robot, each of
the legs then becomes an individual kinematic chain. In this case, the three legs are
symmetrically arranged. Therefore, the inverse kinematics solution approach will be the
same for the three legs. Based on the local POE formula, the position vector of point Ai
with respect to the base frame B can be written as


pi  = T

B;Bi1

(0)e

s^i1 qi1

TB

i1

(0)e

;Bi2

s^i2 qi2

TB

i2

;Bi3

(0)e

s^i3 qi3

p0i 

(4.26)

where TB;B (0) = TB;B TB ;B (0), is a xed transformation from the base frame B to
the initial pose of frame Bi . Equation (4.26) is based on the local frame representation. Following the convention used in [66], it can also be expressed in the base frame
representation as
 
pi = e q e q e q  p0i 
(4.27)
1
1
i1

i0

i0

i1

i1 i1

where i = AdT
i = AdT
T
1

si1 , i2 = AdT


(0)T
(0) si3 .

B;Bi1 (0)

B;Bi1 (0)

Bi1 ;Bi2

i2 i2

i3 i3

s and

TBi1 ;Bi2 (0) i2

B;Bi1 (0)

Bi2 ;Bi3

For simplicity, Eqn. (4.27) can also be written as


Pi = e^

i1 i1

e^

i2 i2

e^

i3 i3

Pi0

(4.28)


 0
p
i
0
where, Pi = 1 and Pi = p1i .

Let r 2 <  be a common point of intersection of axes i and i . By de nition,


e q r = r if r lies on the axis ^i . Similarly, e q r = r . Subtracting r from
Eqn. (4.28), we have
4

^i1

i1

^i2

Pi

r1 = e^

e^

e^

^i1 qi1

e^

(e

i1 i1

= e

i2 i2

i2 i2

i3 i 3

i2

Pi0

^i3 qi3

Pi0

r1
r1 )

(4.29)

By de nition, the distance between points is preserved in a rigid body transformation and
ke q e q k = 1. Taking the Euclidean norm of Eqn. (4.29) we have,
^i1

i1

^i2

i2

ke q Pi0 r k = kPi r k


^i3

i3

47

(4.30)

Using Subproblem 3 in [66] we can solve Eqn. (4.30). Let r 2 <  be a point on the
axis ^i and de ne
4

u = (Pi0

r2 )

v = (r1

r2 )

(4.31)

Eqn. (4.30) can be written as

kv e q uk =
^i3

i3

(4.32)

where = kPi r k. Referring to Fig. 4.5, the projections of u and v are


1

u0 = u !i3 !iT3 u
v0 = v

(4.33)

!i3 !iT3 v

Note that !i 2 <  is a unit vector in the direction of axis ^i . The projection of on
this plane is
3

2 = 2

k!iT (Pi00 r )k
1

(4.34)

Referring to the right-hand side of Fig. 4.5 and Eqn. (4.32), we can write

kv0 e! q u0k = 0
^ i3

i3

(4.35)

Solving Eqn. (4.35) for qi , we have


3

qi3 = arctan (! (u0  v 0 ); u0T v 0 )  cos


T

ku0k + kv0k 0
2ku0kkv0k
2

(4.36)

Where arctan(x; y) gives the arc tangent of y=x, taking into account which quadrant the
point (x; y) is in. Note that qi can have zero, one or two solutions, depending on the
number of points in which the circle of radius ku0 k intersect the circle of radius 0. Next,
with e q known, let e q Pi0 = Pk , then Eqn. (4.28) becomes
3

i3 i3

i3 i3

e^

i1 i1

e^

i2 i2

Pk = Pi

48

(4.37)

Following the notation of Subproblem 2 in [66], let c be a point such that


e^

i2 i2

Pk = c = e

^i1 qi1

(4.38)

Pi

Referring to Fig. 4.4, let r 2 <  be the point of intersection of the two axes, ^i and
^i , hence
4

e^

i2 i2

(Pk r ) = c r = e
2

^i1 qi1

(Pi r )

(4.39)

De ning vectors u = (Pk r ), v = (Pi r ) and z = (c r ) and substituting the


expressions into Eqn. (4.39) gives
1

e!^

i2 i2

u1 = z = e

!
^ 1 q1

(4.40)

v1

where w^i and w^i are unit vectors in the direction of axes ^i , ^i respectively. Eqn. (4.40)
implies that
1

!iT2 u1 = !iT2 z
!iT1 v1 = !iT1 z

(4.41)

and ku k = kzk = kv k . Since !i , !i , !i  !i are linearly independent, we can write


1

z = !i1 + !i2 + (!i1  !i2 )

(4.42)

and

kzk = + + 2 !iT !i + k!i  !i k


2

(4.43)

Substituting Eqn. (4.42) into Eqn. (4.41) gives a system of two equations in two unknowns
!iT2 u1 = !iT2 !i1 +
!iT1 v1 = + !iT1 !i2

(4.44)

Rearranging the terms, we have,

(!iT !i )!iT u
(!iT !i )
(!iT !i )!iT v
=
(!iT !i )

1 1

49

!iT1 v1

!iT2 u1

(4.45)

Solving Eqn. (4.43) for using kzk = ku k and , from Eqn. (4.45) yields
2

ku k
=
1

2 2 2 !iT1!i2
k!i1  !i2k2

(4.46)

Hence, with ; and known, we can use Eqn. (4.42) to solve for z. Next, from
Eqn. (4.40), we can write.
e!^

u1 = z

i2 i2

!
^ i1 qi1

(4.47)
(4.48)

v1 = z

Eqn. (4.47) and (4.48) can then be solved using Subproblem 1 in [66]. Consider Eqn. (4.47),
we de ne u0 and z0 to be the projection of u and z onto the plane perpendicular to axis
^i (see Fig. 4.3). Then we have
1

u01 = u1
z0 = z

!i2 !iT2 u1
!i2 !iT2 z

(4.49)
(4.50)

The problem has a solution if the two following conditions are satis ed [66]
!iT2 u = !iT2 z

(4.51)
(4.52)

ku0 k = kz0 k
1

If u0 6= 0, then we can determine qi using the relationship


2

u1  z 0 = wi2 sin qi2 ku1kkz 0 k


0

u1  z 0 = cos qi2 ku1kkz 0 k

(4.53)
(4.54)

Solving Eqn. (4.53) and (4.54), we have


qi2 = arctan(!iT2 (u01  z 0 ); u01T z 0 )

(4.55)

Similarly, q can be solved by the same Subproblem using Eqn. (4.48). Therefore, all the
joint angles, (qi ; qi ; qi ) (i = 1; 2; 3), of the parallel robot can be obtained for a particular
end-e ector pose. The inverse kinematics of other modular recon gurable parallel robots
1

50

can be solved using the similar approach mentioned in this section. For this layout, there
are up to eight solutions for a particular pose. For simulation purposes, to determine
whether the pose of the end-e ector of the parallel robot is in the workspace, the inverse
solution must exist for all the three legs of the robot.

4.4 Workspace Analysis


As mentioned in Section 2.3, the major drawback of a parallel manipulator is its limited
workspace. Hence, it is of primary importance to develop ecient tools that will allow
us to determine the workspace of a particular parallel robot con guration. In the case of
a recon gurable robot, this tool is even more vital as such workspace analysis must be
performed for every new con guration designed.

4.4.1 Workspace Description


Workspace studies can be cast into two classes: (i) analysis, which consists in nding the
workspace of a given mechanism; and (ii) synthesis, which consist in producing a mechanism with a desired workspace. In this work, we will mainly focus on the rst problem.
The complete workspace of a 6-DOF parallel robot is embedded in a six-dimensional manifold and there is no human-readable way to represent it. Hence, the workspace determined
here is the reachable or positioning workspace, i.e., the region of the three-dimensional
Cartesian space that can be attained by the mobile platform with a given orientation of
the platform. The positioning workspace is actually a 3-D subspace of the complete 6-D
workspace. This is also true for the orientation workspace. In general, if the mechanical
interference among the legs is neglected, the boundary of the reachable workspace is attained whenever one of the joints of the parallel manipulator reaches its joint limits [40].
However, it is very dicult to nd a general approach to identify the parallel robot geometrical workspace boundary. This is due to the fact that there is no close-form solution
for the general forward kinematics of these manipulators. It becomes still more dicult
for recon gurable modular parallel robots having variable con gurations. Therefore, instead of developing a complex algorithm to identify the workspace boundary, a general
workspace visualization scheme is developed for the analysis and design of the workspace
for a modular parallel robot.
51

Referring to Fig. 4.2, the mobile platform frame A, TB;A can be described by matrix

pB;A 
TB;A = RB;A
0
1

Replacing TB;A in Eqn. (4.22) with Eqn. (4.56), we have




RB;A pB;A   p00i  =  pi 

(4.56)

(i = 1; 2; 3)

(4.57)

Equation (4.56) can also be written as


RB;A p00i

pB;A = pi

Equation (4.57) is an alternative expression of the leg i inverse kinematic equation when
each leg of the parallel robot is decoupled and considered as an individual serial chain. For
a given mobile platform orientation, its position pB;A can be determined by translating
point Ai through a xed vector RB;A p00i as shown in Eqn. (4.57). This implies that the
reachable workspace of the mobile workspace determined by leg i is a xed translation
of the workspace of point Ai of leg i. This is only the workspace of one of the three legs
of the parallel robot. However, the motion of a three-legged parallel robot is constrained
by its three legs. Therefore, the position of the mobile platform must satisfy the three
inverse kinematic equations given by Eqn. (4.57) simultaneously. As a result, the reachable
workspace of the mobile platform will be the intersection of the individual workspace of
each leg.

4.4.2 Workspace Visualization


The workspace analysis is done for the class of three-legged modular parallel robots mentioned in Section 3.2. Substituting Eqn. (4.8) into Eqn. (4.57), we have
pB;A = TB;B TB
i0

i0

;Bi1

(0)es

^i1 qi1

TB

i1

;Bi2

(0)es

^i2 qi2

TB

i2

;Bi3

(0)es

^i3 qi3

p0i

RB;A p00i

(4.58)

(i = 1; 2; 3)
Theoretically, by in nitely varying the three joint displacements (qi ; qi ; qi ) within their
joint limits, the individual workspace of each leg can be generated and the intersection
of their workspace volume will be the reachable workspace of the parallel robot. For
simplicity and eciency, the 3-D parametric surface-plotting function provided by Maple
V is employed to generate the individual workspace. Since the function can only handle
1

52

two parametric variables at any one time to generate a 3-D surface, we evenly distribute
the displacement range of one of the joint variables into discrete intermediate levels. Then,
for a particular level, the 3-D surface can be generated by varying the other two joint
parameters. The result will be a 3-D surface; plotting all the surfaces of all intermediate
levels together, a virtual 3-D solid model is formed. Finally, if the virtual workspaces
of the three legs of the parallel robot are put together, the intersection of the three
workspaces can be obtained. This is the actual workspace of the robot mobile platform.
In addition, we can investigate the internal structure of the robot workspace by taking its
cross-sectional views.
Visualization Example

In this example, we used the visualization technique mentioned above to represent the
workspace of the parallel robot in Fig. 4.2. The parameters of this manipulator are as
follows.
p
2
3
2
3
0
205
1
0
0
410
6p
p 77
6
0
205
3 77 ; TB;B = 666 0 1 0 0 777;
6
TB;B = 6
4 0
0 1 80 5
4 0
0 1
80 5
0 0 0 1
0 0 0
1
1
2
3
2

10

1
2

3
2

20

2
3
0
205
0
0
1
90
p 77
6 p
6
0
205
3 77 TB ;B = 666 0 1 0 0 777;
6
TB;B = 6
4 1 0 0 0 5
4 0
0 1 80 5
0 0 0 1
0 0 0 1
2
2
2
0 0 1 330 3
0 1 0 03
330 3
6
7
6
7
6
7
TB ;B = 664 01 01 00 00 775; TB ;B = 664 01 00 01 00 775; p00i = 664 00 775
0 0 0 1
0 0 0 1
1
and nominal leg-end positions with respect to the center of the platform are
2
2
2
410 sin(=6) 3
410 3
410 sin(=6) 3
6
=6) 777; p0 = 666 0 777; p0 = 666 410 cos(=6) 777
p0 = 664 410 cos(
5
4 0 5
4
5
0
0
1
1
1
Because of the reasons stated above, the orientation of the mobile platform is speci ed
to be the 3  3 identity matrix. The results of the workspace visualization are shown in
Figs. 4.6 and 4.7. Figure 4.6(a) shows the workspace generated by Leg 1 of the robot
30

i1

1
2

3
2

3
2
1
2

i0

i2

i2

i1

i3

53

and the gure on the right is its reachable workspace. In order to scrutinize the internal
structure of the workspace, several sectional views parallel to the x-y plane are shown in
Fig. 4.7. The left and right columns represent the sectional view of Fig. 4.6(a) and (b),
respectively. Two graphs in the same row have the same z-coordinate. By observing the
graphs on the left, we can easily identify the working regions (intersection areas) in the
composite workspace based on the plotting density of the graphs on the right. It can
be seen from these gures that the workspace generated by each leg is a part of a solid
torus. There is a void in the lower part of the intersection of these three tori indicating
that the platform is not as dexterous at the smaller z-coordinates. This example shows
that the workspace can be clearly visualized, although the derived workspace is not a true
3-D solid model. Most importantly, this visualization technique is simple and general for
analyzing the workspace of various three-legged modular parallel robot con gurations.

Figure 4.6: 3-D Workspace of a Three-legged Parallel Manipulator

4.5 Summary
In this chapter, the Local Product-of-Exponential(POE) formula is introduced. Based on
the local POE formulation, we have developed a numerical forward kinematics algorithm
for the class of three-legged parallel robot. This algorithm is general and can be applied
to modular robots with more than three legs. In addition, by employing the Paden
Kahan approach, the closed-form solution for a certain con guration of the three-legged
modular robot is demonstrated. A workspace visualization scheme is also developed. This
scheme enables us to visualize the reachable workspace of the parallel robot that is being
designed.
54

Figure 4.7: Sections of the Workspace Parallel to the x y Plane


55

Chapter 5
Kinematic Calibration: Model
Formulation
5.1 Introduction
Most implementation of the kinematic model of robots assume nominal arrangement
and description of their coordinate systems. However, due to the inherent machining
and assembly errors, the actual kinematic parameters of a robot would di er from their
nominal values as implemented in the robot controller, which will certainly lower the
positional accuracy of the robot. Kinematic calibration thus serves as an integrated
process of modeling, measuring and numerically identifying the actual characteristics of
a robot.
One of the main concerns in the modular robot system is the positioning accuracy of
the end-e ector. A set of robot modules are joined together to form a parallel robot
system through the use of connecting mechanisms to form a complete robot assembly.
Factors like machining tolerance, compliance, wear of the connecting mechanism and misalignment of the connected module components will a ect the positional accuracy of the
end-e ector. Especially for modular robots, the assembly errors are usually larger than
those of robots with xed con guration. Therefore, identifying the critical kinematic parameters to improve the positional accuracy of the end-e ector becomes a very important
issue for modular recon gurable parallel robots. Modular robot calibration is required in
at least three situations: i) After the recon guration and assembly of the robot geometry
because new kinematic parameters of the robot have to be identi ed and corrected; ii)
56

After a large number of operations, because the module connections may become loose
and need re-tightening, thus giving rise to kinematic errors; iii) After the end-e ector
is changed, because the end-e ector needs to be relocated with respect to the mobile
platform.

5.2 Calibration Models


In this work, three models are proposed for the self-calibration of a class of three-legged
modular parallel robots. The rst model is a nonlinear model and the other two are
linear. The rst two models are based on minimizing the leg-end distance as the objective
and the third is based on minimizing the measurement residue of the passive joint angles
to identify the kinematic error parameters. The complete calibration process consists of
two stages. The rst stage is performed using either one of the self-calibration algorithms
and the second stage will be the end-e ector calibration. After the self-calibration, the
transformation from the robot base frame to the robot mobile platform frame is known
with sucient accuracy. The end-e ector calibration is then performed to locate the ende ector with respect to the platform and also the virtual base frame of the robot to the
world base frame. Figure 5.1 shows a owchart relating the di erent calibration models
whose algorithms will be illustrated in subsequent sections.
Nominal
Parallel
Robot Model

Nonlinear Model
(Based on Leg-End
Distance Error)

Linear Model
(Based on Leg-End
Distance Error)

Linear Model
(Based on
Measurement Residue)

End-Effector
Calibration

Calibrated
Parallel
Robot Model

Figure 5.1: Flowchart of the Calibration Scheme


In this section, the three calibration algorithms are formulated based on the POE formula
for a class of three-legged parallel robots. In order to simplify the calibration model, we
assume that (1) the kinematic errors in a dyad exist only in the relative initial pose, and
57

(2) the joint twist coordinates and the joint angle o sets in a dyad have no kinematic
error and remain in their nominal values. Due to the closed-loop structure of a parallel
robot, the forward kinematic transformations of its legs are coupled together through the
spherical joints and the unique mobile platform. The kinematic errors in each leg and
those in the mobile platform contribute to the overall kinematic errors of a parallel robot in
a coupled manner. By nding the positioning errors of the centers of the spherical joints,
and also from the passive joint angles' measurement residue, three simple calibration
(error) models for the three-legged parallel robots can be constructed. Here, along with
that, in our formulation we assumed that all joints are kinematically perfect i.e., 1-DOF
joints except for the spherical joints, which have 3 DOF.
si s a
i
zi z c
i

zi -1

k i -1

yi -1 lin

i -1

xi
xic
xia

xi -1

zi a
yi
yic link i

yia
Joint i

i -1
Joint

Figure 5.2: Coordinate Frames in a Dyad

5.2.1 Geometric Description of Kinematic Errors in a Dyad


Now, we consider the kinematic error in a dyad. As shown in Fig. 5.2, let Tic ;i(0) be the
initial pose of the calibrated module frame ic with respect to the frame (i 1). Due to
geometric errors in the dyad, the nominal module frame i is di erent from the calibrated
module frame ic. The di erential change of Ti ; i(0), denoted by Ti ;i(0) is given by
1

Ti

1;i

(0) = Tic ;i(0) Ti ;i(0)


1

(5.1)

Based on di erential transformation theory, frame i (Ti ;i(0)) can be transformed into
frame Tic ; (0) under an in nitesimal translation Trans(xi; yi; zi), followed by an in nitesimal rotation Rot( i; i; i), where xi; yi; zi are in nitesimal displacements
1

11

58

along x; y; z axis of frame i 1 and i, i, i are in nitesimal rotations about the x,


y , z axes of frame i 1, respectively. Then, we have
Tic ;i (0) = Trans(xi ; yi ; zi )Rot( i ; i ; i)Ti ;i (0)
(5.2)
1

Notice that the transformation is expressed in the module frame i 1; hence, Eqn. (5.2)
follows the left multiplicative di erential transformation of Ti ;i (0) [45, 36].
1

Substituting Eqn. (5.2) into Eqn. (5.1), we have


Ti ;i (0) = [Trans(xi ; yi; zi )Rot( i ; i ; i) I ]Ti ;i (0)
= t^iTi ;i(0)
1

(5.3)

where
t^i = [Trans(xi ; yi; zi )Rot( i ; i ; i ) I ]
2
3
0
i i xi
6
i yi 777
= 664 i 0
0 zi 5
i
i

(5.4)

which is termed the kinematic error in the initial pose of module frame i (Ti ;i(0)) with
respect to module frame i 1. Like the twist of a joint, t^i is an element of se(3) and can be
identi ed by a 6  1 vector through the mapping t^i 7! ti = (xi ; yi; zi; i; i; i)T .
Rearranging Eqn. (5.3), we have
t^i = Ti ;i (0)Ti ;i (0)
(5.5)
1

1
1

In addition, Eqn. (5.2) can be rewritten as


Tic ;i (0) = (I + t^i )Ti ;i (0)
=: et Ti ;i(0)
1

^i

(5.6)

5.3 Nonlinear Calibration Model


5.3.1 Kinematic Errors in an Individual Leg
Now let us consider the kinematic error in an individual leg. Due to the kinematic errors
in the leg assembly, the nominal and actual positions of the leg-end will not coincide with
59

each other. From Eqn. (4.8), the forward kinematic transformation of leg i can also be
given by
 
 0
pi = T
pi
s q
s q
s q
TB ;B (0)e TB ;B (0)e
(5.7)
B;B (0)e
1
1
^i1

i1

i1

i1

^i2

i2

i2

i2

^i3

i3

i3

where TB;B (0) = TB;B TB ;B (0), is a xed transformation from the base frame B to
the initial pose of frame Bi . Note that Eqn. (5.7) describes the nominal leg-end positions
of leg i when there is no kinematic error in the robot.
i1

i0

i0

i1

According to the de nition of matrix logarithm on SE (3), there exits a t^ 2 se(3) for a given
T 2 SE (3) such that et = T . So we can write et = Ti j ;ij (0) (with et = TB;B (0))
where t^ij 2 se(3) (i; j = 1; 2; 3). Thus, Eqn. (5.7) can be rewritten as
^

^ij

pi  = et^ es^
1

^i1

1)

i1

p0i 

(5.8)
1
We assume that the kinematic errors occur only in the initial pose, i.e., Ti j ;ij (0) and
hence, in t^ij (i; j = 1; 2; 3 and i 6= j ), and in the position p0i. Since t^ij 2 se(3), t^ij will
also belong to se(3). Based on Eqn. (5.6), the actual leg-end position, pai , which takes
into account the kinematic errors, can then be expressed as
 a
pi = et et es q et et es q et et es q  p0i + p0i 
(5.9)
1
1
where t^ij denotes the kinematic errors in t^ij expressed in module frame i 1 and p0i 2
<  is the kinematic errors of the last link p0i.
i1

i1 i1

e e

e e

t^i2 s^i2 qi2 t^i3 s^i3 qi3

^i1

^i1

^i1

i1

^i2

^i2

^i2

i2

^i3

^i3

^i3

1)

i3

Substituting et = Ti j
^ij

1);ij

pai  = et^ T
s^
B;B (0)e
1
i1

i1

(0) we have
q

i1 i1

e TB
t^i2

i1

;Bi2

(0)e

e TB

s^i2 qi2 t^i3

i2

;Bi3

(0)e

s^i3 qi3

p0i + p0i 

(5.10)

In Eqn. (5.10), t^ij , which is an element of se(3), can also be represented by tij =
(xij ; yij ; zij ; ij ; ij ; ij )T , through a mapping where xij , yij , zij represent respective in nitesimal displacements along the x, y, z axes of frame i 1 and ij , ij ,
ij represent respective in nitesimal rotations about the x, y , z axes of frame i 1. In
the calibration algorithm that follows, we will attempt to recover the kinematic errors
ti ; ti ; ti and p0i (i = 1; 2; 3), a total of 63 parameters.
1

In this self-calibration algorithm [70], the objective function formulated should be sensitive to the variations of the kinematic parameters and there is no need for external
measurements of di erent poses because of the use of passive joint encoders. Therefore,
60

A3

A1
A
z

B33

^33
s

B13
A2
x

^ 13
s

;
;
B32

^12
s

B12

B23

;
z

^32
s

^23
s

^11
s

B11 (B10)

^31
s

^22
s

B31 (B30)

B22

z
y

^21
s

B21 (B20)

Figure 5.3: Kinematic Diagram of the Parallel Robot


in this model, we assume that the actual passive joint angles are known. Note that our
parallel manipulator structure comprises three closed loops i.e., loops formed by Legs 1
and 2, Legs 1 and 3, Legs 2 and 3 through the base and mobile platform (Fig. 5.3). Hence,
an objective function can be formed based on the leg-ends' distances since the distance
between any two leg-ends is constant once the robot is assembled. If we consider the loop
formed by legs 1 and 2, the platform and the base of the parallel robot, we can nd a
nominal distance, a , between the leg ends A and A . However, due to kinematic error
in the robot, the actual distance aa will not be equal to the nominal distance a . Hence,
for this loop, we can nd an error parameter e :
12

12

12

e1 = kaa12 2

a212 k

(5.11)

Similarly, for the other two loops consisting of Legs 2 and 3, and Legs 3 and 1, we can
nd two other error parameters:

kaa
e = kaa

e2 =
3

23
31

2
2

a223 k

a231 k

By minimizing these errors, the 63 kinematic error parameters can be identi ed.

61

(5.12)
(5.13)

5.3.2 Kinematic Error Identi cation Using an Optimization Technique


The objective of the identi cation process is to nd the values of the kinematic errors
that will improve the accuracy of our kinematic model. The objective function must be
able to relate the errors of the distances between the leg-end positions over the workspace.
The actual distance between the leg-end position in Eqn. (5.11), (5.12) and (5.13) can be
obtained by taking the di erence of pai and paj, (i; j = 1; 2; 3 and i 6= j ), where pai and paj
can be found by using the forward POE formula in Eqn. (5.10). The distance can then be
de ned as the Euclidean norm k  k of the vector (pai paj)(pai paj )T a^ij . The combined
error can be de ned as
f =e +e +e
(5.14)
2

where
e = k(pa pa ):(pa pa )T a^ k;
e = k(pa pa ):(pa pa )T a^ k;
e = k(pa pa ):(pa pa )T a^ k;
q P
a^ij = ( nk k(pai paj )k )=n,
and n is the number of measured poses.
1

2
12

2
23

2
31

=1

For each of the measured poses, we can obtain a combined error parameter, denoted by
fk , where k represents the kth measured pose. The objective function is thus de ned as
F=

n
X
k =1

fk

(5.15)

The objective function of Eqn. (5.15) enables the minimization of the summation of the
di erences between the distance of two leg-ends (i.e. Leg 1 and 2, Leg 2 and 3 and Leg
3 and 1) at every pose and the corresponding Root-Mean-Square of the distances of two
leg-ends for all poses. Apparently, F has to be minimized. In our formulation, there is no
assumption for the requirement of the actual distance between the leg-end positions to be
known. This is in line with our physical model as the actual distance may not be determined without external measurement devices. However, with our calibration algorithm,
the actual distance between the leg-end positions can be recovered after calibration as
shown in the simulation example. The purpose of the kinematic calibration is to identify
the kinematic errors in the initial pose of the parallel robot. By minimizing the objective
62

function, we can obtain a set of kinematic errors dti ; dti ; dti and dp0i that when updated
into the nominal parameters of the parallel robot, will represent the calibrated kinematic
model of the physical robot. The self-calibration process for the parallel robot is deemed
to be completed when the value of the objective function approaches zero. The location of
the end-e ector at the centre of the platform can be determined by using the end-e ector
calibration method that is described in Section 5.6. The position vectors p0i and the initial pose Ti j ;ij (0) can be updated once the value of the kinematic error parameters are
identi ed, using the following equations.
1

1)

Ti(j

where Ti j

1);ij

1);ij

(0)c = et Ti j ;ij (0)nominal


p0ic = p0inominal + p0i ;
^ij

1)

(0)c and p0ic are the calibrated initial pose and position vector, respectively.

5.4 Linear Model Based on Leg-End Distance Error


In the previous model, we utilized the optimization method to identify the kinematic
errors because the error model, Eqn. (5.14), has a nonlinear form. Here, based on the
same criterion of minimizing the leg-end distance error, a linear model is formulated. In
this model [71, 72], the Newton-Raphson iterative least square method is used to identify
the kinematic error parameters.

5.4.1 Kinematic Errors in an Individual Leg


Here, we will rst consider the kinematic error of an individual leg. Due to the kinematic
errors in the leg assembly, the actual leg-end position will be di erent from its nominal
value. From Eqn. (5.8), the forward kinematic transformation of leg i is


pi  = et^ es^
1
i1

i1 i1

et^ es^
i2

i2 i2

et^ es^
i3

i3 i3

p0i 

(5.16)

We assume that the kinematic errors occur only in the initial pose Ti j ;ij (0) (hence,
in t^ij ) and in the position vector p0i. Let the kinematic errors in t^ij be expressed in the
(

63

1)

local frame i(j 1), denoted by et . Since t^ij 2 se(3), t^ij will also belong to se(3).
Geometrically, et = t^ij et . Linearizing Eqn. (5.16) with respect to t^ij and p0i, we have

pi  = t^ et es q et es q et es q  p0i  + et es q t^ et es q et es q  p0i 
i
i
0
1
1
 0
 0
+ et es q et es q t^i et es q p1i + et es q et es q et es q p0 i (5.17)
^ij

^ij

^ij

^i1

^i1

^i1

^i1

i1

i1

^i2

^i2

^i2

^i2

i2

i2

^i3

^i3

i3

^i1

^i1

i1

^i3

^i3

i3

^i1

^i1

i1

^i2

^i2

^i2

^i2

i2

^i3

i2

^i3

^i3

^i3

i3

i3

where t^ij 2 se(3) is the kinematic errors in t^ij expressed in module frame i(j 1) and
p0i 2 <  is the kinematic error of position vector p0i with respect to frame i3. Since
et = Ti j ;ij (0), Eqn. (5.17) can be simpli ed as
3

^ij

1)

pi  = t^

i1

p0B;i  + T

 0 
pi1;i + T t^  p0i2;i  + T  p0i 
^

t
B;i1 i2
B;i2 i3
B;i3
1
1
0

(5.18)

where TB;ij (j = 1; 2; 3) represents the forward kinematic transformation from frame B


to frame ij and p0ij;i 2 <  (with p0i ;i = p0B;i) represents the position vector of point Ai
with respect to frame ij .
3

Equation (5.18) describes the gross kinematic errors of the leg-end position vector pi
resulting from the kinematic errors in the initial pose Ti j ;ij (0) and the position vector p0i .
With some modi cation, Eqn. (5.18) can be transformed into an explicit linear equation
which is described as follows.


Let t^ be an element of se(3) such that t^ = 0!^ v0 and p 2 <  be a positional
vector. So,
 

 
p
t^ p1 = 0!^ v
0
1


= v +0!^ p


v
p
^
!
=
0  

v
= I 0 0p^ !
(5.19)
(

1)

In Eqn. (5.19), the matrix [ I  p^ ] 2 <  can be considered as the transition matrix
related to the positional vector p. We term such a matrix as the positional transition
matrix and denote it as Tp [71]. Therefore, Eqn. (5.19) can be rewritten as
   
^
t p1 = T0p t
(5.20)
3

64


v
where t = w

2 <  is a 6-dimensional vector representation of t^. Substituting


6

Eqn. (5.20) into Eqn. (5.18), we have




pi = Tp0
0
0

B;i

ti1 + TB;i1

Tp0

i1;i

ti2 + TB;i2

Tp0

i2;i

p0i

ti3 + TB;i3 0

(5.21)


R
p
B;ij
B;ij
Since TB;ij = 0
1 ,

in which RB;ij and pB;ij (i; j =1,2,3) represent the orientation and position of frame ij
with respect to the base frame B respectively, Eqn. (5.21) can be further simpli ed to
pi = Tp0 ti1 + RB;i1 Tp0 ti2 + RB;i2 Tp0 ti3 + RB;i3 p0i
i1;i

B;i

= Jiti

i2;i

(5.22)

where,
Ji = [ Tp0

B;i

RB;i1 Tp0

i1;i

RB;i3 ] 2 <321 , and

RB;i2 Tp0

i2;i

ti = [ ti1 ti2 ti3 p0i ]T

2<

21

1

Here, Eqn. (5.22) is linear in the kinematic errors. Based on this equation, a linear
self-calibration model for the three-legged modular parallel robot can be formulated.
First, we consider the di erential change of the leg-end distance resulting from the kinematic errors. Without loss of generality, the leg-end distance between Leg 1 and Leg 2,
denoted by a , can be written as
12

a12 = (p2

p1 )T (p2

p1 )

(5.23)

Di erentiating Eqn. (5.23) with respect to p and p , we have


(p p )T (p p )
a =
a
T
= q (p Tp )
(J t J t )
(p p ) (p p )
1

12

12

(5.24)

Eqn. (5.24) describes the small change of a resulting from the kinematic errors in Leg
1 and Leg 2. Similarly, for the leg-end distance between Leg 2 and Leg 3 (a ) and that
12

23

65

between Leg 3 and Leg 1 (a ), we have


(p p )T
a = q
(J t
(p p )T (p p )
31

23

a31 =

(p

J2 t2 ); and

(5.25)

J3 t3 )

(5.26)

p3 )T
(J1t1
p3 )T (p1 p3 )

(p

If the actual values of a , a and a denoted by aa , aa and aa respectively are known,


the di erences of the leg-end distances can be given by
12

23

31

12

23

31

a12
aa12
6
7 6 a
a = 4 a23 5 = 4 a23
a31
aa31

a12
a23 75
a31

(5.27)

where a ; a and a represent their nominal values determined by using nominal robot
parameters and the actual sensor readings of the
passive joint displacements.
q
q
Therefore,
a ; a and a can be computed as (p p )T (p p ), (p p )T (p p )
q
and (p p )T (p p ), respectively. Note that a ; a and a are di erent from their
original theoretical values. They are computed from the sensor readings of both the
actuator joints and the passive joints. Arranging Eqn. (5.24), (5.25) and (5.26) into
matrix form, a linear calibration model can be obtained as follows
12

23

31

12

23

31

12

23

(p
q
(p
q
(p

aa
6 12
a = 664 aa23
aa31
2

J=

6
6
6
6
6
4

2
3
1

pp

)T

(p1

( 1

p1

( 2

pp

p1 )T

(p2

(p2

p3 )T

p3 ) (p1
T

p1 ) 7
p2 ) 775 2 <31
p3 )

J1
p )

pp
pp

J1
p )
3

(5.28)

p1 )T (p2
p2 )T (p3
p3 )T (p1
1

31

a = Jt

where2

p1 )T

(p2

( 2

p1

(p3

( 3

)T

(p2

J2
p )
1

p2 )T

p2 )T (p3 p2 )

J2

pp
pp

0
(p3

( 3

p2 )T (p3

(p1

( 1

p2 )T
p3 )T

3
7
7
7
J
37
p2 )
7
5

p3 )T (p1 p3 )

2<
3

63

J3

t1
t = 64 t2 75 2 <631
t3

This linear calibration model is based on the assumption that all the actual leg-end distances, aa , aa and aa , are known. However, this assumption is not always valid. In many
12

23

31

66

cases, the actual leg-end distances are not known without the use of external measuring
equipment. Therefore, we developed the modi ed calibration model whereby the actual
leg-end distances are also considered as the kinematic parameters to be identi ed. If we
denote the original theoretical leg-end distances as a ; a and a , calculated using the
nominal robot parameters and the nominal passive joint displacements, then the actual
leg-end distances, which are in the neighborhood of their original theoretical values, can
be given by
0
12

0
23

0
31

aa12 = a012 + a12 ;


aa23 = a023 + a23 ;

aa31 = a031 + a31 :

(5.29)

where a , a and a are di erent from a ; a and a in Eqn. (5.27). The former
represents the di erences of the leg-end distances with respect to their original theoretical
values, while the latter represent the di erences of the leg-end distances with respect to
their computed nominal values. Substituting Eqn. (5.29) into Eqn. (5.28), we can obtain
a modi ed linear calibration model in the form
12

23

12

31

23

31

y = Ax

where,
2

(5.30)

a0
(p p1 )T (p2 p1) 7
6 12 q 2
7
31
T
y = 664 a023
(
p
p
p
3
2 ) (p3
2) 7 2 <
5
q
a031
(p1 p3 )T (p1 p3)
A = [ J I33 ] 2 <366
x = [ t1 t2 t3 a12 a23 a31 ]T 2 <661

5.4.2 A Least-Square Algorithm for Linear Model (i)


Based on the calibration model depicted by Eqn. (5.30), a least-square algorithm is used
to determine the calibration solution. In order to improve the calibration accuracy, we
usually need to measure the passive-joint displacements in many di erent robot postures.
Suppose m sets of measured data are taken; then, for the ith measurement, we can obtain
a yi as well as an identi cation Jacobian matrix Ai corresponding to Eqn. (5.30). Hence,
after m measurements, we can stack yi and Ai to form the following equation,
~
Y~ = Ax
(5.31)
67

where,
Y~ = [ y y y ::: ym ]T 2 < m
A~ = column[A ; A ; A ; :::; Am ] 2 < m
x = [ t t t a a a ]T 2 <
1

12

23

66

31

1

66

Since the model Eqn. (5.31) consists of 3m linear equations with 66 variables (m > 22),
the linear least square algorithm is employed to identify the parameters. The least square
solution of x is given by
x = (A~T A~) A~T y~
(5.32)
1

where (A~T A~) A~T is the pseudoinverse of A~.


1

The solution of Eqn. (5.32) can be further improved by the iterative substitution as
shown in Fig. 5.4. Once the kinematic error parameter vector, x, is identi ed, the initial
pose Ti j ;ij (0), the position vector p0i , and the actual leg-end distances are updated by
substituting x into the following equations,
(

1)

Ti(j

1);ij

(0)new =
p0inew =
a new =
a new =
a new =
0
12
0
23
0
31

et^ Ti(j
ij

1);ij

p0iold + p0i ;

(0)old

a012 old + a12


a023 old + a23
a031 old + a31

(5.33)

The same procedure is repeated until the norm of the error vector, kxk, approaches zero
and the actual leg-end distances converge to some stable values. Then the nal Ti j ;ij (0),
p0i , a , a and a represent the calibrated kinematic parameters of the robots, denoted
by Tic j ;ij (0), p0ic, ac , ac and ac .
(

0
12
(

0
23

1)

1)

0
31

12

23

31

Note that the kinematic error vector, x, will no longer represent the actual kinematic errors
after iterations. However, the actual kinematic errors can be extracted by comparing the
calibrated kinematic parameters with the nominal values.
In order to evaluate the calibration result, a deviation metric, i.e., the average leg-end
distance error is de ned as,
68

Nominal Robot
Description:
T(0),S,q,...

Give m sets of
Actuator Joint
Displacements:qa

*Assigned Errors in
1. Initial Positions
2.Twist
3.Joint Angles

Obtain m Sets of
Measured/Simulated
Passive Joint
Displacements

*Assigned
Measurement Noise

Identification of
Kinematic Errors
x=(ATA)-1ATY

* For simulation, errors


and measurement noise
are assigned

Update
T(0), p",a0
No
Compute the Average
Leg-end Distance
Error:a

a < ?

Yes
Terminate

Figure 5.4: Iterative Calibration Loop for Linear Model (i)

69

m
1 X
3m i (ka

a =

0 new
12

+ ka

=1

0 new
31

(p

p2 )k

p2 )T (p3

p3 )k)

p3 )T (p1

p1 )k + ka023 new

p1 )T (p2

(p

(p

(5.34)

In Eqn. (5.34), p ; p and p are the position vectors of the three leg ends with respect to
the base frame, which are computed based on the calibration results.
1

5.5 Linear Model Based on Passive Joint-Angle Measurement Residue


Again, we will rst consider the kinematic errors of an individual leg [73]. From Eqn. (5.8),
the forward kinematic transformation of leg i is


pi  = et^ es^
1
i1

i1 i1

e e

e e

t^i2 s^i2 qi2 t^i3 s^i3 qi3

p0i 

(5.35)

As in the previous calibration model, we assume that the kinematic errors occur only in
the initial pose Ti j ;ij (0)(i.e., in t^ij ) and in the position vector p0i. The kinematic errors
in t^ij can be expressed in the local frame i(j 1), denoted by et . The measurement
residue of the passive joint angles, qi , will also partially re ect the kinematic errors that
exist in Leg i. In this model [], Eqn. (5.35) is linearized with respect to t^ij , p0i, and also
qi (qi is the passive joint displacement of each leg), hence
(

1)

^ij

pi  = t^ et^ es^
i1
0
i1

i1 i1

et^ es^
i2

i2 i2

et^ es^
i3

i3 i 3

e es^

t^i3 et^ es^

+ et es

e es^

s^i2 qi2 et^ es^

^i1

^i1

^i1 qi1 t^i2

^i1 qi1 t^i2

i 2 i2

i 2 i2

i3

i1

+ et es

i3 i3

i3

p0i  + et^ es^


1
p0 

i1 i1

t
s
1 +e e
i

i3 i3

^i1

t^i2 et^ es^


i2

e e

i2 i2

et^ es^
i3

e es^

^i1 qi1 t^i2 s


^i2 qi2 t^i3

p0i

i3 i3

p0i 

i3 i3

p0 

(5.36)

where t^ij 2 se(3) is the kinematic error in t^ij expressed in module frame i(j 1) and
p0i 2 <  is the kinematic error of position vector p0i with respect to frame i3. Since
et = Ti j ;ij (0), Eqn. (5.36) can be simpli ed as
3

^ij

1)

pi  = t^  p0B;i  + T t^  p0i1;i  + T t^  p0i2;i 


i1
B;i1 i2
B;i2 i3
0
1
1
1

+ TB;i

p0i  + T

s^ qi2

B;i2 i2

70

p0i2;i 

(5.37)

where TB;ij (i; j = 1; 2; 3) represents the forward kinematic transformation from frame B
to frame ij and p0ij;i 2 <  (with p0i ;i = p0B;i) represents the position vector of point Ai
with respect to frame ij .
3

Equation (5.37) describes the gross kinematic error of the leg-end position vector pi resulting from the kinematic errors in the initial pose Ti j ;ij (0) and the position vector
p0i . As done in the linear model in section 5.4, with some modi cation, Eqn. (5.37) can
be transformed into a clear linear equation. Substituting Eqn. (5.20) into Eqn. (5.37), we
have
(

pi  =
0

Tp0

1)

Tp0

0  ti + TB;i 0 t i + TB;i


0
+ TB;i p0 i + TB;i s^i Tp00 qi
B;i

i1;i

i2;i

Tp0

i2;i

ti3

(5.38)


R
p
B;ij
B;ij
Since TB;ij = 0
1 ,

where RB;ij and pB;ij (i; j =1,2,3) represents the orientation and position of frame ij with
respect to the base frame B , respectively, Eqn. (5.38) can be further simpli ed as
pi = Tp0 ti1 + RB;i1 Tp0 ti2 + RB;i2 Tp0 ti3 + RB;i3 p0i + RB;i2 Tp0 si2 qi2
i1;i

B;i

= Ji ti + Jq qi

i2;i

i2;i

i2

(5.39)

where
Ji = [ Tp0 RB;i Tp0 RB;i Tp0 RB;i ] 2 <  ,
ti = [ ti ti ti p0i ]T 2 <  ,
Jq = RB;i Tp0 si 2 <  ; si = [vi ; wi ]T 2 < 
1

B;i

i2

i2;i

i1;i

21

i2;i

21

Here, Eqn. (5.39) is a linear equation in the kinematic errors. Based on this equation, a
linear self-calibration model for the three-legged modular parallel robot can be formulated.
First, we consider a small change of the leg-end distances resulting from the kinematic
errors. Without loss of generality, the leg-end distance between Leg 1 and Leg 2 can be
denoted by a ,
a = (p p )T (p p )
(5.40)
12

2
12

Equation (5.40) can be written in the di erential form as follows


71

a12 a12 = (p2

= (p

p1 )T (p2

p1 )

p1 )T (J2 t2

J1 t1 + Jq q22
22

Jq q12 )

(5.41)

12

Similarly, for the leg-end distance between Leg 2 and Leg 3 (a ) and that between Leg 3
and Leg 1 (a ), we can write
23

31

a23 a23 = (p3

p2 )T (J3 t3

J2 t2 + Jq q32

Jq q22 );

a31 a31 = (p1

p3 )T (J1 t1

J3 t3 + Jq q12

Jq q32 )

32

12

(5.42)
(5.43)

22

32

Arranging Eqn. (5.41), (5.42) and (5.43) in matrix form, we obtain the linear calibration
model
Jq q = Jt;
(5.44)
2

where 2
3
(
p p )T Jq
(
p p )T Jq
0
Jq = 64
0
(p p )T Jq
(p p )T Jq 75 2 <  ,
(p p )T Jq
0
(p p )T Jq
q =2 [ q q q ]T 2 <  ,
(p p )T J (p p )T J
0
a
0
0
6
T
T
J =4
0
(p p ) J (p p ) J
0
a
0
(p p )T J
0
(p p )T J 0
0
a

t = [ t t t a a a ] 2 < ,
q
q = (q a q ) ,
q
q = (q a q ) ,
q
q = (q a q ) .
2

12

12
2

12

22

32

12

12

12

22

22

22

32

32

32

23

32

32

12

12

22

22

31

63

7
5

23

2< ,
3

66

31

2
2
2

Eqn. (5.44) can be further simpli ed to the following linear calibration model
Y = JX

where,
Y = Jq q 2 < 
X = t 2 < 
2

66

(5.45)

Here, q is termed the measurement residue of passive joint angles. qia and qi (i = 1; 2; 3)
represent the measured and nominal passive joint displacements, respectively. In this
calibration model, there are 66 parameters to be identi ed, which re ect the kinematic
errors of the three-legged modular parallel robot.
2

72

5.5.1 A Least-Square Algorithm for Linear Model (ii)


This least-square algorithm is similar to that of linear model (i)(see Section 5.4.2). However, for completeness, it will also be described here. Based on the calibration model
described by Eqn. (5.45), an iterative least-square algorithm is used to provide the calibration solution. In order to improve the calibration accuracy, we usually need to measure
the passive joint displacements in many di erent robot postures. Suppose m sets of measurements are taken, then for the ith measurement, we can obtain yi as well as an identi cation Jacobian matrix Ai corresponding to Eqn. (5.45). Hence, after m measurements,
we can stack yi and Ai to form the following equation,
~
Y~ = JX
where,
Y~ = [ Y Y Y ::: Ym ]T 2 < m
J~ = column[J ; J ; J ; :::; Jm ] 2 < m
X = [ t t t a a a ]T 2 <
1

12

66

23

(5.46)

1

66

31

Since Eqn. (5.46) consists of 3m linear equations with 66 variables (m > 22), the linear
least square algorithm is employed to identify the parameters. The least square solution
of X is given by
X = (J~T J~) J~T Y~
(5.47)
1

where (J~T J~) J~T is the pseudoinverse of J~. The singular value decomposition (SVD)
method is used to derive the pseudoinverse of J~. The solution of Eqn. (5.47) can be
further improved by iterative substitution as shown in Fig. 5.5.
1

Once the kinematic error parameter vector X has been identi ed, the initial pose Ti; j ;ij (0),
the position vector p0i and the leg-end distances a ; a and a are updated by substituting X into the following equations.
(

12

Ti(j

1);ij

(0)new =
p0inew =
a new =
a new =
a new =

et^ Ti(j
ij

23

1);ij

p0iold + p0i ;

31

(0)old

0
12

a012 old + a12

0
23

a023 old + a23

0
31

a031 old + a31

73

1)

(5.48)

Nominal Robot
Description:
T(0),S,q,...

Give m sets of
Actuator Joint
Displacements:qa

*Assigned Errors in
1. Initial Positions
2.Twist
3.Joint Angles

Obtain m Sets of
Measured/Simulated
Passive Joint
Displacements

*Assigned
Measurement Noise

Identification of
Kinematic Errors
x=(JTJ)-1JTY

* For simulation, errors


and measurement noise
are assigned

Update
T(0), p",a0

Compute the New


Norminal Passive
Joint Displacement

No

Compute Average
Measurement
Residue:q2

q2 < ?

Yes
Terminate

Figure 5.5: Iterative Calibration Loop for Linear Model (ii)

74

The same procedure is repeated until the norm of the error vector, kX k, approaches zero
and the actual leg-end distances converge to some stable values. The nal Ti j ;ij (0), p0i ,
a , a and a represent the calibrated kinematic parameters of the robots, denoted by
Tic j ;ij (0), p0ic , ac , ac and ac .
(

0
12
(

0
23

1)

0
31

12

1)

23

31

In order to evaluate the calibration result, we de ne a RMS value, i.e., the average passive
joint angles' measurement residue as,
q2 =

v
u
u
t

m
1 X
3m i (q + q + q )
2
12

2
22

2
32

=1

(5.49)

5.6 End-E ector Calibration


Once the parallel robot is self-calibrated, the transformation from the robot base frame
to the robot mobile platform is known with sucient accuracy. Next, the end-e ector
calibration is developed to identify the kinematic errors in the xed transformations from
the robot world frame to the robot base frame, TB ;B and from the mobile platform to
the end-e ector frame, TA;E as depicted in Fig. 5.6.
0

5.6.1 End-E ector Calibration Model


Now, we will consider the kinematic transformation from the robot base frame B to
the end-e ector frame E . As shown in Fig. 5.6, the forward kinematic transformation
TB ;E (q ) can be given by
TB ;E (q ) = TB ;B TB;A (q )TA;E
(5.50)
0

where TB ;B and TA;E are the xed kinematic transformations from the robot world frame
B 0 to the robot base frame B and from the mobile platform frame A to the end-e ector
frame E , respectively. Since TB;A(q) is the forward kinematic transformation of the selfcalibrated parallel robot, we can assume that TB;A can be computed with sucient accuracy. The kinematic errors then come from the xed kinematic transformations TB ;B
and TA;E .
0

Let et

^B 0;B

= TB ;B and et
0

^A;E

= TA;E , where t^B ;B and t^A;E 2 se(3). Equation (5.50) can


0

75

TA,E

E
y
x

A3

A1
A

B33

B13
A2

TB,A(q)
B12

B23

;
z

B11 (B10)

B0

;;
B32

B22

TB0,B

B
x

B31 (B30)

B21 (B20)

Figure 5.6: Coordinate Frames for Parallel Robot End-E ector Calibration
be rewritten as

TB0;E (q ) = et^

B 0;B

TB;A (q )et^

(5.51)

A;E

We assume that the kinematic errors occur only in TB ;B and TA;E , i.e., in t^B ;B and
t^A;E . Next, let the kinematic errors in t^B ;B be expressed in the robot world frame B 0,
denoted by t^B ;B and the kinematic errors in t^A;E expressed in the mobile platform A,
denoted by t^A;E . Since t^B ;B and t^A;E 2 se(3), so t^B ;B and t^A;E also belong to se(3).
Furthermore, et = t^B ;B et and et = t^A;E et . Linearizing Eqn. (5.50) with
respect to t^B ;B and t^A;E , we have
0

^B 0;B

^B 0;B

^A;E

^A;E

TB0;E (q ) = t^B0;B et^

B 0;B

TB;A (q )et^

A;E

+ et

^B 0;B

TB;A (q ) t^A;E et^

(5.52)

A;E

Right-multiplying both sides of Eqn. (5.52) with TB ;E (q), we have


1
0

TB0;E (q )TB01;E (q ) = t^B0;B + TB0;A (q ) t^A;E TB01;A (q );

(5.53)

where TB ;A (q) = TB ;B TB;A(q) and TB ;E (q)TB ;E (q)  TBa ;E (q)TB ;E (q) I  , in which
TBa ;E (q ) is the actual (measured) end-e ector pose. Based on the de nition of the matrix
0

1
0

76

1
0

logarithm and the Adjoint representation on SE (3) [74], Eqn. (5.53) can be rewritten

as:

log [TBa 0;E (q )TB01;E (q )]_ = t^B0;B + AdT

B 0;A(q )

tA;E

(5.54)

where log[TBa ;E (q)TB ;E (q)]_ 2 <  is the 6-dimensional vector representation of


log [TBa ;E (q )TB ;E (q )] 2 se(3). Similarly, tB ;B and tA;E are the 6-dimensional representations of t^B ;B 2 se(3) and t^A;E 2 se(3) respectively.
1
0

1
0

Geometrically, log[TBa ;E (q)TB ;E (q)]_ represents the gross kinematic error of the ende ector expressed in the robot world frame. Note that, in each of the 6-dimensional error
vectors, the rst three parameters represent the positional errors (x; y; z), while the
last three parameters represent the orientation errors ( x; y ; z ). Equation (5.54) can
be further simpli ed as the following linear calibration model:
Y = JX
(5.55)
1
0

where
Y = log [TBa ;E (q )TB ;E (q )]_ 2 < 

J = [I  Ad
q ] 2 <
 T
B ;B
X = t
2< 
t
1
0

B 0;A (

12

12

A;E

In Eqn. (5.55), we have a total of 12 parameters to be identi ed; these will re ect the
kinematic errors that exist in the xed transformation.

5.6.2 A Least-Square Algorithm for End-E ector Calibration


Based on the calibration model depicted in Eqn. (5.55), a least square algorithm is employed for the calibration. In order to obtain reliable calibration results, there is a need
to measure end-e ector poses in a number of di erent robot postures. Suppose we need
to take m sets of measurements. For the ith measurement, we can obtain a Yi and also
an identi cation matrix Ji. After m measurements, we can stack Yi and Ji to form the
following equation:
~
Y~ = JX
(5.56)
where,
Y~ = [ Y Y Y ::: Ym ]T 2 < m
1

77


t
B 0;B
X = t
2 <121
A;E
J~ = column[J1 ; J2 ; J3 ; :::; Jm ] 2 <6m12

Since Eqn. (5.56) consists of 6m linear equations with 12 variables, the linear least-square
algorithm is employed for the parameter identi cation. The least-square solution of X is
given by,
X = (J~T J~) J~T Y~
(5.57)
1

where, (J~T J~) J~T is the pseudoinverse of J~.


1

The solution of Eqn. (5.57) can be further improved through iterative substitution as
shown in Fig. 5.7. Once the kinematic error parameter vector X is identi ed, TB ;B and
TA;E are updated by substituting the identi ed error values into the following equations.
0

t^
TBnew
0;B = e

B 0;B

TBold0;B ;

new
old
TA;E
= et^ TA;E

(5.58)

A;E

The same procedure is repeated until the norm of the error vector, kX k in Eqn. (5.57),
approaches zero. Then the nal TB ;B and TA;E represent the calibrated kinematic transc
formations, denoted by TBc ;B and TA;E
respectively.
0

Note that the kinematic error vector, X , will no longer represent the actual kinematic
errors after iterations. However, the actual kinematic errors can be extracted by using
the matrix logarithm to compare the calibrated frame poses with their nominal matrices,
i.e.,
tB0;B = log [TBc 0;B TB01;B (0)]_ ;

c
tA;E = log [TA;E
(0)TA;E1 (0)]_

(5.59)

After calibration, the forward kinematic equation becomes,


c
TBc 0;E (q ) = TBc 0;B TB;A TA;E

(5.60)

In order to evaluate the calibration result, we de ne the RMS values between the measured
(actual) and calibrated end-e ector (tool) frames as
m
1X
klog(R R )_k
(5.61)
R =
m i=1

78

ai

ci

Robot
Description:
TB0,B,TB,A(q),TA,E...

Identification
x=(ATA)-1ATY

Measured Tool frame


Poses

Update
TB0,B & TA,E
Tinew=edtiTiold
No
Calculate Calibrated
Tool Frame Poses

T < ?

Yes
Terminate

Figure 5.7: Iterative Calibration Loop for End-E ector Calibration

79

P =

m
X

m i=1

kPai Pcik
1

(5.62)

5.7 Discussion
In this chapter, three models are proposed for the self-kinematic calibration of a class
of three-legged modular parallel robots. All the derivations are based on the Local POE
formula. The rst model is based on the nonlinear approach and the other two are based on
the linear approach. For the nonlinear approach a kinematic error identi cation objective
function based on errors in leg-end distances is developed. By taking advantage of the
local POE formula, where the local coordinate can be arbitrarily assigned, the kinematic
calibration is modelled as a process of rede ning a set of new local coordinate frames to
re ect the robot's actual geometrical characteristics. Since the calibrated local frames are
de ned in such a way that the twist of the joints and the joint displacements remain in their
nominal values, the resulting calibration model is greatly simpli ed. In the second model,
we derived an explicit linear calibration model relating the di erential change in the legend distance errors to the kinematic error parameters. In the third model, we formulated a
linear relationship between the kinematic error parameters and the measurement residue of
the passive joint displacements of the robot. Using the least-square algorithm iteratively,
the error parameters can be identi ed for both linear models. Next, assuming the parallel
robot is already suciently self-calibrated, the end-e ector calibration algorithm is also
developed to identify the kinematic errors in the xed transformations from the robot
world frame to the robot base frame, and also from the mobile platform to the ende ector frame. These xed transformation errors are also identi ed using the least-square
method iteratively.

80

Chapter 6
Kinematic Calibration: Simulation
and Experimental Studies
6.1 Simulation
This chapter presents the results of the simulation and experimental work done on the
modular-parallel-robot calibration methods. These simulations are performed using Mathematica 3.0. The experiment is conducted on a three-legged (6-DOF, R-R-R-S) parallel
robot. Each leg consists of four joint modules, i.e., two actuator modules, one passive
revolute joint module, and one passive spherical joint module which is at the end of the
leg. Figure 6.1 shows the model of the parallel robot and the kinematic diagram. It should
be noted that many calibration simulations and experiments are conducted. However, we
can only show one set of the simulation and experimental results here. The results shown
typically re ect the improvement in accuracy of the parallel robot aftercalibration using
the di erent calibration algorithm developed. The nominal kinematic parameters of the
6-DOF modular parallel robot (R-R-R-S) used for the simulation are given as follows
2

TB;B =
10

6
6
6
6
4
2

TB;B =
30

6
6
6
6
4

p3

1
2
3
2

1
2

0
0

1
2

0
0

3
2

0
0

0
0
1
0

2
175p 7
1 0 0 350 3
175 3 777 ; TB;B = 666 0 1 0 0 777;
4 0
0 1 45 5
45 5
0 0 0 1
1
20

0 175
p 7
0 175 3 777; TB
0 1 45 5
0 0 1
3
2
1
2

i0

;Bi1

1
60
= 664 0
0
81

0
1
0
0

0
0
1
0

03
0 777;
05
1

2
2
0 1 0 0 3
1 0 0 260 3
305 3
6
60 1 0
0 777; T
0 777; p00 = 666 0 777
6
TB ;B = 664 01 00 10 215
=
6
5 B ;B
40 0 1
0 5 i 4 0 5
0 0 0 1
0 0 0 1
1
and nominal leg-end position with respect to the centre of the platform are
2
2
2
187:5 sin(=6) 3
187:5 3
187:5 sin(=6) 3
6
7
6
7
6
=6) 777
p0 = 664 187:5 0cos(=6) 775; p0 = 664 00 775; p0 = 664 187:5 cos(
5
0
1
1
1
The twist coordinates of the screw axes are s = s = s = s = (0; 0; 0; 0; 0; 1); s =
s = s = s = s = (0; 0; 0; 0; 0; 1). Note that the units of the kinematic parameters
are in radians and millimeters. In the simulation examples, the three self-calibration
algorithms that have been developed will be demonstrated and the results will also be
presented. These simulation examples demonstrate the robustness and accuracy of the
self-calibration algorithms that have been developed. At the end of the chapter, we will
give recommendations with regard to the e ectiveness of the models.
i1

i2

i2

i3

11

22

23

32

12

13

31

21

33

mobile platform
A3

A1
A
z

spherical joint

B33

^ 13
s

^33
s

B13

^12
s

B12

^32
s

^23
s
x

B11 (B10)

^22
s

;
B22

z
y

^31
s

^11
s
y

actuator joint
(revolute)

B23

;
z

;
B32

A2

B31 (B30)

passive jont

^21
s

actuator joint
(revolute)

(a)

B21 (B20)

(b)

Figure 6.1: Three-Legged Modular Parallel Robot

6.1.1 Nonlinear Calibration Model


The following procedures are employed for the simulation of the calibration algorithm.
1. Obtain 60 poses within the workspace of the parallel robot randomly.
82

2. Use the inverse kinematics formulation to obtain the three nominal joint angles for
each leg, including the passive joint angles. These angles are qi ; qi ; qi (i = 1; 2; 3).
1

3. Assign kinematic errors at each of the dyads i.e., dtij , dqij , dsi , dsi , dsi and dp0i
(i; j = 1; 2; 3) (listed in Table 6.1). Note that since each of the actuator and passive
joints are assumed to be a true 1-DOF joint, the condition for the assignment of
errors in each of the joint twists that must be satis ed are kwi + dwik = 1 and
(wi + dwi)T (vi + dvi) = 0, where si = (vi; wi)T and dsi = (dvi; dwi)T
1

4. Next, nd the actual initial poses in each dyad and the last link
Tiaj ;i (0) = edt Ti j ;i (0) and p0ia = p0i + dp0i .
These poses simulate the actual poses of the real parallel robot. In fact, for the
real robot, these numerical values are not known, since external measuring devices
are not used. These simulated actual poses are needed to determine the simulated
actual passive joint angles.
(

1)

^ij

1) 1

5. Using the numerical forward kinematics method described in Section 4.2.1, the
actual passive joint angles are obtained, qia (i = 1; 2; 3) for the 60 poses.
2

6. With one actual passive joint angle (qia ), and two nominal actuator angles (qi ; qi )
for each leg, Eqn. (5.10) will be used to determine the actual leg-end positions in
terms of the kinematic errors dtij ; dqij ; dsij and dp0i (i = 1; 2; 3 and i 6= j ). This
is repeated for the three legs to obtain all the actual leg-end positions and for n
measured poses. Here, we assume that these kinematics errors are unknown.
2

7. The optimization algorithm in Section 5.3.2 is then used to identify the kinematic
errors. Note that the joint angles that were used to simulate the actual values can
be obtained from the passive joint encoders and the actuator joints in the actual
calibration experiment.
Results Based on the Nonlinear Model

In this simulation example, the number of measured poses is set to 60 and the units of
measurements are millimeters and radians. The Complex Method (see [75]) is employed to
identify the kinematic errors. This method although less ecient than the steepest descent
type of algorithms, is stable and robust. Although the steepest descent methods such as
83

Parameters
dtij (i; j = 1; 2; 3)
ds11
ds12
ds13
ds21
ds22
ds23
ds31
ds32
ds33
dp0i

Preset Errors
(2; 2; 2; 0:02; 0:02; 0:02)T
(0; 0; 0; 0; sin(0:02); 1 cos(0:02))T
(0; 0; 0; 0; sin(0:02); 1 + cos(0:02))T
(0; 0; 0; sin(0:02); 0; 1 cos(0:02))T
(0; 0; 0; 0; sin(0:02); 1 cos(0:02))T
(0; 0; 0; 0; sin(0:02); 1 + cos(0:02))T
(0; 0; 0; sin(0:02); 0; 1 + cos(0:02))T
(0; 0; 0; 0; sin(0:02); 1 cos(0:02))T
(0; 0; 0; 0; sin(0:02); 1 cos(0:02))T
(0; 0; 0; sin(0:02); 0; 1 + cos(0:02))T
[2; 2; 2]T

Parameters
dqij (i = 1; 2; 3; j = 1; 3)
dqij (i; 1; 2; 3; j = 2)

Preset Errors
0.02
0

dp00
i

[2; 2; 2]T

Table 6.1: Preset Kinematic Errors


the Quasi-Newton method and the Powell method will converge to a minimum faster, the
solution obtained is not always within the limits of the robot error parameters. However,
the Complex and Simplex (amoeba) methods are always able to nd an acceptable and
valid solution for the kinematic errors. Out of these two, the Complex method is preferred
because it is more ecient than the Simplex method. The iterative routine of the complex
method is shown in Fig. 6.2. The solution is obtained by providing 2n (n is the number
of parameters to be minimized) sets of the initial guess of the kinematic errors which also
include one set corresponding to zero kinematics error.
It is important to note that the solution from the optimization is not unique. Since the
preset and identi ed errors are not one-to-one correspondent, the identi ed errors will not
be the same as the preset kinematic errors at each of the dyads. However, the overall
leg-end distance errors are recovered. The simulation is conducted under two di erent
conditions:
(a) An ideal experimental condition where measurement noise is not considered.
(b) An imperfect condition where measurement noise is injected. This is to demonstrate
that the calibration algorithm is robust in the presence of measurement noise and
signi cant improvement in the leg-end distance error can be achieved.
The measurement noise injected for the simulation of the measured passive joint displacements using the encoders is in the range of [ 0:002; 0:002]rad.
Figure 6.3 shows the graph of leg-end distance errors before and after calibration when
84

Randomly generate points


x1,...,x k within the boundary
of the region

Find f(xi ) = Fi
for 1,..., k

Arrange F1,...,Fk in
ascending order

Note highest Fh and lowest


Fl , function values

Compute centroid x0, of


the best (k-1) points

xh = x(k)

Compute x r by reflection

Is x r
feasible?

No

x r(j) = l j + 10 -6
= uj - 10 -6
if explicit constraints lj or u j violated

Yes

No

xr = (x 0 + x r)/2
if implicit constraints gi (x) violated

Is
Fr < Fk?
No
Yes

xr = (x 0 + x r)/2

Replace x(k) by x r

update F1,..., Fk
and
points of complex

Find standard deviation of


function values and maximum
distance between points

Has method converged?

Yes
Finish

Figure 6.2: Iterative Routine of the Complex Method


85

there are kinematic errors between Legs 1 and 2, Legs 2 and 3, Legs 3 and 1 and also in
all the three legs for 60 poses under ideal experimental conditions. It can be seen that
the kinematic errors are reduced by at least two orders of magnitude, i.e., from about
20mm to less than 0.15mm for each set of leg-end error. Figure 6.4 shows the result
with measurement noise injected. Again, we can see the reduction in the leg-end distance
error. However, the reduction is less than that in the ideal case, i.e., from about 25mm
to 0.5mm for each set of leg-end error. After the kinematic errors are obtained, they are
updated into the initial local coordinate frames of the parallel robot and this represents
the calibrated parallel robot kinematic parameters.
error (mm)
30

error (mm)
30

Legs 1 and 2

20

20

10

10
10

20

30

40

50

60

poses

-10

-10

-20

-20

-30

-30

error (mm)
30
20

20

10

10
20

30

40

50

60

poses

-10

-10

-20

-20

-30

-30

error (mm)
30

20

30

40

50

60

10

20

30

40

50

60

10

20

30

40

50

60

10

20

30

40

50

60

poses

error (mm)
30

Legs 2 and 3

10

10

poses

error (mm)
30

Legs 3 and 1

20

20

10

10
10

20

30

40

50

60

poses

-10

-10

-20

-20

-30

-30

error (mm)
60

poses

error (mm)
60

Total

40

40

20

20
10

20

30

40

50

60

poses

-20

-20

-40

-40

poses

-60

-60

(b) After Calibration

(a) Before Calibration

Figure 6.3: Leg-end Distance Errors Before and After Calibration Under Ideal Experimental Condition

86

error (mm)

error (mm)
30

Legs 1 and 2

30
20

20

10

10
10

20

30

40

50

60

poses

10

-10

-10

-20

-20

-30

20

30

40

50

60

20

30

40

50

60

20

30

40

50

60

20

30

40

50

60

poses

-30

error (mm)

error (mm)
30

Legs 2 and 3

30
20

20

10

10
10

20

30

40

50

60

poses

10

-10

-10

-20

-20

-30

poses

-30

error (mm)

error (mm)
30

Legs 3 and 1

30
20

20

10

10
10

20

30

40

50

60

poses

10

-10

-10

-20

-20

-30

poses

-30

error (mm)

error (mm)
60

Total

60
40

40

20

20
10

20

30

40

50

60

poses

10

-20

-20

-40

-40

-60

-60

(a) Before Calibration

poses

(b) After Calibration

Figure 6.4: Leg-end Distance Errors Before and After Calibration with Measurement
Noise Injected

87

6.1.2 Linear Model Based on Leg-End Distance Error


Based on the same nominal kinematic model of the three-legged (6-DOF, RRRS) parallel
robot as shown in Fig. 6.1, the simulation is performed using the second model, i.e., linear
calibration model based on the leg-end distance error. Here, we can compute the original
theoretical values of the leg-end distances as
q

a = (p002
q
a023 = (p003
q
a031 = (p001
0
12

p001 )T (p002
p002 )T (p003
p003 )T (p001

p001 )
p002 )
p003 )

The simulation is also conducted under two di erent conditions, i.e. ideal experimental
condition and imperfect conditions where measurement noise is injected. The following
procedures are employed for the simulation of calibration using the linear model based on
the leg-end distance errors.
1. Obtain 120 poses within the workspace of the parallel robot randomly.
2. Use the inverse kinematics algorithm to obtain the three nominal joint displacements
for each leg, including the passive joint angles. i.e., qij (i; j = 1; 2; 3).
3. Assign kinematic errors at each of the parameters i.e., dtij , dqij , dsij , dp0i and da =
[da ; da ; da ] (i = 1; 2; 3). The errors assigned are the same as listed in Table
6.1.
12

23

31

4. Find the actual initial poses in each dyad, Tiaj ;i (0) = edt Ti j ;i (0), the actual
position vectors of each leg-end with respect to frame i3, p0ia = p0i + dp0i, and the
actual leg-end distances, aa = a + da ; aa = a + da ; aa = a + da
(

12

0
12

12

23

^ij

1)

0
23

23

31

1) 1

0
31

31

5. Use the numerical forward kinematics algorithm described in Section 4.2.1, to obtain
the actual passive joint angles, qia (i = 1; 2; 3) for the 120 poses.
2

6. Employ the iterative calibration algorithm to identify the kinematic errors.


The calibration algorithm is coded in Mathematica 3:0. The results of the calibration
simulation are shown in Fig. 6.5. In Case (a), it can be observed that the average leg-end
distance error (for 120 poses) reduced from about 29.538mm to nearly 0mm within 4
88

Average Leg-end Distance Error (mm)

Average Leg-end Distance Error (mm)

iterations. This result shows that under the calibrated parameter description, the nominal joint twist coordinates and the displacements of actuator and passive joint (encoder
readings) can be used directly to compute the actual kinematics of the robot. In other
words, the parallel robot is precisely calibrated.
29.538
25
20
15
10
5

2.416
0.044
0

9.82E-6

2
No. of iterations

7.03E-12
4

29.480
25
20
15
10
5

2.414
0.471
0

(a) Under Ideal Environment

0.469

2
3
No. of iterations

0.469
4

(b) With Measurement Noise

Figure 6.5: Simulation Results for Linear Model (i)

Average Leg-end Distance Error (mm)

In Case (b), where measurement noise is injected into the calibration process, it can be
seen that the leg-end distance error is reduced from 29.48mm to 0.469mm after 3 iterations
and stabilized beyond that. The improvement by almost two orders of magnitude is
observed in this simulation. To ensure the accuracy of the results, a large number (120)
of arbitrary points are used for checking the results.
2
1.75
1.5
1.25
1
0.75
0.5
0.25
20

40
60
80
100
No. of Experimental Poses Used

120

Figure 6.6: Leg-End Distance Errors Versus the Number of Pose Measurements for Linear
Model (i)
89

Figure 6.6 shows the graph of the average leg-end distance error versus the number of
poses used for the simulation with measurement noise injected. It can be observed that
the magnitude of the average leg-end distance error decreases with the increase of the
measurement poses. This is because in addition to the xed kinematic error that is
present in the robot model, the uniformly distributed assigned noise that is injected also
contributes to the error identi cation process. Since the calibration algorithm uses the
least-square technique to identify the kinematic errors, the algorithm can reduce the e ect
of noise on the identi cation accuracy. Moreover, measuring more poses and hence, having
more comparisons between the actual and nominal values, can improve the calibration
results.
It can be seen from Fig. 6.6 that for the same robot con guration, about 50 measurement
poses are required for the calibration results to be stabilized. With the increase in the
number of poses beyond 50, there is not much signi cant improvement in the calibration
results. This is because the random noise e ect cannot be fully eliminated. However, from
the analysis, it can be seen that there exists a lower bound where the results converge,
beyond which the decrease in leg-end distance error is insigni cant. Hence, a strategy
for pose measurement can be developed such that the number of measurement data used
in the calibration algorithm is slowly increased for the parameter identi cation. Upon
reaching a point where the decrease in the leg-end distance error stabilizes at a certain
order of magnitude with respect to the original error, or when further improvement is
negligible, the number of pose measurements for the calibration will be taken for the
experiment robot under the speci c experimental conditions. Therefore, if this principle
is applied for the above simulation analysis, the measurement poses is set to be 50.

6.1.3 Linear Model Based on Passive Joint Angle Measurement


Residue
Similar to the previous calibration example, using the linear model based on passive
joint angles' measurement residue, the same kinematic errors are preset into each dyad
of the robot. Again we simulate the calibration process under two conditions: (a)without
and (b)with measurement noise. From the simulation results shown in Fig. 6.7, it can
be observed that Case (a) yields full recovery of the passive joint angles' measurement
residue. In Case (b), with measurement noise injected, the measurement residue of the
90

Average Measurement Residue (rads)

Average Measurement Residue (rads)

passive joint angles reduces by more than one order from 0:062rad to 0:00142rad.
0.0606
0.06
0.05
0.04
0.03
0.02
0.0101
0.01
0.00265
0

6.79E-5

1.39E-7

0.0620
0.06
0.05
0.04
0.03
0.02
0.01

0.00596

No. of iterations

(a) Under Ideal Environment

0.00249

0.00142

2
3
No. of iterations

0.00142
4

(b) With Measurement Noise

Figure 6.7: Simulation Results for Linear Model (ii)

Average Leg-end Distance Error (mm)

Similar analysis is made on the improvement in passive joint angles' measurement residue
with respect to the number of measurement poses. Results in Fig. 6.8 show that about
50 measurement poses are adequate for the calibration result to stabilize. This is in line
with the lower bound found using the previous calibration model.
2
1.75
1.5
1.25
1
0.75
0.5
0.25
20

40
60
80
100
No. of Experimental Poses Used

120

Figure 6.8: Leg-End Distance Errors Versus the Number of Pose Measurements for Linear
Model (ii)

91

6.1.4 End-E ector Calibration


Once the parallel robot is self-calibrated, we proceed with the simulation of the ende ector calibration. As mentioned in Section 5.6, the purpose of the end-e ector calibration is to determine the kinematic errors that exist in the xed transformations, TB ;B and
TA;E . In this section, an end-e ector calibration example for a self-calibrated three-legged
(6-DOF RRRS) parallel robot (see Fig. 6.1) is given to demonstrate the e ectiveness of
the end-e ector calibration algorithm. As shown in the kinematic diagram in Fig. 5.6, the
nominal kinematic transformations from the robot world frame to the robot base frame
and from the mobile platform frame to the end-e ector frame are listed in Table 6.3. The
units of the kinematic parameters are in radians and millimeters. In this example, we also
simulate the calibration process under two conditions: an ideal experimental condition,
without noise (Case a) and the other with measurement noise (Case b). In order to obtain
the actual tool frame poses, the following procedure is employed:
0

1. Obtain 50 platform poses with respect to the virtual base, TB;A.


2. Assign kinematic errors at TB ;B and TA;E by introducing t^B ;B and t^A;E respectively (see Table 6.2).
0

3. Find the actual poses of TB ;B and TA;E , where TBa ;B = et


a
TA;E
= et TA;E
0

^B 0;B

TB0;B and

^A;E

4. Calculate the actual end-e ector frame poses at di erent robot postures
a
TBa ;E (q ) = TBa ;B TB;A (q )TA;E
0

Here the number of measurement poses is set to three. This is the necessary condition
(lower bound) for identifying the kinematic errors with perfect measurement data [61].
The success of the calibration simulation can be deduced from Table 6.2, where all the
preset kinematic errors are fully recovered. A further reinforcement of the calibration
results can be seen from Fig. 6.9(a). Both the quanti ed orientation and position deviations, as in Eqns. (5.61) and (5.62) decreased from the initial magnitude of 24.275 mm
and 0.0142 radians to approximately zero within three iterations.
However, if measurement noise exists, more end-e ector poses must be considered. In
this same example, the e ect of the measurement noise and robot repeatability on the
92

Parameters
tB 0;B
tA;E

Preset errors
(3; 3; 3; 0:02; 0:02; 0:02)T
(2; 2; 2; 0:03; 0:03; 0:03)T

Identi ed errors
(3; 3; 3; 0:02; 0:02; 0:02)T
(2; 2; 2; 0:03; 0:03; 0:03)T

Table 6.2: Preset and Identi ed Kinematic Errors


Transformation
TB 0;B

TA;E

Nominal

2 1 0 0 03
6 0 0 1 07
4 0 1 0 05

2 10 0
60 1
40 0

0 0 13
0 0
0 0 7
1 200 5
0 0 0 1

Calibrated
0:9991
0:0304364
0:0295366 2 3
0:0295366
0:9991
27
6 0:0304364
4 0:0295366
0:9991
0:0304364 2 5
0:
0:
1:
2 0:99910:
0:0295366 0:0304364 8:08728 3
0:9991
0:0295366 3:90732 7
6 0:0304364
4 0:0295366 0:0304364
0:9991
201:82 5
0:
0:
0:
1:
2

Table 6.3: Nominal and Calibrated Transformation


calibration results will be illustrated. In this computer simulation, both the measurement
noise and robot repeatability can be simulated by uniformly distributing noise on each
of the actual (measured) end-e ector's poses. The resulting actual end-e ector's poses
TBa ;E can be given by

TBa ;E = et TBa ;E
(6.1)
0

B 0;E

where, tB ;E = (x ; y; z ; ; ; )T represents the noise injected. Here x; y
and z 2 [[ 1; 1]mm; ;  and  2 [[ 0:001; 0:001]rad
0

Extensive simulations are done to study the e ect of the measurement noise and robot
repeatability on the calibration results. In each simulation, two groups of 50 simulated
end-e ector's poses are employed. One group is used to calibrate the robot, while the
other group is used to verify the results of the calibration, i.e., to derive the quanti ed
orientation and position deviations. The simulated calibration convergence of the ende ector calibration with measurement noise injected is shown in Fig. 6.9(b). From these
simulations, it was realized that the lower bound where the quanti ed orientation and
position deviations becomes stable is when the number of poses used for the calibration
is greater than 10. A typical simulation result is given in Fig. 6.10, in which the stable
quanti ed orientation and position deviations are in the same order of magnitude as that
of the injected noise.

93

Quantified Position Deviation (mm)

Quantified Orientation Deviation (rads)

0.0142
0.014
0.012
0.01
0.008
0.006
0.004
0.00126

0.002

2.40E-7
0

5.74E-15

1
2
No. of iterations

24.275
20
15
10
5
0.872
0

0.35E-10

1.79E-11

1
2
No. of iterations

Quantified Position Deviation (mm)

Quantified Orientation Deviation (rads)

(a) Under Ideal Environment

0.1029
0.1
0.08
0.06
0.04
0.02
0.000436
0

0.000423

0.000422

1
2
No. of iterations

26.228
25
20
15
10
5
1.0515
0

1.0507

1.0506

1
2
No. of iterations

(b) With Measurement Noise

Quantified Position Deviation (mm)

Quantified Orientation Deviation (rads)

Figure 6.9: Calibration Convergence

0.005
0.004
0.003
0.002
0.001

10

20
30
40
No. of Experimental Poses Used

6
5
4
3
2
1

10
20
30
40
No. of Experimental Poses Used

50

Figure 6.10: Quanti ed Deviation Versus Number of Measurement Poses


94

50

6.2 Experimental Studies


6.2.1 Experimental Setup
The robot used for the calibration experiment is the 6-DOF RRRS modular parallel robot
shown in Fig. 6.11. An articulated type Coordinate Measuring Machine known as SpinArm from Mitutoyo, as shown in Fig. 6.12, is used for pose measurement.

Figure 6.11: A 6-DOF Modular Parallel


Robot

Figure 6.12: Mitutoyo Spin-Arm

PowerCube Modular Robotics System

The modular recon gurable robot system is a collection of individual standard functional
units (or modules), links and joints that can be used individually or collectively when
assembled into various robot con gurations. A modular parallel manipulator can thus
be rapidly con gured for a diversity of tasks. These o -the-shelf intelligent mechatronic
drives are selected as the actuator modules for rapid deployment. Each module is a
self-contained drive unit with a built-in motor, controller, ampli er, and communication
interface. Its double-cube design with multiple connecting sockets enable two actuators
to be connected in di erent orientations. In addition, each powercube has a built-in high
95

performance 16-bit micro-controller, giving the module local intelligence. The drive module operating system and motion software allow the modules to be operated autonomously
by means of high-level commands issued by a host controller (PC). The communication
between the host controller and modules is established using a standard industrial eld
bus system. In this case CANbus is used. These features made them suitable for our
recon gurable modular robot design. Figure 6.13 shows the hardware architecture of the
controller system.
User Interface Display

Ethernet

PowerCube 1

Host Board
iPC-I320

Encoder

PowerCube 2

PowerCube n

Controller card

Controller card

Amplifier

Amplifier

Motor

Encoder

Controller card

....

Motor

Amplifier

Encoder

Motor

....
CANBus

Figure 6.13: Hardware Architecture of the Controller System


Mitutoyo Spin-Arm

The Mitutoyo SpinArm is a 6-DOF articulated coordinate measuring machine. The accuracy for measurement of position is 0:08mm. Its accuracy is higher than the repeatability of the Powercube modular robotic system. Hence it is appropriate to use it as the
measuring equipment for calibrating the robot. The machine has a working envelop of
a hemi-spherical volume covering 2.4 meters in diameter. This allows most of the robot
con gurations to be measured at di erent postures. Simple xtures of high precision
manufactured cubes can be attached to the end-e ector to determine the position and
orientation description of the end-e ector using the Geopak software provided by Mitutoyo. The user needs to implement the algorithm as a part program for data collection
and the computations of the required data will be done by the system software. The
portability and ease of establishing the coordinate system makes the SpinArm a useful
tool for data collection.

96

6.2.2 Experimental Methodology


Geopak is the software that is used together with the SpinArm to analyze the measurement

data geometrically. In this experiment, the required data are the joint displacement
readings from the passive joints, the position and orientation description of the ende ector with respect to the xed parallel robot base. The passive joint displacements can
be obtained from the high precision optical encoder built in the revolute passive joints.
The base frame of the robot is established by measurement of a cubic xture, physically
attached on the mounting station of the parallel robot. This cube is fabricated using a
high grade aluminium alloy (2024) to a precision of 10microns in all dimensions. The
frame of this xture, which represents the base frame of the robot, is established by the
measurement process as shown in Fig. 6.15. The process would determine an origin point
located at the base center of the cube to represent the base module position and three
axes (x-, y- and z-axis) as shown in the gure. This base frame would be set as the
measurement system's coordinates so that subsequent measurement made will be taken
with respect to this frame. In order to establish the end-e ector frame, a cube is also
attached onto the platform of the parallel robot. Hence, when the pose of the end-e ector
is measured, it will be taken with respect to the base frame.

z
O

(a)

(b)

Figure 6.14: Establishing Cartesian Frame Using Geopak


The parallel robot system allows the teaching of the robot to move to various poses in the
workspace of the robot using joint space control. In this experiment, a large number of
poses are measured. A subset of the measured data is used in the calibration algorithm for
parameter identi cation, while the remaining serve as veri cation data of the calibration
97

P1

Pxy
P2

(1) Plane P1 is measured

(2) Plane P2 is measured

(3) Pxy is the symmetry plane of P1 and


P2. x-axis direction is established.

P4

P3

(4) Plane P3 is measured

(5) Plane P4 is measured

Pzx

(6) Pzx is the symmetry plane of P3 and


P4. y-axis direction is established.

z
y
x
(7) Lz is the intersection line of Pxy and
Pxz. z-axis direction is established.

z
y

Ob
P5a

x
(9a) Ob is the intersection point of Lz
and P5a. Origin and Base frame are
established.

(8a) Plane P5a is measured

z
Oe

P5b

(9b) Oe is the intersection point of Lz


and P5b. Origin and End Effector frame
are established.

(8b) Plane P5b is measured

Figure 6.15: Establishing the Base Frame and the End-E ector Frame
98

results. Figure 6.16 shows the calibration results validation process for the self-calibration
and end-e ector calibration process.
Actuator Joint Angles

Actual Parallel
Robot Forward
Kinematics

Actuator Joint Angles,


Actual Parallel
Robot Forward
Kinematics
Identified Kinematic
Parameters

Measured
Passive Joint
Angles

Measured
Passive Joint
Angles

Robot SelfCalibration
Process

End-Effector
Calibration

Nominal Leg-End
Distance Error

Self-Calibration Results
(Identified Kinematic
Parameters)

End-Effector Calibration
Results (Identified
Kinematic Parameters)

Calibrated LegEnd Distance


Error

Measured EndEffector Pose

Calibrated Robot
Forward
Kinematics: EndEffector Pose

Comparison of SelfCalibration Results

Comparison

Improvement in Leg-End Distance


Error After Calibration

Improvement in Pose
accuracy after calibration

(a) Robot Self-Calibration

(b) End-E ector Calibration

Figure 6.16: Result Validation Process

6.2.3 Experimental Results


Figure 6.11 shows the modular parallel robot (6-DOF, RRRS) that was con gured and
assembled for this purpose. This robot will be used for the calibration experiment. The
nominal parameters of the robot are the same as those used for the simulation example in
Section 6.1. Initial investigation shows that the repeatability of the robot, i.e., quanti ed
orientation and positional repeatability, are in the range of 0:004 0:005rad and 2
3mm, respectively. After calibration, the accuracy of the robot should be of the order of
the repeatability, as the robot's repeatability will limit its accuracy. Many experiments
are conducted and the results illustrated here belongs to a typical experiment. In each
experiment, two sets of experimental data are gathered. The rst set is used to perform
the calibration of the parallel robot, which includes the self-calibration and also the ende ector calibration. From this set of experimental data, the kinematic error parameters
99

are identi ed and updated into the nominal model of the robot. Using these updated
data, the second set of data is then used to verify the calibration results. The results
that are shown are produced using the set of data for veri cation. These two sets of data,
i.e., robot poses and passive joint displacements, are used for the veri cation of the three
self-calibration algorithms that are developed.
Results based on Nonlinear Model

The calibrated initial local frame poses and the kinematic errors that were obtained after
calibration are listed in Table 6.4. As mentioned in the simulation example, the solution
obtained from the optimization is not unique. Figure 6.17 shows the self-calibration
results of the parallel robot. It shows the initial leg-end distance errors before and after
calibration for the errors between Legs 1 and 2, Legs 2 and 3, and Legs 3 and 1, and also
the combined total for 60 poses. It can be seen that the kinematic errors of the leg-end
distance errors are reduced from about 5mm to 1:5mm for each set of leg-end errors. These
identi ed kinematic parameters are then updated into the initial local coordinate frames
of the robot to represent the actual robot kinematics. Here, after the self-calibration, we
assume that the robot is fully calibrated, i.e., the platform frame is fully calibrated with
respect to the base frame, TB;A .
Next, using the updated data, the end-e ector calibration algorithm is used to perform
the end-e ector calibration of the robot that is mounted on the platform. Figure 6.18
shows the convergence of the quanti ed orientation and position errors at the end-e ector.
It shows that the initial orientation and position errors of 0:0164rad and 11:472mm are
reduced to 0:00426rad and 1:997mm after the calibration. The number of iterations
required for convergence is four for both quanti ed deviations. The result shows an
improvement in both orientational and positional accuracy. Table 6.5 shows the nominal
and the calibrated frames TB ;B and TA;E .
0

The results of the experiment demonstrate that the number of measured poses required
for the end-e ector calibration is around 20. Figure 6.19 shows that the magnitude of
the deviations decreases with more measurement poses. This correlates well with the
simulation results, i.e., with more comparisons of the nominal and actual poses, the leastsquare algorithm is able to reduce the e ect of noise in the parameter identi cation to a
100

Dyads

Kinematic errors

0
1
(Leg1)

1:25975; 1:47587; 1:88318;


0:00379099; 0:00543067; 0:0167176

1
2
(Leg1)

3:28311; 0:369751; 0:216753;


0:00052459; 0:011753; 0:00599712

1:93304;
0:00859385;

2
3
(Leg1)

0:306954; 3:36185;
0:00251739; 0:00350987

2:90669; 1:69389; 1:34598;


0:00728122; 0:00467744; 0:021058

0
1
(Leg2)

1
2
(Leg2)

0:153247; 0:749609; 2:14453;


0:0107697; 0:00212914; 0:0116245

2
3
(Leg2)

0:0355149; 0:96805; 1:43155;


0:0140132; 0:00454175; 0:000907961

0
1
(Leg3)

2:60791; 1:5117; 1:72228;


0:0024772; 0:00819174; 0:00747698

Tic

1;i

0:514409
0:857545
0:000512575
173:09
0:857528
0:514395
0:00660299
302:766
0:00539869
0:00383618
0:999978
46:8826
0
0
0
1
0:00600003
0:999982
0:000489333 0:359955
0:011751
0:000559816
0:999931
0:197356
0:999913
0:00599386
0:0117542
211:715
0
0
0
1
0:999991
0:00352064
0:00250227
261:938
0:003499
0:999957
0:00859814
0:289114
0:00253244
0:0085893
0:99996
3:36068
0
0
0
1
0:999767
0:0210391
0:0047537
347:115
0:0210732
0:999752
0:00723134 1:72925
0:00460038
0:00732984
0:999963
43:6535
0
0
0
1
0:0116355
0:999874
0:0107568
0:73893
0:00206646
0:0107816
0:99994
2:14837
0:99993
0:0116126
0:00219165
215:151
0
0
0
1
0:999989
0:00093975 0:00453523
259:962
0:000876106
0:999901
0:0140147
0:978065
0:00454795
0:0140106
0:999892
1:42463
0
0
0
1
0:493485
0:869732
0:00621916
175:011
0:869716
0:493518
0:00587887
300:09
0:00818231
0:00250777
0:999963
46:7135
0
0
0
1
0:016269
0:999858
0:00434755
0:181942
0:0026432
0:00430511
0:999987
0:300251
0:999864
0:0162803
0:00257279
212:892
0
0
0
1
0:999741
0:0141374
0:0178098
261:013
0:0141926
0:999895
0:00297768
2:6027
0:0177658
0:00322968
0:999837
0:990659
0
0
0
1

2
4
2
4

3
5
3
5

2:10857; 0:164137; 0:303381;


0:00432654; 0:00260812; 0:0162754

2
3
(Leg3)

1:02269; 2:59704; 0:995662;


0:00310395; 0:0177894; 0:0141663

Links

Kinematic errors

Link p1

0:18522; 3:36497;

Link p2

pic

2:35972; 0

304:815; 3:36497;

0:055713; 5:65496; 0:388079; 0

Link p3

0:0734753;

1
2
(Leg3)

2:35972; 1

305:056; 5:65496; 0:388079; 1

1:25092; 1:56321; 0

305:073;

1:25092; 1:56321; 1

Table 6.4: Calibrated Initial Poses and Identi ed Kinematic Errors

Tranformation

Kinematic errors

TB 0;B

2:2638; 2:99144; 5:47354;


0:00329317; 0:000609321; 0:00994095

TA;E

5:90632; 2:96731; 5:16217;


0:0010509; 0:00166833; 0:00536442

2
4
2
4

Calibrated
0:99995
0:00993976
0:000625679
0
0:999984
0:00536527
0:0016655
0

0:00994177 0:000592942
0:999945
0:00329614
0:00329008
0:999994
0
0
0:00536351
0:00167114
0:999985
0:00104642
0:00105537
0:999998
0
0

1:49038
1:214
1276:52
1
5:94336
2:96967
14:8313
1

Table 6.5: Calibrated Transformation of TB ;B and TA;E for Nonlinear Model


0

101

3
5

3
5

error(mm)
10

error(mm)
10

Legs 1 and 2

7.5

7.5

2.5

2.5
poses

-2.5

10

20

30

40

50

poses

60

10

20

30

40

50

60

10

20

30

40

50

60

10

20

30

40

50

60

10

20

30

40

50

60

-2.5

-5

-5

-7.5

-7.5

-10

-10
Legs 2 and 3

error(mm)
10

error(mm)
10

7.5

7.5

2.5

2.5
poses
10

20

30

40

50

poses

60

-2.5

-2.5

-5

-5

-7.5

-7.5

-10

-10

error(mm)
10

error(mm)
10

Legs 3 and 1

7.5

7.5

2.5

2.5
poses
10

20

30

40

50

poses

60

-2.5

-2.5

-5

-5

-7.5

-7.5

-10

-10
Total

error(mm)
10

error(mm)
15

7.5

10

5
5

2.5
poses
-2.5

10

20

30

40

50

poses

60
-5

-5
-10

-7.5
-10

-15

(a) Before Calibration

(b) After Calibration

Figure 6.17: Leg-End Distance Errors Before and After Calibration

102

Quantified Position Deviation (mm)

Quantified Orientation Deviation (rads)

0.0164
0.015
0.0125
0.01
0.0075
0.00428

0.005

0.00428

0.00428

0.0025

1
2
No. of iterations

11.472
10
8
6
4
2.000

1.997

1
2
No. of iterations

1.997

Figure 6.18: Calibration Convergence for Nonlinear Model

0.02

Quantified Position Deviation (mm)

Quantified Orientation Deviation (rads)

certain extent. It can also be seen that the magnitude of the deviations stabilizes after
the number of poses measured increases to about 20. Hence a practical approach in the
end-e ector calibration is to selectively measure about 20 robot poses in the workspace
for the end-e ector parameter identi cation.
0.0175
0.015
0.0125
0.01
0.0075
0.005
0.0025
10

20
30
40
No. of Experimental Poses Used

8
7
6
5
4
3
2
1

50

10

20
30
40
No. of Experimental Poses Used

50

Figure 6.19: Quanti ed Deviation Versus Number of Measurement Poses using Results
from Nonlinear Model
Linear Model Based on Leg-End Distance Error

Similar experimental results are obtained for the calibration using the second self-calibration
model, i.e, the linear model (i) based on leg-end distance error. Figure 6.20 shows the
convergence of the self-calibration results of the robot. The gure shows that the average
leg-end distance errors of Legs 1 and 2, Legs 2 and 3, and Legs 3 and 1 are reduced
from about 5:061mm to 0:555mm. These identi ed kinematic parameters are then updated into the initial local coordinate frames of the parallel robot to represent the actual
103

Average Leg-end Distance Error (mm)

parallel robot kinematics.


5.061
5
4
3
2

1.698

0.556

0.555

2
3
No. of iterations

0.555

Figure 6.20: Calibration Convergence of Leg-End Distance Errors

Average Leg-end Distance Error (mm)

We also assume that the robot pose, TB;A , is fully calibrated after the self-calibration.
Figure 6.21 shows the leg-end distance error versus the number of measurement poses
used. It can be seen that the number of poses required for the self-calibration algorithm
to stabilize is around 60. Hence, for the self-calibration of this robot architecture, it is
sucient to record the passive joint displacements for 60 poses selectively chosen within
the workspace of the robot. The calibrated initial local-frame poses and the kinematic
errors that were obtained after calibration are listed in Table 6.6.
2.5
2
1.5
1
0.5

40

60
80
100
No. of Experimental Poses Used

120

Figure 6.21: Leg-End Distance Errors Versus Number of Measurement Poses


After the self-calibration, the end-e ector calibration is used. Figure 6.22 shows the
end-e ector calibration results using the calibrated frames obtained from the second selfcalibration algorithm. The quanti ed orientation and positional deviation have been
reduced from 0:0136rad and 12:390mm to 0:00497rad and 2:097mm, respectively. It
104

Dyads

Kinematic errors

0
1
(Leg1)

1
2
(Leg1)

0:0428238; 0:123758; 3:61596;


0:00198974; 0:026626; 0:00147349

1:56625; 0:122486;
0:00192804; 0:0227542

1:67043; 0:0213141; 0:424332;


0:0181887; 0:00971202; 0:0604396

0
1
(Leg2)

0:00751489; 0:201507; 0:421828;


0:00358815; 0:0499102; 0:0939719

1
2
(Leg2)

6:61353; 2:72824; 0:200559;


0:0149176; 0:00536691; 0:0668957

2
3
(Leg2)

0
1
(Leg3)

0:809579; 1:4516; 3:1959;


0:0138984; 0:0136893; 0:0337457

1
2
(Leg3)

0:015557; 0:754661; 3:1943;


0:00642153; 0:0812927; 0:0271449

2
3
(Leg3)

7:42206; 1:32572; 0:743463;


0:00671702; 0:00816647; 0:14275

Position vector

Kinematic errors

Link p1
0
Link p2

5:86077; 1:19822;

7:28937;

Leg-end distance
2; 2

3; 3

1)

1:1251;

2
2
4

Tic(j

1);ij

(0)

0:522981
0:852334 0:00418465
0:852324
0:522996
0:00429509
0:0058494 0:00132043
0:999982
0
0
0
0:0266214
0:999644
0:0014998
0:00200912
0:00144682
0:999997
0:999644
0:0266243
0:00196989
0
0
0
0:999739
0:0227472
0:00198588
0:0227571
0:999728
0:00507678
0:00186986
0:00512065
0:999985
0
0
0
0:998127
0:0603102
0:0102549
0:0604868
0:998009
0:017883
0:00915595
0:0184698
0:999787
0
0
0
0:0496476
0:994344
0:093884
0:00592424
0:093705
0:995582
0:998749
0:0499844
0:00123851
0
0
0
0:997749
0:0668831 0:00486392
0:066803
0:997652
0:0150853
0:00586145
0:0147264
0:999874
0
0
0
0:470369
0:882367
0:0134514
0:88227
0:470532
0:0141258
0:0187935 0:00522339
0:99981
0
0
0
0:0812797
0:99633
0:0268507
0:00531096
0:0273724
0:999611
0:996677
0:0811055
0:00751629
0
0
0
0:989795
0:142236
0:00861723
0:142291
0:989806
0:00611222
0:00766
0:007276
0:999944
0
0
0

2
4
2
4
2
4

2
4
2
4

2
4

pic

0:118549; 0

310:861; 1:19822;

7:37484; 2:40047; 0:200226; 0

Link p3
(1

0:834435; 1:45057; 3:62023;


0:00435085; 0:00412695; 0:0267598

8:07364;
0:00509918;

2
3
(Leg1)

0:118549; 1

312:375; 2:40047; 0:200226; 1

0:755629; 0

312:289;

1:1251;

0:755629; 1

Kinematic errors

c
c
(ac
12 ; a23 ; a31 )

1:58423; 11:3344; 21:8061

323:175; 313:425; 302:953

Table 6.6: Calibrated Initial Poses and Identi ed Kinematic Errors

105

182:009
296:689
43:4214
1
5:63274
0:30455
211:309
1
267:987
7:5745
0:3673
1
348:139
20:29
42:2178
1
10:6828
1:47636
215:152
1
266:115
14:8652
1:32209
1
164:471
307:988
41:625
1
17:6104
0:396157
217:478
1
264:646
38:8481
2:75942
1

5
3
5
3
5

3
5
3
5
3
5

3
5
3
5

3
5

takes about three iterations for the results to converge. Again, the results portray an
improvement of both the orientation and positional accuracy of the robot. The positional
accuracy has reached the repeatability level of the robot, which is around 2-3mm. This
shows the success of the calibration algorithm. Figure 6.23 reveals that the number of
measurement poses required for the end-e ector calibration results to stabilize is around
20. This result tallies with that found in the rst calibration model. Table 6.7 shows the
calibrated pose of TB ;B and TA;E .
Quantified Position Deviation (mm)

Quantified Orientation Deviation (rads)

0.0136
0.012
0.01
0.008
0.006

0.00497

0.00497

0.00497

0.004
0.002

1
2
No. of iterations

12.390
12
10
8
6
4
2.099

2.099

2.097

1
2
No. of iterations

0.02

Quantified Position Deviation (mm)

Quantified Orientation Deviation (rads)

Figure 6.22: Calibration Convergence

0.0175
0.015
0.0125
0.01
0.0075
0.005
0.0025
10

20
30
40
No. of Experimental Poses Used

8
7
6
5
4
3
2
1
10

50

20
30
40
No. of Experimental Poses Used

50

Figure 6.23: Quanti ed Deviation Versus Number of Measurement Poses


Tranformation

TB 0;B

TA;E

Kinematic errors
3:11081; 1:67442; 25:06;
0:0070871; 0:00575399; 0:00423903

6:89525; 1:33321; 13:0339;


0:00178045; 0:00205763; 0:00705085

2
4
2
4

Calibrated frames
0:999974
0:00425934
0:00573887
0
0:999973
0:00705261
0:00205133
0

0:00421856
0:999966
0:00709918
0
0:00704895
0:999974
0:00178768
0

0:00576891
0:00707479
0:999958
0
0:00206388
0:00177318
0:999996
0

Table 6.7: Calibrated Transformation of TB ;B and TA;E for Linear Model (i)
0

106

10:5752
7:47756
1307
1
6:84518
1:26185
33:042
1

5
3
5

Linear Model Based on Passive-Joint-Displacement Measurement Residue

Average Measurement Residue (rads)

Using the same set of experimental data, self-calibration is performed using the the second linear model (linear model (ii)) based on passive-joint-displacement measurement
residue. Figure 6.24 shows the self-calibration result. The passive joint angles' measurement residue reduces from 0:0120rad to 0:00166rad within four iterations. In Fig. 6.25,
we can see that it takes about 60 poses for the self-calibration result to stabilize. This
is coherent with our previous calibration model. The calibrated initial local frame poses
and the kinematic errors that were obtained after calibration are listed in Table 6.8.
0.012

0.0120

0.01
0.008
0.006
0.004

0.00284
0.00169

0.002

0.00166

2
No. of iterations

0.00166

Average Leg-end Distance Error (mm)

Figure 6.24: Calibration Convergence of the Passive Joint Measurement Residue


2.5
2
1.5
1
0.5

40

60
80
100
No. of Experimental Poses Used

120

Figure 6.25: Passive Joint Measurement Residue Versus Number of Measurement Poses
Subsequently, the end-e ector is calibrated using data from this self-calibration process.
The end-e ector calibration results illustrate that the quanti ed orientation and positional deviation are reduced from 0:0150rad and 13:571mm to 0:00492rad and 2:186mm,
respectively (see Fig. 6.26). The nal result of this self-calibration is almost at the same
107

Dyads

Kinematic errors
0:965606; 1:6887; 2:08683;
0:000593937; 0:00129744; 0:0164933

0
1
(Leg1)

Tic(j

1);ij

(0)

0:514214
0:857661
0:00130228
179:053
0:857661
0:514215
0:00058321
298:526
0:00116985
0:000817019
0:999999
42:5048
0
0
0
1
0:00103068
0:999966
0:00813939
0:220844
0:00265144
0:0081421
0:999963
0:495162
0:999996
0:00100906
0:00265975
212:914
0
0
0
1
0:999848
0:0162695
0:00628885 268:939
0:0162255
0:999844
0:0069848
3:54495
0:00640151
0:0068817
0:999956
1:75886
0
0
0
1
0:99936
0:0342824
0:0102555
348:288
0:0344021
0:999339
0:0117353 11:4728
0:00984644
0:0120806
0:999879
41:8934
0
0
0
1
0:0498564
0:99641
0:0684251
10:7292
0:00220719
0:0684002
0:997656
0:660719
0:998754
0:0498905
0:00121092
215:068
0
0
0
1
0:997776
0:0666451 0:00109504
266:605
0:0666212
0:997665
0:0150545
14:3133
0:00209579
0:014948
0:999886
0:317449
0
0
0
1
0:484352
0:874832
0:00852626
168:962
0:874742
0:484425
0:0126202
305:03
0:0151709
0:00134566
0:999884
41:456
0
0
0
1
0:0578912
0:998256
0:0115379
12:4737
0:00704658
0:0119656
0:999904
1:189
0:998298
0:0578043
0:00772699
216:392
0
0
0
1
0:993887
0:109863
0:0109267
266:248
0:109929
0:993924
0:00554473
30:1345
0:0102511 0:00671199
0:999925
3:0633
0
0
0
1

3
5

1
2
(Leg1)

0:000613078; 0:072131; 2:0852;


0:00265563; 0:00101988; 0:00814085

2
3
(Leg1)

8:97272; 0:746307; 0:0684116;


0:00693366; 0:00634555; 0:0162485

1:95146; 0:00430892; 0:335457;


0:0119108; 0:0100534; 0:0343504

0
1
(Leg2)

0:00811196; 0:185766; 0:335821;


0:000498728; 0:0499332; 0:0684946

1
2
(Leg2)

7:08045; 3:24822; 0:20998;


0:0150129; 0:00159666; 0:0666851

2
3
(Leg2)

0
1
(Leg3)

0:96807; 1:69998; 1:75626;


0:012544; 0:00863933; 0:017902

1
2
(Leg3)

0:0218948;
0:00739115;

0:332444; 1:75729;
0:0578819; 0:0117587

2
3
(Leg3)

7:91742; 1:11872; 0:360599;


0:00614092; 0:0106106; 0:110121

Position vector

Kinematic errors

pic

6:57391; 0:591275; 0:0707163; 0

311:574; 0:591275; 0:0707163; 1

Link p1
0
Link p2
0

7:39586;

Leg-end distance
2; 2

8:08992; 2:81563; 0:180247; 0

Link p3
(1

3; 3

1)

1:23272;

313:09; 2:81563; 0:180247; 1

0:343526; 0

312:396;

1:23272;

0:343526; 1

Kinematic errors

c
c
(ac
12 ; a23 ; a31 )

0:841947; 10:7825; 21:1294

323:918; 313:977; 303:63

Table 6.8: Calibrated Initial Poses and Identi ed Kinematic Error

108

level as that found in the previous model which is also at the repeatability of the robot.
This serves as a con rmation of the self-calibration result. Again, we perform the ende ector calibration with di erent number of measurement poses. Figure 6.27 shows that
a set of about 20 measurement poses are sucient for the end-e ector calibration of this
robot architecture. In Table 6.9, we have the calibrated pose of TB ;B and TA;E .
Quantified Position Deviation (mm)

Quantified Orientation Deviation (rads)

0.0150
0.014
0.012
0.01
0.008
0.006

0.00492

0.00492

0.00492

0.004
0.002

1
2
No. of iterations

13.5711
12
10
8
6
4
2.186

2.186

2.186

1
2
No. of iterations

0.02

Quantified Position Deviation (mm)

Quantified Orientation Deviation (rads)

Figure 6.26: Calibration Convergence

0.0175
0.015
0.0125
0.01
0.0075
0.005
0.0025
10

20
30
40
No. of Experimental Poses Used

8
7
6
5
4
3
2
1
10

50

20
30
40
No. of Experimental Poses Used

50

Figure 6.27: Quanti ed Deviation Versus Number of Measurement Poses


Tranformation

TB 0;B

TA;E

Kinematic errors
1:52837; 0:412174; 27:931;
0:00944842; 0:0022577; 0:00652053

7:45966; 0:997969; 15:3664;


0:00357645; 0:000932017; 0:00631909

2
4
2
4

Calibrated
0:999976
0:00653104
0:00222684
0
0:99998
0:0063207
0:000920708
0

0:00650971
0:999934
0:00945557
0
0:00631737
0:999974
0:00357936
0

0:00228845
0:00944084
0:999953
0
0:000943308
0:00357347
0:999993
0

Table 6.9: Calibrated Transformation of TB ;B and TA;E for Linear Model (ii)
0

109

4:49263
11:8179
1309:87
1
7:43668
0:875454
35:3714
1

5
3
5

6.3 Discussion
The experimental results have validated the accuracy and robustness of the calibration
models. The success of the three calibration models is illustrated by the plots showing
the calibration convergence graphs. It can be observed that for the self-calibration, the
leg-end distance errors and the passive joint angles' measurement residue improve signi cantly after the rst 2 iterative loops and stabilize after 3 to 4 iterations. For this robot,
it can be seen that the leg-end distance errors or the measurement residues reduce when
the number of pose measurements is increased. This trend continues until the addition
of more measurements do not help to reduce the errors signi cantly. The threshold value
for the number of measurement poses is around 50 for the self-calibration. After the selfcalibration, the transformation matrix from the robot base frame to the mobile platform
frame is known with sucient accuracy. The next stage is the end-e ector calibration,
i.e., to nd the xed transformation error of TB ;B and TA;E , of the robot. Similarly, we
have found a threshold value for the end-e ector calibration, above which there will be no
signi cant improvement in the positional and orientational deviation errors. This threshold value is around 20 poses. The result obtained shows that the calibration accuracy
has improved to approximately the repeatability of the robot, i.e., 0:004 0:005rad and
2 3mm for the orientational and positional deviation, respectively. Therefore, the result
is only limited by the repeatability of the robot, the accuracy of the measuring equipment
and the repetitive accuracy of the calibration through the iteration procedure.
0

In this experiment, using the same set of data gathered, the robot is calibrated using
the three self-calibration algorithms developed. In each of these cases, the success of
the calibration is characterized by the improvement in the orientational and positional
accuracy of the robot to its repeatability level as shown in Table 6.10. The main source
of noise is due to the machining tolerance in the passive and spherical prototype joints
that were fabricated locally. The machining tolerance in these joints a ects the overall
repeatability of the robot. Hence, more precise fabrication of these joints will de nitely
improve the repeatability of the robot and hence lead to better accuracy. The results show
that all three self-calibration algorithms e ectively reduce the positional and orientational
accuracy to the repeatability of the robot. However, having conducted the experiments
and the subsequent computation, it is realized that there are certain advantages and
disadvantages pertaining to each calibration model and they are discussed below.
110

Self-calibration

Initial orientation and

Orientation and position

method

position deviation

deviation after calibration

Nonlinear model

0.0164rad, 11.472mm

0.00428rad, 1.997mm

Linear model (i)

0.0136rad, 12.390mm

0.00497rad, 2.097mm

Linear model (ii)

0.0150rad, 13.571mm

0.00492rad, 2.186mm

Table 6.10: Comparison of Results from the Three Self-Calibration Models


Here the linear model (i) and (ii) in Table 6.10 refers to the linear models based on the legend distance error and that based on the passive joint displacement measurement residue,
respectively. The formulation of the nonlinear model is relatively simple compared to
the two linear models. However, the time taken for the error parameter identi cation
is much longer in the case of the nonlinear model. It takes about 17 hours for the
kinematic error identi cation process when it is run in Mathematica 3:0 on a Pentium
II 233MHz computer. On the other hand, the process to formulate the linear model is
more complicated, but once the linear model is formulated, the parameter identi cation
process is very ecient. It takes about 5 minutes to identify the kinematic errors on the
same computer system. For the linear models the pseudo-inverse of the Jacobian matrix
as shown in Eqn. (5.32) and (5.47) must be computed. (This pseudo-inverse is computed
using a function in Mathematica 3.0 ). Due to the inevitable inclusion of noise in the
data collected in the calibration process, it is necessary to adjust the tolerance level in the
computation of the pseudo-inverse of the Jacobian matrix. For this experimental setup of
the parallel robot, the recommended tolerance level is 10 5 (used in the pseudo-inverse
function in Mathematica 3.0), when the units of the orientation and position of the pose
are in radians and meters respectively, to achieve optimal results. Comparing the two
linear models, the model based on the passive joint angles' residue requires the solving
of passive joint angles using the iterative forward kinematics at every iteration. Hence
it will not be as ecient as the model based on the leg-end distance error. In addition,
it is well known that the performance of the linear resolution method degrades in the
presence of noise [76]. Hence, for robots with a high noise level, the nonlinear model will
perform better. From Table 6.10, it can be observed that the calibration results using the
nonlinear model are slightly better than that using the linear models. However, assuming
that the noise level of the robot is not exceptionally large and also if the eciency and
simplicity of the algorithms are the main concern, the linear model based on the leg-end
distance error will be a better choice.
111

Chapter 7
Conclusion
7.1 Concluding Remarks
In this work, we have illustrated a class of three-legged non-redundant parallel robots
having symmetrical geometry with simple kinematics and desirable characteristics suitable for modular parallel robot architecture. We have also developed algorithms for the
forward and inverse kinematics of the modular parallel robot based on the local frame
representation of the Product-of-Exponential (POE) formula. The existence of multiple forward displacement solutions for the hybrid manipulator suggests that redundant
joint-displacement sensing is an asset. Hence, the displacement sensors are installed in
the passive joints and this greatly simpli es the forward kinematics of the modular parallel robot. The forward displacement solution of the manipulator becomes simple and
unique, thus avoiding the problem of multiple assembly modes. The limitation of this
sensor-based approach is that it can only be implemented on the actual parallel robot
in which each of the revolute joints has a displacement sensor. This prompted us to
propose a numerical approach to determine the passive joint displacements, which is required in circumstances such as o -line computation and simulation. A 3  3 Jacobian
matrix is formulated for the computation and the Newton-Raphson method is employed
to derive the numerical solution. The forward displacement solution algorithm developed
is con guration-independent and it is able to be implemented for di erent three-legged
modular parallel robot with minimum modi cation.
For the workspace analysis, a simple and general workspace visualization scheme is shown.
112

The workspace of the parallel robot can be represented graphically using the graphical
software package in Maple V . The 3-D workspace can be graphically studied by observing it from di erent viewpoints and angles. In order to study the internal structure
of the workspace, the work volume is sectioned at di erent levels systematically. This
visualization scheme is general and is applicable for various three-legged modular parallel
robot architectures. This scheme enables us to determine whether the con guration of
the parallel robot that has been designed has a reasonable workspace. By varying the
variable parameters of the parallel robot the workspace of the manipulator can be changed
accordingly.
The complete process of calibration of the parallel robot is divided into two stages. The
rst stage is the self-calibration of the mechanism in which the transformation from the
robot base frame to the robot mobile platform could be known with sucient accuracy.
The next stage is to locate the virtual base of the robot with respect to the world frame
and also to locate the end-e ector frame with respect to the mobile platform frame using the end-e ector calibration algorithm. The forward and inverse kinematics that were
developed are used in the calibration process. In the self-calibration of the robot, three
kinematic self-calibration models for a class of three-legged modular recon gurable parallel robots have been developed based on the local POE formulation. The rst model is
a nonlinear model. Here, an identi cation objective function based on errors in leg-ends
distances is shown. The objective function enables the minimization of the summation of
the di erences between the distances of two leg-ends at every pose and the corresponding
root-mean-square of the distance of two leg-ends for all poses. Minimizing the objective
function results in the solution of the kinematic error parameters. By taking advantage
of the local POE formula where the local coordinates can be arbitrarily assigned, the
kinematic calibration is modelled as a process of rede ning a set of new local coordinate
frames to re ect the actual geometrical characteristics of the robot. Since the calibrated
local frames are de ned in such a way that the twist of the joints and the joint displacements remain at their nominal values, the resulting calibration model is greatly simpli ed.
The Complex optimization method is used for the identi cation of the kinematic error
parameters. This method is found to be stable and robust, and the kinematic errors obtained as a result are always valid and acceptable. Through the optimization process, the
kinematic error parameters are identi ed. The second and third models are linear. The
second model is based on the leg-end distance errors and the third one is based on the
113

measurement residue of the passive joints. With the application of di erential transformation and the linear superposition principle, these models utilize a least-square algorithm
to identify the kinematic parameters of the robot. Because of the use of the local coordinate description, the models are modular. In which, the mathematical formulation can
be easily modi ed relating to the recon gurability of the robot assembly.
The robustness and accuracy of the calibration algorithms are deduced from the simulation
studies of a 6-DOF (R-R-R-S) modular parallel robot using the three self-calibration
and a end-e ector calibration algorithms. In ideal experimental condition, the nonlinear
self-calibration model exhibits recovery of the kinematic errors by about two orders of
magnitude. In the linear models, complete recovery of the kinematic errors is realized. The
experimental study conducted on the three-legged parallel robot that we have designed
and developed has substantiated the robustness and accuracy of the theoretical models.
It is shown that an improvement of about an order of magnitude in both the orientation
and position accuracy can be attained using any of the three algorithms. The results of
the nal position and orientation deviation of the parallel robot obtained using the three
models are of the same order of magnitude and very close to each other. However, a
complete recovery of the kinematic errors is not possible. This is due to the precision
limitation caused by both the repeatability of the prototype robot and the accuracy of
the measuring system. The advantages and disadvantages of each of the self-calibration
model have also been discussed (Chapter 6). Based on the kinematic error identi cation
time and accuracy, it is concluded that the linear self-calibration model based on the
leg-end distance error is the most ecient.

7.2 Future Directions


The future directions of this project cover the following issues. Firstly is the integration
of the two-stages calibration process. Currently, the calibration of the parallel robot is
divided into robot self-calibration followed by the end-e ector calibration. After selfcalibration, we assume that the parallel manipulator is precisely calibrated and proceed
to locate the xed transformation errors using the end-e ector calibration. However,
the existence of noise in the robot and the measuring equipment will a ect the robot
self-calibration process. The result of the rst stage of calibration is limited by the
114

repeatability of the robot. Subsequently, the results from the rst stage are used for the
end-e ector calibration. As such, the errors from the rst stage will propagate to the
second stage. In order to eliminate this error propagation, the two stages of calibration
should be integrated. Hence, the next phase of development will be to integrate the error
parameter identi cation into a single process for the parallel robot calibration.
The other issue is the singularity analysis of the modular parallel robot. The closedloop nature of the parallel robot limits the motion of the platform and creates complex
singularities in the workspace of the mobile platform. Singularity in the parallel robot's
workspace will cause the performance of the robot to be unpredictable, losing its working
capability and unable to execute its designated motion. Singularity analysis thus enables
the determination of these singular regions in the robot's workspace so as to avoid these
areas during its motion. The results from the analysis will allow better trajectory control
and planning of the parallel robot.

115

Appendix A
Mathematical Background
This section discusses the geometrical background on the Lie group and Product-ofExponential formula related to the computational aspects for the robot kinematics and
control. Reference material can be found in [77, 78, 66, 67].
SPECIAL ORTHOGONAL GROUP

SO(3) = fR 2 <33 : RRT = I; det R = 1g

(A.1)

SO(3) is also referred as the rotation group on <3 . Every rigid body rotation about an
axis can be identi ed with an R 2 SO(3).

Lie Algebra of SO(3). The Lie algebra of SO(3), denoted as so(3), is a vector space
of 3  3 skew-symmetric matrices, such that
so(3) =
w^ =

f2!^ 2 <  : !^ T = !3^ g


3

wz

wz
wy

wy
wx 75

(A.2)
0
where w = (wx; wy ; wz )T 2 <  . w^ corresponds to the axis of a rigid body rotation. In
the exponential form, R = ew , where  2 < is the angle of rotation.
6
4

wx

SPECIAL EUCLIDEAN GROUP



SE (3) = fg = R0 p1 : R 2 SO(3); p 2 <3 g
(A.3)
where R is interpreted as a rigid body rotation and p as a rigid body translation. SE (3)

represents the group of general rigid body motions including rotation and translation. It
can also be written as an ordered pair, g = (p; R).
116

Lie Algebra of SE (3). The Lie Algebra of SE (3), denoted se(3), can be de ned as



w
^
v
se(3) = fs^ = 0 0 : v 2 <31 ; w^ 2 SO(3)g

(A.4)

where s^ follows a 6-vector representation: s = (v; w), termed 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 q 2 < is a point on the axis and h is the ratio of translation displacement to
the rotary displacement, then v = q  w + hw. In the exponential form, g = es 2 SE (3),
where  2 < is the angle of rotation.
3

Adjoint Representation. An element of a Lie group SE (3) can be identi ed with


a linear mapping between its Lie algebra via the adjoint map. The adjoint map of
g = (p; R) 2 SE (3), is


Adg = R0 p^RR ;
(A.5)


 
R
p
^
R
Adg (s) = 0 R wv
Here, p^ is the 3  3 skew symmetric matrix related to p, such that

p = (px; py ; pz )T
2
0
pz
6
p^ = 4 pz
0
py px

(A.6)

py
px 75

(A.7)

Exponential of se(3). An important relation between a Lie group, SE (3), and its Lie

algebra, se(3), is the exponential mapping de ned on each Lie algebra. Let s^ 2 se(3),
s = (v; w) and kwk = wx + wy + wz , then
2


w
^
e
Av
e = 0 1 2 SE (3)
s^

where
ew^ = I +

(A.8)

sin kwk w^ + 1 cos kwk w^

kwk

(A.9)

kwk
1 cos kwk w^ + kwk sin kwk w^
A = I+
kwk
kwk
2

(A.10)

Logarithm of SE (3). The matrix logarithm also establishes a relation between the Lie
group and its Lie algebra when the Lie group is in the neighborhood of the identity. Let
117

R 2 SO(3) such that trace(R) 6= 1 and 1 + 2 cos  = trace(R), kk < , then


 
1 
R
p
w
^
A
log 0 1 = 0 0 p 2 se(3)

(A.11)

where
w^ = log [R] =

(
R RT )
(A.12)
2 sin 
1 w^ + 2 sin kwk kwk(1 + coskwk) w^
A = I
(A.13)
2
2kwk sin kwk
The proof of Eqn. (A.12) can be found in [79]. Here,  is a variable related to the
eigenvalues of R. If  is very small, w^ = (R RT )=2.
1

118

Bibliography
[1] J. Angeles. Fundamentals of robotic mechanical systems: Theory, methods and algorithms. Springer, New York, 1997.
[2] R.S. Stoughton and T. Arai. A modi ed Stewart platform manipulator with improved
dexterity. IEEE Transactions on Robotics and Automation, 9(2):166{173, 1993.
[3] K.E. Zanganeh and J. Angeles. Mobility and position analyses of a novel redundant
parallel manipulator. In Proceedings of IEEE Conference on Robotics and Automation, pages 3049{3054, May 1994.
[4] K. Cleary and T. Brooks. Kinematic analysis of a novel 6-dof parallel manipulator.
In Proceedings of IEEE Conference on Robotics and Automation, pages 708{713, San
Diego, CA, June 1993.
[5] R.P. Podhorodeski and K.H. Pittens. A class of parallel manipulators based on
kinematically simple branches. ASME Journal of Mechanical Design, 116:908{914,
1994.
[6] I.M. Chen. Theory and Applications of Modular Recon gurable Robotic Systems. PhD
thesis, California Institute of Technology, Pasadena CA, USA, 1994.
[7] I.M. Chen. On optimal con guration of modular recon gurable robots. In Proceedings
of International Conference on Control, Automation, Robotics, and Vision, pages
1855{1859, Singapore, 1996.
[8] R. Cohen, M.G. Lipton, M.Q. Dai, and B. Benhabib. Conceptual design of a modular
robot. ASME Journal of Mechanical Design, 114:117{125, March 1992.
[9] D. Schmitz, P. Khosla, and T. Kanade. The CMU recon gurable modular manipulator system. Technical Report CMU-RI-TR-88-7, Carnegie Mellon University, 1988.
119

[10] I.M. Chen and J.W. Burdick. Determining task optimal modular robot assembly
con gurations. In Proceedings of IEEE Conference on Robotics and Automation,
pages 132{137, Nagoya, Japan, May 1995.
[11] E.F. Fichter. A Stewart platform-based manipulator: General theory and practical
construction. International Journal of Robotics Research, 5:157{182, 1986.
[12] P. Nanua and K.J. Waldron. Direct kinematic solution of a Stewart platform. IEEE
Transactions on Robotics and Automation, 6:431{437, 1989.
[13] J.P. Merlet. Direct kinematics and assembly modes of parallel manipulators. International Journal of Robotics Research, 11(2):150{162, 1992.
[14] B. Dasgupta and T.S. Mruthyunjaya. The Stewart platform manipulator: a review.
Mechanism and Machine Theory, 35:15{40, 2000.
[15] K. Cleary and T. Arai. A prototype parallel manipulator: Kinematics, construction,
software, workspace results, and singularity analysis. In Proceedings of International
Conference on Robotics and Automation, pages 566{571, Sacramento, California,
April 1991.
[16] X. Shi and R.G. Fenton. A complete and general solution to the forward kinematics
problem of platform-type robotics manipulators. In Proceedings of IEEE Conference
on Robotics and Automation, pages 3055{3062, May 1994.
[17] F. Pierrot, A. Fournier, and P. Dauchez. Towards a fully-parallel 6 dof robot for highspeed applications. In Proceedings of IEEE Conference on Robotics and Automation,
pages 1288{1293, Sacramento, California, April 1991.
[18] L. Notash and R.P. Podhorodeski. Complete forward displacement solutions for a
class of three-branch parallel manipulators. Journal of Robotic Systems, 11(6):471{
485, 1994.
[19] K.J. Waldron, M. Raghavan, and B. Roth. Kinematics of a hybrid series-parallel
manipulation system. In ASME Journal of Dynamic Systems, Measurement, and
Control, pages 211{221, 1989.
[20] G.S. Thornton. The GEC tetrabot - a new serial-parallel assembly robot. In Proceedings of IEEE Conference on Robotics and Automation, pages 437{439, 1988.
120

[21] M.Z. Huang. Kinematics of a class of hybrid robotic mechanism. In Proceedings of


IEEE Conference on Robotics and Automation, pages 2180{2185, 1994.
[22] L. Notash and R.P. Podhorodeski. On the forward displacement problem of threebranch parallel manipulators. Mechanism and Machine Theory, 30(3):391{404, 1995.
[23] C. Innocenti and V.Parenti-Castelli. Direct position analysis of the Stewart platform
mechanism. Mechanism and Machine Theory, 25(6):611{621, 1990.
[24] W. Lin, C.D. Crane, and J. Du y. Closed-form forward displacement analyses of
the 4-5 parallel platform. In Proceedings of ASME Conference on Robotics, Spatial
Mechanisms, and Mechanical Systems, pages 521{527, De-Vol. 45 1992.
[25] R.P. Podhorodeski. A screw theory based forward displacement solution for hybrid
manipulators. In 2nd National Applied Mechanisms and Robotics Conference, paper
no. IIIC.2., Cincinnati, U.S.A, November 1991.
[26] S.V. Sreenivasan and P. Nanua. Solution of the direct position kinematics problem of
the general Stewart platform using advance polynomial continuation. In Proceedings
of ASME Conference on Robotics, Spatial Mechanisms, and Mechanical Systems,
pages 99{106, De-Vol. 45 1992.
[27] H.Y. Lee and B. Roth. A closed-form solution of the forward displacement analysis
of a class of in-parallel mechanisms. In Proceedings of IEEE Conference on Robotics
and Automation, pages 720{724, 1993.
[28] D. Zlatanov, M.Q. Dai, R.G. Fenton, and B. Benhabib. Mechanical design and
kinematic analysis of a three-legged six degree-of-freedom parallel manipulator. In
Proceedings of ASME Conference on Robotics, Spatial Mechanisms, and Mechanical
Systems, pages 529{536, De-Vol. 45 1992.

[29] C. Innocenti and V.Parenti-Castelli. Forward kinematics of the general 6-6 fully parallel mechanism: An exhaustive numerical approach via a mono-dimensional-search
algorithm. In Proceedings of ASME Conference on Robotics, Spatial Mechanisms,
and Mechanical Systems, pages 545{552, De-Vol. 45 1992.
[30] K.E. Zanganeh and J. Angeles. Real-time direct kinematics of general six-degree-offreedom parallel manipulatrs with minimum-sensor data. Journal of Robotic Systems,
12(12):833{844, 1995.
121

[31] J. P. Merlet. Closed-form resolution of the direct kinematics of parallel manipulators using extra sensor data. In Proceedings of IEEE Conference on Robotics and
Automation, pages 200{204, 1993.
[32] R.S. Stoughton and T. Arai. Optimal sensor placement for forward kinematics evaluation of a 6-dof parallel link manipulator. In IEEE/RSJ International Workshop
on Intelligent Robots and Systems, pages 785{788, Osaka,Japan, November 1991.
[33] J.J. Craig. Introduction to Robotics Mechanics and Control. Addison{Wesley, New
York, USA, 2nd edition, 1989.
[34] B. Paden and S. Sastry. Optimal kinematic design of 6R manipulators. International
Journal of Robotics Research, 7(2):43{61, 1988.
[35] R. P. Paul, B. Shimano, and G. E. Mayer. Kinematic control equation for simple
manipulators. IEEE Transaction on Systems, Man, and Cybernetics, 11(6):80{86,
1981.
[36] R.P. Paul. Robot Manipulators: Mathematics, Programming, and Control. MIT
Press, Cambridge, MA, USA, 1981.
[37] G. Yang. Kinematics, dynamics, calibration, and con guration optimization of modular recon gurable robots. PhD thesis, School of Mechanical and Production Engineering, Nanyang Technological University, Singapore, 1999.
[38] A. Kumar and K.J. Waldron. The workspaces of a mechanical manipulator. ASME
Journal of Mechanical Design, 103:665{672, 1981.
[39] K.C. Gupta and B. Roth. Design considerations for manipulator workspace. ASME
Journal of Mechanical Design, 104:704{711, 1982.
[40] C. Gosselin. Determination of the workspace of 6-dof parallel manipulators. ASME
Journal of Mechanical Design, 112:331{336, 1990.
[41] Sen Dibakar and T.S. Mruthyunjaya. A computational geometry approach for determination of boundary of workspaces of planar maninpulators with arbitrary topology.
ASME Journal of Mechanical Design, 34:149{169, 1999.

122

[42] F. Bulca, J. Angeles, and P.J. Zsombor-Murray. On the workspace determination of


spherical serial and platform mechanisms. Mechanism and Machine Theory, 34:497{
512, 1999.
[43] O. Masory and J. Wang. Workspace evaluation of Stewart platform. In Proceedings of
ASME Conference on Robotics, Spatial Mechanisms, and Mechanical Systems, pages
337{346, De-Vol. 45 1992.
[44] L.T. Wang and J. Hsieh. Extreme reaches and reachable workspace analysis of general
parallel robotic manipulators. Journal of Robotic Systems, 15(3):145{159, 1998.
[45] B.W. Mooring, Z.S. Roth, and M.R. Driels. Fundamentals of Manipulator Calibration. John Wiley and Sons, USA, 1991.
[46] J. Wang and O. Masory. On the accuracy of a Stewart platform { Part 1: The e ect
of manufacturing tolerances. In Proceedings of IEEE Conference on Robotics and
Automation, pages 114{120, 1993.
[47] O. Masory, J. Wang, and H. Zhuang. On the accuracy of a Stewart platform { Part
2: Kinematic calibration and compensation. In Proceedings of IEEE Conference on
Robotics and Automation, pages 114{120, 1993.
[48] H. Zhuang, J. Yan, and O. Masory. Calibration of Stewart platform and other parallel
manipulators by minimizing inverse kinematic residuals. Journal of Robotic Systems,
15(7):396{406, 1998.
[49] H. Zhuang. Self-calibration of parallel mechanisms with a case study on Stewart
platform. IEEE Transactions on Robotics and Automation, 13(3):387{397, 1997.
[50] C.W. Wampler, J.M. Hollerbach, and T. Arai. An implicit loop method for kinematic
calibration and its application to closed-chain mechanisms. IEEE Transactions on
Robotics and Automation, 11(5):710{724, 1995.
[51] L.J. Everett and C.Y. Lin. Kinematic calibration of manipulator with closed loop
actuated joints. In Proceedings of IEEE Conference on Robotics and Automation,
pages 792{797, Philadelphia, PA, April 1988.
[52] L. Notash and R.P. Podhorodeski. Kinematic calibration of parallel manipulators.
In IEEE Transaction on Systems, Man, and Cybernetics, pages 3310{3315, 1995.
123

[53] C.C. Iurascu and F.C. Park. Geometric algorithms for closed chain kinematic calibration. In Proceedings of IEEE Conference on Robotics and Automation, pages
1752{1757, Detroit, USA, May 1999.
[54] J.M. Hollerbach and C.W. Wampler. The calibration index and taxonomy for
robot kinematic calibration methods. International Journal of Robotics Research,
15(6):573{591, 1996.
[55] Y. Koseki, T. Arai, K. Sugimoto, T. Takatuji, and M. Goto. Design and accuracy
evaluation of high-speed and high precision parallel mechanism. In Proceedings of
IEEE Conference on Robotics and Automation, pages 1340{1345, Leuven, Belgium,
May 1998.
[56] S. Besnard and W. Khalil. Calibration of parallel robots using two inclinometers.
In Proceedings of IEEE Conference on Robotics and Automation, pages 1758{1763,
Detroit, Michigan, May 1999.
[57] H. Zhuang, O. Masory, and J. Yan. Kinematic calibration of a Stewart platform
using pose measurements obtained by a single theodolite. In Proceedings of IEEE
Conference on Robotics and Automation, pages 329{334, April 1995.
[58] D.J. Bennett and J.M. Hollerbach. Autonomous calibration of single-loop closed
kinematic chains formed by manipulators with passive endpoint constraints. IEEE
Transactions on Robotics and Automation, 7(5):597{606, 1991.
[59] L.J. Everett and T.W. Ives. A sensor used for measurement in the calibration of
production robots. In Proceedings of IEEE Conference on Robotics and Automation,
pages 174{179, Atlanta, GA, May 1993.
[60] A. Nahvi, J.M. Hollerbach, and V. Hayward. Calibration of a parallel robot using
multiple kinematic closed loops. In Proceedings of IEEE Conference on Robotics and
Automation, pages 407{412, 1994.
[61] H. Zhuang, Z.S. Roth, and R. Sudhakar. Simultaneous robot/world and tool/ ange
calibration by solving homogeneous transformation equations of the form AX=YB.
IEEE Transactions on Robotics and Automation, 10(4):549{554, 1994.

124

[62] I.M. Chen and G. Yang. Con guration independent kinematics for modular robots.
In Proceedings of IEEE Conference on Robotics and Automation, pages 1440{1445,
Minneapolis, Minnesota, April 1996.
[63] G. Lebret, K. Liu, and F.L. Lewis. Dynamic analysis and control of a Stewart
platform. Journal of Robotic Systems, 10(5):629{655, 1993.
[64] K.H. Hunt. Kinematic Geometry of Mechanisms. Oxford University Press, 1978.
[65] R. Brockett. Robotic manipulators and the product of exponential formula. In
International Symposium in Math. Theory of Network and Systems, pages 120{129,
Beer Sheba, Israel, 1983.
[66] R. Murray, Z. Li, and S.S. Sastry. A Mathematical Introduction to Robotic Manipulation. CRC Press, USA, 1994.
[67] F.C. Park. Computational aspect of manipulators via product of exponential formula
for robot kinematics. IEEE Transactions on Automatic Control, 39(9):643{647, 1994.
[68] G. Wang. Forward displacement analysis of a class of 6-6 Stewart platform. In

Proceedings of ASME Conference on Robotics, Spatial Mechanisms, and Mechanical


Systems, pages 113{117, De-Vol. 45 1992.

[69] G. Yang, I.M. Chen, W.K. Lim, and S.H. Yeo. Design and kinematic analysis of modular recon gurable parallel robots. In Proceedings of IEEE Conference on Robotics
and Automation, pages 2501 {2506, Detroit, Michigan, May 1999.
[70] W.K. Lim, G. Yang, S.H. Yeo, and I.M. Chen. Kinematic analysis and self-calibration
of three-legged modular parallel robot. In Proceedings of SPIE Conference on Sensor
Fusion and Decentralized Control in Robotic Systems II, pages 224{235, Vol. 3839
1999.
[71] G. Yang, W.K. Lim, I.M. Chen, and S.H. Yeo. Self-calibration of modular recon gurable parallel robots based on leg-end distance error. Technical Report TP-MPENTU-01-00-01, School of Mechanical and Production Engineering, Nanyang Technological University, Singapore, 2000.
[72] G. Yang, I.M. Chen, W.K. Lim, and S.H. Yeo. Self-calibration of three-legged modular recon gurable parallel robots based on leg-end distance errors. Robotica, 2000.
(in press).
125

[73] G. Yang, W.K. Lim, I.M. Chen, and S.H. Yeo. Self-calibration of modular recon gurable parallel robots based on measure residue. Technical Report TP-MPE-NTU02-00-02, School of Mechanical and Production Engineering, Nanyang Technological
University, Singapore, 2000.
[74] F.C. Park and K. Okamura. Kinematic calibration and the product of exponential
formula. In Advances in Robot Kinematics and Computational Geometry, pages 119{
128. Cambridge, MIT Press, 1994.
[75] B.D. Bunday and G.R. Garside. Optimisation methods in Pascal. Edward Arnold
(Publishers) Ltd., Australia, 1987.
[76] F. Dornaika and R. Horaud. Simultaneous robot-world and hand-eye calibration.
IEEE Transactions on Robotics and Automation, 14(4):617{622, 1998.
[77] R. Brockett. Some mathematical aspects of robotics. In Proceedings of Symposia in
Applied Mathematics, volume 41, pages 1{19, Providence, Rhode Island, 1990.
[78] Z. Li. Geometrical considerations of robot kinematics. IEEE Transactions on
Robotics and Automation, 5(3):139{145, 1990.
[79] F.C. Park. On the optimal kinematic design of spherical and spatial mechanisms.
In Proceedings of IEEE Conference on Robotics and Automation, pages 1530{1535,
Sacramento, CA, April 1991.

126

Vous aimerez peut-être aussi