Allen voran möchte ich Michael Hofbaur meinen Dank aussprechen. Durch das ...... limitation that 5 solutions can not be realized (q5, q7, q8, q12, q13). ...... cuma_collection.pdf: a visualization of all structures, listing of the important parameters.
Adaptable Serial Manipulators in Modular Design
Institute of Automation and Control Engineering, UMIT – University for Health Sciences, Medical Informatics and Technology
Doctoral Thesis by
Dipl.-Ing. Mathias Brandstötter
Supervisor:
Univ.-Doz. Dipl.-Ing. Dr. techn. Michael Hofbaur Hall in Tirol, July, 2016
Robotics is one of the things that fires the imagination and leads to hard work.
iii
Abstract Serial robots are indispensable elements of production lines in manufacturing plants and are more and more used out of factory halls. They can be found in medical fields such as for orthopedic surgery as well as on mobile vehicles to fulfill manipulation tasks in highly diverse environments. However, the selection of a robotic arm to fulfill a required task focuses on main criteria such as payload, workspace, and price and additionally on optimization goals, i.e., minimizing cycle time or energy consumption. Different types of serial robot arms are used in a variety of applications but the appearance or design remain unchanged during their whole lifetime. In fact, this is not surprising, since robot manipulators have typically a monolithic structure and any intervention in the construction of the robot arm would lead to the loss of warranty against the manufacturer. Nevertheless, in this work, the various possibilities of structural and geometrical changes to design parameters of serial manipulators and the resulting effects on the behavior of the robot system are presented and discussed. The capabilities offered by modular robot systems are pointed out and compared with the difficulties which will arise. In contrast to related works on this issue, also modular general robot structures are considered in this thesis and are verified by simulation and real hardware. For this purpose a robotic test bed was built which can be used to realize a large number of different robot structures. The test bed is the first designed robot layout to present the maximum possible number of postures of serial manipulators for a given end effector pose. In addition, selected structures and according end effector paths are presented, which can be executed by the robot with 16 different postures. A detailed description of 700 of these special structures is part of this work. One emphasis of this work is the estimation of the encoder depended repeatability of the robot’s end effector. The repeatability can be used as cost function when formulating an optimization problem on the basis of a given task. The maximum error can be found by computing the forward kinematics of a set of configuration points which surround a considered configuration and by evaluating the distances. The presented method can be applied consistently to any mechanism.
v
Kurzfassung Serielle Roboter sind aus industriellen Betrieben nicht mehr wegzudenken und kommen zunehmend auch außerhalb von Fertigungshallen zum Einsatz. Sie sind sowohl im medizinischen Bereich als auch auf mobilen Plattformen anzutreffen um Manipulationsaufgaben in unterschiedlichsten Gebieten zu erfüllen. Ungeachtet des Einsatzzweckes, richtet sich die Auswahl eines Roboterarms vorwiegend an aufgabenspezifische Kriterien, wie Traglast und Arbeitsraum aber auch an den Preis. Beim praktischen Einsatz des Robotersystems werden gelegentlich Optimierungen hinsichtlich Zykluszeit und selten auch Energie durchgeführt. Unterschiedliche Typen von seriellen Roboterarmen werden in einem breiten Anwendungsfeld eingesetzt aber unterliegen stets dem Umstand, dass sie während ihrer Lebensdauer strukturell nicht verändert werden können. Dieses Faktum überrascht nicht, haben Industrieroboter eine sogenannte monolytische Struktur, die eine Veränderung nicht ohne weiteres zulässt. Jeder Eingriff in die Konstruktion bzw. des Designs würde unmittelbar zum Verlust jeglicher Haftungsanspruche gegenüber dem Hersteller führen. In dieser Arbeit wird ein anderer Weg aufgezeigt, jener, der eine bauliche Veränderung des Roboterarmes zulässt. Die unterschiedlichen Möglichkeiten von strukturellen und geometrischen Änderungen an den Designparametern von seriellen Robotern und die sich davon ergebenden Effekte bzgl. des Verhaltens des Robotersystems werden präsentiert und diskutiert. Neben den Vorteilen, die sich durch modulare Robotersysteme ergeben, werden auch die dadurch entstehenden Nachteile aufgezeigt. Im Gegensatz zu verwandten Arbeiten auf diesem Gebiet, werden in der vorliegenden Arbeit modulare Roboterstrukturen mit genereller Struktur betrachtet und die Resultate simulativ verifiziert. Darüber hinaus werden Manipulatorstrukturen und zugehörige Pfade präsentiert, die mit 16 unterschiedlichen Körperhaltungen abgefahren werden können. Eine detaillierte Beschreibung von 700 dieser speziellen Strukturen ist Bestandteil der vorliegenden Arbeit. Ein weiterer Schwerpunkt der Arbeit ist die Abschätzung der Wiederholgenauigkeit des Endeffektors abhängig von den eingesetzten Winkelencodern des Roboters. Die Wiederholgenauigkeit kann dabei als Kostenfunktion bei der Formulierung eines Optimierungsproblems für eine bestimmte Aufgabe verwendet werden. Der maximale Fehler wird durch die Berechnung der Vorwärtskinematik aus einer Menge von Punkten, die eine Konfiguration umgeben und durch deren Auswertung Abstandsmaße gefunden werden, ermittelt. Das vorgestellte Verfahren kann bei jedem Gelenkmechanismus angewendet werden.
vii
Danksagung An dieser Stelle sei ein Wort des Dankes an all jene Menschen gerichtet, die mich dabei unterstützt haben, diese Arbeit zu vollenden. Allen voran möchte ich Michael Hofbaur meinen Dank aussprechen. Durch das große Vertrauen, das er mir entgegenbrachte, wurde mir die Bearbeitung dieser spannenden wissenschaftlichen Fragestellung erst ermöglicht. Seine über viele Jahre andauernde, motivierende Betreuung und die großzügigen Freiräume, die er mir gewährte, sind überdies besonders nennenswert. Auch Manfred Husty sei hier gedankt, der als führender Experte seines Fachs seinerzeit die Grundlagen zu dieser Arbeit gemeinsam mit Martin Pfurner erarbeitete. Mit viel Geduld gab er sein Wissen über den Husty-Pfurner Algorithmus an mich weiter. An die gemeinsame Zeit mit meinen Kolleginnen und Kollegen an der UMIT denke ich mit Freude zurück. Insbesondere an die fachlichen Diskurse mit Theresa Rienmüller, Arthur Angerer und Christoph Gruber. Nicht zuletzt gebührt meiner Frau Sabine ein herzlicher Dank. Sie hat mich auf dem Weg zum Abschluss dieser Arbeit aktiv begleitet und hat darüber hinaus stets viel Verständnis aufgebracht. Mathias Brandstötter
ix
Contents 1. Introduction
1
2. Fundamentals
3
2.1. Euclidean Motion . . . . . . . . . . . . . . . . . . . . . . . . . 2.2. Basic Definitions in Robotics . . . . . . . . . . . . . . . . . . . 2.2.1. Pose and Path . . . . . . . . . . . . . . . . . . . . . . . 2.2.2. Manipulator . . . . . . . . . . . . . . . . . . . . . . . . 2.2.3. Configuration and Posture . . . . . . . . . . . . . . . . 2.2.4. Task . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.3. Classification of Robots . . . . . . . . . . . . . . . . . . . . . . 2.3.1. Main Architectures . . . . . . . . . . . . . . . . . . . . 2.3.2. Joints and Links . . . . . . . . . . . . . . . . . . . . . 2.4. Robot Modeling Conventions . . . . . . . . . . . . . . . . . . . 2.4.1. DH Parameters . . . . . . . . . . . . . . . . . . . . . . 2.4.2. OPW Parameters . . . . . . . . . . . . . . . . . . . . . 2.4.3. CSD Parameters . . . . . . . . . . . . . . . . . . . . . 2.5. Special Transformation Matrices . . . . . . . . . . . . . . . . . 2.5.1. Transformation Matrix from a given Axis and Angle . . 2.5.2. Pose Matrix from a given Position, Direction and Angle
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
3. Related Work
3 3 4 4 5 5 6 7 8 8 9 10 12 16 16 17 19
3.1. Design of Serial Manipulators . . . . . . . . . . . . . . 3.1.1. Common Industrial Robots . . . . . . . . . . . . 3.1.2. General Serial Manipulators . . . . . . . . . . . 3.1.3. Modular Serial Robots . . . . . . . . . . . . . . 3.1.4. Redundant Manipulators . . . . . . . . . . . . . 3.2. Kinematic Analysis . . . . . . . . . . . . . . . . . . . . 3.2.1. Forward Kinematics . . . . . . . . . . . . . . . 3.2.2. Inverse Kinematics . . . . . . . . . . . . . . . . 3.3. Performance Criteria . . . . . . . . . . . . . . . . . . . 3.3.1. Manipulability Index . . . . . . . . . . . . . . . 3.3.2. Condition Number . . . . . . . . . . . . . . . . 3.3.3. Kinematic Isotropy Indices . . . . . . . . . . . . 3.3.4. Accuracy, Repeatability, and Types of Resolution 3.4. Defects in Serial Chains . . . . . . . . . . . . . . . . . . 3.4.1. Machining and Assembly Errors . . . . . . . . . 3.4.2. Backlash . . . . . . . . . . . . . . . . . . . . .
xi
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
19 20 20 21 22 22 23 23 31 33 33 34 35 37 38 38
Contents 3.4.3. Joint Clearance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38 3.5. Singularities . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39 4. Workspace Analysis
41
4.1. Basic Types of Workspaces . . . . . . . . . . . . . 4.2. Dexterous Workspace . . . . . . . . . . . . . . . . 4.2.1. Grashof’s Criteria . . . . . . . . . . . . . . 4.2.2. Spatial Robot Structures . . . . . . . . . . 4.3. Restrictions Due to Joint Constraints . . . . . . . . 4.4. Repeatability Based on Finite Controller Resolution 4.4.1. Pose Estimation . . . . . . . . . . . . . . . 4.4.2. Pose Error Calculation . . . . . . . . . . . 4.4.3. Analytical Evaluation Method . . . . . . . 4.4.4. Numerical Evaluation Technique . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
5. Optimization Techniques
5.1. Level of Adaption . . . . . . . . . 5.2. Optimization Approaches . . . . . 5.2.1. Multiple Solutions of IKP 5.2.2. Sequence of Tasks . . . . 5.2.3. Redundancy Resolution . 5.2.4. Trajectory Variation . . . 5.2.5. Manipulator Placement . . 5.2.6. Manipulator Design . . .
41 42 42 43 43 44 44 46 48 48 53
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
6. Examples, Simulations, and Experimental Results
6.1. Planar Manipulators with Revolute Joints 6.1.1. 2R Planar Manipulators . . . . . 6.2. Spatial Manipulators with Revolute Joints 6.2.1. 3R with Ortho-Parallel Structure . 6.2.2. 6R with General Structure . . . . 6.2.3. 7R with Almost General Structure
. . . . . .
. . . . . .
. . . . . .
. . . . . .
53 54 54 55 55 56 57 57 67
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
7. Conclusions
67 67 72 72 79 91 95
A. Collection of General Serial 6R Manipulators with 16 Real Solutions for the Inverse Kinematics Problem
A.1. General Notes on the given Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . A.2. Collection of General Serial Manipulators in Digital Form . . . . . . . . . . . . . . . . B. The Cuma Toolbox – Simulation of General Serial Manipulators using MATLAB®
xii
List of Figures 2.1. 2.2. 2.3. 2.4. 2.5.
2.6.
2.7. 2.8.
Path ℘Σ0 (τ) between two poses PΣA 0 and PΣB 0 . . . . . . . . . . . . . . . . . . . . . . . An exemplary peg-in-hole task. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Kinematic chains with attached end effectors and their poses PEF . . . . . . . . . . . . Assignment of Denavit-Hartenberg Parameters of a part of a manipulator. The dashdotted lines correspond to the joint axes. . . . . . . . . . . . . . . . . . . . . . . . . . The two typical views in data sheets of serial robot manipulators and the defined home position with the 7 essential geometrical parameters. The coordinate system for the basis and the end-effector are predefined. . . . . . . . . . . . . . . . . . . . . . . . . . . . . Exemplary shown joint modules and related rotary axes. The origins of the coordinate system to describe the geometry of the structure lie on the feet of the common normals of two rotary axes each. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Assignment of CSD Parameters. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . The relation between the two coordinate systems Σ0 and Σe . . . . . . . . . . . . . . .
3.1. 3.2. 3.3. 3.4. 3.5. 3.6.
. . .
4 7 8
.
9
. 11
. 12 . 13 . 17
Two different types of industrial robots. . . . . . . . . . . . . . . . . . . . . . . . . . Three intersecting joint axis (g4 , g5 , and g6 ) which forms a robot’s wrist. . . . . . . . . A representation of Pieper’s solution shown by two different postures. . . . . . . . . . Σ0 . . . . A representation of Lee’s solution shown by two different postures for pose PEF Implementation dependent discontinuities can be identified by the peaks downwards. . Colormap related to Lee’s manipulator with number of solutions analyzed in perpendicular cross sections. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.7. Scheme for computing the Jacobian matrix geometrically. . . . . . . . . . . . . . . . . 3.8. The mapping between joint and configuration space shown in the planar case. . . . . . 3.9. Definition of accuracy parameters according to ISO 9283:1998. . . . . . . . . . . . . . 3.10. Simplified illustration of backlash. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.11. Representation of joint clearance in the planar case. . . . . . . . . . . . . . . . . . . .
. . . . .
19 20 27 29 29
. . . . . .
30 32 33 36 38 39
4.1. 4.2. 4.3. 4.4.
. 41 . 43 . 45
Reachable workspace Wr of a two-link planar manipulator. . . . . . . . . . . . . . Grashof’s Criteria. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Effects of discrete joint angle measurements on end effector pose estimation. . . . . The set of all end effector position estimates P˜ of a unit-robot with link length r¯1 = and joint resolutions res1 = 100 and res2 = 70. . . . . . . . . . . . . . . . . . . . 4.5. Orientation part within axis-angle representation. . . . . . . . . . . . . . . . . . . 4.6. Insights in discretized spaces. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . 0.6 . . . . . .
. 45 . 47 . 49
5.1. Classification of optimization approaches for robot manipulators. . . . . . . . . . . . . . 54 5.2. Qualitative representation of a graphical optimization tool. . . . . . . . . . . . . . . . . 56
xiii
List of Figures 5.3. Two different curved links and two Schunk PowerCube modules5 . . . . . . . . . . . . 5.4. Subsystems of the Cuma-arm. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.5. Cuma № 0 with configuration S0 in its home position. This manipulator has up to 7 DoF if all joints are actuated. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.6. The reconstruction of a link by a 3D point cloud analyzed with GOM Inspect. The green points represent captured markers. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.7. Simplified representation of the correlation of coordinate systems influenced by the reverse use of a link. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.8. Number of possible structures. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.9. Fife different alternatives for realizing the coupling of two joints in space if two parameters (d˜ and θ˜ ) can be chosen freely. . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.10. Two Cuma-type arms which satisfy identical DH parameters. . . . . . . . . . . . . . . 6.1. The Selective Compliance Assembly Robot Arm (SCARA) AR-S350AE from Hirata Robotics. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.2. Scheme of a 2R planar serial manipulator. . . . . . . . . . . . . . . . . . . . . . . . . 6.3. Curves of position estimate distances and and their maximum. . . . . . . . . . . . . . 6.4. Case analysis of encoder and arm length dependent maximum repeatability of a 2R planar manipulator. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.5. Variation of design parameters for a unit-robot with |¯r1 − r¯2 | > 0.2 and resolution ratio of 0.5 < res1 /res2 < 2. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.6. Scheme with parameter definition of a 3R serial ortho-parallel manipulator. . . . . . . 6.7. The four possible postures of a serial ortho-parallel 3R manipulator for one specific point in the reachable workspace. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.8. Error maps of various robots and different joint resolutions. . . . . . . . . . . . . . . . 6.9. Visualization of the maximum error due to encoder depend repeatability of different industrial robots. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.10. Two Cuma-arms in their home position. . . . . . . . . . . . . . . . . . . . . . . . . . Σ0 6.11. All sixteen postures for pose P314 of Cuma № 314. . . . . . . . . . . . . . . . . . . . Σ to PΣ with posture number 7. . . . 6.12. The Cuma-arm moves on a straight line from Pstart end 6.13. Workspace analysis of Cuma № 507. All solutions are computed with constant orientation of the end effector. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.14. Maximum errors that occur at the specified path for all postures. . . . . . . . . . . . . 6.15. Evaluation testbed with a Leica Absolut Tracker AT960-MR. . . . . . . . . . . . . . . 6.16. Colormap with number of solutions analysed in planar cross section and the given path of the end effector (lemniscate). The points of the curve can theoretically be reached by at least 8 different postures. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.17. Evaluation results with deviations from the mean of measured positions (blue curves) and the computed upper bound (red curve). . . . . . . . . . . . . . . . . . . . . . . . 6.18. Colormap with number of solutions analyzed in perpendicular cross sections for Cuma Σ0 № 137 in pose P137 .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.19. Validation with the testbed. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.20. The positioning error is minimized against the 2nd joint angle q2 of Cuma № 5. . . . . 6.21. Positioning error as function of the 2nd joint angle. . . . . . . . . . . . . . . . . . . .
xiv
. 58 . 59 . 60 . 60 . 62 . 63 . 64 . 64 . 67 . 68 . 70 . 71 . 71 . 73 . 74 . 76 . . . .
77 79 82 83
. 84 . 86 . 87
. 88 . 88 . . . .
90 91 92 92
List of Figures 6.22. All angle curves of the 7 Degree of Freedom (DoF) Cuma № 5 when traversing the given trivolium. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93 6.23. Cuma № 5 with different optimization goals on a path called trifolium visualized on the configuration, which corresponds to τ = π/6. . . . . . . . . . . . . . . . . . . . . . . . 94
xv
List of Tables 2.1. Classification of atomic tasks by investigate a 6 DoF robot manipulator. . . . . . . . . . 6 2.2. Basic classification system of robots and nomenclature especially for serial manipulators. 7 2.3. Part of Denavit and Hartenberg (DH) Parameters of a 6 DoF serial robot describing its structure. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 2.4. OPW Parameter collection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 3.1. Overview of all possible solution sets in QOPW . . . . . . . . . . . . . . . . . . . . . . . 26 3.2. DH Parameters of Piepers’s 6R Manipulator. . . . . . . . . . . . . . . . . . . . . . . . . 27 3.3. DH Parameters of Lee’s 6R Manipulator. . . . . . . . . . . . . . . . . . . . . . . . . . . 28 4.1. Determining the neighbouring configurations in case of four actuators based on the ele4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51 ments of N±1 5.1. DH parameters of the inital Cuma-arm with system parameters S0 ( j). . . . . . . . . . . 62 6.1. 6.2. 6.3. 6.4. 6.5. 6.6.
Determining all neighboring configurations using two actuators. . . . . . . . . . . . . . Set of all neighboring configurations using three actuators. . . . . . . . . . . . . . . . . Four industrial robots of similar size and their intrinsic OPW parameters. . . . . . . . . DH parameters of a Cuma-type arm with 16 real solutions possible (configuration S314 ). DH parameters of Cuma № 507. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Summary of data of all examined errors for the given path using the presented Cumaarm. Bold values indicate a minimum or maximum sum of errors. . . . . . . . . . . . .
xvi
69 74 75 80 83 85
Abbreviations CSD Complete Structural Description Cuma Curved Manipulator DH Denavit and Hartenberg DoF Degree of Freedom IKP Inverse Kinematics Problem OPW Ortho-Parallel manipulators with spherical Wrist SVD Singular Value Decomposition
xvii
Symbols C D epos eori E H I J κ K λ P ℘ φ φinv q q Q Q R S σ Σ T t t T v W ω x
configuration space design paramters of a manipulator position error orientation error set of errors homogeneous transformation matrix Identity matrix Jacobian matrix posture set of postures eigenvalue pose in 3-dimensional Euclidean space path in 3-dimensional Euclidean space forward kinematic mapping inverse kinematic mapping joint angle 1-dimensional set of joint angles 2-dimensional set of joint angles set of configurations (homogeneous) rotation matrix set of system parameter singular value coordinate frame task time translation vector (homogeneous) translation matrix linear velocity vector workspace angular velocity 6-dimensional linear and angular position vector
xix
1. Introduction In general, an industrial robot is a programmable multi-axis machine with the adaptability to fulfill a family of tasks, e.g., to perform a well-defined manufacturing task. In this work, a manipulator is defined as the physical-mechanical part of a robot which can be controlled by a human or a control system. Such manipulators consist of one or more kinematic chains depending on the architecture of the robotic system. Generally, serial robots have one open kinematic chain and are designed like an anthropomorphic arm. Such types are used for the most part in industrial use cases. Moreover, a manipulator has usually a monolithic structure, which means that the construction does not permit any individual adaption within its kinematic chain. A novel concept of a modular serial robot is presented in this work which is more flexible than manipulators with monolithic design. Because of the construction the manipulator can be physically adapted to a given objective. In contrast to modular robot systems known in literature robotic arms which can ensure an entirely arbitrary design are presented. This work will indicate the capabilities of modular serial manipulators that occur in practical use and in particular, if the structural design of the manipulator is not restricted. Whenever the links of a modular robot can be changed, a large number of variations and thus an almost unlimited number of possible robot structures arise. However, this diversity can only be achieved if a general structure of the manipulator is permitted. Hence, a large number of possibilities to design a robot originate, which leads to a selection problem and moreover to one main question: what is the most suitable design of a robot for a specified task? Only after the issue of a given work task is examined, potential requirements to the robot kinematics can be given. Hence, every individual task must be analyzed in order to quantify its complexity, constraints, and latitudes. This analysis is followed by deriving mechanical and kinematic requirements of the manipulator such as: degree of freedom, workspace, maximum payload, arm lengths, joint encoder resolutions, and dynamical specifications. All these requirements serve to define a proper hardware configuration of the robot. To ensure the realization of an optimal or most suitable structure of a serial manipulator according to a predefined task is one main goal of this work. Furthermore, serial robots with a general design are also taken into account to solve the problem mentioned above. However, this general approach has its drawbacks, because of the more complex kinematic relationship between task (or operation) and joint (or configuration) space. To overcome this problem a novel computation method for solving the Inverse Kinematics Problem (IKP) is applied. In addition, two main strategies to achieve this objective are discussed. On the one hand, the structure of the manipulator can be optimized for a given task from the very beginning. On the other hand, known optimization methods (e.g. kinematic redundancy, trajectory variation, and placement) can be used to vary the behavior of the end effector selectively and in accordance to a specified objective function. For the second case, however, a task-redundant operation to execute must be demanded. Different alternative optimization methods and criteria will be reviewed as well.
1
The main contributions of this work are listed in order to aid clarity: • Methods to optimize serial manipulators in terms of their intended applications is discussed. • In particular, the method of manipulator design by means of adaptable modular serial manipulators is introduced in detail. • The description, construction, and commissioning of such modular robots is presented. • Modular serial manipulators with general structure are shown in which the solution to the inverse kinematics problem leads to 16 real solutions. A comprehensive collection containing 700 such designs of general 6R structures is discussed in detail. • Measures for end effector pose repeatability due to limited encoder resolution which serve as objective functions will be introduced. This functions are applied to diverse robot structures.
2
2. Fundamentals Principles and terms which are required to address and formulate mathematical problems regarding to robot kinematics are recapitulated in the following section. Moreover, this summary serves as place to define the nomenclature used in this work. It should be stated, that physical objects are seen as rigid to simplify the computation of their location. This simplification is done throughout this work, which in turn means that any deformation will be neglected. Therefore, one point of an object is assigned with a coordinate system which applies for the entire rigid body.
2.1. Euclidean Motion To describe Euclidean motions homogeneous transformation matrices are used in this thesis as usual. Combining a translation, denoted by the vector t = [t x ty tz ]T , and a rotation, denoted by the matrix r11 r12 r13 R = r21 r22 r23 , r31 r32 r33 leads to a transformation which is an element of the special Euclidean group SE(3), also named as space of rigid motions: ( ! ) 1 0 SE(3) = H H = : t ∈ R3 , R ∈ SO(3) (2.1) t R The rotation R in (2.1) is an element of the special orthogonal group SO(3). This group is constituted by the set of orthogonal 3 × 3 transformation matrices with determinant of +1 and represents all rotations about the origin of the coordinate system. [14] Considering all elements of t and R as functions of parameter τ the transformation matrix ! 1 0 H(τ) = , where τ ∈ [τ0 , τe ] ⊂ R, (2.2) t(τ) R(τ) represents a parametric curve on SE(3) and is also referred to as rigid body motion in the 3-dimensional Euclidean space which is continuously dependent on τ. In (2.2), τ can be interpreted as time, moreover, the start time τ0 and the end time τe represent the boundaries of the considered time interval.
2.2. Basic Definitions in Robotics This section provides the definition of fundamental terms used in robotics. In particular, important notions are: pose, manipulator, configuration, posture, and task.
3
2.2. BASIC DEFINITIONS IN ROBOTICS
z0 PΣA 0 Σ0
y0 ℘Σ0 ( τ )
O0
PΣB 0 x0
Figure 2.1.: Path ℘Σ0 (τ) between two poses PΣA 0 and PΣB 0 .
2.2.1. Pose and Path Combining the information of linear and angular position of an object with respect to a coordinate frame Σ leads to the so-called pose PΣ . Definition 1 A pose PΣ0 is defined as the position and the orientation of an object specified in coordinate system (O; xO , yO , zO ) = b Σ0 . A pose represents a point in the space R3 × SO(3). The information of a pose can be combined as homogeneous matrix ! 1 0 Σ0 Σ0 P B A = Σ0 , t RΣ0
(2.3)
where tΣ0 represents the position and RΣ0 the orientation of the object pose PΣ0 with respect to Σ0 . The τ-dependent function of AΣ0 (τ) · ~p, where ~p denotes a point of the moving frame, determines a parametric curve in R3 and is denoted as trajectory in general. A pose, specified as homogeneous matrix, represents an orientation as rotation matrix, whereby no coordinate singularities (gimbal lock) appear. It is worth noting that the common term twist represents the time derivative of a pose. The collection of poses ℘Σ0 (τ) consists of the path of the origin and the respective orientations as function of τ, see Fig. 2.1. Moreover, a transformation matrix HΣ0 (τ) as denoted in (2.2) can be interpreted as function, which describes the continuous motion from pose PΣA 0 to PΣB 0 on ℘Σ0 (τ) with 0 ≤ τ ≤ τE . As can be seen from Fig. 2.1 ℘Σ0 (0) = PΣA 0 , and ℘Σ0 (τE ) = PΣB 0 does apply for the boundary values. The parameter τ = f (t ) influences the velocity of the pose transfer as function of time t. In addition, PΣB 0 = PΣA 0 · HΣ0 (τE )
holds where HΣ0 (τE ) represents a transformation matrix in Σ0 which moves a pose to another location. This matrix can be found, e.g., using the axis-angle representation discussed in Sec. 2.5.1.
2.2.2. Manipulator Different types of serial manipulators are being analyzed and studied in this work to gain insights in their kinematic behavior. Among others, the standard of robots and robotic devices determines a manipulator as follows:
4
2.2. BASIC DEFINITIONS IN ROBOTICS Definition 2 (according to Sec. 2.1 of ISO 8373:2012, see [54]) A manipulator is a machine in which the mechanism usually consists of a series of segments, jointed or sliding relative to one another, for the purpose of grasping and/or moving objects (pieces or tools) usually in several degrees of freedom. Moreover, the standard defines that a manipulator can be controlled by an operator, a programmable electronic controller, or any logic system. It is furthermore pointed out expressly that a manipulator does not include an end effector. This part of the definitions in ISO 8373:2012 is widely adopted in this thesis, except the designation of the term end effector. The meaning used in this standard refers to a physical tool at the end of the kinematic chain, but in this work, an end effector refers also to a point located on the last part of the chain comparable with the tool center point (TCP).
2.2.3. Configuration and Posture The manipulator of a robot is the variable part of the system, wherein the mechanism is able to move due to its actuated joints. The set of all joint values is called configuration and completely specifies the position of every point of the manipulator. Definition 3 The generalized coordinates q describe the configuration of a system and refer to an ndimensional vector whose elements represents the n joint values. The collection of all possible configurations is called Configuration Space or Joint Space, denoted as C. [9, 110] A manipulator is composed of joints and links, which take a geometrical relation to each other. All these geometric information is summarized in a set to describe the robot’s form [82]. Definition 4 The design parameter set D contains the entire geometric information of a manipulator in terms of lengths and angles. Now, in line with Def. 3, a further definition with respect to the mechanical shape can be given: Definition 5 A posture κ results from D and q and describes the pose Pi of the n + 1 distinct elements of an n-DoF manipulator arm, where i = 1 . . . n + 1.
2.2.4. Task A task contains the entire information required to fulfill a desired job (see [7]) and can be defined by: Definition 6 A task T includes the essential information to perform a basic job (atomic task) in the form of poses or a path by specifying a minimum of restrictions and a maximum of freedom. Whenever a task is to be executed by a robotic arm (defined by D) an admissible path ℘ad (τ) must be calculated. In case of a kinematically redundant task a unique path ℘ad (τ) does not exist but a favorable path ℘opt (τ) can be computed through an optimization process observing the task limitations. Freedoms in positioning the end effector can be defined as a region or a tube and the representation of the orientation possibilities can be specified by cones. A rough classification of possible atomic tasks by taking constraints (conditions and limitations) into account is given in Tab. 2.1. In order to mathematically describe the restrictions given in this classification, additional notations to poses and paths are introduced:
5
2.3. CLASSIFICATION OF ROBOTS
Table 2.1.: Classification of atomic tasks by investigate a 6 DoF robot manipulator. Category
Description
Example
pose to pose pose to pose within a tube pose to region within a tube 5 DoF path 6 DoF path
constraint free transition restriction by boundaries restriction by boundaries 1 DoF for optimization complete path specification
interpolation in joint space pick-and-place pick-and-drop drilling, water jet cutting fitting parts together
• A pose P in Σ0 within a region R is symbolized as R PΣ0 . • A pose PA in Σ0 , where angle ψΣEF can be chosen arbitrarily is denoted as ψΣEF PΣA 0 . • A path ℘1 in Σ0 within a tube a¯ as function of τ is designated as a¯ ℘1Σ0 (τ). • A path ℘2 in Σ0 within a tube a¯ as function of τ, where ψΣEF can be chosen arbitrarily is written as ψΣEFa¯ ℘2Σ0 (τ). In these notations, ψΣEF can, e.g., be interpreted as an angle of the Euler angle-parametrization (denoted as ϕ, θ, ψ) given in the coordinate system of the end effector ΣEF . In this case, the orientation of the end effector about ψΣEF can be chosen arbitrarily. A detailed information about the various task constraints is important especially for the optimization of kinematically redundant manipulators discussed in Sec. 5.2.3. The following simple example, depicted in Fig. 2.2, serves to illustrate a task analysis. Starting from Σ0 an initial pose Pstart , a pin has to be picked up at P1Σ0 and inserted into a hole. To accomplish this 1 process, the pin has to be moved to ΣRPIN P2Σ0 , where region R1 is a line segment on the drilling axis. ψ Thus, a placement tolerance along the axis can be modeled. The orientation of the pin along its axis is ¯ not relevant, indicated by ψΣPIN . The two enlarged paths a¯ ℘1Σ0 and b ℘2Σ0 between the poses are bounded by tubes a¯ and b¯ and can be exploited for path optimization (e.g., as fast as possible or minimum energy). In this case, the time frame of the movement is not specified. The insertion of the pin occurs by execution of ψΣPIN ℘3Σ0 (τ). This process should take place with a defined velocity and is therefore controlled by parameter τ. Again, the orientation of the pin along the axis is not important.
2.3. Classification of Robots Many different terms are used in robotics to classify various characteristics and similarities in design. These classifications are often specified individually, because a standardized and accepted international system does not exist. At this place a simple classification system is proposed and summarized in Tab. 2.2. The elementary property of the robot’s mobility is specified in Family and the purpose of the robotic system is represented in Class. Architecture refers to the overall network structure of the involved links and joints; whereas the term Structure considers the positioning of the joint axes and their concatenation within the kinematic chain. Different sizes of mechanical designs are recognized in Geometry and a detailed hardware specification can be differentiated in Specification. Moreover, connecting individual characteristics
6
2.3. CLASSIFICATION OF ROBOTS of robot systems are grouped within Type. The term DoF indicates the number of independent actuators of the robot system and represents a significant parameter for its operational capability. Table 2.2.: Basic classification system of robots and nomenclature especially for serial manipulators. Ordering Family Class Architecture Structure Geometry Specification Type DoF
Classification Description According to the fundamental design According to the nature of movement or task According to the topology (kinematic chain) According to the relative pose of the joints Determined upon lengths and angles Determined upon hardware components Group with common characteristics Number of freedoms/independent actuators
Examples mobile, stationary, virtual flying, manipulative serial, parallel, hybrid Puma, SCARA KUKA KR30-3, KUKA KR60-3 Type of encoders or torque sensors industrial, modular, cuspital1 6R = b 6 DoF, SCARA = b 4 DoF
2.3.1. Main Architectures In this work, the discussion focuses on the behavior of industrial manipulators and their extension to general structures. Industrial robots can be divided into three main types due to their topological design. These types are distinguished with respect to their architecture and hence different properties arise. The main types are [49]: • Serial kinematic chains: series of joints and links, in which one link is fixed to the ground (base) and the opposite end of the chain is free to move in space, see Fig. 2.3a. This open-loop or open-chain architecture is widely used in industry. • Parallel kinematic chains: series of joints and links, in which both ends of the chain are fixed, see Fig. 2.3b. A well-known variant is the Stewart-Gough platform and its direct kinematic solution can be found in [51]. 1A
cuspidal manipulator is one which is able to change its posture to reach the same end effector pose without meeting a singularity [129]. R1 ψ§PIN
P2§0
b} §0 2
ψ§PIN
§0 Pstart
}3§0(¿) a §0 }
z§0 y§0
1
x §0 O0
P1§0
Figure 2.2.: An exemplary peg-in-hole task.
7
2.4. ROBOT MODELING CONVENTIONS
PEF
PEF
PEF (a) Serial Chain.
(b) Parallel Chain.
(c) Hybrid Chain.
Figure 2.3.: Kinematic chains with attached end effectors and their poses PEF . • Hybrid kinematic chains: combination of serial and parallel chains, see Fig. 2.3c. Essentially, the architectures differ in the size of the workspace, the feasible speed and precision of their end effector. Since errors are accumulated along the chain of serial manipulators, rather than being averaged as with parallels systems, the placement of an end effector of a parallel robot seems to be more accurate than that of a serial robot [26]. Considering both cases and looking at the entire workspace it is shown in [19, 89] that the end effector location within the robot’s workspace has a major impact on the robot’s performance regarding repeatability.
2.3.2. Joints and Links Joints and links are (electro-)mechanical components from which a manipulator is built. From a mathematical point of view, a joint is an axis, a plane or a point, which depends on its joint type. Releaux defines six basic types: revolute (R), cylindric (C), prismatic (P), spherical (S), helical (H) and plane (E) joints [103], whereas in this work rotational and prismatic joints are considered only. A link is known as the invariable part of a manipulator and connects two joints with exception of the base and the end effector link. Depending on the type of the joint, a link rotates about an axis or a point (R, S, H), slides and rotates on an axis (C) or moves along an axis or on a plane (P, E).
2.4. Robot Modeling Conventions For any kinematic consideration a mathematical description of manipulators is essential and the design parameters D of the robot arm have to be defined. The kinematic structure of spatial kinematic chains is usually specified by the so-called Denavit-Hartenberg Parameters (DH Parameters). However, this description is ambiguous in case of parallel joint axes, and therefore robot structures described by DH parameters are difficult to compare. To overcome this problem the successive screw displacements method can be used. Its advantages over DH parameters concerning the direct and inverse kinematics are discussed in [105]. Alternatives to the Denavit-Hartenberg method to model kinematic chains are also presented in this section. For a large share of industrial type robots (Ortho-Parallel manipulators with a spherical Wrist) the so called OPW Parameters use a minimal parameter representation, which will be defined later (see Sec. 2.4.2). To enable a thorough mathematical description of the entire robot’s composition the Complete Structural Description Parameters (CSD Parameters) are introduced in Sec. 2.4.3. This convention offers all necessary options to define the correlation between the joint related coordinate systems and proves to be useful especially when modular serial robots have to be described. All considered methods
8
2.4. ROBOT MODELING CONVENTIONS use the property that the geometric structure of the manipulator is independent regarding any variation of a joint value. In the following sections the aforementioned robot modeling conventions are explained in detail.
2.4.1. DH Parameters The common method to model frame relations of the joints of a spatial serial chain is the DenavitHartenberg (DH) convention [30, 44]. For this purpose, parameters are used which describe the robot structure and geometry, known as DH Parameters. However, using DH Parameters for the inverse kinematics computation in practice can be inconvenient. The DH Parameter notation is not unique and different DH Parameters can be found for the same robot structure which makes it difficult to compare robots to each other. This problem occurs if successive axes are parallel. Moreover, the relation of the robot structure and the corresponding DH Parameters have to be derived tediously, and hence devotes a disproportionate effort describing manipulators, e.g., with an industrial robot structure. In general, to describe the structure of an nR serial manipulator one has to denote, that n − 1 links connect the joints and hence, n − 1 relation sets between the axes are needed. A parameter set for the i-th link includes three constant parameters (di , ai , and αi ), see Fig. 2.4 for the geometric meaning. The whole parameter set of a serial manipulator with 6 rotational joints is given in Tab. 2.3. As one can see from this table, 14 geometric parameters have to be defined in case that the manipulator has 6 DoF (non-redundant case). It should be noted, that d1 would not affect the relation between the first and second axis. In general, 3n − 4 parameters are required to describe the geometrical structure of serial robots with n DoF. Furthermore, in case of rotary joints each joint can rotate about its axis, denoted by angle qi , where i = 1, . . . , n. This degree of freedom is often assigned to the DH Parameters. The design parameters of a robot can be taken from its structure and geometrical composition and can be used to compute a transformation matrix which models the relation of two joint axes. Here, the transformation between the intersection of the joint axes and the perpendicular transversals is described αi-1 xi
zi a i-1
qi+1 di+1
yi
Axis i+1
xi+1
Oi
q i-1
Oi+1 zi+1 αi
yi+1
qi ai xi-1 zi-1 yi-1 O i-1
di-1
Axis i
di
Axis i-1
Figure 2.4.: Assignment of Denavit-Hartenberg Parameters of a part of a manipulator. The dash-dotted lines correspond to the joint axes.
9
2.4. ROBOT MODELING CONVENTIONS
Table 2.3.: Part of DH Parameters of a 6 DoF serial robot describing its structure. i-th Link 1 2 3 4 5
di – d2 d3 d4 d5
ai a1 a2 a3 a4 a5
αi α1 α2 α3 α4 α5
in general. It should be noted that the origin O0 can be defined arbitrarily on the first axis, but is expediently placed on the base. The homogeneous transformation matrix Hii+1 describes the rotation qi about i-th axis and the consecutive transformation to the next axis and is given by Hii+1 = Tzi (di ) Rzi (qi ) T xi+1 (ai ) R xi+1 (αi ).
2.4.2. OPW Parameters Whenever industrial serial robots have to be modeled, the DH Parameter convention seems to be cumbersome. For such cases, a simplified description method for serial manipulators with an ortho-parallel positioning part and a spherical wrist will be presented, avoiding the disadvantages of the DH Parameter convention. Subsequently, the essential idea of this method is given, more details can be found in [17]. Table 2.4.: OPW Parameter collection KUKA Katana Schunk youBot Arm 450 6M180 Powerball [mm] [66] [87] [108] a1 a2 b c1 c2 c3 c4
33 0 0 147 155 135 217.5
0 0 0 201.5 190 139 188.3
Stäubli TX40 [118]
Unimation Puma 560 [69]
0 0 35 320 225 225 65
0 -20.32 149.09 660.4 431.8 433.07 56.25
0 0 0 205 350 305 75
Epson KUKA C3 KR 6 R700 sixx [32] [65] 100 0 0 320 250 250 65
25 -35 0 400 315 365 80
Notation of Parameters
The schemes in Fig. 2.5 show a spatial 6 DoF manipulator with the notation of the link and joint parameters in the base coordinate system (O0 , x0 , y0 , z0 ). The end effector coordinate system is denoted by (Oe , xe , ye , ze ). The main arm lengths are defined by c1 , c2 , c3 , and c4 and the arm-offsets are denoted by a1 and a2 . The lateral offset of the third arm in y0 -direction is identified by b, see Fig. 2.5b. The six
10
2.4. ROBOT MODELING CONVENTIONS
E=Oe
xe
E=Oe xe
ye
q6
c4
g6
ze
ze
ze
ye
C
q5 g5
C c3
a2
g4 q4 g3
q3
z0
c2
z0 b
g2
q2
g1 q1
a1
y0
c1
z0 O0
O0
x0 (a) Isometric view (general position).
y0
O0 x0
(b) Back view of the home position.
(c) Side view of the home position.
Figure 2.5.: The two typical views in data sheets of serial robot manipulators and the defined home position with the 7 essential geometrical parameters. The coordinate system for the basis and the end-effector are predefined. joint angles are defined as q1 , . . . , q6 . The home pose of the manipulator is given by the position of the end effector E as e x0 = a1 + a2 , ey0 = b, ez0 = c1 + c2 + c3 + c4 and the axes of the end effector coordinate system is parallel to the axes of the base coordinate system, as depicted in Fig. 2.5b and 2.5c. The joint angels are defined as zero in this configuration (qi = 0 for i = 1 . . . 6). Examples of Popular Industrial Type Robots
In Tab. 2.4 the parameters for seven commonly used industrial manipulators are listed. Only seven parameters are needed to describe the geometry of Ortho-Parallel manipulators with spherical Wrist (OPW) – the so-called OPW Parameters. The Kuka youBot Arm and the Katana 450 6M180 are 5 DoF manipulators lacking joint axis g4 which results in orientation limitations in the workspace. The remaining manipulators provide a 6 DoF structure. All of them differ geometrically only in link lengths (c1 , . . . , c4 ), shoulder (a1 ), elbow (a2 ) or lateral (b) offsets. The sign of a parameter corresponds to the direction of the respective coordinate axis, e.g., a1 is positive and a2 is negative in Fig. 2.5c. The Stäubli TX series, which originated from the Puma robot, is the only industrial serial robot which has a lateral offset b , 0. The effects of such an offset are discussed in Sec. 6.2.1. This finding follows from an investigation of industrial robots of different manufactures available on the market.
11
2.4. ROBOT MODELING CONVENTIONS
2.4.3. CSD Parameters For special types of serial robots, e.g., the Curved Manipulator (Cuma), which is used in this work and presented extensively in Sec. 5.2.6, an extended convention is required. Therefore, a parameter set called Complete Structural Description parameters (CSD parameters) is introduced as a convention to model a general robot structure with respect to its mechanical layout. The CSD parameters can be considered as an extension of the DH Parameters adding two additional geometric parameters, which are denoted as d˜i and θ˜i . These two parameters are necessary to clearly define the pose of rotary modules in space as depicted in Fig. 2.6. In other words, a transformation from the reference frame of a joint module to the reference frame of an other joint module requires 6 DoF. e i is defined by On the basis of the transformation matrix Hii+1 specified by DH Parameters, H i+1 e i = Tzi (di ) Rzi (qi ) T xi+1 (ai ) R xi+1 (αi ) Tzi+1 (d˜i ) Rzi+1 (q˜ i ) H i+1 1 0 0 0 ˜ h2,1 h˜ 2,2 h˜ 2,3 h˜ 2,4 i e Hi+1 = ˜ h3,1 h˜ 3,2 h˜ 3,3 h˜ 3,4 h˜ h˜ h˜ h˜ 4,1
4,2
4,3
(2.4)
4,4
~ Oi+1
Oi
Axis i+1
Oi+1
~ Oi
~ O i-1
Axis i
Axis i-1
Figure 2.6.: Exemplary shown joint modules and related rotary axes. The origins of the coordinate system to describe the geometry of the structure lie on the feet of the common normals of two rotary axes each.
12
2.4. ROBOT MODELING CONVENTIONS
αi-1 xi
zi a i-1
~ di+1
di+1 yi
~ ~ Axis i+1 Oi+1 zi+1
xi+1
Oi qi-1
x~i+1
Oi+1 zi+1 αi
y~i+1 q~i+1
yi+1 qi ai xi-1 zi-1 ~ yi-1 O i-1 =Oi-1 Axis i-1
di-1
~zi di ~ di
x~i ~ Oi
q~i y~i
Axis i
Figure 2.7.: Assignment of CSD Parameters. where: h˜ 2,1 = d˜i sin(αi ) sin(qi ) + ai cos(qi ) h˜ 3,1 = −d˜i sin(αi ) cos(qi ) + ai sin(qi ) h˜ 4,1 = d˜i cos(αi ) + di h˜ 2,2 = cos(qi ) cos(q˜ i ) − cos(αi ) sin(qi ) sin(q˜ i ) h˜ 3,2 = cos(αi ) cos(qi ) sin(q˜ i ) + sin(qi ) cos(q˜ i ) h˜ 4,2 = sin(αi ) sin(q˜ i ) h˜ 2,3 = − cos(qi ) sin(q˜ i ) − cos(αi ) sin(qi ) cos(q˜ i ) h˜ 3,3 = cos(αi ) cos(qi ) cos(q˜ i ) − sin(qi ) sin(q˜ i ) h˜ 4,3 = sin(αi ) cos(q˜ i ) h˜ 2,4 = sin(αi ) sin(qi ) h˜ 3,4 = − sin(αi ) cos(qi ) h˜ 4,4 = cos(αi )
13
(2.5)
2.4. ROBOT MODELING CONVENTIONS CSD parameters from a given transformation matrix
Before an algorithm to solve the inverse problem can be developed, a subproblem has to be discussed. Given the following three equations, solve for the two unknowns χ, γ: sin χ sin γ = A
(2.6)
cos χ sin γ = B
(2.7)
cos γ = C
(2.8)
where {χ, γ ∈ R | 0 ≤ χ, γ ≤ 2π} and {A, B, C ∈ R | − 1 ≤ A, B, C ≤ 1}. This problem is related to find the corresponding angles in spherical coordinates of a given point on a unit sphere in Cartesian coordinates. In contrast, however, the range of γ is in the interval [0, 2π]. Solving (2.8), two possible solutions for γ within the interval exist: γ1 = acos(C ), and
(2.9)
γ2 = 2π − acos(C )
(2.10)
Hence, using (2.9) in (2.6) and (2.7) leads to p sin χ1 sin(acos(C )) = sin χ1 1 − C 2 = A, p cos χ1 sin(acos(C ) = cos χ1 1 − C 2 = B,
(2.11) (2.12)
and (2.10) in (2.7) and (2.7) gives p sin χ2 sin(2π − acos(C )) = − sin χ2 1 − C 2 = A, p cos χ2 sin(2π − acos(C )) = − cos χ2 1 − C 2 = B.
(2.13) (2.14)
Therefore, two cases must be distinguished when solving χ1 from (2.11) and (2.12) and χ2 from (2.13) and (2.14): • −1 < C < 1: Two possible solutions of χ can be found. These are χ1 = atan2( A, B) mod 2π, and χ2 = atan2( A, B) + π. √ • C = ±1: In this case 1 − C 2 = 0, and it follows that the existence of a unique solution for χ using (2.11) to (2.14) does not apply. From the mathematical point of view this can be seen as a singular configuration of the parametrization. In conclusion, solving the given system of nonlinear equations leads to two possible solutions (γ1 , χ1 ) and (γ2 , χ2 ) except if C = ±1. It follows from (2.5) that this situation only occurs if αi = −π, 0, or π. In this case the two consecutive axes are parallel if ai , 0 and from this it follows that the common normal between this axes is not defined uniquely – a well known problem of the DH parameters. In order to compute the CSD Parameters from (2.4) it is necessary to distinguish different cases. The general case is solved first and the solution of some special cases will be derived afterwards.
14
2.4. ROBOT MODELING CONVENTIONS • General Case: α , 0, q , 0, q˜ , 0: qi,1 = atan2 h˜ 2,4 , −h˜ 3,4 mod 2π qi,2 = atan2 h˜ 2,4 , −h˜ 3,4 + π q˜ i,1 = atan2 h˜ 3,2 , −h˜ 3,3 mod 2π q˜ i,2 = atan2 h˜ 3,2 , −h˜ 3,3 + π αi,1 = atan2 h˜ 2,4 , −h˜ 4,4 sin qi mod 2π αi,2 = atan2 h˜ 2,4 , −h˜ 4,4 sin qi + π d˜i = h˜ 2,1 sin qi − h˜ 3,1 cos qi / sin αi di = h˜ 4,1 − h˜ 4,4 d˜i ai = h˜ 2,1 cos qi − h˜ 3,1 sin qi
One of the combinations of qi, j , q˜ i,k , αi,l with j, k, l = 1 or 2 fulfills (2.4). • Special Case 1: h˜ 4,4 = 1 ∨ h˜ 4,4 = −1: From the analysis of (2.8) above it is known, that γ can be −π, 0 or π depending on the sign of (2.8), and hence sin γ = 0. For this reason, some of the e i are zero, which is used in the previous calculation and other elements of H ei elements of H i+1 i+1 are simplified: h˜ 2,1 = ai cos(qi ) h˜ 3,1 = ai sin(qi ) h˜ 4,1 = h˜ 4,4 d˜i + di h˜ 2,2 = cos(qi ) cos(q˜ i ) − h˜ 4,4 sin(qi ) sin(q˜ i ) = cos q˜ i + h˜ 4,4 qi h˜ 3,2 = h˜ 4,4 cos(qi ) sin(q˜ i ) + sin(qi ) cos(q˜ i ) = sin q˜ i + h˜ 4,4 qi h˜ 4,2 = 0 h˜ 2,3 = − cos(qi ) sin(q˜ i ) − h˜ 4,4 sin(qi ) cos(q˜ i ) = − sin q˜ i + h˜ 4,4 qi h˜ 3,3 = h˜ 4,4 cos(θi ) cos(q˜ i ) − sin(qi ) sin(q˜ i ) = h˜ 4,4 cos q˜ i + h˜ 4,4 qi h˜ 4,3 = 0
h˜ 2,4 = 0 h˜ 3,4 = 0 h˜ 4,4 = cos(αi )
15
2.5. SPECIAL TRANSFORMATION MATRICES The resulting CSD parameters can not be uniquely determined: qi = atan2 h˜ 3,1 , h˜ 2,1 mod 2π q˜ i = h˜ 4,4 atan2 h˜ 3,2 , h˜ 3,3 − qi mod 2π αi = 0 d˜i ∈ R (can be chosen arbitrarily) di = h˜ 4,1 − h˜ 4,4 d˜i ai = h˜ 2,1 cos qi − h˜ 3,1 sin qi
• Special Case 2: h˜ 4,2 = 0 ∧ h˜ 4,4 , ±1: From these conditions it follows, that q˜ i can be 0, π or 2π. It should be mentioned that not all special cases have been addressed here. However, to cover the structures of the manipulators which are considered in this work these cases are completely sufficient.
2.5. Special Transformation Matrices To control the end effector of a serial manipulator it is useful to define special matrices to transfer userdefined pose information to a basic representation.
2.5.1. Transformation Matrix from a given Axis and Angle The axis-angle representation parametrizes a rotation by an angle θ about a given axis determined by a unit vector r = [r x , ry , rz ], hence r2x + ry2 + rz2 = 1. The representation in homogeneous matrix form is
Σ Hr,θ
0 0 0 1 2 1 − cos θ 0 cos θ + r r r 1 − cos θ − r sin θ r r 1 − cos θ + r sin θ ( ) ( ) ( ) x y z x z y x = , 0 ry r x (1 − cos θ) + rz sin θ cos θ + ry2 (1 − cos θ) ry rz (1 − cos θ) − r x sin θ 0 rz r x (1 − cos θ) − ry sin θ rz ry (1 − cos θ) + r x sin θ cos θ + rz2 (1 − cos θ)
and is derived in [83]. Σ . For solving this inverse In some cases it is useful to assign r and θ from a given rotation matrix Hr,θ Σ , that are problem the entries on the main diagonal of Hr,θ h i Σ Σ Σ Σ Σ diag Hr,θ = rr,θ;11 rr,θ;22 rr,θ;33 rr,θ;44 , are rewritten as r2x
=
ry2 = rz2 =
Σ rr,θ;22 − cos θ
1 − cos θ Σ rr,θ;33 − cos θ 1 − cos θ Σ rr,θ;44 − cos θ 1 − cos θ
16
,
(2.15)
,
(2.16)
.
(2.17)
2.5. SPECIAL TRANSFORMATION MATRICES Since r2x + ry2 + rz2 = 1, (2.15) to (2.17) can be collected to Σ Σ Σ rr,θ;22 − cos θ + rr,θ;33 − cos θ + rr,θ;44 − cos θ = 1 − cos θ
and from this, θ results with cos θ =
Σ Σ Σ −1 + rr,θ;44 + rr,θ;33 rr,θ;22
2
=
1 Σ trace Hr,θ − 1. 2
Σ and a Finding the entries of vector r can be done by subtraction of two appropriate elements of Hr,θ division by sin θ: Σ Σ rr,θ;43 − rr,θ;34 1 Σ Σ r= rr,θ;24 − rr,θ;42 2 sin θ Σ Σ rr,θ;32 − rr,θ;23
2.5.2. Pose Matrix from a given Position, Direction and Angle The computation of a pose PΣ0 can be done by using the knowledge of the location of an object in space. The following description is of particular interest if the end effector pose of a manipulator is given by a position u0 , a direction d0 (coincides with ze -axis) and a rotation ϕ about the direction vector as depicted in Fig. 2.8. A rotation by an angle ϕ about a given direction determined by a unit vector d0 = [d x0 , dy0 , dz0 ]T , with d2x0 + dy20 + dz20 = 1, combined with a translation by the vector u0 = [u x0 , uy0 , uz0 ]T can be described by the homogeneous pose matrix
PuΣ00,d0 ,ϕ
1 u x0 = uy 0 uz0
dy
− dn0 d x0 dn
0
0
0 d x dz d x dz dy sin(ϕ) + d0 n 0 cos(ϕ) − d0 n 0 sin(ϕ) − dn0 cos(ϕ) d x0 dy dz dy dz dx sin(ϕ) + 0dn 0 cos(ϕ) − 0dn 0 sin(ϕ) + dn0 cos(ϕ) dy0 −dn cos(ϕ) dn sin(ϕ) dz0 ze
ye
ze d0
ye
d0 xe
Oe
ϕ
xe ϕ
u0 z0
z0
y0
y0 O0
x0
O0
(a) Exemplary situation.
x0
(b) Transformation elements.
Figure 2.8.: The relation between the two coordinate systems Σ0 and Σe .
17
(2.18)
2.5. SPECIAL TRANSFORMATION MATRICES with dn =
q d2x0 + dy20 .
(2.19)
By definition, PuΣ00,d0 ,ϕ is located on the terminal point of the spatial vector u0 and the direction of the
ze -axis coincides with d0 . However, the pose matrix PuΣ00,d0 ,ϕ becomes singular if d0 = [0, 0, 1]T since dn = 0 as it can be seen from (2.18) and (2.19). For this reason, a separate definition is made for this particular case. If the direction vector d0 lies on the z0 -axis (d0 = [0, 0, 1]T ) the pose matrix is defined by 0 0 0 1 u x0 cos(ϕ) − sin(ϕ) 0 Σ0 Pu0 ,d0 ,ϕ = , uy0 sin(ϕ) cos(ϕ) 0 uz0 0 0 1 where the rotational part of PuΣ00,d0 ,ϕ degenerates to a rotation ϕ about the z0 -axis. It should be noted that, nevertheless, smooth trajectories can not be guaranteed passing this singularity.
18
3. Related Work Since more than 30 years robot manipulators are getting high attention of different scientific disciplines. The combination of these fields led to a broad-based knowledge in robotics research and development. In this review, the focus lies mainly on the kinematics of serial manipulators and also on influences that affect the behavior of the robot and the precision of its end effector.
3.1. Design of Serial Manipulators The structural design of serial manipulators has slowly but continuously changed since the first practicable industrial robot (the Unimate) was installed in 1961 [116]. Today, components are lighter, the motors are more efficient and the CPUs are more powerful. Comprehensive computer simulation capabilities facilitate the operation of a robot system offline. Hence, self-collisions and/or collisions with obstacles, as well as the violation of physical limits of joint motors can be avoided by offline simulation. A serial manipulator is a kinematic chain, which can be built up with different types of joints. This work focus on articulated manipulators, that means only rotary joints are used as actuators. The KR 1000 Titan from Kuka, shown in Fig. 3.1a, represents a common design of an industrial serial robot. However, so-called SCARA2 type robots are mainly used for pick-and-place tasks. Figure 3.1b depicts a SCARA from Hirata. Each rigid body of the assembly is painted in a different color. 2 SCARA
is an acronym for Selective Compliance Assembly Robot Arm.
(a) Kuka KR 1000 Titan.
(b) Hirata AR-S270AE-4-200.
Figure 3.1.: Two different types of industrial robots.
19
3.1. DESIGN OF SERIAL MANIPULATORS
g6 g5 g4
Figure 3.2.: Three intersecting joint axis (g4 , g5 , and g6 ) which forms a robot’s wrist. In this section two different types of articulated manipulators are presented in detail. Firstly, the most common types available for industrial tasks and secondly, a general type which is much more complex in almost every topic regarding to the robot kinematics and control.
3.1.1. Common Industrial Robots The most common type of industrial robots with 6 DoF has an ortho-parallel basis substructure (3R) to position and a spherical wrist (3R) to orient the end effector. The axes g1 and g2 of an ortho-parallel substructure are orthogonal to each other and axis g2 is parallel to axis g3 [90]. It should be noted that this introduced definition is only valid if all axes intersect and for this reason, a1 must be set to zero to obtain this type of robot. If the last three axes of a serial robot intersect in one point this subsystem is called spherical wrist. The scheme of a spherical wrist is shown in Fig. 3.2 and the wrist axes are denoted by g4 , g5 and g6 . Pieper [101] showed that the position and the orientation problem of the end-effector of this type of articulated robots (decoupled manipulators) is solvable in a closed form. Thus, the IKP can be split into a position and an orientation problem which simplifies the computation dramatically [9].
3.1.2. General Serial Manipulators Whenever all consecutive joint axes of a serial manipulator are skew, which means that they are neither parallel nor orthogonal, the robot arm is called general or has a general structure. The term "general" excludes in this case all the aforementioned special cases to allow a distinction to industrial type robot arms. The advantages of general serial manipulators are not known in practice up to now and therefore they are not taken into account, e.g., in production lines. Additional reasons for that circumstance can be found in the more complex • kinematics (in particular the inverse kinematics), • shape of the posture dependent workspace (manipulator stays in an aspect of the workspace [130]), and • performance behavior of general manipulators compared to serial manipulators with simple design, e.g., industrial type robots.
20
3.1. DESIGN OF SERIAL MANIPULATORS Solving the IKP has long been a challenging problem in robotics. Throughout this work, the algorithm of Husty and Pfurner [23] is used to compute the inverse kinematics of general serial manipulators. Further details can be found in Sec. 3.2.2 in which the general applicability will be discussed. The shape of the (posture-dependent) workspace boundary is difficult to describe mathematically, because voids and cusps occur. A short insight into this complex problem will be given in Sec. 4. Due to the fact, that an alteration of the robot structure and also every modification of the configuration influence the end effector behavior, and therefore these changes also affect performance indices. Due to the influence of the manipulators structure the complexity during the design process increases rapidly when such objective functions are considered.
3.1.3. Modular Serial Robots Several concepts and definitions of modular robots have been published in engineering literature. The construction of the active and passive modules is naturally given the most attention. One of the first papers that deals with this topic was published in 1978 by Surnin [12] and provides a definition which is still valid: “By a design module one understands a functionally and structurally independent unit which can be employed individually and composed in various combinations with other modules.” Different concepts of modular robots are presented in related publications, where the goal is either to receive well defined structures that can perform predefined tasks or to recreate existing solutions in modular design. Regarding modular robots, e.g., crawling ([131]) or walking ([140]) robots which are also built of uniform modules (e.g. [134], [75] and, [81]) are not considered further in this work. The attention in this thesis will be mainly focused on industrial applications and the structural modification of robotic arms by using industrially available modular actuators. First successful applications with robots in modular design have already been implemented in the mid-eighties of the last century. A modular robotic system to assemble a family of egg coddlers can be found in [43] and a concept of a reconfigurable modular manipulator system is shown in [59]. In [4] a newer conceptual design of a robotic system with a rotary joint module and a wrist module is presented. Link modules of different size but with an identical interface should enable the construction of a serial kinematic chain for a generic industrial usage. A solution to split an industrial robot into modular elements to reduce development time and costs is proposed in [114] and a similar concept can be found in [91]. An approach to design a modular manipulator with adaptable links is shown in [111], where an adjustment of link length and link twist is enabled. The advantage of this concept is that an adaptation can be made by a mechanical procedure without exchanging modules. In the concept of a metamorphic serial manipulator presented in [125], adaptive links, which can be manually rotated about one axis, and thus act as pseudo-joints, are in use. Hence, disassembling the open chain is not necessary to change its structure. A concept of adjusting the robot structure in accordance to changes in the task requirements is described in [113]. The proposed reconfigurable and scalable system tries to fulfill the task, where the controller allows changes in number and type of the components as well. Advantages and drawbacks arising from a serial robot designed as modular system are briefly discussed: • Advantages – An adjustment of the number of joints to the degree of freedom of the task is possible. – The structure of the manipulator can be adapted according to a given task.
21
3.2. KINEMATIC ANALYSIS – Depending on the task, different materials can be used for the links, e.g., to reduce weight or increase stiffness. – A fast replacement of faulty or broken modules (joints and links) can be done, which makes the system economically attractive. • Disadvantages – Each reconstruction requires a recalibration of the robot arm or at least of the end effector. – A sophisticated model-based control scheme has to be employed to handle the manipulator in a meaningful way. – To avoid obstacles and self-collisions, a structure-dependent model-based approach must be used. – Changes to the robot structure may lead to a complex posture-dependent workspace. Despite all the difficulties mentioned above, the benefit of modularity in the construction of a platform to build and test generally structured serial robots is exploited.
3.1.4. Redundant Manipulators Robot systems are known as redundant, if a given task can be performed with infinite variants. This requires the existence of more actuators of the robot than necessary DoF for the task. Building a redundant manipulator can be motivated by a large operational workspace, a large range of end effector orientations within the workspace, the high risk of collision, and singularity avoidance. [46, 119] Whenever an m DoF task should be fulfilled by an n DoF manipulator, with n > m, the manipulator is called kinematically redundant due to the extra DoFs of the robot. The difference of the two dimensions is called the degree of redundancy r, which is simply r = n − m [33]. If the task space is completely contained in the end effector space and has a lower dimensionality than n, the manipulator is said to be task redundant [29]. Even with non-redundant systems, there exist postures, which lead to a kinematic redundancy, denoted as uncertain end effector poses, discussed in [80]. A manipulator with n > 6 is called inherently redundant [109] and thus it is kinematically redundant as well. As a consequence the kinematic configuration of the robot can be changed, while its end effector holds a fixed pose in space, commonly known as self- or null space-motion. From this it follows that for the definition of the surplus freedoms mathematically additional information has to be taken into account. A common objective is to increase the performance of the manipulator, which means an optimization must be performed. Some of possible performance criteria and cost functions are discussed in Sec. 3.3 and Sec. 5.2.3.
3.2. Kinematic Analysis In the kinematic analysis motions of mechanical systems are described mathematically which is the basis for any kinematic evaluation of a robot system. Using the forward kinematics, the pose of the end effector as function of the joint angles is computed. The computation goes vice versa when the inverse kinematics is applied. In this case the unknown joint angles can be derived from a given end effector pose and the given design parameters.
22
3.2. KINEMATIC ANALYSIS
3.2.1. Forward Kinematics The forward kinematics problem of serial manipulators can be solved straightforwardly using homogeneous matrices based on the structural and geometrical characterization of the robot (the design parameters D) and the values of actuated joint angles q [9]. As previously described in Sec. 2.4.1, the transformation from one to the next joint axis can be modeled by a composition of translation and rotation matrices: Hii+1 = Tzi (di ) Rzi (qi ) T xi+1 (ai ) R xi+1 (αi ) By a multiplication of all individual transformation matrices, the homogeneous forward transformation HΣΣ0EF from reference frame Σ0 to end effector frame ΣEF arises: Σ0 PEF
= b
HΣΣ0EF
=
n−1 Y i=0
Hii+1
(3.1)
This well known forward kinematics map, denoted as φD , is symbolized as φD : Rn → Rm
Σ0 , q 7→ φD (q) := PEF
(3.2)
where D collects all design parameters of a manipulator with n joints and m denotes the number of Σ0 represents an end parameters of the manipulator that vary independently (m ≤ n). In (3.1) and (3.2) PEF effector pose as defined in (2.3).
3.2.2. Inverse Kinematics Whenever the pose of an end effector has to be changed, the inverse kinematics problem (IKP) associated to a known manipulator must be solved. This problem turns out to be harder than the forward kinematics problem regarding serial robots since the solution is not unique. Moreover, the computational evaluation of the inverse kinematics for general nR manipulators becomes more difficult in contrast to the IKP of standard industrial type robots. To ensure a desired position and orientation of the end effector serial robots with 6 rotational joints have at most 16 solutions to the IKP. The geometric properties that yield a smaller maximum number of configurations than that of the general case are summarized in [79]. A well-known case is that of intersection of the last three axes in a point (denoted by C in Fig. 2.5). At this instance the manipulator is referred to as decoupled and the maximum number of solutions reduces to 8. To position the intersection on point C of the last three axes of a decoupled manipulator in space there are up to 4 different postures (real solutions). For each positioning solution there exist up to two possible solutions for the joint values of the last three axes for a specified end effector orientation. [9] The transfer from one inverse kinematic solution to another is called posture change [16]. Except for cuspital manipulators this change passes through a singularity [129]. Solving the IKP for Industrial Type Robots
In this section a method is presented, which allows to solve the IKP for all serial 6R manipulators with an ortho-parallel basis and a spherical wrist (also known as 321 kinematic structure with offsets [101]).
23
3.2. KINEMATIC ANALYSIS Although the problem was treated in detail (e.g., [37, 63, 69, 98]), a practical and user-friendly version is shown that does not require a description of the robot structure with DH parameters. Based on OPW parameters introduced in Sec. 2.4.2 a generic analytical solution for the kinematics problem, presented in [17], is summarized. This type of manipulators allows to decouple the position and orientation problem when solving the inverse kinematics, more precisely, to consider the 3R ortho-parallel substructure and 3R wrist substructure separately. The set of input variables of the algorithm contains the design parameters of the manipulator (OPW parameter) and the desired end effector pose. All eight possible solutions of the joint angles are collected in Tab. 3.1 on page 26. Seven parameters are needed to describe the geometry of ortho-parallel manipulators equipped with a spherical wrist denominated as a1 , a2 , b, c1 , c2 , c3 , c4 . The meaning of these distances can be found Σ0 in Sec. 2.4.2. The desired pose PEF of the end effector in the coordinate system Σ0 can be specified by h Σ Σ Σ iT a 3×1 position vector uΣ0 = u x 0 , uy 0 , uz 0 and a 3×3 rotation matrix RΣ0 given by
Σ0 PEF =
1 uΣ0
0 RΣ0
1 ! Σ0 u = Σx 0 uy Σ0 uz
0
0
e1,1 e1,2 e2,1 e2,2 e3,1 e3,2
0 e1,3 . e2,3 e3,3
A useful computation especially for practical applications can be done by finding the pose matrix from a given position, direction and angle shown in Sec. 2.5.2. Positioning Part
h iT starts with computing the elements of vector cΣ0 = cΣx 0 , cyΣ0 , czΣ0 of point C: Σ0 Σ0 c x u x Σ0 Σ0 cy = uy − c4 RΣ0 Σ0 Σ0 uz cz
24
0 0 1
3.2. KINEMATIC ANALYSIS From the computation of the first three angles q1 , . . . , q3 four solutions, denoted by Roman subscripts from i to iv, result: r Σ Σ Σ 2 Σ 2 0 0 0 0 q1;i = atan2 cy , c x − atan2 b, c x + cy − b2 q1;ii = atan2 q2;i,ii q2;iii,iv
q3;i,ii
q3;iii,iv
cyΣ0 ,
cΣx 0
r Σ 2 Σ 2 0 0 2 c x + cy − b − π + atan2 b,
r 2 Σ 2 Σ 2 s1 + c22 − a22 − c23 Σ + atan2 c x 0 + cy 0 − b2 − a1 , cz 0 − c1 = ∓acos 2 s1 c2 r 2 Σ 2 Σ 2 s2 + c22 − a22 − c23 Σ 0 0 0 2 − b + a1 , cz − c1 = ∓acos − atan2 c x + cy 2 s2 c2 2 2 2 2 s1 − c2 − a2 − c3 − atan2 (a2 , c3 ) = ±acos q 2 c a2 + c2 2 2 3 2 2 2 2 s2 − c2 − a2 − c3 − atan2 (a2 , c3 ) = ±acos q 2 c a2 + c2 2 2 3
where s21
r 2 Σ 2 Σ 2 = c x 0 + cy 0 − b2 − a1 + (czΣ0 − c1 )2 ,
r 2 Σ 2 Σ 2 2 0 0 2 s2 = c x + cy − b + a1 + (czΣ0 − c1 )2 . consists almost entirely of trigonometric functions. As it can be seen from the equations below, the orientation part is independent of any design parameters. Orientation Part
q4;p = atan2(e2,3 cos(q1;p ) − e1,3 sin(q1;p ),
e1,3 cos(q2;p + q3;p ) cos(q1;p ) + e2,3 cos(q2;p + q3;p ) sin(q1;p ) − e3,3 sin(q2;p + q3;p ))
q4;q = q4;p + π q q5;p = atan2 1− (e1,3 sin(q2;p + q3;p ) cos(q1;p )+ e2,3 sin(q2;p + q3;p ) sin(q1;p )+ e3,3 cos(q2;p + q3;p ))2 , e1,3 sin(q2;p + q3;p ) cos(q1;p ) + e2,3 sin(q2;p + q3;p ) sin(q1;p ) + e3,3 cos(q2;p + q3;p ) q5;q = −q5;p
q6;p = atan2(e1,2 sin(q2;p + q3;p ) cos(q1;p ) + e2,2 sin(q2;p + q3;p ) sin(q1;p ) + e3,2 cos(q2;p + q3;p ), − e1,1 sin(q2;p + q3;p ) cos(q1;p ) sin(q2;p + q3;p ) sin(q1;p ) − e3,1 sin(q2;p + q3;p ))
q6;q = q6;p − π
where p ={i, ii, iii, iv} and q = {v, vi, vii, viii}.
25
3.2. KINEMATIC ANALYSIS All these individual solutions result in the complete solution of the IKP of ortho-parallel 6R manipulators with a spherical wrist. Table 3.1 serves as overview representation of this solution set which can be written as QOPW = {q1 , q2 , . . . , q8 } . Summing-up
Table 3.1.: Overview of all possible solution sets in QOPW . q1
q2
q3
q4
q5
q6
q7
q8
q1;i q2;i q3;i q4;i q5;i q6;i
q1;i q2;ii q3;ii q4;ii q5;ii q6;ii
q1;ii q2;iii q3;iii q4;iii q5;iii q6;iii
q1;ii q2;iv q3;iv q4;iv q5;iv q6;iv
q1;i q2;i q3;i q4;v q5;v q6;v
q1;i q2;ii q3;ii q4;vi q5;vi q6;vi
q1;ii q2;iii q3;iii q4;vii q5;vii q6;vii
q1;ii q2;iv q3;iv q4;viii q5;viii q6;viii
If a serial manipulator with less than 6 DoF is considered, the absent axes with respect to the 6R manipulator must be kept constant by choosing an appropriate input. In many cases, serial 5R manipulators dispense with the fifth joint axis of an industrial 6R manipulator. If one interprets this fact geometrically, the orientation of the end effector axis is limited. In other words, coordinate axis ze intersects with the first axis of rotation permanently. The IKP of General Serial 6R Manipulators
To find the solution of the IKP for general serial manipulators with six revolute joints is, or rather was, a major challenge. Serial 6R manipulators have in general 16 solutions for one specific end effector pose regarding the IKP if singular configurations are not taken into account. This upper bound was first proposed by Primrose [102] and was later proven by Lee and Liang [71], who showed that the inverse problem can be reduced to a univariate polynomial with degree 16. Despite the complexity of the IKP, the following concise notation to denote the solution set is used from now on: q1,1 . . . q1,6 Σ . .. .. 0 . (3.3) φinv P = Q = , q , . . . , q ⇔: {q } . 1 2 16 . D EF . q16,1 . . . q16,6 The 16×6 array in (3.3) is per definition equal to configuration set Q and collects all solutions qi that define possible assignments for the six joint angles. The first example of 16 distinct real solutions for an end effector pose of a serial 6R manipulator was given by Pieper in 1968 [101]. The DH parameters of this manipulator are listed in Tab. 3.2. When the end effector attains a certain specified pose, given by
Σ0 PEF
1 0 0 0 12.066021 −0.321662 −0.480650 0.815787 = , 0.505310 0.641487 0.577197 18.035167 −5.609106 −0.800746 0.597888 0.036535
26
3.2. KINEMATIC ANALYSIS
Table 3.2.: DH Parameters of Piepers’s 6R Manipulator. i-th Link 1 2 3 4 5 6
di / mm 0 0 0 0 0 0
ai / mm 0 15 0 15 0 0
αi / deg 90 −90 90 −90 90 0
the possible configuration set can be found to be −146.000 159.000 −78.000 56.000 157.000 −179.000 159.000 102.000 124.000 23.000 1.000 −146.000 156.327 −74.702 63.854 155.877 −173.187 −140.870 156.327 105.298 116.146 24.123 6.813 −140.870 −128.784 −124.042 −47.340 −80.124 123.987 77.280 −128.784 −124.023 132.660 −99.872 56.016 −102.720 −83.028 −145.778 −97.018 −162.090 105.125 −17.179 −83.028 −145.755 82.982 −17.910 74.876 162.821 . QPieper = 34.000 21.000 −102.000 −124.000 157.000 −179.000 34.000 21.000 78.000 −56.000 23.000 1.000 39.130 23.673 74.702 −63.854 24.123 6.813 39.130 23.673 −105.298 −116.146 155.877 −173.187 51.216 −55.977 −132.676 99.876 123.987 77.280 51.216 −55.977 47.325 80.124 56.013 −102.720 96.973 −34.245 −82.982 17.910 105.124 −17.179 96.973 −34.245 97.018 162.090 74.876 162.821 To visualize the structure of Piepers’ example, the Cuma-arm serves as method for such a representation, see Fig. 3.3. Cuma is a modular system and will be introduced in Sec. 5.2.6 in more detail.
(a) Posture 7 of QPieper .
(b) Posture 14 of QPieper .
Figure 3.3.: A representation of Pieper’s solution shown by two different postures.
27
3.2. KINEMATIC ANALYSIS
Table 3.3.: DH Parameters of Lee’s 6R Manipulator. i-th Link 1 2 3 4 5 6
di / mm 0 890 250 −430 500 −1340
ai / mm 120 1760 70 880 390 930
αi / deg −57 35 95 79 −75 −90
Furthermore, the structure of Lee’s manipulator [72] and a pose of the end effector where 16 real solutions exist is cited as a classical example used in robot kinematics literature. In contrast to the other known structures this example has neither parallel nor orthogonal consecutive axes. The DH Parameters of the serial chain is given in Tab. 3.3. With the following end effector pose, given by 1 0 0 0 0.798811 −0.357279 −0.850000 0.387106 Σ0 PEF = , 0.915644 −0.237000 0.324694 −0.000331 1.200658 −0.184246 0.470458 0.862973 a solution set can be found, where all values of the joint angles are real:
QLee
=
−173.929 −159.844 −148.775 −139.059 −137.195 −83.095 −53.178 −46.014 −41.685 −22.603 −22.260 −16.480 1.227 164.800 174.083 177.539
150.697 47.812 −21.001 −40.439 −92.284 −159.336 −111.347 120.270 176.598 21.676 −179.713 −78.506 158.086 148.254 55.712 128.113 96.052 25.441 −7.346 −119.838 −156.920 68.307 135.686 −51.348 147.446 57.023 130.976 67.570 −10.828 −110.982 26.167 9.103 145.868 136.351 127.977 −19.257 −46.988 −120.218 −145.865 −114.769 −29.130 52.361 6.559 −129.124 25.091 28.095 98.631 −176.246 12.455 169.879 −22.431 −32.025 −32.412 −172.617 −17.156 −10.748 −58.895 −4.164 164.079 5.678 −7.353 142.697 −123.879 −29.215 149.208 −154.291 −85.341 4.780 −127.809 −101.359 −163.302 −164.792 −107.819 −155.738 141.281 −148.179 159.429 −148.647 −129.278 110.984
(3.4)
The 16×6 set QLee of (3.4) represents the inverse kinematics solution for the specified pose with all 16 solutions of the six joint angles (collected in qi ). Σ0 Whenever pose PEF is varied within a certain range the number of real solutions will not decrease as Σ0 can be seen from the cross-section through PEF . Figure 3.6 depicts this characteristics, where the orientation of the end effector is kept constant and the end effector is moved along the three axial directions xΣEF , yΣEF , and zΣEF .
28
3.2. KINEMATIC ANALYSIS
(a) Posture 12 of QLee .
(b) Posture 14 of QLee .
Σ0 Figure 3.4.: A representation of Lee’s solution shown by two different postures for pose PEF .
num. of solutions with real values
In addition, a reference to further solutions with maximum number of real joint values known from the literature is made. Manseur and Doty [77] gave an explicit example of an IKP where the complete solution set has real values but falsely claimed to have delivered the first such solution. Wampler and Morgan [127] varied this solution and presented four more examples. Weiß found a class of robot structures having 16 real solutions, which closely resemble industrial robots. These manipulators are presented and discussed in [128]. The IKP of the examples above is solved by the algorithm of Husty and Pfurner [50]. As can be seen in Fig. 3.6, the cross sections have irregularities in some places. These errors are due to inaccuracies in the mathematical computation and depend on the choice of sub-algorithms and their implementation. To get a better idea on how the number of real solutions vary, Fig. 3.5 depicts the computed amount of Σ0 possible configurations when PEF is shifted along zΣEF from −200 to 200. A closer look on the used implementation of the Husty-Pfurner algorithm will be taken in the following paragraph.
16 14 12 10 8 6 4 2 -200
-100
0
100
200 zΣEF
Figure 3.5.: Implementation dependent discontinuities can be identified by the peaks downwards.
29
3.2. KINEMATIC ANALYSIS
200
16
14
150
14
100
12
100
12
50
10
50
10
0
8
0
8
-50
6
-50
6
-100
4
-100
4
-150
2
-150
2
-200 -200 -150 -100 -50 0 50 100 150 200
0
-200 -200 -150 -100 -50 0 50 100 150 200
0
zΣEF / mm
16
zΣEF / mm
200 150
yΣEF / mm
xΣEF / mm
16
150
14
100
12
50
10
xΣEF / mm
200
0
8
-50
6
-100
4
-150
2
-200 -200 -150 -100 -50 0 50 100 150 200
0
z Σ0
y Σ0 x Σ0
y ΣEF z ΣEF xΣEF
yΣEF / mm
Figure 3.6.: Colormap related to Lee’s manipulator with number of solutions analyzed in perpendicular cross sections.
Algorithm of Husty and Pfurner
Solving the inverse kinematics has far long time been a challenging problem because general serial manipulators do not allow a decoupling of the positioning and orientation problem. For this reason, there are numerous papers describing methods to find solutions of the IKP. Within this work the Husty-Pfurner algorithm as described in [50] and analyzed and numerically improved in [10, 11] is used to compute the inverse kinematics for general serial manipulators. Choices within the algorithm cost by predefined thresholds must be made because of numerical inaccuracies in the inverse kinematics computation process. These decisions may lead to an incomplete or incorrect set of associated solutions. Errors occur when desired solutions are eliminated because • they lie in the neighborhood of solutions which are known to be no inverse kinematic solutions and therefore removed by default, • an inverse kinematics solution in the neighborhood was already detected and all adjacent solutions are interpreted as the initially found solution,
30
3.3. PERFORMANCE CRITERIA • numerical inaccuracies within the calculation lead to an imaginary part in the solution which exceeds a defined level, • the difference between desired end effector pose and end effector pose resulting from the calculated joint angles exceeds a defined limit, and a more technical reason is that • the substitution of the first joint-angle determined by the resultant calculation into both bivariate polynomials delivers deviating values for the associated second joint angle. For each of these queries, a threshold is determined. The number of solutions found depends also on the used algorithm for finding the roots of the univariate polynomial (Jenkins-Traub algorithm [57] vs. eigenvalue method [10]). Whenever the IKP for more than one pose is solved, i.e., in case if the end effector has to follow a trajectory a set of solution sets is provided. Unfortunately, the configurations in the sets Q1 , . . . , Qk , where k is the number of considered poses, are not related across the sets. Hence, in a further step the order of the computed configurations within every Q has to be rearranged to get continuous joint trajectories [64]. During this process the number of solutions can get reduced but on the other hand partly missing solutions of the IKP can also be compensated.
3.3. Performance Criteria A brief overview of different performance indices and their aims is given in this section. All stated fundamentals regarding this section can be found in the books of Siciliano [110] and Angeles [9]. The mentioned indices can be used as measures for the assessment of end effector poses within the manipulator’s workspace and they are required dealing with optimization problems subsequently. A good overview of relevant performance measures can be found in [97]. Before defining common and new performance indices, the Jacobian matrix is introduced. This matrix describes in simple terms, the relation between the manipulator’s joint velocities and its end effector velocities. Jacobian Matrix
By collecting the partial derivatives of the kinematic equations f1 , . . . , fm of a robotic system with respect to joint angles q = [q1 , . . . , qn ], we obtain the Jacobian matrix ∂ f1 ∂q1 J(D, q) = ... ∂ fm ∂q1
∂ f1 ∂q2
.. .
∂ fm ∂q2
... .. . ...
∂ f1 ∂qn
.. .
∂ fm ∂qn
,
which is also dependent on the manipulator design D. In D all structural parameters of the robot arm are included. The relation of the velocity vector x˙ and the joint velocities q˙ of a serial chain (also referred to as first-order differential kinematics [109]) is given by J(D, q) ∈ Rm×n : x˙ = J(D, q) q˙ ,
31
3.3. PERFORMANCE CRITERIA
zi-1 Oi-1 z0
pi-1
O0
x0
ri-1, e
y0
ze
pe
Figure 3.7.: Scheme for computing the Jacobian matrix geometrically. where q˙ and x˙ represent the time derivatives of the joint angles q and the task-space coordinate vector x = [ x, y, z, α, β, γ]T of a considered rigid body on the last chain (e.g., the end effector). It should be noted that the last three components in x represent a minimal description of the end effector orientation [109]. Moreover, the Jacobian can be used to map joint torques τ to end effector forces/torques f by J(D, q) τ = f .
(3.5)
To simplify the notation, J instead of J(D, q) is henceforth used if this simplification will not affect the sense of the expression. Now, the computation of the Jacobian matrix J in a geometrical way is briefly introduced [109]. Considering the formula " # " # z0 × (pn − p0 ) z1 × (pn − p1 ) . . . zn−1 × (pn − pn−1 ) JP J= = z0 z1 ... zn−1 JO the Jacobian is divided into a position (JP ) and an orientation (JO ) part. As depicted in Fig. 3.7, the i-th joint serves as example, where pi−1 denotes the position and zi−1 denotes the direction of the (i − 1)-th axis. Moreover, ri−1,e in Fig. 3.7 indicates the vector between the position of (i − 1)-th joint given by Oi−1 and the location of the end effector. Singular Values of the Jacobian Matrix
If the Jacobian is written in its Singular Value Decomposition (SVD) form J = U Σ VT than U, VT are rotation matrices, and σ1 0 · · · 0 0 σ2 . . . 0 Σ = . . . .. ... 0 . 0 0 0 σm
0 · · · 0 0 · · · 0 , 0 · · · 0 0 ··· 0
(3.6)
is a scaling matrix. Figure 3.8 shows the principle result of this mapping. Here, J is composed by a rotation VT , followed by a scaling Σ, and a final rotation U. The non-negative real numbers σmin ≤
32
3.3. PERFORMANCE CRITERIA ∆q2
∆y
J
σmin ∆x
∆q1 σmax
Figure 3.8.: The mapping between joint and configuration space shown in the planar case. σi ≤ σmax with i = 1, . . . , m in (3.6) denote the singular values of the Jacobian matrix J. It also can be shown, that det J = σmin · σ2 · . . . · σmax holds. If at least one singular value is equal to zero, the manipulator is in a singular configuration.
3.3.1. Manipulability Index The manipulability index MI was defined by Yoshikawa [135]. In general q MI = det(J JT ) is valid even for redundant systems (m < n). Non redundant manipulators, i.e., robot systems with square Jacobian matrices directly provide the manipulability index as MI = det J .
(3.7)
If two rows or columns of J are interchanged, the manipulability index remains equal. From this invariance it follows that joints can be exchanged without any effect on MI [86]. As discussed in detail in [117] eigenvalue-based indices are non-invariant due to changes of reference frame, scale, and physical units. Therefore, the MI is not a natural concept to describe the performance of a manipulator.
3.3.2. Condition Number The condition number CDN σmax (J) CDN = = σmin (J)
s
λmax (JT J) λmin (JT J)
(3.8)
was first introduced by Salisbury and Craig [107]. In (3.8) λmin and λmax denote the minimum and maximum eigenvalue of the known matrix J. The condition number describes the amplification error due to geometrical errors and is not invariant under Euclidean displacement. The inverse condition number CDN−1 is defined by the inverse of (3.8) to be σmin (J) 1 = CDN σmax (J)
33
3.3. PERFORMANCE CRITERIA and lies in the interval [0, 1]. This performance measure was introduced by Togai [123]. If the condition CDN = CDN−1 = 1 holds, an isotropic configuration is present, whereas the other bound of the interval of the inverse condition number (CDN−1 = 0) represents a singular manipulator configuration.
3.3.3. Kinematic Isotropy Indices Kinematic isotropy means an equal kinematic behavior of the manipulator’s end effector in all directions. On one hand there is a distinction between local and global indices and on the other hand between the behavior of rotatory and translatory motions. Since the isotropy of the linear and angular velocity are decoupled, the local position isotropy index (LPII) can be computed by
Local Isotropy Indices
LPII =
σmin (JP ) , σmax (JP )
where σP,min is the smallest and σP,max is the largest singular value of JP and hence, this measurement is strongly related to CDN−1 . The closer the value of this index to 1, the more homogeneous is the behavior of the robot end effector with regard to linear movements. Similarly, the local orientation isotropy index (LOII), defined by LOII =
σmin (JO ) , σmax (JO )
can be understood as a measure for independence with respect to the end effector rotation. Note, that JP and JO have entries with different units and thus, they can not be simply considered together [73]. The calculation and use of a characteristic length CL is a method to deal with nonhomogeneous physical unis of rotation and translation when LPII and LOII should be combined. By involving a compensation element the computation of a significant index value is then possible [122]: I3 O3 T , C = J LJ with L= O3 CL1 2 I3 where I3 the 3 × 3 identity matrix and 03 is the 3 × 3 zero matrix. In [60] the authors cope with the problem of Jacobian matrices filled by elements with different units and introducing a dimensionally homogeneous Jacobian with dimensionless entries. Also scaling matrices are taken into account to remove physical units in [110, 120]. Global Isotropy Index The Global Isotropy Index (GII) described in [38], also referred to as Global Conditioning Index (GCI) proposed by Gosselin and Angeles [38], is a measure for the dexterity of the manipulator throughout its workspace. Let q1 and q2 denote two configurations of a manipulator, then
GII(q) = min
q1 ,q2 ∈W
σmin (J(q, q1 )) σmax (J (q, q2 ))
34
3.3. PERFORMANCE CRITERIA is defined as ratio of the smallest to the largest singular value in the workspace. To find the optimal configuration q∗ within a discrete set of configurations Q q∗ = arg max GII(q) , q∈Q
the Culling Algorithm, introduced in [121], can be applied. Golith [39] proposes the velocity anisotropy, which also bases on evaluating the singular values of the Jacobian of a given manipulator. It is defined for every point i in the workspace W by σi,max VA = , σmax,max Velocity Anisotropy
where σmax,max is the largest of all σmax : σmax,max = max(σi,max ) i∈W
3.3.4. Accuracy, Repeatability, and Types of Resolution One essential property of an industrial robot to be used reasonably is a precise positioning behavior of its end effector. For this reason, the precision performance of kinematic systems was specified and examined in detail in the field of robotics. There are different factors that have an adverse effect on the accuracy of robot systems, e.g. fabrication tolerances and environmental influences. These factors have different influences on the behavior of the robot’s end effector accuracy and a distinction is made between static (e.g., insufficient robot calibration) and transient (e.g., link deflections due to payload) error causes. The most important and established criteria are the accuracy and the repeatability of the pose of the end effector. Moreover, their definition can be divided into industrial standardization and scientific views. Therefore, a review of correlated industrial norms is given and current research results are highlighted in a subsequent step. ISO Standard of Accuracy and Repeatability
The standardization of the performance of a robot
arm is based on statistical considerations. According to ISO 9283:1998 [53] the positioning accuracy AP p (see Fig. 3.9a) is defined by q
AP p = with
( x¯ − xc )2 + (y¯ − yc )2 + (z¯ − zc )2
n
n
n
1X 1X 1X x¯ = x j , y¯ = y j , z¯ = zj . n j=1 n j=1 n j=1
(3.9)
Here, the commanded pose is given by [ xc , yc , zc ] and the coordinates of the centroid of the cluster of n effectively measured points are [ x¯, y¯ , z¯]. The standardized orientation accuracy is evaluated separately for the three Euler angles α, β, γ by APα = (α¯ − αc ) , APβ = (β¯ − βc ) , APγ = (γ¯ − γc )
35
3.3. PERFORMANCE CRITERIA
zc
z0 RPl
G
barycentre
RTp
z0 x0
Pc,i ATp,i
APp
Pc
y0
commanded path
yc
xc
j-path
y0
x0
(a) Absolute accuracy and repeatability.
(b) Path accuracy.
Figure 3.9.: Definition of accuracy parameters according to ISO 9283:1998. with
n
α¯ =
n
n
1X 1X 1X α j , β¯ = β j , γ¯ = γj , n j=1 n j=1 n j=1
¯ γ¯ is the mean of the n measured angles. where αc , βc , γc are the commanded and α, ¯ β, The unidirectional pose repeatability is also defined by the ISO norm: RPl = 3 σl +
n X
l j.
(3.10)
j=1
In (3.10) three times the corrected sample standard deviation v u t n 1 X (l j − l¯)2 with σl = n − 1 j=1
n
1X l¯ = lj n j=1
is taken into account. Furthermore, lj =
q
( x¯ − x j )2 + (y¯ − y j )2 + (z¯ − z j )2
where x¯, y¯ , z¯ is similar to (3.9) the barycentre of the cluster. The orientation repeatability is standardized by v u t n 1 X RPi = ±3 (τi, j − τ¯ i )2 with n − 1 j=1
i = 1, . . . , 3
and τ1 = α, τ2 = β, τ3 = γ. The mean of the n measured angles is represented by τ¯ i , where τ¯ 1 = ¯ τ¯ 3 = γ¯ . α, ¯ τ¯ 2 = β, The evaluation of accuracy and repeatability can be extended to trajectories using the definitions for a static point accordingly. Figure 3.9b shows, in simplified terms, the deviation of path dependency. Every point i of the path is located in a tube with diameter RT p (path repeatability) and the positioning path accuracy is indicated by AT p,i . The standards have come under increasing criticism for insufficient specifications how to determine the characteristic values in practice. Robot manufacturers have decided by themselves case by case
36
3.4. DEFECTS IN SERIAL CHAINS which test method has to be applied [15]. Within the IRIS-Project (Improvement of Robot Industrial Standardization), clear guidelines to determine the accuracy of industrial robot manipulators should be developed to base a revision of the standard ISO 9283:1998. A revised version has still not come into effect. In [124] five different off-the-shelf robots are evaluated regarding absolute accuracy and repeatability influenced by physical factors. Among other analyzes, the influence of fastening, temperature, and load are considered. The analysis suggests that absolute accuracy and repeatability varies within the workspace, and in addition, manufacturer, size and age have also a significant influence. It can be noted from this study that the influence of load is much smaller than the impact of temperature and fastening. The analysis of an industrial 6R robot manipulator is given in [124] as an example. From the DH parameters it is clear that one of the discussed manipulators is an IRB 2600-20/1.65 but because of obvious reasons the manipulator type is not mentioned explicitly. All measurements were performed with a laser tracking system with an uncertainty of 12.5 µm. The evaluation shows an end effector repeatability of 0.1 to 4.5 mm and an absolute accuracy of the end effector of 2.0 mm to 12.8 mm. The manufacturer (ABB) advertises an end effector pose repeatability of 0.04 mm [1]. Because the accuracy of manipulators is also influenced by dynamical conditions (e.g., different payload), dynamic methods to increase end effector precision were developed. By the combination of angular measurements and visual data the absolute accuracy can be improved significantly [74]. This fact is not surprising since a control loop is integrated in this approach. Actual Research on Accuracy and Repeatability
Repeatability is primarily affected by the controller resolution. Controller resolution means the smallest increment of motion that the controller can sense and handle and is determined by the encoder resolution and the used computer number format [115]. By a mapping of the controller resolution to the workspace the spatial resolution is obtained which indicates the smallest motion of the end effector that the controller can sense [47]. Controller and Spatial Resolution
If the distribution of the angular positions of a joint is modeled as Gaussian the behavior of the end effector is modeled in a more realistic manner [24]. This method is consistent in principle with empirically determined test data on various industrial robots [104, 25].
Stochastic Ellipsoid
3.4. Defects in Serial Chains A mathematical model will never represent the system’s kinematic behavior in a rigorous way. The reasons for this are manifold and are due to different sources of errors. In [68] one of the first error classifications due to end effector positioning is proposed. The three listed groups of sources are: • dimensional errors in the individual parts, • dynamic errors due to elastic deflection, and • errors in servo-positioning the manipulator’s joints.
37
3.4. DEFECTS IN SERIAL CHAINS A definition of five groups to classify accuracy factors are given in [62]. The categories are (1) environmental (e.g., temperature change, payload), (2) parametric (e.g., friction, backlash, reference offset), (3) measurement (e.g., resolution), (4) computational (e.g., round-off), and (5) application (e.g., installation errors). This factors were separated in [58] into internal and external sources of influence on end effector accuracy. To specify the pose error of a serial manipulator a distinction can be made between control factors and noise factors which influence the accuracy of the end effector pose [106]. A control factor is understood to be a selectable factor of the robot designer like link-length, link-mass, and joint torque. Noise factors are expensive or hard to control, e.g., errors in manufacture and assembly, joint friction, and electrical noise. Both groups coincide with the two types of positional errors (geometrical and non-geometrical) defined in [55]. In the following subsections, some of these errors are described in more detail.
3.4.1. Machining and Assembly Errors Technical inaccuracies due to process issues lead to tolerances of mechanical parts used in robotic systems (e.g., link length errors). Furthermore, inaccuracies in the robot assembly lead to additional errors and add up to often unavoidable machining and assembly errors [34]. In case of modular serial robots the sizes of these errors sum up to a few millimeters and degrees and mainly depend on the preciseness of the assembly. However, more or less large deviations between a robot model and the real hardware are always to be expected in practice. A calibration of the manipulator is therefore indispensable. An initial work on the calibration of manipulators with non-standard geometrical design structure can be found in [126].
3.4.2. Backlash The backlash is an error of an actuated joint that occurs only in the case of reversion of the direction of motion. This effect is caused by gaps between the teeth of a gear and cannot be completely eliminated by mechanical design. A schematic representation of backlash is given in Fig. 3.10. Backlash
Figure 3.10.: Simplified illustration of backlash. The position and speed of the end effector influences the magnitude of the backlash, but the payload in contrast has an insignificant contribution. In [112] an ABB IRB 1600 is analyzed by experimental tests in terms of these factors. In the worst-case of bidirectional repeatability the backlash error is 134 µm.
3.4.3. Joint Clearance Joint clearance is defined as the space or tolerance between journal and bearing in a revolute joint. The DoF of the joint increases in the planar case due to the tolerance in the clearance area from one (rotation)
38
3.5. SINGULARITIES
(a) Sketch of a joint without clearance (1 DoF).
(b) Sketch of a joint with clearance (3 DoF).
Figure 3.11.: Representation of joint clearance in the planar case. to three (rotation and translation), see Fig. 3.11. The joint clearance has a random nature and therefore the repeatability of this effect is low. This circumstance results in a number of error models based on statistical methods (e.g. [92, 139]) and publications which deal with the calculation of the maximum pose error (e.g. [56]). In [94] the authors could not prove the conjecture, namely that the impact of clearance in serial chains is higher compared to parallel manipulators.
3.5. Singularities In 1986 Gottlieb [40] pointed out that no matter of the manipulators structure and how many links are used, there are still singularities which usually take the shape of subvarieties. Various types of singularities can be distinguished within the workspace of serial manipulators [84, 132]. For industrial 6R robots usually singular configurations can be found, which furthermore can be assigned to the elbow, shoulder, and wrist part (e.g., singularity analyzes for the KUKA KR-15/2 shown in [45]). Singular configurations occur when particular relations between joint axes arise, e.g., three joint axes are coplanar and parallel. Thus, the physical implication of a singular pose is that the manipulator loses at least one DoF. A manipulator configuration singularity is given if and only if the manipulability index is zero q ! MI = det(J JT ) = 0 , (3.11) hence the Jacobian becomes rank deficient. In the case the Jacobian matrix J is square the necessary and sufficient condition of (3.11) reduces to det J = 0 . Following (3.5) it can also be noted, that if at least one singular value σi of J is equal to zero, the manipulator is in a singular configuration. Because singularities lead to difficulties in practice, they must be avoided. This remains valid also in a certain neighborhood to a singular configuration. Therefore, the performance indices presented in Sec. 3.3 are used as measures to determine the distance to singularities. One main problem that occurs close to a singular configuration is that certain end effector movements are no longer possible. An overview of diverse methods for singularity avoidance is listed below: Dealing with Singularities
39
3.5. SINGULARITIES • When adapting the path ℘Σ0 (τ) of the end effector of a serial robot, a singularity region can be bypassed. This adjustment is only allowed, if the trajectory of the end effector is bounded in a tube a¯ given as a¯ ℘Σ0 (τ). In addition, it should be noted that a suitable measure for a distance to a singular pose in R3 × SO(3) is desirable but it follows from a Gaussian theorem, that an isometric relation between the joint and task space does not exist [95]. • By means of mechanical adaption, a spacer between the manipulator arm and the end effector flange can be used. This additional part changes the configuration of the manipulator to reach the same pose in the task space. Only when a predefined movement is given this method of singularity avoidance can make sense. • Decoupling the manipulator in arm and wrist if applicable and computing two Jacobians to handle only arm or wrist singularities. For instance, one part is controlled in the configuration space, the other is controlled in the task space. • By using inertia a dynamical passage can be utilized in the vicinity of a singularity. In order to apply this method, a hybrid controller has to switch between the two different modes. • By using a 7 DoF manipulator the singular configurations can be reduced [46]. An often implemented structure (shoulder-elbow-wrist) is known as S-R-S (spherical-revolute-spherical) and can be found, e.g., at LBR iiwa from KUKA [67], at the YuMi arm manufactured by ABB [2] or, at the Motoman SIA series by Yaskawa Electric [133]. • One or more axes will be fixed to reduce the DoF of the manipulator until no dependencies in the Jacobian matrix appear.
40
4. Workspace Analysis The reachable workspace of a manipulator contains all reachable poses of the end effector, briefly denoted as workspace. The workspace of a physical robot is bounded and the computation of the (nonconnected) workspace boundaries is of interest due to its fundamental issue for manipulator design and robot selection. It should be noted, that due to their structure, serial robots have a larger workspace than parallel robots with comparable mechanical size.
4.1. Basic Types of Workspaces As introduced above, the reachable workspace is the set of poses PEF which are accessible for the end effector of a robot. In addition, there are many more types defined, as, e.g. positional workspace, orientation workspace, and dextrous workspace [99]. The positional workspace of an arbitrary point of the end effector of a planar 2R manipulator is shown in Fig. 4.1 visualized by the gray-shaded area. The positional workspace Wr (workspace with constant orientation) is defined by q n o Wr = PEF = ( x, y) ∈ R2 | r1 − r2 | ≤ x2 + y2 ≤ r1 + r2 . The circular area (borders are included) contains all points that the end effector PEF can theoretically approach. It should be noted that the workspace area remains constant if the links are interchanged in
y0 PEF r2
r1+ r2
r1 O0
r1- r2 x0 Wr
Figure 4.1.: Reachable workspace Wr of a two-link planar manipulator.
41
4.2. DEXTEROUS WORKSPACE the sense that the shorter arm is used as first link in the chain. Although the same points can be reached by the end effector its kinematic behavior differs. This assertion is proved in Sec. 4.4 with regards to encoder dependent repeatability. To describe the workspace boundaries of more complicated robot structures mathematically a complex evaluation originates from high nonlinear equations. Approaches for 3R serial robots can be found in [28] and for general 6R manipulators in [27]. Furthermore, the workspace can be decompose in posture dependent sub-workspaces except in case of cuspital manipulators. Here, a posture change without meeting a singularity can be performed. In other words, a posture dependent differentiator is absent in the case of cuspital manipulators. As an example, the 6R serial robot IRB 6400C from ABB with a 3R orthogonal basis and a spherical wrist is known as cuspital. Due to difficult trajectory planning the production of the robot system was discontinued after one year. [129, 130]
4.2. Dexterous Workspace Dexterity is defined differently in the literature, but always refers to the variety of tasks that the system can complete [76]. In this work dexterity and especially the dexterous workspace is understood as the workspace within the end effector of a manipulator can be oriented arbitrarily [61]. For a given end effector position of a planar serial manipulator with 3 DoF this can be determined without much difficulty by applying the Criteria of Grashof [41] explained in the next section.
4.2.1. Grashof’s Criteria The German mechanical engineer Franz Grashof formulated rules on the mobility of four-bar linkages. The possibility for free rotation of the end effector about its end effector point PEF depends on the arm lengths of the kinematic chain and this ability corresponds to the property of dexterity. Figure 4.2 shows a serial planar manipulator with three arms and one virtual link (rv ). The last arm with length r3 can fully rotate if the condition r1 + r2 > r3 + rv “Double crank condition” r1 + r3 > r2 + rv r1 + r3 > r1 + rv holds (first and third arm act as a crank, see Fig. 4.2a). Another possibility arise if the condition r1 + r2 > r3 + rv “Crank and rocker condition” r2 + rv > r1 + r3 r1 + rv > r1 + r3 is fulfilled (first arm behaves like a rocker and the third arm as a crank, see Fig. 4.2b). From these three inequalities it follows in this case that the third link must be the shortest arm to ensure dexterity. Otherwise link 3 acts as a rocker with a deflection depending on the geometry of the manipulator.
42
4.3. RESTRICTIONS DUE TO JOINT CONSTRAINTS
r2
r1 O
r2
r1
r3
rv
r3
PTCP
rv
O
(a) Double crank.
PTCP
(b) Crank and rocker.
Figure 4.2.: Grashof’s Criteria.
4.2.2. Spatial Robot Structures A criterion to determine the structure of a spatial serial manipulator exhibiting a dexterous position is not known to the author. Moreover, there is no literature available detecting a dexterous serial 6R manipulator. Furthermore, the author was also not able to find an example or description using a bruteforce search algorithm for manipulators with general structure.
4.3. Restrictions Due to Joint Constraints Serial robots used in industrial applications are constructed with actuators, which are physically limited. Considered joint restrictions are position, velocity, acceleration and jerk. With a few exceptions, a full rotation of a joint is not possible for technical reasons and an overrun of the software end position leads to a stop of the robot motion. For this reason, boundary values should be avoided in the planning task. If at least one kinematic freedom of the task exists, a suitable cost function would be helpful to avoid such joint limits. The reachability value νreach , proposed in [96], which indicates if the manipulator can be positioned and oriented at a desired pose with respect to the joint limitations qi,min and qi,max with respect to the i-th joint is defined as: n g X max min (qi,max − qi )(qi − qi,min ) νreach (q) = − (4.1) 2 1 q − q ( ) ∀P∈℘(t ) i,max i,min 2
i=1 j=1
In (4.1) n denotes the number of joints and g the number of inverse kinematic solutions (feasible postures) for a given pose. A further criterion used as cost function to model joint limit avoidance is given by [138]: w(q) =
n X i=1
qi,max − qi,min (qi,max − qi )(qi − qi,min )
43
(4.2)
4.4. REPEATABILITY BASED ON FINITE CONTROLLER RESOLUTION In (4.2) qi,min and qi,max are the minimum and the maximum limits of the i-th joint. As it can been seen from the denominator, w(q) gets high if qi approaches to qi,min or qi,max . The functions νreach (q) and w(q) can now be used as cost functions within an optimization problem to find the best design of a manipulator.
4.4. Repeatability Based on Finite Controller Resolution In this work repeatability is defined as the distance how close the end effector of a manipulator can return to a pose P where it has already been before. This definition is basically similar to [110] and differs from the industrial standard [53] introduced in Sec. 3.3.4. The main findings of this section are already published by the author in [19] and [20] and are given in a more generalized form at this point.
4.4.1. Pose Estimation The position of a rotary encoder corresponds to the mechanical angular position which is converted to digital information. Due to this conversion the angle measurement of an encoder is discretized and can be modeled for the i-th actuator by κ(ϕi , resi ) with $ $ % % ϕi 1 2π ϕi 1 ϕ˜i = κ(ϕi , resi ) = resi + = + ∆qi , (4.3) 2π 2 resi ∆qi 2 where ϕi is the angular position, resi the number of encoder ticks (increments) per revolution, ∆qi = 2 π/resi denotes the angular resolution, and ϕ˜ i can be denoted as discretized measurement of angle ϕi . For simplicity, it is assumed that the gear ratio of a possibly existing transmission is included in the encoder resolution. The brackets bxc symbolize the floor function, which computes the largest integer less than or equal to x. The finite resolution of a rotary encoder causes a deficient position information. The impact of this quantization error on repeatability is discussed and it should be noted that other sources of positioning and orientation errors than controller resolution are not considered at this point. More specifically, measurements from joint angle encoders to compute estimates for end effector positions are used. Since there are n revolute joints, an n-dimensional version of (4.3) is introduced: κ(q1 , res1 ) q˜ 1 . .. = .. q˜ = χ(q1 , . . . , qn , res1 , . . . , resn ) = . q˜ n κ(qn , resn ) ˜ can be By application of the direct kinematics φ from Sec. 3.2.1, the end effector pose estimates P computed based on these joint angle measurements using the design parameters D of the manipulator: ˜ = φD (q˜ 1 , . . . , q˜ n ) = φD (q˜ ) P
The situation described is illustrated in Fig. 4.3 for the two-dimensional case. Finding optimal regions Ropt in the workspace, where the position and/or orientation accuracy is better than in the rest of the workspace is the aim of the following method. Thereby R(q˜ ) represents an element, which corresponds to the same pose estimate and is defined as n o R(q˜ ) = P ∈ Rn : χ ◦ φinv ◦ P = q ˜ , D 44
4.4. REPEATABILITY BASED ON FINITE CONTROLLER RESOLUTION
φinv D
q2 q χ
q˜
y P φD
˜ R(q˜ ) P x
q1
Figure 4.3.: Effects of discrete joint angle measurements on end effector pose estimation. see Fig. 4.3. This workspace element is the set of all end effector poses P that is mapped to the same ˜ estimate P. To illustrate the relation between the location of end effector poses and end effector accuracy in more detail, a two dimensional example is given in Fig. 4.4. Here in Fig. 4.4a, all discrete end effector position estimates of a 2R planar serial manipulator with joint resolutions res1 = 100 and res2 = 70 are plotted. As one can see the density (number of end effector positions per area) is higher near the workspace boundary and a function to calculate this density can be found in [21]. By intuition, the positioning accuracy seems to increase if the position estimate density becomes higher. In Fig. 4.4b, however, it is obvious that the closest3 estimate P˜ cl is not a member of the set of neighboring position estimates P˜ ±1 , which are marked with ×’s, from a given position estimate P˜ i, j . These position estimates arise through the forward kinematic mapping φD on the set of neighboring configurations, symbolized as Q˜ 2i, j,±1 = {q˜ i−1, j−1 , q˜ i−1, j , q˜ i, j−1 , q˜ i+1, j−1 , q˜ i+1, j+1 , q˜ i+1, j , q˜ i, j+1 , q˜ i−1, j+1 } and are depicted in Fig. 4.4c. Because P˜ cl is closer than all the elements of P˜ ±1 choosing the position estimate density as quantification of repeatability is an inappropriate concept.
3 In
terms of the Euclidean distance in the workspace.
q2 ∆q2 (j +1)
∆q2 j
P~i,j P~cl
∆q2 (j −1)
RS
q˜i−1,j+1
q˜i,j+1
q˜i+1,j+1
q˜i−1,j
q˜i,j
q˜i+1,j
q˜i−1,j−1
q˜i,j−1
q˜i+1,j−1
∆q1 (i−1)
(a) Workspace with all ele˜ ±1 . ments of P
(b) Detailed illustration of region RS .
∆q1 i
∆q1 (i+1)
q1
(c) Discrete configuration space.
Figure 4.4.: The set of all end effector position estimates P˜ of a unit-robot with link length r¯1 = 0.6 and joint resolutions res1 = 100 and res2 = 70.
45
4.4. REPEATABILITY BASED ON FINITE CONTROLLER RESOLUTION General Case
In general, we use the n measurements of all n joint encoders to compute the estimate for the end effector pose. More specifically, for an n DoF manipulator with revolute joints an n-dimensional version of χ and κ is needed: T
χ(q1 , . . . , qn ) = [κ(q1 ) κ(q2 ) . . . κ(qn )] = [q˜ 1 q˜ 2 . . . q˜ n ]T =: q˜ n The estimated configuration q˜ n can also be formulated as function of the encoder values 2π res1 q˜ n = ... 2π resn
i1 ∆q1 i1 = .. , . ∆q i in n n
where ik corresponds to the integer value of the encoder position of the k-th incremental encoder, and where k = 1, . . . , n. An end effector pose estimate can be computed from these joint angle measurements exerting the direct kinematics by ! 1 0 Σ n ˜ = φD (q˜ ) = P ˜Σ , ˜tΣ R ˜ Σ with respect to Σ. ˜ Σ the orientation estimate of P where ˜tΣ represents the position estimate and R The set of configurations, which can be reached by changing a given configuration q˜ n by at most one tick per encoder is denoted as Q˜ n±1 . This set of adjacent configuration coordinates has nQ˜ := 3n − 1 elements if n actuators are taken into account. Similarly, the set of all dedicated pose estimates, which arise from the forward kinematic mapping of Q˜ n±1 into task space, is defined as ˜ ±1 = φD Q˜ n . P (4.4) ±1
4.4.2. Pose Error Calculation To calculate the maximum errors (position and orientation) caused by discretization an error metric is needed. For a comparative study of a pair of poses PΣA and PΣB , i.e., a pose and its estimate, a transformation matrix HΣA can be found such that PΣB = PΣA · HΣA
(4.5)
−1 HΣA = PΣA · PΣB = TΣA · RΣA .
(4.6)
holds and from this it follows that
As indicated in (4.6) the homogeneous transformation matrix HΣA can be split into a translational part and a rotational part RΣA . Subsequently, these two components are used to define an error metric for the position and the orientation error.
TΣ A
46
4.4. REPEATABILITY BASED ON FINITE CONTROLLER RESOLUTION
zA zB
r θ yB yA
xA
xB
Figure 4.5.: Orientation part within axis-angle representation. Position Error
From the 3 × 1 vector tΣA of the homogeneous translation matrix ! 1 0 ΣA T = ΣA t 0 the Euclidean distance between PΣA and PΣB can be computed and used as a metric for the position error: epos =
1 ΣA t 2
(4.7)
Considering the transformation between two adjacent configurations in the discretized joint space the bisection of the Euclidean distance in task space is taken into account to define the error metric denoted in (4.7). As it can be seen in Fig. 4.4c the borders of the marked region are located at q˜ 1 ± ∆q1 /2 and q˜ 2 ± ∆q2 /2. Orientation Error
To define a metric for the orientation error is not as intuitive as for the position error. For this reason, several methods can be found in literature. The error between two positions and orientations can be expressed as a difference between the corresponding dual quaternions [100] of the actual and the desired pose. The geometric interpretation leads to a θ which is the crossing angle between the two space lines and a d which describes their common perpendicular distance. However, this representation leads to the same error results as the method subsequently described. In this work, the axis-angle representation of the homogeneous transformation matrix RΣA is used as basis for a metric for the orientation error. By this representation a rotation can be parametrized by an angle θ about an axis determined by a unit vector r, see Fig 4.5. To describe the orientation error eori the magnitude of the rotation about r has to be computed and thus trace RΣA − 2 1 1 eori = θ = acos (4.8) 2 2 2 will be obtained. Analogous to the position error angle θ in (4.8) has to be divided by 2 as well.
47
4.4. REPEATABILITY BASED ON FINITE CONTROLLER RESOLUTION Set of Errors
Based on the above considerations, the computation of the set of all corresponding transformation maΣ trices H±1P˜ can be symbolized by −1 Σ ˜Σ ·P ˜ Σ = TΣP˜ · RΣP˜ . H±1P˜ = P ±1 ±1 ±1
(4.9)
Σ ˜ Σ and its dedicated neighbors P ˜Σ , In (4.9) H±1P˜ collects all transformations between an estimated pose P ±1 defined in (4.4). By using this discrete set of matrices, the set of position errors Epos,±1 and the set of orientation errors Eori,±1 can be defined analogously to (4.7) and (4.8): 1 Σ Epos,±1 = t±1P˜ 2 trace RΣP˜ − 2 ±1 1 Eori,±1 = acos 2 2
The maximum position error epos,max and maximum orientation error eori,max are now given by epos,max = max (Epos,±1 ) , eori,max = max (Eori,±1 )
and can be computed for any end effector pose in the reachable workspace Wr .
4.4.3. Analytical Evaluation Method To find analytic expressions for the pose estimate errors epos,max and eori,max as aforementioned, the set ˜ Σ and the of all distances, denoted by Epos,±1 , and angles, denoted by Eori,±1 , between a pose estimate P ˜ ±1 has to be calculated. For a serial robot manipulator with n set of all the neighboring pose estimates P revolute joints there exist 3n − 1 such neighbors in the configuration space, collected in Q˜ n±1 . The next step is to formulate each element of Epos,±1 and Eori,±1 as function of the joint angles q. To find the farthest neighbor (distance or angle) as a function of q all expressions must be compared to achieve a statement about the encoder dependent repeatability in the reachable workspace. However, this approach works only for simple kinematic structures. As an example, the 2R manipulator can be fully evaluated, as shown in [19] and a brief recap on the procedure is given in Sec. 6.1.1.
4.4.4. Numerical Evaluation Technique Once the structure of a manipulator exceeds the complexity of a simple design, an analytical statement cannot be found. In such a case meaningful results can only be found through an adequate numerical method. In this section, a numerical technique based on the analytical approach is presented. The resolution of joint encoders typically used in articulated robots is high, and hence the minimum angle ∆q that can be distinguished is small. From this it follows that the neighboring pose estimates ˜ ±1 , e.g. the points marked with ×’s in Fig. 4.4b, form a parallelogram in the 2-dimensional case (see P Fig. 4.6a), where P˜ i, j is located in the center of the geometric shape. Hence directly opposite pose estimates provide the same results regarding the error computation as a close approximation and therefore only half of the adjoining set of neighboring configurations Q˜ n±1 must be evaluated. 48
4.4. REPEATABILITY BASED ON FINITE CONTROLLER RESOLUTION
j
k
q3 ∆q3 (k+1)
i
q2
q˜i,j,k
∆q2 (j +1)
∆q3 k
f
∆q2 j
b
e
∆q2 (j −1)
∆q3 (k−1)
a
∆q1 (i−1)
(a) Local situation in the linearized 2D task space.
∆q1 i
∆q1 (i+1)
q1
(b) Discrete configuration space - the three-dimensional case.
Figure 4.6.: Insights in discretized spaces. Considering Fig. 4.6a again, all estimates located on the midpoint of the parallelogram can be dis˜ ±1 ) and its carded. This is because one of the distances between the center of the parallelogram (P ˜ vertices (e/2 or f /2) is greater than one distance from P±1 to the midpoints (a/2 or b/2). This can be proven by using triangle inequalities, which are valid for the given parallelogram: e f + ≥ a, 2 2 f e + ≥ b, 2 2
(4.10)
where all lengths are positive. Whenever a/2 > e/2 it follows by (4.10) that a e f > ≥ a− 2 2 2 and hence
a f > . 2 2 This argumentation can also be used to show that e/2 > a/2 assuming that a/2 > f /2. Furthermore, it can be shown by the same method that b/2 cannot be greater than e/2 and f /2 using the triangle inequalities again. As a consequence, only two configurations of manipulator with two actuators have to be evaluated. In the general case, at most nQ˜ = 2n−1 calculations must be done using numerical analysis to compute the encoder dependent repeatability of a system with n actuators. In the evaluation of the polyhedral regions formed by the discretization only selected vertices have to be analyzed. ˜ Σ and computing the set of errors Epos,±1 The main idea of determining the set of estimated poses P ±1 ˜ Σ and P ˜ Σ is equal to the analytical method. Now, the corresponding distances and and Eori,±1 from P ±1 angles between a pose and its neighboring estimates are evaluated numerically and the maximum errors are determined by a simple comparison of all members of Epos,±1 and Eori,±1 . Due to the fact that a discrete configuration next to an actual configuration can only have three values, the base-3 numeral system, also known as Determining a minimal set of relevant configurations
49
4.4. REPEATABILITY BASED ON FINITE CONTROLLER RESOLUTION ternary system, is used to find a minimal set of configurations which potentially influence end effector repeatability. Moreover, the balanced ternary system with the values −1, 0, and 1 of its digits correlates to the relative position of a neighboring configuration in principle. In general, the relation between a number Z in decimal system and the digits zi of its corresponding ternary number is n−1 X (Z )10 = zi · 3i = (zn−1 · · · z1 z0 )3 , (4.11) i=0
where n equates to the number of actuators in the described use case. By using the method to find a minimal set of adjacent configuration estimates discussed in Sec. 4.4.1 a general algorithm can be derived by (4.11). A valid subset of Q˜ n±1 can now be found by Algorithm 1: A1 = {0}; for i ← 2 to n do n o Ai = Ai−1 ∪ 3i − 1 − a a ∈ Ai−1 ; end n o B = (b)bal. 3 a ∈ An ; (a)10 → (b)bal. 3 = (zn−1 . . . z1 z0 )bal. 3 ; n o C˜nrel = ∆q˜ (zn−1 . . . z1 z0 )bal. 3 ∈ B; ∆q˜ = [z0 ∆q˜ 1 z1 ∆q˜ 2 . . . zn−1 ∆q˜ n ]T ; Each element of B is a number in the balanced ternary system and has n digits, wherein in each case the k-th digit, represented by zk−1 , is assigned to the k-th joint. In order to give a better insight into the functioning of the procedure, an example is given below. A 4R manipulator (n = 4) serves as an example to clarify the method selecting a proper subset from Q˜ 4±1 by applying Alg. 1. Due to an iterative generation of the sets Ai , the desired set A4 is derived step-by-step:
Example
A1 = {0}
(4.12)
A3 = {0, 2, 6, 8}
(4.14)
A2 = {0, 2}
(4.13)
A4 = {0, 2, 6, 8, 18, 20, 24, 26}
(4.15)
The structure of these number sequences in (4.12) to (4.15) follows the well-known integer sequence A0058234 . Further operations of the algorithm are indicated in Tab. 4.1. The elements of A4 are integers and listed in the first line. These decimal numbers are transferred to ternaries, written by n digits. Next, the conversion to balanced ternaries is depicted which ends up in the number representation by z3 , z2 , z1 and z0 . From these numbers configurations are generated, which can be summarized to C˜4rel = {∆q˜ 1 , ∆q˜ 2 , . . . , ∆q˜ 8 } . 4 N.
J. A. Sloane and Simon Plouffe, The On-Line Encyclopedia of Integer Sequences, http://oeis.org, Sequence A005823.
50
4.4. REPEATABILITY BASED ON FINITE CONTROLLER RESOLUTION
Table 4.1.: Determining the neighbouring configurations in case of four actuators based on the elements 4 . of N±1 Decimal
Ternary (n digits) z3 + 1 z2 + 1 z1 + 1 z0 + 1 z3 z2 z1 z0 ∆q˜ l ∆q˜ k ∆q˜ j ∆q˜ i Configurations
0
2
6
8
18
20
24
26
0000 0 0 0 0 −1 −1 −1 −1 −∆q4 −∆q3 −∆q2 −∆q1 ∆q˜ 1
0002 0 0 0 2 −1 −1 −1 1 −∆q4 −∆q3 −∆q2 ∆q1 ∆q˜ 2
0020 0 0 2 0 −1 −1 1 −1 −∆q4 −∆q3 ∆q2 −∆q1 ∆q˜ 3
0022 0 0 2 2 −1 −1 1 1 −∆q4 −∆q3 ∆q2 ∆q1 ∆q˜ 4
0200 0 2 0 0 −1 1 −1 −1 −∆q4 ∆q3 −∆q2 −∆q1 ∆q˜ 5
0202 0 2 0 2 −1 1 −1 1 −∆q4 ∆q3 −∆q2 ∆q1 ∆q˜ 6
0220 0 2 2 0 −1 1 1 −1 −∆q4 ∆q3 ∆q2 −∆q1 ∆q˜ 7
0222 0 2 2 2 −1 1 1 1 −∆q4 ∆q3 ∆q2 ∆q1 ∆q˜ 8
51
5. Optimization Techniques The necessary prerequisite for any optimization is the availability of adaptable parameters. Optimization parameters of robot systems studied in this work are of different nature. On the one hand, by a modification of mechanical and geometrical parameters the system behavior for a set of similar tasks can be improved. On the other hand, an adaptation of the robot motion can be used to optimize a current task specifically. Hence, goals and possibilities in the context of robot optimization are discussed at this point. The main goals why optimization techniques will be considered are to save production costs and to increase product quality. Possible options that lead to the mentioned objectives above can be, for instance, reducing cycle times, decreasing kinetic energy (includes minimizing of vibrational response), increasing end effector performance (e.g., accuracy), and improving mechanical performance (e.g., stiffness). To achieve these goals, the following constraints have to be considered during the task execution: • satisfying physical joint limits (e.g., torque, velocity, jerk), • avoiding obstacles and self-collisions, • keeping distance to singular poses (in case of task space control). That is to say, the solution space will be reduced, sometimes dramatically, when the mentioned constraints are taken into account.
5.1. Level of Adaption After a detailed analysis of the literature, seven basic optimization variants which can be applied to robot manipulators are identified. Each of the following methods will not influence a given main task: 1. exploiting the multiplicity of the IKP, 2. planning the sequence of subtasks, 3. using variability within a redundant task, 4. utilizing the freedoms due to kinematic redundancy, 5. placing the robot relative to a task or vice versa, 6. trajectory variation within predetermined limits, 7. designing a manipulator to perform a predefined task in an optimal manner.
53
Level of adaption
5.2. OPTIMIZATION APPROACHES
modification of robots' movement Trajectory Variation
Redundancy Resolution
Multiple Solutions of IKP
Manipulator Design
continuous solutions
Manipulator Placement
discrete solutions
Sequence of Subtasks
modification of manipulator and movement Degree of complexity
Figure 5.1.: Classification of optimization approaches for robot manipulators. The points listed above can be seen as levels of adaption. Changes of the robot’s structure are only allowed in the last level. All other methods use the freedom within a given task. These freedoms may be understood as incomplete specifications of a planner, e.g., pick-and-place poses are defined, but not the path in between. The third level requires that more joint actuators are present for performing the task as required DoFs. This level is the most commonly used method in industrial practice to take influence on a trajectory in order to avoid, e.g., singularities or obstacles. An attempt was made to categorize the different approaches listed above with respect to mathematical complexity and obtained adaptation ability. The classification scheme is shown in Fig. 5.1, and should be understood as a suggestion for a qualitative subsumption. The different approaches are described in the next section in more detail.
5.2. Optimization Approaches Industrial robots are able to perform a rash of different tasks like surface treatments (e.g., polishing, sanding), machining (e.g., drilling, water jet cutting), handling tasks (e.g., pick-and-place operation) [88], and many more manufacturing steps. To perform these production steps by a robot the movements are usually programmed by a human operator teaching a series of points. This manual intervention can be avoided by a mathematical formulation of the tasks that have to be undertaken. If the specification of a task is given in mathematical form, the task can be optimized according to the available freedom. Hence, a quick glance on mathematical methods to optimize robot specific tasks will be presented.
5.2.1. Multiple Solutions of IKP As previously mentioned, the IKP leads to multiple solutions as soon as a serial kinematic chain is built of more than one rotational joint. Planar serial 2R robots have 2, spatial ortho-parallel 3R manipulators have 4, conventional industrial 6R robots have 8, and general serial manipulators have up to 16
54
5.2. OPTIMIZATION APPROACHES distinguishable solutions of the IKP in the presence of an appropriate non-redundant pose PΣ0 . This finite number of solutions is usually provided directly by an analytical solution method and can be assessed separately. Solutions with a complex part can be rejected as a first step because a physical realization of such postures is not possible. Next, all solutions are discarded which lead to self or obstacle collision. The remaining postures can now be evaluated regarding different performance criteria discussed in Sec. 3.3, or other essential criteria like the utilization of the movement area of the manipulator arms. A determination of the optimal posture is recommended at the start of a task, since changing posture takes time and additional workspace.
5.2.2. Sequence of Tasks Optimizing the sequence of subtasks (or atomic tasks) within a given task problem is a comprehensive issue itself. By dividing a given task into subtasks a set of atomic tasks can be defined whose elements can be executed in an individual order (each only once). The subtasks can be machined off by single steps; that is to say, each location has to be approached once. Drill holes, welding spots, or pick-andplace regions are some examples of subgoals. There are different algorithms known to optimize the sequencing of atomic tasks which differ in their practical utility and complexity. The main problem that must be solved is known as traveling salesman problem (TSP). Due to the nonlinear behavior of articulated manipulators (manipulators equipped with rotational joints), the problem should be considered in the configuration space. Whenever only a region has to be reached by the end effector the Greedy Algorithm (Nearest Neighbor algorithm) is a good choice, which performs a locally optimal choice. A comprehensive overview about extended approaches can be found in [8].
5.2.3. Redundancy Resolution Whenever an m DoF task should be fulfilled by an n DoF manipulator, with n > m, or the task space is less than the configuration space the extra DoF can be used to achieve optimization goals. Usually, this redundancy resolution will be done in the so-called velocity level. In this case, the generalized −1 Moor-Penrose pseudoinverse J+ = JT JJT is used to find the joint velocities q˙ of the robot system: q˙ = J+ x˙ + I − J+ J q˙ 0
(5.1)
Moreover, q˙ 0 in (5.1) is an arbitrary (or well-thought-out) velocity vector which is projected to the nullspace of J by a multiplication with the orthogonal projection matrix (I − J+ J), where I indicates the identity matrix [109]. Because q˙ 0 can be chosen arbitrarily, it can be used to minimize a cost function. For instance, a dynamic obstacle (position and velocity) can be be taken into account to avoid collisions with the manipulator arm. In case that the degree of redundancy is r = 1, a simple two-dimensional visualization can help a robot programmer to find a proper trajectory taking, e.g., static obstacles, joint limits, and performance criteria into account, see Fig. 5.2.
55
Freedom According to Redundancy
5.2. OPTIMIZATION APPROACHES
Out of Reach Possible Trajecto ry »(t)
Singularity
Joint Limits
Obstacles
Timestep
Figure 5.2.: Qualitative representation of a graphical optimization tool. Inspired by Robotmaster and the proposed method in [137]. The gradient depicted in gray symbolizes the values of a cost function. Energy Optimization
An energy-related cost function for a manipulator with n actuated joints can
be denoted by
n
fE,opt
1X = 2 i=1
Z
te t0
2 τi (t ) dt
(5.2)
where τi (t ) denotes a force or a torque of the i-th joint [78, 42]. In (5.2) t0 and te indicate the start and end time of a given trajectory ℘Σ0 (t ). The cost function given in (5.2) can be extended to a function related to mechanical power: n
f M,opt =
1X 2 i=1
Z
te t0
2 τi (t ) q˙ i (t ) dt
This expression considers the kinematic and dynamic aspects of a given trajectory simultaneously. Even more sophisticated cost functions are presented and used in literature. An example of this can be found in [136], where the authors show how to optimize a drilling task ψΣEF ℘Σ0 (t ) while taking the maximum allowed torque of each motor of the manipulator into consideration.
5.2.4. Trajectory Variation In contrast to the sequencing problem or to exploit redundancy the trajectory variation alters directly the path and/or orientation of an end effector in a predetermined admissible extent. This can be expressed in the notation used in this work: a boundary, e.g., given by a tube a¯ which restrict a path transmission ℘aΣ¯ 0 (t ) from pose PΣA 0 to PΣB 0 of a manipulator end effector. If possible, this enhanced freedom of movement is usually used to calculate a time-optimal motion by interpolating the poses in configuration space. However, this simple method is only possible if the task does not specify additional restrictions. The manipulation of a liquid-filled cup is cited as an example which implies a task-dependent constraint [6].
56
5.2. OPTIMIZATION APPROACHES
5.2.5. Manipulator Placement Manipulator placement is from a mechanical point of view a simple way to influence a robots’ behavior. This of course assumes that the location of the task is not changed to the same extent when the manipulator is displaced. The most important criterion in this context is that the task can be performed within the reachable workspace Wr . To achieve this, either the robot location is adjusted to the task, or vice versa, or both are modified and brought into a proper relation. Here, the restrictions of the task and possible mounting options of the manipulator must be observed. Nevertheless, certain freedoms can be used to improve manipulators’ performance regarding, e.g., dexterity [3], mechanical power [31] or to reach predefined end effector poses [52, 70].
5.2.6. Manipulator Design The design process of a robot system usually takes place prior to the construction of a manipulator arm. During this engineering process, characteristics such as structure and size of the workspace as well as the required payload and end effector accuracy are taken into account. If the task is already known, a goal directed design can be aspired by using some optimization cost functions. For instance, the reachability (joint limit avoidance) νreach (q) given in (4.1) is used in [96] for manipulator design. In case of modular robots, however, the robot structure can always be adapted task-dependently. In contrast to monolithic manipulators, this flexibility is the chief advantage of a modular robot system and will be studied in more detail subsequently. Adaptable Serial Manipulators
The aim of manipulator design is the construction of a suitable structure of a robotic arm depending on the scope of the task. Whenever a modular system is in use the transformation between entry and exit flange of the links defines the kinematics of the serial chain uniquely. Therefore, a task-dependent modification changes the manipulators performance. An important concept of a modular robot system will be presented at this point – the curved manipulator (Cuma). The Cuma-Arm
Serial manipulators with general structure show the highest possible flexibility in terms of kinematics. In order to manage the design such robots the use of unusual links, e.g. curved links, is essential. Hereinafter, a robot arm will be presented whose links are bent to achieve complete generality (henceforth referred to as Cuma). Moreover, the manipulator is constructed as modular platform to be able to realize a large amount of different robot structures. The design of the Cuma-arm was created by self-made curved link elements and joint modules of the PowerCube series by Schunk GmbH shown in Fig. 5.3. The main details of this modular serial manipulator are presented in [18]. The parts of the Cuma-arm are interchangeable modular elements. Therefore, every joint or link of the manipulator can be replaced by various compatible parts and the whole arm can be assembled in numerous ways. For this reason, a specification for a unique system description is defined which can be used to transfer the design information to a common modeling convention.
57
5.2. OPTIMIZATION APPROACHES
(a) A curved link.
(b) Link with another shape.
(c) Rotary actuator module (PR70).
(d) Rotary pan-tilt actuator module (PW70).
Figure 5.3.: Two different curved links and two Schunk PowerCube modules5 . Every realizable Cuma robot can be expressed by a sequence of structural information of the manipulator determined by its design. Even with six joints and five different arm segments one can built approximately 8 · 1014 structures. In order to manage this overwhelmingly large set of robots, a practical approach is used to describe the manipulator and its inherent geometric relationships. The sequence of information is therefore given by System description
{ Exit Joint, Exit Face, Link Rotation, Link ID, Flip Flag, Entry Face, Joint Rotation, Entry Joint } with the sets Exit Joint = { 70, 90 } Exit Face = { 5, . . . , 9 } Link Rotation = { 0, 90, 180, 270 } Link ID = { 1, 2, . . . , nLinks }
Flip Flag = { true, false } Entry Face = { 0, 2, 3, 4 } Joint Rotation = { 0, 90, 180, 270 } Entry Joint = { 70, 90, 1, 2, 3 }
where nLinks is the number of available links. The assembly information of the system is summarized in an unambiguous parameter set S. Each row of S contains the assembling information of one rigid part of the manipulator as defined before. Figure 5.4a shows such a part and the denotations according to the sequence. The i-th link with the identifier “Link ID” is mounted on an “Exit Face” of the i-th “Exit Joint” with an additional freedom of rotation called “Link Rotation”. The rotation axis is normal to the exit face. Only for mechanical reasons, this rotation must be a multiple of 90 degrees. A link connects two joints, hence, it is mounted on the “Entry Face” with “Joint Rotation” on the other side. There are two options to mount the link on the “Entry Face”, see Fig. 5.7 page 62 covered by “Flip Flag”. Whenever a link is installed the other way around this characteristic will change the “Flip Flag”. The faces of the joint cubes are numbered consecutively, as illustrated in Fig. 5.4b. On the face labeled with “1”, the control block is mounted. 5 Note
from the manufacturer: The modules by Schunk are now available with BNC coating.
58
5.2. OPTIMIZATION APPROACHES Entry Face ith Exit Joint
ith Link
(i+1)th Entry Joint Exit Face
6. 7 2 3
0
(a) The interfaces of a link.
9. 8 5 4
(b) Rotary joint with labeled faces.
Figure 5.4.: Subsystems of the Cuma-arm. The wrist module PW70 (see Fig. 5.3d) needs special consideration. The module can only be fitted at the end of the kinematic chain and can only be mounted on one specific face. It contains two actuators and therefore we distinguish three cases: (i) if only the tilt joint is actuated, the entry joint is “1”, (ii) if only the swivel joint is actuated, the entry joint is “2”, (iii) if tilt and swivel joints are actuated, and the entry joint is “3”. The information is assigned to j. The first parameter set that will be introduced is a set of system information of the Cuma-arm shown in Fig. 5.5. The configuration set can be written as 0 0 0 0 0 0 0 90 0 1 0 3 −90 90 90 9 90 5 −90 2 0 2 90 90 . (5.3) S0 ( j) = 0 3 0 4 −90 70 90 8 70 8 0 4 0 4 0 70 70 6 −90 5 0 0 0 j Each row of S0 ( j) corresponds to a rigid system. As an example, the 2nd row contains the structural information of the 1st link: h i s0,2 = 90 9 0 1 0 3 −90 90 On a PR90 cube the link with ID 1 is mounted on face “9” without a rotation. On the other side of the link a PR90 cube is fixed as well. In this case, the link is mounted on face “3” with a rotation of −90 deg. The assembly in (5.3) represents the initial configuration. For this reason, the links are arranged in sorted order (4th column) and are non-flipped (null vector in 5th column). A big advantage of this method to describe the structure of a serial modular robot is, that modifications on the structure change the parameter set in a comprehensive way. Based on this parameter set the DH parameters can be computed straightforwardly. To determine the DH parameter sets, individual transformation matrices are generated which result from the entries of the system description S and the component data. If the transformation matrices of the curved links are known, i.e. by a 3D measurement of components, the DH parameters of the manipulator can be computed. The geometries of seven links were determined experimentally with an optical 3D scan system for industrial applications (ATOS scanner) at this stage, and hence the according transformation matrices can be derived. Figure 5.6 shows a screenshot of the used analysis Mathematical Relation of Links
59
5.2. OPTIMIZATION APPROACHES
(a) Visualization of the serial manipulator.
(b) Image of the laboratory robot system.
Figure 5.5.: Cuma № 0 with configuration S0 in its home position. This manipulator has up to 7 DoF if all joints are actuated. software (GOM Inspect). The transformation matrices of all links available as physical parts, denoted as HLinkID , are found as
HLink1
1 0 0 0 1 0 0 0 50.978 0.768 0.534 0.355 58.792 0.718 −0.383 0.582 , H = = Link2 −24.499 −0.270 0.771 −0.577 , −26.179 0.599 0.765 −0.236 105.081 −0.581 0.347 0.736 105.607 −0.355 0.518 0.778
Figure 5.6.: The reconstruction of a link by a 3D point cloud analyzed with GOM Inspect. The green points represent captured markers.
60
5.2. OPTIMIZATION APPROACHES
HLink3
1 0 0 0 1 0 0 0 −170.054 0.754 0.456 −0.474 −178.477 0.851 0.173 −0.496 = , H = Link4 −137.241 −0.500 0.557 −0.664 , −139.693 −0.646 0.376 −0.665 349.501 −0.125 0.807 0.578 339.733 0.161 0.813 0.560
HLink5
1 0 0 0 1 0 0 0 29.559 −0.772 0.383 0.507 46.376 0.528 −0.665 0.531 = , H = Link6 −36.460 0.716 0.683 0.146 , −59.095 −0.599 −0.174 −0.781 109.991 −0.211 −0.907 0.364 193.279 −0.460 0.303 0.835 HLink7
1 0 0 0 78.318 0.402 −0.165 0.901 = . 34.443 0.386 0.922 −0.004 135.754 −0.830 0.349 0.434
Whenever considering the transformation matrix HLink of an arbitrary link 1 0 0 0 e2,1 e2,2 e2,3 e2,4 HLink = , e3,1 e3,2 e3,3 e3,4 e e e e 4,1
4,2
4,3
4,4
e Link with the reverse usage leads to a transformation matrix H 1 0 0 0 e e + e e + e e e −e e 3,1 3,2 4,1 4,2 2,2 3,2 4,2 e Link = 2,1 2,2 H −e2,1 e2,3 − e3,1 e3,3 − e4,1 e4,3 −e2,3 e3,3 −e4,3 e2,1 e2,4 + e3,1 e3,4 + e4,1 e4,4 e2,4 −e3,4 e4,4
.
Figure 5.7 demonstrates the impact of reversing a link’s orientation and mounting it on the same joint face using the other flange of the link module. As it can be seen, a completely different robot structure can be formed by this process. Additional parts of every link are (i) one cube of the Entry Joint and (ii) one cube of the Exit Joint. These additional transformation matrices depend on the joint size and the defined Entry Face or Exit Face. By means of the known component data, transformation matrices from one joint axis to the subsequent joint axis can be computed. In general, this leads to transformation matrices with six degrees of freedom. By the computation of the common normal between all skew joint axes the intrinsic DH parameter set can be determined. Depending on j in (5.3), which indicates the actuated joints of the last module, the corresponding DH parameters are listed in Tab. 5.1 and the DH parameter sets of the two possible manipulators with 6 DoF are specified. Appendix B gives an explanation on how to use the Cuma-Toolbox which was programmed by the author to work with and visualize Cuma-type robots. Determination of the DH parameters of a Cuma-type robot
61
5.2. OPTIMIZATION APPROACHES
x Σ1
z Σ1
z Σ1
HLink z Σ0
z Σ0
x Σ1
f H Link
x Σ0
x Σ0
(a) Option mapped by HLink .
e Link . (b) Option mapped by H
Figure 5.7.: Simplified representation of the correlation of coordinate systems influenced by the reverse use of a link. Table 5.1.: DH parameters of the inital Cuma-arm with system parameters S0 ( j). di / mm 336.974 286.436 240.184 791.669 −217.845 79.919
i-th Link 1 2 3 4 5 6
ai / mm 82.690 122.950 378.726 273.688 198.575 0
αi / deg 69.186 −39.851 −130.209 −56.186 −140.534 0
qi,off / deg −50.148 121.453 −42.977 −162.497 −33.636 127.066
(a) 1st option: swivel joint is blocked ( j = 1).
di / mm 336.974 286.436 240.184 791.669 −382.640 298.370
i-th Link 1 2 3 4 5 6
ai / mm 82.690 122.950 378.726 273.688 106.408 0
αi / deg 69.186 −39.851 −130.209 −56.186 −59.523 0
qi,off / deg −50.148 121.453 −42.977 −162.497 −78.012 116.393
(b) 2nd option: tilt joint is blocked ( j = 2).
To enumerate the possible arrangements of different Cuma-type structures as function of the number of links nLinks the mounting options are listed first. Starting from the a joint module, a link can be Number of possible structures
• mounted on exit face 5, . . . , 8 or face 9 (2 options), • rotated on this exit face up to four positions (4 options), and • flipped (2 options). The next joint module (PR) can be
62
variations log 10 (nvary )
5.2. OPTIMIZATION APPROACHES
77 60 43 27 12 1.5 1
5
10
15
20 25 number of links nLinks
Figure 5.8.: Number of possible structures. • mounted on entry face 0 or face 2, . . . , 4 (2 options), and • rotated on this entry face up to four positions (4 options). If the last module (PW) is to be mounted, it can be • rotated on its entry face up to two different positions (2 options). If the links can be rearranged arbitrarily, the permutation must also be taken into account. Summing up all options and connecting them with the number of links, one obtains for the number of structural variants: nvary = nLinks ! · 27nLinks −2 Figure 5.8 shows the strong increase of possible structures as a function of nLinks . In the case with the available link count nLinks = 7 the number of variants is approx. 7 · 1017 . As a rough estimate, it can be noted that per additional link the number of possible structures is multiplied a thousandfold. To get an idea of these large numbers it is noted that a human body would have approx. 7 · 1027 atoms [35] (number of variations that arise from 10 links) and the number of atoms in the universe is about 7 · 1078 [13] (number of variations that can be covered by 26 links). If the structure of a manipulator is given by DH parameters, the relative positions of consecutive rotational axes are known. This means that the position of the rotation axis of a rotary joint is determined, but not the position of the joint on this axis and its rotation about this axis. Figure 5.9 illustrates two revolute joints (Schunk PowerCube modules) and their rotational axes. All five images show a valid realization of one DH parameter set using different linking components. As long as the locations of the joint axes are unmodified the kinematic behavior of the manipulator remains constant and hence, each variant shares the same DH parameters.
Freedom in Design
The following insight on how to compute the behavior of a manipulator’s end effector in a desired region of the workspace was presented in [22]. As mentioned above, DH parameters do not specify the whole design. In other words, only three parameters of the structure between two joint axes and one additional parameter for the joint angle are determined. The DH parameters remain the same as long as the common normal of the joint axis remain Kinematic Invariants
63
5.2. OPTIMIZATION APPROACHES
(a) Initial situation.
(b) The second joint is rotated about its axis.
(c) The second joint is shifted along its axis.
(d) The entry face of the second joint is changed.
(e) The second joint is rotated and flipped.
Figure 5.9.: Fife different alternatives for realizing the coupling of two joints in space if two parameters (d˜ and θ˜ ) can be chosen freely. the same. Therefore, 10 parameters are available in addition to a given DH parameter set of a serial manipulator with 6 rotational joints to modify its design. The parameters which can be freely chosen are denoted as d˜i and q˜ i with i = 1, . . . , 5, where d˜i is a translation of the i-th joint along the i-th axes and θ˜i is a rotation of the i-th joint about the i-th axes. To clarify the effects of these individual freedoms on the end effector behavior the kinematic chain has to be divided into an inner and outer part. Whenever the position of a joint inside the kinematic chain (i = 2, . . . , 4) is varied along its axis (translated or rotated) the modification has no kinematic influence. That means, a translation with d˜1 or rotation about q˜ 1 of the first joint module along or about its corresponding axis would lead only to a translational or rotational shift of the whole workspace. Similar changes appear to the last joint and will alter only the end effector pose. Figure 5.10 illustrates this influence comparing the inner joints of the first and second variant. Such modifications to intermediate joints will have
(a) First variant.
(b) Second variant.
Figure 5.10.: Two Cuma-type arms which satisfy identical DH parameters. Each end effector reaches the same point in space but with different orientations. Each version is illustrated with two different postures (the opaque illustration corresponds to the home position and the transparent figures to a possible solution of the IKP to reach the home pose).
64
5.2. OPTIMIZATION APPROACHES kinematic influence to the end effector if and only if the relationship between the joint axes also changes and thus are not allowed. Exemplarily, the orientation of the end effector of the Cuma-arm in Fig. 5.10 is altered by q˜ 5 = 180 deg and shifted along its first axis. Another possibility to change the position of the end effector is given by scaling the whole manipulator. Here, each length parameter (ai , di and a˜ i , d˜i ) of the DH parameters is multiplied by a common factor C and as a result, the position of the end effector is varied. However, it should be noted that the end effector is not scaled by itself and thus not the whole manipulator is scaled by C. As long as a desired end effector pose PEF is not located on the first or on the last joint axis and furthermore, both axes are not parallel the end effector pose PEF can be positioned arbitrarily. The freedom of end effector orientation depends only on the orientation of the first and last axes. It can be noted that the orientation of the end effector cannot be freely chosen for this reason. Using the practical design freedom discussed above, one can adapt the manipulator such that well defined kinematic properties are reached at various places in space. This adaption is achieved by an adjustment of the five design parameters via adaptation of their mechanical link design without changing the DH parameters. Geometric optimization is understood as an adjustment of arm lengths of a manipulator to achieve a required workspace, hence it is closely related to workspace optimization. Such adaptations are realized from manufacturers of industrial robots by scaling a robot to get types with same structure. In practice, such an adaption also varies the associated admissible payload and the manipulator’s price. Geometric Optimization
An adaptive system, more precisely its inherent structure, can be changed towards a specific optimization goal. One way to adapt the structure of an industrial robot is to vary its OPW parameters. The robots of the various manufacturers differ in this way and provide, amongst others, a unique selling point about the structure of their robots. In Sec. 6.2.1 four different industrial serial robots with an ortho-parallel basis are evaluated. Manipulators with general structure can be fully adapted. However, this complete freedom in the mechanical design leads to a selection problem which can be handled by formulating an optimization problem. A simplified way to overcome this issue is the juxtaposition of known structures within a big set of possible solutions. This variant of selecting a proper structure implies an enormous computational effort. As an example, structures of serial 6R manipulator were sought, which can be mechanically realized on the one hand and in particular have 16 real solutions of the IKP. More than 600 Cuma-type robot structures are listed in App. A that can be assembled with only a set of seven different links. A total of 700 robot structures are presented in App. A which have regions in their workspace, that can be reached by the end effector with 16 different postures. It is hoped that this detailed discussion will be of value for different robot manufacturers and designers. Another way to adjust the structure of a serial 6R manipulator is given when an overdetermined system is applied and its surplus joints are frozen selectively [93]. Such an example with a Cuma-type arm is discussed in Sec. 6.2.3. Structural Optimization
65
6. Examples, Simulations, and Experimental Results The relationship between the kinematic structure of a serial robot and its impact on the end effector repeatability are the main focus of the following analyses. Starting with the simplest possible structure, a two-link serial manipulator, the kinematic complexity of the considered robotic systems will then be gradually increased up to general structured 7R serial manipulators. It should be noted, that other possible sources of errors affecting the pose repeatability of the end effector (e.g. dynamic influences) than the quantization error are neglected during all computations throughout this chapter.
6.1. Planar Manipulators with Revolute Joints Planar Systems have high importance for theoretical considerations and can also be found as crucial subsystem in real-world robot systems, e.g., SCARA robots (see Fig. 6.1). This circumstance motivates to start the evaluation with the simplest serial robot conceivable: the serial 2R manipulator.
6.1.1. 2R Planar Manipulators One of the simplest types of a robotic arm with revolute joints possible is the planar 2R serial manipulator illustrated in Fig. 6.2. The manipulator contains a basis and an end effector connected by two links with lengths r1 and r2 . The connection between the base and the first link and between the two links is modeled by pure joint rotations with angles q1 and q2 .
q2
q1
q3 h
Figure 6.1.: The Selective Compliance Assembly Robot Arm (SCARA) AR-S350AE from Hirata Robotics.
67
6.1. PLANAR MANIPULATORS WITH REVOLUTE JOINTS
y
r2
P q2 r1
q1 O
x
Figure 6.2.: Scheme of a 2R planar serial manipulator. For comparing the whole set of planar 2R manipulators a unit-robot with total link length of one is defined. A unit-robot is the scaled version of an arbitrary serial two-link robot and the according transformation rule is r1 r¯1 = , r¯2 = 1 − r¯1 , r1 + r2 where r¯1 , r¯2 are the link lengths of the unit-robot. Encoder Dependent Repeatability
Measures for deficiencies of repeatability due to limited encoder resolution are presented in Sec. 4.4.3. The goal now is to find regions in the workspace, where the repeatability of the end effector reaches an optimum. In this simple case only the maximum positioning error epos,max is of interest, which is defined as epos,max = max(lm /2), k
where
2 2 lm = ∆ x˜m + ∆˜y2m
(6.1)
is the squared distance from the position estimate P˜ i, j to the k-th neighboring position estimate. In case 2 of two actuators (n = 2) the number of direct configurations is nQ˜ 2 = 3 − 1 = 8. Table 6.1 lists all relative configurations which can be reached by maximal one tick per encoder. Computing the set of distances Li, j,±1 = { lm | m ∈ N, 1 ≤ m ≤ 8} can be done by the forward kinematics of the 2R manipulator given by φD : R2 → R2
! ! ! φD,1 (q) xp r1 cos q1 + r2 cos(q1 + q2 ) q 7→ φD (q) := = = , φD,2 (q) yp r1 sin q1 + r2 sin(q1 + q2 )
(6.2)
and hence, ∆ x˜m = x p − xm and ∆˜ym = y p − ym in (6.1) can be assigned to ∆ x˜k = r1 cos q˜ i + r2 cos(q˜ i + q˜ j ) − r1 cos(q˜ i + ∆q˜ i ) − r2 cos(q˜ i + ∆q˜ i + q˜ j + ∆q˜ j ) , ∆˜yk = r1 sin q˜ i + r2 sin(q˜ i + q˜ j ) − r1 sin(q˜ i + ∆q˜ i ) − r2 sin(q˜ i + ∆q˜ i + q˜ j + ∆q˜ j ).
68
(6.3) (6.4)
6.1. PLANAR MANIPULATORS WITH REVOLUTE JOINTS Applying the small-angle approximation for ∆q˜ i and ∆q˜ j , (6.3) and (6.4) can be written in simplified terms: ∆ x˜k ≈ r1 sin(q˜ i )∆q˜ i + r2 sin(q˜ i + q˜ j )(∆q˜ i + ∆q˜ j )
∆˜yk ≈ r1 cos(q˜ i )∆q˜ i + r2 cos(q˜ i + q˜ j )(∆q˜ i + ∆q˜ j )
For a 2R manipulator the following expressions for the elements of Li, j,±1 using (6.1) arise: lI2 := l12 = l52 = r12 ∆q˜ 21 + r22 (∆q˜ 1 + ∆q˜ 2 )2 + 2 r1 r2 (∆q˜ 21 + ∆q˜ 1 ∆q˜ 2 ) cos q˜ 2
lII2 2 lIII 2 lIV
:= := :=
l22 l32 l42
= = =
l62 l72 l82
= = =
r12 ∆q˜ 21 + r22 (∆q˜ 1 − ∆q˜ 2 )2 + 2 r1 r2 (∆q˜ 21 r22 ∆q˜ 22 (r12 + r22 + 2 r1 r2 cos q˜ 2 )∆q˜ 21
− ∆q˜ 1 ∆q˜ 2 ) cos q˜ 2
(6.5) (6.6) (6.7) (6.8)
Due to the fact that opposite configurations lead to the same result, they are collected in dyads, labeled with Roman numerals. It is also noted that (6.5) to (6.8) are independent of the first joint angle q˜ 1 . An analytical comparison of these four equations can be found in [20] but a graphical representation of the four functions is intended to provide the same insight here, see Fig. 6.3. As a reminder, the correlation between encoder resolution resi and the smallest angle that can be distinguished ∆qi is ∆qi = 2 π/resi . Depending on the arm lengths, the resolutions and angle q˜ 2 different curves can be identified as upper bound. As is can be seen lIII and lIV never act as upper bound. As a result, if at least one joint is not altered, see Tab. 6.1, the configuration is not a candidate to cause the maximum positioning error. Due to the symmetrical behavior, only a range of joint angles between 0 and π is considered now. To compute the intersection of lI (q˜ 2 ) and lII (q˜ 2 ) the corresponding angle is indicated as q˜ 2,int . Using (6.5) and (6.6) this angle is found to be q˜ 2,int := κ cos−1 (−r2 /r1 ) , res2 , where κ(ϕi , resi ) is the discretization function defined in (4.3). The shortest distance s of the end effector to the base is in this particular case q q sint := r12 + r22 + 2 r1 r2 cos q˜ 2,int = r12 − r22 according to (6.2). The positioning error at this intersection eint amounts to q 1 eint = (r12 − r22 )∆q˜ 21 + r22 ∆q˜ 22 , 2 the maximum error emax arises to s ! 1 1 ∆q˜ 1 ∆q˜ 1 r1 2 2 2 2 emax = (r1 + r2 ) ∆q˜ 1 + 2 + + r ∆q˜ 2 2 ∆q˜ 2 ∆q˜ 2 r2 2 2
Table 6.1.: Determining all neighboring configurations using two actuators. m ∆q˜ i ∆q˜ j
1
2
3
4
5
6
7
8
+∆q˜ 1 +∆q˜ 2
+∆q˜ 1 −∆q˜ 2
0 +∆q˜ 2
+∆q˜ 1 0
−∆q˜ 1 −∆q˜ 2
−∆q˜ 1 +∆q˜ 2
0 −∆q˜ 2
−∆q˜ 1 0
69
6.1. PLANAR MANIPULATORS WITH REVOLUTE JOINTS
lk
lk
¼
lI
lI
l IV l III l II
l III l IV
2¼
l II
(a) r1 > r2 and res1 > res2 .
q~2
(b) r1 < r2 and res1 > res2 .
lk
lk
lI
¼
2¼
¼
q~2
lI
l IV
l IV
l II l III
l II l III
2¼
¼
q~2
(c) r1 > r2 and res1 < res2 .
lk
2¼
q~2
(d) r1 < r2 and res1 < res2 .
lk
lI
lI
l IV l IV
l II l III ¼
2¼
l III l II ¼
q~2
(e) r1 > r2 and res1 = res2 .
2¼
q~2
(f) r1 < r2 and res1 = res2 .
Figure 6.3.: Curves of position estimate distances and and their maximum. when the manipulator is fully extended (q˜ 2 = 0) and the minimum positioning error emin depends on the given condition: lI (π)/2 r1 ≤ r2 emin = lII (π)/2 r1 > r2 and res1 < res2 eint otherwise As a conclusion a flowchart and a schematic diagram are depicted in Fig. 6.4 to ascertain the optimal region Ropt within the workspace of a 2R planar serial robot. The results resumed are substantiated by simulations presented in [20]. Optimal design of 2R manipulators regarding repeatability
The presented method can also be used to determine an optimized design of the serial manipulator. To get a better insight into the impact of the design parameters of the manipulator, a simulation is presented. By varying between a set of robot parameters and considering the error while the end effector follows a line from the inner to the outer bound of the workspace. The six variants which were analyzed here correlate to the possible combinations as depicted in Fig. 6.3. The result of this simulation (see Fig. 6.5) is a design recommendation for the arm lengths of the manipulator. The first link should be larger
70
6.1. PLANAR MANIPULATORS WITH REVOLUTE JOINTS
Start Yes
RWS
r1> r2 ?
No Ropt = R1
res1 /res2 ? res1res2
Ropt = R1
Ropt = R2
Ropt = R3
R1
(a) Flowchart for computing the optimal region Ropt .
R2
R3
(b) Possible regions within the workspace.
Figure 6.4.: Case analysis of encoder and arm length dependent maximum repeatability of a 2R planar manipulator. then the second, so the maximum error can be reduced. Furthermore, there exists a region within the workspace (from the inner bound to sint ) where the error changes only insignificantly. The optimal geometric parameters of the planar 2R manipulator depend on the optimization criterion. As shown in the last simulation (see Fig. 6.5), there exists a region within the workspace area AWS := (r1 + r2 )2 − (r1 − r2 )2 = 4 π r1 r2 ,
>
r1
res 2
>
r1< r2
>
>
2 res 1< s re s2 =re res 2 r2 res 1 > 1= s 1 e r r2 r r1< r2 res 2 r1> 1> s e r r2 r1>
>
>
maximum error
with low maximum error changes and good repeatability. In the following the maximum area for this region (equivalent to R2 ) while considering a unit-robot (¯r1 > 0.5) with identical joint resolutions (res1 = res2 ) is searched. If AR2 is the area of R2 , then the area can be computed to be AR2 = s¯2int − (r¯1 − r¯2 )2 π = r¯12 − r¯22 − (r¯1 − r¯2 )2 π, (6.9)
r1 r2
1 s
sint
Figure 6.5.: Variation of design parameters for a unit-robot with |¯r1 − r¯2 | > 0.2 and resolution ratio of 0.5 < res1 /res2 < 2.
71
6.2. SPATIAL MANIPULATORS WITH REVOLUTE JOINTS where s¯int is given by s¯int
q p := r¯12 + (1 − r¯1 )2 + 2 r¯1 (1 − r¯1 ) cos q˜ 2,int = 2 r¯1 − 1 ,
(6.10)
In (6.10) the terms cos q˜ 2,int = −¯r2 /¯r1 and r¯2 = 1 − r¯1 are in use. With the condition of the unit-robot one can rewrite (6.9) as function of r¯1 : AR2 (r¯1 ) = r¯12 − (1 − r¯1 )2 − (r¯1 − (1 − r¯1 ))2 π = −2 r¯12 + 3 r¯1 − 1 2 π The maximum of AR2 (r¯1 ) is
max AR2 (r¯1 ) =
π AWS = 4 3
which occurs at r¯1,opt := arg max AR2 (r¯1 ) = 0.5 res3 .
Figure 6.8.: Error maps of various robots and different joint resolutions. • (b), (f), (j), and (n) result from res1 = 200000, res2 = res3 = 500000, • (c), (g), (k), and (o) result from res2 = 200000, res1 = res3 = 500000, • (d), (h), (l), and (p) result from res3 = 200000, res1 = res2 = 500000. It can be seen that the structural differences have no major effect on repeatability. However, a closer inspection reveals peculiarities. Whenever a1 or a2 is equal to zero the error map is symmetric about q2 = π and in the opposite case not. The Stäubli TX40, in contrast to the other considered robots, has two significant local minima in case of ∆q˜ 3 > ∆q˜ 1 = ∆q˜ 2 (see Fig. 6.9d). Definitely this result does not depend on the fact that b , 0 which is verified by simulations. Moreover, the Jacobian matrix of the ortho-parallel manipulator derived on page 6.2.1, is even independent of b. Calculated maps of encoder dependent repeatability error bounds with absolute values are depicted in Fig. 6.8. Viewed broadly one may conclude that the error is smaller the closer q3 is to π. But analogously to the two-dimensional case (Fig. 6.3) the boundary of the error plot is built by more than one surface. In this particular case the optimal region is not located at q3 = π. Figure 6.8b illustrates the asymmetric error distribution due to the relatively large value of a1 impressively.
76
6.2. SPATIAL MANIPULATORS WITH REVOLUTE JOINTS
(a) ∆q˜ 1 = ∆q˜ 2 = ∆q˜ 3 .
(b) ∆q˜ 1 > ∆q˜ 2 = ∆q˜ 3 .
(c) ∆q˜ 2 > ∆q˜ 1 = ∆q˜ 3 .
(d) ∆q˜ 3 > ∆q˜ 1 = ∆q˜ 2 .
(e) ∆q˜ 1 = ∆q˜ 2 = ∆q˜ 3 .
(f) ∆q˜ 1 > ∆q˜ 2 = ∆q˜ 3 .
(g) ∆q˜ 2 > ∆q˜ 1 = ∆q˜ 3 .
(h) ∆q˜ 3 > ∆q˜ 1 = ∆q˜ 2 .
(i) ∆q˜ 1 = ∆q˜ 2 = ∆q˜ 3 .
(j) ∆q˜ 1 > ∆q˜ 2 = ∆q˜ 3 .
(k) ∆q˜ 2 > ∆q˜ 1 = ∆q˜ 3 .
(l) ∆q˜ 3 > ∆q˜ 1 = ∆q˜ 2 .
(m) ∆q˜ 1 = ∆q˜ 2 = ∆q˜ 3 .
(n) ∆q˜ 1 > ∆q˜ 2 = ∆q˜ 3 .
(o) ∆q˜ 2 > ∆q˜ 1 = ∆q˜ 3 .
(p) ∆q˜ 3 > ∆q˜ 1 = ∆q˜ 2 .
Figure 6.9.: Visualization of the maximum error due to encoder depend repeatability of Stäubli TX40 (ad), Epson C3 (e-h), Schunk Powerball (i-l), and Viper S650 (m-p). The abscissa represents q2 and the ordinate q3 from 0 to 2π in each case. Moreover, the darker the color the smaller the error.
77
6.2. SPATIAL MANIPULATORS WITH REVOLUTE JOINTS Jacobian Matrix
By computing the partial derivatives of the position coordinates one obtains the Jacobian matrix of ortho-parallel 3R manipulators
J⊥k
∂c x0 ∂c x0 ∂c x0 ∂q1 ∂q2 ∂q3 ∂cy0 ∂cy0 ∂cy0 (6.15) ∂q1 ∂q2 ∂q3 ∂cz0 ∂cz0 ∂cz0 ∂q1 ∂q2 ∂q3 − sin q1 (k sin ψC + c2 sin q2 + a1 ) − b cos q1 cos q1 (k cos ψC + c2 cos q2 ) k cos q1 cos ψC = cos q1 (k sin ψC + c2 sin q2 + a1 ) − b sin q1 sin q1 (k cos ψC + c2 cos q2 ) k sin q1 cos ψC 0 −k sin ψC − c2 sin(q2 ) −k sin ψC =
q where ψC = q2 + q3 + atan(a2 /c3 ) and k = a22 + c23 . The determinant of (6.15) can be determined to be: det(J⊥k ) = c2 k2 sin2 q1 + c2 k2 cos2 q1 cos q2 sin(q3 + q2 + atan(a2 /c3 ))2 + h + −c2 k2 sin2 q1 − c2 k2 cos2 q1 sin q2 cos(q3 + q2 + atan(a2 /c3 ))+ + c22 k sin2 q1 + c22 k cos2 q1 cos q2 sin q2 + i + a1 c2 k sin2 q1 + a1 c2 k cos2 q1 cos q2 sin(q3 + q2 + atan(a2 /c3 ))+ h + −c22 k sin2 q1 − c22 k cos2 q1 sin2 q2 + i + −a1 c2 k sin2 q1 − a1 c2 k cos2 q1 sin q2 cos(q3 + q2 + atan(a2 /c3 )) (6.16) Obviously, this result is independent of the lateral arm-offset b which corresponds to the simulations above. The main difference to the equations of encoder dependent repeatability is given by the independence of encoder resolutions in (6.16). Therefore, the manipulability index, which bases on the Jacobian, defined in (3.7) and simply MI = det(J⊥k ), does not meet the requirement of a suitable performance index regarding repeatability. Different joint resolutions within kinematic chains appear in real world applications and a suitable performance index must take this circumstance into account. In order to ascertain the singular configurations of the serial ortho-parallel 3R manipulator the roots of (6.16) must be calculated. Using a computer algebra system (e.g., Maxima) two conditions can be found: Singularities
−c2 sin q2 = k sin(q2 + q3 + ψ3 ) + a1 tan q2 = tan(q2 + q3 + ψ3 )
(6.17) (6.18)
These criteria can be interpreted geometrically as two planes of singular points. From (6.17) the first plane derives which contains the first axis and is parallel to the second and third joint axes. This is the case, in simple terms, if C lies on the z1 -axis of the side view projection, see Fig. 6.6b. Moreover, it follows from (6.18) that an additional singular configuration appears if q3 + ψ3 = k π with k ∈ Z, which 78
6.2. SPATIAL MANIPULATORS WITH REVOLUTE JOINTS
(a) Cuma № 507.
(b) Cuma № 314.
Figure 6.10.: Two Cuma-arms in their home position. means, that the end effector position C is located on a plane spanned by g2 and g3 , see Fig. 6.6b again. In more general terms, the second plane is spanned by the second and third axes. Whenever the point C lies on this plane the Jacobian J⊥k becomes singular as well. [48]
6.2.2. 6R with General Structure This section provides a closer look into serial manipulators with 6 DoF, general structure and special characteristics. For this purpose the Cuma concept is used and different designs that can be built with it are simulated. The encoder dependent repeatability is again used for demonstration as an optimization possibility. As a favorable design configuration a Cuma-arm was selected from the existing set listed in App. A. The modular elements of Cuma № 314 barely intersect and this design is therefore chosen as a representative example. It should be noted at this point that observance of joint limits and any kind of collision avoidance is a crucial criterion for postures selection dealing with serial robots in general design. The parameter set S314 of Cuma № 314 can be written as Representation of 16 real solutions
S314
=
90 90 90 70 70
5 90 5 1 9 90 2 1 7 −90 1 0 5 180 7 0 5 90 6 0
2 0 4 90 4 180 0 −90 0 180
90 90 70 70 1
,
which corresponds to the system description presented in Sec. 5.2.6. The corresponding DH parameters of the manipulator are listed in Tab. 6.4. A pose which leads to 16 real solutions of the IKP was found
79
6.2. SPATIAL MANIPULATORS WITH REVOLUTE JOINTS
Table 6.4.: DH parameters of a Cuma-type arm with 16 real solutions possible (configuration S314 ). i-th Link 1 2 3 4 5 6
di / mm 201.9851 262.6736 414.6376 214.2663 687.5795 347.9151
to be Σ0 P314
ai / mm 186.4747 18.5570 70.9046 104.9573 36.1426 0
αi / deg 74.3333 125.5905 242.6118 −100.0447 154.2641 0
1 1 0 0 340 −1 0 0 = . −60 0 1 0 180 0 0 −1
The set of all associated joint angles QS
Σ0 314 ,P314
can be computed with the application of the Husty-
Pfurner algorithm, briefly addressed in Sec. 3.2.2. In order clearly describe the following result, the general form of the solution set QS ,PΣk is repeated: i
j
QS ,PΣk i
j
=
q1 .. . q16
q1,1 . . . q1,6 . .. .. = .. . . q16,1 . . . q16,6
Σ0 For the introduced structure S314 and pose P314 one obtains
QS
Σ0 314 ,P314
=
−159.6063 −57.1223 −98.6841 116.8852 0.2294 23.7898 −111.6903 −44.0843 80.9380 21.7556 131.8521 −94.0194 −96.5040 71.8403 −40.6669 33.3288 144.7661 116.0173 −86.4816 −131.4023 135.7798 76.9873 −83.0006 −76.8884 −83.6551 119.3875 93.2880 73.8873 −45.5320 −130.0804 −63.5519 0.8727 −29.6539 14.6701 90.1024 −3.6901 −50.5734 112.0530 15.7190 7.6158 −173.3196 172.5489 −31.6942 37.2355 144.4037 111.6565 31.4334 −148.4374 . 49.0398 47.8495 −95.9011 −179.5283 −11.4376 −106.3194 87.6638 −56.7153 166.4666 −85.0133 109.2764 −33.8724 110.8048 −79.2993 150.7131 −78.4403 126.3519 −10.0854 115.4608 42.1933 91.9890 −81.0353 111.2164 176.8706 129.9160 29.6844 103.2120 −72.0083 104.7564 −170.0837 144.6246 −83.8723 −14.6700 162.5367 −27.2136 71.9967 158.1538 −58.5043 −45.7152 151.9577 −6.8156 44.5067 162.4348 177.8549 5.3550 148.7067 −84.8215 128.0060
As it can be seen from the entries above, all values are real numbers. This is a prerequisite that the solutions can be converted to physical postures. The simulated representations are shown in Fig. 6.11
80
6.2. SPATIAL MANIPULATORS WITH REVOLUTE JOINTS on page 82. However, due to mechanical joint limits it is not possible to realize all solutions in real. As an example, the joint values of the 6-th joint (last colomn) are bounded by ±120◦ . It follows from this limitation that 5 solutions can not be realized (q5 , q7 , q8 , q12 , q13 ). All the other joints are limited by ±160◦ which cause impossible realizations of further solutions. A self collision detection is necessary in practice. In relation to the superimposition of the joints and intermediate modules (dependent on the shape), the number of feasible solutions must be reduced further.
81
6.2. SPATIAL MANIPULATORS WITH REVOLUTE JOINTS
(a) Posture 1.
(b) Posture 2.
(c) Posture 3.
(d) Posture 4.
(e) Posture 5.
(f) Posture 6.
(g) Posture 7.
(h) Posture 8.
(i) Posture 9.
(j) Posture 10.
(k) Posture 11.
(l) Posture 12.
(m) Posture 13.
(n) Posture 14.
(o) Posture 15.
(p) Posture 16.
Σ0 Figure 6.11.: All sixteen postures for pose P314 of Cuma № 314.
82
z ∑ / mm
6.2. SPATIAL MANIPULATORS WITH REVOLUTE JOINTS
∑ m y /m
x ∑ / mm
Σ to PΣ with posture number 7. Figure 6.12.: The Cuma-arm moves on a straight line from Pstart end
A serial 6R manipulator with general structure was chosen from the set of Cuma-type arms presented in App. A. This structure serves as a basis to illustrate simulations on encoder dependent repeatability, see also [23]. It is shown in this section how to determine the maximum pose errors of a general serial 6R manipulator due to the finite resolution of its encoders. First, the structure of a manipulator is defined on which the findings of Sec. 3.3.4 are demonstrated. The Denavit-Hartenberg parameter set of the used Cuma-arm configuration is listed in Tab. 6.5 and the last column indicates the offsets of each joint angle by qoff,i . Figure 6.12 shows a simulation of the Cuma-arm in two different poses of one specific posture. The Σ0 end effector follows a linear path in task space that starts at Pstart (transparent manipulator configuration) Σ0 and ends at Pend (opaque configuration). The orientation of the end effector is kept constant while Encoder dependent repeatability
Table 6.5.: DH parameters of Cuma № 507. i-th Link 1 2 3 4 5 6
di / mm 233.827 499.306 −172.743 −1.646 48.151 16.430
ai / mm 30.590 373.502 106.559 355.206 58.073 0
83
αi / deg 42.590 −67.891 102.166 −99.967 −103.621 0
qoff,i / deg 121.590 76.658 51.359 3.435 68.288 126.786
6.2. SPATIAL MANIPULATORS WITH REVOLUTE JOINTS -150 -200
∑ Pstart
785
10 12 -300 14 16
668
-350
z§
y ∑ / mm
-250
-400
385 -450
30
∑ P end
0
x§
50 100 150 200 250 x ∑ / mm
(a) A section of the workspace of the considered Cuma-arm within constant height (zΣ = 668 mm).
-320 -15 0
§
y
490 -5 1 0
(b) 3D representation of the region, which includes only 16 real solutions to the IKP.
Figure 6.13.: Workspace analysis of Cuma № 507. All solutions are computed with constant orientation of the end effector. moving and the poses of the end effector are given by
Σ0 Pstart
1 0 0 0 209 −1 0 0 = −187 0 1 0 668 0 0 −1
1 0 0 0 1 −1 0 0 Σ0 , and Pend = −473 0 1 0 668 0 0 −1
.
For the following results it is important to note that the end effector pose does not overlap with the last reference frame resulting from the Denavit-Hartenberg transformations. An offset transformation EFoff must be taken into account to attain the end effector pose:
EFoff
1 −95.1 = 0 0
0 0 0 1
0 0 0 −1 1 0 0 0
(6.19)
The values in (6.19) correspond to dimensions of the final two-axis wrist actuator (Schunk PW70 module). This additional transformation could be also achieved by an extra line in the Denavit-Hartenberg parameter set. The selected path for this simulation is located in a special area of the workspace for which 16 individual solutions of the inverse kinematics problem can be found. That is to say, the entire path can be traversed in 16 different ways. A planar section through the workspace of the mannipulator is plotted in Fig. 6.13a and the number of distinguishable solutions without complex part are indicated by different colors. For the considered case the minimum angular resolutions is chosen to be ∆q˜ i = 0.01 deg for i = 1, . . . , 6. Without additional computational cost, resolutions can be selected which are different from
84
6.2. SPATIAL MANIPULATORS WITH REVOLUTE JOINTS
Table 6.6.: Summary of data of all examined errors for the given path using the presented Cuma-arm. Bold values indicate a minimum or maximum sum of errors. Posture
Sum of max. positioning errors due to the encoders 1 18.258 2 17.743 3 14.737 4 15.737 5 16.170 6 11.443 7 10.794 8 11.126 9 11.018 10 11.389 11 11.464 12 12.719 13 13.453 14 12.009 15 15.959 16 14.178 Max/Min 1.692
Sum of max. positioning errors due to the algorithm 0.283 0.536 0.464 0.312 0.511 0.114 0.208 0.243 0.254 0.265 0.296 0.369 0.404 0.327 0.514 0.535 –
Sum of max. orientation errors due to the encoders 5.954 5.841 5.343 6.139 6.135 6.282 6.121 6.104 5.790 6.257 5.503 6.222 6.689 6.311 5.874 5.563 1.252
Sum of max. orientation errors due to the algorithm 0.072 0.069 0.078 0.064 0.077 0.040 0.067 0.071 0.055 0.037 0.076 0.065 0.081 0.077 0.065 0.084 –
each other. This angular resolutions allow to determine the position and orientation errors for the specified path and for each posture separately. Figure 6.14a and 6.14b illustrate the maximum position and orientation errors along the traverse for all 16 different solutions. Summing up, all errors yield a measure to select a suitable posture (see Tab. 6.6). As a result, the position error of posture number 7 is about 1.69 times smaller than that of posture number 1. In order to describe the influence of the numerical properties of the algorithm that is used to calculate the inverse kinematics on the pose accuracy, an additional error quantity is computed6 . Comparing each Σ , defined as element of the set of end effector poses Palg Σ Σ Palg = φdh φinv , dh P with the desired end effector pose PΣ as derived in Sec. 4.4, the error due to the inverse kinematics is indicated7 . The computed influence, plotted in Fig. 6.14c and Fig. 6.14d, suggests that the error is about one magnitude smaller than the error due to discretization.
6 IEEE 7 The
754 double precision. major part of the algorithm error is attributed to the inverse kinematics.
85
6.2. SPATIAL MANIPULATORS WITH REVOLUTE JOINTS
0.044
0.13
max. oientation error / deg
max. positioning error
0.12 0.11 0.10 0.09 0.08
0.042 0.041 0.040 0.039 0.038 0.037 0.036 0.035
0.07
posture 7 0
50
0
100 150 200 250 300 350 400 450 500 Timestep
0.005
0 0
0.0010 0.0005 0 0
50 100 150 200 250 300 350 400 450 500 Timestep
(c) Positioning error due to the limited numerical precision.
50 100 150 200 250 300 350 400 450 500 Timestep
(b) Maximum orientation error due to the encoder resolution. algorithm ori. error / deg
0.010
posture 3
0.034
(a) Maximum positioning error due to the encoder resolution. algorithm pos. error / mm
posture 13
0.043
posture 1
50 100 150 200 250 300 350 400 450 500 Timestep
(d) Orientation error due to the limited numerical precision.
Figure 6.14.: Maximum errors that occur at the specified path for all postures.
86
6.2. SPATIAL MANIPULATORS WITH REVOLUTE JOINTS Experiment to validate the computed upper bound of the encoder dependent repeatability
Figure 6.15 shows a robotic testbed to evaluate the presented method to estimate the maximum repeatability of a manipulators end effector. To measure the absolute position of the end effector a laser tracker system (Leica Absolute Tracker AT960-MR) is used. The distance between the laser tracker and the target applied on the end effector is approximately 1.5 m (specified by the manufacturer). Hence, the accuracy (maximum permissible errors) to determine the end effector position is ±24 µm. The position of the end effector is recorded by the laser tracker with 1 ms. Cuma № 242 (see App. A) serves as an example and the manipulator is assembled by using the required joint and link modules. A curve of fourth degree called lemniscate, indicated in Fig. 6.16, is used as path for the end effector position. The parametrically defined curve is given by √ 100 2 cos τ ΣEF x = sin2 τ + 1 √ 100 2 sin τ cos τ ΣEF y = sin2 τ + 1 ΣEF z = const. , with τ = −π, . . . , π. The orientation of the end effector is not varied during the movement and the initial pose of the end effector is 1 0 0 0 574 0 0 1 Σ0 . Pstart = 158 −1 0 0 592 0 −1 0
Moreover, EFoff , defined in (6.19), must be taken into account again to attain the desired end effector pose. The given path (lemniscate) is traced 20 times for the evaluation, where always the same posture is selected. Every curve loop is closed after 30 s and the joint positions are set by the controller with
Figure 6.15.: Evaluation testbed with a Leica Absolut Tracker AT960-MR.
87
6.2. SPATIAL MANIPULATORS WITH REVOLUTE JOINTS
Figure 6.16.: Colormap with number of solutions analysed in planar cross section and the given path of the end effector (lemniscate). The points of the curve can theoretically be reached by at least 8 different postures. time step 1 ms. The encoder resolution of the Schunk PowerCube modules is 0.04◦ (specified by the manufacturer). Figure 6.17 depicts the evaluation results. Here, the blue curves show the difference of the 20 test series to the mean of the 20 test series. The green curve indicates the mean of the blue curves. The maximum positioning error due to the joint resolution is computed by the presented method and shown
1.0
positioning error / mm
0.9 0.8 0.7 0.6 0.5 0.4 0.3 0.2 0.1 0
5000
10000
15000 20000 Timestep / ms
25000
30000
Figure 6.17.: Evaluation results with deviations from the mean of measured positions (blue curves) and the computed upper bound (red curve).
88
6.2. SPATIAL MANIPULATORS WITH REVOLUTE JOINTS by the red curve. The large variations between 10000 ms and 15000 ms are caused by the motors, because the torques are slightly too low. As can be seen, the magnitude of the theoretical upper bound for the repeatability (red curve) matches to the measured data. However, the limit curve can not be verified with the given hardware because of the flexibility of the links. Kinematically Isotropic Points
To characterize the kinematic behavior of the end effector the computation of the kinematic isotropy (measure of directional uniformity) introduced in Sec. 3.3.3 is commonly used in literature. At this point, a well known robot structure serves as example to recapitulate the method presented in [22], the isotropy behavior of the end effector and will be discussed further below. The Jacobian matrix J, which maps the actuator velocities q˙ to the linear and angular velocity x˙ of the end effector by x˙ = Jq˙ for one specific configuration is analyzed. J can be split into a position (JP ) and orientation (JO ) part by " # JP J= . JO The isotropy of the linear and angular velocity are decoupled, hence, the local position isotropy index (LPII), as noted in Sec. 3.3.3, can be computed by LPII =
σP,min , σP,max
where σP,min is the smallest and σP,max is the largest singular value of JP . The closer the value of this index to 1, the more homogeneous is the behavior of the end effector with regard to linear movements. For instance, the velocity of a welding robot should be accurate and uniform, hence, the end effector should have an isotropic behavior along that path, where the weld seam is intended to be located. A configuration set with LPII ≈ 1 can be found for Cuma № 141 with h i qiso = qiso,1 10.0112 141.4213 −152.3935 −178.0555 −155.9190 where qiso,1 ∈ R. By adapting the manipulator using the design parameters (d˜1 , q˜ 1 , d˜5 , q˜ 5 , and C, presented in 5.2.6), the location of this isotropic point can be adjusted according to a required task. Analysis Results of the Set of Discovered Solutions
Based on a compute-intensive search 700 different structures of serial 6R manipulators out of a a set of 7 · 1017 structures and associated regions in each workspace were found which can be reached by the end effector with (theoretically) 16 postures. All necessary information about their kinematic structures is given in App. A. The majority of this set (first 608 manipulators) can be assembled by the modular elements available of Cuma. The remaining examples can be considered as academic solutions with appealing values (natural numbers) in the DH parameters and the pose matrix. Although the associated Cuma-arms are depicted in App. A, they only serve as illustrative examples. For any reconstruction the intermediate elements must be reproduced in accordance to the given DH parameters. This is not a mechanical problem, but rather a question of cost and usefulness. However, it should be noted that long intermediate elements
89
1000
16
1000
16
750
14
750
14
500
12
500
12
250
10
250
10
0
8
-250
6
-500 -750 -1000 -1000 -750 -500 -250 0 250 500 750 1000
zΣEF / mm
zΣEF / mm
6.2. SPATIAL MANIPULATORS WITH REVOLUTE JOINTS
0
8
-250
6
4
-500
4
2
-750
2
0
-1000 -1000 -750 -500 -250 0 250 500 750 1000
xΣEF / mm
yΣEF / mm
0
xΣEF / mm
1000
16
750
14
500
12
250
10
0
8
-250
6
-500
4
-750
2
-1000
0
y ΣEF
z ΣEF
xΣEF z Σ0 y Σ0 x Σ0
-1000 -750 -500 -250 0 250 500 750 1000
yΣEF / mm
Figure 6.18.: Colormap with number of solutions analyzed in perpendicular cross sections for Cuma Σ0 . № 137 in pose P137 lead to an oscillating behavior of the system and the end effector and the robot becomes a flexible link robot. These special systems are studied in detail in [36]. Now, the attention is drawn to some examples with interesting peculiarities and similarities and these specific structures will be discussed hereinafter. The number of solutions for a given structure and pose depends on the position and orientation of the end effector, and hence is embedded in the six-dimensional space of rigid body motions. However, the representation of results within such high dimensions is difficult. Cross sections through the task space of a manipulator, which represent the number of inverse kinematic solutions with only real arguments serve as a suitable visualization tool. Three cross sections for each Cuma structure are shown in App. A, which all have the same extent for a better comparison. Striking structural properties: • Whenever the first and the last axis of a 6R serial manipulator are parallel, the sectional plane normal to both axes shows a rotational symmetry about the origin. The other cross sections show a reflection symmetry with the x-axis as symmetry line. As an example, Fig. 6.18 depicts the cross
90
6.2. SPATIAL MANIPULATORS WITH REVOLUTE JOINTS sections for Cuma № 137 with end effector pose
Σ0 P137
1 0 336 0 = 110 0 451 −1
0 0 1 0
0 1 0 0
.
• Due to the property mentioned above, some cross sections should match but differ because of numerical errors, discussed in Sec. 3.2.2. Cuma № 635, № 655 and № 655 show for instance this characteristics for the two regions. • The impact of numerical inaccuracies affect the solution of the IKP. This effects vary within the workspace and are often clearly recognizable. Cuma № 142 and Cuma № 562, e.g., should have 16 solutions within the whole annulus which appear in the yΣEF zΣEF -plane. This property also applies to restricted areas (e.g. Cuma № 29) where the true number of real solutions can be easily estimated.
6.2.3. 7R with Almost General Structure The following example is based on a modular serial manipulator with 7 DoF. The control problem of the full actuated Cuma № 5 presented in App. A to follow a given parametric curve by its end effector leads to an optimization problem due to the kinematic redundancy of the robot system. The degree of redundancy r is 7-6=1 and hence one kinematic parameter can be varied within an admissible range. The boundaries of this range arise by the region of real solutions of the IKP, the presence of obstacles, and manipulator positions where a self-collision arise. As an example, a curve of fourth degree called trifolium, depicted in Fig. 6.19a, is used as a function for the end effector position and once more, the end effector orientation is not varied while moving, see
§0 ytri
353 §0 xtri
100
-57 § 0 (¿) }tri
Trifolium curve.
End effector of Cuma № 5 follows the prescribed trifolium curve.
Figure 6.19.: Validation with the testbed.
91
6.2. SPATIAL MANIPULATORS WITH REVOLUTE JOINTS
The optimal angle q2 of the 2nd joint.
3D visualization of the positioning error and the according optimal angle of the 2nd joint.
Figure 6.20.: The positioning error is minimized against the 2nd joint angle q2 of Cuma № 5. Fig. 6.19b. The parametric curve is given by the path Σ0 xtri = −100 cos(τ) cos(3τ) + 353 Σ0 Σ0 ℘tri (τ) : = ytri = −100 sin(τ) cos(3τ) − 57 Σ z 0 = 221 tri
with τ = 0, . . . , π. Its arc length can be calculated by stri = 2aE (−8), where E (−8) is a complete elliptic integral of the second kind. As cost function, the positioning error is used and minimized against the redundant parameter; here, q2 has been chosen as leading parameter. The cost function against q2 (τ) is depicted in Fig. 6.20a. As can be seen from the figure, a unique minimum element can be found for every node and moreover, a continuous path emerges.
Sum of positioning error / mm
4
1.5
x 10
1.4 1.3 1.2 1.1 1 0.9 −50
−25
0 q*
25 50 Joint angle q 2 / deg
75
Figure 6.21.: Positioning error as function of the 2nd joint angle.
92
100
6.2. SPATIAL MANIPULATORS WITH REVOLUTE JOINTS
250
250
200
200
150
150
100
q
50
q
q1
2
Joint angles / deg
Joint angles / deg
q1
3
q4
0
q
−50
q
5 6
q7
−100
q
50
q
2 3
q4
0
q
−50
q
5 6
q7
−100
−150 −200
100
−150 1
50 100 150 Nodes of the Trifolium curve
−200
200
Joint 2 is chosen to minimize the positioning error.
1
50 100 150 Nodes of the Trifolium curve
200
Joint 2 is kept constant with q2 = 2 deg.
Figure 6.22.: All angle curves of the 7 DoF Cuma № 5 when traversing the given trivolium. Summing up the positioning errors for all 200 nodes of the trifolium curve, epos,sum =
200 X i=1
epos,i ≈ 8723 mm
(6.20)
follows from the optimization of the position error function varying joint angle q2 . In case the minimum positioning error has to be achieved without moving the second joint, the error-sum function given in (6.20) becomes minimal when q2 = 2 deg. This result comes from a search for the global minimum of the given cost function illustrated in Fig. 6.21. By using this joint angle epos,sum ≈ 9188 mm and is only 5.3 % worse than the optimal case. A comparison of the joint angles for both variants, q2 (τ) is variable and q2 (τ) is constant, can be perceived using Fig. 6.22. Because q2 (τ) = 2 deg ∀τ, this angle influences the other joints and hence, the overall movement of the robot system is much smoother compared to the first variant. Implementing this solution the 2nd joint can be dispensed and therefore, a link element may be designed in such a way that it connects the 1st and 3rd joint directly, see Fig. 6.23c.
93
6.2. SPATIAL MANIPULATORS WITH REVOLUTE JOINTS
7R with minimized positioning error.
7R when joint angle q2 is freezed by 2 deg.
Analog 6R without the 2nd joint of the Cuma № 5 structure.
Figure 6.23.: Cuma № 5 with different optimization goals on a path called trifolium visualized on the configuration, which corresponds to τ = π/6.
94
7. Conclusions The main objective of this research thesis was to design and handle general serial manipulators composed by modular elements, i.e., interchangeable joints and links. Here, a key issue was to pursue the question: what is the most suitable robot structure for a given task? In order to shed light on this question, a given task must be sufficiently analyzed to get knowledge about prerequisites and latitudes and thus awareness of, e.g., the required DoFs of the system. This information finally leads to an optimization problem which is affected by many areas: the manipulator design, the placement of the robot, the selection problem of the path, the solution of the IKP, etc. The overall analysis includes all spheres of influence and should therefore not ignore additional requests on the task. These requirements (e.g., repeatability) can be broadly represented as performance indices which can be taken into account also during operation. This makes sense if the immediate environment is subject to dynamic changes. The summary of the interacting sub-problems should finally emphasize the complexity of the pursued scope. To overcome this challenge, numerous topics which are related to serial robots were examined to get an enhanced insight into this field. As it turned out, end effector accuracy and repeatability of general structured serial manipulators have not been previously studied in detail. This research gap was partially filled by providing a procedure to compute the end effector repeatability which involves the geometric shape of the robot and all individual resolutions of the used joint encoders. The influence of the encoders on the positioning and orientation repeatability of an end effector pose can be used as a cost function. This allows to optimize the structural design of a serial robot or to select a proper design of a given set of manipulators with respect to end effector repeatability. Because no restrictions have been made with respect to the kinematic structure, the solution of the IKP of general 6R serial manipulators was studied in detail. A major difficulty encountered with such manipulators and associated algorithms was the relatively long computation time (≈ 9 ms per pose). This was one main reason to consider only a small set of the realizable robot structures. A close view on the shape of the workspace made also clear, that the complexity of general manipulators is exceptionally high. By analyzing cross-sections of the workspaces, the intricacy of the different posture-specific workspace boundaries can be recognized. However, a mathematical formulation could not be determined by this method. To reduce computation time, it would be better to orientate towards the workspace boundaries of the solutions. However, the algorithm to solve the IKP used in this work provides to much noise to follow this idea. Nevertheless, for certain 6R manipulators all these particular workspaces overlap and thus, the maximum number of realizable postures arise in restricted areas. A substantial collection of examples were presented and discussed for this particular case. The biggest advantage of this large set is that it can serve as a basis for future works. The examples can be used, e.g., for stability tests of new algorithms to solve the IKP of general serial-chain manipulators. The modular build up of serial robot systems used for this work allowed generating a sizable number of different structures. Hence, a major part of the aforementioned set was determined on the basis of existing components. Therefore, for the first time a set of serial manipulators with 16 distinct and real
95
solutions were shown, which can also be assembled physically. A high number of possible solutions is appropriate because of high incidence of self collisions, which will reduce the practicable solutions. However, 16 real solutions seem more interesting from an academic point of view. Future work will focus more on the correlation between task and system. In such cases, where requirements can not be fulfilled entirely, weights can be applied. A mechanical realization of the modular robot in its 2nd generation will have joints without angle limits. In addition, it must be possible to separate and reassemble the modular elements easily. A long-term goal is the use of variable intermediate elements which enable a structural change of the robot without any tools.
96
Bibliography [1] ABB. IRB 2600 – Product Specification. Document ID: 3HAC035959-001, Revision: A, ABB, 2009. [2] ABB. YuMi® creating an automated future together. ABB data sheet, 2015. [3] K. Abdel-Malek, W. Yu, and J. Yang. Placement of robot manipulators to maximize dexterity. International Journal of Robotics and Automation, 19(1):6–14, 2004. [4] G. Acaccia, L. Bruzzone, and R. Razzoli. A modular robotic system for industrial applications. Assembly Automation, 28(2):151–162, 2008. [5] Adept. Technical data sheet for Viper s1700D. Adept Technology GmbH, 2011. [6] S. Alatartsev, M. Güdemann, and F. Ortmeier. Trajectory description conception for industrial robots. In Proceedings of 7th German Conference on Robotics – ROBOTIK 2012, pages 1–6. VDE, 2012. [7] S. Alatartsev, S. Stellmacher, and F. Ortmeier. Robotic task sequencing problem: A survey. Journal of Intelligent & Robotic Systems, pages 1–20, 2015. [8] S. Alatartsev, S. Stellmacher, and F. Ortmeier. Robotic task sequencing problem: A survey. Journal of Intelligent & Robotic Systems, pages 1–20, 2015. [9] J. Angeles. Fundamentals of Robotic Mechanical Systems: Theory, Methods, and Algorithms. Springer, 3 edition, 2007. [10] A. Angerer and M. Hofbaur. Industrial versatility of inverse kinematics algorithms for general 6R manipulators. In IEEE International Conference on Advanced Robotics (ICAR), 2013. [11] A. Angerer and M. Hofbaur. Analyse und Verbesserung der Echtzeitfähigkeit des Husty-Pfurner inverse Kinematik Algorithmus für allgemeine 6R Manipulatoren. In IFToMM D-A-CH Conference, 2015. [12] B. N. Surnin et al. Design Features of Modular Type Robots. Machines & Tooling, 49(7):17–20, 1978. [13] B. E. Baaquie and F. H. Willeboordse. Exploring Integrated Science. CRC Press, 2009. [14] J.-L. Blanco. A tutorial on SE(3) transformation parameterizations and on-manifold optimization. University of Malaga, Tech. Rep, 2010. [15] T. Bongardt. Methode zur Kompensation betriebsabhängiger Einflüsse auf die Absolutgenauigkeit von Industrierobotern. PhD thesis, Technischen Universität München, 2003.
97
Bibliography [16] P. Borrel and A. Liegeois. A study of multiple manipulator inverse kinematic solutions with applications to trajectory planning and workspace determination. In Proceedings of the IEEE International Conference on Robotics and Automation, volume 3, pages 1180–1185. IEEE, 1986. [17] M. Brandstötter, A. Angerer, and M. Hofbaur. An analytical solution of the inverse kinematics problem of industrial serial manipulators with an ortho-parallel basis and a spherical wrist. In Proceedings of the Austrian Robotics Workshop 2014 (ARW 2014), pages 7–11, 2014. [18] M. Brandstötter, A. Angerer, and M. Hofbaur. The Curved Manipulator (Cuma-type arm): Realization of a Serial Manipulator with General Structure in Modular Design. Proceedings of the 14th IFToMM World Congress, 2015. [19] M. Brandstötter, C. Gruber, and M. Hofbaur. On the repeatability of planar 2R manipulators with rotary encoders. In Proceedings of the IEEE International Conference on Advanced Robotics (ICAR), 2013. [20] M. Brandstötter, C. Gruber, and M. Hofbaur. A method to estimate the encoder dependent repeatability of general serial manipulators. Recent Advances in Mechanism Design for Robotics, pages 99–110, 2015. [21] M. Brandstötter and M. Hofbaur. On the position density of planar two-link manipulators. IEEE International Conference on Mechatronics and Automation (ICMA), pages 1851–1856, 2012. [22] M. Brandstötter and M. Hofbaur. Placing the kinematic behavior of a general serial 6R manipulator by varying its structural parameter. In Proceedings of the Austrian Robotics Workshop 2015 (ARW 2015), pages 63–64, 2015. [23] M. Brandstötter and M. Hofbaur. The physical upper bound on pose repeatability of general serial manipulators based on joint resolution. International Journal of Mechanisms and Robotics Systems, in press. [24] J.-F. Brethé and B. Dakyo. A stochastic ellipsoid approach to repeatability modelisation of industrial manipulator robots. In Intelligent Robots and Systems, 2002. IEEE/RSJ International Conference on, volume 2, pages 1608–1613. IEEE, 2002. [25] J.-F. Brethé, E. Vasselin, D. Lefebvre, and B. Dakyo. Modelling of repeatability phenomena using the stochastic ellipsoid approach. Robotica, 24(04):477–490, 2006. [26] S. Briot and I. Bonev. Are parallel robots more accurate than serial robots? CSME Transactions, 31(4):445–456, 2007. [27] M. Ceccarelli. A formulation for the workspace boundary of general n-revolute manipulators. Mechanism and Machine Theory, 31(5):637–646, 1996. [28] M. Ceccarelli and C. Lanni. A multi-objective optimum design of general 3r manipulators for prescribed workspace limits. Mechanism and Machine Theory, 39(2):119–132, 2004. [29] E. S. Conkur and R. Buckingham. Clarifying the definition of redundancy as used in robotics. Robotica, 15:583–586, 1997.
98
Bibliography [30] J. Denavit and R. S. Hartenberg. A kinematic notation for lower-pair mechanisms based on matrices. Transactions of the ASME, Journal of Applied Mechanics, 23:215–221, 1955. [31] R. R. dos Santos, V. Steffen, and S. d. F. P. Saramago. Optimal task placement of a serial robot manipulator for manipulability and mechanical power optimization. Intelligent Information Management, 2(9):512–525, 2010. [32] Epson. Epson ProSix 6-Axis Robots. Epson Deutschland GmbH, 2011. [33] F. Fahimi. Autonomous Robots: Modeling, Path Planning, and Control. Springer, 2009. [34] P. Flores. A methodology for quantifying the kinematic position errors due to manufacturing and assembly tolerances. Strojniški vestnik-Journal of Mechanical Engineering, 57(6):457–467, 2011. [35] R. A. Freitas Jr. Nanomedicine, volume i: Basic capabilities (austin, tx: Landes bioscience), 1999. [36] H. Gattringer. Starr-elastische Robotersysteme: Theorie und Anwendungen. Springer-Verlag, 2011. [37] M. A. González-Palacios. The unified orthogonal architecture of industrial serial manipulators. Robotics and Computer-Integrated Manufacturing, 29(1):257–271, 2013. [38] C. Gosselin and J. Angeles. A global performance index for the kinematic optimization of robotic manipulators. Journal of Mechanical Design, 113(3):220–226, 1991. [39] K. Gotlih, D. Kovac, T. Vuherer, S. Brezovnik, M. Brezocnik, and A. Zver. Velocity anisotropy of an industrial robot. Robotics and Computer-Integrated Manufacturing, 27(1):205–211, 2011. [40] D. H. Gottlieb. Robots and fibre bundles. Bulletin de la Société Mathématique de Belgique, 38:219–223, 1986. [41] F. Grashof. Theoretische Maschinenlehre, volume 3. L. Voss, 1890. [42] C. Hansen, J. Öltjen, D. Meike, and T. Ortmaier. Enhanced approach for energy-efficient trajectory generation of industrial robots. In IEEE International Conference on Automation Science and Engineering (CASE), pages 1–7, 2012. [43] R. Harrison, R. Western, P. Moore, and T. Thatcher. A study of application areas for modular robots. Robotica, 5(03):217–221, 1987. [44] R. S. Hartenberg and J. Denavit. Kinematic Synthesis Of Linkages. McGraw-Hill series in mechanical engineering, 1964. [45] M. Hayes, M. Husty, and P. Zsombor-Murray. Singular configurations of wrist-partitioned 6R serial robots: A geometric perspective for users. Transactions of the Canadian Society for Mechanical Engineering, 26(1):41–55, 2002.
99
Bibliography [46] J. M. Hollerbach. Optimum kinematic design for a seven degree of freedom manipulator. In Proceedings of 2nd international Symposium on Robotics Research, pages 215–222. Cambridge, MIT Press, 1984. [47] V. D. Hunt. Industrial robotics handbook. Industrial Press Inc., 1983. [48] M. Husty. Personal conversation, 2016. [49] M. Husty, A. Karger, H. Sachs, and W. Steinhilper. Kinematik und Robotik. Springer-Verlag, 2013. [50] M. Husty, M. Pfurner, and H.-P. Schröcker. A new and efficient algorithm for the inverse kinematics of a general serial 6R manipulator. Mechanism and Machine Theory, 42(1):66–81, Jan. 2007. [51] M. L. Husty. An algorithm for solving the direct kinematics of general Stewart-Gough platforms. Mechanism and Machine Theory, 31(4):365–380, 1996. [52] C. Innocenti. Positioning the base of spatial 2-dof regional manipulators in order to reach as many arbitrarily-chosen points in space as possible. In 12th International Conference on Advanced Robotics (ICAR), pages 587–594, 2005. [53] International Standardization Organization (ISO). Manipulating industrial robots-performance criteria and related test methods. In ISO 9283:1998. ISO, 1998. [54] International Standardization Organization (ISO). Robots and robotic devices – Vocabulary. In 8373:2012. ISO, 2012. [55] J. H. Jang, S. H. Kim, and Y. K. Kwak. Calibration of geometric and non-geometric errors of an industrial robot. Robotica, 19(03):311–321, 2001. [56] H. Jawale and H. Thorat. Positional error estimation in serial link manipulator under joint clearances and backlash. Journal of Mechanisms and Robotics, 5(2):021003, 2013. [57] M. A. Jenkins and J. F. Traub. A three-stage variable-shift iteration for polynomial zeros and its relation to generalized rayleigh iteration. Numerische Mathematik, 14(3):252–263, 2013. [58] B. Karan and M. Vukobratovi´c. Calibration and accuracy of manipulation robot models – an overview. Mechanism and Machine Theory, 29(3):479–500, 1994. [59] L. Kelmar and P. K. Khosla. Automatic generation of kinematics for a reconfigurable modular manipulator system. In Proceedings of IEEE International Conference on Robotics and Automation, pages 663–668. IEEE, 1988. [60] W. A. Khan and J. Angeles. The kinetostatic optimization of robotic manipulators: the inverse and the direct problems. Journal of mechanical design, 128(1):168–178, 2006. [61] C. A. Klein and B. E. Blaho. Dexterity Measures for the Design and Control of Kinematically Redundant Manipulators. The International Journal of Robotics Research, 6(2):72–83, June 1987.
100
Bibliography [62] H. Kochekali, A. Nowrouzi, Y. Kavina, and R. Whitaker. Factors affecting robot performance. Industrial robot, 18(1):9–13, 1991. [63] S. Küçük and Z. Bingül. The inverse kinematics solutions of industrial robot manipulators. In Proceedings of the IEEE International Conference on Mechatronics, pages 274–279. IEEE, 2004. [64] U. Kuenzer and M. Husty. Joint trajectory optimization using all solutions of inverse kinematics of general 6-R robots. In M. Ceccarelli and E. E. Hernandez Martinez, editors, Multibody Mechatronic Systems, volume 25 of Mechanisms and Machine Science, pages 423–432. Springer International Publishing, 2015. [65] KUKA. KR AGILUS sixx. KUKA Roboter GmbH, 2013. [66] KUKA. Mobile manipulator for research and education - KUKA youBot. Kuka Roboter GmbH, 2013. [67] KUKA. ii feel you. LBR iiwa product brochure – KUKA, 2015. [68] A. Kumar. Positioning accuracy of manipulators with encoder equipped joints. Robotics Research and Advanced Applications, pages 35–42, 1982. [69] C. S. G. Lee and M. Ziegler. A geometrical approach in solving the inverse kinematics of puma robots. Department of Electrical and Computer Engineering, 1983. [70] E. Lee, C. Mavroidis, and J. P. Merlet. Five precision points synthesis of spatial rrr manipulators using interval analysis. In ASME International Design Engineering Technical Conferences and Computers and Information in Engineering Conference, pages 635–644. American Society of Mechanical Engineers, 2002. [71] H.-Y. Lee and C.-G. Liang. A new vector theory for the analysis of spatial mechanisms. Mechanism and Machine Theory, 23(3):209–217, 1988. [72] H. Li. Ein Verfahren zur vollständigen Lösung der Rückwärtstransformation für Industrieroboter mit allgemeiner Geometrie. Doctoral thesis, TU Duisburg, 1990. [73] H. Lipkin and J. Duffy. Hybrid twist and wrench control for a robotic manipulator. Journal of Mechanical Design, 110(2):138–144, 1988. [74] B. Liu, F. Zhang, and X. Qu. A method for improving the pose accuracy of a robot manipulator based on multi-sensor combined measurement and data fusion. Sensors, 15(4):7933–7952, 2015. [75] A. Lyder, R. F. M. Garcia, and K. Stoy. Genderless connection mechanism for modular robots introducing torque transmission between modules. Proceedings of the ICRA Workshop "Modular Robots: State of the Art", pages 77–81, 2010. [76] R. Ma and A. Dollar. On dexterity and dexterous manipulation. IEEE International Conference on Advanced Robotics (IACR2011), pages 1–7, 2011. [77] R. Manseur and K. L. Doty. A robot manipulator with 16 real inverse kinematic solution sets. The International Journal of Robotics Research, 8(5):75–79, 1989.
101
Bibliography [78] B. J. Martin and J. E. Bobrow. Minimum effort motions for open chain manipulators with taskdependent end-effector constraints. In IEEE International Conference on Robotics and Automation (ICRA), volume 3, pages 2044–2049, 1997. [79] C. Mavroidis and B. Roth. Structural parameters which reduce the number of manipulator configurations. Journal of Mechanical Design, 116(1):3–10, 1994. [80] C. Mavroidis and B. Roth. Method to determine uncertain configurations of 6R manipulators. In Proceedings of the 9th World Congress on the Theory of Machines and Mechanisms (IFToMM), pages 1987–1992, 1995. [81] E. Meister, A. Gutenkunst, and P. Levi. Dynamics and control of modular and self-reconfigurable robotic systems. International Journal on Advances in Intelligent Systems, 6(1 & 2):66–78, 2013. [82] J.-P. Merlet. Parallel robots. Dordrecht, The Netherlands: Kluwer, 2000. [83] R. K. Mittal and I. J. Nagrath. Robotics and Control. Tata McGraw-Hill, 2003. [84] A. Müller. A genericity condition for general serial manipulators. In Proceedings of the 2009 IEEE International conference on Robotics and Automation, pages 81–86. IEEE Press, 2009. [85] R. M. Murray, Z. Li, S. S. Sastry, and S. S. Sastry. A mathematical introduction to robotic manipulation. CRC press, 1994. [86] G. Nawratil. Neue kinematische Performance Indizes für 6R Roboter und Stewart Gough Plattformen. PhD thesis, Technische Universität Wien, Oct. 2007. [87] Neuronics. Katana 450 Benutzerhandbuch. Neuronics AG, 2008. [88] S. Y. Nof. Handbook of industrial robotics, volume 1. John Wiley & Sons, 1999. [89] R. Nzue, J.-F. Brethé, E. Vasselin, and D. Lefebvre. Comparative analysis of the repeatability performance of a serial and parallel robot. In IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS), pages 63–68. IEEE, 2010. [90] E. Ottaviano, M. Husty, and M. Ceccarelli. A study on workspace topologies of 3R industrialtype manipulators. CEAI Journal on Control Engineering and Applied Informatics, 8(1):33–41, 2006. [91] X. Pan, H. Wang, Y. Jiang, N. He, and C. Yu. Research of topological analysis of modular reconfigurable robots. In Proceedings of the IEEE International Conference on Robotics and Biomimetics (ROBIO), pages 327–332. IEEE, 2010. [92] M. D. Pandey and X. Zhang. System reliability analysis of the robotic manipulator with random joint clearances. Mechanism and Machine Theory, 58:137–152, 2012. [93] C. J. J. Paredis and P. Khosla. Synthesis Methodology for Task Based Reconfiguration of Modular Manipulator Systems. Proceedings of the 6th International Symposium on Robotics Research (ISRR93), Hidden Valley, PA, 1993.
102
Bibliography [94] V. Parenti-Castelli and S. Venanzi. On the joint clearance effects in serial and parallel manipulators. Proceedings of the workshop on Fundamental Issues and Future Research Directions for Parallel Mechanisms and Manipulators, 2002. [95] F. C. Park. Distance metrics on the rigid-body motions with applications to mechanism design. Journal of Mechanical Design, 117(1):48–54, 1995. [96] S. Patel and T. Sobh. Goal directed design of serial robotic manipulators. In American Society for Engineering Education (ASEE Zone 1), 2014 Zone 1 Conference of the, pages 1–6. IEEE, 2014. [97] S. Patel and T. Sobh. Manipulator performance measures-a comprehensive literature survey. Journal of Intelligent & Robotic Systems, 77(3-4):547–570, 2014. [98] R. P. Paul, B. Shimano, and G. E. Mayer. Kinematic control equations for simple manipulators. IEEE Transactions on Systems, Man, and Cybernetics, 11:449–445, 1981. [99] F. Pernkopf and M. Husty. Workspace analysis of Stewart-Gough-type parallel manipulators. Proceedings of the Institution of Mechanical Engineers, Part C: Journal of Mechanical Engineering Science, 220(7):1019–1032, 2006. [100] H.-L. Pham, V. Perdereau, B. V. Adorno, and P. Fraisse. Position and orientation control of robot manipulators using dual quaternion feedback. In International Conference on Intelligent Robots and Systems, pages 658–663. IEEE/RSJ, 2010. [101] D. L. Pieper. The kinematics of manipulators under computer control. Technical report, DTIC Document, 1968. [102] E. Primrose. On the input-output equation of the general 7R-mechanism. Mechanism and Machine Theory, 21(6):509–510, 1986. [103] F. Reuleaux. Kinematics of machinery: Outlines of a Theory of Machines. Courier Corporation, 2012. [104] R. Riemer and Y. Edan. Evaluation of influence of target location on robot repeatability. Robotica, 18(04):443–449, 2000. [105] C. R. Rocha, C. P. Tonetto, and A. Dias. A comparison between the Denavit–Hartenberg and the screw-based methods used in kinematic modeling of robot manipulators. Robotics and ComputerIntegrated Manufacturing, 27(4):723–728, 2011. [106] B. Rout and R. Mittal. Parametric design optimization of 2-DOF R–R planar manipulator – A design of experiment approach. Robotics and Computer-Integrated Manufacturing, 24(2):239– 248, 2008. [107] J. K. Salisbury and J. J. Craig. Articulated hands: Force control and kinematic issues. Int. Journal of Robotic Systems, 1(1):4–17, 1982. [108] Schunk. Spezifikationen Powerball Leichtbauarm LWA4.6. Schunk GmbH & Co. KG., 2012.
103
Bibliography [109] B. Siciliano and O. Khatib. Springer handbook of robotics. Springer Science & Business Media, 2008. [110] B. Siciliano, L. Sciavicco, L. Villani, and G. Oriolo. Robotics: Modelling, Planning and Control. Springer Publishing Company, Incorporated, 1st edition, 2010. [111] E. Singla, S. Singh, and S. Gupta. A novel modular strategy for the fabrication of robotic manipulators based upon task-based designs. In 1st International & 16th National Conference on Machines and Mechanisms (iNaCoMM), pages 722–727. IIT Roorkee, 2013. [112] M. Slamani, A. Nubiola, and I. A. Bonev. Modeling and assessment of the backlash error of an industrial robot. Robotica, 30(07):1167–1175, 2012. [113] J. Sluga, V. Zaletelj, and A. Žemva. Agent control for reconfigurable open kinematic chain manipulators. International Journal of Advanced Robotic Systems, 10, 2013. [114] L. Song and S. Yang. Research on modular design of perpendicular jointed industrial robots. In Intelligent Robotics and Applications, pages 63–72. Springer, 2011. [115] M. W. Spong, S. Hutchinson, and M. Vidyasager. Robot Modeling and Control. John Wiley & Sons, Inc., 2006. [116] M. W. Spong and M. Vidyasagar. Robot dynamics and control. John Wiley & Sons, 2008. [117] E. Staffetti, H. Bruyninckx, and J. De Schutter. On the invariance of manipulability indices. In Advances in Robot Kinematics, pages 57–66. Springer, 2002. [118] Stäubli. Arm - TX series 40 family – Instruction manual. Stäubli GmbH, 2012. [119] R. Stevenson, B. Shirinzadeh, and G. Alici. Singularity avoidance and aspect maintenance in redundant manipulators. In 7th International Conference on Control, Automation, Robotics and Vision, volume 2, pages 857–862. IEEE, 2002. [120] L. Stocco, S. Salcudean, and E. Sassani. Matrix normalization for optimal robot design. In Proceedings of International Conference on Robotics and Automation, volume 2, pages 1346– 1351. IEEE, 1998. [121] L. J. Stocco, S. E. Salcudean, and F. Sassani. Mechanism design for global isotropy with applications to haptic interfaces. In ASME Symposium on Haptic Interfaces for Virtual Environment and Teleoperator Systems, Dallas, TX, Nov, pages 15–21, 1997. [122] M. Tandirci, J. Angeles, and F. Ranjbaran. The characteristic point and the characteristic length of robotic manipulators. Proceedings of ASME 22ndBiennialConf. Robotics, Spatial Mechanisms & Mech. Sys., Scotsdale, Arizona, 45:203–208, 1992. [123] M. Togai. An application of the singular value decomposition to manipulability and sensitivity of industrial robots. SIAM Journal on Algebraic Discrete Methods, 7(2):315–320, 1986. [124] M. Ulrich, G. Lux, and T. Piprek. Analysis and visualisation of the positioning accuracy and underlying effects of industrial robots. In Advanced Materials Research, WGP Congress 2014, volume 1018, pages 15–22, 2014.
104
Bibliography [125] C. Valsamos, V. Moulianitis, and N. Aspragathos. Kinematic synthesis of structures for metamorphic serial manipulators. Journal of Mechanisms and Robotics, 6(4), 2014. [126] J. Vicente. Kalibrierung eines seriellen modularen Roboters mit allgemeiner Struktur. Bachelorarbeit, UMIT, Institute of Automation and Control, 2014. [127] C. Wampler and A. Morgan. Solving the 6R inverse position problem using a generic-case solution methodology. Mechanism and Machine Theory, 26(1):91–106, 1991. [128] M. G. Weiß. A class of 6R robots and poses with 16 analytical solutions. In Proceedings of the IMA Conference on Mathematics of Robotics. St Anne’s College, University of Oxford, 2015. [129] P. Wenger. Design of cuspidal and non-cuspidal robot manipulators. In Proceedings of IEEE International Conference on Robotics and Automation, volume 3, pages 2172–2177. IEEE, 1997. [130] P. Wenger. Cuspidal and noncuspidal robot manipulators. Robotica, 25(06):677–689, 2007. [131] C. Wright, A. Buchan, B. Brown, J. Geist, M. Schwerin, D. Rollinson, M. Tesch, and H. Choset. Design and architecture of the unified modular snake robot. In IEEE International Conference on Robotics and Automation (ICRA), pages 4347–4354. IEEE, 2012. [132] J. Yang and K. Abdel-Malek. Singularities of manipulators with non-unilateral constraints. Robotica, 23(5):543–553, 2005. [133] YASKAWA. Flexible Applikationen mit der SIA-Serie. MOTOMAN SIA-series, 2015. [134] M. Yim, W.-M. Shen, B. Salemi, D. Rus, M. Moll, H. Lipson, E. Klavins, and G. S. Chirikjian. Modular self-reconfigurable robot systems [grand challenges of robotics]. Robotics & Automation Magazine, IEEE, 14(1):43–52, 2007. [135] T. Yoshikawa. Analysis and control or robot manipulators with redundancy. The First International Symposium on Robotics Research, pages 735–747, 1984. [136] A. M. Zanchettin, P. Rocco, A. Robertsson, and R. Johansson. Exploiting task redundancy in industrial manipulators during drilling operations. In IEEE International Conference on Robotics and Automation (ICRA), pages 128–133. IEEE, 2011. [137] S. Zargarbashi, W. Khan, and J. Angeles. The jacobian condition number as a dexterity index in 6R machining robots. Robotics and Computer-Integrated Manufacturing, 28(6):694–699, 2012. [138] H. Zghal, R. Dubey, and J. Euler. Efficient gradient projection optimization for manipulators with multiple degrees of redundancy. In Proceedings of the IEEE International Conference on Robotics and Automation (ICRA), pages 1006–1011, 1990. [139] J. Zhu and K.-L. Ting. Uncertainty analysis of planar and spatial robots with joint clearances. Mechanism and Machine Theory, 35(9):1239–1256, 2000. [140] Y. Zhu, J. Zhao, X. Cui, X. Wang, S. Tang, X. Zhang, and J. Yin. Design and implementation of UBot: A modular Self-Reconfigurable Robot. In IEEE International Conference on Mechatronics and Automation (ICMA), pages 1217–1222. IEEE, 2013.
105
A. Collection of General Serial 6R Manipulators with 16 Real Solutions for the Inverse Kinematics Problem Serial manipulators with six revolute joints have in general 16 solutions for one specific end effector pose regarding the IKP. Usually, the values of some joint angles show an imaginary part, which means that such configurations cannot be physically realized. Furthermore, only a few structures with an corresponding pose are known in literature where 16 real solutions appear (see Sec. 3.2.2). The goal of this appendix is to list a comprehensive number of structures and end effector poses where 16 real solutions can be found. If such a pose is known, it can (at least theoretically) be approached by the end effector of a manipulator with the maximum possible number of different postures. Some of the poses can often be not reached by a real system due to physical limitations, i.e. collisions or joint limits. Based on this known poses, cross sections through the workspace and an indication of the number of solutions is presented graphically. When calculating the cross sections the orientation of the end effector is always kept constant. Using only 7 selective links approx. 7 · 1017 different Cuma-structures can be realized. The second part in this collection (Cuma № 1 to Cuma № 608) the manipulator structures can be assembled by this links and every link is used only once. The second part (Cuma № 609 to Cuma № 700) has a theoretical aim. The DH parameter and the end effector pose have only integer values and can thus be easily used to test IKP algorithms for a large set of poses. Moreover, not only one specific pose per Cuma is considered, where 16 real solutions can be found. Same as before, cross sections through a given start pose are presented.
A.1. General Notes on the given Examples For the results it is important to note that the end effector pose do not always match with the last reference frame resulting from the DH parameter transformations. An offset transformation EFoff 1 0 0 0 −95.1 0 0 −1 EFoff = 0 0 1 0 0 1 0 0 must be considered to attain the end effector pose when the last actuator used is a tilt joint, see Sec. 5.2.6. This circumstance can also be identified in the system parameter set S if the last element is equal to 1. In this case, the end effector pose can be computed by 6 Y PΣ0 = Hii+1 EFoff . 1
A.2. COLLECTION OF GENERAL SERIAL MANIPULATORS IN DIGITAL FORM
Table A.1.: Structures, where the swivel joint of the PW70 module is actuated. Cuma № 354 . . . 357 488 536 . . . 537
Cuma № 362 . . . 363 492 540
Cuma № 380 . . . 387 494 . . . 496 545 . . . 555
Cuma № 389 . . . 431 499 602
Cuma № 439 . . . 457 505 . . . 506 609 . . . 700
Cuma № 470 . . . 476 511
In any other case no additional transformation must be considered. All Cuma structures for which such a transformation is not required (about one-third) can be taken from Tab. A.1. Here, the last element of S is equal to 2.
A.2. Collection of General Serial Manipulators in Digital Form The whole set with the important parameters of the aforementioned 700 Cuma-type robots are attached to this work in digital form. More specifically, the reader is referred to • cuma_collection.pdf: a visualization of all structures, listing of the important parameters and, an according analysis of the cross section • cuma_solutions.mat: a MATLAB® file which includes the parameters mentioned above and the solution of the IKP. • Cuma Toolbox: collects functions to operate with general serial manipulators. The functional range of the toolbox is described in Sec. B of this appendix.
B. The Cuma Toolbox – Simulation of General Serial Manipulators using MATLAB® For design visualization and movement simulation of serial robots the Cuma toolbox for MATLAB® was developed during this thesis. The usage of the most important functions provided by this toolbox is within the scope of this Chapter and is shown by means of examples. All joints are illustrated by Schunk modules (PR70, PR90, PW70) and the links are computed according the selected faces of joint modules.
Definition of the Manipulators Links The transformation matrices of known physical links are stored in cuma_linktrafos.m. As an example, the homogeneous transformation matrix of our 2nd curved link (the reverse use is indicated by 1) can be displayed by: >> L2r = cuma_linktrafos(2,1) % T = cuma_linktrafos(nr, flip_link) L2r = 1.0000 −15.3122 −44.7628 109.5568
0 0.7677 −0.5338 0.3545
0 0.2700 0.7712 0.5765
0 −0.5811 −0.3468 0.7362
To visualize the link above, the function link_faces.m can be used. >> link_faces(90,L2r,70,eye(4)) % link_faces(in_fl, T_link, out_fl, T_start)
Figure B.1.: Visualization of link 2 (reverse).
The numbers "90" and "70" indicate the size of the plates and correspond to the size of the adjoining joints. Figure B.1 shows the requested visualization. It should be noted that the curved part of the link is computed by three polynomial equations of degree 3. These equations describe a spatial curve from the origin of Tstart to the origin of (Tstart · Tlink ).
Definition of a Serial Chain and Basic Functions In accordance with the system description defined in Sec. 5.2.6 a serial chain can be described by a set of consecutive rigid bodies. The following example shows how to define the structure of a serial manipulator composed of three joints and two known links in between. >> Sys = [ 0, 0, 0, 0, 0, 0, 0, 90; 90, 9, 0, 1, 0, 3, −90, 90; 90, 5, −90, 2, 0, 2, 90, 70];
The first row of Sys defines the base system and the 2nd and 3rd row each describe how to include a subsequent joint. Plotting the structure >> cuma_plot(Sys,'home') % cuma_plot(Sys,theta)
and a base (visualized by a plate) >> cuboid_faces(250,250,25,transz(−25),'silver') % small plate
leads to the output shown in Fig. B.2.
Figure B.2.: A simple serial manipulator with 3 DoF in its home position.
The three colored lines in Fig. B.2 indicate the coordinate system of the end effector. Black, red, blue correspond to the coordinate axis xe , ye , ze . The present joints of Sys can be twisted by the vector theta, where the values of the twist angles are expressed in degrees. Figure B.3 shows the following example: >> cuma_plot(Sys,[−20 45 130]) % cuma_plot(Sys,theta)
Figure B.3.: The simple serial manipulator with twisted joints. To calculate the DH parameters of system Sys the function cuma_sys2dh.m is used. The order of the ˜ parameters is α, θ, θ˜ , a, d, d. >> DH1 = cuma_sys2dh(Sys) % DH = cuma_sys2dh(Sys,blocked_joint,joint_angle) DH1 = 69.1861 320.1488 0
−50.1477 −123.6234 121.4526 236.4113 236.4113 0
82.6896 336.9743 0.9171 114.6200 277.8020 −113.9831 0 −113.9831 0
For some reason it might be useful to block a joint and hence to reduce the number of DoF of the serial manipulator. This can be done by the optional parameters blocked_joint and joint_angle. >> cuma_sys2dh(Sys,2,20) % DH = cuma_sys2dh(Sys,blocked_joint,joint_angle) ans = 101.2834 0
285.8239 379.9718
379.9718 0
89.0502 0
545.7121 107.1110
107.1110 0
To output the pose of the end effector in terms of a homogenous transformation matrix, the forward kinematics function cuma_fk_byDH.m can be used. Taking up the example of the simple serial manipulator with 3 DoF >> P_EF = cuma_fk_byDH( DH1, [−20 45 130] ) % P_EF = cuma_fk_byDH(DH,theta) P_EF = 1.0000 −138.5505 −37.6576 496.0642
0 −0.2220 0.9683 0.1143
0 0.2794 0.1755 −0.9440
0 −0.9341 −0.1777 −0.3095
provides the aforementioned end effector pose.
Dealing with General Serial 6R Manipulators For the class of general serial 6R manipulators, additional functions are available. This enhanced functionality is illustrated by another example. The system parameters of Cuma № 1 are given by >> Sys1 = [ 0 90 90 90 70 70
0 5 5 6 9 8
0 90 −90 0 90 90
0 1 2 6 7 5
0 1 1 0 0 1
0 2 0 4 0 0
0 180 −90 90 180 180
90; 90; 90; 70; 70; 1];
and the plot of its home position cuma_plot(Sys1,'home') is depicted in Fig. B.4.
Figure B.4.: Cuma № 1 in its home position.
As now can be seen from Fig. B.4, the manipulator cannot be assembled due to self collision of the joints. Nevertheless, the manipulator can be investigated further. Considering a desired end effector pose given by >> P_EF1 = [
1 206 56 148
0 −1 0 0
0 0 1 0
0; 0; 0; −1];
the solution of the inverse kinematics for the system Sys1 and the pose P_EF1 can be found by the function cuma_ik.m. This function uses an C++ implementation of the Husty-Pfurner algorithm. >> Q1 = cuma_ik( Sys1, P_EF1 ) % [EE,nsol] = cuma_ik(Sys,P_EF) Q1 = −338.8611 −245.0187 −234.2538 −231.9210 −207.3868 −203.0525 −198.3540 −178.3647 −150.5125 −134.8600 −78.2942 −70.7380 −54.3081 −42.7001 −13.9431 −11.9821
−237.0936 −183.4196 −219.0226 −366.0271 −210.8716 −491.8076 −280.6450 −258.5856 −371.1814 −530.2066 −370.4491 −229.5796 −523.5966 −474.7706 −295.8739 −336.9945
−360.2576 −418.5908 −336.4482 −268.5644 −443.4035 −337.0425 −252.0604 −542.3544 −217.1934 −423.0102 −253.4314 −536.6474 −277.8164 −299.1387 −524.4684 −561.7304
−57.5213 130.1319 58.3626 31.9440 96.8088 6.2718 81.3742 75.7477 −36.6103 −7.1603 196.7229 −67.4073 259.7047 193.1183 243.0247 185.9292
−316.3855 −421.9856 −99.5236 −273.5611 −421.1416 −223.6760 −417.3306 −77.9506 −197.1791 −293.9850 −139.1406 −285.6499 −234.6525 −166.7293 −241.4416 −191.2309
−225.1110 −10.8512 −210.4240 −228.2294 −36.0722 −274.4182 −275.5022 6.2438 −154.6632 2.3738 −175.8437 −23.6552 −123.2057 −123.6489 −283.5522 −243.5480
By using the function cuma_sol_cosmetics.m these numbers can be easily converted into ones within the bounds of ±180°. Furthermore, the solutions (each row corresponds to a solution with only real numbers) will be sorted in ascending order with respect to the first column (first joint). >> Q1 = cuma_sol_cosmetics( Q1 ) % Sol_nice = cuma_sol_cosmetics( Sol ) Q1 = −178.3647 101.4144 177.6456 75.7477 −77.9506 −150.5125 −11.1814 142.8066 −36.6103 162.8209 −134.8600 −170.2066 −63.0102 −7.1603 66.0150 −78.2942 −10.4491 106.5686 −163.2771 −139.1406 −70.7380 130.4204 −176.6474 −67.4073 74.3501 −54.3081 −163.5966 82.1836 −100.2953 125.3475 −42.7001 −114.7706 60.8613 −166.8817 −166.7293 −13.9431 64.1261 −164.4684 −116.9753 118.5584 −11.9821 23.0055 158.2696 −174.0708 168.7691 21.1389 122.9064 −0.2576 −57.5213 43.6145 114.9813 176.5804 −58.5908 130.1319 −61.9856 125.7462 140.9774 23.5518 58.3626 −99.5236 128.0790 −6.0271 91.4356 31.9440 86.4389
6.2438 −154.6632 2.3738 −175.8437 −23.6552 −123.2057 −123.6489 76.4478 116.4520 134.8890 −10.8512 149.5760 131.7706
152.6132 149.1284 156.9475 −131.8076 161.6460 79.3550
−83.4035 22.9575 107.9396
96.8088 6.2718 81.3742
−61.1416 136.3240 −57.3306
−36.0722 85.5818 84.4978
To visualize a solution of Q1 a vector which contains 7 angle values is needed. This is due to the fact that the last joint is represented by a PW70 module which is composed of two joints wherein only one is needed. >> cuma_plot(Sys1,[Q1(5,:) 0]), figure, cuma_plot(Sys1,[Q1(12,:) 0])
Figure B.5 shows the result of the two different postures.
Solution 5 of Q1.
Solution 14 of Q1.
Figure B.5.: Two postures representing possible solutions for Sys1 and T_EF1. Moreover, a more realistic image of a plot with high-resolution can be simply generated through: >> cuma_shoot(Sys1,[Q1(5,:) 0])
The output of this function (see Fig. B.6) is saved as cuma_shoot_temp.png.
Figure B.6.: An output of the cuma_shoot.m function.
If only the DH parameters are known, a serial manipulator in the style of a Cuma can be plotted by using the cuma_plot_byDH.m function. The OM25 manipulator presented by Manseur and Doty serves as an example [77]. The DH parameters and the end effector pose are given by: >> DH_OM25 = [90 0 90 0 90 0
0 0 0 0 0 0
>> P_OM25 = [ 1.0000 −1.1402 0 0
0 0 0 0 0 0
0.3 1.0 0 1.5 0 0
0 0 0.2 0 0 0
0 −0.7601 0.1333 −0.6360
−0.6; −0.4; −0.4; −0.4; 0; 0];
0 −0.6417 0 0.7670
0; 0.1023; 0.9911; 0.0856];
The values in last column of DH_OM25 cause translations along the joint axis to adapt the position of the joint modules. Thus, self collisions can be avoided. In addition, design information regarding to the Cuma-type robot are collected in Sys_OM25: >> Sys_OM25 = [ 0 90 90 90 70 70
0 8 5 6 7 6
0 0 0 0 0 0
0 0 0 0 0 0
0 180 −90 0 −90 0
0 2 3 2 4 2
0 0 0 0 0 0
90; 90; 90; 70; 70; 1];
In this particular case, the function cuma_ik_byDH.m is used to compute the solutions of the IKP. >> Q_OM25 = cuma_sol_cosmetics( cuma_ik_byDH( DH_OM25, P_OM25 , 2) );
The last parameter value "2" indicates that only the swivel joint of the PW70 module is actuated. Plotting a solution works analogously to the previous case, e.g.: >> cuma_plot_byDH( DH_OM25, Sys_OM25, [Q_OM25(5,:) 0]);
It has to be noted, that a, d, d˜ are multiplied by a scale factor ( f = 500) to avoid overlapped modules.
Posture 5 of Q_OM25.
Posture 11 of Q_OM25.
Figure B.7.: Cuma-type robot of the OM25 manipulator illustrated with two postures for pose P_OM25.
Eidesstattliche Erklärung Ich erkläre hiermit an Eides statt, dass ich die vorliegende Arbeit selbständig (mit Ausnahme der erklärten Teile), ohne unzulässige Hilfe Dritter und ohne Benutzung anderer als der angegebenen Hilfsmittel angefertigt habe. Die aus fremden Quellen wörtlich oder sinngemäß übernommenen Stellen und Gedanken sind als solche nach den Regeln der guten wissenschaftlichen Praxis kenntlich gemacht. Die Arbeit wurde bisher in gleicher oder ähnlicher Form keiner anderen Prüfungsbehörde vorgelegt.
Hall in Tirol, am 26. Juli 2016
.................................... Mathias Brandstötter
Declaration I confirm that this final thesis is my own work (except declared parts) and that I neither used any additional sources nor additional help, other than indicated. I declare that I correctly cited all sequences or ideas that have been taken from other sources according to the rules of good scientific practice. No part of this final thesis has been submitted at another university.
Hall in Tirol, July 26, 2016
.................................... Mathias Brandstötter