a new approach to robot manipulation · manipulator, as well as a systematic methodology for...
TRANSCRIPT
A New Approach to Robot Manipulation
by
Jason Alexander Kereluk
A thesis submitted in conformity with the requirements for the degree of Doctor of Philosophy
University of Toronto Institute of Aerospace Studies
© Copyright by Jason Alexander Kereluk 2016
ii
A New Approach to Robot Manipulation
Jason Alexander Kereluk
Doctorate of Philosophy
University of Toronto Institute of Aerospace Studies
2016
Abstract
This thesis discusses a new approach to the design, development and configuration
assignment of Reconfigurable Robot Manipulators. It details the engineering of a new
Modular, Autonomously Reconfigurable Serial manipulator platform, termed the MARS
Manipulator, as well as a systematic methodology for obtaining the optimum configuration
given a user-defined task. The platform consists of i) an 18-Degree-of-Freedom (DOF)
serial-link manipulator capable of locking any of its joints at any position in their
continuous range, such that it can emulate lesser DOF serial manipulators with different
kinematic and dynamic parameters, and ii) an integrated simulation and design
environment that provides a toolset for the design, implementation and optimization of a
desired manipulator configuration for a given task.
The effectiveness of the MARS Manipulator to adapt its configuration to various tasks is
examined by assuming two well-known configurations, SCARA and articulated, and by
performing a specific task with each of them. The variation in effectiveness of the two
configurations in terms of the end-effector trajectory, end-effector accuracy and power
consumption is discussed. Further, these configurations are optimized with respect to their
performance accuracy, and compared to their pre-optimized versions. Further, the
iii
simulation is validated against with the physical hardware prototype, running the same
task.
A method of determining an optimal configuration based on a user-defined task is
presented, in which the joint space of the MARS Manipulator is treated as a 12-dimensional
smooth configuration manifold. The manifold is discretized and ranked based on a variety
of criteria, and then clustered into attractive and repellent regions. The user then specifies
which regions are desired in the target configuration, and the manifold is reduced in
dimension in order to maximize the number of attractive regions and minimize the number
of repellent regions. Six manipulators were synthesized using this approach, and their
effectiveness is compared.
iv
Acknowledgments
First and foremost, I would like to thank Professor M.R. Emami for his role as my
supervisor, and providing me with his knowledge and guidance throughout my degree.
From the first meeting in his office in which we brainstormed ideas about thesis projects, to
my final defence, he continued to be a wealth of ideas and motivation through my doctorate
degree.
I would also like to acknowledge the hard work and advice of my Doctoral Evaluation
Committee: Prof. Gabriele D'Eleuterio and Prof. Tim Barfoot. They provided both critical
review of every stage of my research as well as valuable insights designed to improve the
quality of my work.
I would also like to extend my appreciation and gratitude to the entire space mechatronics
group, which I worked alongside for several years. In particular, I would like to extend a
work of thanks to Victor Ragulisa who served as my friend and colleague as we both
worked on our degree at roughly identical pace for the past 7 years.
Finally, to my parents, and my amazing sister whose support and advice was invaluable
throughout my entire degree, I can truly say that this would not have been possible without
each one of them.
v
Table of Contents
Acknowledgments ........................................................................................................................................ iv
1 Introduction ...........................................................................................................................................1
1.1 Motivation .....................................................................................................................................1
1.2 Contributions .................................................................................................................................2
1.3 Literature Survey ...........................................................................................................................3
2 Basic Foundation ...................................................................................................................................7
2.1 Serial Robot Manipulators .............................................................................................................7
2.2 The Curse of Dimensionality ..........................................................................................................9
2.3 Birch Clustering........................................................................................................................... 11
3 System Design .................................................................................................................................... 14
3.1 Concept....................................................................................................................................... 14
3.2 Model ......................................................................................................................................... 14
3.3 Optimization ............................................................................................................................... 21
3.4 Hardware .................................................................................................................................... 25
3.5 Software ..................................................................................................................................... 27
4 Reconfiguration Approach.................................................................................................................. 33
4.1 Reconfiguration Overview .......................................................................................................... 33
4.2 Phase 1: Configuration Manifold Construction .......................................................................... 34
4.3 Phase 2: Discretization of Configuration Manifold .................................................................... 35
4.4 Phase 3: Ranking Discritized Configuration Manifold ................................................................ 36
4.4.1 Ranking Overview ............................................................................................................... 36
4.4.2 End-Effector Twist .............................................................................................................. 37
4.4.3 End-Effector Wrench .......................................................................................................... 38
4.4.4 End-Effector Accuracy ........................................................................................................ 39
4.4.5 End-Effector Compliance .................................................................................................... 40
4.5 Phase 4: Constructing the Feature Space ................................................................................... 47
4.6 Phase 5: Designing the Task-Group Weights .............................................................................. 49
4.7 Phase 6: Construct the Target Configuration Manifold ............................................................. 49
5 System Validation ............................................................................................................................... 53
5.1 Experiment Overview ................................................................................................................. 53
vi
5.2 Configuration Comparison Results ............................................................................................. 54
5.3 Simulation Fine-Tuning ............................................................................................................... 60
5.4 Hardware Experimentation Results............................................................................................ 62
6 Reconfiguration Results ...................................................................................................................... 66
6.1 Clustering Implementation ......................................................................................................... 66
6.2 Determining Radii Multiplier ...................................................................................................... 69
6.3 Creating 6-DOF Manipulators ..................................................................................................... 72
6.4 Creating 3-DOF Manipulator Arm with Spherical Wrist ............................................................. 78
6.5 Comparing 6-DOF to 3-DOF plus Wrist ....................................................................................... 81
6.6 Comparing Reduced Manipulator to User Defined .................................................................... 84
6.7 Discussion ................................................................................................................................... 87
7 Conclusions and Future Work ............................................................................................................ 88
References .................................................................................................................................................. 90
Appendix A - Module Shop Drawings ......................................................................................................... 94
Appendix B - Proof of Theorem ................................................................................................................ 106
Appendix C - DH Parameters of Synthesises Manipulators ...................................................................... 107
vii
List of Figures
Figure 1 - Summary of Reconfigurable Modular Robots [15] .................................................................4
Figure 2 - Serial Manipulator Link Diagram [33] .....................................................................................7
Figure 3 - Volume of a hypersphere for large dimensions ................................................................... 10
Figure 4 - CF Tree Visualized [37] .......................................................................................................... 12
Figure 5 - The MARS Manipulator CAD and Physical ............................................................................ 15
Figure 6 - Layout of Module A (smallest module) ................................................................................. 16
Figure 7 - Module Link Diagram ............................................................................................................. 17
Figure 8 - Length 1 Optimized and Actual Values ................................................................................. 23
Figure 9 - Length 2 Optimized and Actual Values ................................................................................. 24
Figure 10 - Module Mass Optimized and Actual Values ....................................................................... 24
Figure 11 - Joint Force Optimized and Actual Values ........................................................................... 25
Figure 12 - Braking Mechanism .............................................................................................................. 27
Figure 13 - MARS Software Architecture ............................................................................................... 28
Figure 14 - MARS IDSE Interface ............................................................................................................ 29
Figure 15 - Visualization of the Three Vectors ...................................................................................... 31
Figure 16 - Beam Stiffness Naming Convention .................................................................................... 41
Figure 17 - Compliance Beam Diagram ................................................................................................. 43
Figure 18 - Compliance evaluation flowchart ....................................................................................... 47
Figure 19 - Example of subspace by eliminating x dimension at x = 3 ................................................ 50
Figure 20 - Constructing Target Configuration Manifold Flowchart ................................................... 52
Figure 21 - SCARA Simulated Manipulator ............................................................................................ 53
Figure 22 - Articulated Simulated Manipulator .................................................................................... 53
Figure 23 - Articulated End-Effector Trajectory ................................................................................... 56
Figure 24 - SCARA End-Effector Trajectory........................................................................................... 56
Figure 25 - X End-Effector Mean Error .................................................................................................. 58
Figure 26 - X End-Effector Error Standard Deviation ........................................................................... 58
Figure 27 - Y End-Effector Mean Error .................................................................................................. 58
Figure 28 - Y End-Effector Error Standard Deviation ........................................................................... 58
Figure 29 - Z End-Effector Mean Error .................................................................................................. 58
Figure 30 - Z End-Effector Error Standard Deviation ........................................................................... 58
Figure 31 - Theta End-Effector Mean Error ........................................................................................... 59
Figure 32 - Theta End-Effector Error Standard Deviation ................................................................... 59
Figure 33 - Task Power Consumption .................................................................................................... 59
Figure 34 - X End-Effector Error Optimization for SCARA ................................................................... 61
Figure 35 - Z End-Effector Error Optimization for SCARA ................................................................... 61
Figure 36 - X End-Effector Error Optimization for Articulated ........................................................... 61
Figure 37 - YEnd-Effector Error Optimization for Articulated ............................................................ 61
Figure 38 - Z End-Effector Error Optimization for Articulated ............................................................ 61
Figure 39 - Theta End-Effector Error Optimization for Articulated .................................................... 61
viii
Figure 40 - Objective Function for SCARA ............................................................................................. 62
Figure 41 - Objective Function for Articulated ...................................................................................... 62
Figure 42 - Joint 1 Experimental vs Simulation Trajectory .................................................................. 63
Figure 43 - Joint 2 Experimental vs Simulation Trajectory .................................................................. 63
Figure 44 - Joint 3 Experimental vs Simulation Trajectory .................................................................. 64
Figure 45 - Twist Maximum and Mean Values ...................................................................................... 67
Figure 46 - Twist Joints Excluded from Clustering ............................................................................... 68
Figure 47 - Radii Multiplier Test for Twist Space ................................................................................. 71
Figure 48 - Radii Multiplier Test for Compliance Space ....................................................................... 71
Figure 49 - Vx Comparison for Manipulators 1 and 2 ........................................................................... 74
Figure 50 - Vy Comparison for Manipulators 1 and 2 ........................................................................... 74
Figure 51 - Vz Comparison for Manipulators 1 and 2 ........................................................................... 74
Figure 52 - x Comparison for Manipulators 1 and 2 ........................................................................... 74
Figure 53 - y Comparison for Manipulators 1 and 2 ........................................................................... 74
Figure 54 - z Comparison for Manipulators 1 and 2 ........................................................................... 74
Figure 55 - dy Comparison for Manipulators 1 and 2 ............................................................................ 75
Figure 56 - Vx Comparison for Manipulators 3-5 .................................................................................. 80
Figure 57 - Vy Comparison for Manipulators 3-5 .................................................................................. 80
Figure 58 - Vz Comparison for Manipulators 3-5 .................................................................................. 80
Figure 59 - x Comparison for Manipulators 3-5 ................................................................................. 80
Figure 60 - y Comparison for Manipulators 3-5 ................................................................................. 80
Figure 61 - z Comparison for Manipulators 3-5.................................................................................. 80
Figure 62 - dy Comparison for Manipulators 3-5 .................................................................................. 81
Figure 63 - Vx Comparison for Manipulators 6 and 2 ........................................................................... 83
Figure 64 - Vy Comparison for Manipulators 6 and 2 ........................................................................... 83
Figure 65 - Vz Comparison for Manipulators 6 and 2 ........................................................................... 83
Figure 66 - x Comparison for Manipulators 6 and 2 ........................................................................... 83
Figure 67 - y Comparison for Manipulators 6 and 2 ........................................................................... 83
Figure 68 - z Comparison for Manipulators 6 and 2 ........................................................................... 83
Figure 69 - Vx Comparison for Manipulators 3 and User Defined Articulated ................................... 85
Figure 70 - Vy Comparison for Manipulators 3 and User Defined Articulated ................................... 85
Figure 71 - Vz Comparison for Manipulators 3 and User Defined Articulated .................................... 85
Figure 72 - x Comparison for Manipulators 3 and User Defined Articulated ................................... 85
Figure 73 - y Comparison for Manipulators 3 and User Defined Articulated ................................... 85
Figure 74 - z Comparison for Manipulators 3 and User Defined Articulated ................................... 85
Figure 75 - Dx Comparison for Manipulators 3 and User Defined Articulated ................................... 86
Figure 76 - Dy Comparison for Manipulators 3 and User Defined Articulated ................................... 86
Figure 77 - Dz Comparison for Manipulators 3 and User Defined Articulated ................................... 86
Figure 78 - x Comparison for Manipulators 3 and User Defined Articulated.................................... 86
Figure 79 - y Comparison for Manipulators 3 and User Defined Articulated ................................... 86
Figure 80 - z Comparison for Manipulators 3 and User Defined Articulated .................................... 86
ix
List of Tables
Table 1 - Prismatic Joints ........................................................................................................................ 25
Table 2 - Revolute Joints ......................................................................................................................... 26
Table 3 - Van der Corput Sequence ........................................................................................................ 35
Table 4 - Joint Speed Information for the MARS Manipulator ............................................................. 37
Table 5 - Joint Force Information ........................................................................................................... 39
Table 6 - Joint Force Information ........................................................................................................... 41
Table 7 - Beam information .................................................................................................................... 42
Table 8 - Harmonic Drive Stiffness Value .............................................................................................. 45
Table 9 - Harmonic Drive Boolean Variables......................................................................................... 45
Table 10 - Workspace vs Link Length .................................................................................................... 54
Table 11 - Position and Time Checkpoints for the Task ....................................................................... 54
Table 12 - Joint Accuracy Information ................................................................................................... 57
Table 13 - Waypoint Accuracy for Simulated Data ............................................................................... 65
Table 14 - Waypoint Accuracy for Experimental Data ......................................................................... 65
Table 15 - Threshold Values ................................................................................................................... 66
Table 16 - Clustering Compression Ratio .............................................................................................. 69
Table 17 - Task-Group Weights for First Reduction ............................................................................. 72
Table 18 - Configurations for First Reduction ....................................................................................... 73
Table 19 - Decision Matrix for Manipulator 1 ....................................................................................... 76
Table 20 - Decision Matrix for Manipulator 2 ....................................................................................... 76
Table 21 - Number of Hyperellipses after each Decision ..................................................................... 77
Table 22 - Task-Group Weights for Second Reduction ......................................................................... 78
Table 23 - Configurations for Second Reduction .................................................................................. 79
Table 24 - Task-Group Weights for Third Reduction ........................................................................... 82
Table 25 - Configurations for Third Reduction ..................................................................................... 82
Table 26 - Configurations for User Defined Comparison ..................................................................... 84
1
1 Introduction
1.1 Motivation
Before the invention of robot manipulators, manufacturing facilities were dominated by
fixed, single-purpose automatic machines. Such machines would repeat the same task over
again, with little or no variation. Robot manipulators were introduced to be adaptable to a
wide range of tasks. Through software re-programming and minor hardware modification,
such as changing the end-effector tool, the same robotic hardware is capable of performing
a range of fundamentally different tasks, such as welding, riveting, pick and place
operation, soldering, painting, etc.
Despite their adaptability to perform various tasks, different classes of serial manipulators
emerged which were better suited towards different tasks. The five main classes of serial
manipulators are Cartesian, cylindrical, spherical, Selective Compliance Assembly Robot
Arm (SCARA), and articulated. Each of these groups of manipulators can range from 4-6
Degrees of Freedom (DOFs), depending on the wrist configuration mounted on the arm.
While there is a significant overlap in the task capabilities of these five categories, they
have specific advantages and disadvantages for various tasks [1].
Reconfigurable robot manipulators are a class of manipulators that are able to emulate a
range of configurations. By including or removing joints, changing their relative positioning
and adjusting the control gains and software accordingly, a reconfigurable manipulator can
alter its kinematic, dynamic and control properties to suit a much wider range of tasks than
that of their conventional counterparts. This type of robot manipulator extends the existing
purpose of conventional manipulators, which is to have a single platform suitable for
performing a wide range of tasks, and provides a single platform able to emulate a wide
range of robots. Such a robot manipulator would be advantageous in situations in which a
human operator is not always readily available, or in which it is dangerous or expensive for
an operator to directly interact with the robot, such as space applications, hazardous
environments, clean room manufacturing, underwater applications, extreme climates, etc.
Further, a single platform that can emulate a wide range of existing manipulators has
2
research and educational benefits. A complete set of robot manipulators is expensive and
infeasible for most institutions. Educational laboratories often have a single general
purpose robot for students to experience, and use simulation environments to study other
configurations. A reconfigurable robot allows for a wider range of robots to be experienced
and experimented on by students and researchers in a real world setting, as opposed to a
virtual environment.
1.2 Contributions
Current designs of reconfigurable serial manipulator all share similar shortcomings. Most
consist of discreetly reconfigurable modules that are assembled by a human operator.
Many offer only revolute actuation and fixed link-lengths between actuators.
The outcomes of this thesis include:
1. Conceptualization, development and prototyping of a new reconfigurable serial
manipulator that is able to assume a wide continuous range of configurations
autonomously.
2. Creation of a design and simulation environment to aid in designing new
configurations, and implementing them on the manipulator hardware.
3. Development of a reconfiguration method for autonomously obtaining new
configurations optimized for a user-defined task.
One major contribution of the work is the manipulator hardware/software platform,
termed as the Modular Autonomously Reconfigurable Serial (MARS) Manipulator. It is of
modular design which allows for easy reconstruction of the manipulator. While it is not
part of the fundamental design of the MARS Manipulator, this re-construction allows for
new reconfigurable systems to be created on the same platform. As the name suggests,
reconfiguring the manipulator is done autonomously without need of human interaction.
The manipulator can alter its link lengths through prismatic actuation, and can also include
these prismatic actuators in its final configuration. The manipulator is also continuously
3
reconfigurable, allowing for an infinite range of configurations to be assumed, each with
varying kinematic, dynamic and control properties.
The other major contribution of the work is the method with which the MARS Manipulator
selects new configurations based on a user-defined task. Most optimizations applied to this
problem would take an unreasonable amount of time, memory and computational
resources to select an appropriate configuration. While intensive, the approach proposed in
this work can be accomplished with current technology, in a reasonable amount of time.
Further, the proposed reconfiguration approach is separated into an offline preparation
and an online optimization, allowing for multiple configurations to be optimized in a
reduced timeframe.
This thesis is supported by: 1 conference paper [2], 1 patent [3] and 2 journal papers
[4][5].
1.3 Literature Survey
The field of reconfigurable robotics is densely populated with a variety of topics. The vast
majority of reconfigurable robots are a small collection of modules that dynamically link
and separate between themselves, often in serial or parallel configurations. One of such
robots is the PolyBot,[6][7]. This system consists of two types of modules, making it non-
homogeneous. The first type is a 1-DOF revolute actuated module with two connection
faces. The second is a 0-DOF node module with six connection faces. While the modules are
capable of automatically locking and unlocking from each other, giving it some level of
autonomous reconfiguration, the modules are largely fixed in a similar sequence, fixing
their configuration. Another such robot, termed the M-TRAN robot has 2-DOF module pairs
that can also automatically connect to each other, reconfiguring the robot [8][9]. However,
a single module's actuation can only bear the mass of relatively few module pairs (less than
5), limiting its effective configuration range significantly.
The previous two robotic systems focused on revolute actuation. A prismatic-actuation
focused robot is a robot termed Telecubes[10]. This robotic system consists of 3-DOF
4
prismatic modules that can dynamically connect and disconnect via magnetic coupling.
This robot also suffers from a shortcoming of only being able to bear the mass of a few
modules without exterior supports. Similarly, the prismatic reconfigurable robotic system
term the Crystalline Robots, in [11] , is another prismatic-actuation focused robot. The
modules are planer versions of the Telecubes robot, except that their two axis of motion
are kinematically linked to single actuator, creating a 1-DOF prismatic module. As a planer
robot, it is not designed to operate opposing gravity, thus limiting its effectiveness in real-
world robotic manipulation tasks. A robot of similar design, using revolute actuation, that
can bear the load of several modules opposing gravity is the ATRON robot [12][13][14].
The main shortcoming of this system is the limited range of revolute actuation in each
actuator, and the fixed orientation between modules, limiting it to a discrete range of
configurations. Several other early similar modular reconfigurable robots are summarized
in Figure 1.
Figure 1 - Summary of Reconfigurable Modular Robots [15]
5
There has been comparatively very little work in the field of reconfigurable serial
manipulators. Of the few that have been developed, there has not been any work on
autonomous reconfiguration; rather, these manipulators rely on a human operator to
manually reconfigure the robot. One of these systems is the Reconfigurable Modula
Manipulator System (or RMMS) [16] [17]. The RMMS is a collection of pneumatically
powered revolute 1-DOF modules that when jointed together make a multi-DOF serial
manipulator. The system is reconfigured (as mentioned above) by a human operator,
making reconfiguration a time-consuming and involved process. Another, more recent
modular reconfigurable serial manipulator was developed by Chen et al. [18][19]. This
system is electrically powered instead of pneumatically, and is much smaller, lighter and
faster than the RMMS. Further, it is the first serial manipulator of its kind to employ
prismatic motion along with revolute motion, and to have a multi-DOF module: a 2-DOF
module is often used as the wrist of the robot. This serial manipulator system, like the
RMMS, is also manually reconfigurable. As it is lighter and less complex than the RMMS, its
reconfiguration time is reduced. It is still, however, a lengthy and involved process to
generate new configurations. It is also limited to a finite number of configurations, as it is
made up of discrete modules. A similar system with multi-DOF modules is presented in
[20].
There are several existing methods of determining an optimal configuration for a given
task: a heuristic search paired with simulated annealing as discussed in [20][22], genetic
algorithms as discussed in [23], a discrete optimization as discussed in [24], and the
method of Linguistic Mechatronics as discussed in [25][26]. While they all work to various
levels of success, they all share the same shortcoming: they are designed to work with
smaller DOF manipulators, typically 5-6 DOF. If these methods were applied on a
manipulator of similar dimension to the MARS Manipulator, it is likely they would either
take several years to complete, or else run out of memory. Two more works that focus on
task-based optimization of a serial manipulator use generic algorithms [27] and numerical
optimization methods [28] to fine tune the link lengths based on a user-defined task. This is
similar in style to the fine tuning portion of this work. An early attempt at an autonomously
reconfigurable serial manipulator is presented in [29]. Its major shortcomings are its
6
limited potential DOFs and the lack of prismatic actuation. In addition, several
reconfigurable parallel manipulators have been reported in the literature. These parallel
manipulators have different task-properties than their serial counterparts, yet share the
same principles of reconfigurability. A 3-DOF reconfigurable parallel manipulator is
presented in [30], in which an additional actuator changes the kinematics and dynamics of
the manipulator, allowing for continuous and automatic reconfiguration of elements of the
manipulator. A parallel manipulator, named Cheope[31], is capable of altering its DOFs by
transitioning into 8 discrete configurations. Another parallel manipulator, named ReSl-Bot
[32], is a fixed 6-DOF robot, which uses additional 3-DOFs to automatically alter the
manipulator’s kinematics and dynamics continuously.
7
2 Basic Foundation
2.1 Serial Robot Manipulators
A serial manipulator is a collection of links and joints, connected in series such that one end
of the manipulator is fixed to a ground, and the other end is free to move through the
workspace. Each joint is classified as either revolute or prismatic, depending on if the
joint’s motion is rotational or translational respectively. Regardless of its type, each joint
has an associated axis of motion. A standard method of representing the state of a serial
manipulator is DH (Denavit-Hartenberg) notation. The DH parameters describe how the
joints axes of the manipulator are located and orientated with respect to each other. It
should be noted that there are two conventions of DH parameters, termed standard and
modified. This work follows the standard DH convention.
Figure 2 - Serial Manipulator Link Diagram [33]
For each joint axis, a coordinate frame is attached such that the ith coordinate frame is
associated with joint i+1. The z-axis of frame {i} is aligned to be coincident with the axis of
motion for joint i+1. The x-axis of frame {i} is assigned such that it is mutually
8
perpendicular to the z-axes in frames {i-1} and {i}. The y-axis is assigned to follow standard
right-hand-rule convention for coordinate frames. The DH parameters are then assigned
based on these coordinate frames. Figure 2 shows two adjacent joint axes with the four
associated DH parameters labelled. The parameters are defined as:
: The link length measured along between and .
: The twist angle measured about between and .
: The link offset measured along between and .
: The joint angle measured about between and .
A manipulator with n joints has an n-dimensional joint space Q which is a set of all possible
joint vectors . A mapping T exists which maps a vector from the space Q into the end-
effector space SE(3), termed the Special Euclidean Space.
(2.1)
This mapping is represented by a homogeneous transform matrix which can be
expressed as a product of the individual joint transform matrices:
(2.2)
A single joint’s transform matrix can be derived by the joints associated DH parameters:
[
] (2.3)
Traditionally, a serial manipulator is separated into an arm and a wrist. The arm (located in
the half closest to the base) is responsible for locating the end-effector, and the wrist
(located in the half closest to the end-effector) is responsible for orientating the end-
effector. This separation is traditionally done for two reasons. The first is, this separation is
9
more intuitive for a human operator, as it not only mirrors our own anatomy, but also
allows for separation of location and orientation when using the manipulator. Second,
having a typical roll-pitch-roll or pitch-roll wrist on a 6-DOF serial manipulator satisfies the
conditions of Pieper's Theorem, which guarantees a closed-form solution of the inverse
kinematics of the manipulator.
2.2 The Curse of Dimensionality
When working with high dimensional systems, there is a phenomenon termed the "curse of
dimensionality" which counters intuition about the system. There are three relevant
aspects of this phenomenon explored in this work, computational infeasibility, volume
insignificance, and volume concentration..
The issue of computational infeasibility states that, as the dimension of the space increases,
even by a small amount, the number of points that must be considered to get a
representation of the space increases exponentially. For a discretization interval , the
number of points needed to be sampled for the unit space of dimension n is given by:
( ⁄ )
(2.4)
For example, if 5 points are to be sampled per dimension, a 2-D space would require 25
points. If the dimension of the space is increased to 6-D or 12-D, the number of required
sample points increases to 1.56x104 and 2.44x108. It is for this reason that, for higher
dimensional optimization, computation feasibility is of such high concern, and
discretization intervals are generally much larger than for lower dimensional spaces.
The issue of volume insignificance states that, as the dimension of a hypersphere increases,
its volume approaches zero. The volume of an n-dimensional hypersphere with radius r is
given as:
*
+ (2.5)
where the gamma functions are defined as:
10
for
√ for { }
As n approaches infinity, the n-dimensional volume of the hyper sphere approaches zero.
This proof is shown by Stibor et al. in [34], and is illustrated in Figure 3.
Figure 3 - Volume of a hypersphere for large dimensions
The significance of this fact is that, it makes comparing volumes of hyperspheres of unequal
dimensions complicated. Generally it is avoided, and hyperspheres of different dimensions
are considered different classes of objects, not to be compared. Note that this feature
extends to hyperellipsoids.
The issue of volume concentration states that, as the dimension of a hypersphere
approaches infinity, the volume of the hypersphere becomes concentrated in a thin shell at
the hyperesphere's surface. The fraction of the volume which lies at a value between the
0 5 10 15 20 250
2
4
6
8
10
12
14
16
18Volume of a unit n-sphere
Dimension (n)
Volu
me
r = 0.8
r = 0.9
r = 1
r = 1.1
r = 1.2
11
boundary of the hypersphere (of radius r) and a second concentric hypersphere of radius
such that is in [34] as:
(
)
(2.6)
A practical realization of this formula states that, for a hypersphere of dimension 12, 95%
of its volume lies at values between its radius of r and 0.78r. This fact, combined with the
issue of volume insignificance states that, for randomly sampled points in a high
dimensional space, populated with hyperspheres (or by extension, hyperellipsoids), each
point has a low probability that it will exist within a hypersphere. And of the points that are
located within a hypersphere, it is likely that they will be far from the hypersphere's centre.
2.3 Birch Clustering
The BIRCH (Balanced Iterative Reducing and Clustering using Hierarchies) is a hierarchical
clustering algorithm developed in 1996 by T. Zhang et al. [35][36]. Its main advantage over
previous clustering algorithms is its adaptability towards large data sets involving a high
number of dimensions. The algorithm completes only a single scan of the dataset, allowing
for new datapoints to be generated at runtime, and clustered immediately, thus eliminating
the necessity of storing all datapoints in memory at one time. Because of this, clustering
decisions are made with only the knowledge of the current datapoint in question, and the
existing clusters.
A unique feature introduced by BIRCH is the notion of Clustering Features (CF). A CF
contains information about the patterns (points to cluster) contained within its own
cluster. This information is comprised of three variables, number of patterns N, linear sum
, and squared sum SS (equation 2.7).
(2.7)
A CF is part of nodes in the cluster tree. Each node contains at most L or B CFs depending
on if it is a leaf or non-leaf node. These values of L and B are tuned according to the
memory concerns of the clustering operation. The CF tree is visualized in Figure 4.
12
Figure 4 - CF Tree Visualized [37]
When a new pattern, with position is to be added to a CF, the cluster
feature is updated as follows:
(2.8)
(2.9)
(2.10)
A CF has proved to be additive, so that, when combining clusters, they can simply be added
together:
(2.11)
The centroid, radius and diameter of a cluster is defined as:
∑
(2.12)
√∑ ( )
(2.13)
13
√∑ ∑ ( )
(2.14)
These values are calculated assuming full knowledge of every point within the cluster. As
this is not the case, the location and size of a cluster can be calculated through the following
formulas.
(2.15)
(
)
(2.16)
In BIRCH clustering, there are traditionally five distance metrics used for determining both
the distance between clusters, and the distance a pattern is away from a cluster centroid.
This work uses the first of the five metrics: the centroid Euclidean distance (D0).
√
(2.17)
For more information about the details of the tree insertion and tree rebuilding algorithms,
refer to [35][36], which provided the bases of the code used in this work.
14
3 System Design
3.1 Concept
From a structural standpoint, a reconfigurable manipulator can be thought of as a
redundant manipulator with an excess of DOFs required to perform a specified task, and as
such capable of performing such tasks with a subset of its DOFs. However, from a
performance standpoint the difference between reconfigurable and redundant
manipulators lies in how the robots utilize their extraneous DOFs when performing a task.
Redundant manipulators utilize their extra DOFs during runtime to satisfy additional task
requirements. These requirements can include optimizing one or more criteria, such as
energy consumption or accuracy, or additional activities, such as obstacle avoidance.
Reconfigurable manipulators, on the other hand, use a subset of their DOFs during task
runtime. This subset is selected offline in order to optimize the same criteria as in the
redundant case. While a redundant system may have a better performance for a given task,
it may not necessarily be optimally efficient in term of system complexity (with respect to
both structure and control) and energy consumption, since all joints are assumed to remain
active during the operation. Whereas for a reconfigurable manipulator the system can be
configured to use a minimum required number of DOFs with suitable joint parameters to
end up with a less complex and more energy-efficient system for performing a given task.
The MARS Manipulator platform is made up of two major components: a reconfigurable
serial manipulator (hereby referred to as the manipulator), and an Integrated Design and
Simulation Environment (IDSE), which allows the end-user to select or design the
manipulator configurations, simulate the operation in a virtual reality environment, and
operate the physical manipulator and access real-time feedback and recorded data; this is
discussed in detail later in this section.
3.2 Model
The manipulator hardware and its CAD model are shown in Figure 5. The manipulator has
18-DOFs, consisting of 12 revolute and 6 prismatic joints. It is able to physically reconfigure
15
itself into serial manipulators of lesser DOFs to emulate either existing serial manipulator
configurations or to create new configurations. The reconfiguration is through utilizing the
18-DOFs and then locking specific joints, so that with the resulting unlocked joints a
desirable kinematic configuration can be achieved. Once the configuration is set, only the
unlocked joints will be actuated.
Figure 5 - The MARS Manipulator CAD and Physical
The joints are grouped into 6 modules, each with three joints, as shown in Figure 6. Each of
the modules has the same geometric layout consisting of one prismatic joint and two
revolute joints, which are mutually perpendicular ( ). Each module is connected to
the previous one so that the kinematic layout for the complete manipulator is (
). This layout was selected for three reasons. First, many serial
manipulators have a wrist mechanism located at the end of the manipulator. The wrist
configuration is usually either roll-pitch-roll or only pitch-roll. Such a wrist configuration
would be readily available with the selected layout. This would aid in creating existing
configurations, as well as in developing new configurations effectively. Further, having such
a wrist in each module, located throughout the manipulator, increases the versatility of the
reconfiguration task. The second reason for the selected manipulator layout is that by
having the first DOF in the module as a prismatic joint, various link lengths of the final
configuration can be achieved. Without a prismatic motion capability, link lengths would be
limited to combinations of unchanging module lengths, which would drastically reduce the
variety of the possible configurations that the manipulator can assume. The third reason
16
for the selected manipulator layout is related to the mutual orientation of the 3-DOFs of
each module, as well as the orientation of the adjacent modules. With their selected layout
orientation, it is easy to have two or more prismatic joints parallel to each other. This
allows for the stroke of the prismatic actuators to stack, increasing the stroke of the active
DOF. Further, the stacking of actuators also allows to significantly increase the speed of
linear actuation, which is a design issue for serial manipulators employing a prismatic DOF.
Figure 6 - Layout of Module A (smallest module)
The following assumptions were made about the modules: i) the centre of mass of each
module is located at a distance l1 from the base, coincident with joint 2; ii) the masses of the
partial module before and after joint 2 are equal. Both of these assumptions eventually
become trivial when the worst-case scenario is assumed for equations (3.12) and (3.13).
The design of the manipulator modules were subjected to an optimization. First the
Jacobian for a generic module was developed. Each module can be treated as a 3-DOF serial
manipulator. The module’s Jacobian ( expressed in the module frame {M} is defined as:
v v v (3.1)
17
where is the column matrix of velocity (linear and angular) components of the end of
the module in the {M} frame and is the column matrix of joint speeds.
Figure 7 - Module Link Diagram
Given the link diagram in Figure 7, the module’s Jacobian expressed in frame {M} is:
[ c c
]
(3.2)
where c c and
The expression of the Jacobian in frame {E} can be obtained using the rotation matrix
between frames {M} and {E}:
*
+ (3.3)
The force/torque matrix of the module under a static applied wrench f at the end of the
module (and expressed in frame {E}) is given as:
18
f (3.4)
A basic set of functionality requirements for the MARS Manipulator is to lift a 1kg mass
10cm beyond the last module representing the end-effector. To ensure that the
manipulator can handle such a payload at any orientation, the maximum applied wrench to
the sixth module is assumed as:
f
(3.5)
The moment component in the z-direction was omitted as it does not affect module 6. For
simplicity, the pre-superscript and pre-subscript for an applied wrench are omitted as
follows:
f f
(3.6)
Given the manner in which the modules are connected, the frame {Mi} is the same as frame
{Ei-1}. The applied wrench to the subsequent modules can, therefore, be given by the
following recursive equation:
f
f (3.7)
where
[
] (3.8)
and
and
are the rotation matrix from frame {Ej} to frame {Ej-1} and the skew
symmetric matrix of the vector from the origin of frame {Ej} to {Ej-1} expressed in frame
{Ej}, respectively. For a given module, these matrices are:
[
c c
c
c c c
] (3.9)
19
[
c c
c c
c c
] (3.10)
From equations (3.4) and (3.7), the joint torque for each module can be calculated due to
an applied static wrench. In addition to this load, each module must be able to lift the
weight of the modules after it. To calculate this additional load, assume that the centre of
mass for each part of a module is located at its midpoint. Then, the y-component of the
centre of mass for module j in {M} is:
y
(3.11)
Assuming that the mass of the two parts of each are equal and considering a worst case
scenario where all modules after a module a have their , the distance of the centre of
mass of module b from the end of module a can be as:
d
(∑
) (3.12)
In this case, the equivalent wrench applied to the end of module a due to the force of
gravity of module b is described as:
w [ g
d y g] (3.13)
The expression of vector g is dependent on the configuration on all modules below
module b. To consider the maximum gravitational wrench of module b upon joint 1 or joint
2 of module a, this vector is assumed along either y or z , respectively. Note that the force
of gravity of module b cannot cause a torque on joint 3 of module a.
To include the gravitational wrench, equation (3.7) can be amended as follows:
f
f [
g
(d y
) g
] (3.14)
where
20
y c
(3.15)
z [
c
c
] (3.16)
The above equations describe the wrench applied to all modules due to a static load and
the forces of gravity. Through utilizing equation (3.4), this can be transformed into joint
force/torque. Although a worst case scenario is considered for the effect of the
gravitational wrench in equation (3.14), the expressions y and z
must still be assumed
for configurations which create maximum joint force/torque. Also the first part of equation
(3.14) must also be computed for maximum joint force/torque. However, the identification
of such configurations is computationally prohibitive for a design optimization task.
To simplify the problem, equation (3.14) can be modified to apply gravitational forces and
moments to joints directly. Due to a feature of the manipulator’s geometry, joint 2 of
module j must take the moment due to the gravity from all modules from j+1 to 6, whereas
joint 3 must take the moment due to the gravity from modules j+2 to 6. Therefore, the
maximum joint torque for each module in response to the applied load and the weight of
each module can be simplified to:
f [
∑ g
∑ ( gd )
∑ ( gd )
] (3.17)
where f in the above equation can be computed from equation (3.7).
The second simplification is applied to the matrix
. The maximum force translated
through a module occurs when , and does not depend on . Therefore, by setting
both to zero, the matrix
becomes:
[
( )
( )
]
(3.18)
21
Intuitively, this matrix makes sense, as the force applied to each module will be the same
(10N in each principle direction), and the moment will be the original moment (in the x
and y directions, corresponding to joints 2 and 3, respectively) plus the added moment of
the applied force at an offset.
To find the maximum force/torque for each joint, equation (3.17) is resolved for
. The value of does not affect this torque, and the value
of is set at its maximum stroke of 50 mm.
3.3 Optimization
To optimize the design parameters of all six modules of the MARS Manipulator, the
following cost function was considered:
f (√∑ ) (3.19)
where
[ ]
subject to
c1.
c2. ∑
c3.
c4.
c5. (
)
c6.
c7.
22
c8. g g
where
The first constraint assumes that in every module, is twice that of . This constraint is
made to accommodate the additional actuator that the first half of the module must
contain. The second constraint assumes an overall length of the manipulator in order to
provide a suitable workspace. The manipulator is a table-top robot, with a desired
reachable workspace of 2 m3. The structural length index of the robot, given in equation
(3.20), is a measure of how efficiently a robot utilizes its size to create a workspace [33].
√ ⁄ (3.20)
where L is the length sum of the manipulator as the sum of the links lengths and offsets,
and W is the volume of the reachable workspace. Traditionally, a QL value of between 1 and
1.3 is considered desirable for an articulated serial manipulator containing a combination
of prismatic and revolute joints [38]. Hence, choosing a conservative index of 1.3 for QL
with the desired workspace gives a length sum of 1.64 m.
The third and fourth constraints enforce the types of modules. The six modules would be
grouped into types A, B and C, as shown previously in Figure 5. This reduces the design and
fabrication time of the manipulator as well as the cost, as only three types of module are to
be produced, instead of six.
The fifth constraint ensures that the resulting masses of the modules are sufficient to
provide the required torque. Three factors are used, a structure factor (SF), a prismatic
actuator factor (A), and a revolute actuator factor (B), defined as , g and
g. The actuator parameters were obtained by comparing a variety of
23
available brushless DC motor and gearbox combinations, specifically the EC-flat line of
Maxon motors with SHD harmonic drives and the Firgelli linear actuators. It was found that
most of these actuator systems have force/torque to mass ratios close to these factors. This
is only an approximation, but it serves to constrain the optimization into realistic module
masses.
Figure 8 - Figure 10 show the results of the optimization for the module lengths and
masses, as well as the actual lengths and masses of the constructed MARS Manipulator. The
constructed manipulator was not able to exactly follow the guidelines that were resulted
from the optimization, due to the discrete selection of the off-the-shelf components.
Further, the mass of the MARS Manipulator was reduced where possible, as a larger mass is
never advantageous. The optimization simply gave an upper bound for the mass.
Figure 8 - Length 1 Optimized and Actual Values
1 2 3 4 5 60.1
0.12
0.14
0.16
0.18
0.2
0.22
0.24
0.26
0.28
Length 1
Module
Length
(m
)
Optimization
MARS Manipulator
1 2 3 4 5 60.05
0.06
0.07
0.08
0.09
0.1
0.11
0.12
0.13
0.14
Length 2
Module
Length
(m
)
Optimization
MARS Manipulator
24
Figure 9 - Length 2 Optimized and Actual Values
Figure 10 - Module Mass Optimized and Actual Values
From the optimization, the resulting maximum values of joint force/torque were calculated
using equation (3.17). These values are compared with the actual actuator values used in
the MARS Manipulator in Figure 11. Note that the optimized value for the linear actuators
(Joints 1, 4, 7, 10, 13 and 16) are significantly higher than the optimized value. This was a
design decision based on the fact that a linear actuator must always move the maximum
mass of the manipulator, while revolute actuators move a varying, and often decreased,
effect of moment of inertia. The only actuators that are below the optimized worse case
were joints 3 (slightly), 9 and 15. All of these are the roll actuators in their respective
module. A more powerful actuator in these modules would have violated the mass
requirements. Instead, the length of modules B and C, and the mass of module B were
reduced below the optimized value, reducing the demand on these actuators. It is still
worth nothing that these joints represent the weak point of the manipulator.
1 2 3 4 5 60
1
2
3
4
5
6
7
8
9
10Module Mass
Module
Mass (
kg)
Optimization
MARS Manipulator
25
Figure 11 - Joint Force Optimized and Actual Values
3.4 Hardware
Table 1 and 2 show the actuators specified for each module. Linear speed near the base and
end of the manipulator was compromised in favour of weight and size, as it is uncommon
for useful configurations to need high-speed linear joints in these locations. Similarly, near
the base, speeds for the revolute joints were traded for weight, as lower joint speeds near
the base can still produce the same end-effector speeds, due to the longer moment arm.
Type Actuator Max Force at Speed (N) Max Speed at Load (m/s)
C2 Firgelli FA-PO-35-12 667 0.012
C1 2x Firgelli FA-PO-35-12 312 0.05
B1,B2 Haydon-Kerk E43M4C
Double stack stepper / lead screw s17
289 0.05
A1,A2 2x Firgelli L12-50-100-12-P 50 0.009 Table 1 - Prismatic Joints
2 4 6 8 10 12 14 16 1810
0
101
102
103
Joint Force
Forc
e | T
orq
ue (
N | N
m)
Joint
Optimization
MARS Manipulator
26
Type Actuator Max Torque at Speed (Nm) Max Speed at Load (rpm) C Pitch Maxon EC Flat-90 49.4 16.4 C Roll Maxon EC Flat-90 49.4 16.4
B Pitch Maxon EC Flat-90 49.4 16.4 B Roll Maxon EC Flat-45 (50) 9.43 23.2
Table 2 - Revolute Joints
The gear reduction for all revolute joints is accomplished through harmonic drive systems.
These gearboxes were chosen for three reasons: first, they have zero backlash, which is an
important feature in robotic joints; secondly, they are very compact, which was necessary
for satisfying the lengths reported from the optimization; and thirdly, they have integrated
cross-roller bearings to protect the gearboxes and actuators.
Each joint has position feedback through hall-effect sensors, potentiometers and encoders.
Force feedback is accomplished by a cantilever beam in each module which bears 100% of
the linear force. A strain gauge on these beams can measure the amount of deflection, and
translate it accurately into the force experienced by the linear actuator. A similar technique
is employed for the torque in the rotary actuators. A cross composed of four beams is
attached to the output of each revolute joint. By applying strain gauges to each of the four
beams, the force in each beam can be measured, translating into the torque.
In order for the manipulator to reconfigure itself to lesser DOF manipulators, it needs to
effectively remove selected joints from its kinematic layout. The joints, however, must be
removable in a continuous range of positions. Non-backdriving locking brakes were
designed for each joint, which can be engaged in any of the motor positions as shown in
Figure 12. Consequently, each DOF has the capability of holding its position statically at any
continuous displacement.
27
Figure 12 - Braking Mechanism
Note that a complete set of shop drawings for a module can be found in Appendix A.
3.5 Software
The software platform for the MARS Manipulator is separated onto two PCs, as shown in
Figure 13. The first one, called the target machine, acts as a real-time kernel for operating
the manipulator. The second PC, called the host machine, runs the design and simulation
modules, and it controls the real-time operation of the target machine. The host machine is
accessible by remote users through the internet, as well as locally.
The host machine runs an Integrated Design and Simulation Environment (IDSE), where
users can design a suitable configuration and control parameters for the MARS Manipulator
for a given task, simulate its performance, and load the configuration onto the physical
setup. The host software is based on the MVC (Model-View-Controller) architecture
[39][40], and it is developed within the MATLAB/Simulink® environment, utilizing
SimMechanics™ physical modeling and animation modules.
28
Figure 13 - MARS Software Architecture
There are 5 types of simulations which the user can run though the IDSE: forward
kinematics, inverse kinematics, forward dynamics, inverse dynamics, and controls. The
forward kinematics simulation takes the joint motion profiles as an input, and displays the
robots motion as an output. This is useful for identifying which joints induce the desired
end-effector motion and for better identifying the workspace of the manipulator. The
inverse kinematics takes an end-effector trajectory as an input, and displays the motion of
the robot, along with the joint trajectories required to make this motion. This is useful for
figuring out which joint trajectory combinations are required to do complex motions, such
as the end-effector following a linear trajectory. The forward dynamics allow the user to
specify joint torque and forces and observe how the manipulator behaves. Similar to
forward kinematics, it is useful for obtaining intuition in how joint forces affect the robot’s
performance. The inverse dynamics simulation allows the user to specify the joints
kinematic profile, and derives the forces and torques necessary to complete the inputted
motions. This is particularly useful in identifying which motor torque is needed to
accomplish a task, as well as which tasks are not possible due to motor limitations. Finally,
the controls simulation shows how the manipulator will respond if the user would use a
controller, such as a servo controller, to perform certain joint trajectories. The user is able
to custom-tune the controller, or employ an auto-tuner for the control gains. There are also
29
built-in data acquisition functions to record joint kinematics and dynamics and end-
effector motion. The IDSE’s graphical user interface is shown in Figure 14.
Figure 14 - MARS IDSE Interface
Once the user has defined a configuration, there is a need to express the current kinematic
configuration of the MARS Manipulator in universally used parameters. This allows for a
comparison to other manipulator configurations, as no other manipulator uses the MARS
Manipulator parameters to describe their kinematics. The standard way of expressing a
robot’s kinematic configuration is the set of DH parameters. These parameters have two
conventions: standard[41] and modified[33]. Each convention has their own advantages
and disadvantages, but both are very similar and have almost equal capabilities. For this
system, the standard DH parameters are used.
30
Mapping from a serial manipulator to the standard DH parameters requires assigning
several coordinate systems to the manipulator, one for each unlocked joint. The procedure
is as follows:
1. Find a point and unit-vector representing all z axes (axis of joint rotation or
translation) for the manipulator.
2. Find a point and unit-vector representing all x-axes (along the length for the link) for
the manipulator.
3. Update vectors from 1 and 2 to have a single point and two unit-vectors representing
each origin.
4. Assign DH parameters based on the coordinate systems.
Step 1:
The MARS Manipulator was designed such that the central axis of the manipulator
intersects every joint axis. Therefore, finding the point for each z-axis is done by
transversing the central axis until a joint is reached, and then the point is recorded.
Similarly, once a point has been recorded, the unit-vector for that axis is also recorded
based on the knowledge of what joint has most recently been reached. As the manipulator
is traversed, the passive joints need to be taken into account, as they change the direction of
the manipulator’s central axis. Once a joint (active or passive) was reached that is at a non-
orthogonal orientation, the joint rotation is applied. Orthogonal orientations are trivial,
because orthogonal rotation matrices are well established. To take into account non-
orthogonal rotations, the Rodriguez’ rotation formula is applied [42]:
uu uu c θ u θ; (3.21)
where: R: Rotation matrix to be applied
u: vector rotation is about
Θ: angle of rotation
31
u: skew symmetric form of u
Step 2:
The x-axis must intersect the current and previous z-axes. The x unit-vector is simply the
cross product of the z unit-vectors; the direction can be corrected later on. The following
formulas are used to compute this point. First, the 3×3 matrix is described as:
(3.22)
Figure 15 - Visualization of the Three Vectors
where , and are the unit vectors for the preceding z-axis, the current x-axis, and the
next z-axis respectively, visualized in Figure 15. Next, the scalar c is found in (3.23). Note
that b1 can be set to zero by placing P2 on the first vector without loss of generality.
Therefore, b2 is simplified as simply b.
*abc+ (3.23)
The point that describes the x axis is then computed in (4)
32
c (3.24)
where is the point that describes the next z-axis. The proof stating that the matrix is
non-invertible if and only if and are parallel is in appendix B. If this is the case, the
point can be taken as equal to the point . Further, the sign of b in equation 3.23 is
applied to the vector to ensure it is pointing in the right direction.
Step 3:
This step is nearly trivial, as it is simply an organizational step in terms of the algorithm.
The unit-vectors remain unchanged, just stored in a single variable. The single point is
taken as P2 as it intersects both the x and z axes.
Step 4:
Once the origins are established, finding the DH parameters is now a simple task, following
the established procedure for the standard DH convention:
ai: The distance between origins i and i-1 along xi
di: The distance between origins i and i-1 along zi
αi: The angle between zi-1 and zi
θi: The angle between xi-1 and xi
The distance variables (a and d) are calculated along the unit vectors pointing to the next
origin. The angular variables are calculated using equation 3.25, where θ is the angle
between two vectors, xand y.
θ c x y |x||y| (3.25)
Two solutions are present for this equation, but the second solution can always be rejected,
due to the nature of the vectors.
33
4 Reconfiguration Approach
4.1 Reconfiguration Overview
The goal of the reconfiguration optimization of the MARS Manipulator is to determine a
well-suited configuration for a user defined class of tasks within a relatively short amount
of time, using the resources of standard PCs. The inputs of the optimization are a set of
task-group weights (explained in section 4.6), as well as a target DOF for the manipulator.
The output of the optimization is a list of joint positions in which to lock specific joints of
the manipulator, representing the task-based configuration.
The reconfiguration process consists of seven phases:
1. Construct the configuration manifold, .
2. Discretize into a set of points .
3. Rank based on manipulator criteria.
4. Construct the feature space .
5. Design the task-group weights.
6. Construct the target configuration manifold .
These phases are separated into an offline and an online group. The offline group (phases
1-4) is the reconfiguration preparation. The online stage (phases 5,6) is the reconfiguration
calculation. The reconfiguration preparation is performed only once, as part of the offline
setup of the manipulator. This preparation is then used to speed up runtime of the online
optimization. Between the two stages, a user defines a task which specifies optimization
criteria used by the optimization.
34
4.2 Phase 1: Configuration Manifold Construction
An n-DOF serial manipulator’s kinematic layout can be represented with 4n DH
parameters: ai, di, αi, and θi [33]. From these parameters, n homogeneous transform
matrices, shown in equation 4.1, can be derived, one for each joint. Note that there are two
conventions for DH parameters, standard and modified. This thesis uses standard DH
notation.
[
] (4.1)
The set of all homogeneous transformation matrices from the base to end-effector,
equation 4.2, is a smooth manifold which is the configuration space [43].
{
} (4.2)
The configuration space for the MARS Manipulator is an 18-manifold which is topologically
expressed as the Cartesian product of its joints. The prismatic joints are all single
dimensional topological spaces homeomorphic to . The pitch joints are also
homeomorphic to as their range of motion is from [ . The Roll joints, with their
range of would be thought of as an isomorphism to a circle However, due to the
real-world application of these joints, the position of is very different from the position of
, largely due to wiring constraints. Therefore, the topological range is which is
also homeomorphic to . Practically speaking, the fact that the joint can achieve a position
exactly equal to is of no consequence. Therefore, the 18 dimensional configuration
manifold is homeomorphic to . If the configuration Manifold is of only the revolute
joints, it becomes a manifold homeomorphic to .
Alongside the configuration manifold is a second 6-manifold known as or the Special
Euclidean Group [44]. is a space which describes rigid body rotation and translation
through 3-dimensional space. The rotation through 3-dimensional space is described by
the rotation group whose elements are 3x3 rotation matrices . The topology of
is homeomorphic to the 3-dimensional real projective space . Translation
35
through 3-dimensional space can be described as a single vector in . As translation and
rotation are independent, the space is homeomorphic to , the Cartesian
product of the isomorphic spaces of translation and rotation. The elements of can be
arranged as a 4x4 translation matrix of the form:
( *
+) (4.3)
For a serial manipulator, a point in the configuration manifold represents a pose of all
joints of the manipulator. A point in the Special Euclidian Group represents a pose of the
manipulator’s end-effector. It is by exploring the links between these two spaces that the
end-effector’s performance, as governed by the manipulator’s behaviour is reviled.
4.3 Phase 2: Discretization of Configuration Manifold
In preparation for creating the feature space (phase 3), the configuration manifold needs
to be discritized. The Van der Corput sequence is a method of densely discretizing the unit
interval (0,1), as discussed in [45]. The sequence increments a reverse binary number
preceded by a decimal point, then converted to base-10, as shown in Table 3.
Binary 0.12 0.012 0.112 0.0012 0.1012 0.0112 0.1112 Decimal 0.510 0.2510 0.7510 0.12510 0.62510 0.37510 0.87510
Fraction ⁄
⁄ ⁄
⁄ ⁄
⁄ ⁄
Table 3 - Van der Corput Sequence
There are two main advantages to using the Van der Corput sequence. The first is that the
quantization interval is decreased as the sequence continues to run. This allows the
algorithm to dedicate as much runtime as possible to the sequence, and as more time is
committed, the discretization becomes increasingly fine. The second advantage of this
sequence is in that it guarantees a dense coverage to the degree of the current quantization
interval [46]. Density is a measure of how completely a subset covers its parent space. A
subset is said to densely cover if every point in is sufficiently close to a point in .
36
This measure of ‘sufficiently close’ is the current quantization interval of the Van der
Corput sequence.
The Van der Corput sequence is a one-dimensional discretization of the unit interval. To
cover multi-dimensions (12 in the case of the MARS Manipulator’s revolute configuration
manifold), the sequence must be extended to all dimensions. This is done with the aid of
equation 4.4 which calculates the ith number of the Van der Corput sequence.
(4.4)
where is a row vector of the binary bits representing the number i, (i.e.
) and j is the number of columns in . To cover N dimensions with m Van der
Corput numbers per dimension, DN vectors need to be generated that express every
permutation with repetition of numbers 1 through D. These numbers are then replaced
with their Van der Corput counterpart using equation 4.4. These resulting vectors become
the discritized representation of .
4.4 Phase 3: Ranking Discritized Configuration Manifold
4.4.1 Ranking Overview
Once the manifold has been discritized, the next phase is to rank each point against
performance features of the manipulator. There are four types of features needed for :
1. End-Effector Twist
2. End -Effector Wrench
3. End-Effector Accuracy
4. Manipulator Compliance
Each of these features is a metric of the effectiveness of the manipulator’s configuration.
When specifying the task (between phases 3 and 4), the user is able to give weights to these
features as to which are more important for their task. Each feature has an attractive and
repellent region; for example high accuracy is desirable, while low accuracy is to be
avoided. The features are also separated into x, y and z component directions, relative to
37
the workspace. This allows the task to allow for larger constraints end-effector force in the
z-direction, for example, while relaxing the requirements on the x and y force. This example
would be a common constraint for pick and place operations.
4.4.2 End-Effector Twist
The end-effector twist refers to the linear and angular velocities of the manipulator’s end-
effector. Calculating the end-effector twist from the joint position and velocities is known
as the differential forward kinematics problem. The methods of obtaining the twist given a
point in the configuration space are well established. For each of the 3 principle axes: x, y
and z of the end-effector space, the maximum linear and rotational speeds are calculated.
For N potential joints, 6N scalar values must be calculated for each point:
. These values are termed , , , , , for joint i. These values are
calculated by inputting the maximum capable speed for joint i into the forward kinematics
formulation of the robot, with all other joint speeds at zero. For the MARS Manipulator,
these speeds are described in the following table:
Module Pitch Speed
(rpm) Roll Speed
(rpm) Linear Speed
(mm/s)
A 32.1 37.1 23.0
B 26.5 52.5 50.0
C 16.4 26.5 50.0
Table 4 - Joint Speed Information for the MARS Manipulator
The resulting 6-component end-effector motion based on these maximum speeds can be
calculated via a numerical representation of the Jacobian, or close-form equations of the
manipulator or a variety of other methods of forward kinematics. However, as only one
joint at a time is considered, and the rest are fixed, it simplifies into a one-variable equation
of a rotation or translation applied to a beam.
Based on the manipulator’s geometry, coordinate frames are attached to the location of
every actuator. These actuator frames are aligned such that their z-axis is along the axis of
motion for the joint, i.e. the rotational axis for revolute joints and the axis of motion for
38
prismatic joints. For the purposes of evaluating twist (and subsequently wrench), the
directions of the x and y axes for these actuator coordinate frames are irrelevant. The
origins of these frames are at the intersection of the two links surrounding the joint. The
actuator frame of the actuator currently being tested is denoted as frame {a}. An additional
frame is attached to the end-effector, denoted as frame {e} aligned such that its z-axis is
along the approach vector of the end-effector.
There are two cases which must be considered to obtain the end-effector twist values: if
the joint in question is a) prismatic or b) revolute in nature. If the joint is prismatic, the
values for , and are all zero, as a prismatic actuator cannot impose an end-effector
angular velocity, regardless of the manipulator’s configuration. The values for , and
are given by equation 4.5:
(
) (4.5)
where is the corresponding value from Table 4and , and are the
components of the unit vector that describes (the axis of motion for frame {i}).
For the case of a revolute joint, the cross product of and the moment-arm from { } to { }
must be computed. This is shown in equation 4.6.
|
| (4.6)
where is the point describing the location of frame { }. As before, is the
corresponding value from Table 4. For calculating , and with a revolute joint,
equation 4.6 is used with , and in place of , and .
4.4.3 End-Effector Wrench
The end-effector wrench refers to the force and moment at the manipulator’s end-effector.
Similar to the twist, there are 6N values per point that must be calculated: 3 forces, 3
39
moments for each of the N joints. These values are calculated in a very similar matter using
the maximum force/torque of the joints. Then, the resulting end-effector wrench is divided
into its 6 component variables: , , , , , .
Module Pitch Torque
(mNm) Roll Torque
(mNm) Linear Force
(N)
A 51.0 5.89 39.2
B 188 111 98.1
C 493 319 196.2
Table 5 - Joint Force Information
Both the end-effector wrench and the end-effector twist criteria depend on the property of
superposition, which states that the total behaviour of the end-effector (for velocity and
force) depends on the sum of the behaviour of the end-effector as a result of each
individual link.
It is interesting to note that these end-effector performances correspond to directions in
the base coordinate frame. The rationale is that a user would likely think of their task in the
base frame, and would find it more intuitive to assign performance criteria in this frame.
However, there are some conceivable cases in which performance in the end-effector frame
would be desired. Imagine a drill as the end-effector, and the user wants to make sure that
the joints can offset the torque created by the end of the drill. In this case, it would make
more sense to rank the points based on the end-effector frame. This could be easily done,
simply by adding another type of hypersphere to the configuration space, and using simple
modification to the above method and equations.
4.4.4 End-Effector Accuracy
The accuracy of the end-effector is commonly contributed to two sources, the resolution of
the sensors on the actuators, and the compliance of the gearbox and/or manipulator
structure. In this work, these two cases are handled separately as accuracy and compliance.
Therefore, end-effector accuracy is defined as the position error of the end-effector due to
40
sensor resolution. There are 3N values to compute per point , the linear displacement
due to sensor resolution of the end-effector. The rotational accuracy of the end-effector is
considered perfect, due to the small angle approximation method.
Similar to twist and wrench, there are two separate methods depending on if the joint is
prismatic or revolute in nature. The same coordinate frames {a} and {e} are attached to the
manipulator as before. If a joint is prismatic, the accuracy vector is:
(4.7)
where is the joint accuracy of joint i. These were defined previously in Table 12.
If a joint is revolute, the accuracy vector is:
( ) (4.8)
This accuracy vector’s components are the x, y and z accuracies which represent the
accuracy rank for the point .
4.4.5 End-Effector Compliance
The compliance of the manipulator is how much the end-effector moves when a force is
applied. The measures of compliance are , , , , , which indicate distance ( )
and rotation ( quantities. The distances is measured in the three principal directions
(x,y,z), and the rotation is measured as the angle of the three vectors, normal, orientation
and approach. These variables are measured from an initial pose, which is the position and
orientation of the end-effector if the manipulator was a perfectly rigid body, to a final pose,
which is taking into account manipulator flexibility. These variables are calculated by
determining the change in position and orientation of a set of coordinate frames. The first
step is to divide the MARS Manipulator into 12 segments, each segment constituting half of
a module. These segments are treated as cantilever-beams with a certain torsional stiffness
( ), linear stiffness for tension and compression ( ) and bending stiffness ( and )
shown in Figure 16.
41
Figure 16 - Beam Stiffness Naming Convention
These stiffnesses are only an approximation of how the manipulator experiences
compliance. However, as only a rough ranking is desired as opposed to a specific
calculation, this approximation is sufficient. The values of these stiffnesses are shown in
Table 6. These values were obtained by performing an FEA (Finite Element Analysis) on the
sub-module in question using SolidWorks and COSMOS solid modeling tools. Note that
these values are for structural stiffness only. There is also a stiffness due to the harmonic
drive gearboxes, which will be discusses later in this section.
Module Kt(Nm2/rad) Kl(N/m) Kb1 (Nm2) Kb2 (Nm2)
A - lower
A - upper
B - lower
B - upper
C - lower
C - upper
Table 6 - Joint Force Information
Equations 4.9-4.14, give the displacement of the end of a beam given an applied wrench.
Equation 4.9 is the rotation angle given a torque. Equation 4.10 is the linear compression
displacement. Equations 4.11 and 4.12 are the displacement and angle of bending given an
applied force. Equation 4.13 and 4.14 are the displacement and bending angle given an
applied moment. These are described as:
(4.9)
42
(4.10)
(4.11)
(4.12)
(4.13)
(4.14)
The second step is to find the resulting wrench on the end of the segments.
Figure 17 shows two beams, i and j with respect to a base frame. Note that beam j is located
between beam i and the end-effector. A unit wrench is applied at the end-effector (frame
{e}).
Module Mass (kg) Length (m) Location of CG (m)
A - lower d d
A - upper
B - lower 1.385 d d
B - upper
C - lower 5.087 d d
C - upper 4.341
Table 7 - Beam information
43
Figure 17 - Compliance Beam Diagram
The length, mass and location of centres of mass are shown in Table 7. Note that for lower
modules, length and location of the centre of mass are a function of d. This is because their
length changes based on the position of the linear actuator, which is governed by the point
. The position ( ) and origination (x, y and z) of all coordinate frames are known
with respect to the base frame {B}. The frame positions and orientations are calculated at
the beginning of the algorithm in a similar manner to the frames for calculating end-
effector wrench and speed. Based on these beams, the equations for the resulting force and
moment applied to beam i are given in equations 4.15 and 4.16.
(∑ ) (4.15)
(
) ∑ [(
[
]) ( )] (4.16)
Where is a rotation matrix from the base from to the jth frame, shown in equation 4.17.
{ }
Beam i
Beam j
{ }
{ }
{ } { }
44
[
] (4.17)
The third step is to find the deflections, both angular and linear, of beam i due to the
equations 4.3-4.8. Equation 4.18 gives the change in length of beam i, in the base frame, due
to the applied force.
(
)
(4.18)
Equation 4.19 gives the deflection of beam i, in the base frame, due to the applied force and
moment.
(
(
)
(
)
)
( (
)
(
)
)
(4.19)
For the rotations, first the 3 principle rotations for the ith coordinate frame are calculated
using equations 4.20-4.22.
(
)
(
)
(
)
(4.20)
(
)
(
)
(4.21)
(
)
(
)
(4.22)
Note the presence of two additional constants, and . These take into account the
compliance of the harmonic drives of the robot. The MARS Manipulator employs harmonic
drive gearboxes which have inherent compliance. The value of is provided by the
manufacturer of these gearboxes, and is given in Table 8. For a given sub-module, there is
one harmonic drive at the end. For lower modules, the harmonic drive rotates about the
local x-axis, and for upper modules, it rotates about the local y-axis. Therefore, the variable
and are boolean variables which follow the values in Table 9.
45
Module (Nm/rad) A - lower A - upper B - lower B - upper C - lower C - upper
Table 8 - Harmonic Drive Stiffness Value
i
Odd 1 0
Even 0 1
Table 9 - Harmonic Drive Boolean Variables
At this stage it is assumed that the values of produced by equations 4.14-4.16 are small.
Because of this assumption, it does not matter in what order these rotations are performed.
A rotation matrix can therefore be formed by multiplying principle rotation matrices
together. This rotation matrix is shown in equation 4.23, and is sometimes referred to as
the x-y-z fixed rotation matrix. Note that the pre-super script of i was dropped from this
formulation for simplicity.
[
c c c c c c
c c c c c
c c c
](4.23)
This rotation matrix is the amount frame {i+1} rotates due to bending of beam i. At this
stage, all beams after i are considered as rigid bodies. Therefore, all frames after frame {i}
can be rotated with equation 4.17. However, this rotation matrix is a rotation about frame
{i}. Therefore it must be pre and post multiplied by the rotation matrix in equation 4.17 to
translate it to and from the base frame. This is shown in equation 4.24.
[
]
[
]
(4.24)
46
Due to the rotation of frame {i+1}, frames further down the link will translate as well as
rotate. This translation is described in equation 4.25, which uses a small angle
approximation. Clearly the value for is zero for
.
[ (
) ] [ (
) ]
[ (
) ](4.25)
Using equations 4.12, 4.13 and 4.18, a formula can be developed for the translation of
frame {j} based on an applied wrench and the masses of all links. This is shown as equation
4.26.
(4.26)
The fourth and final step is to evaluate equations 4.24 and 4.26 for all in sequence for
. This is explained by the flow chart in Figure 18.
Once this process terminates, the values of [
]
and
describe
the position of the end-effector based on the bending due to compliance. The difference of
these values with the end-effectors original positions represent the compliance of the
manipulator. The difference of position can be easily divided into three values , , .
The difference of the unit vectors describing orientation of the end-effector can be
represented by angles using the dot-product, shown in equation 4.27.
c *(
) (
)+ (4.27)
From this equation, values of , , can be generated. It is these 6 values, , , , ,
and , which represent the compliance rank for the point .
47
Figure 18 - Compliance evaluation flowchart
4.5 Phase 4: Constructing the Feature Space
Once all the points in have values for the feature types, phase 4 is to cluster the points
by distance within each category. Each point can be evaluated against a certain criteria.
Based on this evaluation, it can be determined whether the point represents a positive
attribute, a negative attribute, or a neutral attribute. This is done by comparing the
evaluated value to a pair of threshold values, Tmax and Tmin. If the point is greater than Tmax
Start
Assign initial coordinate
frames
Set i = 1
Set j = i + 1
[
]
Evaluate
&
j = 13?
Set j = j + 1
i = 12? Set i = i + 1
End
yes
yes
no
no
48
then it is deemed a positive attribute, if it is less than Tmin, it is deemed a negative attribute,
otherwise it is neutral. The positive attributes are clustered in one group of clusters, the
negatives in another and the neutral attributes are ignored. Therefore, an un-clustered
region of the space is assumed to have average performance value in the respective
category. The values of the thresholds are discussed in section 6.1.
This clustering is done via the BIRCH (Balanced Iterative Reducing and Clustering using
Hierarchies) clustering algorithm, first proposed in [35][36]. BIRCH is used because it is
designed to work for datasets that are very large and memory intensive, as well as for
dimension much higher than 2. One of the main advantages of BIRCH comes from the 3
variables that describe each cluster: Number of patterns, Linear Sum and Sum Squared (N,
, SS). Each of these variables can be updated as a new pattern is added to a cluster,
shown in equations 4.28 - 4.31.
(4.28)
(4.29)
(4.30)
(4.31)
These 3 variables can in turn be translated into the cluster’s centre of mass and variance:
(4.32)
(
)
(4.33)
Once the clustering is complete, each cluster is represented by a 12-dimensional ellipse.
The radii of the resulting hyperellipse is a function of the standard deviation, found in 4.34.
A multiplier is applied to each index of the standard deviation to obtain the associated
radius:
49
for (4.34)
This multiplier ( ) is to be found experimentally, and is discussed in section 6.2.
4.6 Phase 5: Designing the Task-Group Weights
Phase 5 involved the user specifying design weights (termed the task-group) to govern the
optimization. Each of the criteria has 12 weights; a maximum and a minimum weight for
the influence in each of the 3 dimensions for translation, and 3 dimensions for rotation.
These weights range on the interval of [-1, 1], where a negative weight indicates an
undesirable trait, and a positive weight indicates a desirable trait. Note that a minimum
weight can be given a positive weight. This would trend the optimization to eliminate
performance in a certain area; for example, designing a planar configuration that has no
motion in the x-dimension.
4.7 Phase 6: Construct the Target Configuration Manifold
Phase 6 involves reducing the 12-dimentional configuration manifold into a lesser
dimensional target configuration manifold suited for the task-group defined in phase 5.
This manifold reduction takes the form of an optimization. This optimization is performed
by systematically eliminating dimensions of the manifold. If a single dimension is
eliminated, the resulting sub-manifold has dimension n-1. To eliminate a dimension, two
questions must be answered: which dimension is to be eliminated, and at what point on
that dimension. To help visualize this, picture the space with x, y and z coordinate axes.
The resulting subspace after eliminating a dimension is a plane perpendicular to the
dimension that was eliminated. However, an infinite number of planes exist for each
dimension, each one passing through a point on its associated axis. Figure 19 illustrates
this example by eliminating the x dimension at the point x = 3. This means that a point on a
dimension has to be chosen first before it can be eliminated.
50
Figure 19 - Example of subspace by eliminating x dimension at x = 3
The first step in eliminating a dimension is to check all potential subspaces and find the
optimal point for elimination for each. A single dimension can be represented by a series
hyperellipses along a single axis; note that a hyperellipse may be above or below this axis,
the only relevant coordinate is the one associated with that axis.
First a search threshold ( ) is defined. This value is the resolution in which each dimension
is searched to find its optimal elimination point. At each point searched, the value for
elimination ( ) is calculated as a function of the dimension to eliminate (M) and the point
representing the point associated with the dimension, shown below:
∑ | | (4.35)
The value for elimination is essentially a signed sum of the square of the weighted volume
of all K hyperellipses that have an intersection of the point p on dimension M, where is the
weight associated with hyperellipse k.
The formula describing the region of a non-rotated N-ellipsoid is given by:
(
)
(
)
(
)
(4.36)
x
y
z
x = 3
51
Where ri is the radius of the hyperellipse along the ith coordinate axis. The volume of this
hyperellipse is given by:
*π
Γ +∏
(4.37)
where:
Γ a a for a t t
Γ a
√π for a t t { }
When a dimension M is eliminated, a resulting hyperellipse of dimension N-1 is created,
described by:
(
′ )
(
′ )
( M
𝑀 ′ )
( M+
𝑀+ ′ )
(
𝑁′ )
(4.38)
The N-1 new radii are given as:
′ √ (
𝑐𝑀 𝑝
𝑀)
(4.39)
where is the location of the centroid of the hyperellipse in dimension M.
Then, each dimension is searched for the optimal point. Once this point has been found for
each dimension, the dimension with the highest value is chosen for elimination, and the
process repeats. This is shown in Figure 20.
52
Figure 20 - Constructing Target Configuration Manifold Flowchart
53
5 System Validation
5.1 Experiment Overview
To demonstrate that the MARS Manipulator can effectively be reconfigured to various
configurations with their associated advantages, an experiment was performed involving
two common configurations. The two arm configurations selected for the experiment were
the articulated configuration ( || and the SCARA configuration ( || || ), and
they were first simulated in the IDSE (Figure 21 and Figure 22).
Figure 21 - SCARA Simulated Manipulator
Figure 22 - Articulated Simulated Manipulator
The articulated and SCARA configurations have known advantages and disadvantages
associated with their practical application. The most prevalent advantage of an articulated
serial manipulator is its high workspace volume for a given amount of material in the arm
structure (indicated by the arm’s length sum), which is measured by the structural length
index , given in equation 3.20. Table 10 illustrates this ratio for the two configurations of
the MARS Manipulator.
The smaller for the articulated configuration translates into a greater range of tasks
capable by this manipulator.
54
The advantage of a SCARA configuration over the articulated counterpart is its greater
accuracy in planar positioning of its end-effector. To illustrate this, an experiment imitating
a spot-welding operation was performed by each manipulator configuration, first in a
simulation environment and then with the physical robotic hardware. Four target points
were labelled (P1 through P4) on a plane in the manipulator workspace. The manipulator
was to approach 20cm above each target point, then lower and raise the end-effector to
touch the point, keeping its x and z coordinates constant. This process was repeated for all
target points. For the entire task, the approach vector remains in the –yR direction. Table 11
lists a time sequence for the task.
Configuration Link Length Sum (m) Workspace (m3) QL Articulated 0.96 0.48 1.222
SCARA 0.84 0.14 1.613 Table 10 - Workspace vs Link Length
Description Time (s) xR (m) yR (m) zR (m) (1) HOME POSITION 0 XHOME YHOME ZHOME
(2) APPROACH POINT P1 1 -0.15 0.2 -0.1 (3) LOWER TO TOUCH P1 1.5 -0.15 0.0 -0.1 (4) RETREAT FROM P1 2 -0.15 0.2 -0.1 (5) APPROACH POINT P2 3 -0.35 0.2 -0.1 (6) LOWER TO TOUCH P2 3.5 -0.35 0.0 -0.1 (7) RETREAT FROM P2 4 -0.35 0.2 -0.1 (8) APPROACH POINT P3 5 -0.35 0.2 0.1 (9) LOWER TO TOUCH P3 5.5 -0.35 0.0 0.1 (10) RETREAT FROM P3 6 -0.35 0.2 0.1 (11) APPROACH POINT P4 7 -0.15 0.2 0.1 (12) LOWER TO TOUCH P4 7.5 -0.15 0.0 0.1 (13) RETREAT FROM P4 8 -0.15 0.2 0.1 (14) RETURN TO HOME 10 XHOME YHOME ZHOME
Table 11 - Position and Time Checkpoints for the Task
5.2 Configuration Comparison Results
Three characteristics associated with the defined task are discussed in this section: the
55
end-effector positioning, end-effector accuracy, and total manipulator power consumption.
The end-effector trajectories for the two manipulator configurations are shown in Figure
23 and Figure 24. The x, y, and z components refer to the end-effector point coordinates in
frame {R} (Figure 21 and Figure 22). From these graphs, a few interesting characteristics of
the configurations are revealed in terms of manipulator simplicity. Recall the conditions of
the task where the end-effector must move linearly only during the approach in the –y
direction, hereon referred to as the approach segment. For these time periods [1:2], [3:4],
[5:6] and [7:8] the x and z values are constant for both configurations. The SCARA
configuration accomplished this criterion by performing inverse kinematics at 8 points in
the workspace: at each of the target points P1 - P4 and at 20cm above each of these four
target points. Then, the manipulator was instructed to move between the points, as moving
linearly is a feature of the configuration. For the articulated configuration, inverse
kinematics (which was modified from the closed-form inverse kinematics of the PUMA
manipulator in [47]) was performed for the same 8 points, as well as for an additional 160
points during the approach segment. Note that for the time periods [2:3] and [6:7] where
the additional points were not computed, the SCARA configuration has a constant y value,
whereas the articulated has a non-constant y. Further, the inverse kinematics equations for
the SCARA configuration consist of 50% less code when compared to the articulated
configuration, further decreasing the runtime as well as the time to set up the task on the
part of the programmer.
56
Figure 23 - Articulated End-Effector Trajectory
Figure 24 - SCARA End-Effector Trajectory
The end-effector accuracy is calculated from the sensor accuracy for each joint. There are
four variables that describe the relevant accuracy for this task: x, y, z and θ. The first
three of these variables give the translational error of the end-effector in the three
principle directions: x, y, and z. The fourth variable, θ, describes the error in the approach
vector of the end-effector. The orientation vector and the normal vector are ignored as they
are not of concern for a spot-welding task.
To obtain the accuracy metrics, first the forward kinematics of the manipulator is
performed on the ideal joint positions. This obtains the end-effector position and approach
vector:
( ) (5.1)
where is the displacement of the ith joint and n is the number of DOFs of the
manipulator’s configuration.
The forward kinematics is performed again, this time with a perturbation of the joint
position based on the accuracy of the joint:
( ) (5.2)
where is a random number on the interval [-1,1], and is the accuracy of joint i, defined
0 1 2 3 4 5 6 7 8 9 10-0.5
-0.4
-0.3
-0.2
-0.1
0
0.1
0.2
0.3Articulated End-Effector Position
x
y
z
0 1 2 3 4 5 6 7 8 9 10-0.5
-0.4
-0.3
-0.2
-0.1
0
0.1
0.2
0.3SCARA End-Effector Position
x
y
z
57
in Table 12.
Module Pitch Accuracy (rad) Roll Accuracy (rad) Linear Accuracy (m)
A
B
C
Table 12 - Joint Accuracy Information
The translational error is calculated as:
[ x y z
] ab (
) (5.3)
The error in approach vector is calculated as:
|c
‖ ‖‖ ‖| (5.4)
The random number is part of a Monte Carlo statistical accuracy model similar to those
used in [48][49] and [49]. Without this term, equations 5.3 and 5.4 would provide the
maximum possible end-effector error. To compute for the Monte Carlo model, the accuracy
was calculated for each joint 2,000 times, and the resulting mean and maximum values
were obtained. Figure 25 - Figure 32 show the resulting mean and standard deviation of
the end-effector errors for each of the 4 accuracy metrics. From these graphs, it is clear that
the SCARA configuration has superior accuracy compared to the articulated configuration.
The only exception is in the y direction. This is due to the fact that for the SCARA
configuration motion in the y direction is controlled by 4 separate linear actuators working
in parallel, which increases the overall error. However, this error is still comparable to the
error from the articulated configuration for this direction. For the error in approach vector
( ), it is a feature of the SCARA configuration that this error remains zero for any position
of the end-effector.
58
Figure 25 - X End-Effector Mean Error
Figure 26 - X End-Effector Error Standard
Deviation
Figure 27 - Y End-Effector Mean Error
Figure 28 - Y End-Effector Error Standard
Deviation
Figure 29 - Z End-Effector Mean Error
Figure 30 - Z End-Effector Error Standard
Deviation
0 1 2 3 4 5 6 7 8 9 100
1
2
x 10-4 X End-Effector Mean Inaccuracy
Time (s)
Err
or
(m)
SCARA
Articulated
0 1 2 3 4 5 6 7 8 9 100
0.2
0.4
0.6
0.8
1
1.2
1.4x 10
-4 X End-Effector Inaccuracy Standard Deviation
Time (s)
Sta
ndard
Devia
tion (
m)
SCARA
Articulated
0 1 2 3 4 5 6 7 8 9 100.5
1
1.5
2
2.5
3
3.5x 10
-4 Y End-Effector Mean Inaccuracy
Time (s)
Err
or
(m)
SCARA
Articulated
0 1 2 3 4 5 6 7 8 9 100.4
0.6
0.8
1
1.2
1.4
1.6
1.8x 10
-4 Y End-Effector Inaccuracy Standard Deviation
Time (s)
Sta
ndard
Devia
tion (
m)
SCARA
Articulated
0 1 2 3 4 5 6 7 8 9 100
1
x 10-4 Z End-Effector Mean Inaccuracy
Time (s)
Err
or
(m)
SCARA
Articulated
0 1 2 3 4 5 6 7 8 9 100
0.2
0.4
0.6
0.8
1
1.2
1.4x 10
-4 Z End-Effector Inaccuracy Standard Deviation
Time (s)
Sta
ndard
Devia
tion (
m)
SCARA
Articulated
59
Figure 31 - Theta End-Effector Mean Error
Figure 32 - Theta End-Effector Error Standard
Deviation
Figure 33 - Task Power Consumption
A final characteristic of the task that was analyzed was the manipulator power
consumption, shown in Figure 33. For motion between points, the SCARA configuration
used approximately half of the power needed for the articulated configuration. For the
approach segment, the SCARA configuration used between two and six times as much
power as the articulated configuration. This is due to the linear motion for the SCARA
configuration being produced by four separate linear actuators working in parallel, as
mentioned previously for the accuracy model,. In total, the SCARA configuration used twice
0 1 2 3 4 5 6 7 8 9 100
0.01
0.02
0.03
0.04
0.05
0.06
0.07
0.08
0.09Theta End-Effector Mean Inaccuracy
Time (s)
Err
or
(m)
SCARA
Articulated
0 1 2 3 4 5 6 7 8 9 10-0.01
0
0.01
0.02
0.03
0.04
0.05
Theta End-Effector Inaccuracy Standard Deviation
Time (s)
Sta
ndard
Devia
tion (
m)
SCARA
Articulated
0 1 2 3 4 5 6 7 8 9 100
50
100
150
200
250
300
350
400Instantaneous Power Consumption
SCARA
Articulated
60
as much power on average compared to the articulated configuration. The above results
highlight the advantages and disadvantages of the articulated and SCARA configurations
when assumed by the MARS Manipulator platform.
5.3 Simulation Fine-Tuning
In the previous section, the differences in the performance of the MARS Manipulator were
explored for the two configurations. These configurations, however, represented just one of
infinitely many versions of the SCARA and articulated class manipulators that the MARS
Manipulator can assume. Once a configuration is chosen for a certain task, the MARS
Manipulator is capable of fine-tuning the configuration, through use of its prismatic joints,
to satisfy a variety of criteria. This fine-tuning alters the link lengths and offsets
(parameters a and d in DH notation). In this section, each of the two configurations
previously discussed are optimized against the accuracy criterion. The objective function
for this optimization is given as:
f (√(
)
(
)
(
)
( θ
)
) (5.5)
subject to
where is the ith link length that the MARS Manipulator is capable of varying, and l and
are characteristic lengths and rotations used to normalize the errors. The values for l and
were taken as 1mm and 1, respectively. Using the MATLAB/Simulink® optimization
toolboxes, the configurations were optimized based on the objective function, and the task
was performed again for each configuration. The resulting manipulator accuracies are
shown in Figure 34 - Figure 39, as well as the value of the objective function in equation
(5.5), shown in Figure 40 and Figure 41. Note that link lengths only affect the x and z
accuracy for the SCARA class manipulator, while x, y, z and accuracies are affected for the
articulated class.
61
Figure 34 - X End-Effector Error Optimization for
SCARA
Figure 35 - Z End-Effector Error Optimization for
SCARA
Figure 36 - X End-Effector Error Optimization for
Articulated
Figure 37 - YEnd-Effector Error Optimization for
Articulated
Figure 38 - Z End-Effector Error Optimization for
Articulated
Figure 39 - Theta End-Effector Error Optimization
for Articulated
0 1 2 3 4 5 6 7 8 9 101
1.5
2
2.5
3
3.5
4
4.5
5x 10
-6 X End-Effector Mean Inaccuracy
Time (s)
Err
or
(m)
SCARA
Optimizaed SCARA
0 1 2 3 4 5 6 7 8 9 100
0.5
1
1.5
2
2.5
3
3.5
4x 10
-6 Z End-Effector Mean Inaccuracy
Time (s)
Err
or
(m)
SCARA
Optimizaed SCARA
0 1 2 3 4 5 6 7 8 9 100.6
0.8
1
1.2
1.4
1.6
1.8
2
2.2x 10
-4 X End-Effector Mean Inaccuracy
Time (s)
Err
or
(m)
Articulated
Optimizaed Articulated
0 1 2 3 4 5 6 7 8 9 100.5
1
1.5
2
2.5
3
3.5x 10
-4 Y End-Effector Mean Inaccuracy
Time (s)
Err
or
(m)
Articulated
Optimizaed Articulated
0 1 2 3 4 5 6 7 8 9 100
1
x 10-4 Z End-Effector Mean Inaccuracy
Time (s)
Err
or
(m)
Articulated
Optimizaed Articulated
0 1 2 3 4 5 6 7 8 9 100.05
0.055
0.06
0.065
0.07
0.075
0.08
0.085
0.09
0.095Theta End-Effector Mean Inaccuracy
Time (s)
Err
or
(m)
Articulated
Optimizaed Articulated
62
Figure 40 - Objective Function for SCARA
Figure 41 - Objective Function for Articulated
It was shown in the previous section that the MARS Manipulator was capable of inheriting
the advantages of both the SCARA and Articulated configurations. This section shows that,
through an optimization, both configurations can be improved through varying their link-
lengths. These two actions, choosing a configuration class and optimizing the link-lengths,
can be thought of as coarse and fine tuning of the manipulator configuration.
5.4 Hardware Experimentation Results
To help validate the simulation model, the spot-welding task was repeated on the physical
MARS Manipulator hardware in the articulated configuration. The joint trajectories for the
articulated arm (joints 1-3) are shown in Figure 42 - Figure 44.
0 1 2 3 4 5 6 7 8 9 100.4
0.6
0.8
1
1.2
1.4
1.6
1.8
2x 10
-5 SCARA Objective Function
Time (s)
Obje
ctive F
unction
SCARA
Optimizaed SCARA
0 1 2 3 4 5 6 7 8 9 100.03
0.04
0.05
0.06
0.07
0.08
0.09
0.1
0.11
0.12
0.13Articulated Objective Function
Time (s)
Obje
ctive F
unction
Articulated
Optimizaed Articulated
63
Figure 42 - Joint 1 Experimental vs Simulation Trajectory
Figure 43 - Joint 2 Experimental vs Simulation Trajectory
64
Figure 44 - Joint 3 Experimental vs Simulation Trajectory
The experimental data was processed through a noise reduction filter, as the sensor data
had periodic outlier errors. Also note that for the experimental data, the speed of the task
was reduced, so as to prevent damage to the hardware manipulator. As such, the 14
waypoints are highlighted on the graph to compare with the simulation results. The
difference between the simulation results and the experimental data is largely due to the
task implementation. The simulated results perfectly follow a cubic position profile, as to
keep acceleration from becoming unreasonable. For the experimental results, a PID
controller was used to transition between waypoints, causing the motion profile to be
determined by the controller.
The accuracy of the experimental hardware was also compared to the accuracy of the
simulation. The two accuracies are shown in Table 13 and Table 14. From these tables, it is
clear that for most instances, the accuracy of the experimental results is comparable to the
accuracy of the simulated data. There are some exceptions, most notably at waypoints 9
and 10. However, for waypoint 8, the position accuracy of the experimental data is very
close to the simulated data. Given that waypoints 8 and 10 are the same point in both joint
and end-effector space, it means that the inaccuracy is not position dependent, rather it is
65
likely due the previously mentioned sensor noise. Another potential source of such an error
could be due to the manner in which the end-effector approached the waypoints. Waypoint
8 was approached through a planar arc, while waypoint 10 was approached from a linear
vertical motion. This, however, is unlikely to be the case in here, as waypoints 5 and 7
shared the same property as waypoints 8 and 10. However, in the first case, waypoint 5,
which was approached by a planar arc, experienced the higher error value. In the second
case, waypoint 10 approached by a vertical linear motion, experienced the higher error
value. Ignoring these outlier cases, the experimental data and the simulated data for
accuracy are quite similar, validating the accuracy model used in the previous
optimizations.
WP (m) (m) (m) (deg) 2 1.04 x 10-4 1.38 x 10-4 3.23 x 10-4 0.100 3 6.90 x 10-4 2.34 x 10-4 1.53 x 10-4 0.111 4 1.04 x 10-4 1.38 x 10-4 3.23 x 10-4 0.101 5 3.17 x 10-4 1.24 x 10-4 3.55 x 10-4 0.153 6 3.71 x 10-4 1.38 x 10-4 2.04 x 10-4 0.147 7 3.17 x 10-4 1.24 x 10-4 3.55 x 10-4 0.153 8 4.57 x 10-4 1.24 x 10-4 1.33 x 10-4 0.153 9 4.22 x 10-4 1.38 x 10-4 2.26 x 10-5 0.147
10 4.57 x 10-4 1.24 x 10-4 1.33 x 10-4 0.153 11 2.58 x 10-4 1.38 x 10-4 2.21 x 10-4 0.100 12 1.39 x 10-4 2.34 x 10-4 6.52 x 10-5 0.111 13 2.58 x 10-4 1.38 x 10-4 2.21 x 10-4 0.100 14 4.24 x 10-4 2.95 x 10-5 3.45 x 10-5 0.112
Table 13 - Waypoint Accuracy for Simulated Data
WP (m) (m) (m) (deg) 2 1.70 x 10-3 1.85 x 10-4 5.72 x 10-4 0.250 3 3.70 x 10-4 1.87 x 10-4 3.51 x 10-4 0.425 4 6.97 x 10-4 3.61 x 10-4 6.62 x 10-4 0.100 5 6.10 x 10-3 2.03 x 10-4 6.74 x 10-4 0.750 6 1.30 x 10-3 2.30 x 10-3 3.10 x 10-3 0.950 7 2.40 x 10-4 5.48 x 10-4 5.86 x 10-4 0.175 8 6.43 x 10-4 1.91 x 10-5 3.69 x 10-4 1.51 9 1.30 x 10-3 2.30 x 10-3 2.90 x 10-3 1.68
10 1.10 x 10-3 2.00 x 10-3 2.20 x 10-3 1.68 11 2.07 x 10-4 6.18 x 10-3 9.42 x 10-4 0.124 12 5.99 x 10-4 7.84 x 10-4 9.09 x 10-5 0.7804 13 6.61 x 10-4 1.03 x 10-4 2.20 x 10-3 0.5640 14 1.50 x 10-3 1.50 x 10-3 1.21 x 10-4 0.2506
Table 14 - Waypoint Accuracy for Experimental Data
66
6 Reconfiguration Results
6.1 Clustering Implementation
Because of the dimensional size of the configuration manifold, the phase 4 clustering was
implemented on a bank of 18 PCs. The features that were implemented in the clustering
process were Twist and Compliance, each requiring approximately 16,000 computational
hours to cluster. Each PC is of identical hardware specification, listed as follows:
- E2180 Dual Core CPU with 1MB Cache and 64 bit Registers
- 2GB RAM
- 320 GB HHD
- Windows Server 2003 (R2) OS
The PCs were networked together in order to share data, and equipped with a scheduling
system, as their availability was limited.
Before the clustering process was run, the threshold values for evaluating the twist and
compliance criteria were determined. This was done by passing through the complete
space, evaluating each point, and saving the maximum value, minimum value and a running
average. The maximum and mean values are shown in Figure 45. The two threshold values
were taken as the maximum and minimum mean values respectively. This translates to the
notion of, a joint in a certain position is considered advantageous if it can achieve
performance equal (or greater) than the best joint in its average position. The same
analysis was completed for the compliance, and the results are summarized in Table 15.
Compliance (linear) 0.0084 m 0.0530 m
Compliance (angular) 0.3488 rad 0.3587 rad
Twist (linear) 0.0596 m/s 0.8657 m/s
Twist (angular) 0.33 rad/s 2.53 rad/s
Table 15 - Threshold Values
67
Figure 45 - Twist Maximum and Mean Values
Because some joints have a maximum twist capability below the minimum threshold in
some directions, the following categories were not necessary to cluster.
68
Figure 46 - Twist Joints Excluded from Clustering
Note that, even though the joint C1 Pitch can achieve well above the minimum threshold
value for , it is included on this table. This is because, the joint C1 Pitch is in the unique
situation of being directly connected to the base, and therefore has the same value for
across the entire space. This makes it irrelevant to cluster this particular attribute. Also,
note that prismatic joints at this stage are ignored. Prismatic joints are optimization during
fine tuning (section 5.3)
The clustering process was run using a combination of the Java implementation of the
BIRCH clustering method, from [35] and a complied MATLAB® space evaluation function,
running the Matlab Compiler Runtime (MCR). A summary of the clustering results in terms
of compression ratio is listed in Table 16. The initial size assumes an 8-byte (double)
variable for each of the criteria for the space.
69
Initial Memory Size Clustered Memory Size Compression Ratio
A2Roll Twist 10.91 GB 0.62 MB 18026 : 1
A2Pitch Twist 16.4 GB 16.5 MB 1016 : 1
A1Roll Twist 16.4 GB 3.36 MB 4989 : 1
A1Pitch Twist 16.4 GB 20.8 MB 818 : 1
B2Roll Twist 21.83 GB 13.5 MB 1655 : 1
B2Pitch Twist 21.83 GB 17.5 MB 1277 : 1
B1Roll Twist 21.83 GB 7.83 MB 2855 : 1
B1Pitch Twist 21.83 GB 21.0 MB 1064 : 1
C2Roll Twist 21.83 GB 15.6 MB 1432 : 1
C2Pitch Twist 16.4 GB 22.5 MB 745 : 1
C1Roll Twist 18.2 GB 18.7 MB 996 : 1
C1Pitch Twist 7.28 GB 21.6 MB 345 : 1
Compliance 21.83 GB 42.2 MB 530 : 1
Table 16 - Clustering Compression Ratio
6.2 Determining Radii Multiplier
In order to determine an appropriate multiplier for the radii of the various hyperellipses,
several different multipliers were tested for various cases. For both twist and compliance
spaces, 1000 points were sampled randomly within the space. Each of these points was
evaluated against their threshold value and termed as a positive, a negative or a neutral
point. The neutral points were ignored, and the positive and negative points were checked
if they exist within the boundaries of the hyperellipses, given radii at various multiples of
their standard deviation (equation 4.34 section 4.7). A point is within a hyperellipse if it
satisfies equation 6.1.
( 𝑝
)
( 𝑝
)
( 𝑝𝑁
)
(6.1)
70
where ri is the radius of the ellipsoid along the ith coordinate axis, xi is the ith index of the
centroid of the hyperellipse, and pi is the ith index of the point currently being evaluated.
A satisfaction variable for each class of hyperellipse (positive rotational, negative
rotational, positive linear, negative linear) is calculated by counting the number of points
that belong in that class of hyperellipse actually are contained within at least one
appropriate hyperellipse divided by the total number of points (both positive and negative
points) that exist within at least one appropriate hyperellipse. A sample calculation for the
satisfaction of a positive hyper ellipse is shown:
+
+ (6.2)
where N+ is the number of positive points that exists in at least one positive hyperellipse,
and N- is the number of negative points that exists in at least one positive hyperellipse.
Because of the computational intensity of this test, a smaller subset of joints were taken as
representative of the entire twist space. The joints selected were: A2 Roll, A1 Pitch, B2 Roll,
B1 Pitch, C1 Pitch. As there was only one compliance space, it was tested in full. The results
of the test are illustrated in Figure 47 and Figure 48.
The tests were completed for multipliers of 0.5, 1, 1.5, 2, and 2.5. For multipliers of 0.5 and
1, there were no points found existing within the hyperellipses, as they were too small. This
is not surprising because of the aforementioned curse of dimensionality. Based on the
above figures, it would seem that both a multiplier of 1.5 and 2 could be argued as most
appropriate. The difference would be, a larger hyperellipse would mean more choices in
reducing the dimension of the space, as more of the space is dominated by advantageous
and disadvantageous regions. As neither of the two choice offers a clear advantage, a lager
representative space is chosen, thus the multiplier of 2 is selected. This mirrors the
convention that a distance of 2 standard deviations away of a Gaussian distribution
captures the majority of the points within.
71
Figure 47 - Radii Multiplier Test for Twist Space
Figure 48 - Radii Multiplier Test for Compliance Space
0.5 1 1.5 2 2.50
0.2
0.4
0.6
0.8
1
Twist Summary
multiplier
Satisfa
ction
+ Linear HEs
+ Rotational HEs
- Linear HEs
- Rotational HEs
0.5 1 1.5 2 2.50
0.2
0.4
0.6
0.8
1
Compliance Summary
multiplier
Satisfa
ction
+ Linear HEs
+ Rotational HEs
- Linear HEs
- Rotational HEs
72
6.3 Creating 6-DOF Manipulators
The first manipulators to create are two 6-DOF manipulators that have similarly high twist
in all directions, and varying compliance requirements. For this reduction, and all future
reductions, the search threshold is . The two manipulator's task-group weights
are defined in Table 17 (note that all compliance weights are zero unless otherwise
specified).
Weight Manipulator 1 Manipulator 2 vx min -0.9 -0.9
vx max 0 0.6 vy min -0.9 -0.9 vy max 0 0.6 vz min -0.9 -0.9 vz max 0 0.6
x min -1 -1
x max 0.25 0.25
y min -1 -1
y max 0 0.25
z min -1 -1
z max 0 0.25
dy min 0.5 0
Table 17 - Task-Group Weights for First Reduction
Based on these weights, the two manipulators are expected to have the following
characteristics relative to each other:
1. Both manipulators should have full motion in SE(3) for the majority of their
workspaces.
2. Manipulator 2 should have more maximum linear twist in all directions compared to
Manipulator 1.
3. Manipulator 2 should have more maximum rotation twist, especially in the y and z
directions.
4. Manipulator 1 should have lower compliance in the y direction compared to
Manipulator 2.
The final manipulator configurations are shown in Table 18.
73
Joint Manipulator 1 Manipulator 2 A2 Roll -180° -180°
A2 Pitch A1 Roll
A1 Pitch 45° B2 Roll
B2 Pitch -90° B1 Roll
B1 Pitch C2 Roll -180° -180°
C2 Pitch -90° -90° C1 Roll 180° 180°
C1 Pitch 90° 90°
Table 18 - Configurations for First Reduction
At first glance, the two manipulators are very similar, with only 1 locked joint different
between them. To investigate the performance differences between the two manipulator
configurations, a joint trajectory was plotted that spans the complete workspace for each
manipulator. Then, each position in the workspace was evaluated in the relevant areas for
performance. The resulting evaluations were sorted in ascending order (otherwise, they
would appear as little more than white noise) and plotted in Figure 49 - Figure 55.
74
Figure 49 - Vx Comparison for Manipulators 1 and
2
Figure 50 - Vy Comparison for Manipulators 1 and
2
Figure 51 - Vz Comparison for Manipulators 1 and
2
Figure 52 - x Comparison for Manipulators 1 and
2
Figure 53 - y Comparison for Manipulators 1
and 2
Figure 54 - z Comparison for Manipulators 1 and
2
0 0.5 1 1.5 2 2.5 3 3.5 4
x 106
0
0.5
1
1.5
2
2.5
3
3.5Vx Comparison
Workspace Point
Vx (
m/s
)
Manipulator 1
Manipulator 2
0 0.5 1 1.5 2 2.5 3 3.5 4
x 106
0
0.5
1
1.5
2
2.5
3
3.5
4
4.5
5Vy Comparison
Workspace Point
Vy (
m/s
)
Manipulator 1
Manipulator 2
0 0.5 1 1.5 2 2.5 3 3.5 4
x 106
0
0.5
1
1.5
2
2.5
3
3.5
4
4.5
5Vz Comparison
Workspace Point
Vz (
m/s
)
Manipulator 1
Manipulator 2
0 0.5 1 1.5 2 2.5 3 3.5 4
x 106
2
4
6
8
10
12
14
16Omega x Comparison
Workspace Point
Om
ega x
(ra
d/s
)
Manipulator 1
Manipulator 2
0 0.5 1 1.5 2 2.5 3 3.5 4
x 106
0
2
4
6
8
10
12
14
16
18Omega y Comparison
Workspace Point
Om
ega y
(ra
d/s
)
Manipulator 1
Manipulator 2
0 0.5 1 1.5 2 2.5 3 3.5 4
x 106
0
2
4
6
8
10
12
14
16
18Omega z Comparison
Workspace Point
Om
ega z
(ra
d/s
)
Manipulator 1
Manipulator 2
75
Figure 55 - dy Comparison for Manipulators 1 and 2
Based on the above results, the expected characteristics mirror what is observed. Both
manipulators have full motion in SE(3). Overall, Manipulator 2 has more maximum linear
twist compared to Manipulator 1, except in the x-direction, where it is reversed. Taking an
average over all three linear directions, however, the linear twist behaviour follows the
task-group weights specified. Manipulator 2 has increased maximum rotation twist in the y
and z directions. It is interesting to note that, because there are zero weights for
Manipulator 1 in the y and z maximum rotational twist, this inherently puts more of an
emphasis on the x direction maximum rotational twist, which is shown in the results in
Figure 52. Finally, Manipulator 1 has a lower compliance in the y for the majority of its
workspace compared to Manipulator 2.
0 0.5 1 1.5 2 2.5 3 3.5 4
x 106
0
0.05
0.1
0.15
0.2
0.25
0.3
0.35Dy Comparison
Workspace Point
Dy (
m)
Manipulator 1
Manipulator 2
76
Decision
1 2 3 4 5 6
V p V p V p V p V p V p
A2 Roll -2.11 90 -1.2 90 -0.06 -90
A2 Pitch -2.83 -180 -1.98 180 -0.87 180 -6.6x10-2 0 -2.0x10-2 -180 -3.1x10-3 -180
A1 Roll -2.86 90 -1.93 90 -0.87 -90 -5.4 x10-2 90 -1.5 x10-2 90 -3.0x10-3 -90
A1 Pitch -2.71 -45 -1.86 -180 -0.85 -180 -2.9 x10-2 -45 -1.0 x10-2 -180 -1.8x10-3 -180
B2 Roll -2.68 90 -1.78 0 -0.85 0 -4.4 x10-2 0 -1.3 x10-2 -90 -3.2x10-3 11.25
B2 Pitch -2.63 180 -1.82 0 -0.84 -180 -2.5 x10-2 -180 -5.5 x10-3 -180
B1 Roll -2.62 -90 -1.88 0 -0.85 -11.25 -4.3 x10-2 -90 -9.8 x10-3 -11.25 -3.9x10-3 -11.25
B1 Pitch -2.62 180 -1.72 -180 -0.83 -180 -2.6 x10-2 -180 -9.4 x10-3 45 -2.7x10-3 -180
C2 Roll -2.62 -90 -1.85 -90 -0.84 -90 -2.0 x10-2 -90
C2 Pitch -2.62 -180 -1.76 180 -0.84 180 -2.0 x10-2 180 -6.2 x10-3 -180 -7.0x10-4 -180
C1 Roll -1.62 90
C1 Pitch -1.81 180 -0.88 180
Table 19 - Decision Matrix for Manipulator 1
Decision
1 2 3 4 5 6
V p V p V p V p V p V p
A2 Roll -1.92 90 -1.11 90 -0.05 -90
A2 Pitch -2.72 -180 -1.91 -180 -0.86 180 -5.7x10-2 -45 -1.8x10-2 -180 -4.3x10-3 0
A1 Roll -2.73 90 -1.87 90 -0.86 -90 -4.5x10-2 90 -1.1 x10-2 90 -1.9 x10-3 0
A1 Pitch -2.65 -45 -1.81 -180 -0.85 -180 -2.4 x10-2 -45 -1.0 x10-2 -180 1.4 x10-3 90
B2 Roll -2.67 -78.8 -1.72 0 -0.84 11.25 -3.3 x10-2 0 -1.3 x10-2 -90 -2.2 x10-3 22.5
B2 Pitch -2.63 180 -1.71 0 -0.83 -180 -2.0 x10-2 -180 -4.8 x10-3 -180 -3.7 x10-4 -180
B1 Roll -2.62 -90 -1.74 0 -0.84 -11.25 -3.9 x10-2 -11.25 -7.3 x10-3 -11.25 9.6 x10-4 90
B1 Pitch -2.62 180 -1.68 -180 -0.83 -180 -1.8 x10-2 -180 -6.7 x10-3 45 1.2 x10-3 -45
C2 Roll -2.61 -78.8 -1.84 -90 -0.84 -90 -1.6 x10-2 -90
C2 Pitch -2.62 180 -1.74 180 -0.84 180 -1.8 x10-2 180 -4.8 x10-3 -180
C1 Roll -1.62 90
C1 Pitch -1.81 180 -0.87 180
Table 20 - Decision Matrix for Manipulator 2
77
The decision matrices for creating Manipulators 1 and 2 are shown in Table 19 and Table
20 respectively. The column V and p are the value for elimination and point of elimination
for the dimension (M) associated with each joint, defined in equation 4.35 (chapter 4). It is
interesting to note that, while it is often the case that the position in which a joint is
remains constant for various optimizations, it is not always the case. For example, joint B2
Pitch for Manipulator 1, eventually gets locked in position -180°, for decision 2, its ideal
position if it were to be locked at that iteration was 0°. The other interesting piece of
information revealed by the decision matrices is that, not only did the two manipulators
end up in similar configurations, but largely their decision matrices are similar throughout
the entire reduction. It is only at the last two decision that they start becoming completely
different. However, despite their differences, they did both decided to lock joint C2 Pitch in
the same position, just at different times in the reduction. This is not surprising when you
observe that, when a joint is attractive to eliminates, but not the most attractive, it rarely
becomes unattractive later one. A counter example to this is joint B1 Pitch for Manipulator
2. For Decision 2 it was the third most attractive joint to eliminate, yet it remains unlocked
throughout the entire reduction. The final thing to note about the decision matrices is that,
as the manipulator is reduced in dimension, the values collectively decrease. This is
counter intuitive at first, because, as stated in the curse of dimensionality (section 2.2)
volumes reduce as dimensions increase. However, as the dimension reduces, so does the
total number of hyperellipses; this is illustrated in Table 21. Further, each time a
hyperellipse is reduced in dimension, its volume also reduces (unless it is centered on the
point in which the dimension is to be reduced). These two factors, therefore, overcome the
curse of dimensionality, reducing the total weighted volume as the dimension reduces.
Decision
1 2 3 4 5 6
Hyperellipses Manipulator 1
575054 196920 53095 8273 1270 172
Table 21 - Number of Hyperellipses after each Decision
78
6.4 Creating 3-DOF Manipulator Arm with Spherical Wrist
As mentioned in section 2.1 and demonstrated in chapter 5, it is often advantageous to
design only the arm of the manipulator, and install a spherical wrist to take care of end-
effector orientation. To this end, two more manipulators were designed without weights
for rotational twist, and constraining the optimization to always leave the final 3 joints
unlocked (constituting a spherical wrist). The task-group weights for these two
manipulators are defined in Table 22.
Weight Manipulator 3 Manipulator 4 Manipulator 5 vx min -1 -1 -1
vx max 0 0.2 0.2 vy min -1 -1 -1 vy max 0 0.2 0.2 vz min -1 -1 -1 vz max 0 0.2 0.2
x min 0 0 0
x max 0 0 0
y min 0 0 0
y max 0 0 0
z min 0 0 0
z max 0 0 0
dy min 1 0.4 0.8
Table 22 - Task-Group Weights for Second Reduction
Based on these weights, the three manipulators are expected to have the following
characteristics relative to each other:
1. All three manipulators should have full motion in SE(3) for the majority of their
workspaces.
2. Manipulator 3 should have slightly decreased linear twist relative to Manipulators 4
and 5 which should have roughly equal linear twist relative to each other.
3. Manipulator 3 should have the lowest compliance in the y direction, and
Manipulator 4 should have the highest.
The final manipulator configurations are shown in Table 23.
79
Joint Manipulator 3 Manipulator 4 Manipulator 5 A2 Roll
A2 Pitch A1 Roll
A1 Pitch -90° 0° B2 Roll 45°
B2 Pitch B1 Roll 90° 180°
B1 Pitch -90° -90° -90° C2 Roll 45° 22.5° 45°
C2 Pitch -90° C1 Roll 180° 180° 180°
C1 Pitch 90° 90° 90°
Table 23 - Configurations for Second Reduction
Similar to the previous section the three manipulators each had a joint trajectory that
spans their entire workspace plotted and evaluated, and their points sorted based on
performance. These results are graphed in Figure 56 - Figure 62.
The results mirror the expected characteristics, with one minor exception: Manipulator 3
ended up having the best linear twist performance. This is likely due to two reasons. First,
the individual performance outcomes are not completely independent. It is possible that,
because it was looking for a better performance in compliance, it stumbled upon a better
maximum for twist in the mean time. Second, because it does not have maximum twist
performance weights, the minimum weights are comparatively more emphasised. Its
improved performance could be partly due to better minimum avoidance.
With the exception of this one anomaly, the other expected characteristics are all upheld.
All three manipulators have full range of motion in SE(3), they all have roughly comparable
linear twist, and Manipulator 3 has significantly lower compliance in the y direction, with
Manipulator 4 having slightly worse compliance compared to Manipulator 5.
80
Figure 56 - Vx Comparison for Manipulators 3-5
Figure 57 - Vy Comparison for Manipulators 3-5
Figure 58 - Vz Comparison for Manipulators 3-5
Figure 59 - x Comparison for Manipulators 3-5
Figure 60 - y Comparison for Manipulators 3-5
Figure 61 - z Comparison for Manipulators 3-5
0 1 2 3 4 5 6 7
x 106
0
0.5
1
1.5
2
2.5
3
3.5Vx Comparison
Workspace Point
Vx
Manipulator 4
Manipulator 5
Manipulator 3
0 1 2 3 4 5 6 7
x 106
0
0.5
1
1.5
2
2.5
3
3.5Vy Comparison
Workspace Point
Vy
Manipulator 4
Manipulator 5
Manipulator 3
0 1 2 3 4 5 6 7
x 106
0
0.5
1
1.5
2
2.5
3
3.5Vz Comparison
Workspace Point
Vz
Manipulator 4
Manipulator 5
Manipulator 3
0 1 2 3 4 5 6 7
x 106
0
2
4
6
8
10
12
14
16
18Omega x Comparison
Workspace Point
Om
ega x
Manipulator 4
Manipulator 5
Manipulator 3
0 1 2 3 4 5 6 7
x 106
0
5
10
15Omega y Comparison
Workspace Point
Om
ega y
Manipulator 4
Manipulator 5
Manipulator 3
0 1 2 3 4 5 6 7
x 106
0
2
4
6
8
10
12
14
16
18Omega z Comparison
Workspace Point
Om
ega z
Manipulator 4
Manipulator 5
Manipulator 3
81
Figure 62 - dy Comparison for Manipulators 3-5
It should be noted that, the rotational twist performance in this reduction is not due to the
optimization algorithm, but to the designer's choice of constraining the optimization to
include a roll-pitch-roll wrist at the end of the manipulator.
6.5 Comparing 6-DOF to 3-DOF plus Wrist
The next manipulator generated is another 3-DOF manipulator with spherical wrist which
can be compared with Manipulator 2, a 6-DOF generated manipulator. Table 24 outlines
the task-group weights for the new manipulator (Manipulator 6) as well as reiterating the
weights for Manipulator 2 for easy comparison. For this comparison, both manipulators
have no weights associated with compliance. Further, because Manipulator 6 has no
rotational twist weights, it was given slightly reduced linear twist weights to be more
comparable.
0 1 2 3 4 5 6 7
x 106
0
0.05
0.1
0.15
0.2
0.25
0.3
0.35Dy Comparison
Workspace Point
Dy
Manipulator 4
Manipulator 5
Manipulator 3
82
Weight Manipulator 6 Manipulator 2 vx min -0.9 -0.9
vx max 0.5 0.6 vy min -0.9 -0.9 vy max 0.5 0.6 vz min -0.9 -0.9 vz max 0.5 0.6
x min 0 -1
x max 0 0.25
y min 0 -1
y max 0 0.25
z min 0 -1
z max 0 0.25
Table 24 - Task-Group Weights for Third Reduction
The final manipulator configurations are shown in Table 25.
Joint Manipulator 6 Manipulator 2 A2 Roll -180°
A2 Pitch A1 Roll
A1 Pitch 45° B2 Roll
B2 Pitch 0° B1 Roll 22.5°
B1 Pitch C2 Roll 45° -180°
C2 Pitch 0° -90° C1 Roll 180° 180°
C1 Pitch 90° 90°
Table 25 - Configurations for Third Reduction
The results of the configurations are graphed in Figure 63 - Figure 68 below.
Based on these results, it is clear that Manipulator 2 has superior linear twist, while
Manipulator 6 has superior rotational twist. This would suggest that by imposing a
spherical wrist constraint on the optimization, it guarantees the resulting manipulator will
have better-than-most rotational twist capabilities, as that is the primary feature of a
spherical wrist, but at the cost of reduced capabilities in other areas. This is primarily due
to the fact that the reduction has fewer choice in terms of which joints to leave active and
which joints to lock.
83
Figure 63 - Vx Comparison for Manipulators 6 and
2
Figure 64 - Vy Comparison for Manipulators 6 and
2
Figure 65 - Vz Comparison for Manipulators 6 and
2
Figure 66 - x Comparison for Manipulators 6 and
2
Figure 67 - y Comparison for Manipulators 6
and 2
Figure 68 - z Comparison for Manipulators 6 and
2
0 0.5 1 1.5 2 2.5 3 3.5 4
x 106
0
0.5
1
1.5
2
2.5
3
3.5Vx Comparison
Workspace Point
Vx (
m/s
)
Manipulator 2
Manipulator 6
0 0.5 1 1.5 2 2.5 3 3.5 4
x 106
0
0.5
1
1.5
2
2.5
3
3.5
4
4.5
5Vy Comparison
Workspace Point
Vy (
m/s
)
Manipulator 2
Manipulator 6
0 0.5 1 1.5 2 2.5 3 3.5 4
x 106
0
0.5
1
1.5
2
2.5
3
3.5
4
4.5
5Vz Comparison
Workspace Point
Vz (
m/s
)
Manipulator 2
Manipulator 6
0 0.5 1 1.5 2 2.5 3 3.5 4
x 106
0
2
4
6
8
10
12
14
16
18Omega x Comparison
Workspace Point
Om
ega x
(ra
d/s
)
Manipulator 2
Manipulator 6
0 0.5 1 1.5 2 2.5 3 3.5 4
x 106
0
2
4
6
8
10
12
14
16
18Omega y Comparison
Workspace Point
Om
ega y
(ra
d/s
)
Manipulator 2
Manipulator 6
0 0.5 1 1.5 2 2.5 3 3.5 4
x 106
0
2
4
6
8
10
12
14
16
18Omega z Comparison
Workspace Point
Om
ega z
(ra
d/s
)
Manipulator 2
Manipulator 6
84
6.6 Comparing Reduced Manipulator to User Defined
The final comparison is between Manipulator 3, which was designed to have good overall
twist as well as reduced compliance in the y direction, and the articulated manipulator
designed with the MARS IDSE in chapter 5. The two configurations are summarized in
Table 26, and the results of their comparison are in graphed in Figure 69 - Figure 80.
Joint Manipulator 3 User Defined Articulated A2 Roll
A2 Pitch A1 Roll
A1 Pitch -90° 90° B2 Roll
B2 Pitch -90° B1 Roll 0
B1 Pitch -90° -90° C2 Roll 45°
C2 Pitch -90° 90° C1 Roll 180°
C1 Pitch 90° 0°
Table 26 - Configurations for User Defined Comparison
85
Figure 69 - Vx Comparison for Manipulators 3 and
User Defined Articulated
Figure 70 - Vy Comparison for Manipulators 3 and
User Defined Articulated
Figure 71 - Vz Comparison for Manipulators 3 and
User Defined Articulated
Figure 72 - x Comparison for Manipulators 3 and
User Defined Articulated
Figure 73 - y Comparison for Manipulators 3
and User Defined Articulated
Figure 74 - z Comparison for Manipulators 3 and
User Defined Articulated
0 2 4 6 8 10 12 14
x 106
0
0.5
1
1.5
2
2.5
3
3.5Vx Comparison
Workspace Point
Vx (
m/s
)
Articulated
Manipulator 3
0 2 4 6 8 10 12 14
x 106
0
0.5
1
1.5
2
2.5
3
3.5Vy Comparison
Workspace Point
Vy (
m/s
)
Articulated
Manipulator 3
0 2 4 6 8 10 12 14
x 106
0
0.5
1
1.5
2
2.5
3
3.5Vz Comparison
Workspace Point
Vz (
m/s
)
Articulated
Manipulator 3
0 2 4 6 8 10 12 14
x 106
0
2
4
6
8
10
12
14
16
18Omega x Comparison
Workspace Point
Om
ega x
(ra
d/s
)
Articulated
Manipulator 3
0 2 4 6 8 10 12 14
x 106
0
2
4
6
8
10
12
14Omega y Comparison
Workspace Point
Om
ega y
(ra
d/s
)
Articulated
Manipulator 3
0 2 4 6 8 10 12 14
x 106
0
2
4
6
8
10
12
14
16
18Omega z Comparison
Workspace Point
Om
ega z
(ra
d/s
)
Articulated
Manipulator 3
86
Figure 75 - Dx Comparison for Manipulators 3 and
User Defined Articulated
Figure 76 - Dy Comparison for Manipulators 3 and
User Defined Articulated
Figure 77 - Dz Comparison for Manipulators 3 and
User Defined Articulated
Figure 78 - x Comparison for Manipulators 3 and
User Defined Articulated
Figure 79 - y Comparison for Manipulators 3 and
User Defined Articulated
Figure 80 - z Comparison for Manipulators 3 and
User Defined Articulated
0 2 4 6 8 10 12 14
x 106
0
0.01
0.02
0.03
0.04
0.05
0.06Dx Comparison
Workspace Point
Dx (
m)
Articulated
Manipulator 3
0 2 4 6 8 10 12 14
x 106
0
0.02
0.04
0.06
0.08
0.1
0.12Dy Comparison
Workspace Point
Dy (
m)
Articulated
Manipulator 3
0 2 4 6 8 10 12 14
x 106
0
0.01
0.02
0.03
0.04
0.05
0.06
0.07
0.08
0.09Dz Comparison
Workspace Point
Dz (
m)
Articulated
Manipulator 3
0 2 4 6 8 10 12 14
x 106
0
0.2
0.4
0.6
0.8
1
1.2
1.4
1.6
1.8Tx Comparison
Workspace Point
Tx (
rad)
Articulated
Manipulator 3
0 2 4 6 8 10 12 14
x 106
0
0.2
0.4
0.6
0.8
1
1.2
1.4
1.6
1.8
2Ty Comparison
Workspace Point
Ty (
rad)
Articulated
Manipulator 3
0 2 4 6 8 10 12 14
x 106
0
0.2
0.4
0.6
0.8
1
1.2
1.4
1.6
1.8
2Tz Comparison
Workspace Point
Tz (
rad)
Articulated
Manipulator 3
87
6.7 Discussion
From these results, it is clear that the reduction phase does produce manipulator
configurations that correspond to the task-group weights defined by the user. The
complete reduction phase took approximately 11-13 hours, running on a single PC of the
specifications listed in 6.1 Most of the time was consumed by choosing the first joint, taking
on average 9 hours. Choosing the 4th joint took on average 9 minutes, and both of the final
two joints required less than 1 minute. If the user, therefore, provided the first two joints to
be locked (and the position in which to lock them), the complete reduction procedure could
be completed in under an hour. Comparing these times to a brute force method, it takes the
same PC 1 second to evaluate 400 points in the configuration manifold. There are 8.3 x 109
possible configurations to evaluate, given the search threshold used. The manipulators
designed above had between 3 and 12 task-group weights each, which translates into a
brute force method taking between 720 - 2882 days to complete, although it would almost
certainly produce solutions of slightly superior quality.
Note that, for comparison sake, the DH parameters of the six synthesised manipulators are
in Appendix C.
88
7 Conclusions and Future Work
This thesis produced a new reconfigurable serial-link manipulator termed the MARS
Manipulator and accompanying methodology for determining the optimum configuration
for the manipulator given a user-defined task. The MARS Manipulator is capable of
reconfiguring its 18 joints in order to assume a continuous range of manipulator
configurations. The IDSE developed alongside allows users to design and develop new
configurations, and then conduct simulations to test them before downloading them on to
the manipulator hardware. The configuration is optimized in two segments. A manifold
reduction processes configures the revolute joints of the manipulator in order to produce
an optimal configuration based on the task-group weights defined by the user, and then a
manipulator fine-tuning stage configures the prismatic joints, allowing the manipulator to
refine its configuration based on online criteria.
The MARS Manipulator is of modular design, consisting of 6 homogeneous modules of 3
cascading sizes. Each module has 3-DOFs: 1 prismatic and 2 revolute, all mutually
perpendicular. The manipulator module's design was optimized to minimize the
force/torque on each joint, given a worse-case configuration of the manipulator and a load
of 10N applied 0.1m from the end-effector. Based on the conceptual design, a prototype
was constructed complete with a software integrated design and simulation environment
to aid users in developing new configurations.
The hardware was validated by comparing it to two popular robot configurations:
articulated and SCARA. It was shown that the MARS Manipulator, when configured to
emulate these two configurations, shared both the strengths and weaknesses of the
associated real-world robots. Further, the two configurations were successfully fine-tuned
to improve their performance based on their end-effector accuracy.
The reconfiguration approach utilizes a 12-dimensional configuration manifold
representing the 12 revolute actuators of the MARS Manipulator. This manifold is
populated with sets of points representing positive and negative performance attributes of
the manipulator. These points are clustered into hyperellipses which are given weights by
the user that guide the optimization in systematically reducing the dimension of the
89
configuration manifold. As the dimension is reduced, the number of DOFs of the
manipulator is reduced. The reduction is performed by checking each dimension for an
optimal reduction point, and then comparing each optimal point to each other to determine
the dimension with the highest value for reduction. This process is repeated until the
manifold is of the dimension specified by the user.
The application of the configuration optimization produced 6 manipulator configurations.
Each configuration was developed through different weights in the regions of end-effector
twist and manipulator compliance. The resulting configurations showed benefits in their
appropriate areas relative to each other, and relative to an articulated configuration
designed by a human designer using the IDSE.
There are 3 areas in which this work can be refined and taken into a new direction.
1. Use advanced BIRCH clustering techniques to refine the clusters further. There are a lot
of points in the space not contained within clusters, and possible improvements to the
end result can be achieved through refined cluster definitions.
2. Design a path-planning inverse kinematics methodology. The reduction creates a
configuration manifold with attractive and repellent regions that are analogous to
obstacles from a path planning perspective. If a road map were to be developed through
the manifold, one could create a path that produced a desired trajectory through SE(3).
This would be most useful for configurations above 6-DOF.
3. Implement a concurrent evaluation for control gains in the manifold reduction stage,
allowing for the control performance of the manipulator to be designed concurrently
with the configuration.
90
References
[1] Pandilov Z, Dukovski V "A comparison of the characteristic between serial and parallel
Robots", acta. technica. 7; 1: 143-160, 2014.
[2] J. Kereluk, M.R. Emami, "A Remotely-Accessible Reconfigurable Platform for Robotics
Education", 120th ASEE Annual Conference & Exposition, 2013.
[3] J. Kereluk, M.R. Emami, "System, method, and computer program for autonomously
emulating robot manipulators of continuously-varying configurations",
US20140222198, US Patent and Trademark Office, 2014.
[4] J. Kereluk, M.R. Emami, "A New Modular, Autonomously Reconfigurable Manipulator
Platform", IJARS vol. 12, no. 71, 2015.
[5] J. Kereluk, M.R. Emami, "Configuration Optimization of a Modular Reconfigurable Serial-
Link Manipulator", Advanced Robotics, submitted September 2015.
[6] M. Yim, K. Roufas, D. Duff, Y. Zhang, S. Homans, “Modular Reconfigurable Robots in
Space Applications,” Autonomous Robots, Vol. 14 Numbers 2-3, pp. 225 - 237, March
2003.
[7] M. Yim, Y. Zhang, K. Roufas, D. Duff, "Connecting and disconnecting for chain sefl-
reconfiguration with PolyBot", IEEE/ASME Trans. Mechatron., vol. 7, no. 4, pg.442 -
451 2002.
[8] S. Murata, H. Kurokawa, “Self-Reconfigurable Robots,” Robotics & Automation, IEEE, Vol
14, Issue 1, pp. 71 - 78, March 2007.
[9] H. Kurokawa et al. "Distributed Self-Reconfiguration of M-TRAN III Modular Robotic
System", International Journal of Robotics Research, Vol. 27, No. 3-4, pg. 373 - 386,
2008.
[10] J. Suh, S. Homans, M. Yim, “Telecubes: Mechanical Design of a Module for Self-
Reconfigurable Robotics,” Robotics & Automation, IEEE, Vol 4, pp. 4095 - 4101, May
2002.
[11] D. Rus, M. Vona, “Crystalline Robots: Self-Reconfiguration with Compressible Unit
Modules,” Autonomous Robots, Vol 10, Number 1, pp. 107 - 124, January 2001.
91
[12] D. Brandt, D. Christensen, “A New Meta-Module for Controlling Large Sheets of
ATRON Modules,” Intelligent Robots and Systems, IEEE/RSJ International Conference
on, pp. 2375 - 2380, November 2007.
[13] E. Ostergaard et al. "Design of the ATRON lattice-based self-reconfigurable robot",
Auton Robot, Vol.21, pg. 165 - 183, 2006.
[14] M. Jorgensen et al. "Modular ATRON: Modules for a self-reconfigurable robot",
International Conference on Intelligent Robots and System, IEEE, Oct, 2004.
[15] M. Yim, W. Shen, et al., “Modular Self-Reconfigurable Robot Systems,” Robotics &
Automation, IEEE, Vol 14, Issue 1, pp. 43 - 52, March 2007.
[16] Paredis C, Brown H, Khosla P, "A Rapidly Deployable Manipulator System", IEEE
International Conference on Robotics and Automation. 1434 - 1439, 1996.
[17] Kelmar L, Khosla K, "Automatic Generation of Kinematics for a Reconfigurable
Modular Manipulator System", IEEE International Conference on Robotics and
Automation. 663 - 668, 1988.
[18] Chen W, Lang G, Ho E, Chen I "Interactive-Motion Control of Modular Reconfigurable
Manipulators", IEEE International Conference on Robotics and Automation. 1620 -
1625, 2003.
[19] Chen I, Yang G "Inverse Kinematics for Modular Reconfigurable Robots", IEEE
International Conference on Robotics and Automation. 1647 - 1652, 1998.
[20] Bi Z, Lin Y, Zhang W, "The general architecture of adaptive robotic systems for
manufacturing applications", robot. cim-int. manuf. 26: 461-470, 2010.
[21] Paredis, C. and Khosla, P. "Synthesis Methodology for Task Based Reconfiguration
of Modular Manipulator Systems," Proceedings of the International Symposium on
Robotics esearch, Hidden Valley, PA, Oct. 2-5, 1993.
[22] C.J. Paredis and P.K. Khosla, “Kinematic design of serial link manipulators from task
specifications,” Int J Robot Res, Vol. 12, No. 3, pp. 274–287, 1993.
[23] I. Chen, J. Burdick, “Determining Task Optimal Modular Robot Assembly
Configurations,” IEEE International Conference on Robotics and Automation, pp 132 -
137, 1995.
[24] Z.M. Bi and W.J. Zhang, “Concurrent optimal design of modular robotic
configuration,” J Robotic Syst, Vol 18, pp. 77–87, 2001.
92
[25] R. Chhabra, “Concurrent Design of Reconfigurable Robots using a Robotic Hardware-
in-the-loop Simulation”, Master’s Thesis, University of Toronto Institute for Aerospace
Studies, 2008.
[26] R. Chhabra, M.R. Emami, "Linguistic mechatronics," Advanced Intelligent
Mechatronics, 2008. AIM 2008. IEEE/ASME International Conference on , vol., no.,
pp.1315-1320, 2-5 July 2008.
[27] V. Kumar, S. Sen, et al., "Design Optimization of Serial Link Redundant manipulator:
an approach using global performance metric", Procedia Technology, vol. 14, pg 43 - 50,
2014.
[28] H. Dois, A. Jha, R. Mishra, "Task-based design optimization of serial robot
manipulators", Engineering Optimization, Vol. 45, No. 6, pg. 647-658, 2013.
[29] Vittor T, Willgoss R, Iqbal J "Proof of Concept of a Hyper Redundant Reconfigurable
Modular Manipulator System", Australian Conference Robotics and Automation
Association, 2007.
[30] Chi Z, Zhang D (2012) Stiffness optimization of a novel reconfigurable parallel
kinematic manipulator. Robotica, Available from:
http://dx.doi.org/10.1017/S0263574711000683. Accessed Aug 21 2014.
[31] Tosi D, Leganni G, Pedrocchi N, Righettini P,Giberti H, "Cheope: A new
reconfigurable redundant manipulator",. mech. mach. theory. 45: 611-626, 2010.
[32] Coppola G, Zhang D, Liu K "A 6-DOF reconfigurable hybrid parallel manipulator.
robot", cim-int. manuf. 30: 99-106, 2014.
[33] J.J. Craig, "Introduction to Robotics ‐ Mechanics and Control", Third Edition, Pearson
Prentice Hall, 2005.
[34] T. Stibor, J. Timmis, C. Eckert, “On the use of hyperspheres in artificial immune
systems as antibody recognition regions”, International Conference on Artificial
Immune Systems, proceedings of, 2006.
[35] T. Zhang et al., "1: A new data clustering algorithm and its applications", Data Mining
and Knowledge Discovery, Vol. 1, No. 2, pg. 141-182, 1997.
[36] T. Zhang, R. Ramakrishnan, M. Livny, “BIRCH: An Efficient Data Clustering Method
for Very Large Databases”, International Conference on Management of Data, Vol. 25,
No. 2, pp. 103-113, 1996.
93
[37] V. Nemala, “Efficient clustering techniques for managing large datasets”, Thesis
Dissertation University of Nevada, LA, 2009.
[38] Kucuk S, Bingul Z "Comparative Study of performance indices for fundamental robot
manipulators",. robot. auton. syst. 57;7: 567-573, 2006.
[39] Kupp N, Makris Y "Applying the Model-View-Controller Paradigm to Adaptive Test",
IEEE des. test. comput. 29: 28-35, 2012.
[40] Chandakanna V, Vatsavayi V "A model view controller based Self-Adjusting
Clustering Framework", j. syst. software. 89: 193-206, 2014.
[41] Mark W. Sponge, "Sethhutchinson and M. Vidyasagar Robot Modeling and Control",
Wiley student edition, 2006.
[42] R. Murray, Z. Li, S. Sastry, “A Mathematical Introduction to Robotic
Manipulation”,Boca Raton, FL: CRC Press, 1994.
[43] S. LaValle, “Planning Algorithms”, Cambridge University Press, 2006.
[44] C. Belta, R. Kumar, “Euclidean metrics for motion generation on SE(3)”. Institution of
Mechanical Engineers, proceedings of the, vol. 216, no. 1, 2002.
[45] J. G. van der Corput. “Verteilungsfunktionen I.”,Akademie van Wetenschappen, vol.
38, pg 813–821, 1935.
[46] Poj Lertchoosakul, Radhakrishnan Nair, "Distribution functions for subsequences
of the van der Corput sequence", Indagationes Mathematicae, Volume 24, Issue 3, 13,
Pages 593-601, June 2013.
[47] Lee G, Ziegler M "A geometric approach in solving the inverse kinematics of PUMA
robots", Thirteenth International Symposium of Industrial Robotics and Robots,
Chicago, 1983.
[48] Li W, Zhao Y, Song Y, Yang Z, "A Monte-Carlo based stochastic approach of soccer
robot self-localization", IEEE Conference on Human System Interactions, 915-920,
2008.
[49] Moron C, Maganto F, Tremps E, Ramirez P, Garcia A, "Monte Carlo simulation of
circular grain growth", phys, status. solidi. c. 8; 11-12: 3135-3138, 2011.
94
Appendix A - Module Shop Drawings
95
96
97
98
99
100
101
102
103
104
105
106
Appendix B - Proof of Theorem
Theorem:
det ||
where
2 3
Proof
|| det , sufficiency proof is trivial.
To prove necessity:
Let det
therefore
since
which means that has no projection on . As such, b = 0.
Therefore:
or ||
107
Appendix C - DH Parameters of Synthesises Manipulators
Manipulator 1 i αi ai θi di 1 -90° 0m -90° 0m 2 -90° 0m -90° 0.2553m 3 -90° 0m -90° 0.1993m 4 -90° 0m 180° 0m 5 -90° 0m 180° 0.1720m 6 -90° 0m 180° 0m
Manipulator 2 i αi ai θi di 1 -90° 0m -90° 0m 2 -90° 0m 180° 0.2553m 3 -90° 0m 180° 0m 4 -45° 0m 90° 0.1993m 5 90° 0m -90° -0.1720m 6 -90° 0m 0° 0m
Manipulator 3 i αi ai θi di 1 -90° 0m -45° 0.2553m 2 -90° 0m 180° 0m 3 90° 0m 90° 0.1993m 4 -90° 0m 90° 0.1720m 5 -90° 0m 180° 0m 6 0° 0m 0° 0.0555m
Manipulator 4 i αi ai θi di 1 90° 0.2359m 180° -0.0977m 2 -90° 0m -112.5° -0.2775m 3 0° 0m 0° 0.1993m 4 90° 0m 0° 0.1720m 5 -90° 0m 0° 0m 6 0° 0m 0° 0.0555m
108
Manipulator 5 i αi ai θi di 1 -135° 0.2775m -90° -0.3611m 2 45° 0.1993m 90° -0.2553m 3 -90° 0m -90° 0m 4 90° 0m 0° 0.1720m 5 -90° 0m 0° 0m 6 0° 0m 0° 0.0555m
Manipulator 6 i αi ai θi di 1 -90° 0m -120° 0m 2 -90° 0m -157.5° 0.4546m 3 -90° 0m 180° 0m 4 -90° 0m 180° 0.1720m 5 -90° 0m 180° 0m 6 0° 0m 0° 0.055m
User Defined Articulated i αi ai θi di 1 -90° 0m 90° 0.2834m 2 180° 0.2553m -90° 0.2775m 3 -90° 0m -90° 0.1993m 4 -90° 0m 90° 0.1720m 5 -90° 0m 180° 0m 6 0° 0m 0° 0.0555m