Académique Documents
Professionnel Documents
Culture Documents
Parallel Robots
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 fulllment 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 fulllment 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 recongurable parallel robot system consists of standardized links and joint
components that can be assembled into a particular geometry for specic tasks. The focus
of this work is on the conguration design, kinematic analysis, workspace visualization
and kinematic calibration of the modular recongurable parallel robot.
The modular parallel robot can have numerous congurations. Here, we have systematically identied 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 congurations and it is veried 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 redening 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-eector 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
27
38
56
5.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
5.2 Calibration Models . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
ii
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-Eector Calibration . . . . . . . . . . . . . . . . . . . . . . . . 92
6.2 Experimental Studies . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
6.2.1 Experimental Setup . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
iii
Conclusion
112
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)Modied 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 Congurations . . . . . . . . . . 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
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 Quantied 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-Eector 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 Quantied 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
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 Identied Kinematic Errors . . . . . . . . . . . . . . . . . . . . 93
6.3 Nominal and Calibrated Transformation . . . . . . . . . . . . . . . . . . . 93
6.4 Calibrated Initial Poses and Identied Kinematic Errors . . . . . . . . . . 101
6.5 Calibrated Transformation of TB ;B and TA;E for Nonlinear Model . . . . . 101
0
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 specic 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 benet 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-eector stiness 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 stiness, causes the structure
to have poor accuracy at the end-eector.
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
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 recongurable parallel robot system consists of a collection of standardized
individual actuators, passive joints, connectors, mobile platform and the end-eector components that can be assembled into a particular parallel robot geometry in order to fulll
specic task requirements [6, 10, 7]. A modular recongurable 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 recongurable parallel robot system to be deployable and eective in
performing its assigned tasks, certain issues must be addressed. These fundamental issues include parallel robot conguration design, kinematics analysis, workspace analysis,
kinematic calibration, singularity analysis and dynamics analysis.
Employing the concept of modularity requires designing and selecting modular parallel
robot congurations that will be eective in performing certain tasks. Hence, investigation into dierent forms of parallel robots should be performed to achieve a class of
congurations that is suitable for modular robots. Next, to eectively 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 conguration. Moreover, assembly
errors are introduced into the geometrical structure of the robot during assembly and
re-conguration. 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-eector 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 conguration of a robot such that the
robot in this conguration 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
eectively 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.
Modular parallel robot congurations design: Dierent parallel robot congurations
are explored in order to nd an appropriate class of congurations 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
Kinematic calibration: Due to the reconguration 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-eector calibration model. Simulation and experimental studies were
also conducted to verify these calibration models.
Chapter 2 outlines the literature survey on past eorts made in parallel robot design,
forward and inverse kinematics, workspace analysis and kinematic calibration.
Chapter 3 gives an introduction to the modular recongurable 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-
modular parallel robot. The calibration algorithms use the local coordinate representation of the Product-of-Exponential formula and the dierential transformation
theory to derive the kinematic error parameters for the calibration compensation.
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.
(a)
(b)
(c)
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 Modied 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)Modied Stewart Platform (reproduced from
[2])
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-eector
pose.
end-eector 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-eector. Through proper design, these manipulators exploiting the advantages
of both fully parallel and serial-chain manipulators can be developed for specic 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 dierential joint, an elbow joint,
a ball joint and two links. It is driven by two motors through a dierential 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 conguration 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 simplied.
method for solving the forward displacement kinematics since close-form solutions exist
for all arbitrary manipulator congurations. 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-eector by spherical
joints. Assuming each leg is disconnected from the end-eector, 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-eector pose where the end-eector'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 innity,
which have no geometric signicance. This greatly improved the eciency of computation.
13
Merlet [13] addressed the problem of direct kinematics of the Triangular Symmetric Simplied 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 conguration 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 conguration.
Lin, Crane and Duy [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 veried 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 dierent
congurations. 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 eectiveness 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 specic 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-eector 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
conguration. 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-eector 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 modied 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
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 modied 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 modied Stewart platform (MSP). By varying the end-eector positions
and using the inverse kinematics of the manipulator, the simulation and experimental
results of the workspace are analyzed and it was veried that both results conform.
Workspace volume is aected by the choice of its major dimensions, actuator's stroke and
18
the kinematic constraints of its joints. Masory and Wang [43] investigated the eects of
these parameters on the workspace volume and also the dexterity of a certain conguration
of the Stewart platform. The workspace volumes and boundaries for dierent 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-eector
and a xed base point with respect to any given search direction.
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
dierent model descriptions. Measurement is made prior to calibration to determine the
actual position and orientation of the end-eector or other parts of the manipulator in
consideration under a given set of joint displacements. Often it is required to measure
dierent poses in the workspace in order to eliminate random errors. Next, identication
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 eorts 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] oered a classication of strategies for kinematic calibration that is applicable to serial and parallel manipulators. Generally, calibration methods
can be classied under: i) open-loop methods ii) closed-loop methods iii) screw axis measurement methods iv) implicit-loop methods and v) self-calibration methods. End-eector
calibration is an extension to the self-calibration where the xed transformation errors
of a robot are identied. We will categorize and present a literature review on parallel
robot calibration based on the above-mentioned classication. 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 dierent 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 dened as the dierence between the measured position and orientation of the end-eector 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 identiable 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 identication 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 eective 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-eector
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
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 unied formulation for the self-calibration of both serial-link robots and
robotic mechanism having kinematic closed-loops using the implicit-loop method. The
unication is based on equivalence between end-eector 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 dierently from kinematic-loop methods. Here, each
joint axis is identied 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 dene 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 osets 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 eect on the end-eector pose error of a Stewart platform. It was concluded that the end-eector 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 simplied
model of a Stewart platform. The simulation results exhibit, practically, full recovery of
23
the kinematic errors. The proposed identication algorithm can be applied to both full
and simplied models of the Stewart platform. However, it was recommended to use the
simplied 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 eective 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 dierential error model
with an identication 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 modications.
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, unied 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 identiable 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 signicant improvement
in the positional accuracy of the manipulator.
END-EFFECTOR CALIBRATION METHOD
End-eector 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-eector calibration consist in improving
the absolute positioning accuracy of the end-eector by using external measuring equipment. Past research eorts 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-eector 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-eector 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 classied 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-eector methods. For each
25
of the methods, a description is given followed by the works done by other researchers.
Literature Survey Issues
26
Chapter 3
Parallel Robot Design
3.1 Actuators and Passive Modules for Parallel Robots
A modular recongurable 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 congurations. A modular parallel manipulator can thus
be rapidly congured 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 recongurable 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 conguring modular parallel robots. Figure 3.1 shows the prismatic and revolute
actuator modules used for modular recongurable 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,
amplier, and communication interface. It has a double-cube design with multiple connecting sockets that enable two actuators to be connected in dierent orientations. These
features make them suitable for recongurable 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 dierent robot congurations. The mobile
platform (Fig. 3.3(b)) has a variable number of connecting sockets and can be used for
parallel robots with dierent number of legs.
(a)
(b)
28
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 identied 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 congurations 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 amplier, 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 congurations in this class
(see Section 3.2). Figure 3.4 shows two such possible robot congurations.
passive joint
actuator joint
(revolute)
actuator joint
(prismatic)
actuator joint
(revolute)
mobile
platform
spherical
joint
passive joint
mobile
platform
actuator joint
(revolute)
spherical
joint
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 conrms 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 specic tasks. Figure 3.5 shows the photos of three 6-DOF three-legged
parallel robots that have been built.
(a)
(b)
(c)
32
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 stiness 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 oset 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 simplied 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-eector 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 osets
and also the constraint of successive parallel or perpendicular joint directions dene 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 osets, 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
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
ADE
BDE
ADF
BDF
BEF
AEF
Unique leg structures
AFE
BFE
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 congurations. 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
CAE
CAF
CBF
CFE
CFF
CCE
CBE
CCF
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 identied a class of
three-legged parallel robot structures that have symmetrical geometry with simple kinematics and desirable characteristics suitable for our application. Dierent 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.
zi -1
k i -1
yi -1 lin
i
ink
-2
xi -1
i -1
yi
link i
xi
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
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 simplied as
i i
w^ q
es^ q = e 0
i i
i i
vi qi ;
(4.5)
(4.6)
i i
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)
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). Dene 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)
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)
i2 i2
(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
dP1 )
(4.13)
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
dq = J 1 da
(4.20)
(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
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
1 1 1
(4.23)
p001 ) (p003
(4.24)
p002 ) 1 :
(4.25)
p001 ) (p003
p002 ) ;
1 1 1
0
is constant for a specic robot conguration, 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 congurations with more than three legs. Therefore, the approach would be very
suitable for the modular robot systems.
12
22
32
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 recongurable 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.
2<
4
es^ p = q
p
u
u'
s
v'
v
q
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
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)
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
B;Bi1 (0)
B;Bi1 (0)
Bi1 ;Bi2
i2 i2
i3 i3
s and
B;Bi1 (0)
Bi2 ;Bi3
i1 i1
e^
i2 i2
e^
i3 i3
Pi0
(4.28)
0
p
i
0
where, Pi = 1 and Pi = p1i .
^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 denition, 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
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 dene
4
u = (Pi0
r2 )
v = (r1
r2 )
(4.31)
kv e q uk =
^i3
i3
(4.32)
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)
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)
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)
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)
(4.42)
and
(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)
(!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 dene 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 satised [66]
!iT2 u = !iT2 z
(4.51)
(4.52)
ku0 k = kz0 k
1
(4.53)
(4.54)
(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-eector pose. The inverse kinematics of other modular recongurable 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-eector of the parallel robot is in the workspace, the inverse
solution must exist for all the three legs of the robot.
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
(4.56)
(i = 1; 2; 3)
(4.57)
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.
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 innitely 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 specied
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 congurations.
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 conguration 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
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 dier 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-eector. 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 aect the positional accuracy of the
end-eector. Especially for modular robots, the assembly errors are usually larger than
those of robots with xed conguration. Therefore, identifying the critical kinematic parameters to improve the positional accuracy of the end-eector becomes a very important
issue for modular recongurable parallel robots. Modular robot calibration is required in
at least three situations: i) After the reconguration and assembly of the robot geometry
because new kinematic parameters of the robot have to be identied 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-eector
is changed, because the end-eector needs to be relocated with respect to the mobile
platform.
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
(2) the joint twist coordinates and the joint angle osets 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
Ti
1;i
(5.1)
Based on dierential transformation theory, frame i (Ti ;i(0)) can be transformed into
frame Tic ; (0) under an innitesimal translation Trans(xi; yi; zi), followed by an innitesimal rotation Rot(i; i;
i), where xi; yi; zi are innitesimal displacements
1
11
58
Notice that the transformation is expressed in the module frame i 1; hence, Eqn. (5.2)
follows the left multiplicative dierential transformation of Ti ;i (0) [45, 36].
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
identied 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
^i
(5.6)
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 denition 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
^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
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 innitesimal displacements along the x, y, z axes of frame i 1 and ij , ij ,
ij represent respective innitesimal 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 dierent 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)
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 identied.
61
(5.12)
(5.13)
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 dened as
F=
n
X
k =1
fk
(5.15)
The objective function of Eqn. (5.15) enables the minimization of the summation of the
dierences 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-eector at the centre of the platform can be determined by using the end-eector
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
identied, using the following equations.
1
1)
Ti(j
where Ti j
1);ij
1);ij
1)
(0)c and p0ic are the calibrated initial pose and position vector, respectively.
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 simplied 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)
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 modication, 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
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 simplied 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;i2 Tp0
i2;i
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 dierential 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)
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
23
a31 =
(p
J2 t2 ); and
(5.25)
J3 t3 )
(5.26)
p3 )T
(J1t1
p3 )T (p1 p3 )
(p
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 dierent 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 modied calibration model whereby the actual
leg-end distances are also considered as the kinematic parameters to be identied. 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
(5.29)
where a , a and a are dierent from a ; a and a in Eqn. (5.27). The former
represents the dierences of the leg-end distances with respect to their original theoretical
values, while the latter represent the dierences of the leg-end distances with respect to
their computed nominal values. Substituting Eqn. (5.29) into Eqn. (5.28), we can obtain
a modied 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
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
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 identied, 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
(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 dened 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
Update
T(0), p",a0
No
Compute the Average
Leg-end Distance
Error:a
a < ?
Yes
Terminate
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
pi = et^ es^
1
i1
i1 i1
e e
e e
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^
+ et es
e es^
^i1
^i1
i 2 i2
i 2 i2
i3
i1
+ et es
i3 i3
i3
i1 i1
t
s
1 +e e
i
i3 i3
^i1
e e
i2 i2
et^ es^
i3
e es^
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 simplied as
3
^ij
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 modication, 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
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 simplied 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
= (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
p2 )T (J3 t3
J2 t2 + Jq q32
Jq q22 );
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 simplied 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 identied, which re
ect the kinematic
errors of the three-legged modular parallel robot.
2
72
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 identied, 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
0
23
0
31
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
Update
T(0), p",a0
No
Compute Average
Measurement
Residue:q2
q2 < ?
Yes
Terminate
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 dene 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)
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-eector
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
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-Eector 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
B 0;B
TB;A (q )et^
A;E
+ et
^B 0;B
(5.52)
A;E
(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-eector pose. Based on the denition 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:
B 0;A(q )
tA;E
(5.54)
1
0
Geometrically, log[TBa ;E (q)TB ;E (q)]_ represents the gross kinematic error of the endeector 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 simplied 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 identied; these will re
ect the
kinematic errors that exist in the xed transformation.
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 identication. The least-square solution of X is
given by,
X = (J~T J~) J~T Y~
(5.57)
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 identied, TB ;B and
TA;E are updated by substituting the identied 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)
(5.60)
In order to evaluate the calibration result, we dene the RMS values between the measured
(actual) and calibrated end-eector (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
Update
TB0,B & TA,E
Tinew=edtiTiold
No
Calculate Calibrated
Tool Frame Poses
T < ?
Yes
Terminate
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 identication 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 redening a set of new local coordinate frames to
re
ect the robot's actual geometrical characteristics. Since the calibrated local frames are
dened 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 simplied. In the second model,
we derived an explicit linear calibration model relating the dierential 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 identied for both linear models. Next, assuming the parallel
robot is already suciently self-calibrated, the end-eector 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 endeector frame. These xed transformation errors are also identied 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 dierent 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 eectiveness 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)
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 satised 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
Find f(xi ) = Fi
for 1,..., k
Arrange F1,...,Fk in
ascending order
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
Yes
Finish
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
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
poses
Figure 6.4: Leg-end Distance Errors Before and After Calibration with Measurement
Noise Injected
87
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 dierent 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
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
0.469
2
3
No. of iterations
0.469
4
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 identication process. Since the calibration algorithm uses the
least-square technique to identify the kinematic errors, the algorithm can reduce the eect
of noise on the identication 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 conguration, 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 signicant improvement in the calibration
results. This is because the random noise eect 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 insignicant. 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 identication. 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 specic experimental conditions. Therefore, if this principle
is applied for the above simulation analysis, the measurement poses is set to be 50.
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
0.00249
0.00142
2
3
No. of iterations
0.00142
4
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
^B 0;B
TB0;B and
^A;E
4. Calculate the actual end-eector frame poses at dierent 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 quantied 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-eector poses must be considered. In
this same example, the eect 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
Identied errors
(3; 3; 3; 0:02; 0:02; 0:02)T
(2; 2; 2; 0:03; 0:03; 0:03)T
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
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 eect of the measurement noise and robot
repeatability on the calibration results. In each simulation, two groups of 50 simulated
end-eector'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 quantied
orientation and position deviations. The simulated calibration convergence of the endeector calibration with measurement noise injected is shown in Fig. 6.9(b). From these
simulations, it was realized that the lower bound where the quantied 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
quantied orientation and position deviations are in the same order of magnitude as that
of the injected noise.
93
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
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
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
50
The modular recongurable 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 congurations. A modular parallel manipulator can thus
be rapidly congured 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, amplier, and communication
interface. Its double-cube design with multiple connecting sockets enable two actuators
to be connected in dierent 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
recongurable 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
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
congurations to be measured at dierent postures. Simple xtures of high precision
manufactured cubes can be attached to the end-eector to determine the position and
orientation description of the end-eector 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
data geometrically. In this experiment, the required data are the joint displacement
readings from the passive joints, the position and orientation description of the endeector 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-eector frame, a cube is also
attached onto the platform of the parallel robot. Hence, when the pose of the end-eector
is measured, it will be taken with respect to the base frame.
z
O
(a)
(b)
P1
Pxy
P2
P4
P3
Pzx
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.
z
Oe
P5b
Figure 6.15: Establishing the Base Frame and the End-Eector Frame
98
results. Figure 6.16 shows the calibration results validation process for the self-calibration
and end-eector calibration process.
Actuator Joint Angles
Actual Parallel
Robot Forward
Kinematics
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 Robot
Forward
Kinematics: EndEffector Pose
Comparison
Improvement in Pose
accuracy after calibration
are identied 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 verication. These two sets of data,
i.e., robot poses and passive joint displacements, are used for the verication 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
identied 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-eector calibration algorithm is used to perform
the end-eector calibration of the robot that is mounted on the platform. Figure 6.18
shows the convergence of the quantied orientation and position errors at the end-eector.
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 quantied 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-eector 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 eect of noise in the parameter identication to a
100
Dyads
Kinematic errors
0
1
(Leg1)
1
2
(Leg1)
1:93304;
0:00859385;
2
3
(Leg1)
0:306954; 3:36185;
0:00251739; 0:00350987
0
1
(Leg2)
1
2
(Leg2)
2
3
(Leg2)
0
1
(Leg3)
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
3
(Leg3)
Links
Kinematic errors
Link p1
0:18522; 3:36497;
Link p2
pic
2:35972; 0
304:815; 3:36497;
Link p3
0:0734753;
1
2
(Leg3)
2:35972; 1
1:25092; 1:56321; 0
305:073;
1:25092; 1:56321; 1
Tranformation
Kinematic errors
TB 0;B
TA;E
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
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
102
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
0.02
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-eector calibration is to selectively measure about 20 robot poses in the workspace
for the end-eector parameter identication.
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: Quantied 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 identied kinematic parameters are then updated into the initial local coordinate frames of the parallel robot to represent the actual
103
1.698
0.556
0.555
2
3
No. of iterations
0.555
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
Dyads
Kinematic errors
0
1
(Leg1)
1
2
(Leg1)
1:56625; 0:122486;
0:00192804; 0:0227542
0
1
(Leg2)
1
2
(Leg2)
2
3
(Leg2)
0
1
(Leg3)
1
2
(Leg3)
2
3
(Leg3)
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;
Link p3
(1
8:07364;
0:00509918;
2
3
(Leg1)
0:118549; 1
0:755629; 0
312:289;
1:1251;
0:755629; 1
Kinematic errors
c
c
(ac
12 ; a23 ; a31 )
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-eector 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)
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
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
TB 0;B
TA;E
Kinematic errors
3:11081; 1:67442; 25:06;
0:0070871; 0:00575399; 0:00423903
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
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
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-eector is calibrated using data from this self-calibration process.
The end-eector calibration results illustrate that the quantied 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)
2
3
(Leg1)
0
1
(Leg2)
1
2
(Leg2)
2
3
(Leg2)
0
1
(Leg3)
1
2
(Leg3)
0:0218948;
0:00739115;
0:332444; 1:75729;
0:0578819; 0:0117587
2
3
(Leg3)
Position vector
Kinematic errors
pic
Link p1
0
Link p2
0
7:39586;
Leg-end distance
2; 2
Link p3
(1
3; 3
1)
1:23272;
0:343526; 0
312:396;
1:23272;
0:343526; 1
Kinematic errors
c
c
(ac
12 ; a23 ; a31 )
108
level as that found in the previous model which is also at the repeatability of the robot.
This serves as a conrmation of the self-calibration result. Again, we perform the endeector calibration with dierent number of measurement poses. Figure 6.27 shows that
a set of about 20 measurement poses are sucient for the end-eector calibration of this
robot architecture. In Table 6.9, we have the calibrated pose of TB ;B and TA;E .
Quantified Position Deviation (mm)
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
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
TB 0;B
TA;E
Kinematic errors
1:52837; 0:412174; 27:931;
0:00944842; 0:0022577; 0:00652053
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 signicantly 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 signicantly. 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-eector 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-eector calibration, above which there will be no
signicant 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 aects the overall
repeatability of the robot. Hence, more precise fabrication of these joints will denitely
improve the repeatability of the robot and hence lead to better accuracy. The results show
that all three self-calibration algorithms eectively 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
method
position deviation
Nonlinear model
0.0164rad, 11.472mm
0.00428rad, 1.997mm
0.0136rad, 12.390mm
0.00497rad, 2.097mm
0.0150rad, 13.571mm
0.00492rad, 2.186mm
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 simplies 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 conguration-independent and it is able to be implemented for dierent three-legged
modular parallel robot with minimum modication.
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 dierent viewpoints and angles. In order to study the internal structure
of the workspace, the work volume is sectioned at dierent 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 conguration 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-eector frame with respect to the mobile platform frame using the end-eector 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 recongurable parallel robots have been developed based on the local POE formulation. The rst model is
a nonlinear model. Here, an identication objective function based on errors in leg-ends
distances is shown. The objective function enables the minimization of the summation of
the dierences 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 redening a set of new local coordinate
frames to re
ect the actual geometrical characteristics of the robot. Since the calibrated
local frames are dened 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 simplied.
The Complex optimization method is used for the identication 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 identied. 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 dierential 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 modied relating to the recongurability 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-eector 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 identication
time and accuracy, it is concluded that the linear self-calibration model based on the
leg-end distance error is the most ecient.
repeatability of the robot. Subsequently, the results from the rst stage are used for the
end-eector 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 identication 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
(A.1)
SO(3) is also referred as the rotation group on <3 . Every rigid body rotation about an
axis can be identied 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^ =
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
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 dened 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
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 dened 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)
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 modied 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 Recongurable Robotic Systems. PhD
thesis, California Institute of Technology, Pasadena CA, USA, 1994.
[7] I.M. Chen. On optimal conguration of modular recongurable 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 recongurable 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
congurations. 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
[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 conguration optimization of modular recongurable 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
[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. Conguration 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
[69] G. Yang, I.M. Chen, W.K. Lim, and S.H. Yeo. Design and kinematic analysis of modular recongurable 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 recongurable 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 recongurable 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 recongurable 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