Modelling, Analysis and Control of Multi-Link Cable-Driven Manipulators

Size: px
Start display at page:

Download "Modelling, Analysis and Control of Multi-Link Cable-Driven Manipulators"

Transcription

1

2 Modelling, Analysis and Control of Multi-Link Cable-Driven Manipulators Jonathan Paul Eden ORCID ID: X Doctor of Philosophy (PhD) Thesis May 218 School of Engineering Department of Mechanical Engineering THE UNIVERSITY OF MELBOURNE Submitted in total fulfilment of the requirements for the degree of Doctor of Philosophy Produced on archival quality paper. ii

3 iii

4 Copyright c 218 Jonathan Paul Eden All rights reserved. No part of the publication may be reproduced in any form by print, photoprint, microfilm or any other means without written permission from the author.

5 Abstract Cable-driven parallel robots (CDPRs) form a class of robotic manipulator in which the actuation is transmitted through cables. Due to the unique characteristics and advantages of cable transmission, CDPRs have become increasingly studied in recent years. In this thesis, the study of operational space motion generation of CDPRs is investigated. The operational space corresponds to the space in which a task to be executed by an end effector is defined. The generation of operational space motions on CDPRs allows the specification of tasks to be intuitive to human users, in addition to enabling the application of CDPRs to tasks exploiting their human-like configurations. The study of CDPR operational space motion generation has been limited due to several reasons. Firstly, cable transmission results in both redundant and constrained actuation. This means that it is possible for a motion to be either infeasible or for there to be an infinite number of different actuation profiles which can produce the same desired motion. Secondly, in the case of multi-link CDPRs (MCDRs) the generalised coordinates differ from that of the end effector. This means that there may be infinite different joint space motions which achieve the same operational space behaviour. The study of MCDR operational space motion generation therefore must consider both a means of ensuring that a feasible solution exists and a means of selecting a particular joint space solution from the possibly infinite set. Finally, in the implementation and evaluation of different CDPR motion generation schemes there is currently no software which can consider all possible CDPR models and hardware interfaces. These issues are investigated within this thesis and presented as two separate parts. The first part develops a generalised framework for the operational space motion generation of CDPRs. To understand the requirements of CDPR motion generation, this v

6 part firstly considers quantifications of CDPR motion generation capability, in which new metrics are proposed to indicate the capability of a CDPR to produce additional acceleration and to identify the magnitude of cable force necessary to produce an arbitrary joint space wrench. An expansive search tree inspired formulation is then presented with which to solve MCDR operational space motion planning problems while ensuring solution feasibility. The effectiveness and robustness of this method is demonstrated through a set of different operational space motion tracking problems solved on two different MCDRs. The second part of the thesis addresses the development of a generalised CDPR simulation and hardware interfacing software tool. The cable-robot analysis and simulation platform for research (CASPR) is presented and shown to provide a modular and extendible software framework in which new CDPRs can be easily added through simple XML specifications. The proposed framework is open source and allows for common kinematic and dynamic CDPR problems to be solved using a range of different algorithms. To allow for implementation onto different hardware platforms, the integration of CASPR with the Robotics Operating System (ROS) is also presented. The application and flexibility of CASPR is shown through example simulations and hardware based experiments conducted on single and multi link CDPRs. vi

7 Declaration This is to certify that 1. the thesis comprises only my original work towards the PhD, 2. due acknowledgement has been made in the text to all other material used, and 3. the thesis is less than 1, words in length, exclusive of tables, maps, bibliographies and appendices. Jonathan Paul Eden Jonathan Paul Eden, May 218 vii

8 This page is intentionally left (almost) blank.

9 Acknowledgements A PhD candidature can only be successfully navigated with strong support. I would like to sincerely thank all the people who have helped me throughout this process and made made my time at the University of Melbourne memorable. Firstly, I would like to give special thanks to my supervisors A/Prof. Denny Oetomo, A/Prof. Ying Tan and Dr Darwin Lau for their support and advice during my PhD. I will always be grateful for the opportunities that you have afforded to me, be it in the chance to study and present my work abroad or the occasions to test myself and expand my professional skill set. The impact that you have all had on my career has been substantial, extending from when Darwin first gave me the chance to do research during my Bachelor, to the continued advice that you give me today about my future career pathways. Secondly, I would like to thank all of the staff and my colleagues at the Melbourne School of Engineering. A research experience is only as good as the environment that it is conducted in. For that reason I would like to give special thanks to everyone past and present at the Melbourne Robotics Lab including Shou Han, Rina, Hadi, Demian, Michael, Ben, Justin, Alireza, Vincent, Florence, Wences, Gijo, Ricardo, Raneem and Arvind for making the place that I worked in a genuinely fun and productive workspace. I would also like to thank the Chinese University of Hong Kong and the students of the C3 robotics lab for welcoming me during my time in Hong Kong. Particular thanks to Chen, Samuel and Dominic for their continued support in running experiments on the hardware in the instances at which I was back in Melbourne. Finally, I would like to thank my friends and family. I would not be the person that I am today without your influences. To my mother and father in particular, I appreciate everything that you have done to shape my life and to support my education. ix

10 x

11 Contents 1 Introduction Motivation Research questions Contribution of the Thesis Structure of the Thesis Related Publications Literature Review Introduction to Cable-Driven Parallel Robots Theoretical Analysis of Cable-Driven Parallel Robots Kinematics Dynamics Motion Control Workspace Analysis Practical Implementations of Cable-Driven Parallel Robots Single Link Cable Driven Robots Multi Link Cable Driven Robots Cable-Driven Parallel Robot Software Frameworks Manipulator Motion Generation Constrained Motion Generation Controllability Analysis Operational Space Motion Planning and Control Conclusion Background Introduction Modelling of Cable-Driven Parallel Robots Kinematic Modelling of Generalised Cable Driven Parallel Robots Dynamic Modelling of Generalised Cable Driven Parallel Robots Modelling of Example Manipulators Modelling of a Single-Link Spatial Cable Driven Robot Modelling of a Two-Link Anthropomorphic Cable Driven Robot Arm Cable-Driven Parallel Robot Analysis Kinematics Dynamics xi

12 3.4.3 Motion Control Workspace Analysis Kinodynamically Constrained Probabilistic Sampling Methods Rapidly-exploring Random Trees Expansive Search Trees Conclusion Part I : Motion Generation for Cable Driven Parallel Robots 71 4 Introduction to Motion Generation Capability Analysis Introduction Problem Formulation Joint Space Point to Point Motion Planning Operational Space Point to Point Motion Planning Joint Space Trajectory Generation Operational Space Trajectory Generation Joint Space Trajectory Tracking Operational Space Trajectory Tracking Feasibility Conditions Wrench Closure Condition Positive Controllability and the Static Equilibrium Condition Positive Output Controllability Examples Motion Generation Analysis of a Two Link MCDR Motion Generation Analysis of a Spatial Six DoF SCDR Conclusion Quantification of CDPR Motion Generation Introduction Unilateral Dexterity Analysis Unilateral Dexterity Analysis for Fully Restrained CDPRs Unilateral Dexterity Analysis for Redundantly Restrained CDPRs Acceleration Set Analysis Available Acceleration Set Acceleration Capability Measure Static Equilibrium Acceleration Capability Measure Maximum Controllable Speed Measure Examples Motion Generation Capability Analysis of a 2 link MCDR Acceleration Capability Analysis of a Spatial 6 DoF CDPR Unilateral Dexterity Analysis of a Spatial 6 DoF CDPR Conclusion xii

13 6 MCDR Operational Space Motion Generation Introduction Framework EST Based Motion Planner Generalised Algorithm for Operational Space Motion Planning Selection of Tree of Elements Tree Growth Examples Operational Space Motion Planning on the BM-Arm Operational Space Motion Planning on a 2S MCDR Conclusion Part II : Generalised Software Framework for the Modelling, Analysis and Control of Cable Driven Parallel Robots Generalised Framework for CDPR Analysis Introduction Generalised Modelling Bodies Model Cables Model Inputting CDPR Models using XML Generalised Robot Analysis Analysis Tools Analysis Simulators Examples Inverse Dynamics Workspace Analysis Conclusion Generalised CDPR Framework for Hardware Implementation Introduction CASPR-ROS Hardware Interfacing ROS Integration Hardware Operation Experiments Examples Length Control on a PoCaBot Driven SCDR Force Control on the Myorobotic BM-Arm Conclusion Conclusion Summary Future Research Direction xiii

14 A Expanded Model Derivations 245 A.1 Cable-to-Body Jacobian Matrix A.2 Body-to-Joint Jacobian Matrix A.3 System Body Space Acceleration A.4 Generalised Joint Space EoM B On the POC of LTI systems 253 B.1 Introduction B.2 Preliminaries B.2.1 Notation B.2.2 Geometric Cone Theory B.2.3 Positive Invariance of Cones B.3 Problem Formulation B.4 Main Results B.4.1 Necessary and Sufficient Conditions for Positive Output Controllability of Continuous LTI systems B.4.2 Sufficient Conditions B.4.3 Necessary and Sufficient Conditions: Special Cases B.5 Illustrative Examples B.5.1 Example B.5.2 Example B.6 Conclusion xiv

15 List of Figures 1.1 Example CDPRs with different numbers of rigid links Different CDPR classifications CDPR design cycle CDPR operation cycle Example CDPR with different coordinate spaces Generalised CDPR model Body space frame locations for the generalised CDPR model Example joints for the generalised CDPR model Example cable for the generalised CDPR model Free body diagram for link k The 6 DoF spatial CDPR The 4 DoF 2 link CDPR Example 4 link planar revolute MCDR Example JSP2PMP problem for 4 link planar revolute MCDR Example paths for the 4 link planar revolute MCDR Example OSP2PMP problem for 4 link planar revolute MCDR Two Link Planar CDPR with two revolute joints Example JSP2PMP problem in the body and joint spaces Example path in the joint space Joint space with operational space contours WCW for the two link planar (Revolute-Revolute) MCDR WCW with operational space contours PCW for the two link planar (Revolute-Revolute) MCDR Positive output controllability workspace Six DoF spatial cable-driven robot Wrench closure workspace for the spatial six DoF SCDR Positive controllability workspace for the spatial six DoF SCDR Projection of the rows for the Jacobian (5.32) Available wrench and acceleration sets Example of the acceleration capability measure ψ ACM Example of the SEACM and capability hypersphere Example two link planar (Revolute-Revolute) CDPR xv

16 5.6 Unilateral dexterity workspace quantification UMFA workspace quantification Available acceleration sets at different poses Static equilibrium acceleration capability measure Acceleration contours for the desired paths Maximum controllable speed measure Comparison of the MCS over Paths 1 and Six DoF spatial cable driven manipulator actuated by seven cables SEACM slices for the spatial SCDR MCS slices for the spatial CDPR Six DoF spatial cable-driven robot actuated by eight cables Constant orientation workspace slices for unilateral dexterity Constant orientation workspace slices for UMFA Proposed operational space motion generation framework Proposed hierarchical probability distribution Two link BioMuscular-Arm Reference illustrative operation space example trajectory Candidate Solution Trajectory Candidate Solution Trajectory Tree growth for Candidate Solution Trajectory Probability distribution for Candidate Solution Trajectory Candidate Solution Trajectory Tree growth for Candidate Solution Trajectory Probability distribution for Candidate Solution Trajectory Candidate Solution Trajectory Tree growth for Candidate Solution Trajectory Probability distribution for Candidate Solution Trajectory Tree growth when constraint violation occurs Reference example planar (flower) trajectory Flower Reference Candidate Trajectory Flower Reference Candidate Trajectory Flower Reference Candidate Trajectory Flower Reference Candidate Trajectory Flower Reference Candidate Trajectory Flower Reference Candidate Trajectory Flower Reference Candidate Trajectory Flower Reference Candidate Trajectory Experimental operational space results for Candidate Solution Trajectory Experimental results for Candidate Solution Trajectory Experimental operational space results for Candidate Solution Trajectory Experimental results for Candidate Solution Trajectory Experimental operational space results for Flower Candidate Trajectory Experimental results for Flower Candidate Trajectory Experimental operational space results for Flower Candidate Trajectory 7 17 xvi

17 6.32 Experimental results for Flower Reference Candidate Trajectory Two link (Spherical-Spherical) MCDR Operational space example trajectory for two link (Spatial-Spatial) MCDR Spherical-Spherical Candidate Solution Trajectory Spherical-Spherical Candidate Solution Trajectory Spherical-Spherical Candidate Solution Trajectory Spherical-Spherical Candidate Solution Trajectory Example four DoF two link CDPR with bodies shown in red Example four DoF two link CDPR with cables shown in red The body model for the CDPR specified in Code Sample The body model for the CDPR specified in Code Sample The cable sets specified by Code Sample Workspace quantification analysis tool example Two different CDPRs used in the ID case study Cable force solutions for the inverse dynamics of the KNTU planar CDPR Cable force solutions for the inverse dynamics of the neck-inspired MCDR The IPAnema2 for the workspace analysis study WCW slices for IPAnema CDPR operation cycle CASPR-ROS hardware interface structure ROS based hardware communication methods used in CASPR-ROS Spatial PoCaBot CDPR Cable length command (dashed) and feedback (solid) Reference joint space trajectory Two link BioMuscular-Arm Joint space command (dashed) and forward kinematics (solid) - CS Closed loop inverse dynamics solutions for CS Closed loop inverse dynamics solutions for CS Joint space command (dashed) and forward kinematics (solid) - CS B.1 Regions where Im(C T ) can be located for positive output controllability. 27 B.2 Example two link CDPR B.3 Workspace of POC linearisations xvii

18 This page is intentionally left (almost) blank.

19 List of Tables 4.1 Two link planar MCDR with two revolute joint parameters Six DoF seven cable spatial SCDR parameters Six DoF eight cables spatial SCDR parameters BioMuscular-Arm parameters Example (Spherical-Spherical) Arm parameters Description of the individual link tags Description of the individual operational space tags Description of the individual cable tags Problem statement classes in CASPR Problem statement and corresponding Simulator class in CASPR Computational cost comparison Computational time specifications B.1 Cable attachment information xix

20 This page is intentionally left (almost) blank.

21 Nomenclature Acronyms CDPR SDPR MCDR DoF EoM CoM IK FK ID CRM SEC SW WCC WCW WFC WFW DFC DW RRT EST CASPR ROS cable-driven parallel robot single link cable-driven robot multi-link cable-driven robot degree of freedom equation of motion centre of mass inverse kinematics forward kinematics inverse dynamics cable routing matrix static equilibrium condition static workspace wrench closure condition wrench closure workspace wrench feasibility condition wrench feasible workspace dynamic feasibility condition dynamic workspace rapidly-expanding random tree expansive search tree cable-robot analysis and simulation platform for research robotics operating system xxi

22 Mathematical notations n number of degrees of freedom (DoFs) µ number of cables η number of operational space DoFs r number of rigid links ρ number of end effectors q joint space pose vector w joint space wrench vector x body space pose vector F body space force vector l vector of cable lengths f vector of cable forces l i length of cable i f i force of cable i y operational space pose vector τ operational space force vector J joint-to-operational space Jacobian matrix L joint-to-cable space Jacobian matrix M mass-inertia matrix C Centrifugal/Coriolis force vector G gravitational force vector w ext external wrench vector J kin joint kinematic specification set J dyn joint dynamic specification set C cable specification set E end effector specification set s θ sine of angle θ cosine of angle θ c θ xxii

23 Chapter 1 Introduction THE operational space motion generation of cable driven parallel robots (CDPRs) is investigated within this thesis. The operational space in robotics corresponds to the space in which tasks to be executed are defined. In the particular case of CDPRs, this topic has not been thoroughly studied especially for CDPRs involving multiple rigid links in which the robot s rigid links, cables and end-effector result in a more humanoid robot structure and actuation. This has previously limited the effectiveness and practicality of CDPR applications. CDPRs represent a class of robot in which the actuating rigid links are replaced by a parallel cable transmission [127]. The use of parallel actuation results in the advantages of increased load distribution, higher rigidity and increased accuracy when compared to serially actuated robots. Furthermore, the particular use of cable transmission can provide further benefits to robotic systems, such as reduced system inertia, increased system reconfigurability and the capability to operate over larger workspaces. As a result of the unique advantages of cable transmission, CDPRs have found application in a wide range of different fields. The increased load distribution, resulting higher payload to weight ratio and potentially large operating workspaces have lead to single link CDPRs (SCDRs), such as that shown in Figure 1.1(a), being applied to problems such as high speed manipulation [84, 85], motion simulation [121, 134], haptic devices [49, 53], sensing [18, 35, 142], search and rescue [24, 131] and construction [21, 7, 173]. The anthropomimetic characteristics of these robots have also resulted in multi-link CDPRs (MCDRs), such as that shown in Figure 1.1(b), being used in the study of human motion [18, 111], construction of exoskeletons [123, 126, 175], development of humanoid robots 1

24 1.1 Motivation Introduction [125, 137, 188] and construction of prosthetics [4, 167]. End Effector/Rigid Link Frame Rigid Links End Effector Cables Cables (a) Example SCDR (b) Example MCDR Figure 1.1: Example CDPRs with different numbers of rigid links The analysis of CDPRs is typically characterised by the unique property that the cables can only transmit forces when they are in tension in the tensile direction. The result of this unilateral actuation condition is that CDPRs can be both constrained and redundantly actuated. This has resulted in CDPR specific solutions for common robotics problems including kinematic analysis, dynamics analysis, control and workspace evaluation. 1.1 Motivation In the study of human motion as well as the execution of robotic tasks, the desired behaviour of the system is typically defined by a set of desired kinematics. For traditional rigid link driven robots, the bilateral actuation is such that all motions can be achieved using a suitably low speed. As a result, the motion generation problem for these robots typically can be considered as a kinematic curve generation problem in which the system s dynamic properties need not be evaluated. This is not the case for CDPRs where the effects of cable transmission result in unique challenges which change the nature of the motion generation problem. First, cable transmission can result in both redundant and constrained actuation. As a result, it is possible for a motion to be either infeasible or for there to be an infinite number of different actuation profiles which can produce the desired motion. Second, the direction of actuation and the force bounds for the cable transmission changes as a function of the mechanism 2

25 Introduction 1.1 Motivation pose. This means that the motion of the robot is highly coupled with both its kinematic and dynamic properties. In the analysis of CDPRs, the impact of the kinematic and dynamic coupling on the CDPR s capability to generate motion must therefore be quantified to ensure feasible manipulator operation and to improve motion generation performance. This represents the first problem investigated within this thesis. In both human and robotic motion, the desired kinematics for motion generation is typically defined in terms of the end effector pose (or operational space). For SCDRs, the end effector is fixed to the single link such that operational space motion generation for these CDPRs can be considered using traditional generalised coordinate motion generation algorithms. In the case of MCDRs, the generalised coordinates differ from that of the end effector, which is fixed to an individual link of the mechanism and are therefore of typically lower dimension. As a result, there may be many different motions that achieve the same operational space motion. However, the unilateral actuation of CDPRs means that it may not be possible to achieve operational space motions that could have been achieved for an equivalent bilaterally actuated robot. The study of MCDR motion generation should therefore consider operational space motion generation, both with regards to ensuring that feasible motions result and in choosing a particular motion from a possibly infinite set of joint space motions. This represents the second problem investigated within this thesis. CDPRs can be applied to many different applications that are characterised by different kinematic structures (SCDRs or MCDRs), loadings and scales of operation. Typically algorithms developed for CDPR analysis and control can in theory be applied to all of these different applications. However, in practice the applications of generalised frameworks are limited in hardware implementation due to a number of different reasons. First, CDPR models can be considerably different as a result of the different kinematic structures and scales of operation. This can mean that there is a significant cost in modifying software designed for one particular CDPR such that it can be implemented onto the class of CDPRs. Second, it is difficult to benchmark the performance of algorithms new to the literature due to the significant cost of re-implementing the techniques. A generalised framework should consider these issues to ensure that the practical and theoret- 3

26 1.2 Research questions Introduction ical applications of the framework align. This represents the third problem investigated within this thesis. In summary, CDPRs represent a broad class of robots that can possess different kinematic structures, scales of operation and working loads as well as an anthropomimetic structure. Common to all of these robots is however the effect of unilateral actuation and the desire to generate motion in the operational space. The quantification of CDPR motion generation capability as well as the application of such an understanding is therefore required to better take advantage of the unique characteristics of this class of mechanism and to ensure that feasible motions result. Any generalised framework developed for CDPR motion generation should also consider hardware implementation in order to allow the study to be applied onto the wide field of different CDPR applications. 1.2 Research questions The primary objective of this thesis is to develop a generalised framework for the operational space redundancy resolution of CDPRs. In addressing this objective, a quantification of the capability to generate motion will also be developed, which will aid in the design and motion planning of these mechanisms. The following research questions are considered in this thesis to address the main research objective: How can the motion generation capability of CDPRs be quantified? How can the control and motion generation of CDPRs be formulated to consider the feasible execution of operational space tasks? How can CDPR motion generation be implemented on-line onto both SCDRs and MCDRs? In addressing these questions the project is broken up into three research aims: Aim 1: Quantify the capability of a CDPR to generate motions in the joint and/or operational spaces. Aim 2: Using the developed quantification, develop a MCDR operational space motion generation algorithm that can be used to guarantee trajectory feasibility. 4

27 Introduction 1.3 Contribution of the Thesis Aim 3: Construct a generalised platform that facilitates hardware implementation of the developed motion planner onto any CDPR. 1.3 Contribution of the Thesis In this thesis, the study and generation of MCDR motion is presented. In studying the proposed research questions the thesis makes the following contributions: Investigation of motion generation capabilities of CDPR, packaged into two sets of newly defined metrics: Acceleration Capability Measure (ACM) and Unilateral Dexterity (UD). This contribution is presented in Chapter 5 and has resulted in the publications J2, J3, J4 and C2 listed in Section 1.5. A generalised framework for the operational space motion planning and control of CDPRs is presented using the motion generation metrics. This contribution is presented in Chapter 6 and has resulted in the publication C6, as well as a journal submission in preparation. Using the CDPR modelling scheme developed in [111], a software and hardware framework for CDPR analysis and implementation is developed and used to compare the performance of different analysis tools onto a range of CDPR platforms. This contribution is presented in Chapters 7 and 8 and has resulted in the conference publications C3 and C4. The contributions of this thesis therefore find application in the design, analysis and control of CDPRs. The study of motion generation capability provides a greater insight with regards to the capabilities of CDPRs. This allows for improved CDPR design and the development of more optimal motion planning techniques. The development of a generalised framework for CDPR operational space motion generation enables the motion planning control of these mechanisms to be conducted in the space of the desired tasks to be executed. This simplifies the operation of CDPRs, making it easier for these robots to be applied onto more general applications. Finally, the developed software 5

28 1.4 Structure of the Thesis Introduction framework makes the usage and analysis of CDPRs more convenient thereby facilitating their greater application and providing tools for proper benchmarking of new research. The contributions of this thesis may also find application within the field of biomechanics. The generalised framework for CDPR operational space motion generation provides insights into how operational space motion can be generated for a class of anthropomimetic robots. Such insights can provide additional perspectives into the study of human motion and could possess application in scenarios that require simulation of the musculoskeletal system under altered muscle properties. This could include the evaluation of musculoskeletal rehabilitation as well as the diagnosis of motor impairment. 1.4 Structure of the Thesis This thesis contains 9 chapters organised into 2 parts to present the contributions towards the three identified research questions. The remainder of the thesis is organised as follows: Chapter 2 reviews the current status of the robotics literature that is relative to the contributions of the thesis. Chapter 3 then formulates the modelling and CDPR analysis notation and definitions that will be used throughout the remainder of the thesis. Part I, which is comprised of Chapters 4-6, presents the study of motion generation for CDPRs and is consistent with Aims 1 and 2. Chapter 4 formulates the main CDPR motion generation problems and presents necessary and/or sufficient conditions with which to ensure that the different problems possess a solution. Chapter 5 evaluates the capability of CDPRs to generate motion from arbitrary points. As a part of this evaluation, a number of new metrics are introduced to quantify this capability. Chapter 6 presents the generalised framework for operational space control of CDPRs. Part II, which is comprised of Chapters 7 and 8, presents the development of a generalised software framework for the simulation, analysis and hardware implementation of cable robots. Firstly, Chapter 7 presents the simulation based software which allows for different algorithms to be compared onto arbitrary CDPRs. Secondly, Chapter 8 presents the extension of the simulation software to allow for the same framework to be applied on-line onto different CDPR platforms. 6

29 Introduction 1.5 Related Publications Finally, Chapter 9 concludes the thesis and provides a discussion of direction for future work. 1.5 Related Publications During the PhD candidature, the following publications that are related to the content of this thesis have resulted: Journal Articles J1 D. Lau, J. Eden, D. Oetomo and S. K. Halgamuge, Musculoskeletal Static Workspace Analysis of the Human Shoulder as a Cable-Driven Robot, IEEE/ASME Transactions on Mechatronics, vol. 2, pp , 215. J2 J. Eden, Y. Tan, D. Lau and D. Oetomo, On the Positive Output Controllability of Linear Time Invariant Systems, Automatica, vol. 71, pp , 216. J3 J. Eden, D. Lau, Y. Tan and D. Oetomo, Available Acceleration Set for the study of motion capabilities for cable-driven robots, Mechanism and Machine Theory, vol. 15, pp , 216. J4 J. Eden, D. Lau, Y. Tan and D. Oetomo, A Dexterity Measure for Unilaterally Actuated Robots with an Arbitrary Number of Actuators, ASME Journal of Mechanical Design, in review. Conference Publications C1 D. Lau, J. Eden, S. K. Halgamuge and D. Oetomo, Cable Function Analysis for the Musculoskeletal Static Workspace of a Human Shoulder, in Proceedings of the Second International Conference on Cable-Driven Parallel Robots, 214. C2 J. Eden, D. Lau, Y. Tan and D. Oetomo, On Positive Output Controllability and Cable Driven Parallel Manipulators, in Proceedings of the Australian Control Conference, Gold Coast Australia,

30 1.5 Related Publications Introduction C3 D. Lau, J. Eden, Y. Tan and D. Oetomo, CASPR: A comprehensive cable-robot analysis and simulation platform for the research of cable-driven parallel robots, in Proceedings of Intelligent Robots and Systems (IROS), 216. C4 J.Eden, C. Song, Y. Tan, D. Oetomo and D. Lau, CASPR-ROS: A Generalised Cable Robot Software in ROS for Hardware, in Proceedings of the Third International Conference on Cable-Driven Parallel Robots, 217. C5 Y. P. Chan, J.Eden, Y. Tan, D. Lau and D. Oetomo, A survey on Inverse Dynamics Solvers for Cable-Driven Parallel Robots, Australian Conference on Robotics and Automation, 217, accepted. C6 J.Eden, Y. Tan, D. Lau and D. Oetomo, Reference State Trajectory Generation for Output Tracking with Constraints using Search Trees, American Control Conference, 218, accepted 8

31 Chapter 2 Literature Review This chapter presents a review of the state of the art in both cable-driven parallel robots (CDPRs) and manipulator motion planning. In Section 2.1, CDPRs are introduced and their fundamental properties are examined. Section 2.2 presents the common theoretical analysis problems evaluated for CDPRs. The development of CDPR hardware is reviewed in Section 2.3. Section 2.4 considers the problem of generating a motion on manipulators given possibly redundant and constrained actuation. Finally, Section 2.5 summarises the literature review and identifies significant open problems for each of the preceding sections that are yet to be addressed. A more detailed technical review of background CDPR modelling and analysis theory necessary for the reading of this thesis is provided in Chapter Introduction to Cable-Driven Parallel Robots Robotic manipulators represent a category of mechanical system capable of (semi) autonomously manipulating the surrounding environment using an end effector that is actuated through a kinematic chain of (typically rigid) links. These robots have been commonly classified in terms of their kinematic structure, resulting in two major classes: serial manipulators and parallel manipulators. The class of serial manipulators consists of those whose links are connected one after another, forming an open kinematic chain. This architecture provides an inherent compactness, whereby the manipulator can contract to fit into tight spaces or expand to reach a larger operating region. A limitation of serial manipulators is that the actuated degrees of freedom (DoFs) are typically actuated by motors placed at the joint centre for each DoF. This limits the load that the manipulator can support, since each motor must support its own mass in addition to the mass of each subsequent link and actuator. An additional limitation of serial manipulators is that small positional errors in parent links are magnified in the descendent links. This limits 9

32 2.1 Introduction to Cable-Driven Parallel Robots Literature Review the end effector accuracy. The effect of these limitations is that serial manipulators have reduced applicability when high positional accuracy and/or large loading is required. In contrast, parallel manipulators consist of manipulators in which the links form a closed kinematic chain. This means that parallel manipulators may distribute the actuation of a single DoF across multiple actuators/links, resulting in a typically higher payload to weight ratio when compared to serial manipulators. The closed kinematic chain also increases the rigidity of the mechanism by providing additional constraints. These constraints limit the positional error magnification and therefore result in greater positional accuracy. Despite these advantages, parallel manipulators suffer from a number of disadvantages. First, the closed kinematic structure and resulting increased number of rigid links limits the size of the operating workspace. Second, the rigid link transmission increases the system inertia which can limit the speed of manipulator operation. To address some of the limitations of parallel manipulators, the use of cable based transmission was proposed in the late 198s and early 199s, by Landsberger [14, 15], Higuchi [69] and Albus [4], and in recent years has become increasingly investigated. The resulting class of robots is termed cable-driven parallel robots (CDPRs). The use of cables in place of rigid links results in a number of unique benefits for CDPRs. First, the actuating cables possess a much lower inertia. This results in lower overall system inertia, thereby further increasing the payload to weight ratio and allowing for higher speeds of operation. Second, cable transmission makes use of a much smaller volume when compared to rigid links. This lower volume reduces the potential for interference. Third, the use of cable transmission allows for the actuators (motors) to be placed at the base of the manipulator. This means that the actuators do not need to move with the end-effector and therefore that the system inertia can be further reduced. In combination with the reduced inertia of the cables, this allows CDPRs to operate on much larger workspaces than would be possible for conventional parallel manipulators. Finally, the cables are flexible and can be easily reconfigured. This makes CDPRs versatile to multi-purpose applications and also results in high transportability for large scale manipulators. CDPRs are typically further classified based upon the number of rigid links that they This terminology will be used throughout this thesis. Other common terminology includes cable-driven parallel manipulators or cable/wire/tendon robots. 1

33 Literature Review 2.1 Introduction to Cable-Driven Parallel Robots possess. Single-link CDPRs (SCDRs) represent a single link that is actuated by a parallel configuration of cables. These manipulators can be seen as parallel manipulators in which all rigid links with the exception of the end effector have been replaced by cables. As a result, SCDRs are typically described in terms of the number of cables and the joint types (such as revolute, planar, spherical, planar and spatial). Figures 2.1(a)-2.1(c) show example SCDRs with the single rigid link forming the end effector constrained to operate in the (a) planar 3 DoFs, (b) spherical 3 DoFs and (c) spatial 6 DoFs, respectively. In contrast, CDPRs with multiple rigid links, such as that shown in Figure 2.1(d), are termed multi-link CDPRs (MCDRs). These CDPRs resemble serial manipulators where the actuating motors have been replaced by cables. As a result, MCDRs provide the benefits of CDPRs in addition to the compactness that is associated with serial manipulators. End Effector/Rigid Link Frame End Effector/Rigid Link Frame Cables Cables (a) 3 DoF 4 cable planar SCDR (b) 3 DoF 4 cable spherical SCDR End Effector/Rigid Link Frame Cables Rigid Links End Effector Cables (c) 6 DoF 8 cable spatial SCDR (d) 3 link 3 DoF 5 cable MCDR Figure 2.1: Different CDPR classifications The analysis of CDPRs is characterised by the key feature of cable transmission, that cables can only transmit force in tension (positive force constraint or unilateral actuation 11

34 2.2 Theoretical Analysis of Cable-Driven Parallel Robots Literature Review constraint). As a result, an alternative classification for different CDPRs is based upon the actuation characteristics of the mechanism. Let n be the number of DoFs for a manipulator and µ be the number of actuators. A conventional manipulator is said to be under-actuated if n < µ, fully actuated if n = µ and redundantly actuated if n > µ. In the case of CDPRs, due to the positive force (or unilateral actuation) constraint, at least n + 1 cables are necessary for full actuation [127]. As a result the conventional actuation categorisation can no longer be applied. Instead CDPRs are categorised by the number of cables that they possess where a CDPR with µ < n + 1 is said to be incompletely restrained, indicating that it is underactuated. A CDPR with µ = n + 1 cables is said to be completely restrained, indicating that this mechanism can be either fully actuated or under-actuated depending upon the mechanism configuration. Finally a CDPR with µ > n + 1 is said to be redundantly restrained, in which case the mechanism can be equivalent to redundantly actuated or under-actuated depending upon the mechanism configuration. Due to their unique characteristics and advantages, CDPRs have been widely studied and applied to a range of different fields. Theoretical CDPR analysis is reviewed in Section 2.2, while Section 2.3 summarises the practical applications of these robots. 2.2 Theoretical Analysis of Cable-Driven Parallel Robots The unilateral actuation of CDPRs results in many unique challenges and problems for their analysis. This section reviews the state of the art in CDPR performance and analysis techniques. In particular, the review focuses on the analysis techniques necessary in both the design and operation cycles of CDPRs as is consistent with Figures 2.2 and 2.3. Section presents kinematic analysis CDPRs. Section considers the computation of cable force trajectories for the generation of desired generalised coordinate (joint space) kinematic behaviour (inverse dynamics). The existing methods of CDPR control are investigated in Section Finally, the identification and subsequent quantification of CDPR operating regions (workspace analysis) is summarised in Section

35 Literature Review 2.2 Theoretical Analysis of Cable-Driven Parallel Robots φφ dddddd /ψψ dddddd Design Optimisation mm, II GG, rr OOOO Workspace Analysis φφ/ψψ Figure 2.2: CDPR design cycle qq rrrrrr, qq rrrrrr, qq rrrrrr Control qq cccccc, qq cccccc, qq cccccc Inverse Dynamics/ Inverse Kinematics ll cccccc /ff cccccc Plant/ Forward Dynamics qq ffffff, qq ffffff, qq ffffff Forward Kinematics ll ffffff Figure 2.3: CDPR operation cycle Kinematics CDPR kinematic variables (such as position, velocity and acceleration) are typically represented in both the coordinates of the cables (cable space) through the vector of cable [ ] T lengths l = l 1... l m R m and in the joint space through the pose vector q R n. A critical component of kinematic analysis for CDPRs is in the understanding of the relationship between joint and cable space variables. This understanding is necessary to translate between the mechanism pose, which commonly defines the CDPR s task, and the cable lengths which can be directly controlled at the actuator level. The inverse kinematics (IK) problem refers to the problem of determining the cable lengths given knowledge of the mechanism pose. As CDPRs can be considered as a parallel manipulator where cables replace rigid links, the inverse kinematics of CDPRs can be uniquely solved using analytic expressions, where Lau et al. presented a generalised method for solving the inverse kinematics of both SCDRs and MCDRs [111]. The forward (or direct) kinematics (FK) problem refers to the problem of determining the mechanism pose given knowledge of the current cable lengths. This problem typically does not possess a unique expression for the solution [127] and must be considered for many practical applications in which only the cable lengths and/or velocities can be measured. 13

36 2.2 Theoretical Analysis of Cable-Driven Parallel Robots Literature Review A range of different FK solvers have been considered including iterative methods [27, 47], least squares based methods [157, 161] and interval analysis methods [129, 13, 17]. The iterative methods make use of simple Jacobian pseudo-inverse computation. As a result, the methods have been found to highly computationally efficient, however they cannot guarantee convergence and are limited to non-deformable cable models. The least squares based methods, solve the problem by minimising the estimation error as a nonlinear optimisation problem. For many CDPRs with non-deformable cable models it has been shown that these methods are convex and that the solution can be implemented in real time [161]. Finally, the interval analysis based approaches make use of interval arithmetic to provide a robust solution with guaranteed convergence. However, the required computational time is typically greater than both the least squared and iterative methods. Merlet has recently proposed an extension to the FK interval analysis formulation which can be applied for sagging and flexible cables [13] Dynamics CDPR inverse dynamics (ID) refers to the problem of determining a positive cable force trajectory that will produce a desired joint space motion. For an n DoF, µ cable robot, the desired motion is typically defined over the time interval t [t, t f ], t, t f R through the twice differentiable joint space kinematics q( ) : [t, t f ] R n, where q, q, q R n refers to the mechanism pose and and the joint space velocity and acceleration vectors, respectively. The ID problem therefore resolves the necessary cable force trajectory f( ) : [t, t f ] R µ at each time t [t, t f ] by satisfying the mechanism equation of motion (EoM) and actuation constraints for the given reference kinematics. The consideration of ID is important for CDPR analysis since it is typically required in online CDPR force control. For completely and redundantly restrained CDPRs, the actuation redundancy means that a feasible reference kinematic trajectory can possess infinite different positive cable force solutions. As such, methods of solving the ID problem can be broadly categorised as either optimisation or heuristic based methods. Optimisation based methods [19, 48, 59, 111, 112, 145] resolve the ID problem by solving an optimisation at each time instant under a quasi-static assumption on the joint 14

37 Literature Review 2.2 Theoretical Analysis of Cable-Driven Parallel Robots kinematics. This approach has been applied to different optimisation formulations including linear programs [19, 145], quadratic programs [65, 111, 145], quadratically constrained quadratic programs [112] and quartic programs [59], where the cost function is typically chosen to minimise a known physical quantity. In general, optimisation based methods provide a formulation with an intuitive physical meaning, however they typically possess poor worst case time bounds which can limit their applicability to real-time control. Methods such as the optimally safe formulation [19] exploit particular problem structures in order to provide better worst case time guarantees, however these methods can lack the guarantees of solution continuity that exists for quadratic programs. In contrast, heuristic based methods ensure the satisfaction of the actuation constraint through practical methods [139, 158, 159] or they solve an optimisation problem but only for a special subset of CDPRs [48, 63]. These methods are typically faster in implementation when compared to optimisation methods at the cost of either an intuition for the nature of the resulting solution or a lack of applicability to generic CDPRs. The closed form method is one heuristic that has been shown to possess the best possible worst case time guarantees for the inverse dynamics problem with arbitrary CDPRs [159]. This method can in some cases suggest false negatives in which a motion is deemed infeasible despite their being feasible solutions. Other methods such as the methods considered in [48] and [63] have been shown to possess favourable time performance, however these only apply to instances in which µ = n + 1 and µ = n + 2, respectively Motion Control The CDPR control problem looks to regulate the cable forces and/or lengths to track a desired reference defined either in the cable length space l ref ( ) : [t, t f ] R µ or the joint space q ref ( ) : [t, t f ] R n. This problem therefore differs to that of typical robotic control due to the positive force (length) constraints where f f f ( l l l), in addition to the need to consider redundancy in the case of completely and redundantly constrained CDPRs. The typical application of control for CDPRs makes use of a two stage controller allocation process. As a result, the first stage solves the control problem under the assumption that the robot is equivalent to a fully actuated 15

38 2.2 Theoretical Analysis of Cable-Driven Parallel Robots Literature Review bilaterally actuated robot, before the second stage resolves the redundancy using the inverse dynamics methods discussed in Section A number of different control formulations have been used for on-line CDPR control including model based reactive controllers, robust/adaptive control and optimal control. Model based reactive controllers use the system model to cancel out unwanted CDPR dynamics while maintaining positive cable force [5]. These approaches have been applied in a range of different problem settings including computer vision integrated control [36], impedance control [163], vibration suppression [89, 183], friction compensation [1] and the compensation for flexible joints [92] and/or cables [32, 33, 94]. The use of model based approaches is however reliant on an accurate and easy to compute system model. Robust/adaptive controllers instead compensate for model uncertainty through the addition of adaptive parameters or the alteration of the control formulation to try and minimise the effect of disturbance. For CDPRs, robust adaptive control has primarily applied to consider uncertainty in loading conditions [9, 11] and the locations of cable attachments [9]. These controllers have also been implemented for vibration suppression, whereby the use of sliding mode control [146, 147] and H control have both been proposed and implemented [34, 73, 132]. Finally, optimal CDPR control phrases the control problem as an optimisation problem in which the CDPR dynamics form constraints and a predefined objective is to be minimised. This approach has been applied onto CDPRs through the works of Ghasemi [55] and Abdolshah and Barjuei [2], however due to the non-linear dynamics and computational time considerations, the existing methods make use of linearised systems thereby sacrificing the true optimality of the cost functions under consideration Workspace Analysis Manipulator workspace analysis denotes the problems of generating the allowable operating region for a robotic manipulator and of quantifying the capability of the manipulator throughout that region. In determining the operating region of a robot, workspace analysis may consider actuation constraints in addition to kinematic limitations such as joint angle limits and manipulator self-collision. Due to its usage in defining the operat- 16

39 Literature Review 2.2 Theoretical Analysis of Cable-Driven Parallel Robots ing region of a robot, workspace analysis finds application in the problem of manipulator synthesis [6,13,16]. Furthermore, the use of workspace analysis in quantifying the capability of the manipulator throughout an operating region also means that the problem finds application in trajectory generation [99, 181], where it can be used to identify more favourable regions for trajectories to pass through. The construction of manipulator workspaces is generally achieved using either analytical workspace techniques or numerical workspace techniques. In analytical workspace techniques, the boundary of the operating region is solved for explicitly through a set of boundary equations. This approach therefore provides a complete description of the workspace geometry. However, the technique cannot be used for quantifying workspace capability. The approach is also limited in its application to the subset of manipulators for which solving the boundary equations is computationally tractable. In contrast, numerical techniques construct the workspace by evaluating the capability of the manipulator over a discrete set of possible configurations. These techniques therefore provide a means for determining the manipulator s operating region and for evaluating capability within that region. The discretisation used in numerical techniques, however results in a loss of information regarding the capability of the poses in between. In the case of conventional serial and parallel robots, the bilateral nature of the actuation is such that the analysis typically only needs to consider the mechanism kinematics. This is not the case for CDPRs where the positive force constraint can result in the pose dependent loss of full actuation (unilateral singularity) [98]. The analysis of CDPR workspaces therefore considers both the mechanism kinematics and dynamics (kinodynamics) through the evaluation of workspace conditions and workspace metrics. Workspace Conditions Workspace conditions define kinodynamic conditions necessary for the operation of a CDPR. As a result, workspace conditions can be considered as boolean function evaluations which indicate if a pose belongs to the manipulator s operating workspace. A range of different workspace conditions have been studied to consider different types of CDPR operation. These include the kinematics based interference free condition [6, 128, 143, 151], 17

40 2.2 Theoretical Analysis of Cable-Driven Parallel Robots Literature Review which evaluates if the current manipulator pose is free of collision between rigid links and cables and/or cables and other cables, in addition to dynamics based conditions such as the static equilibrium condition (SEC) [18,165,181], the wrench closure condition (WCC) [19, 11, 118, 149, 155, 182], the wrench feasibility condition (WFC) [22, 23, 25, 61] and the dynamic feasibility condition (DFC) [14]. The SEC evaluates if the CDPR is capable of supporting its own weight [165]. This condition is often treated as a necessary condition for CDPR operation because satisfaction of the condition indicates poses at which CDPRs can start and/or finish trajectories. The condition has been also been suggested to have potential applications in motion generation through the use of techniques such as task scaling [181, 191]. However, since the condition only guarantees that the manipulator can stay at its current position, the condition generates an over estimated workspace for the set of all reachable poses of the CDPR and provides no quantification of the kind of motions that can be generated throughout it. In addition, the condition does not consider robustness and/or additional wrench generation which has also limited its applicability. A pose is said to satisfy the WCC if the CDPR is capable of generating any desired wrench under the assumption that the cable force is positive and unbounded [182]. Satisfaction of the WCC therefore indicates that the mechanism is robust to disturbance and that the CDPR is capable of producing any velocity and/or acceleration. As a result, any trajectory that is completely contained within the wrench closure workspace (WCW) can be generated using positive cable force. The WCC is however conservative as the condition requires all forces and/or motions to be achievable. The evaluation of the WCC has been shown to be equivalent to a positive spanning problem [62]. As a result, different analytical and numerical techniques have been developed for WCW generation using necessary and sufficient conditions for positive spanning. In the analytical case, Gouttefarde and Gosselin solved the WCC boundary equations for planar SCDRs with 4,5 or 6 cables [62], while Stump and Kumar used Farkas Lemma to derive boundary equations for both planar and spatial SCDRs [174]. In both cases the resulting equations were manipulator specific and could not be generalised to other CDPR kinematic structures. For more general cases, Pham et al. [155] proposed a 18

41 Literature Review 2.2 Theoretical Analysis of Cable-Driven Parallel Robots recursive numerical algorithm that used Gaussian elimination and resulted in µ! (µ (n 1))! evaluations for an n DoF CDPR driven by µ cables. Through further exploitation of the properties of convex hulls, Lim et al. [118] and Ouyang et al. [149] developed new more efficient numerical techniques that required ( 6 µ ) and (7 µ ) evaluations, respectively. The WFC evaluates if the CDPR can produce a desired set of wrenches given a set of actuation constraints [22]. As a result, the WFC can be seen as a less conservative equivalent of the WCC which can also incorporate the effects of actuation constraints. The use of the WFC is however reliant on a characterisation of the desirable set of wrenches. Determining such a characterisation can itself be a difficult problem especially when the desired operation of the robot is defined in terms of kinematics rather than dynamics. The computational complexity of wrench feasible workspace (WFW) generation varies based upon the form that the desired wrench set holds. While boundary equations can be determined when polyhedral sets are used, the resulting equations are difficult to solve even for the planar and spatial SCDR cases [23]. Bouchard, Gosselin and Moore proposed a numerical technique to evaluate point, polyhedral and elliptical desired wrench sets [25]. For more general sets, Gouttefarde, Merlet and Daney used interval analysis to construct the WFW [61]. In both cases, as the desired sets get more complex, the computational time significantly increases. The DFC evaluates if the CDPR can produce a desired set of accelerations and velocities for given pose and actuation constraints [14]. The DFC can therefore be seen as an analogue to the WFC where kinematics are considered in place of wrench. The consideration of both the velocity and acceleration of the mechanism however complicates the computation of the dynamic workspace. Furthermore, it can be difficult to prescribe a suitable desired set of accelerations and velocities for all poses within the workspace. Workspace Metrics In contrast to workspace conditions, workspace metrics provide a numerical quantification for the capability of a CDPR within its operating region. Workspace metrics therefore typically provide a measure of how well the manipulator satisfies a corresponding workspace condition. Many workspace metrics can be classified as either dexterity based 19

42 2.2 Theoretical Analysis of Cable-Driven Parallel Robots Literature Review measurements [4, 98, 154, 167, 171, 19] or wrench set measurements [2, 64, 96, 166]. Dexterity based workspace metrics provide a description of the shape of the manipulability ellipsoid which results from mapping a ball of wrench in the space of the generalised coordinates (joint space) into either the end effector space or an actuator space. The manipulability metric [19] measures the volume of the manipulability ellipsoid. As a result, small values of this metric indicate that large actuation forces will be required in generating wrench in certain directions of the joint space. However since the metric measures volume instead of force amplitude, the metric can be large when the ellipsoid is thin in some dimensions while being thick in all others. The maximum force amplification (MFA) metric [4] quantifies the maximum force amplitude required in generating an arbitrary wrench lying on the unit ball. This metric therefore provides a worst case estimate of the amplification factor necessary in producing wrench. The dexterity metric [167] is commonly defined as the ratio of the largest semi-axis to the smallest semi-axis of the manipulability ellipsoid. This means that dexterity measures the evenness of the manipulability ellipsoid without considering the ellipsoid size. Despite providing an easily interpreted description of the relationship between the actuation and joint spaces, the metrics of dexterity, manipulability and maximum force amplification cannot be directly applied onto CDPRs. This is a result of the unilateral actuation constraint and the property that at least n + 1 unilateral actuators are necessary to produce all wrench for a n DoF mechanism [98]. To address this issue, Kurtz and Hayward [98] extended the definitions of dexterity, singularity and MFA into their unilateral equivalents of unilateral dexterity, unilateral singularity and unilateral MFA, while Shen, Osumi and Arai extended the definition of manipulability to the manipulability of forces (unilateral manipulability) [171]. Both measures indicate proximity to unilateral singularity (and hence can be used as a quantification of WCC satisfaction). The methods for quantifying unilateral dexterity and manipulability were only defined for the special completely restrained case. This case is however a very specific and rare case which does not include a range of mechanisms such as [4, 134, 16]. An additional dexterity based metric designed for the study of CDPRs is the tension factor [154], which provides a quantification of the distribution of cable forces in produc- 2

43 Literature Review 2.3 Practical Implementations of Cable-Driven Parallel Robots ing arbitrary wrench. This measure is at a minimum at unilateral singularity and grows away from it, such that it can be used as an additional measure of WCC satisfaction. The metric however doesn t consider the relative size of different wrench generating vectors which makes it lack the intuitive meaning of the dexterity and manipulability measures. In contrast to the dexterity based measures, wrench set measures provide a direct quantification of the CDPR s available wrench set given the cable force constraints f f f R µ. The maximum isotropic force measure, measures the largest force that is contained within the available wrench set [96]. Since all directions of wrench are considered, the metric can be used to measure satisfaction of the WCW. Boschetti and Trevisani extended this metric to the maximum exertable force which considers the case of finding the largest wrench in a predefined direction [2]. The metric can be used as a measure of the additional mass that could be supported when a direction of wrench is known as would be the case for the static equilibrium condition. Finally, the capacity margin measures the signed distance between a desired wrench set and the available wrench set [64]. The measure therefore quantifies the robustness of WFC satisfaction. In all cases, wrench set measures require the explicit computation of the wrench set. The construction of this polytope requires the generation of facet defining inequalities whose computational complexity exponentially increases as the DoFs and number of cables increase [23]. 2.3 Practical Implementations of Cable-Driven Parallel Robots Single Link Cable Driven Robots SCDRs represent CDPRs in which the actuating cables drive a single link which acts as the manipulator s end effector. The first SCDRs were developed in the late 198s and early 199s and were primarily conceived as cable driven robotic cranes [4,69,14,15]. Of these early results, the National Institute of Standard and Technology (NIST) RoboCrane [4] developed by Albus et al. is the most commonly cited example SCDR. This robotic crane consists of 6 actuating cables which translate and rotate a 6 DoF end effector. The reconfigurability, high payload to weight ratio and low inertia of SCDRs has subsequently resulted in their use to solve practical problems that possess a range of different 21

44 2.3 Practical Implementations of Cable-Driven Parallel Robots Literature Review loading conditions, DoFs and scales of operation. These varying requirements have resulted in spatial and planar SCDRs being developed with cable lengths which can range from tens of centimetres [125] to hundreds of metres [142] and maximum end-effector loading which can go from hundreds of grams [84] to hundreds of kilograms [1]. As a result, SCDRs have found use for a range of different applications including: Construction Since the first example robotic crane [69], SCDRs have been used in construction based applications. As a result of the potentially large operating workspace that can be obtained with low mechanism inertia, SCDRs have been found to be highly suitable for use as cranes [4, 69, 122]. In addition, due to their reconfigurability and transportability, SCDRs have been designed for a number of more specialised construction tasks. Gagliardini et al. designed a reconfigurable SCDR for the problem of painting and sandblasting large structures [52]. For the application of additive manufacturing, Bosscher et al. [21] and Barnet and Gosselin [12] exploited the transportability and potentially large operating workspaces of SCDRs in order to develop large scale 3D printing facilities. High Speed Manipulation High speed manipulation applications include pick and place tasks, material cutting and assembly. Common to these applications is the requirements of high precision and large accelerations and/or decelerations. Due to the higher payload to weight ratio of cable transmission and the increased accuracy of parallel manipulation, SCDRs have proven well suited for use in high speed manipulation tasks [7, 84, 86, 122, 129, 16]. Kawamura et al. constructed the FALCON as one of the first cable driven parallel robot for the purpose of high speed manipulation [84, 86]. This SCDR possesses a 6 DoF end effector that is comprised of a 1m 15g Aluminium rod that is actuated by 7 cables. The FALCON is able to produce accelerations as high as 43g while operating at a maximum speed of 13 m/s [84]. Since the construction of FALCON, the KNTU CDPR [7] and Marionet [129] were developed as research high speed manipulation SCDRs. For 22

45 Literature Review 2.3 Practical Implementations of Cable-Driven Parallel Robots industrial applications, Pott et al. developed the IPAnema family of SCDRs [16]. Sensing As a result of their transportability, potentially large operating workspaces and reduced volume/inertia, SCDRs have found application in the manipulation of sensor technologies whose region of operation is too large for traditional rigid link based serial and parallel manipulators. Examples of such applications include aerial camera systems [35,43], where the SkyCam represents the first commercialised cable robot based aerial camera that has subsequently found widespread usage in the filming of sporting events such as cricket and football matches, and the manipulation of telescope apertures [29,12,142, 18] where the five-hundred-metre aperture spherical radial telescope (FAST) is an example of a telescope that makes use of a large scale SCDR for the positioning of its aperture. Motion Simulation Motion simulators are devices which simulate the dynamics of a range of different vehicles. Similar to high speed manipulation problems, motion simulators are characterised by their need to produce large accelerations. Additionally, motion simulators are also required to be transparent such that the dynamics of the simulator itself have minimal effect on the simulated dynamics. As a result of the reduced inertia of cable transmission, a number of different SCDR motion simulators have been constructed [82,121,134,177,192]. Karkoub et al. and Zitzewitz et al. developed SCDR motion simulators for the applications of hang gliding [82] and sports playing [192], respectively. For the simulation of space ship dynamics, Ma and Diao designed a 6 DoF SCDR [121]. 6 DoF motion simulators were also developed by Tadokoro et al. and Miermeister et al., respectively[134, 177]. For these cases, the 6 DoF motion base [177] can produce translational accelerations up to 1g and possesses a range of motion given by ±.45m ±.45m 1.1m ± , whereas the Cable Robot Simulator [134] can produce a maximum translational acceleration of 14m/s 2 and operates over 4m 5m 4.5m ±

46 2.3 Practical Implementations of Cable-Driven Parallel Robots Literature Review Search and Rescue Due to the unpredictable and unstructured nature of search and rescue operations, robotic assistance requires mechanisms that are easily transportable, flexible to environmental conditions and capable of operating over potentially large distances. SCDRs possess these capabilities through their reconfigurability, high payload to weight ratio and usage of flexible cables. Subsequently a number of search and rescue SCDRs have been constructed to study their possible application [24, 131, 178, 179]. Tadokoro et al. proposed a transportable large scale SCDR for debris collection during search and rescue missions [178]. The SCDR was easily transportable and designed to be installed onto existing features such as pillars and beams making it better suited to urban environments. For rapid deployment, Bosscher, Williams and Tummino proposed the use of a mobile base for the anchoring of the SCDR cables [24]. The resulting search and rescue SCDR could be used to both locate survivors and to deploy smaller search and rescue mobile robots Multi Link Cable Driven Robots MCDRs are a class of CDPR in which a kinematic chain of rigid links is actuated by a parallel set of cables/wires. MCDRs have recently become a focus of research as a result of their strong parallels with musculoskeletal systems, where the rigid links act like the articulated skeletal structure and the cables are actuated in a similar manner to muscles. As a result of this more anthropomorphic structure and the increased compactness that comes from the kinematic chain, MCDRs have found application in a range of unique disciplines for which SCDRs have proven less suited. These applications include: Prosthesis Prosthetic limbs provide an artificial replacement of a missing limb in order to restore some of the lost functionality. Due to its lower volume, capability to transmit force using actuators located away from joints and biomimetic nature, cable transmission has been extensively used in the construction of prosthetic devices. Salisbury and Craig made use of tendons in order to actuate individual fingers for a robotic hand [167]. This approach 24

47 Literature Review 2.3 Practical Implementations of Cable-Driven Parallel Robots has been further developed in the construction of compliant [31, 44] and overactuated robotic hands [15], where these elements have been subsequently used in the development of light weight tendon driven prostheses[77, 186]. Exoskeletons In a similar manner to prostheses, exoskeletons provide an external skeletal structure with which to augment and/or rehabilitate the functionality of the musculoskeletal system. MCDRs have been considered for this purpose particularly due to the strong parallels that exist between the musculoskeletal system and the class of MCDRs. The main application of these MCDRs has been in rehabilitation. One of the first cable driven devices for rehabilitation was the the Multi-Axis Cartesian-based Arm Rehabilitation Machine (MACARM) [126]. This robot aided in upper limb rehabilitation using a 6 DoF 8 cable spatial SCDR that could alter the patient s motion through an end effector. The STRING- MAN robot [175] made use of a similar approach for gait rehabilitation. In this case, the CDPR made use of 7 actuating cables and was connected to human subjects where the subject s skeletal structure acted analogously to the rigid links of an MCDR. Mao and Agrawal developed the Cable-Driven Arm Exoskeleton (CAREX) [3, 123]. This rehabilitation CDPR acts as an MCDR in which the patients arm can be considered analogous to rigid links. The actuation is provided through cuffs located on the shoulder, upper arm and forearm resulting in a 5 DoF 7 cable exoskeleton that does not restrict the natural movement of the patient. The primary advantages of the CAREX relative to existing exoskeletons is its light and wearable 1.55 kg mass and its reconfigurability which can allow for targeted treatment. Using a similar design principle Jin, Cui and Agrawal developed the cable-driven active leg exoskeleton (C-ALEX) for gait rehabilitation [76]. Anthropomimetic Humanoid Robots The anthropomimetic paradigm for robotic construction looks to construct robots that replicate human appearance both externally (as is the case for anthropomorphic manipulators) and internally [74]. This paradigm has been applied to the construction of 25

48 2.3 Practical Implementations of Cable-Driven Parallel Robots Literature Review humanoid robots in order to provide platforms for the study of human motion and to develop robotic systems more suited for human interaction. To use anthropomimetic humanoid robots in the study of human motion Inaba et al. created life-sized MCDRs that replicate the human musculoskeletal structure. The Kenta robot [136] made use of selective laser sintering to construct a prototype humanoid robot with 3 DoF and 4 actuating tendons. This prototype has subsequently redeveloped and extended resulting in the Kotaro [137], Kojiro [135], Kenzoh [141], Kenshiro [14] and Kengoro [93] robots, where the Kengoro robot now possesses 114 DoF and 16 actuators. Additional constructed anthropomimetic humanoid robots include the family of Eccerobots [41,74,124], Anthrob [75] and the Roboy [153]. The Eccerobot is an MCDR which models the torso and upper limbs. This robot was actuated by up to 54 separate cables and made use of 3D printed scale models of the spine, neck and shoulder complexes. The Anthrob is an anthropomimetic upper limb while the Roboy is a complete humanoid robot that is scaled to the parameters of a child. These robots are driven by modular cable based artificial muscle units (myomuscles) [125]. Biomechanics Using the strong parallels between MCDRs and the musculoskeletal system, MCDR analysis techniques have also been applied to gain an understanding of the capability of biological systems [17,18]. Lau et al. applied the static equilibrium condition and a muscle based cable model in order to estimate the operating region of a human shoulder joint and compare that region to known range of motion data [18]. This work was subsequently extended, where the wrench set was used to identify the muscle groups most responsible for maintaining static equilibrium throughout the shoulder workspace [17] Cable-Driven Parallel Robot Software Frameworks Software packages for CDPRs comprise of different physics simulators, analysis programs and online controllers that have been designed specifically for the analysis and operation of different cable driven parallel manipulators. These platforms are typically 26

49 Literature Review 2.4 Manipulator Motion Generation used in the modelling and/or application of the analysis methods of Section 2.2 such that they can be applied onto the platforms discussed in Sections and For the simulation and control of SCDRs, Michelin et al. developed a MATLAB/Simulink interface that made use of the dynamics simulator XDE [133]. This platform provided XDE classes for many common practical elements of CDPRs including cables, winches, mobile platforms and pulleys. The framework was developed primarily for simulating the CoGiRo SCDR. Due to the closed source nature of XDE it is therefore difficult to add other CDPRs such as MCDRs. Considering the simulation of MCDRs, Wittmeier et al. extended the existing bullet physics simulator into the CALIPER framework for the simulation of tendon driven robots [187]. The resulting simulator could simulate tendon models (including Hill type muscles) and can incorporate arbitrary robot models through the use of CAD representations. The design, workspace analysis and motion planning of SCDRs have also been considered using the software packages WireCenter [16] and ARACHNIS [166]. WireCenter is a software platform for the design and motion planning of robots specifically within the IPAnema family of SCDRs. In contrast, the ARACHNIS framework is designed for the workspace analysis of generic SCDRs through the use of the capacity margin metric. Both of these platforms were not designed for algorithm benchmarking and hence provide a single solving algorithm for their analysis. 2.4 Manipulator Motion Generation The manipulator motion generation problem looks to determine trajectories and/or paths that satisfy the desired conditions of a given task. These conditions typically consist of either end point conditions, which define a desired manipulator and/or end effector pose, or trajectory tracking conditions in which a sequence of pose-time pairs is specified. For the study of CDPRs, the manipulator motion generation problem is complicated by the unilateral actuation constraint and its effects on the (typically) non-linear system dynamics. The effect of this constraint is that the methods of motion planning typically need to consider both the kinematics and dynamics within the planning phase. 27

50 2.4 Manipulator Motion Generation Literature Review This section reviews the manipulator motion generation problem with particular focus on possible CDPR solutions. Motion generation under actuation constraints is firstly considered in Section 2.4.1, where the approaches of optimisation based and feasibility based planning are examined. Section reviews positive controllability theory as a viable tool for the theoretical analysis of motion generation. The problem of operational space manipulator motion planning and control is then considered in Section Constrained Motion Generation Constrained motion generation considers the motion planning and/or tracking problem when subject to kinodynamic constraints. Due to the unilateral actuation constraint and the cable dynamics, CDPR motion generation must always consider these constraints. Constrained motion generation methodologies can be broken up into two categories: optimisation based approaches and feasibility based approaches. Optimisation Based Motion Planning Optimisation based methods convert the motion generation problem into the optimisation of a given objective function subject to input and/or state constraints. The use of optimisation, allows motion generators to make extensive use of well established optimisation theory and allows for physically meaningful redundancy resolution (in both the input and trajectory space) through the use of metrics such as the minimum time to trajectory completion [13, 16, 46], minimum input energy and/or minimum tracking error [1,91]. A critical limitation of these methods is the computational time required for solving the potentially non-linear and constrained problems. As a result of the high dimensionality of most manipulators, optimisation based methods are typically only used for determining offline solutions to motion generation problems. Furthermore, as the dimension increases it is possible that the problems can become computationally intractable. For the motion generation of CDPRs a number of optimisation based solvers have been considered. Behzadipour and Khajepour considered the problem of determining an acceleration profile with which to track a given reference path [16] in a time optimal man- 28

51 Literature Review 2.4 Manipulator Motion Generation ner. The method presented, converted the unilateral cable force constraint into velocity and acceleration limits before solving the resulting minimum time optimisation. The time optimal trajectory tracking problem was also considered by Farham, Farid and Khooran [46] and Barnett and Gosselin [13], where the former extended the method to consider additional velocity constraints while the later instead considered paths with G 1 continuity as well as jerk and acceleration limits. Bamdad incorporated time optimality and energy usage through a cost function that considered both terms and a solution method derived from the Pontryagin minimum principle [1]. The planning of paths was considered by Korayem et al. in which energy optimisation was applied through LQR principles in addition to the use of sliding model control techniques to provide robustness [91]. The resulting formulation was applied onto to spatial SCDRs where the dynamic load carrying capacity of the mechanism was found as a result of the obtained path. The method was however limited to SCDRs to preserve its computational tractability. Feasibility Based Motion Planning Feasibility motion planners look to determine a single feasible motion for the given constraints without optimising over the possibly redundant set of solutions. These methods can therefore be considered as search based methodologies. For an appropriately defined searching procedure feasibility based methods are able to ensure that a solution will be found, if it exists, given sufficient computational time and search fidelity. Due to the continuous and high dimensional nature of the manipulator motion generation solution spaces, search based manipulator motion planners require a means of limiting the set of possible solutions. This is typically achieved using either spline based methods in which the possible solutions are limited to a family of functions, or sampling base methods in which the configurations and/or time is discretised. Spline based manipulator motion and/or trajectory planners look to determine a set of coefficients such that a given spline form can be used to connect a starting point to the preferred endpoint (or way point) while satisfying a set of constraints. These methods are typically applied to systems with kinematic constraints, since for such systems, the kinematic and endpoint constraints can be related without the need for the numerical integra- 29

52 2.4 Manipulator Motion Generation Literature Review tion of the possibly non-linear equations of motion. For cable robots, spline based methods have been extensively used in the trajectory planning problem [57, 58, 164, 181, 191]. However, the methods that have been applied are limited to SCDRs and/or polynomial/trigonometric splines due to the non-linear effect of the equation of motion and the unilateral force constraint. Furthermore, the kinodynamic constraints of CDPRs have also limited spline based methods to trajectory planning rather than path planning. In contrast to spline methods, sampling methods reduce the dimensionality of the solution space by discretising the problem such that only a discrete sequence of trajectory points is determined. Discretisation can be achieved over the configuration/state space and time, through the use of grids. However, as a result of the curse of dimensionality, the computational time and memory required by this approach proves to be intractable for most manipulators. An alternative approach that is commonly applied is that of sampling methods. These methods incrementally generate a set of paths over a discretised time domain. Upon the satisfaction of a desired terminating condition, a single path that best achieves the desired manipulator behaviour is extracted from the set and used as the path for the system to follow. Probability distributions are typically used in sampling method to determine which possible solution to grow at any given instant. The use of a probability distribution ensures that if a feasible trajectory exists it will almost surely be identified by the algorithm as the number of increments tends towards infinite (probabilistically complete). A number of different probabilistic sampling methods have been developed for manipulator motion planning. These methods typically differ from one another through the number of motion planning queries that they support for a given solution, the method for growing the possible solution paths and the method for constructing the probability distribution. The probabilistic roadmap (PRM) method is a probabilistic sampling approach designed for multiple queries using a single constructed solution graph [83]. The method consists of two different phases for motion planning: the learning phase and the query phase. In the learning phase, a roadmap of possible trajectories is constructed within the manipulator s state space. This roadmap is then queried (in the query phase) in order to connect a given initial state to a desired final state. The advantage of multiple 3

53 Literature Review 2.4 Manipulator Motion Generation query methods is that the separation of learning and querying enables the same graph to be constructed offline and used repeatedly in online planning. The methods are however limited in the constraints that they can handle, whereby path dependent constraints (non-holonomic constraints) cannot be evaluated in the learning phases, thereby limiting the applicability of PRM for manipulator motion generation. In contrast to the multiple query methods, single query probabilistic sampling methods construct a single solution graph for each motion generation problem to be solved. Two of the more common single query solver frameworks are rapidly-exploring random trees (RRT) [113] and expansive search trees (EST) [71]. In RRT based methods the solution graph is grown at each iteration through the following procedure 1. Randomly sample the state space using a defined probability distribution. This distribution typically balances exploration in unexplored regions with proximity to the new node to grow from. 2. Compute the nearest tree element (node) to the randomly sampled state space variable. This tree node represents the node to grow from. 3. Create a new tree node, which represents a candidate motion generation state, using a defined local growth operation. This new node is typically constrained to lie within a given distance from the current node and is chosen as the target node if this node is reachable given the system constraints. The RRT algorithm has been shown to be extremely computationally efficient in high dimensional systems [114, 172] and has also been extended to consider optimality [79 81, 148]. RRT has also proven well suited to satisfaction of kinodynamic constraints [8, 97, 115]. This is typically achieved by modifying the growth function such that the input force is the search variable for the growth function [115]. RRT however requires a metric with which to compute proximity to the randomly selected sample. The computation of such a metric is unintuitive for many kinodynamic constraints. In contrast to RRT, the EST algorithm instead grows the tree using the procedure of 1. Randomly select a tree node to grow from using a defined probability distribution. 31

54 2.4 Manipulator Motion Generation Literature Review 2. Select a desired intermediate goal state in the proximity to the selected node. 3. Grow the tree towards the intermediate goal using the predefined growth rule. The EST method therefore differs from the RRT algorithm due to its not explicitly requiring the definition of a metric [71]. This feature has resulted in EST algorithms being applied to a range of kinodynamically constrained motion planning problems [71, 72, 156]. A more detailed description of the RRT and EST algorithms necessary for the reading of this thesis is provided in Section Controllability Analysis In control theory, the controllability (reachability) problem looks to determine the set of states for which the system can be brought back to a given desired state (reached from a given initial state) [67]. It can therefore be seen that the controllability problem is highly related to motion generation. Furthermore it can be noted that knowledge of regions for which controllability holds between all states (controllable regions) can aid in identifying the bounds for robust motion or in quantifying the manipulator s capability. Starting with the preliminary work of Kalman [78], controllability of linear time invariant (LTI) systems has been well studied resulting in established necessary and sufficient conditions for the condition to hold [67, 78]. These conditions have subsequently been extended to determine sufficient conditions on local and/or regional controllability for systems with various different forms of non-linear (and possibly time varying) dynamics [169, 176]. Controllability has also been extended to consider the case of constraints on inputs and state dynamics [26, 66, 117]. For the special case of unilateral actuation constraints, controllability subject to nonnegative inputs (positive controllability) has been considered [26]. Positive controllability has been well studied for LTI systems in which different necessary and sufficient conditions have been developed for the continuous [26, 68, 168, 189] and discrete time cases [45]. For non-linear systems, sufficient conditions have also been developed and can be applied for mechanical systems [26,56]. Despite the well developed theoretical tools and the similarities between positive controllability and motion generation analysis of CD- 32

55 Literature Review 2.4 Manipulator Motion Generation PRs, positive controllability has not yet been linked to to CDPR analysis Operational Space Motion Planning and Control The operational space motion generation problem looks to solve the motion generation problem in the space in which the task is defined (operational space), typically defined as the space of the end effector, in place of the space of the manipulator generalised coordinates. Many manipulators are redundant such that the number of generalised coordinates exceeds the number of DoF at the end effector. In this case, operational space motion generation is therefore characterised by the existence of infinite different joint space motions which produce the same operation space motion, in addition to the non-linearity which defines the forward kinematics relationship between the generalised coordinates and the end effector coordinates. Khatib first formalised the operational space control problem in determining the joint space control with which to track a reference end effector behaviour [87]. This method decomposes the joint space control into two components: a task component which uses the operational space equations of motion and a pseudo-inverse to track the desired operational space behaviour and a posture component which operates in the null space in order to achieve any secondary objectives. With the appropriately chosen pseudo-inversion, this approach has been shown to result in a redundancy resolution that is consistent with Gauss principle of least action [28] or a redundancy resolution which decouples dynamics and kinematics [152]. The approach has also been extended to consider whole body motions [88] and state based constraints [5, 51]. In the case of CDPRs, the operational space only differs to the generalised coordinates of the manipulator in the case of MCDRs. De Sapio et al. formulated an extension of the operational space control method for the case of biomechanic applications [38]. This approach considers the quasi-static effect of muscles through an augmented posture torque term in which the cost function is associated with the muscle dynamics. The method has subsequently been shown to accurately model muscle force transmission behaviour in a range of different sporting tasks [38, 39]. As cable can be considered analogous to muscles, the method could also be applied onto MCDRs. The approach does not however 33

56 2.4 Manipulator Motion Generation Literature Review consider the effect of the local decisions on the subsequent behaviour of the mechanism. This means that it is possible for poor or possibly infeasible poses to be reached in the joint space due to the lack of joint space consideration in the control method. The method has subsequently been extended to use the principle of least action in order to take into account future information [37]. The resulting formulation however requires the optimisation of the action integral which may not be computationally tractable depending upon the dimensionality and constraints of the system. The operational space has also been considered for point to point motions using sampling based planners. Bertram et al. made use of an RRT method in which both the goal set and distance metric were defined in the operational space [17]. Extending upon this method, Weghe Ferguson and Srinivasa used the joint-operational space Jacobian to produce motion directly towards the operational space goal [184]. Diankov et al. employed a bidirectional search of the configuration and operational spaces [42]. The configuration space tree started at the initial position and was used to connect the initial pose to the operational space tree which grew from the final operational space pose backwards. Shkolnik and Tedrake extended the conventional RRT algorithm into task space RRT (TSRRT) by sampling directly in the operational space and using metrics defined in that space [172]. The method was found to be efficient in high dimensional configuration spaces, however it could result in undesirable solutions since it did not consider relative joint space distance. To improve the efficiency of the TSRRT method, Lee and Yoon identified productive regions of the operational space and biased the search to those regions [116]. In contrast, Behnisch, Haschke and Gienger extended the EST method to consider the operational space [15]. The method sampled directly in the operational space and grew the tree using a local configuration space motion planner that resulted in the desired operational space behaviour. This method, in addition to the RRT based operational space methods have however neglected to consider kinodynamic constraints. As a result, the methods are unsuited to CDPR motion generation. 34

57 Literature Review 2.5 Conclusion 2.5 Conclusion In this literature review, the current status of CDPR research has been presented. Through the use of cable based transmission, CDPRS have been shown to possess an increased payload to weight ratio, reduced mechanism inertia, potentially larger operating workspace, increased reconfigurability and higher transportability when compared to traditional serial or parallel manipulators. The analysis of CDPRs is however complicated by the effects of the positive force constraint. This has resulted in the development of unique CDPR specific algorithms for common robotic problems including inverse dynamics, forward and/or inverse kinematics, motion control and workspace analysis. Due to their low inertia and reconfigurability CDPRs have found application within a wide range of fields including high speed manipulation, construction, search and rescue and rehabilitation. As a result, CDPR hardware has been developed for different scales of operation, loading conditions and kinematic structures. Despite these apparent hardware platform differences, many CDPR algorithms are known to be flexible such that they can be applied onto most existing platforms. The software support for these robots, however tends to be specialised such that researchers typically have to reinvent the wheel in order to operate on new hardware or to compare new algorithms against the status quo. The development of generic software support would remove such limitations. Many tasks for CDPRs are defined in terms of a desired set of mechanism kinematics. Compared to traditional manipulators, the study of CDPR motion generation is complicated by the kinodynamic constraints of operation. A range of different tools exist for the motion generation of other constrained (and possibly high DoF) systems, where sampling based methods have been observed to be the most computationally efficient methods on average. In the motion generation of MCDRs task specification may also be provided in terms of the end effector (or operational space) coordinates. These tasks can be of a lower dimension, thereby adding an additional of both redundancy and non-linearity. Operational space control techniques are well established for traditional serial and parallel robotic manipulators. Extensions of these techniques exist for other anthropomimetic systems, however the developed techniques do not provide guarantees on trajectory feasibility, nor are they guaranteed to result in computationally tractable solution methods. 35

58 This page is intentionally left (almost) blank.

59 Chapter 3 Background This chapter presents the background information that is assumed throughout the remainder of the thesis. The background will consider the modelling and analysis of CDPRs and a short description of common single query motion planners. Section 3.1 introduces the notations and definitions that are utilised throughout the chapter. The modelling of CDPRs is considered in Section 3.2. Examples of the modelling of CDPRs are presented in Section 3.3. Section 3.4 provides problem statements for a number of common CDPR analysis problems. Common single query motion planning algorithms are presented in Section 3.5. Finally Section 3.6 summarises the chapter. 3.1 Introduction The focus of this thesis is on the generalised operational space motion generation for cable-driven parallel robots (CDPRs). CDPRs represent a class of robot for which the actuation is provided through cable transmission. This class of robot covers a broad set of different kinematic topologies in which the mechanism dimensions, number of rigid links and actuator dynamics can all differ substantially. In order to perform analysis onto CDPRs it is therefore necessary that a generalised model for the CDPR kinematics and dynamics is derived. In deriving such a model it is convenient to represent the coordinates of the system in terms of a number of different coordinate spaces. Each of the coordinate spaces considered within this thesis are defined as follows and are depicted in Figure 3.1 on an example CDPR.: Definition 3.1 (Joint Space). The joint space is the space which captures the kinematics and dynamics of the degrees of freedom (DoFs) of the mechanism s articulation of linkages. For an n degree of freedom robot, all joint space vectors are contained within the set R n. 37

60 3.1 Introduction Background Definition 3.2 (Cable Space). The cable space is the space which captures the cable kinematics and dynamics. For a CDPR with µ cables, cable space vectors are contained within R µ. Definition 3.3 (Operational Space). The operational space is the space which captures the kinematics and dynamics of the end effectors. For a system with η end effector DoFs, all operational space vectors are contained within R η. Definition 3.4 (Body Space). The body space is the space which captures the position and orientation (pose) of each of the rigid links with respect to the 3-dimensional environment. For a system with r rigid links, all body space vectors are contained within R 6r. End Effector Centres of Mass Rigid Links Cables Figure 3.1: An example CDPR. The joint space corresponds to the space of all possible rigid link configurations, the cable space corresponds to the space that describes the cable lengths, the operational space corresponds to the space of end effector poses and the body space corresponds to the space of link centre of mass positions. CDPRs are characterised by the property of unilateral actuation. This results from the actuating cables which can only pull and not push. As a result, common robotic problems such as forward and inverse kinematics, forward and inverse dynamics, control and workspace analysis need to be modified for CDPRs to take account of the unilateral actuation. An additional result of this actuation, is that the operational space motion generation problem is constrained in both its kinematics and dynamics. This problem therefore represents an example of kinodynamically constrained motion planning. 38

61 Background 3.2 Modelling of Cable-Driven Parallel Robots 3.2 Modelling of Cable-Driven Parallel Robots This subsection will derive the generalised kinematic and dynamic models for the class of CDPR depicted in Figure 3.2. Special cases of this model include SCDRs, serial MC- DRs and Branched MCDRs. Section presents the kinematic models including the individual joint and cable models, the cable routing matrix and both the cable-to-joint and joint-to-operational space Jacobian matrices. Section then derives the generalised equations of motions (EoMs) for these mechanisms. The cable routing matrix based method used throughout this section is consistent with the method presented in [111]. Cable ii 2 Cable ii 3 End Effector 1 Link kk 1 Cable 4 Cable 5 Cable 3 Cable ii 1 Link kk 2 Cable ii 4 OO Cable 2 Link 1 Cable 1 Link 2 Link kk 3 Cable ii 5 Cable μμ 2 Link rr Cable μμ 1 Cable μμ End Effector ρρ Figure 3.2: Generalised CDPR model Kinematic Modelling of Generalised Cable Driven Parallel Robots The model depicted in Figure 3.2 consists of n generalised coordinates, µ actuating cables, η operational space DoFs, r rigid links and ρ end effectors. The generalised coordinates of the system are described uniquely by the joint space pose vector q R n. This vector is comprised of the generalised coordinates for each of the r links such that q = [ q1 T qt 2... qr T ] T, where qk represents the generalised coordinates for the n k n DoF kth link. The cable lengths of this robot are given by the cable space vector l = [ l1 l 2... l µ ] R µ, where l i refers to the length of the ith cable. The operational space poses are denoted by the operational space vector y R η. This vector consists of the operational space coordinates for each of the ρ end effectors such that y = y1 T yt 2 [ ] T,... yρ T where y k represents the generalised coordinates for the η k η DoF kth end effector. An alternative description of the r link manipulator can also be obtained using the 39

62 3.2 Modelling of Cable-Driven Parallel Robots Background r + 1 coordinate frames depicted in Figure 3.3. In this figure, frame {F } represents the inertial coordinate frame with respect to the system origin O, while the non-inertial coordinate frames {F k }, k {1,..., r} are fixed to body k with a local origin o k attached to the link centre of mass (CoM) G k. The connection between the link k and its parent link p(k) is the kth joint. This joint is located at the point P k, where P = O. Link kk 1 FF kk1 PP δδ(kk1 ) GG kk2 FF kk2 EE 1 PP 3 PP kk1 GG kk1 PP kk2 Link kk 2 PP 3 OO {FF } {FF 1 } Link 1 GG PP 1 1 GG 2 {FF 2 } Link 2 PP 2 PP kk3 FF kk3 GG kk3 Link kk 3 PP δδ(kk3 ) PP rr Link rr GG rr {FF rr } EE ρρ Figure 3.3: Body space frame locations for the generalised CDPR model The body space coordinate vector x = [ x1 T xt 2... xr T ] T represents the position and orientation of each of the links, where x k R 6 denotes the body space displacement of link k {1,..., r}. The notation k r denotes that the vector r is expressed with respect to the frame {F k } and the notation k 2 k 1 R denotes a rotation matrix that transforms the orientation from frame {F k1 } to frame {F k2 }. The body space velocity (or twist) vector [ for link k can be represented as ẋ k = kṙ ] T, OG T k k ωk T where ṙogk R 3 represents the absolute translational velocity of point G k and ω k R 3 represents the absolute rotational velocity of link k. The body space acceleration vector for link k is similarly represented [ as ẍ k = k r ] T, OG T k k ω k T where rogk represents the absolute translational acceleration of point G k and ω k represents the absolute rotational acceleration of link k. Joint Kinematic Model A CDPR joint represents the connection between two different links, where Figure 3.4 depicts two example joints. It can be seen that the relative pose of link k with respect to its parent link p(k), denoted as x k,p(k) R 6, differs based upon the different joint types. This body space vector, however, can always be obtained from the link generalised 4

63 Background 3.2 Modelling of Cable-Driven Parallel Robots coordinates q k using the function s k : R n k R 6, where x k,p(k) = s k (q k ), k {1,..., r}. (3.1) OO Link kk Joint kk Link pp(kk) qq kk xx kk,pp kk = γγ OO Link kk oo kk Joint kk xx kk,pp kk = qq kk = xx yy zz αα ββ γγ (a) Example Revolute Joint (b) Example Spatial Joint Figure 3.4: Example joints for the generalised CDPR model The relative velocity vector of link k with respect to link p(k), denoted x k,p(k), can be derived by differentiating (3.1). This results in x k,p(k) = [ p(k) r P p(k) P k k ω k,p(k) ] = S k q k, (3.2) where S k = s k R 6 n k and r P p(k) P k, ω k,p(k) R 3 are the relative translational and rotational velocities of link k with respect to p(k), respectively. The matrix valued function S k therefore relates the velocities of the link s generalised coordinates to its relative body space velocity. S k differs based upon the joint type and is reflective of the constraints imparted by that joint. For example, in the case of a revolute joint (Figure 3.4(a)) that rotates about the z axis, the constraints limit the generalised velocity to only be rotational about z such that S krev,z = [ 1] T. Additionally, in the case of a 6 DoF spatial body (Figure 3.4(b)), no constraint is placed onto the body motion. Choosing the XYZ-Euler angle convention such that q = [x y z α β γ] T, the 41

64 3.2 Modelling of Cable-Driven Parallel Robots Background resulting matrix S kspatial for the joint to body space expression (3.2) is given by 1 1 S kspatial = 1 c(β)c(γ) c(β)s(γ) s(β) s(γ) c(γ) 1 T. (3.3) Cable Kinematic Model Figure 3.5 depicts an example CDPR cable. It can be seen that in the case of cables free of wrapping and sagging, the cable length vector l can be expressed strictly as a function of the pose q through the function λ : R n R µ, such that l = λ(q). (3.4) Furthermore, each cable can be comprised of multiple segments in which l i,j refers to the length of segment j of cable i. The cable segment vector l i,j R 3 defines the body space displacement vector for segment j of cable i. Denoting the segment s attachment links as k 1 and k 2 {1,..., r}, where the segment goes from link k 1 to link k 2, the cable segment vector is given by l i,j (q) = r OAi,j,k2 (q) r OAi,j,k1 (q), (3.5) where r OAi,j,k R 3 refers to the attachment of segment j of cable i onto link k. The attachment vector r OAi,j,k is a function of q and can be expressed in the form r OAi,j,k (q) = r Ook (q) + r ok A i,j,k, (3.6) where for fixed cable attachments the vector r ok A i,j,k R 3 is constant in frame {F k }. The total length of cable i can be determined using (3.5) and (3.6), by summing the Wrapping, sagging and stiffness can be considered with the formulation presented in this Chapter. However, for these models the cable deformation needs to be considered when determining the cable vector (and resulting cable-to-joint Jacobian matrix). Additionally, these higher fidelity models also introduce state dependence into the actuation constraints. 42

65 Background 3.2 Modelling of Cable-Driven Parallel Robots Link pp(kk) Link kk oo kk AA ii,2,kk ll ii,2 AA ii,1,pp kk = AA ii,2,pp kk OO Cable ii ll ii,1 AA ii,1, Figure 3.5: Example cable for the generalised CDPR model length of each of its segments. This means that the individual cable length l i is given by l i (q) = s i l i,j (q), (3.7) j=1 where s i denotes the number of segments of cable i and denotes the Euclidean norm. Dependency Matrix To consider branched mechanisms, the dependency matrix D R r r is defined to denote if link j is dependent on the motion of link i. As a result, D is an upper triangular matrix that can be expressed as d 1,1 d 1,2... d 1,r d D = 2,2... d 2,r......, (3.8)... d r,r where d i,j = 1 when link j is dependent on q i and d i,j = otherwise. Cable Routing Matrix The cable routing matrix (CRM) encodes the cable routing information for each of the CDPR s cables in a manner similar to the dependency matrix D. Denoting T = { 1,, 1} and s = max i (s i ), the CRM C T µ s (r+1) is a tensor that considers the cables, segments and links as separate dimensions. The slices of the CRM are given by the matrices C i 43

66 3.2 Modelling of Cable-Driven Parallel Robots Background T s (r+1), where each C i represents the cable routing of cable i and can be expressed as c i,1,1 c i,1,2... c i,1,(r+1) C i = (3.9) c i,s,1 c i,s,2... c i,s,(r+1) The CRM element c i,j,(k+1) describes the cable routing relationship between segment j of cable i and link k and has the following physical interpretation: c i,j,(k+1) = 1 denotes that segment j of cable i begins from link k, c i,j,(k+1) = 1 denotes that segment j of cable i ends at link k, c i,j,(k+1) = denotes that segment j of cable i is not connected to link k. Cable-to-Joint Jacobian Matrix The cable-to-joint Jacobian matrix L R µ n represents the linear mapping between the derivatives of the cable space and joint space variables such that l = λ(q) q = L q. This matrix can be derived in two parts using the expression L = VW, where V R µ 6r is the Jacobian matrix which maps the cable space and body space velocities such that l = Vẋ and W R 6r n is the Jacobian matrix which relates the body space and generalised velocities such that ẋ = W q and ẋ is the body space velocity ẋ = [ẋ 1... ẋ 2 ] T. Using the derivation provided in Appendix A.1, the Jacobian matrix V is given by V 1,x1 V 1,θ V 1,xr V 1,θr V = , (3.1) V µ,x1 V µ,θ V µ,xr V µ,θr where the block components are given by V i,xk = ( si ] [c ) T ( si i,j,(k+1) kˆl i,j, V i,θk = [c k i,j,(k+1) r Gk A i,j,k kˆl ] ) T i,j j 1 j 1 (3.11) 44

67 Background 3.2 Modelling of Cable-Driven Parallel Robots and ˆl i,j denotes the unit vector ˆl i,j = A.2, the Jacobian matrix W is given by where the block components are given by W i,k = l i,j. Similarly, using the derivation of Appendix l i,j W 1,1 6 n nr W 1,2 W 2, nr W =....., (3.12). W 1,r W 2,r... W r,r [ W T i,x k W T i,θ k ] T with W i,xk = d i,k [k p(i) R k a R [i r Pi G k ] ] S i and W i,θk = d i,k [ 3 3 k i R ] S i. As a result of the definitions (3.1) and (3.12) as well as the expression L = VW, the cable-to-joint Jacobian matrix L can finally be expressed L 1,1 L 1,2... L 1,r L =......, (3.13) L µ,1 L µ,2... L µ,r where the block components of (3.13) are given by L i,a = r k=a [V i,x k W a,xk + V i,θk W a,θk ]. Operational Space-to-Joint Jacobian Matrix The operational space vector y can be expressed using the function j : R n R η, where y = j(q). (3.14) The joint-to-operational space matrix J R η n is then determined by taking the derivative of (3.14). This means that the Jacobian matrix J maps the generalised velocity of the CDPR into the operational space velocities. Since the operational space vector y is representative of the pose of the end effectors with respect to their unconstrained DoFs, the operational space velocity of kth end effector is given by ẏ k = T k e(k) a=1 d a,k ) (e(k)ṙ Pp(a) P a + e(k) ṙ Pe(k) E k, (3.15) a R a ω a,p(a) e(k) a=1 d e(k) a,k 45

68 3.2 Modelling of Cable-Driven Parallel Robots Background where T k R ηk 6 represents the projection matrix of the end effector body space velocities, e : {1,..., ρ} {1,..., r} denotes the link for which the kth end effector is attached and E k is the point of the end effector. Noting that the absolute time derivative of a vector in a non-inertial frame is k ṙ is given by kṙ = k r + k ω k k r, (3.16) it can be seen that ẏ k = T k e(k) a=1 d a,k [[ e(k) e(k) a R [ a r Pa E k ] p(a) R e(k) 3 3 a R ] S a q a ] = k J a,k q a. (3.17) a=1 The joint-to-operational space Jacobian matrix J can then be computed from (3.17), where J 1,1 J 2,1... J r,1 J 1,2 J 2,2... J r,2 J = (3.18) J 1,ρ J 2,ρ... J r,ρ Body Space Acceleration The body space acceleration of link k, denoted ẍ k, represents the acceleration acting on the 3D body space. As a result, the body space acceleration is comprised of the linear acceleration r OGk, in addition to the angular acceleration ω k. Through application of the derivative expression (3.16) onto the translational and rotational velocities ṙ OGk and ω k, respectively, Appendix A.3 derives expressions for the system body acceleration ẍ = ẍ = [ẍt 1,... ẍr T ] T in terms of the joint space kinematic terms q, q and q. This results in ẍ = W(q) q + Q(q)Ṡ(q, q) q + Q(q)X(q, q)s(q) q + b(q, q), (3.19) [ ] k where Q R 6r 6r is the block matrix composed of Q a,k = d p(a) R k ar [ a r Pa G k ] a,k, k 3 3 a R [ p(k) k x r ] P k,p(k) = p(k)p k k ω k,p(k) = S k q k + Ṡ k q k for a k r, S = diag(s 1, S 2,..., S r ), X = diag(x 1, X 2,..., X r ) and b = [ ] T. b1 T b2 T... br T The component terms Xk and b k are 46

69 Background 3.2 Modelling of Cable-Driven Parallel Robots given respectively by [p(k) ] X k = 2 ω p(k) 3 3 [ k ] (3.2) 3 3 ω k and b k = [ k k ω p(a) a=1 (k )] ω p(a) k r Pp(a) P a 3 1 [ k + ω k (k ω k k )] r Pk G k. (3.21) 3 1 Generalised Kinematic Cable Driven Parallel Robot Model Using the preceding analysis, it can be seen that a generalised kinematic model of a CDPR of the class shown in Figure 3.2 consists of the individual joint mappings (3.1) and (3.2), the cable length mappings (3.4), the operational space mappings (3.14), the Jacobian matrices S, V, W, L and J and the body space acceleration (3.19). A unique specification of this model can be provided using three sets: the joint kinematic specification set J kin, the cable specification set C and the end effector specification set E. The joint kinematic specification set consists of the set of all joint kinematic mappings S = {s k, S k : k {1,..., r}}, where s k and S k are as defined in (3.1) and (3.2), respectively, { } the set of all link connection vectors R P = p(k) r Pp(k) P k : k {1,..., r}, the set of all link CoM vectors R G = { k r Pk G k : k {1,..., r} } and the dependency matrix D such that J kin = {S, R P, R G, D}. (3.22) The cable specification set consists of the set of all cable attachments R A = { } k r ok A i,j,k : i {1,..., µ}, j {1,..., s i }, k {,..., r}, where the cable attachment vectors are defined as in (3.6), and the cable routing matrix C, given as in (3.9), such that C = {R A, C}. (3.23) Finally, the end effector specification set consists of the set of all projection matrices defined in (3.14), such that T = {T k : k {1,..., ρ}}, the set of all end effector locations R E = { k r Pk E k : k {1,..., ρ} } and the set of all end effector mappings Ē = {e(k) : k {1,..., ρ}} 47

70 3.2 Modelling of Cable-Driven Parallel Robots Background such that E = { T, R E, Ē }. (3.24) Dynamic Modelling of Generalised Cable Driven Parallel Robots This subsection derives the generalised equations of motion for the class of CDPRs considered in Figure 3.2 with the frame definitions given in Figure 3.3. The forces acting on this system can be described by the generalised joint space wrench w R n, the cable space cable force vector f R µ and the operational space force vector τ R η. The Newton-Euler approach is utilised in deriving the EoMs, where Newton s second law of motion on body k in frame {F k } is given by m k r OGk = F k, I kgk ω k + ω k ( I kgk ω k ) = M Gk. (3.25) The terms m k and I kgk correspond to the mass of link k and the inertia tensor of link k about G k, respectively. The sum of forces acting on link k is given by F k and the sum of the moments acting about G k is given by M Gk. Forces and Moments in the Body Space The free body diagram of the forces and moments acting on link k of the generalised CDPR is shown in Figure 3.6. It can be seen from this free body diagram that the wrenches (forces and moments) acting on the link consist of interactions wrenches, gravity force, external wrenches and the wrenches resulting from the cable transmission. The forces and moments acting on link k can therefore be expressed as F k = m k g + F Pk F Pδ(k) + F Lk + F extk, M Gk = r Gk P k F Pk r Gk P δ(k) F Pδ(k) + M Pk M Pδ(k) + M Lk + M extk, (3.26) where F Pk, M Pk R 3 represents the interaction force and moments between links k and p(k), δ(k) represents a child link of link k, F Lk, M Lk R 3 represent the force and moments 48

71 Background 3.2 Modelling of Cable-Driven Parallel Robots resulting from the cable transmission and F extk, M extk and moments. R 3 represent the external forces ff ii1 jj 1 FF eeeeeekk Cable ii 1 segment jj 1 Link k FF PPδδ kk MM PPkk oo kk MM PPδδ kk FF PPkk FF kk mm kk gg ff ii2 jj 2 Cable ii 2 segment jj 2 Figure 3.6: Free body diagram for link k of a CDPR showing the forces and moments acting on the link The cable forces that act on link k are those produced by cables that are connected to that link. The forces and moments produced by cable i are therefore given by s F Li,k = c i,j,(k+1) f i,j, j=1 s ( ) M Li,k = c i,j,(k+1) r Gk A i,j,k f i,j, (3.27) j=1 where f i,j is the cable force vector produced by segment j of cable i and c i,j,(k+1) refers to an element of the CRM as defined in (3.9). This force vector can be expressed in terms of the cable segment unit vector ˆl ij as f i,j = ˆl i,j f i, (3.28) where the CRM element c i,j,(k+1) acts to ensure that only cables that are connected to link k are considered and that (3.28) always results in tension force. Substituting the cable force expression (3.28) into (3.27) allows the wrench resulting from the cable forces to be expressed in terms of the Jacobian V such that F Li,k = V T i,x k f i, M Li,k = V T i,θ k f i, (3.29) 49

72 3.2 Modelling of Cable-Driven Parallel Robots Background where V is as defined in (3.1). Using (3.29), the total force can be determined as F Lk = M Lk = m i=1 m i=1 V T i,x k f i, V T i,θ k f i. (3.3) As a result of (3.3), the combined cable wrench W T can be expressed as W L (q) = [ F T T 1 M T T 1... F T T r M T T 1 ] T = V(q) T f. (3.31) Generalised Equations of Motions Using Newton s second law (3.25) and the single link net wrench (3.26), the generalised EoM can be determined by propagating the interaction forces and moments from the outermost link to the innermost link and by projecting the resulting body space EoM into the joint space. From this approach, the generalised CDPR EoM is found to be given by M(q) q + C(q, q) + G(q) + w ext = L(q) T f, (3.32) where the terms M R n n, G, C, w ext R n, corresponds to the generalised inertia matrix, Coriolis/centrifugal wrench vector, gravitational wrench and external wrench vector, respectively. The terms M, C, G and w ext can be expressed as M(q) = W(q) T M B W(q), C(q, q) = W(q) T M B P(q) ( Ṡ(q, q) + X(q, q)s(q) ) q + W(q) T c(q, q), G(q) = W(q) T W G, w ext (q) = W(q) T W ext, (3.33) where M B = diag(m 1 I, I 1G1,..., m r I, I rgr ), W G = [ m 1 g T T m r g T T] T is the body space gravitational wrench, W ext = [ F T ext 1 M T ext F T ext r M T ext r ] T is the 5

73 Background 3.3 Modelling of Example Manipulators external wrench and c = [ c T 1... ct k c k = m k [ k k ω p(a) a=1 ] T with components given by (k )] ω p(a) k r Pp(a) P a [ mk k ω k (k ω k k )] r Pk G k k ω k ( I k ). (3.34) kgk ω k The EoM (3.32) corresponds to a generalised model of the dynamics for the class of CDPR shown in Figure 3.2. This model can be described using the cable specification set C, the end effector specification set E and the joint dynamics specification set J dyn = {J kin, M B }. (3.35) A more detailed derivation of this EoM can be found in Appendix A Modelling of Example Manipulators The generalised models of CDPRs of the form shown in Figure 3.2 can be constructed provided that the sets J dyn, C and E are provided. In this section, the methodology of Section 3.2 will be used in order to generate models for two example CDPRs that will be used within the thesis. First, the model of a 6-DoF spatial SCDR will be derived. Second, multi-link CDPR modelling will be investigated using a two-link anthropomorphic robot arm that consists of a ball joint connected to a revolute joint Modelling of a Single-Link Spatial Cable Driven Robot The spatial SCDR, depicted in Figure 3.7, represents one of the most commonly studied CDPRs with a range of applications including construction [4], high speed manipulation [84,16] and motion simulation [121,134]. This manipulator possesses 6 DoFs, where the mechanisms pose can be described by the vector q = [x y z α β γ] T, which consists of the translations of the manipulator s centre of mass r OG1 = [x y z] T and the orientation terms α, β and γ, which denote the xyz-euler angles of the joint, respectively. The CDPR is actuated by 8 cables and hence it is redundantly restrained. Since the mechanism consists of a single rigid link, body space vectors can be de- 51

74 3.3 Modelling of Example Manipulators Background AA 1,1, AA 4,1, AA 2,1, AA 3,1, AA 2,1,1 AA 6,1,1 AA 1,1,1 GG 1 AA 4,1,1 AA 3,1,1 AA 8,1,1 AA 7,1,1 AA 5,1, OO AA 8,1, FF FF 1 oo 1 AA 6,1, AA 7,1, Figure 3.7: The 6 DoF spatial CDPR showing the coordinate frames, attachment locations and centre of gravity scribed in terms of either the inertial base frame {F } or the non-inertial link frame {F 1 }. The mapping from {F 1 } to {F } is given by the rotation matrix [ ] c β c γ c β s γ s β 1 R(q) = c β s γ + s α s β c γ c β c γ s α s β s γ s α c β. (3.36) s β s γ c α s β c γ s β c γ + c α s β s γ c α c β Additionally, since the CDPR possesses a single rigid link, the operational space vector is given by the absolute body space vector expressed in terms of Frame {F } such that y = [ r OG1 θ ] = x = q, (3.37) where θ = [α β γ] T. Using Figure 3.7 and the defined coordinate spaces, the CDPR specification sets J kin, J dyn, C and E can be identified for this CDPR. First, noting the kinematic specification set definition (3.22), the joint-to-body space relationship (3.37), the single-link nature of the CDPR, the dependency matrix definition (3.8) and the fact that the centre of gravity is located at the origin of the frame {F 1 }, the joint kinematic specification set is given by J kin = { {q, S spatial }, {}, {}, 1 }, (3.38) where S spatial is given by (3.3). Letting the mass and inertia of the single link be given by 52

75 Background 3.3 Modelling of Example Manipulators m = m 1 and I G = I 1G1, the joint dynamic specification set can also be determined as J dyn = { [ ]} m1 I J kin, I. (3.39) 1G1 Second, it is noted that for cable i the attachments go from the base attachment location r OAi,1, to the end effector attachment location r OAi,1,1, where r OAi,1, is constant in Frame {F } and r ok A i,1,1 is constant in Frame {F 1 }. Using the CRM definition (3.9), the individual CRM cable matrices for each i {1,..., 8} for this mechanism is therefore given by C spatiali = [ 1 1], (3.4) As a result the cable specification set, as defined in (3.23), can be expressed as C = {{ k r ok A i,1,k : i {1,..., 8}, k {, 1} }, C spatial }. (3.41) Finally, using the end effector specification set definition (3.24), the joint-to-operational space relationship (3.37) and the fact that r P1 E 1 =, the end effector specification set for this robot is given by E = {I 6 6, {}, {}}. (3.42) Cable Model Assuming that the cables in this model are ideal, the model for the ith cable vector l i as a function of the joint space pose vector q is given by (3.5). Using the CRM and attachment set as defined in (3.41), the ith cable vector can be expressed as 1 l i = 1 r OAi,1,1 1 R(q) r OAi,1,. (3.43) The cable length vector l can then be computed by using (3.43) for all i {1,..., µ} where the ith element is given by l i = 1 l i. 53

76 3.3 Modelling of Example Manipulators Background Cable-to-Joint Jacobian Matrix The cable-to-joint Jacobian matrix L spatial can be computed using the expression L = VW. In this case since the mechanism consists of a single rigid link W = S spatial. The Jacobian matrix V spatial can then be computed as defined in (3.11) and (3.1). As a result ˆl T 1 ˆl 2 T V spatial =. ˆl T 8 ( 1 r G1 A 1,1,1 ˆl 1 T ( 1 r G1 A 2,1,1 ˆl 2 T. ( 1 r G1 A 8,1,1 ˆl 8 T ) T ) T ) T, (3.44) where the vector 1 r G1 A i,1,1 = 1 r o1 A i,1,1 for the spatial CDPR and ˆl i corresponds to the unit vector equivalent of (3.43). The matrix L spatial is therefore given by L spatial = V spatial S spatial. Operational Space-to-Joint Jacobian Matrix As a result of (3.37), it can be seen that the spatial CDPR operational space and joint space are equivalent such that J = I 6 6. Equation of Motion The dynamics of the manipulator can be modelled using the Newton-Euler approach presented in Appendix A.4. The EoMs are then determined in the form (3.32), where using the specification sets (3.38), (3.39), (3.41) and (3.42) as well as the definitions given by (3.33), the terms M, C and G are given by m 1 c β c γ m 1 (c α s γ + s α s β c γ ) m 1 (s α s γ c α s β c γ ) m 1 c β s γ m 1 (c α c γ s α s β s γ ) m 1 (c α c γ + c α s β s γ ) M(q) = S(q) T m 1 s β m 1 s α c β m 1 c α c β I 1G1x c β c γ I 1G1x s γ, I 1G1y c β s γ I 1G1y c γ I 1G1z s β I 1G1z 54

77 Background 3.3 Modelling of Example Manipulators C(q, q) = S(q) T ( ) [ ] I Ox ( α βs β c γ α γc β s γ + β γc γ + S(q) T ) ω 1 (I O ω 1 ), I Oy α βs β s γ α γc β c γ β γs γ I Oz α βc β [ ] G(q) = S(q) T 1 R(q)m 1 g. (3.45) Modelling of a Two-Link Anthropomorphic Cable Driven Robot Arm The two link four DoF CDPR, as shown in Figure 3.8, represents a multi-link CDPR for which the links form a common upper-limb anthropomorphic robotic topology. As shown in Figure 3.8, the first link of this robot is constrained to the base position O by a spherical joint while the second link is constrained to link 1 at the point P 2 by a revolute joint. The pose of the manipulator is represented by the joint space vector q = [ q T 1 qt 2 ] T, where q 1 and q 2 denote the generalised coordinates of links 1 and 2, respectively. The pose vector q 1 R 3 is given by where α, β and γ denote the XYZ-Euler angles of the spherical joint, while q 2 R represents the angle θ of the revolute joint such that q 2 = [θ]. AA 5,1, AA 2,1, AA 3,1, FF 1 FF OO EE 1 AA 5,1,2 FF 2 GG 2 AA 2,1,1 GG 1 AA AA 4,1, 4,1,1 AA 1,1, AA 6,1,2 PP 2 Figure 3.8: The 4 DoF 2 link CDPR showing the coordinate frames, attachment locations and centre of gravity As a two link manipulator, the mechanism s body space pose can be described by the three coordinate Frames {F }, {F 1 } and {F 2 }. The Frame {F } represents an inertial frame attached to the base of the CDPR and the Frames {F 1 } and {F 2 } are non-inertial 55

78 3.3 Modelling of Example Manipulators Background frames attached to links 1 and 2, respectively. Body space vectors in Frames are related to one another through the rotational matrices 1 R(q 1) = 1 2 R(q 2) = [ c β c γ c β s γ s β c α s γ + s α s β c γ c α c γ s α s β s γ s α c β s α s γ c α s β c γ s α c γ + c α s β s γ c α c β [ ] 1 c θ s θ s θ c θ. (3.46) The manipulator topology is that of a serial manipulator. As a result, the dependency ], matrix D anth R 2 2 is given by D anth = [ ] (3.47) The spherical joint possesses the relative pose relationship x 1, = [ q1 ], (3.48) such that S 1 (q 1 ) = [ ] cβ c γ s γ c β s γ c γ. (3.49) s β 1 In contrast, the revolute joint possesses the relative body space pose relationship x 2,1T = [ q 2 ] T, (3.5) such that S 2 (q 2 ) = [ 1 ] T. (3.51) This means that the joint kinematic mapping set for this anthropomorphic robot S anth is given by ([ ] ) q1 S anth =, S 1, q 2, S 2 (3.52) and as a result, the mechanism possesses the joint specification sets } J kin = {S anth, {, 1 r P1 P 2 }, { 1 r P1 G 1, 2 r P2 G 2 }, D anth (3.53) 56

79 Background 3.3 Modelling of Example Manipulators and J dyn = {J kin, diag (m 1 I 3 3, I 1G1, m 2 I 3 3, I 2G2 )}, (3.54) where the link masses are given by m 1 and m 2, respectively and the link inertias are given by I 1G1 and I 2G2, respectively. The CDPR is actuated by 6 cables. Each cable consists of a single segment that is anchored to the base link. For i {1,... 4} the segment connects to link 1, whereas for i {5, 6} the segment connects to link 2. As a result, the CRM matrices are given by [ ] 1 1 C anthi = [ ] 1 1 i {1,..., 4}, (3.55) i {5, 6} such that the cable specification set is given by i {1,..., 4}, k {, 1} C = k r ok A i,1,k : i {5, 6}, k {, 2}, C anth. (3.56) The end effector of this manipulator is located at the point E 1 which is fixed to link 2. Considering only the position (and not orientation), the end effector therefore possesses the projection matrix T anth = [ ] I , (3.57) 3 3 such that the end effector specification set is given by E = { T anth, { 2 r P2 E 1 }, {2} }. (3.58) Cable Model Using the cable specification set (3.56), the ith cable vector can be expressed as 1 l i = 1 r OAi,1,1 1 R(q 1) r OAi,1,, (3.59) 57

80 3.3 Modelling of Example Manipulators Background when i {1,..., 4} and when i {5, 6} it is given by 2 l i = 2 r OAi,1,2 2 R(q) r OAi,1,. (3.6) Cable-to-Joint Jacobian Matrix The Jacobian matrix L anth can be computed using the expression L = VW. Using (3.11) and (3.1) the matrix V which relates l to ẋ is given by ˆl T 1 ( 1 r G1 A 1,1,1 ˆl 1 ) T T T ˆl 2 T ˆl V anth = 3 T ˆl 4 T T T ˆl 5 T T T ˆl 6 T ( 1 r G1 A 2,1,1 ˆl 2 ) T T T ( 1 r G1 A 3,1,1 ˆl 3 ) T T T ( 1 r G1 A 4,1,1 ˆl 4 ) T T T. (3.61) ( ) T 2 r G2 A 5,1,2 ˆl 5 ( ) T 2 r G2 A 6,1,2 ˆl 6 Additionally using (3.12) and the joint kinematic specification set (3.53), the matrix W anth R 12 4 is given by [ 1 R [ 1 ] ] r P1 G 1 S W anth = 3 3 I [ R 2 1 R [ 1 ] ] [ r 21 P1 G 2 2 S R [ 2 ] ] r P2 G R 3 3 I 3 3 S 2. (3.62) Operational Space-to-Joint Jacobian Matrix Using the end effector specification set (3.58) and the operational space-to-joint Jacobian matrix definition (3.18) the operational space matrix J anth is given by [ 2 J anth = [T R 2 1 R [ 1 ] ] [ r 21 P1 E 1 anth 2 S 1 T R [ 2 ] ] ] r P2 E anth 1 S R 3 3 I 2. (3.63)

81 Background 3.4 Cable-Driven Parallel Robot Analysis Equation of Motion Using the Newton-Euler form, the equations of motion for the 4 DoF 2 link manipulator can be determined as m 1 r OG1 = F 1, I 1G1 ω 1 + ω 1 (I 1G1 ω 1 ) = M 1, m 2 r OG2 = F 2, I 2G2 ω 2 + ω 2 (I 2G2 ω 2 ) = M 2. (3.64) Using the body space acceleration (3.19), the net wrench expansion (3.26) and the methodology of Appendix A.4, the final EoM for this system can be determined using the projection matrix Santh T = diag(st 1, ST 2 ) such that M anth (q) q + C anth (q, q) + G anth (q) = L anth (q) T f, (3.65) where the terms M anth, C anth and G anth can be determined by substituting the joint dynamic specification set parameters (3.54) into (3.33). 3.4 Cable-Driven Parallel Robot Analysis This section defines the problem statements for common CDPR analysis problems and where necessary provides further background into the techniques used in solving those problems. Section considers the forward and inverse kinematics problems. The forward and inverse dynamics of CDPRs is presented in Section The motion control of CDPRs is presented in Section Finally, Section provides a description of workspace analysis and reviews existing workspace conditions and metrics that will be used throughout the thesis. 59

82 3.4 Cable-Driven Parallel Robot Analysis Background Kinematics The kinematics analysis of CDPRs looks to relate the kinematic variables of the cable, joint and operational spaces to one another. In this thesis four different kinematics problems are considered: joint-cable forward kinematics (CFK), joint-cable inverse kinematics (CIK), joint-operational space forward kinematics (OFK) and joint-operational space inverse kinematics (OIK). The problem statements associated with each of theses problems is listed below. All variables are consistent with the definitions provided in Section 3.2. Problem Statement 3.1: Joint-Cable Forward Kinematics (CFK) Given: the joint kinematic specification set J kin, the cable kinematic specification set C, the initial mechanism configuration q R n and a trajectory of cable lengths l( ) : [t, t f ] R µ, where t, t f R, Determine: the corresponding joint space trajectory q( ) : [t, t f ] R n. Problem Statement 3.2: Joint-Cable Inverse Kinematics (CIK) Given: the joint kinematic specification set J kin, the cable kinematic specification set C and a joint space trajectory q( ) : [t, t f ] R n, where t, t f R, Determine: the corresponding cable space trajectory l( ) : [t, t f ] R µ. Problem Statement 3.3: Joint-Operational Space Forward Kinematics (OFK) Given: the joint kinematic specification set J kin, the end effector specification set E and a joint space trajectory q( ) : [t, t f ] R n, where t, t f R, Determine: the corresponding operational space trajectory y( ) : [t, t f ] R η. Problem Statement 3.4: Joint-Operational Space Inverse Kinematics (OIK) Given: the joint kinematic specification set J kin, the end effector specification set E, an initial joint space configuration q R n and an operational space trajectory y( ) : [t, t f ] R η, where t, t f R, Determine: the corresponding joint space trajectory q( ) : [t, t f ] R n. It can be observed that the CFK and OIK problems (Problem Statements 3.1 and 3.4) both make use of an initial configuration which is not used for the CIK and OFK problems (Problem Statements 3.2 and 3.3). This is because both the CFK and OIK problems may not possess unique solutions without consideration of continuity of the joint space 6

83 Background 3.4 Cable-Driven Parallel Robot Analysis trajectory. In contrast the CIK and OFK problems make use of the functions (3.4) and (3.14) which uniquely map the joint space pose into the relevant kinematic vector Dynamics The dynamics analysis of CDPRs looks to relate the cable forces f R µ with the joint space kinematics q, q, q R n. Two problems are typically considered: forward dynamics (FD) and inverse dynamics (ID). A description of these problems is provided below: Problem Statement 3.5: Forward Dynamics (FD) Given: the joint dynamics specification set J dyn, the cable specification set C, the initial joint space pose and velocity q, q R n and a cable force trajectory f( ) : [t, t f ] R µ, where t, t f R, Determine: the resulting joint space kinematics q( ) : [t, t f ] R n, q( ) : [t, t f ] R n and q( ) : [t, t f ] R n. Problem Statement 3.6: Inverse Dynamics (ID) Given: the joint dynamics specification set J dyn, the cable specification set C and joint space kinematic trajectories q( ) : [t, t f ] R n, q( ) : [t, t f ] R n, q( ) : [t, t f ] R n, where t, t f R, Determine: the corresponding cable force trajectory f( ) : [t, t f ] R µ. It can be observed that solving the FD problem (Problem Statement 3.5) is equivalent to integrating the non-linear EoM (3.32). In contrast, the ID problem (Problem Statement 3.5) looks to solve the linear system which results from (3.32), when the joint kinematics are known. As a result, the ID problem can be solved independently at each instant in time whereas the FD problem is dependent on the entire trajectory of cable forces Motion Control CDPR motion control looks to determine cable forces with which to track a desired reference joint space trajectory. The problem statement for this problem is as follows: Problem Statement 3.7: CDPR Motion Control Given: an approximate joint dynamics specification set J dyn, an approximate cable spec- 61

84 3.4 Cable-Driven Parallel Robot Analysis Background ification set C, an allowable tracking error ɛ and a reference set of joint space kinematic trajectories q re f ( ) : [t, t f ] R n, q re f ( ) : [t, t f ] R n, q re f ( ) : [t, t f ] R n, where t, t f R, Determine: a cable force trajectory f( ) : [t, t f ] R µ such that the resulting joint space trajectory q( ) : [t, t f ] R n satisfies max t [t,t f ] q q re f ɛ. The motion control problem (Problem Statement 3.7) corresponds to the inverse dynamics problem (Problem Statement 3.6) when no disturbances act on the system and the model is completely accurate. The inverse dynamics problem can therefore be considered as the open loop equivalent of the motion control problem Workspace Analysis CDPR workspace analysis looks to both identify the allowable operating region for a CDPR and to quantify the capability of the CDPR throughout that region. As a result, workspace analysis typically considers two problems: workspace generation and workspace quantification. The problem statement for these problems is written below: Problem Statement 3.8: Workspace Generation Given: the joint dynamics specification set J dyn, the cable specification set C, the set of all possible joint space poses (configuration set) Q R n and a workspace condition φ : R n {, 1}, Determine: the workspace Q φ = {q Q : φ(q) = 1}. (3.66) Problem Statement 3.9: Workspace Quantification Given: the joint dynamics specification set J dyn, the cable specification set C, the workspace Q φ Q and a workspace metric ψ : R n I, where I R, Determine: the workspace quantification Q ψ φ = { (q, x) Q φ I : q Q φ s.t. (q, x) = (q, ψ(q)) }. (3.67) 62

85 Background 3.4 Cable-Driven Parallel Robot Analysis It can be seen that different workspaces and workspace quantifications can be constructed using different workspace conditions and metrics. A brief summary of the conditions and metrics that will be used within this thesis are listed below. Workspace Conditions A workspace condition is a boolean condition φ : R n {, 1} that is used for the construction of a workspace. The different workspace conditions are reflective of different necessary and/or sufficient conditions for the operation of a CDPR. In this thesis three wrench based workspace conditions will be used: the wrench feasibility condition (WFC), the static equilibrium condition (SEC) and the wrench closure condition (WCC). Each of these conditions can be defined for a given q R n using the set of all possible wrenches (available wrench set) W(q) = { } w R n : f f f s.t. w = L(q) T f. (3.68) The definitions that follow define the WFC, SEC and WCC. Definition 3.5 (Wrench Feasibility Condition). Given a set of desired wrenches W des R n, the wrench feasibility condition φ WFC : R n {, 1} is defined as the condition 1 if W des W(q) φ WFC (q) =. (3.69) otherwise Definition 3.6 (Static Equilibrium Condition). The static equilibrium condition φ SEC : R n {, 1} is defined as the condition 1 if G(q) W(q) φ SEC (q) =. (3.7) otherwise 63

86 3.4 Cable-Driven Parallel Robot Analysis Background Definition 3.7 (Wrench Closure Condition). Let the minimum and maximum cables forces be defined such that f = and f is unbounded, the wrench closure condition φ WCC : R n {, 1} is defined as the condition 1 if W(q) = R n φ WCC (q) =. (3.71) otherwise It can be observed that the SEC and WCC represent special cases of the WFC in which the desired wrench set is given by W des = G(q) and W des = R n, respectively. Workspace Metrics A workspace metric is a measure ψ : R n I, where I R, that is used to construct a workspace quantification. Workspace metrics typically quantify the capability of a CDPR in terms of physically meaningful metrics such as robustness and force usage or to provide a quantification as to how well a workspace condition is satisfied. Three wrench based workspace metrics will be used in this thesis: dexterity, maximum force amplification (MFA) and capacity margin. The definitions that follow define each of these metrics Definition 3.8 (Dexterity [98]). The dexterity measure ψ dex : R n [1, ) determines the upper bound on the propagation of errors between the joint and operational spaces such that δτ τ ψ dex(q) δw w, (3.72) where τ denotes the operational space wrench and δx and x denote an infinitesimal change and the Euclidean norm of the vector x. For conventional serial and parallel robotic manipulators this is given by ψ dex (q) = σ 1(J(q)) σ n (J(q)) where σ 1... σ n are the singular values of the Jacobian matrix J at the pose q. (3.73) 64

87 Background 3.5 Kinodynamically Constrained Probabilistic Sampling Methods Definition 3.9 (Maximum Force Amplification (MFA) [98]). The maximum force amplification measure ψ MFA : R n R determines the maximum force in operational space for a given joint space wrench such that τ ψ MFA (q) w. (3.74) For conventional serial and parallel robotic manipulators this is given by ψ MFA (q) = 1 σ n (J(q)). (3.75) Definition 3.1 (Capacity Margin [64]). The capacity margin ψ CM : R n R measures the robustness in generating the wrench set W des. The measure corresponds to the minimum signed distance between the available wrench set W and the desired wrench set. As a result, for a polytope desired wrench set the capacity margin ψ CM is given by ( ) ψ CM (q) = min min χ (j,k)(q), (3.76) j=1,...,v k=1,...,h where v is the number of vertices of W des, h is the number of faces of W and χ (j,k) represents the signed distance between the jth vertex of W des and the kth face of W. 3.5 Probabilistic Sampling Methods Subject to Kinematic and Dynamic Constraints Motion planning problems subject to kinematic and dynamic (kinodynamic) constraints correspond to problems of the form: Problem Statement 3.1: Kinematically Constrained Motion Planning Given: The system defined by the equation of motion ż = h(z, u), z(t ) = z (3.77) where z R ζ represents the system state, the initial state is denoted by z R ζ defined 65

88 3.5 Kinodynamically Constrained Probabilistic Sampling Methods Background at the initial time t and u R υ represents the system input, constrained by the kinematic and dynamic constraints i(z, u) (3.78) and the goal set G R ζ, Determine: A terminal time t f and an input trajectory u : [t, t f ] R υ, such that the resulting state space trajectory z : [t, t f ] R ζ obtained from (3.77) satisfies the constraints defined by (3.78) t [t, t f ] in addition to the terminal time constraint z(t f ) G. In this thesis, single query probabilistic sampling methods are considered to obtain a solution to the kinodynamically constrained motion planning problems of Problem Statement 3.8 due to their probabilistic guarantees of finding a feasible solution (if it exists) as well as their efficient computational performance for systems with high DoF. The remainder of this section presents the conventional algorithms used in single query kinodynamically constrained probabilistic sampling methods and where necessary provides further background into their methodologies. Section introduces rapidly-expanding random trees (RRTs). Expansive search trees (ESTs) are then reviewed in Section Rapidly-exploring Random Trees Rapidly exploring random trees (RRTs) [113] represent a class of tree based motion planner in which a single tree T is grown in order to solve Problem Statement 3.1. A critical feature of RRTs is the use of probabilistic sampling of the configuration space, which for the basic case corresponds to the joint space R n, in order to identify target nodes for the tree to grow towards. Algorithm 3.1 summarises the basic RRT algorithm. It can be seen that tree is initially populated by a single node (leaf ) L and that the tree continues to grow until the tree reaches a particular goal set G. The process of growing the tree then consists of four steps: 1) The configuration space is randomly sampled using the operation random sample free space( ) to identify a target leaf L rand for the tree to grow towards. 2) The leaf nearest to the target leaf L nearest T is determined through the nearest neighbour(...) operation which makes use of a predefined metric ς : R n R, where the Euclidean distance is a common choice of metric. 3) 66

89 Background 3.5 Kinodynamically Constrained Probabilistic Sampling Methods A growth method, defined by the grow tree(...) operation, is used to grow the tree from L nearest towards L rand noting a fixed maximum distance constraint between the current leaf L nearest and the new leaf L new which is a function of the time step t. 4) Finally, the new leaf is added to the tree. Algorithm 3.1 Basic RRT Algorithm T {L }; while T G = do L rand random sample free space( ); L nearest nearest neighbour(l rand, T); L new grow tree(l nearest, L rand ); T T {L new }; return T; Expansive Search Trees Expansive search trees (ESTs) [71] represent an alternative class of single query probabilistic sampling based motion planners derived to solve problems of the form of Problem Statement 3.1. Algorithm 3.2 summarises the basic algorithm used in the construction of ESTs. It can be seen, that the critical difference compared to the basic RRT algorithm (Algorithm 3.1) lies in the order of the tree leaf selection and target leaf determination. In particular, in the operation sample tree(...) the EST method first uses the information contained within the tree to generate a probability distribution p. The operation then ascertains the leaf to grow from L sample by sampling the constructed distribution. Using this sampled leaf, a target L target is then determined by a weighted sampling process performed within the operation sample target(...). Algorithm 3.2 Basic EST Algorithm T {L }; while T G = do L sample sample tree(t); L target sample target(l sample ); L new grow tree(l sample, L target ); T T {L new }; return T; The basic RRT and EST algorithm only consider the constraint of the maximum length 67

90 3.5 Kinodynamically Constrained Probabilistic Sampling Methods Background for growth between leafs. To consider other kinodynamic constraints, the EST algorithm can be altered into Algorithm 3.3 [71,72,156]. It can be observed from Algorithm 3.3 that this methodology differs to Algorithm 3.2 in its addition of two steps for the growth of the tree and the use of leafs which consider both the joint pose and velocity through the pair (q, q) R n R n. The two new steps for the growth of the tree are as follows: 1) After the target node L target is determined, the revised algorithm samples the input space, through the operation sample input(...), in order to determine the input to be applied. This sampling allows actuation constraints to be considered and ensures that any equation of motion, which relates the input to valid resulting configurations, is always satisfied. 2) Before a new leaf is added to the tree it is checked using the is valid(...) operation to determine if the new leaf is valid with respect to any kinematic constraints. This validation enables the consideration of obstacles and/or joint limits. Algorithm 3.3 Kinodynamically Constrained EST Algorithm T {L }; while T G = do L sample sample tree(t); L target sample target(l sample ); u sample input(l sample, L target ); L new grow tree(l sample, u, t ); if (is valid(l new )) then T T {L new }; return T; It is noted that the basic RRT algorithm (Algorithm (3.1)) can also be altered to consider kinodynamic constraints in a manner consistent with the alterations that Algorithm 3.3 makes onto the basic EST algorithm (3.2). For such alterations, the resulting algorithm must also consider the use of a metric which accounts for the effect of the kinodynamic constraints. These metrics are however typically difficult to identify and as a result, this thesis considers only the EST based kinodynamically constrained motion planner. 68

91 Background 3.6 Conclusion 3.6 Conclusion In this background chapter, the modelling and analysis techniques to be used throughout the remainder of this thesis were presented. First, through the use of the cable routing matrix a generalised framework for the construction of CDPR kinematics and dynamics models was reviewed. It was shown that this model could be completely specified through the knowledge of three sets: the joint dynamic specification set, the cable specification set and the end effector specification set. To demonstrate the application of this framework to the construction of CDPR models, an example spatial SCDR and an example two-link MCDR were considered. Second, the different types of CDPR analysis problem formulations were identified. It was shown that these differing analysis problems all possess unique challenges compared to traditional serial and parallel mechanisms as a result of the CDPR unilateral actuation constraint. Finally, the kinodynamically constrained motion planning problem was formulated. For the solution of this class of problem, the RRT and EST methodologies were identified, where it was observed that these methods provide a feasibility guarantee and are computationally efficient for high DoF systems. 69

92 This page is intentionally left (almost) blank.

93 Part I Motion Generation for Cable Driven Parallel Robots 71

94

95 Part I: Motion Generation for Cable Driven Parallel Robots Introduction to Part I Introduction to Part I IN this part, a framework for the operational space motion generation of generalised cable driven parallel robots (CDPRs) will be formulated. The proposed framework ensures that a feasible joint space motion corresponding to the desired CDPR operational space behaviour can always be found if it exists. The framework also allows for the consideration of workspace metrics such that the obtained motions can be biased towards favourable regions of CDPR capability and/or robustness. Furthermore, by considering a generalised model, the proposed framework can be applied to any CDPR kinematic topology and is flexible to cable reconfiguration and model changes. In order to understand the requirements of CDPR operational space motion generation, the more general problem of quantifying CDPR motion generation capability is first considered. Chapter 4 formulates the CDPR motion generation problem and determines conditions under which motion generation is feasible. Through the consideration of positive controllability theory, it is shown that the static equilibrium condition represents a sufficient condition on motion feasibility provided that a maximum speed limit is observed. Furthermore, by integrating the obtained results with output controllability theory a new sufficient condition on operational space motion generation is also obtained. These results allow for robust CDPR motion generation conditions to be identified that can be used for general CDPRs. Using the derived motion generation problem formulation, Chapter 5 derives metrics to quantify the capability of CDPRs to produce motion. By generalising existing work in unilateral dexterity analysis, new dexterity based metrics for both redundantly and completely restrained CDPRs are identified. It is shown that these new metrics provide an upper bound on the cable forces required for producing arbitrary wrench and that this insight can be used to aid in both the design of new CDPRs and in the construction of robust CDPR motions. It is also shown that by analysing the set of possible CDPR accelerations, additional metrics that directly quantify the capability of the CDPR to alter its kinematics can be derived. This acceleration based approach allows for new metrics more specific to understanding motion generation capability to be derived. The part concludes with Chapter 6, which presents the final CDPR framework for 73

96 Introduction to Part I Part I: Motion Generation for Cable Driven Parallel Robots operational space motion generation. Through the extension of expanding search tree based sampling motion planners to consider both the operational space and trajectory tracking, it is shown that the obtained planner is capable of solving the formulated operational space motion generation problem. Furthermore, it is also shown that the derived workspace metrics on motion generation capability can also be integrated into the probability distribution used by the planner, allowing for the solution to be biased to regions with greater capability. With this framework end effector based motions can be implemented onto all CDPRs. 74

97 Chapter 4 Introduction to Motion Generation Capability Analysis This chapter serves to formulate the cable-driven parallel robot (CDPR) motion generation problem and to integrate related constrained control theory into its analysis. Firstly, Section 4.1 identifies the unique challenges of CDPR motion generation. Section 4.2 then formulates the different types of CDPR motion generation problems that will be considered within this thesis. The use of positive controllability theory to identify sufficient conditions for the feasibility of motions is considered in Section 4.3. Section 4.4 illustrates the different CDPR motion generation problems as well as the use of workspace conditions in identifying feasible operating regions for solving those problems through the use of an example single-link CDPR (SCDR) and example multi-link CDPR (MCDR). Finally, Section 4.5 summarises and concludes the chapter. 4.1 Introduction Manipulator motion generation considers the problem of generating a joint space trajectory for a mechanism such that it achieves a given reference behaviour defined in terms of a sequence of disjoint poses, paths and/or trajectories. For cable-driven parallel robots (CDPRs), the study of motion generation is critical and can be applied to a range of different applications including the implementation of motion control for end effector tasks, the identification feasible regions of mechanism operation and the quantification of the capability of the mechanism throughout its operating region. In this thesis, the study will focus on completely and redundantly restrained CDPRs, in which the number of cables µ is known to satisfy the condition µ > n + 1, where n is the number of degrees of freedom (DoFs) of the system. As a result of the unilateral cable 75

98 4.1 Introduction Introduction to Motion Generation Capability Analysis force constraint f f f, (4.1) where f and f correspond to the minimum and maximum allowable cable forces, respectively, it is known that µ n + 1 is a necessary condition for a CDPR to be equivalent to a conventionally fully actuated robot at certain poses [162]. For conventional fully actuated robots, the capability to produce wrench in all directions means that motion generation can typically be considered as a purely kinematic problem for which the dynamics can be neglected until the control stage. This is however not the case for completely and redundantly restrained CDPRs, in which the unilateral actuation constraint means that 1) it is possible for a redundantly actuated robot to be incapable of generating a desired motion and 2) the capability of the robot to generate motion in certain directions changes as the mechanism configuration is changed. This acts to complicate the motion generation process for CDPRs, resulting in the need for CDPR specific solutions which consider both the unilateral actuation constraint (4.1) and the CDPR equation of motion (EoM) M(q) q + C(q, q) + G(q) = L(q) T f, (4.2) as determined in Chapter 3. It is common for the operating tasks of a CDPR to be specified in terms of the robot s end effector, rather than the mechanism pose. In the case of multi-link CDPRs (MCDRs), the end effectors are typically attached to a subset of the links such that their pose does not uniquely correspond to a mechanism pose. As a result, the motion generation of MC- DRs is further complicated by the need to resolve this structural redundancy for which even in the case of trajectory tracking there can exist multiple different joint space trajectories capable of executing the same reference end effector motion. 76

99 Introduction to Motion Generation Capability Analysis 4.2 Problem Formulation 4.2 Motion Generation Problem Formulations In this section, the problems involved in the motion generation of CDPRs will be identified and formulated. Throughout the different types of motion generation problems two reference coordinate spaces will be considered: the joint space (Definition 3.1) and the operational space (Definition 3.3). The joint space directly refers to the mechanism s generalised coordinates and hence provides a unique description of the desired robot configuration in both the case of single-link CDPRs (SCDRs) and MCDRs. In contrast, the operational space refers to the coordinates attached to the mechanism s end effectors. For MCDRs, the end effector pose does not necessarily provide a unique description of the desired robot configuration. This means that an individual operational space pose may correspond to potentially infinite different joint space poses. To illustrate the different motion generation problems, a 4 link planar revolute MCDR with a single end effector (shown in Figure 4.1) will be used as an example. The pose of this manipulator can be described by q = [q 1 q 2 q 3 q 4 ] T where each of the q i refers to the angle of the ith rigid link with respect to the preceding link. The operational space of the manipulator can be described by y = [y 1 y 2 y 3 ] T where y 1, y 2 correspond to the translational coordinates of the end effector in the plane and y 3 represents the end effector orientation. Throughout the section, the notation and generalised modelling developed in Chapter 3 will be applied Joint Space Point to Point Motion Planning CDPR joint space point to point motion planning (JSP2PMP) considers the problem of constructing a trajectory with which to connect a disjoint sequence of κ joint space poses q re f [ ] : {,..., κ 1} R n. Since the problem does not specify any time based requirements, both the solution s joint path and velocity profile are free provided that the mechanism remains within a task and/or mechanism specific constraint configuration set Q R n. This set can be designed to consider joint limits, obstacles and disturbance For the simplicity of presentation, all problem formulations are presented under the assumption that a solution exists. Infeasible problem formulations can be considered by modifying the presented problem statements to include the minimisation of constraint violation. 77

100 4.2 Problem Formulation Introduction to Motion Generation Capability Analysis Figure 4.1: Example 4 link planar revolute MCDR rejection. Additionally, since the problem makes use of a reference that is comprised of disjoint poses, the problem can be considered as a sequence of independent end point motion planning problems which move the mechanism from pose q re f [i] to q re f [i + 1]. The JSP2PMP problem can therefore be formalised as follows: Problem Statement 4.1: Joint Space Point to Point Motion Planning (JSP2PMP) Given: a CDPR specified by the joint dynamics specification set J dyn (3.35) and the cable specification set C (3.23), an allowable configuration set Q R n and a disjoint sequence of κ joint poses q re f [ ] : {,..., κ 1} Q, Determine: a sequence of times < t 1 <... < t κ 1 and a corresponding cable force trajectory f( ) : [, t κ 1 ] R µ such that f(t) satisfies the unilateral actuation constraint (4.1) t [, t κ 1 ] and that the joint space trajectory q( ) : [, t κ 1 ] R n that results from applying f onto the CDPR with EoM (4.2) and initial pose q() = q re f [] satisfies q(t) Q t [, t κ 1 ] and q(t i ) = q re f [i] for all indices i {,..., κ 1}. Figure 4.2 illustrates an example JSP2PMP problem for the 4 link planar revolute MCDR. It can be seen that the JSP2PMP problem corresponds to the problem of determining a joint space path which connects the different reference mechanism configurations. This can be achieved using any one of an infinite number of paths, where Figure 4.3 shows some of the intermediate points along two different possible paths. Due to the 78

101 Introduction to Motion Generation Capability Analysis 4.2 Problem Formulation cable-to-joint Jacobian matrix L : R n R m n which depends upon the mechanism pose, it can be noted that different paths will result in different mechanism performance for physically meaningful measures such as the quantity of cable force required. Initial configuration qq() Goal configuration qq rrrrrr [1] Figure 4.2: Example JSP2PMP problem for 4 link planar revolute MCDR (a) Example path 1 (b) Example path 2 Figure 4.3: Example paths for the 4 link planar revolute MCDR 79

102 4.2 Problem Formulation Introduction to Motion Generation Capability Analysis Operational Space Point to Point Motion Planning In contrast to JSP2PMP, operational space point to point motion planning (OSP2PMP) considers the problem of constructing a joint space trajectory which connects a disjoint sequence of κ operational space poses y re f [ ] : {,..., κ 1} R η. Due to the use of the operational space in place of the joint space, the OSP2PMP possesses a possibly infinite set of final joint space configurations in addition to the infinite number of different paths with which to connect those disjoint poses. As a result, while the operational space version of the problem can also be treated as a sequence of endpoint problems, each subsequent problem of the sequence is dependent upon the previous solution. The OSP2PMP problem can therefore be formalised as follows: Problem Statement 4.2: Operational Space Point to Point Motion Planning (OSP2PMP) Given: a CDPR specified by the joint dynamics specification set J dyn (3.35), the cable specification set C (3.23) and the end effector specification set (3.24), an allowable configuration set Q R n, an initial joint pose q R n and a disjoint sequence of κ end effector poses y re f [ ] : {,..., κ 1} R η, Determine: a sequence of times < t 1 <... < t κ 1 and a corresponding cable force trajectory f( ) : [, t κ 1 ] R µ such that f(t) satisfies the unilateral actuation constraint (4.1) t [, t κ 1 ], the joint space trajectory q( ) : [, t κ 1 ] R n that results from applying f onto the CDPR with EoM (4.2) and initial pose q() = q satisfies q(t) Q t [, t κ 1 ] and that the resulting operational space trajectory y( ) : [, t κ 1 ] R η that results from (3.14) satisfies y(t i ) = y re f [i] for all i {,..., κ 1}. Figure 4.4 illustrates an example OSP2PMP problem for the 4 link planar revolute MCDR. It can be seen that the critical difference of Problem Statement 4.2 when compared to Problem Statement 4.1 is that the mechanism configuration is not uniquely specified at the reference poses. This acts to complicate the solution process since an intermediate configuration may not be capable of reaching the next goal Joint Space Trajectory Generation CDPR joint space trajectory generation (JSTG) considers the problem of determining a velocity profile with which to follow a given joint space reference path. Since the refer- 8

103 Introduction to Motion Generation Capability Analysis 4.2 Problem Formulation Goal end effector configuration yy rrrrrr [1] Possible configurations qq[tt 1 ] Initial configuration qq Figure 4.4: Example OSP2PMP problem for 4 link planar revolute MCDR ence path is completely specified, the trajectory generation problem need only consider the actuation limits of the mechanism and their resulting effect on the system kinematics. As a result, the different paths in Figure 4.3 can also be interpreted as depicting different instances of the trajectory generation problem. With this interpretation the path is fixed and the problem only seeks to determine the times at which the mechanism arrives at each of the different configurations. A mathematical formulation of the JSTG problem is therefore given as follows: Problem Statement 4.3: Joint Space Trajectory Generation (JSTG) Given: a CDPR specified by the joint dynamics specification set J dyn (3.35) and the cable specification set C (3.23) and a joint pose path q re f ( ) : [ [, 1] ] Q, Determine: a strictly increasing function ι( ) : [, t f ] [ [, 1] ] and a cable force trajectory f( ) : [, t f ] R µ such that f(t) satisfies the unilateral actuation constraint (4.1) t [, t f ] and that the joint space trajectory q( ) : [, t f ] R n that results from applying f onto the CDPR with EoM (4.2) and initial pose q() = q re f () satisfies q(t) = q re f (ι(t)) t [, t f ]. The notation [ [, ] ] is used to indicate that the domain is a path parameter in place of time. 81

104 4.2 Problem Formulation Introduction to Motion Generation Capability Analysis Operational Space Trajectory Generation The operational space trajectory generation (OSTG) problem considers the same problem as its joint space equivalent (Problem Statement 4.3, JSTG) with the single exception being that the reference path is defined in the operational space rather than the joint space. This means that when the mechanism is structurally redundant, the joint space motion is no longer uniquely specified and must therefore be determined as a part of the solution. A formal description of the OSTG problem is provided below: Problem Statement 4.4: Operational Space Trajectory Generation (OSTG) Given: a CDPR specified by the joint dynamics specification set J dyn (3.35), the cable specification set C (3.23) and the end effector specification set (3.24), an allowable configuration set Q R n, an initial state q Q and an end effector pose path y re f ( ) : [ [, 1] ] R η, Determine: a strictly increasing function ι( ) : [, t f ] [ [, 1] ] and a cable force trajectory f( ) : [, t f ] R µ such that f(t) satisfies the unilateral actuation constraint (4.1) t [, t f ], the joint space trajectory q( ) : [, t f ] R n that results from applying f onto the CDPR with EoM (4.2) and initial pose q() = q satisfies q(t) Q t [, t f ] and that the resulting operational space trajectory y( ) : [, t f ] R η that results from (3.14) satisfies y(t) = y re f (ι(t)), t [, t f ] Joint Space Trajectory Tracking The joint space trajectory tracking (JSTT) problem looks to determine the necessary cable forces with which to track a completely specified joint space trajectory (both path and velocity profile). A mathematical description of the problem is given in Problem Statement 4.5. It can be seen from this problem statement that if there is no modelling uncertainty or system disturbances, then the problem statement is equivalent to that of the inverse dynamics problem (Problem Statement 3.6) when ɛ =. When there are sources of modelling error, then the problem is consistent with that of motion control (Problem 82

105 Introduction to Motion Generation Capability Analysis 4.2 Problem Formulation Statement 3.7), where ɛ is a measure of the maximum allowable tracking error. Problem Statement 4.5: Joint Space Trajectory Tracking (JSTT) Given: a CDPR specified by the joint dynamics specification set J dyn (3.35) and the cable specification set C (3.23), a non-negative scalar ɛ and a joint space trajectory q re f ( ) : [, t f ] Q, Determine: a cable force trajectory f( ) : [, t f ] R µ such that f(t) satisfies the unilateral actuation constraint (4.1) for all t [, t f ] and that the joint space trajectory q( ) : [, t f ] R n that results from applying f onto the CDPR with EoM (4.2) and initial pose q() = q re f () satisfies max t [,t f ] q(t) q re f (t) ɛ Operational Space Trajectory Tracking The operational space trajectory tracking (OSTT) problem looks to determine both the cable force and joint space trajectory necessary such that the manipulator is able to track a complete specified operational space trajectory. It can therefore be seen that unlike the JSTT problem (Problem Statement 4.5), the OSTT problem still requires the solution of a joint space motion planning problem for which both the kinematics and dynamics must be explicitly considered. The OSTT problem can therefore be represented as follows: Problem Statement 4.6: Operational Space Trajectory Tracking (OSTT) Given: a CDPR specified by the joint dynamics specification set J dyn (3.35), the cable specification set C (3.23) and the end effector specification set (3.24), an allowable configuration set Q R n, an initial pose q Q, a non-negative scalar ɛ and an operational space trajectory y re f ( ) : [, t f ] R η, Determine: a cable force trajectory f( ) : [, t f ] R µ such that f(t) satisfies the unilateral actuation constraint (4.1) t [, t f ], the joint space trajectory q( ) : [, t f ] R n that results from applying f onto the CDPR with EoM (4.2) and initial pose q() = q satisfies q(t) Q t [, t f ] and that the resulting operational space trajectory y( ) : [, t f ] R η that results from (3.14) satisfies max t [,t f ] y(t) y re f (t) ɛ. 83

106 4.3 Feasibility Conditions Introduction to Motion Generation Capability Analysis 4.3 Conditions to Ensure Feasibility of Motion Generation In this section, the feasibility of solving Problem Statements will be considered. The evaluation is performed by identifying sufficient and/or necessary conditions in the joint space which correspond to conservative conditions on the feasibility of motion generation. Section 4.3.1, reviews the use of the wrench closure condition as a workspace condition for conservatively estimating the feasibility region of different motion generation problems. Section 4.3.2, investigates the static equilibrium condition and shows its application to Problem Statements 4.1 and 4.3 using positive controllability theory. Finally, Section considers the operational space motion generation problems (Problem Statements 4.2, 4.4 and 4.6) by integrating output controllability with existing positive controllability conditions Wrench Closure Condition The wrench closure condition (WCC) (Definition 3.7) corresponds to the workspace condition that determines whether, at a given pose, any arbitrary wrench can be produced (under the assumption of unbounded non-negative cable forces). As a result, the set of all wrench closure satisfying poses (wrench closure workspace) is given by the set Q WCW = { } q R n : w R n, f R µ s.t. L(q)T f = w. (4.3) Satisfaction of the WCC is therefore typically used as a measure of robustness, in which WCC satisfying poses are capable of opposing any external wrench. Operation that remains within the wrench closure workspace (WCW) is then favourable as it ensures the capability to compensate for disturbances and/or model uncertainty. Due to the wrench-to-joint space kinematics relationship described by the EoM (4.2), satisfaction of the WCC also indicates that the CDPR is capable of producing any joint space velocity q R n and/or joint acceleration q R n at the given pose. In the context of Feasibility is considered within this section under the assumption that f = and f is unbounded. This assumption is required to guarantee feasibility for the tracking problem of Problem Statement 4.3, however the constraint can be replaced with (4.1) for the presented positive controllability results. 84

107 Introduction to Motion Generation Capability Analysis 4.3 Feasibility Conditions motion generation, this means that any WCC satisfying pose that lies within the interior of the WCW is capable of moving to any of its neighbouring poses. Defining a connected component of a WCC satisfying pose q Q WCW to be the set Q WCCC (q ) = { q f R n : q( ) R n C 2 [,1], s.t. q() = q, } q(1) = q f, q(t) Q WCW t [, 1] (4.4) where C 2 [, 1] denotes the set of all twice differentiable functions that are continuous over the domain [, 1], the following theorem can be noted: Theorem 4.1. Given a pose q Q WCW. For every pose q 1 Q WCCC (q ), there exists a cable force trajectory f( ) : [, 1] R µ such that the joint space trajectory q( ) Rn C 2 [,1] that results from applying f onto the CDPR with EoM (4.2) and initial pose q() = q satisfies q(1) = q 1 and q(t) Q WCCC (q ) for all t [, 1]. Proof. Using the motion generation interpretation of the WCC, it is noted that pose q Q WCW a cable force trajectory f( ) : [ t, t + t] R µ to move to any neighbouring pose. Since the WCC assumes unbounded cable force, f can be suitably scaled such that the trajectory can be achieved over any suitably small finite time period t. The given pose q Q WCW. Furthermore, by the construction (4.4) all poses in the Q WCCC (q ) are connected to q. Since the poses q, q 1 are connected and satisfy the WCC, a connected path can always be defined by using a finite sequence of paths connecting to neighbouring poses that are also in the set Q WCCC (q ). As a result, an input sequence that connects q, q 1 while remaining in Q WCCC (q ) for all t [, 1], can always be determined by concatenating the input sequences that connect the neighbouring poses. Using Theorem 4.1, it can therefore be observed that the WCC can be used to identify regions of operation in which a solution to the problem statements of Section 4.2 is guaranteed to exist. In the case of Problem Statement 4.1, by the definition of the WCC it can be seen that if all reference poses q re f [ ] : {, N 1} Q satisfy q re f [i] Q WCCC (q re f []) then for any Q it is guaranteed that there will exist a solution trajectory. Additionally, in the case of Problem Statements 4.3 and 4.5 if the reference path or trajectory, respectively, 85

108 4.3 Feasibility Conditions Introduction to Motion Generation Capability Analysis remain within the same connected component, then it is guaranteed that any velocity profile solves Problem Statement 4.3 or that the joint space trajectory can reject any disturbance for Problem Statement 4.5. A similar motion generation result holds for the operational space problems of Problem Statements 4.2, 4.4 and 4.6. However, in these cases it is required that for the given reference operational space motion y re f that there exists a solution to the operational space inverse kinematics problem (Problem Statement 3.4) q sol ( ) : I R n, where I is a problem dependent interval, that is completely contained within the set Q WCCC (q ) for all time t I. As a result, additional conditions need to be evaluated in addition to the WCC in order to guarantee solution feasibility Positive Controllability and the Static Equilibrium Condition Despite providing feasibility conditions for each of Problem Statements , the WCC is a conservative feasibility condition since it requires that all accelerations and velocities can be produced and therefore that there are infinite trajectories between two poses rather than a single trajectory. A less conservative condition for Problem Statements 4.1 and 4.3 would therefore be a condition that ensures that there exists a single trajectory between any two poses within a region. In control literature, the property of positive controllability possesses such a meaning, where its definition can be expressed as follows: Definition 4.1 (Positive Controllability). Consider a nonlinear time invariant system with dynamics given by ż = h(z, u), z() = z, (4.5) where z R ζ represents the ζ-dimensional state and u R υ represents the υ dimensional input. The system (4.5) is said to be positive controllable if for all z, z f R ζ, there exists a finite time t f and a non-negative control input sequence u( ) : [, t f ] R υ such that z() = z and z(t f ) = z f [189]. A region D R ζ is positive controllable if for all states z, z f D, there exists a finite time t f and a non-negative control input sequence u( ) : [, t f ] R υ such that z() = z and z(t f ) = z f. 86

109 Introduction to Motion Generation Capability Analysis 4.3 Feasibility Conditions A state z R ζ is locally positive controllable if it lies in the interior of a positive controllable region. From Definition 4.1, it can be seen that positive controllability theory can be applied to CDPRs through the representation of the system in state space form, where z = [ z1 T ] T [ zt 2 = qt q T] T, u = f and the nonlinear EoM (4.2) can be rearranged to construct the state dynamics ż = [ [ ] ] ż1 T z żt 2 = 2 M(z 1 ) 1 ( C(z 1, z 2 ) + G(z 1 ) + L(z 1 ) T u ). (4.6) Using this state representation, the satisfaction of the positive controllability condition corresponds to the capability to connect any two joint poses and velocities. Furthermore, it can also be observed that the identification of regions of positive controllability represents an equivalent problem to the desired less conservative condition for the feasibility of Problem Statements 4.1 and 4.3. In order to approximate such regions of positive controllability, the following theorem is used: Theorem 4.2. If a set of states are locally positive controllable and connected, then the set forms a positive controllable region. Proof. By definition, for any locally positive controllable state z, there exists a finite time t f, an input sequence u(t), t [, t f ] and a positive number ɛ > such that at time t f the system can reach any neighbouring state z B(z, ɛ). Since the set is connected, a connected path between any two states can always be defined by using a finite sequence of paths connecting neighbour states. An input sequence connecting any two states within the region in finite time is therefore given by concatenating the input sequences that connect each of the neighbouring states. For a non-linear system such as a CDPR with dynamics (4.2), there are no known necessary and sufficient conditions for determining poses that possess the property of local positive controllability. A sufficient condition with which to evaluate the local positive controllability of CDPR workspaces can however be determined through the use of the A set is connected if it cannot be represented as the union of two disjoint, nonempty, open sets [114]. 87

110 4.3 Feasibility Conditions Introduction to Motion Generation Capability Analysis static equilibrium condition (Definition 3.6) in addition to a condition on the joint space acceleration q, and is given by the following theorem Theorem 4.3. If a CDPR pose q R n is capable of producing a non-zero acceleration in all directions about its static equilibrium, then the state z = q T T is locally positive [ ] T controllable. Proof. Controllability is a property that is invariant to control input [169]. z = [ q T The state T] T of the CDR with dynamics (4.2) is therefore locally positive controllable if it can be shown that the system is locally feedback equivalent to a known locally controllable system using only non-negative control input. [ ] T Let ζ = (q q ) T q T and let the (non-zero) minimum acceleration norm that can be produced in all directions from rest be given by ϱ (q ). Since ϱ(q ) >, then there exists a neighbourhood about [(q ) T T ] T, a positive number ɛ and a virtual control input v R n in which a cable force f can be chosen such that M(q) 1 L(q) T f = M 1 (q) (C(q, q) + G(q)) + v, (4.7) where v ɛ. Applying the force f, it can be seen that (4.2) is locally feedback equivalent to the fully actuated system ζ = [ ] [ ] I I ζ + v, v ɛ. (4.8) This system is a double integrator which is locally controllable for the given constraints. As a result, the system described by (4.2) is locally positive controllable at the state z. Using Theorem 4.3, the positive controllable workspace (PCW) can be defined as the set Q PCW = {q R n : ϱ(q) > }, (4.9) where ϱ (q) represents the minimum acceleration norm that can be produced in all direc- Static equilibrium poses, which are represented through the state z = [ q T T] T, are used for this theorem, since the equilibrium condition ensures that the system can remain equivalent to the known locally controllable system. 88

111 Introduction to Motion Generation Capability Analysis 4.3 Feasibility Conditions tions at the given pose q. By Definition 3.6, it can also be observed that since the static workspace (SW) consists of all poses for which or more acceleration can be produced in all directions from rest, the SW can also be defined using ϱ (q) as the set Q SW = {q R n : ϱ(q) }. (4.1) The PCW therefore represents a subset of the SW, which due to its ability to produce some acceleration in all directions, possesses a level of robustness to external disturbances and/or uncertainties. This workspace can also be used with Theorem 4.2 to identify regions of positive controllability within the state space. Theorems 4.2 and 4.3 enable the construction of the connected component of a positive controllability satisfying pose q Q PCW. This set is given as Q PCCC (q ) = { q f R n : q( ) : [, 1] R n s.t. q() = q, } q(1) = q f, q C 2 [,1], q(t) Q PCW t [, 1] (4.11) and can be used to identify less conservative regions of operation, when compared to the set Q WCCC (q ), in which a solution to the problem statements of Section 4.2 is guaranteed to exist. In the case of Problem Statements 4.1 and 4.2, by the definition of positive controllability, a solution is always guaranteed provided that the reference sequence of poses is contained within Q PCCC (q[]). Furthermore, in the case of Problem Statement 4.3, if the reference path remains within Q PCCC (q[]), then it is guaranteed that there exists a suitably small velocity profile that solves Problem Statement 4.3. This property also ensures that a solution to Problem Statement 4.4 exists, given that the operational space path can be resolved into a path that is completely contained within Q PCCC (q[]). In contrast, due to the time based requirements of Problem Statements 4.5 and 4.6, the set Q PCCC (q ) is not a necessary and/or sufficient condition on the existence of a solution. 89

112 4.3 Feasibility Conditions Introduction to Motion Generation Capability Analysis Positive Output Controllability The wrench closure and positive controllability conditions require that motion can be generated in all directions. Due to the redundancy associated with the operational space mapping (3.14), this property is not required for Problem Statements 4.2, 4.4 and 4.6. As a result, less conservative conditions for identifying regions of operation for these problem statements can be determined by considering the operational space directly. In control theory, the property of output controllability is defined as follows: Definition 4.2 (Output Controllability). Consider a nonlinear time invariant system with dynamics given by ż = h(z, u), z() = z, ψ = o(z), (4.12) where z R ζ, u R υ and ψ R ξ represents the ξ dimensional output. The system is said to be output controllable if for each z R ζ and ψ f R ξ there exists a finite time t f and a control input sequence u( ) : [, t f ] R υ such that ψ() = h(z ) and ψ(t f ) = ψ f. From Definition 4.2 and the consideration of the operational space as the system output, the property of output controllability can be integrated with the property of positive controllability resulting in the property positive output controllability: Definition 4.3 (Positive Output Controllability). The nonlinear time invariant system (4.12) is positive output controllable if there exists a non-negative control input sequence that satisfies Definition 4.2. It can be seen that the use of positive output controllability can result in the determination of less conservative regions of feasible solutions for Problem Statements 4.2 and 4.4. The identification of such regions however requires both conditions on local positive output controllability and means with which to construct output controllable regions from a set of locally positive output controllable poses. A sufficient condition with which to evaluate the local positive output controllability of a pose can be determined by evaluating the positive output controllability of a linearisation of the static equilibrium. This 9

113 Introduction to Motion Generation Capability Analysis 4.4 Examples result, in addition to the methodology for evaluating the positive output controllability of linear time invariant systems is included in Appendix B. Compared to its joint space equivalent, the local positive output controllability condition cannot be directly converted into a region through connectivity in the joint space. This is because local positive output controllability does not directly indicate the existence of a trajectory to connect two poses in the output space. As a result, positive output controllability can instead be utilised as a robustness condition for the analysis of Problem Statements 4.2 and 4.4, where it is desirable for poses to satisfy the condition but satisfaction of the condition alone does not indicate that a solution will always exist. 4.4 Motion Generation Analysis of Example Manipulators This section illustrates the different CDPR motion generation problem types and their feasible operating regions as identified using the feasibility conditions of Section 4.3. Two examples CDPRs are considered: A two link planar (Revolute-Revolute) CDPR for which the two dimensional joint space is visualisable (Section 4.4.1) and a six degree of freedom spatial SCDR (Section 4.4.2) Motion Generation Analysis of a Two Link MCDR This case study considers the two link (r = 2) planar (Revolute-Revolute) MCDR shown in Figure 4.5. The MCDR is articulated by two revolute joints (n = 2) and is driven by four cables (µ = 4). For the purposes of visualisation, the robot possesses a single 1 DoF (η = ρ = 1) end effector (with y = x 3 ) located at the end of the second rigid link. It is assumed that gravity acts in the x 3 direction. Let the two rigid links be identical with a uniform distribution of mass m 1 = m 2 = 1kg with lengths l 1 = l 2 = 1m. Furthermore, let the ith cable be mounted by the base attachment vector r OAi,1,, which is a vector from the base point O to the attachment location A i,1,, and the rigid link attachment vector r ok A i,1,k, where o k refers to the joint location of the kth joint and A i,1,k refers to the attachment point on rigid link k for cable i. Table 4.1 summarises the cable attachment information for the cable driven manipulator shown in Figure

114 4.4 Examples Introduction to Motion Generation Capability Analysis yy R ηη AA 1,1,2 ll, ff R μμ ll 1 xx 3 qq 2 oo 2 qq, ww R nn ll 4 xx 1 ll 2 qq 1 ll 3 AA 1,1, OO/oo 1 Figure 4.5: Two Link Planar CDPR with two revolute joints Cable Base Attachment Base Attachment Vector (m) Link Attachment Link Attachment Vector (m) Cable 1 r OA1,1, [ 1.5 ] T r o2 A 1,1,2 [.1.8] T Cable 2 r OA2,1, [.5 ] T r o1 A 2,1,1 [.1.8] T Cable 3 r OA3,1, [.5 ] T r o1 A 3,1,1 [.1.8] T Cable 4 r OA4,1, [1.5 ] T r o2 A 4,1,2 [.1.8] T Table 4.1: Two link planar MCDR with two revolute joint parameters From this system information and the definitions for the joint kinematic specification set J kin (3.22), the joint dynamic specification set J dyn (3.35), the cable specification set C (3.23) and the end effector specification set E (3.24), it can be seen that the specification sets are given by {[ ] J kin =,,,, q 1 1 q J dyn = J kin, diag I,, I, , 12 i {1, 4}, k {, 1} C = k r ok A i,1,k : i {2, 3}, k {, 2}, C RR, 92 [ ]} {[ ] [ ]},,,, [ ],

115 Introduction to Motion Generation Capability Analysis 4.4 Examples {[ ]} 1 E =,, {2}, (4.13) 1. respectively, where [ ] 1 1 C RRi = [ ] 1 1 i {1, 4}. (4.14) i {2, 3} Motion Generation Problem Formulations Using the two link planar (Revolute-Revolute) MCDR, the motion generation problems specified by Problem Statements can be visualised in both the body and joint spaces. For this robot, the JSP2PMP problem represents the problem of determining a trajectory with which to connect a sequence of poses to one another without there being any specifications on the trajectory time. Figure 4.6 shows an example JSP2PMP problem in the body space (Figure 4.6(a)) and joint space (Figure 4.6(b)), respectively. From this figure, it can be seen that the JSP2PMP problem is equivalent to a sequence of standard trajectory planning problems that connect two points in the joint (or configuration) space to one another. Using this interpretation, it is observed that the CDPR is free to construct any path that moves anywhere within the allowable configuration space Q. The only limitations in the motion come from the system dynamics (4.2), the unilateral actuation constraint (4.1) and the pose dependant nature of the joint-to-cable Jacobian matrix L. Similar to the JSP2PMP problem, the two link planar (Revolute-Revolute) MCDR can also be used to visualise the JSTG and JSTT problems in the joint space. Figure 4.7 shows an example joint space path (represented by the solid line) as well as a shaded interval which is always at a distance of ɛ from the path. This figure can represent both the JSTG and JSTT problems. Compared to the JSP2PMP problem it can be noted that the reference joint space path is now completely fixed in both the JSTG and JSTT cases. In the case of the JSTG problem, the problem then looks to identify a time profile so that the MCDR can follow this (solid line) path while satisfying the constraints of its actuation 93

116 4.4 Examples Introduction to Motion Generation Capability Analysis qq rrrrrr 2 qq rrrrrr q ref [2] q() qq() q 2 (rad) -1 q ref [1] q 1 (rad) (a) Example path in the body space (b) Example path in the joint space Figure 4.6: Example JSP2PMP problem in the body and joint spaces - It can be seen that the JSP2PMP problem is equivalent to a sequence of standard trajectory planning problems that connect two points in the joint (or configuration) space to one another. and dynamics. In contrast, in the case of the JSTT problem, both the time profile and path are specified and therefore the problem looks to determine a cable force trajectory such that the mechanism tracks the path without leaving the shaded interval. In order to visualise the operational space motion generation problems (Problem Statements 4.2, 4.4 and 4.6) on the two link planar (Revolute-Revolute) MCDR, Figure 4.8 shows the mechanism joint space with its operational space contours. In this figure, each contour corresponds to a set of joint space poses which map through the forward kinematics map (3.14) to the same one dimensional operational space pose. It can therefore be observed that the OSP2PMP problem corresponds to the problem of connecting an initial point in the joint space to a sequence of joint space contours. Compared to the JSP2PMP problem, this problem therefore provides an additional freedom in the sense that the intermediate joint space points are replaced by the requirement of reaching any point on the same intermediate contours. In the case of point to point motion, this additional freedom allows for the MCDR structural redundancy to be exploited in order to keep the operation of the robot within favourable regions. In a similar manner to the OSP2PMP problem, the OSTG and OSTT problems can also be reinterpreted through the use of Figure 4.8. From this figure, it can be observed that for 94

117 Introduction to Motion Generation Capability Analysis 4.4 Examples Figure 4.7: Example path in the joint space - The solid line represents a reference path that could be used in both the JSTT and JSTG problems. The shaded region represents the allowable region for the JSTT problem q 2 (rad) q 1 (rad) -1.5 Figure 4.8: Joint space with operational space contours - Each contour represents a set of joint space configurations that map to the same end effector pose. 95

118 4.4 Examples Introduction to Motion Generation Capability Analysis both problems the operational space reference defines a continuous sequence of contours for which the joint space must track. The key difference between the two problems is then that in the OSTT case, the continuous sequence has a time specified for each contour. Compared to the joint space motion generation problems, the operational space problems therefore provide additional freedom resulting from the structural redundancy. However compared to the OSP2PMP problem, the continuous nature of the reference path in both the OSTG and OSTT problems limit the available directions that the robot can travel in. Due to both the joint-operational space Jacobian J and the joint-to-cable Jacobian L being a function of the joint space pose, the available directions of travel are a function of the previous path taken. This means that poor decisions for the initial motion may result in a loss of feasibility in the event that Problem Statements 4.4 and 4.6 are solved using techniques that do no take the complete motion into account. Wrench Closure Evaluation Figure 4.9 shows the WCW of this mechanism (in black), where this workspace was constructed using a uniform sampling of π 18 rad. From this figure, it can be seen that the workspace takes up 67.4% of the total operating region volume. Furthermore, it is also observed that the workspace possesses 2 connected components, comprised of a smaller component which wraps from approximately q 1 = 5π 9 to q 1 = 5π 9 and a larger component which is at poses such such as q = [ 1.484, 2.971] T only connected (to the rest of the connected component) through the use of a small set of poses. By Theorem 4.1, this means that for all poses within the same connected components there will exist a solution to Problem Statement 4.1 and that for all paths and trajectories contained within the set any motion can be achieved (Problem Statements 4.3 and 4.5). In contrast, the case in which a joint space motion generation problem goes from one of the connected components to the other, this condition suggests that the problem cannot be solved. However, the result is not definitive. Figure 4.1 shows the WCW for the two link planar (Revolute-Revolute) MCDR with its operational space contours. From this result, it can be seen that neither of the connected components covers the entire set of operational space poses in which one con- 96

119 Introduction to Motion Generation Capability Analysis 4.4 Examples 5π/6 5π/9 5π/18 q 2 (rad) -5π/18-5π/9-5π/6-5π/6-5π/9-5π/18 5π/18 5π/9 5π/6 q (rad) 1 Figure 4.9: WCW for the two link planar (Revolute-Revolute) MCDR - The black regions indicate poses within the workspace. nected component can cover the region from y = 2m to y =.23m while the other covers the operational space interval from y =.89m to y = 2m. As a result, the set of feasible operational space poses for which there exists a solution to the operational space motion planning problems differs based upon the initial set of connected components. 5π/ π/9 1. 5π/18.5 q 2 (rad) -5π/ π/ π/6-5π/6-5π/9-5π/18 5π/18 5π/9 5π/6 q 1 (rad) -1.5 Figure 4.1: WCW with operational space contours From the Figures 4.9 and 4.1, the use of the WCC as a condition for constructing motions online can also be observed. In particular it can be seen that the condition can be used on its own for the JSP2PMP problem in order to ensure that the trajectory can be achieved. In contrast with the operational space motion generation problems, complete knowledge of the contours is required in addition to the WCC. This complicates the re- 97

120 4.4 Examples Introduction to Motion Generation Capability Analysis quirements for storing the necessary workspace information and as a result limits the use of the workspace for online operational space applications. Positive Controllability Evaluation To compare the use of the positive controllability condition to the WCC for the estimation of the joint space motion generation feasible operating regions, Figure 4.11 depicts the positive controllable workspace of the two link planar (Revolute-Revolute) MCDR. It can be seen that the PCW comprises of 87.1% of the workspace volume and contains only a single component. As a result, the use of the PCC indicates that a greater set of poses can be utilised in solving the JSP2PMP problem. Furthermore, in contrast to the use of the WCC, the use of the PCC and Theorem 4.2 shows that the JSP2PMP problem can be solved for any two points in the PCW. This result can be extended to the JSTG problem in which any path contained within the workspace can have a trajectory generated for it. 5π/6 5π/9 5π/18 q 2 (rad) -5π/18-5π/9-5π/6-5π/6-5π/9-5π/18 5π/18 5π/9 5π/6 q (rad) 1 Figure 4.11: PCW for the two link planar (Revolute-Revolute) MCDR An additional feature of the single connected component of the PCW of Figure 4.11 is that all operational space poses can be reached from any initial workspace pose. This indicates that for this mechanism, a solution to any sufficiently slow operational space motion can generated. However, care must be taken in identifying the trajectory since the incorrect initial direction of motion may still result in the mechanism moving towards its infeasible regions. 98

121 Introduction to Motion Generation Capability Analysis 4.4 Examples Positive Output Controllability Evaluation The positive output controllability condition can also be applied to the two link planar (Revolute-Revolute) MCDR in order to identify the feasible regions for the operational space motion generation problems (Problem Statements 4.2, 4.4 and 4.6). The condition identified in Remark B.12, however requires satisfaction of the static equilibrium condition and hence the use of this condition would not result in a workspace larger than that shown in Figure In the event that gravity was not considered (as would be the case if it acted in the x 2 direction), then the evaluation of the local positive output controllability condition of Appendix B can be applied as is displayed in Figure Figure 4.12: Positive output controllability workspace for the two link planar (Revolute- Revolute) MCDR From Figure 4.12, it can be seen that the consideration of output controllability in addition to the consideration of positive controllability can result in a greater number of joint space poses being identified as suitable poses for operational space motion. However, as indicated in the figure through the disconnected points, the positive output controllability condition identified in Appendix B is only a local condition. As a result, Figure 4.12 represents an identification of possible poses for operational space motion generation rather than an identification of regions for which a solution is guaranteed to exist. 99

122 4.4 Examples Introduction to Motion Generation Capability Analysis Motion Generation Analysis of a Spatial Six DoF SCDR To show the insight that the motion generation conditions can provide to systems of higher DoFs, this case study considers the six DoF (n = 6) spatial single-link cable-driven parallel robot (SCDR), as shown in Figure This SCDR is driven by seven cables (µ = 7) with attachment locations given in Table 4.2. The mass of the 1kg end effector is assumed to be uniformly distributed with gravity acting in the Z direction. Since this robot is an SCDR, the operational space is not considered in the subsequent results. Figure 4.13: Six DoF spatial cable-driven robot Cable Base Attachment Base Attachment Vector (m) Link Attachment Link Attachment Vector (m) Cable 1 r OA1,1, [ 1.] T r o1 A 1,1,1 [ ] T Cable 2 r OA2,1, [1. 1.] T r o1 A 2,1,1 [ ] T Cable 3 r OA3,1, [ ] T r o1 A 3,1,1 [ ] T Cable 4 r OA4,1, [ 1. 1.] T r o1 A 4,1,1 [ ] T Cable 5 r OA5,1, [.5.] T r o1 A 5,1,1 [..1.5] T Cable 6 r OA6,1, [1. 1. ] T r o1 A 6,1,1 [ ] T Cable 7 r OA7,1, [ 1. ] T r o1 A 7,1,1 [ ] T Table 4.2: Six DoF seven cable spatial SCDR parameters From this system information and the specification set definitions (3.22),(3.35) and (3.23) it can be seen that the specification sets are given by J kin = {{ } } q, S spatial, {}, {}, 1, { ( [ ])}.42 J dyn = J kin, diag I,.83,.18 1

123 Introduction to Motion Generation Capability Analysis 4.5 Conclusion C = {{ k r ok A i,1,k : i {1,..., 7}, k {, 1} }, C spatial 7 cable }, (4.15) respectively, where C spatial 7 cablei = [ 1 1] (4.16) and S spatial is given by (3.3). To visualise the WCW and PCW, Figures 4.14 and 4.15 depict three slices of the workspaces for the constant orientation [α β γ] T = [ ] T and Z values given by Z =.1m, Z =.5m and Z =.9m, respectively. From these figures, it can be observed that the number of poses for which the joint space motion generation problems are guaranteed to have a solution, increases as Z is increased. Furthermore, as identified in the two link planar (Revolute-Revolute) example, the use of the PCW results in a noticeably larger number of points being identified. This shows that the use of the PCC results in the identification of larger feasible operating regions in which a solution to Problem Statements 4.1 and 4.3 is guaranteed to exist y (m).6.4 y (m).6.4 y (m) x (m) x (m) x (m) (a) z =.1m (b) z =.5m (c) z =.9m Figure 4.14: Wrench closure workspace for the spatial six DoF SCDR 4.5 Conclusion In this chapter, the study of CDPR motion generation was introduced. From this study, the different types of motion generation problem formulations were identified. It was shown that the critical varying features of the different problem formulations consisted of the coordinate space and time domain associated with the reference behaviour. In order to identify regions under which the different problem formulations were guaranteed to 11

124 4.5 Conclusion Introduction to Motion Generation Capability Analysis y (m).6.4 y (m).6.4 y (m) x (m) x (m) x (m) (a) z =.1m (b) z =.5m (c) z =.9m Figure 4.15: Positive controllability workspace for the spatial six DoF SCDR always possess a solution, positive controllability theory was investigated. This resulted in the derivation of two new workspace conditions: the positive controllability condition and the positive output controllability condition. To demonstrate the different motion generation problem formulation and the use of the developed feasibility conditions, two different example CDPRs were considered. From these examples, it was observed that the use of the positive controllability condition always results in larger operating regions. 12

125 Chapter 5 Quantification of Cable-Driven Parallel Robot Motion Generation Capability This chapter derives metrics to quantify the capability of CDPRs to produce the different types of motion considered in Chapter 4. Section 5.1 reformulates motion generation as an optimisation problem and motivates the use of workspace metrics as a means of quantifying CDPR capability. The dexterity based analysis of CDPRs given the effect of the unilateral constraint is formulated in Section 5.2. Acceleration based measures for motion generation analysis are derived in Section 5.3. Section 5.4 demonstrates the use of the derived metrics onto an example single-link CDPRs (SCDRs) and multi-link CDPRs ( MCDRs). Finally, Section 5.5 summarises and concludes the chapter. 5.1 Introduction In the joint space point to point motion planning (JSP2PMP) problem (Problem Statement 4.1) and in the operational space motion generation problems (Problem Statements 4.2, 4.4 and 4.6), the identification of a feasible joint space trajectory q( ) : [t, t f ] Q is required, where Q represents a task and/or mechanism specific constraint set. For these problems, due to the flexibility in the allowable joint space solutions and/or the structural redundancy of many CDPRs, it is often the case that if there exists a solution, then there in fact exists infinite different solutions characterised by different joint space paths. As a result, the final solution to the problem statements could be thought of as being the 13

126 5.1 Introduction Quantification of CDPR Motion Generation solution of an optimisation problem q( ) = arg min t f ς(q, t)dt, (5.1) q( ) C[t,t f ] t where ς(, ) : R n R R is the objective function, that is subject to the CDPR dynamics (4.2), the force constraint (4.1), the joint space constraint q(t) Q t [t, t f ] and the reference tracking constraint as defined by the particular problem statement. Using the optimisation interpretation of motion generation, the objective function ς is critical as it influences the final solution path. This objective can be purely computational, where it is a result of the particular solution procedure, or it can make use of a physically meaningful metric. In the case of physically meaningful metrics, the objective can also be used as a means of quantifying the capability of the CDPR throughout its workspace. Such knowledge can be useful, as it provides a means of optimising CDPR synthesis when the exact motion generation tasks are not completely known and also provide a means of determining more favourable regions for the motion generating solution for cases in which an exact solution to the optimisation (5.1) may not be computationally tractable. While the selection of a meaningful metric is often task and/or mechanism dependent, possible CDPR criteria could include the minimisation of cable force (and system energy) and the maximisation of robustness to modelling uncertainty. In traditional CDPR analysis, workspace metrics represent physically meaningful metrics that are typically evaluated throughout the mechanism s workspace. As reviewed in Chapter 2, workspace metrics can be broadly categorised as dexterity based metrics or wrench set based metrics. For conventional serial and/or parallel manipulators, dexterity based measures look to provide a quantification of the relationship w = J(q) T τ, (5.2) where τ R η is the operational space wrench and J R η n is the joint-to-operational space Jacobian. Two examples of such measures are then the dexterity (Definition 3.8) and the maximum force amplification (MFA) (Definition 3.9) metrics which represent the upper bound on the propagation of errors between the joint and operational spaces (3.72) 14

127 Quantification of CDPR Motion Generation 5.2 Unilateral Dexterity Analysis and the maximum force in operational space for a given joint space wrench (3.74), respectively. For CDPRs, dexterity based measures can also be used to analyse the cable-to-joint space relationship w = L(q) T f, (5.3) where L R µ n is the joint-to-cable space Jacobian. Such measures must however also consider the effect of unilateral actuation on this relationship. In contrast to the dexterity based measures, wrench set measures instead look to study the mechanism capability through quantifications on the available wrench set W(q) = { } w R n : f f f s.t. w = L(q) T f (5.4) and/or the relationship between the available wrench set and a desired wrench set W des R n. The capacity margin (Definition 3.1) is one wrench set based measure which evaluates the minimum signed distance between the available wrench set and a given desired wrench set. This measure therefore finds application in quantifying the CDPRs additional capability to produce wrench beyond the desired wrench set. However, for the purpose of analysing motion generation, the significance of this measure proves limited since the mapping between the desired kinematics and wrench set is unclear. 5.2 Dexterity Analysis Subject to Unilateral Actuation Constraints In the analysis of CDPR motion generation capability, dexterity measures represent a well suited candidate for the construction of objective functions since they provide a physically intuitive description of the cable force to joint wrench relationship (5.3). With this knowledge, joint space trajectories can be biased such that they are able to produce arbitrary joint space wrench while minimising the necessary cable force. Despite the CDPR cable force to joint wrench relationship (5.3) being of the same form as the operational The signed distance between the { point a 1 R n and the set W 1 R n is given by ϑ(a 1, W 1 ) = 1 a ν min a2 W 1 a 1 a 2, where ν = 1 W 1. The minimum signed distance between the sets W 1 1 a 1 / W 1 and W 2 with respect to W 1 is then given by the min a1 W 2 ϑ(a 1, W 1 ). 15

128 5.2 Unilateral Dexterity Analysis Quantification of CDPR Motion Generation space wrench to joint wrench relationship (5.2), the existing expressions (3.73) and (3.75), respectively, cannot be applied to CDPRs since they do not account for the unilateral actuation constraint (4.1). This section derives new generalised unilateral dexterity (UD) and unilateral MFA (UMFA) metrics which possess the same physical meaning as that of Definitions 3.8 and 3.9, respectively, while providing an appropriate consideration of the unilateral actuation constraint (4.1). Section reviews the existing techniques of Kurtz and Hayward [98] in computing UD and UMFA for the case of fully restrained CDPRs. Section then generalises the results in order to provide UD and UMFA metrics that can be applied to both fully and redundantly restrained CDPRs Unilateral Dexterity Analysis for Fully Restrained Cable Robots For fully restrained CDPRs in which the number of cables µ satisfies the condition µ = n + 1, where n is the number of CDPR DoFs, Kurtz and Hayward [98] defined the unilateral dexterity (UD) workspace metric ψ FR UD as n n min (q) n ψud(q) FR ψ = dex (q) min (q) nmin (q) 2 +1, (5.5) n min (q) < where n min (q) = min ( n i(q)), (5.6) i {1,...,n+1} n i denotes the ith element of the unit null space vector for the matrix L(q) and ψ dex denotes the traditional (bilateral) dexterity metric (3.73). Additionally, the unilateral MFA (UMFA) metric ψumfa FR was defined as n n min (q) n ψumfa FR (q) = ψ MFA (q) min (q) nmin (q) 2 +1, (5.7) n min (q) < For simplicity of presentation, the new dexterity metrics are presented for the case of dimensionally homogeneous units. In the case of non-dimensionally homogeneous units, the measures can be computed by altering the Jacobian matrix in a manner consistent with Section 2 of [64]. 16

129 Quantification of CDPR Motion Generation 5.2 Unilateral Dexterity Analysis where ψ MFA denotes the conventional dexterity metric (3.75). The UD measure (5.5) therefore holds a physical meaning that is consistent with the reciprocal of the traditional dexterity measure (3.73) given the unilateral actuation constraint (4.1). As a result, the metric is finite and ψud FR (q) = when the CDPR is incapable of generating wrench in all directions (unilateral singularity). The metric is also multiplied by the scaling factor n + 2. As a result, ψud FR (q) = 1 when all singular values of L are equivalent and the null vector space is comprised of elements of equal magnitude such that n min (q) = 1 n+1 (unilateral isotropy). Similarly, the UMFA (5.7) holds a physical significance consistent with the reciprocal of the traditional MFA measure (3.75) scaled by the normalising factor n + 2. As such, ψumfa FR (q) = at unilateral singularity and larger values for ψumfa FR (q) indicate that a smaller actuator force will be required to generate a wrench with magnitude w. Knowledge of the UD and UMFA measures therefore provide insight into motion generation due to their ability to quantify the relationship between cable forces and joint wrenches. In the JSP2PMP case, biasing the trajectory to maximise the UMFA acts to keep the trajectory at poses for which low cable force is necessary for subsequent motion. Furthermore, maximising the UMFA and UD measures for general trajectory generation problems results in greater robustness of the motion in the presence of external disturbances, due to the lower cable forces that will be required in opposing those disturbances. This allows for lower tracking thresholds in both the joint space and operational space trajectory tracking problems (Problem Statements 4.5 and 4.6, respectively) Unilateral Dexterity Analysis for Redundantly Restrained Cable Robots The metrics of UD and UMFA, as given by (5.5) and (5.7), respectively, are only defined for the fully restrained case. This is due to their use of the unit vector n which is not uniquely defined when the null space is of dimension greater than 1. This subsection generalises these metrics to consider the redundantly restrained case, in which the number of cables µ satisfies µ > n + 1. In deriving these metrics, bounds on the relationship between the actuation magnitude f and the joint space wrench w will be determined. n min (q) is a necessary and sufficient condition for unilateral singularity, when µ = n + 1 [98]. 17

130 5.2 Unilateral Dexterity Analysis Quantification of CDPR Motion Generation First, the approach of [98] will be augmented to consider the µ > n + 1 case through an optimisation over the set of all null space vectors. Second, the resulting optimisation will be converted into a quadratic program (QP) such that the problem is computationally tractable and its solution can be efficiently determined using readily available solvers. Finally, the solution to the QP is used to obtain new definitions for UD and UMFA. From the cable force to joint space wrench relationship (5.3), it can be seen that for a given wrench w, the cable force lies within the affine subspace defined by f = ( L(q) T) w + N(q)ξ = fe + N(q)ξ, (5.8) where A denotes the Moore-Penrose pseudo-inverse of the matrix A, N(q) R µ (µ n) denotes the orthogonal null space basis of the matrix L(q) T, ξ R µ n is the null space coordinate vector and f e R µ denotes the unconstrained least squares actuator force. Using the definition (5.8), a lower bound on f with respect to w can be determined from the singular values of L and the unconstrained solution f e, such that f = f e w σ 1 (L(q)), (5.9) where σ 1 (L(q))... σ n (L(q)) are the singular values of the Jacobian matrix L. To compute an upper bound on f with respect to w, the effect of the unilateral actuation constraint (4.1) must be considered. As a result, an upper bound can only be determined by considering both the unconstrained solution f e and the minimum necessary compensation force N(q)ξ, such that (4.1) is satisfied for all unit wrenches. In [98], an upper bound on f with respect to w was determined by assuming that the unconstrained force with the largest magnitude f e occurs in the coordinate for which the null space vector n is the least capable of compensating for. It was shown that using the relationship between the norm and singular values, the largest unconstrained force is given by f e w σ n (L(q)). (5.1) In addition, it was also shown that when µ = n + 1, the coordinate for which the null space vector n is least capable of compensating for, corresponds to the element associated 18

131 Quantification of CDPR Motion Generation 5.2 Unilateral Dexterity Analysis with n min as defined by (5.6). It follows that the UD (5.5) is maximised when n min is at its maximum and that this ideally occurs in the case at which n is the isotropic vector n = [ 1 µ... 1 µ ] T. (5.11) For the µ > n + 1 case, the critical difference compared to the case of [98] in computing an upper bound on f with respect to w is that N(q) represents a subspace rather than a single vector. As such, the compensation force can be applied in any direction that lies within this subspace. As in the fully restrained case, the null space must intersect with the positive orthant to ensure that L positive spanning [98]. Furthermore, the ideal choice of compensation force corresponds to the isotropic vector (5.11) since this vector implies equal capability for force compensation in all directions. If this vector is not within the span of N(q), the best compensation force direction would correspond to the non-negative vector that is closest in effect to (5.11). This is the unit null space vector with largest possible minimum element, which is given by the vector n R µ that solves the optimisation problem subject to ( ) n = arg max min (n i), (5.12) n R µ i {1,...,µ} L(q) T n =, (5.13) n >, (5.14) n = 1. (5.15) The problem ( ) has a non-convex quadratic equality constraint (5.15) and an open linear inequality constraint (5.14). As such, a direct solution of ( ) may be difficult to compute. The following theorem shows that the vector n can be computed by solving a QP in place of directly solving ( ). The use of a QP in place of the non-convex quadratic equality constrained problem ( ) allows the problem to be solved using readily available QP tools. Theorem 5.1. The solution to the optimisation problem ( ) is given by the vector n = 19

132 5.2 Unilateral Dexterity Analysis Quantification of CDPR Motion Generation t t where subject to ( ) t = arg min t R µ t T t, L(q) T t =, t 1. (5.16) Proof. This proof shows that the QP (5.16) can be used to obtain the unique solution to the optimisation problem ( ). This is achieved by providing a bijective mapping which can be used to map between the different objective functions and constraints. Let g 1 : S µ 1 > M µ 1 > be the projection mapping which maps a vector from the set g 1 (n) = n min i (n i ), (5.17) S µ 1 > = {n R µ : n = 1, n > }, (5.18) to the set { } M µ 1 > = t R µ : min(t i ) = 1, t >. (5.19) i By definition, (5.17) is injective over the defined domain since min i (n i ) > only positively scales each point in S µ 1 >. Let g 2( ) : M µ 1 > S µ 1 > be the projection mapping g 2 (t) = t t. (5.2) It can be seen that this mapping is also injective and that the mapping is the inverse mapping of g 1 since g 2 (g 1 (n)) = 1. As a result, (5.17) is a bijective mapping. By the set definition (5.18), the optimisation problem ( ) can be rewritten as ( ) n = arg max min(n i ), n S µ 1 i > 11

133 Quantification of CDPR Motion Generation 5.2 Unilateral Dexterity Analysis subject to L(q) T n =. (5.21) Applying the mapping (5.2) as a change of variable on the optimisation (5.21) it can be seen that the optimisation (5.21) is equivalent to the optimisation problem which can be rewritten as ( ( )) t ti = arg max min, t M µ 1 i t > subject to L(q) T t =, (5.22) t t = arg max t M µ 1 > ( ) mini (t i ), t T t subject to L(q) T t =. (5.23) By the set definition (5.19), min i (t i ) = 1 for all t M µ 1 >. As a result, the optimisation (5.23) can be rewritten as ( ) 1 t = arg max, t M µ 1 t T t > subject to L(q) T t =. (5.24) Given that the objective function in (5.24) possesses a constant numerator, the objective is maximised when the denominator is minimised. As such, (5.24) is equivalent to ( t = arg min t t) T, t M µ 1 > subject to L(q) T t =. (5.25) An equivalence between the optimisation (5.25) and the QP (5.16) is then obtained by noting three properties. First, by the definition (5.19), t M µ 1 > implicitly satisfies the constraint t 1. Second, the square root has monotonic growth with respect to its input and third, due to the convexity of (5.16) the optimal solution given the constraints (which 111

134 5.2 Unilateral Dexterity Analysis Quantification of CDPR Motion Generation do not allow for to be a feasible solution) must lie on the boundary of the feasible set which corresponds to points in M µ 1 >. The final solution n R µ is then obtained by mapping the optimal solution t back to the set S µ 1 > through the use of (5.17). With knowledge of the optimal null space vector n, a bound on the value of ξ can be determined by assuming that f e is at maximum in the direction for which n is least capable of compensating for. As such, using (5.1) and ( ), ξ is given by ξ = max ( f e ) n min w σ n (L(q)) n min (5.26) where n min is defined in a manner consistent with (5.6). Using the wrench-force relationship (5.8) and the bounds (5.1) and (5.26), an upper bound on f is given by f = f e 2 + ξ 2 ( n w σ n (L(q)) 2 min) + 1 n. (5.27) min With the bounds (5.9) and (5.27), the UD and UMFA metrics can be computed such that their meaning is consistent with (3.72) and (3.74). From (5.27) it is noted that f While, from the lower bound (5.9) it can be observed that ( n w 2 min) + 1 σ n (L(q)) n. (5.28) min 1 f σ 1(L(q)). (5.29) w Noting the relationship between (5.28), (5.29) and (3.72), the UD for the redundantly restrained case can then be defined as µ n min (q) n ψud(q) RR ψ = dex (q) n min (q) 2 +1 min (q), (5.3) n min (q) < where the reciprocal of (3.72) is taken to ensure that the measure is finite and the scaling 112

135 Quantification of CDPR Motion Generation 5.2 Unilateral Dexterity Analysis by µ + 1 is applied to ensure consistency with (5.5). Similarly using (5.27) and its relationship with (3.74), the UMFA for the redundantly restrained case is given by µ n min (q) n ψumfa RR (q) = ψ MFA (q) n min (q) 2 +1 min (q), (5.31) n min (q) < where the reciprocal and scaling by µ + 1 are applied to ensure consistency with (5.7). It is noted that the solution presented in Theorem 5.1 corresponds to n in the case in which µ = n + 1. As such, the generalised definitions for UD (5.3) and UMFA (5.31) are equivalent to (5.5) and (5.7), respectively for that case. Unilateral Dexterity Analysis for Redundantly Restrained Cable Robots with Unnecessary Actuators The generalised definitions for the UD and UMFA measures, as defined by (5.3) and (5.31), respectively, assume that all of the cables in a system must be active in producing wrench at a given pose. Due to the use of the isotropic vector (5.11), these definitions seek to balance the force evenly across all cables. It is however known that when µ > n + 1, it is possible that there exists a subset of the µ cables which can be used to produce wrench in all directions for the given pose. The effect of this property is that the direct use of the generalised UD and UMFA definitions may not be reflective of the physical interpretation provided by (3.72) and (3.74) as a result of the unnecessary cables. As an example of this, Figure 5.1 depicts the Jacobian rows for case where [ ] T L(q) = (5.32) 2 It can be seen that the UD obtained from the direct application of (5.3) for this Jacobian matrix is given by ψud RR (q) = This value is however not reflective of the physical interpretation (3.72), where an error propagation is obtained with ψud RR (q) = 1 if the 4th cable is considered passive. 113

136 5.2 Unilateral Dexterity Analysis Quantification of CDPR Motion Generation 1.5 ww 2 ll 44 ll 22 ll 11.5 ll ww 1 Figure 5.1: Projection of the rows for the Jacobian (5.32) To address the identified issue with the definitions (5.3) and (5.31), this subsection extends these definitions to select the subset of the µ cables which maximises the UD and UMFA. In determining the optimising subset, positive basis theory is first reviewed. A set of vectors V = {α 1,..., α k } R n is said to be positively independent if for all i {1,..., k} there exists no β such that α i = k j=1,j =i β jα j [162]. A set of positively independent vectors V is said to form a positive basis of R n, if the positive span given by pos(v) = { β R n : β = } k ν i α i, ν i i i=1 (5.33) is equal to R n. As a result, the system with wrench-force mapping (5.3), subject to the actuation constraint (4.1), is not unilaterally singular at a given pose q if it can be shown that the Jacobian matrix L contains a positive basis. From [162], it is known that a positively independent positive basis on R n can be constructed using anywhere from n + 1 to 2n positive basis vectors. This means that when µ > n + 1, the generalised UD and UMFA measures may make use of a Jacobian matrix that contains rows which consider the effect of unnecessary cables. This indicates that the values of the metrics could possibly be improved by looking at a subset of the cables rather than the complete set. Letting M(i, µ) be the set of all subsets of {1,..., µ} that contain i unique elements and let N (j) M(i, µ) be the jth element of M(i, µ). The generalised UD and UMFA metrics are then given by ψ UD (q) = max ψ RR i {n+1,...,min(2n,µ)}, j {1,...,( µ i )} UD i,j (q) (5.34) 114

137 Quantification of CDPR Motion Generation 5.3 Acceleration Set Analysis and ψ UMFA (q) = max ψ RR i {n+1,...,min(2n,µ)}, j {1,...,( µ i )} UMFA i,j (q), (5.35) respectively, where ψ RR UD i,j (q) and ψ RR UMFA i,j (q) refer to the unilateral dexterity and unilateral maximum force amplification obtained by using the element N (j) of the set M(i, µ). 5.3 Acceleration Based Motion Generation Analysis Section 5.2 discussed the dexterity based analysis of CDPRs given the effect of unilateral actuation constraints. This analysis considered motion generation by identifying poses in which lower cable forces would be required to generate arbitrary wrench. In this section, acceleration based motion generation is presented as an alternative method for the analysis of CDPR motion generation. Common to each of the motion generation problems considered in Problem Statements is the need to construct a continuous joint space trajectory. As a result, the analysis of CDPR motion generation capability should consider the capability of the CDPR to produce acceleration and/or velocity in the joint space. Using the existing wrench-set based analysis techniques considered in Chapter 3.4.4, such capability could possibly be evaluated by using the EoM (4.2) to relate the desired kinematic variables to the desired wrench sets. With this approach and the definition of the capacity margin (Definition 3.1), it can be seen that for each fixed pose q, with known q and w ext, the capacity margin ψ CM (q) represents the magnitude of the term M(q) q that the CDPR can produce. From this magnitude, a bound for the maximum joint acceleration q that the CDPR is capable of producing in all directions (acceleration capability) can be expressed as ) ( ) σ n (M 1 (q) ψ CM (q) q σ 1 M 1 (q) ψ CM (q). (5.36) The inequality (5.36) only provides an estimate on the CDPR s true acceleration capability. This is due to the need to convert the wrench measurement into a measurement of acceleration for the studying of acceleration capability. In this section, motion generation capability measures are derived through analysis that takes place directly in the space 115

138 5.3 Acceleration Set Analysis Quantification of CDPR Motion Generation of accelerations. Firstly, Section defines the set of all possible accelerations (available acceleration set) and notes its key properties. Using this set, Section introduces the acceleration capability measure (ACM) as an acceleration based equivalent of the capacity margin. Section presents the static equilibrium ACM (SEACM) as a special case of the ACM which can be used both to determine the CDPRs capability to produce acceleration from rest and to approximate the ACM. Finally, Section uses the accelerations based measures to estimate the maximum speed at which the CDPR can operate Available Acceleration Set Analogous to the wrench set W(q), the available acceleration set A(q, q) can be defined as the set of all accelerations that the CDPRs can produce at a given q, q and w ext. Without loss of generality, it will be assumed that no external wrenches act on the system such that w ext =. As such, the available acceleration set A(q, q) for the CDPR (4.2) is defined as A(q, q) = { } a R d : a = L T f C G, f [f, f], (5.37) where L (q) = L(q)M 1 (q), C (q, q) = M 1 (q)c(q, q) and G (q) = M 1 (q)g(q). Since the available acceleration set A(q, q) is a convex polytope, it can be described by b linear inequalities of the form Ha η, where a R n, H R b n and η R b. Figure 5.2 shows an example of the relationship between the sets W(q) and A(q, q) for a given pose q, where the numbers indicate the corresponding edges of the sets within the wrench and acceleration spaces and the sets are consistent with acceleration and wrench sets that could be obtained for a 2 DoF 4 cable manipulator. For a given q and q, the mapping between W(q) and A(q, q) consists of a translation due to gravitational and centrifugal/coriolis forces as well as a matrix multiplication. As a result, A(q, q) is also a translated zonotope that possesses the same number of vertices and edges as W(q), where the centre is located at a c = C G. Non-zero w ext can be considered as a translation on A(q, q). If w ext ϖ, the measures developed in the subsequent sections can consider unknown external wrench by contraction of A by radius ϖ. L (q) is defined such that L T (q) = M 1 (q)l T (q). This means that L (q) = L(q)M T (q) = L(q)M 1 (q), since M(q) is symmetric and positive definite. 116

139 Quantification of CDPR Motion Generation 5.3 Acceleration Set Analysis WW(qq) ww 2 1 (CC + GG) 2 MM 1 WW CC GG 1 ww 1 aa 2 2 AA(qq, qq ) aa Figure 5.2: Available wrench and acceleration sets An important artefact of the generalised inertia multiplication used in the mapping between W(q) and A(q, q) is that the closest face used in the calculation of the capacity margin (Definition 3.1) may not be the closest face to the corresponding point in the acceleration space, as a result of the different inertias associated with each link. For example, in Figure 5.2 the point C(q, q) + G(q) is closest to edge 1, whereas the corresponding point in the acceleration space (a = ) is closest to edge 6. This means that, the capacity margin ψ CM is not linearly related to the capability of the CDPR to produce acceleration. This effect explains the approximate nature of (5.36) and highlights the benefits of direct analysis using the available acceleration set (5.37) Acceleration Capability Measure In a similar manner to wrench-set based workspace metrics, acceleration based workspace metrics can be derived by considering the relationship between a desired acceleration set A des (q, q) and the set A(q, q). To analyse this relationship, let the acceleration capability measure (ACM) be defined as the acceleration space equivalent of the capacity margin ( ) ψ ACM (q, q) = min min χ (j,k)(q, q), (5.38) j=1,...,v k=1,...,h where the degree of constraint satisfaction χ (j,k) (q, q) is the signed distance from the jth vertex of A des (q, q) to the kth face of A(q, q). Consistent with the measures of Section 5.2, the ACM is presented for the case of dimensionally homogeneous units for the simplicity of presentation. Non-dimensionally homogeneous units can also be considered through the use of the Jacobiam matrix alteration of [64]. 117

140 5.3 Acceleration Set Analysis Quantification of CDPR Motion Generation Figure 5.3 shows a graphical representation of the ACM for a given A des (q, q), A(q, q), q and q. It can be seen that for fixed q and q, the manipulator possesses the capability to produce the A des (q, q) and the ACM then quantifies the capability of the CDPRs to produce additional joint accelerations. Furthermore, if ψ ACM (q, q) >, then the desired acceleration set can be produced and there is capability to produce an additional acceleration ā R d, provided that ā ψ ACM (q, q). Unlike the capacity margin, the acceleration capability ψ ACM (q, q) is a function of both q and q. As such, the additional acceleration that can be produced changes with joint velocity. This complicates the analysis of the ACM when compared to that of the capacity margin. A joint velocity independent approximation of this measure will be considered in the subsection that follows. aa 2 AA(qq, qq ) aa 1 ψψ AAAAAA AA ddeeee (qq, qq ) Figure 5.3: Example of the acceleration capability measure ψ ACM - This represents the closest distance between the desired acceleration set A des (q, q) and the available acceleration set A(q, q) Static Equilibrium Acceleration Capability Measure As identified in Chapter 2, the ability to maintain static equilibrium (SE) is an important and commonly considered workspace condition in the study of CDPRs. In order to provide a quantification of this capability, the static equilibrium ACM (SEACM) is defined as the measure of the CDPR s capability to produce acceleration from SE. This means that the SEACM represents a special case of the ACM in which ψ SEACM (q) = ψ ACM (q, ), A des = {}. (5.39) 118

141 Quantification of CDPR Motion Generation 5.3 Acceleration Set Analysis By definition (5.39), the SEACM represents the minimum distance from A des = to A(q, ). In contrast, when A des =, the ACM (5.38) represents the minimum distance from to A(q, q) for the given q. Since the only q dependent term in (5.37) is the Coriolis and Centrifugal term C (q, q), knowledge of the SEACM can also be used to approximate ψ ACM (q, q), for the case where A des =, provided that a bound on C (q, q) is known. Such an approximation would simplify the analysis of motion generation such that speed and acceleration limits for the CDPRs can be determined. This is because the SEACM can be evaluated without the need for the trajectory to be prescribed a priori. To determine a q dependent bound on C (q, q), it is noted that C(q, q) has a quadratic relationship with q. This means that C(q, q) and C (q, q) can be represented as q T Φ 1 (q) q q T Ψ 1 (q) q C(q, q) =., C (q, q) =., (5.4) q T Φ n (q) q q T Ψ d (q) q ( (M where Φ i R n n i {1,..., n} and Ψ i (q) = n j=1 1 (q) ) ) ij Φ j with ( M 1 (q) ) ij referring to the element at the ith row and jth column of the matrix ( M 1 (q) ). Since it is known that there exists a scalar function ι Φ (q) such that C(q, q) ι Φ (q) q 2 [138], a scalar function ι Ψ (q) can always be found such that C (q, q) ι Ψ (q) q 2. (5.41) Inequality (5.41) provides a worst case bound on how the magnitude of C (q, q) varies as a function of the joint speed q. Since the term C (q, q) represents a translation acting on the entire set A(q, ) and ψ ACM (q, ) = ψ SEACM (q), the inequality can be used to obtain a bound on ψ ACM (q, q) as a function of q by considering the worst possible translation. As a result, the SEACM can therefore be related to the ACM in the case where A des (q, q) = through the inequality ψ ACM (q, q) ψ SEACM (q) ι Ψ (q) q 2. (5.42) There are multiple different methods that can be utilised to compute the scalar functions ι Φ (q) and ι Ψ (q) [138]. One example method of computation for ι Ψ (q) is provided in Section

142 5.3 Acceleration Set Analysis Quantification of CDPR Motion Generation From (5.42), the ACM ψ ACM (q, q) is therefore non-negative if ψ SEACM (q) ι Ψ (q) q 2. (5.43) This means that the CDPR always possesses the capability to produce acceleration in all directions provided that q < ψ SEACM (q). (5.44) ι Ψ (q) Inequality (5.42) can also be used as an estimation of the magnitude of the acceleration that can be produced for any known robot speed. Defining the capability hypersphere to be the set of accelerations A ψ SEACM (q) = {a R n : a ψ SEACM (q)}, (5.45) (5.42) shows that ψ ACM is bounded by the distance between the surface of A ψ SEACM (q) and the hypersphere that bounds the translation C (q, q). Figure 5.4 shows the SEACM and the corresponding capability hypersphere (5.45) for an example acceleration set. It can be seen that the capability hypersphere represents the largest acceleration hypersphere that is contained within A(q, ) and has a centre at q =. The advantage of this representation is that the hypersphere can be expressed using a single variable ψ SEACM which has a more intuitive physical meaning when compared with the inequalities necessary in describing the zonotope A(q, ). Furthermore, the capability hypersphere allows the velocity of the CDPRs to be considered independent of its direction through (5.42). From this, kinematic limits on both speed and acceleration can be obtained without the need to search through the acceleration set Maximum Controllable Speed Measure In Chapter 4, it was shown that Problem Statements 4.1 and 4.3 were guaranteed to have a feasible solution if they were contained within the same positive controllable workspace connected component Q PCCC (q ). The method of constructing such regions however was limited to the consideration of the joint velocity q = and therefore did not pro- 12

143 Quantification of CDPR Motion Generation 5.3 Acceleration Set Analysis aa 2 AA(qq, qq ) aa 1 ψψ SSSSSSSSSS AA ψψ SSSSSSSSSS(qq) Figure 5.4: Example of the SEACM and capability hypersphere - This measure corresponds to the ACM in which q = and A des (q, q) =. vide any specification onto the velocity profiles that could be used in the solutions to Problem Statement 4.3. Using (5.42), it will be shown in this subsection that it is possible to obtain a conservative estimate of the maximum speed ψ Vmax (q) such that for all q ψ Vmax (q) the CDPRs can return to static equilibrium (maximum controllable speed). The consideration of ψ Vmax (q) in place of q simplifies the analysis. In this work, a numerical approach will be adopted where the maximum controllable speed (MCS) in stopping at a known distance ɛ from q will be bounded. This bound will be obtained by considering the worst possible acceleration capability of the mechanism over the ball B(q, ɛ) where B(q, ɛ) = {q o R n : q o q ɛ}. (5.46) The use of this bound results in a conservative estimate of the MCS which can be determined independently of the direction of velocity such that a trajectory dependent search is not required. Using the well known constant acceleration formula ψ 2 Vmax(q) = 2a max (q)ɛ, (5.47) a bound on the MCS can be determined by solving for a max which represents an estimate on the maximum constant acceleration produced over the set B(q, ɛ) (5.46). By definition, the ACM represents the maximum acceleration that can be produced in all directions for 121

144 5.3 Acceleration Set Analysis Quantification of CDPR Motion Generation a known q and q. From (5.42), an estimate ˆψ ACM (q, q) of the ACM is given by ˆψ ACM (q, q) = ψ SEACM (q) ι Ψ (q) q 2, (5.48) where using (5.4) one possible bounding scalar function ι Ψ (q) for (5.41) is given by ι Ψ (q) = i=1 n (σ 1 (Ψ i (q))) 2, since n n C (q, q) = ( q T Ψ i q) T ( q T Ψ i q) q 2 (σ 1 (Ψ i )) 2. (5.49) i=1 i=1 The maximum acceleration is therefore estimated by finding the maximum value that ˆψ ACM (q, q) takes over B(q, ɛ). This value is estimated by setting q at its maximum value ψ Vmax and letting ψ SEACM and ι Ψ be fixed to their minimum and maximum values over the interval B(q, ɛ), denoted as ψ SEACMmin and ι Ψmax, respectively. This results in the choice of a max as a max (q) = ψ SEACMmin (q) ι Ψmax (q)ψ 2 Vmax. (5.5) Substituting the expression for a max (5.5) into the expression for ψ Vmax (5.47), the MCS is conservatively estimated over B(q, ɛ) as ψ Vmax (q) = 2ψ SEACMmin (q)ɛ 1 + 2ι Ψmax (q)ɛ. (5.51) Equation (5.51) computes the MCS under the assumption that the distance to rest ɛ is fixed. To account for an unknown ɛ, Algorithm 5.1 is proposed, where q R n is a given pose and i max is the maximum number of iterations allowed in computing the solution. Algorithm 5.1 Iterative method for determining ψ Vmax while (i i max ) do ɛ ɛ + i q, where q is the constant sample size; ψ SEACMmin (q) min q B(q,ɛ) ψ SEACM (q); ι Ψmax (q) max q B(q,ɛ) ι Ψ (q); 2ψ ψ Vmax (q) SEACMmin (q)ɛ 1+2ι Ψmax (q)ɛ ; i i + 1; return ψ Vmax (q); 122

145 Quantification of CDPR Motion Generation 5.4 Examples 5.4 Examples of Motion Generation Capability Analysis This section demonstrates the use of the derived metrics in quantifying CDPR capability. First in Section 5.4.1, the CDPR motion generation capability insight provided by the dexterity based (Section 5.2) and acceleration based (Section 5.3) measures are illustrated using the two link planar revolute revolute MCDR introduced in Chapter The acceleration based measures are then further investigated using the 6 DoF spatial SCDR from Chapter in Section Finally, Section considers the unilateral dexterity based measures for a spatial CDPR that is actuated by 8 cables, such that µ > n Motion Generation Capability Analysis of a 2 link MCDR This case study looks to illustrate the insights into motion generation capability provided by the proposed dexterity based and acceleration based measures. The case study makes use of the two link planar (Revolute-Revolute) CDPR (depicted in Figure 5.5) that was considered in Chapter AA 1,1,2 ll, ff R μμ ll 1 qq 2 oo 2 qq, ww R nn ll 4 ll 2 qq 1 ll 3 AA 1,1, OO/oo 1 Figure 5.5: Example two link planar (Revolute-Revolute) CDPR Unilateral Dexterity Analysis The unilateral dexterity measure provides a quantification of the propagation of error between the joint and cable spaces. As a result, motions that maximise this measure 123

146 5.4 Examples Quantification of CDPR Motion Generation possess greater robustness to disturbance. Figure 5.6 depicts the UD measure over all π poses of the WCW (Figure 4.9), in which a step size of 18 was used in the construction of this workspace. From this figure, it can be observed that the UD of this MCDR ranges from zero at poses outside of or on the boundary of the WCW to a maximum of.694 at approximately q = [ ] T. It can also be seen that the measure is in general larger at points away from the workspace boundaries. This suggests that the mechanism should be operated at such points to maximise its robustness. It should however be noted that within the workspace different regions are clearly more capable than others. In particular, the quantification displays greater UD for larger values of q 2 in which the mechanism folds onto itself. Furthermore, while the WCW consists of two connected components, it is near singular when q 1 = ± π 2. This results from the links being located at body space coordinates that are near to the physical location of the base attachments. From these results, the UD workspace quantification indicates that despite their being two connected components in this workspace, care should be taken as q 1 π 2 lack of robustness may ultimately lead to poor mechanism performance. since the q 2 (rad) 5π/6 5π/9 5π/18-5π/18-5π/9-5π/ π/6-5π/9-5π/18 5π/18 5π/9 5π/6 q 1 (rad) Figure 5.6: Unilateral dexterity workspace quantification for the two link planar (Revolute-Revolute) manipulator depicted in Figure 5.5 Similar to the UD measure, the UMFA workspace measure quantifies the relationship between the joint and cable spaces, where in this case large UMFA indicates small cables forces will be needed to produce arbitrary joint space wrench. Figure 5.7 depicts the UMFA workspace quantification for the two link planar (Revolute-Revolute) MCDR. It 124

147 Quantification of CDPR Motion Generation 5.4 Examples can be seen that the UMFA measure possesses a minimum value of at the workspace boundaries and possesses its maximum value of.61 at q = [ π] T. These results show that the mechanism s UMFA quantification possesses a similar pattern to that of the UD measure, however the UMFA has an in general slightly lower value and is larger for small q 1 values. From this result, the mechanism should be operated in these regions in order to minimise the necessary cable forces required both in opposing undesired disturbance wrenches and in maximising the capability to produce motion. 5π/6 5π/9.6.5 q 2 (rad) 5π/18-5π/18-5π/9-5π/ π/6-5π/9-5π/18 5π/18 5π/9 5π/6 q 1 (rad) Figure 5.7: Unilateral maximum force amplification workspace quantification for the two link planar (Revolute-Revolute) manipulator depicted in Figure 5.5 Acceleration Set Analysis The available acceleration set represents the set of all accelerations that can be produced by the CDPR at a given pose and joint velocity. The SEACM workspace metric then quantifies the set A(q, ) in terms of a single measure that describes the magnitude of acceleration that can be produced in all directions. As a result, the SEACM provides a measure of motion generation capability through its quantification of the capability to accelerate from rest. Furthermore, through (5.42) the SEACM can also be used to approximate how capable the mechanism is in changing direction and/or speed during a motion. This knowledge is of particular importance to joint space motion generating problems, in which the capability to produce sharp changes of motion is desirable in counteracting for the effect of disturbances. 125

148 5.4 Examples Quantification of CDPR Motion Generation To visualise the available acceleration set, SEACM and corresponding capability hypersphere, Figures 5.8(a) and 5.8(b) show the available acceleration sets at static equilibrium for two example poses of the two link planar revolute revolute MCDR, where q 1 = [ π 6 π 12 ]T and q 2 = [ ] 5π T, 6 respectively. From the A ψ SEACM(q) sets drawn in these figures, it can be seen that at pose q 2, the mechanism can produce rad/s 2 of acceleration in all directions, making the CDR more capable than at pose q 1 in which the mechanism can only produce rad/s 2. This higher acceleration indicates that it is more favourable for the mechanism to start motion at poses in the vicinity of q Aa(q,) A ΨSEACM (q) 6 4 Aa(q, ) A ΨSEACM (q) κ(q) q 2 q2 (rad/s 2 ) q2 (rad/s 2 ) q q1 (rad/s 2 ) (a) Available Acceleration Set at q q 1 (rad/s 2 ) (b) Available Acceleration Set at q 2 Figure 5.8: Available acceleration sets at different poses Figures 5.8(a) and 5.8(b) also depict the capability hyperspheres (5.45) for each of the example poses. Although, these hyperspheres only represent a small fraction of the acceleration set volume, they provide the knowledge of the maximum magnitude of acceleration that can be produced in any direction. This means that the capability hypersphere can be used in combination with (5.42) to approximate the acceleration capability of the mechanism at a given pose and joint speed. This can be observed using the green dashed circles of Figure 5.8(b) that represent the possible worst case magnitudes of the vector C (q, q) obtained using the inequality (5.49). As such, the worst case acceleration that can be produced at a given q then corresponds to the radial distance from the capability hypersphere boundary to the appropriate green dashed circle. By performing the above analysis at every joint space pose, Figure 5.9 depicts the SEACM over all poses of the PCW (Figure 4.11), where the workspace quantification was constructed using a step size of π 18 and a maximum cable force for each cable of 126

149 Quantification of CDPR Motion Generation 5.4 Examples 25N. From this figure, it can be observed that the SEACM of the manipulator ranges from zero at poses outside of or on the boundary of the PCW to a maximum of rad/s 2 at approximately q = [ ] T. The changing magnitudes within the figure also indicate that the CDPR is more capable of accelerating within different disjoint regions of the PCW. This information can be used to evaluate different trajectories, such as Path 1 and Path 2 as shown in Figure 5.9. Particularly, the SEACM indicates that it is possible for the mechanism to accelerate at larger magnitude for Path 2 then it is for Path 1. However, using (5.42), the SEACM also indicates that the change in direction used in Path 2 may be difficult to achieve in practice, due to the limited capability to accelerate over a large region of the middle of the path. From this analysis, paths such as Path 1 can be identified as more desirable to be applied onto this CDPR. This information can also be used to bias the solution to the joint space point to point motion planning problem (Problem Statement 4.1) and the operational space motion generating problems (Problem Statement 4.2, 4.4 and 4.6) such that they remain within more robust regions. 5π/6 5π/9 5π/18 Path 1 Path q 2 (rad) -5π/ π/9 4-5π/6 2-5π/6-5π/9-5π/18 5π/18 5π/9 5π/6 q 1 (rad) Figure 5.9: Static Equilibrium Acceleration Capability Measure Ψ SEACM (q) - It can be seen that Path 2 possesses higher initial acceleration capability compared to Path 1, however, the path is limited to lower speeds due to the lower SEACM in the path s middle. It should be noted, that the regions of high SEACM are all contained within disconnected components of the WCW (Figure 4.9). This is consistent with the intuition that within the WCW, the CDR is likely to be more capable in generating motion since the cable forces can produce accelerations larger than that of the gravitational force. How- 127

150 5.4 Examples Quantification of CDPR Motion Generation ever, this result does not hold over the entire WCW. This is due both to the practical cable force upper bounds not considered in wrench closure analysis and the proximity of certain poses to unilateral singularities [98]. The results are similar to what was observed in the construction of the UD and UMFA quantifications. Application of the ACM to Trajectory Generation As a result of (5.42), the capability hypersphere and SEACM can be used to identify limits for joint space trajectory generation (Problem Statement 4.3). Consider the example paths shown in the Figure 5.9. For each path, all poses have non-zero SEACM. This means that a trajectory can be generated by the CDPR to follow each of the paths. Furthermore at each pose of the path, Figure 5.1 depicts the estimate of the acceleration limits obtained using (5.42) for each possible choice of speed. On this figure a desired trajectory corresponds to a curve in the path parameter and q, in which the trajectory generation problem represents the problem of selecting a q for each value of the path parameter. A valid trajectory can therefore be identified by ensuring that the desired acceleration always remains within the non-negative component of q as shown in the figure. (a) Acceleration Contour for Path 1 (b) Acceleration Contour for Path 2 Figure 5.1: Acceleration contours for the desired paths The MCS and Path Evaluation The MCS represents an estimate on the maximum speed at which the CDPR can be brought back to static equilibrium. As such, the MCS can be used to provide additional 128

151 Quantification of CDPR Motion Generation 5.4 Examples insight into the CDPR s motion generation capability, where maximisation of the MCS in Problem Statements 4.1, and 4.2 will result in motions that can be executed quicker. Figure 5.11 shows the MCS for the example mechanism. It can be seen that the relative magnitudes of the MCS follow a similar pattern to that of the SEACM. This indicates that the CDPR is able to return to static equilibrium at higher speeds in the regions at which it has high acceleration capability at static equilibrium. Since this is the case, the operation of the mechanism should favour these regions wherever possible in order to maximise both the speed of operation and the robustness of the trajectory tracking. 5π/6 7 5π/9 6 5π/18 5 q 2 (rad) -5π/18 Path 2 Path π/9 2-5π/6 1-5π/6-5π/9-5π/18 5π/18 5π/9 5π/6 q 1 (rad) Figure 5.11: Maximum Controllable Speed Measure Ψ Vmax (q) - It can be seen that Path 2 possesses predominately higher MCS when compared to Path 1 indicating that this path can likely be executed at higher speed. Compared to the ACM, the regions of largest MCS are larger than that of the regions of largest SEACM and the maximum value of 7.69 rad/s is instead found at approximately q = [ π] T. This is consistent with the filtering approach presented in Algorithm 5.1 and suggests that it is safer to use the CDPR at higher speeds when it is closer to the centre of SW regions. The SEACM should however still be considered for sharp changes in paths, since the MCS does not explicitly measure the capability to produce acceleration. The information contained within Figure 5.11 represents a conservative estimate of the maximum speed at which the CDPR can be guaranteed to be able to return to static equilibrium. This means that if a motion satisfies the kinematic constraints, then it will be possible to connect back to a desired path and/or pose in the presence of disturbances. 129

152 5.4 Examples Quantification of CDPR Motion Generation Figure 5.11 shows two possible trajectories that could be used to connect two desired poses and Figure 5.12 shows the specific MCS values over each of the paths with regards to a path parameter. It can be seen from Figure 5.12 that Path 2 is more favourable since it has larger MCS over nearly all of the path. This suggests that the CDPR is more capable of generating motion throughout Path 2, resulting in a likely quicker time of execution and robustness (resulting from the SEACM over the corresponding region) Path 1 Path MCS (rad/s) Path Parameter Figure 5.12: Comparison of the MCS over Paths 1 and Acceleration Capability Analysis of a Spatial 6 DoF CDPR To show the application of acceleration based metrics to higher dimensional systems, consider the six DoF spatial SCDR from Chapter as shown in Figure Figure 5.13: Six DoF spatial cable driven manipulator actuated by seven cables 13

153 Quantification of CDPR Motion Generation 5.4 Examples Figure 5.14 shows the x-y cross sections of the SEACM at different values of z. For this mechanism, the SEACM was computed with f i 1N for all i {1,... 7} and a uniform sampling of.1m was used. Utilising the information obtained from the SEACM, the favourable regions of operation for this mechanism can be observed. In this case, these regions correspond to the regions towards the centre of the workspace in which the SEACM for each slice is significantly greater y (m) y (m) y (m) x (m) x (m) x (m) (a) z =.1m (b) z =.5m (c) z =.9m Figure 5.14: SEACM slices for the spatial SCDR Figures 5.15 depicts the MCS measure over a set of constant orientation slices at different values of z. It can be observed from Figures 5.14 and 5.15 that the mechanism is again more capable of generating motion at poses that lie within a subset of the WCW (Figure 4.14). Using these measures, the speed at which the task should be carried out can be estimated in a manner which considers the cable force limits y (m) y (m) y (m) x (m) x (m) x (m) (a) z =.1m (b) z =.5m (c) z =.9m Figure 5.15: MCS slices for the spatial CDPR 131

154 5.4 Examples Quantification of CDPR Motion Generation Unilateral Dexterity Analysis of a Spatial 6 DoF CDPR This case study shows the use of UD and UMFA for the purpose of identifying favourable regions of operation within the workspace of a CDPR. The case study considers a spatial SCDR (depicted in 5.16) which is actuated by 8 cables such that it satisfies the condition µ > n + 1. The pose of this robot is expressed using the XYZ-Euler angle convention such that q = [x y z α β γ] T and the system can be modelled using the procedure of Chapter 3.2 with the specification sets (3.38), (3.39) and (3.41), where the CDPR parameters are provided in Table 5.1. AA 5,1, AA 6,1, AA 8,1, AA 7,1, AA 1,1, ZZ AA 2,1, XX YY AA 4,1, AA 3,1, Figure 5.16: Six DoF spatial cable-driven robot actuated by eight cables Bodies mass mass value (kg) Inertia Inertia Tensor (kgm 2 ) Body 1 m I 1G1 I Cables Base Attachment Base Attachment Vector (m) Link Attachment Link Attachment Vector (m) Cable 1 r OA1,1, [ ] T r o1 A 1,1,1 [ ] T Cable 2 r OA2,1, [ ] T r o1 A 2,1,1 [ ] T Cable 3 r OA3,1, [ ] T r o1 A 3,1,1 [ ] T Cable 4 r OA4,1, [ ] T r o1 A 4,1,1 [ ] T Cable 5 r OA5,1, [ ] T r o1 A 5,1,1 [ ] T Cable 6 r OA6,1, [ ] T r o1 A 6,1,1 [ ] T Cable 7 r OA7,1, [ ] T r o1 A 7,1,1 [ ] T Cable 8 r OA8,1, [ ] T r o1 A 8,1,1 [ ] T Table 5.1: Six DoF eight cables spatial SCDR parameters Figure 5.17 shows the x y cross section of the UD workspace for different values of z and constant orientation (α, β, γ) = (,, ). It can be seen that within each of the workspace slices the UD is non-zero over a rectangular subset of the total operating re- 132

155 Quantification of CDPR Motion Generation 5.4 Examples gion. Within this subset, by the definition of UD, the CDPR satisfies the wrench closure condition and therefore the robot can produce wrench in all directions. Furthermore, it can be seen from Figure 5.17 that the UD metric varies throughout the workspace where the value of the metric increases as the value of z approaches the centre of the operating region. Within each of the x y cross sections depicted in Figure 5.17, the maximum value of the metric varies where the maximum value is obtained at x, y ±.1 when z = and goes towards x, y = as z moves towards the operating region centre. By interpreting Figure 5.17 in a manner similar to a condition number plot for the case of a conventional serial manipulator, it can be observed that the propagation of errors between the joint and actuation spaces varies throughout the workspace. It can also be seen that the magnification of the errors diminishes as the mechanism is moved towards the workspace centre. However, since the maximum value of the UD metric for a fixed z moves away from the centre as the mechanism is moved along the z axis, improved motion generating performance can result by developing trajectories which move away from the workspace centre as a function of z y (m) y (m) 4 3 y (m) x (m) x (m) x (m) 1 (a) z = m (b) z =.175m (c) z =.35m Figure 5.17: Constant orientation workspace slices for unilateral dexterity Figure 5.18 shows the x y cross section of the UMFA workspace for different values of z and constant orientation (α, β, γ) = (,, ). It can be seen that the value of the unilateral maximum force amplification is in general larger than that of the UD. However due to σ 1 (J(q)) being roughly constant over the workspace, the shape of the workspace remains similar to that of the UD. From this result, it can be noted that the actuation force required to produce wrench and oppose disturbances changes with a similar pattern to that observed in Figure 5.17, where lower forces are required for motions towards the 133

156 5.5 Conclusion Quantification of CDPR Motion Generation centre of the domain of operation y (m) y (m).1.1 y (m) x (m) x (m) x (m) (a) z = m (b) z =.175m (c) z =.35m Figure 5.18: Constant orientation workspace slices for UMFA 5.5 Conclusion In this chapter, metrics for the quantification of CDPR motion generation capability were derived. Firstly, existing dexterity based measures were generalised in order to provide the same physically intuitive meaning for systems that were subject to the unilateral actuation constraints. It was shown that these measures were critical since they provided a means of bounding the required cable force for an arbitrary joint space wrench. Second, the use of the acceleration set was proposed as a means of identifying new motion generation specific workspace measures. Using this approach, the metrics of acceleration capability measure, static equilibrium acceleration capability measure and maximum controllable speed were proposed as new measures to estimate both the maximum additional acceleration that the CDPR could produce and the maximum speed for which the CDPR could be guaranteed to be returnable to the positive controllable workspace. To demonstrate the application of the derived measures, different example CDPRs were considered. In each case, the use of the metrics identified regions within the mechanism workspace in which the CDPR was most capable of producing motion. The metrics can be incorporated into future motion generation algorithms as both constraints to ensure a minimum level of CDPR capability and as objective functions with which to maximise the robustness of generated motions. 134

157 Chapter 6 Operational Space Motion Generation for Multi-link Cable Driven Parallel Robots This chapter formulates a method to determine the cable forces and joint space trajectories necessary for tracking desired operational space motions. Firstly, Section 6.1 reviews the key features of operational space motion generation problems and motivates the use of probabilistic sampling methods in obtaining their solution. Section 6.2 proposes a framework to generate solutions for operational space motion generation problems consisting of separate motion planning and motion control modules. An expansive search tree inspired operational space motion planner is presented in Section 6.3. The application of the methodology is illustrated in both hardware and software in Section 6.4. Finally, Section 6.5 concludes the chapter. 6.1 Introduction Common to all operational space motion generation problems (Problem Statements 4.2, 4.4 and 4.6) is the need to determine a joint space trajectory q( ) : [t, t f ] R n which tracks a reference operational space motion y re f ( ) : I R η, where I [t, t f ] is a (possibly sampled) problem specific set containing time intervals of interest. Due to the typically non-linear multi-link cable-driven parallel robot (MCDR) forward kinematics y(t) = j(q), (6.1) where y R η and j : R n R η are defined as in (3.14), for a given reference operational space trajectory, the solution joint space trajectory is typically non-trivial to solve for. 135

158 6.1 Introduction MCDR Operational Space Motion Generation Furthermore, since many MCDRs are structurally redundant, such that they possess a smaller number of number of operational DoFs η relative to the mechanism DoFs n, the solution joint space trajectory is also not unique. As a result compared to joint space motion generation, operational space motion generation is complicated in two manners: 1) The joint space trajectory is undefined with the exception that it must consider the system dynamics and the additional time-varying end effector constraint j(q(t)) = y re f (t) t I. (6.2) 2) The conditions derived in Chapter 4.3 are no longer sufficient conditions on the feasibility of the motion, since they do not ensure that a continuous solution to the inverse kinematics problem exists within the identified region. Noting the unique properties of operational space motion generators, it can be observed that operational space motion generation problems can alternatively be considered as motion generation problems that possess dynamic constraints in the form of the unilateral actuation constraint f f f, (6.3) and the equation of motion (EoM) M(q) q + C(q, q) + G(q) = L(q) T f, (6.4) where the cable force terms f, f, f R µ, joint space pose q R n, Coriolis/centrifugal and gravitational wrench, C, G R n, generalised inertia matrix M : R n R n n and jointto-cable Jacobian matrix L : R n R µ n are as defined in Chapter 3, in addition to the time varying end effector constraint (6.2). As a result, these problems can be considered as (potentially high DoF) motion planning problems subject to time varying kinematic and dynamic (kinodynamic) constraints. For kinodynamically constrained motion planning problems, as noted in Chapter 2, single query probabilistic sampling methods have proven capable of handling constraints while possessing efficient computational performance. Such techniques have, however, typically not considered time varying kinematic constraints as would be required in Prob- 136

159 MCDR Operational Space Motion Generation 6.2 Framework lem Statements 4.4 and 4.6. Additionally, there has only been limited consideration of the operational space which has focussed on point to point motions. 6.2 Framework for Operational Space Motion Generation The critical features of the operational space motion generation problems include that the solution joint space trajectory is non-unique and non-trivial, that the solution must consider the time dependent end effector constraint (6.2) and that the feasibility conditions of Chapter 4 cannot be used to guarantee feasibility. The use of probabilistically complete probabilistic sampling methods can provide a guarantee of identifying a feasible solution if the solution exists and the model is accurate. Despite being computationally efficient, the requirement that the entire trajectory is generated for feasibility to be guaranteed means that these motion planners cannot be implemented in real time. In addition, when considering kinodynamic constraints such motion planners cannot consider optimisation without knowledge of a function to connect arbitrary states which is not in general known for CDPRs. This creates a trade-off in which the operational feasibility guaranteeing candidate operational space motion generation tools cannot be implemented in real-time, while other methods such as operational space control, as investigated in Chapter 2.4.3, could be implemented in real time but cannot ensure trajectory feasibility. For each case, the selection of the trajectory, as discussed in Chapter 5, can also only be considered in a heuristic sense without the use of separate less computationally efficient optimisation based motion generators. In this chapter, feasible online solutions to operational space motion generation problems are proposed to be implemented through the use of the conventional motion planning and motion control breakdown shown in Figure 6.1. In this approach, the motion planning module uses a simulation model consistent with the model from Chapter 3.2, in addition to an expansive search tree (EST) inspired motion planner to compute the reference cable force f re f ( ) : [t, t f ] R η and joint space pose q re f ( ) : [t, t f ] R n trajectories for a given reference operational space trajectory. The reference trajectories are then used as references by the motion controller which looks to track the defined 137

160 6.2 Framework MCDR Operational Space Motion Generation reference joint space motions in real-time while enforcing the system constraints. Problem Statements 6.1 and 6.2, present the revised problem statements for the motion planning and motion control sub-modules, respectively, in solving the original operational space trajectory tracking problem (Problem Statement 4.6). The remainder of the chapter will only consider this problem as it possesses the time varying constraint (6.2) throughout the complete time interval [t, t f ]. The focus is placed onto the solution of the operational space motion planning problem (Problem Statement 6.1), where the operational space motion control problem (Problem Statement 6.2) can be solved using the cable robot specific controllers of Chapter Offline Online q ref Controller y ref Motion Planning f ref f Plant q Figure 6.1: Proposed operational space motion generation framework Problem Statement 6.1: Operational Space Motion Planning (OSMP) Given: a CDPR simulation model specified by the joint dynamics specification set J dyn (3.35), the cable specification set C (3.23) and the end effector specification set (3.24), an allowable configuration set Q R n, an initial pose q Q, a non-negative scalar ɛ 1 and a twice differentiable operational space trajectory y re f ( ) : [, t f ] R η, Determine: a discrete reference cable force trajectory f re f [ ] : {,..., t f } R µ such that f re f (t) satisfies the unilateral actuation constraint (6.3) t {,..., t f }, the joint space trajectory q re f [ ] : {,..., t f } R n that results from applying f re f onto the CDPR with EoM (4.2) and initial pose q re f () = q satisfies q re f (t) Q t {,..., t f } and that the resulting operational space trajectory y mp [ ] : {,..., t f } R η that results from (3.14) satisfies max t {,...,t f } y mp [t] y re f (t) ɛ 1. Problem Statement 6.2: Operational Space Motion Control (OSMC) Given: a CDPR plant specified by the joint dynamics specification set J dyn (3.35), the 138

161 MCDR Operational Space Motion Generation 6.3 EST Based Motion Planner cable specification set C (3.23) and the end effector specification set (3.24), an allowable configuration set Q R n, an initial pose q Q, a non-negative scalar ɛ 2, a reference joint space trajectory q re f [ ] : {,..., t f } R n and a reference cable force trajectory f re f [ ] : {,..., t f } R µ, Determine: a cable force trajectory f( ) : [, t f ] R µ such that f(t) satisfies the unilateral actuation constraint (4.1) t [, t f ] and the joint space trajectory q( ) : [, t f ] R n that results from applying f onto the CDPR with EoM (4.2) and initial pose q() = q satisfies q(t) Q t [, t f ] and max t {,...,t f } q(t) q re f [t] ɛ Expansive Search Tree Based Motion Planning The OSMP problem (Problem Statement 6.1) looks to determine reference cable force and joint pose trajectories, f re f [ ] : {,..., t f } R µ and q re f [ ] : {,..., t f } R n, respectively, with which to track a defined reference operational space trajectory y re f ( ) : [, t f ] R η, considering the actuation constraint (6.3) and EoM (6.4). By treating the operational space tracking objective as a kinematic constraint, the OSMP problem can be viewed as a joint space motion planning problem that is constrained by a set of kinodynamic constraints. For this class of problem, single query probabilistic sampling methods such as rapidly-expanding random trees (RRTs) and ESTs, represent a commonly used approach that is particularly well suited to application for systems that can possess a large number of DoFs. In the particular instance of kinodynamic constraints, the probability density function based approach of ESTs has proven particularly well suited [71,72,156]. This section formulates an EST inspired motion planner that is used for solving the OSMP problem. Section proposes a modified EST algorithm for solving operational space trajectory tracking problems. The revised method of sampling within the tree by using a hierarchical probability distribution which independently considers the time and state of the tree leafs is presented in Section Finally, Section formulates the tree growth method to consider the time varying kinodynamic constraints of the problem. 139

162 6.3 EST Based Motion Planner MCDR Operational Space Motion Generation Generalised Algorithm for Operational Space Motion Planning The kinodynamically constrained EST algorithm (Algorithm 3.3) is designed to consider motion planning problems in which a manipulator is required to go from an initial pose q towards a goal set, typically of the form G(q f ) = { (q, q) R n R n : q q f ɛ 1 }, (6.5) while being subject to kinodynamic constraints of the form presented in Problem Statement 3.1. This algorithm is able to consider the system kinodynamics due to its construction of a tree T = i {L i }, where the tree elements (leafs) are comprised of the complete system state information such that L = (q, q), as well as its use of the input u as the decision variable, such that the EoM is always implicitly satisfied. The critical feature of the EST algorithm is its use of probabilistic sampling to ensure that a feasible solution trajectory will be identified if one exists after sufficiently many samples. This is achieved through a path planning process in which the tree is built and extended by 1) sampling a probability distribution p[ ] to determine a leaf to grow from and 2) growing the tree towards a randomly identified target location using a randomly determined input. Despite the EST methodology being developed to consider kinodynamically constrained systems, Algorithm 3.3 can not be directly used to solve the OSMP problem. This is because the conventional kinodynamic EST algorithm considers neither the time dependence nor the operational space redundancy associated with the end effector constraint (6.2). This has two key effects on the solution. Firstly, the lack of time consideration means that the conventional EST algorithm possesses no mechanism with which to know the current reference. Without this knowledge, the sampling approach is unable to consider deviations in tracking performance. Secondly, due to the lack of operational space consideration, the conventional algorithm can only consider the operational space constraints through the kinematic constraint validation check. Since this test takes place after growth of the tree leaf in Algorithm 3.3, it will result in a number of leafs being invalid and therefore will lead to inefficient computational performance. Algorithm 6.1 presents a revised EST inspired method for solving the OSMP problem. 14

163 MCDR Operational Space Motion Generation 6.3 EST Based Motion Planner It can be seen that the changes in the algorithm reflect the desire to consider both the time dependence and the operational space tracking. To incorporate the time component, the { } algorithm now makes use of the augmented tree T = i Li. This new tree is composed of augmented leafs L = (q, q, t), which include the current time information. As a result, the initial leaf is now given by L = (q,, t ) and the augmented goal set G is defined to represent the desired operational space point of the motion planner, such that G(t f ) = { (q, q, t) R n R n R : j(q) y re f (t f ) ɛ 1, t = t f }. (6.6) Algorithm 6.1 EST Inspired OSMP Algorithm T {L }; while T G = do L sample sample tree(t); ÿ target determine reference acceleration(l sample ); γ sample null space(l sample, ÿ target ); L new grow tree(l sample, γ, t ); if (is invalid(l new )) then T T {L new }; return T; To consider the operational space, it can also be seen that Algorithm 6.1 makes use the instantaneous target acceleration ÿ target R η, determined using the operation determine reference acceleration(l sample ), and the replacement of the input u with the new null space decision variable γ R µ η which is randomly chosen during the sample null space(...) operation. Additional changes lie in the sampling (or sample tree(...) operation) which now considers the time information, as well as the method of tree growth which now considers the end effector constraint. A more detailed consideration of these two changes is provided in the subsequent subsections Selection of Tree of Elements The selection of tree leafs, as performed by the sample tree(...) operation in both the conventional kinodynamically constrained EST algorithm (Algorithm 3.3) and the proposed OSMP EST algorithm (Algorithm 6.1), looks to probabilistically sample the 141

164 6.3 EST Based Motion Planner MCDR Operational Space Motion Generation leafs in the tree T (T) and determine a leaf L sample (L sample ) with which to grow from. Algorithm 6.2 summarises the typical procedure for tree leaf selection. It can be seen that the key component of this process corresponds to the generation of the probability distribution p[ ] : {,..., κ L (T) 1} R, where κ L(T) 1 i= p[i] = 1 and κ L (T) denotes the current number of leafs in the tree. Algorithm 6.2 sample tree Algorithm p generate probability distribution(t); i sample probability distribution(p); L sample T[i]; return L sample ; Conventionally, the probability distribution p[ ] is constructed through the use of a monotonically decreasing sequence of κ L (T) elements a[ ] : {,..., κ L (T)} (, 1], where κ L(T) 1 i= a[i] = 1, as well as an ordering function o[ ] : T {,..., κ L (T) 1} which assigns a ranking onto the various tree leafs through the use of the metric ς : T R. As a result, an element of p[ ] is typically given by p[i] = a [o [T[i]]]. (6.7) This approach allows for the tree growth to be either uniform indicating that the same probability is assigned to each leaf or for the growth to be biased through the relative performance of the leafs with respect to the metric ς. The application of a metric enables the tree growth to be weighted in such a manner that is is probabilistically more likely to grow towards more favourable operating regions. The probability distribution with elements given by (6.7) is however not well suited to tracking problems such as the OSMP problem. This is because for these problems the performance is a function of the state information, which can indicate how well the trajectory is tracking and/or the motion generating capability of the manipulator with respect to physically meaningful metrics, as well as the time information which indicates how much of the trajectory has been considered. A suitable method for the generation of a probability distribution should therefore consider the trade-off between the identification of states well suited to subsequent growth (exploration) and the continued further 142

165 MCDR Operational Space Motion Generation 6.3 EST Based Motion Planner evolution of the tree solution (exploitation). To consider both the exploration and exploitation objectives of the OSMP problem it is proposed that the OSMP probability distribution p is constructed through the use of a hierarchical approach. Let ι t : R n R n R R denote the mapping that takes in a leaf and returns its time component, ι z : R n R n R R n R n denote the mapping that takes in a leaf and returns its state component, κ t L (T) denote the number of different individual time steps considered in the tree such that κ t L(T) = max ( ( )) i {,κ L (T) 1} ιt T[i] t + 1 (6.8) t and κ z L (t i, T) denote the number of leafs that have time t i such that κ z L(t i, T) = card ({ L T : ι t (L) = t i }), (6.9) where card( ) denotes the set cardinality operator. The hierarchical probability distribution is then defined such that its individual elements are given by p[i] = a t [ o t [ ( )]] ] ι t T[i] b z [c zιt ι t (T[i]) (T[i]) [T[i]], (6.1) where a t [ ] : {, κ t L (T) 1} (, 1] is a monotonically decreasing sequence of κt L (T) elements such that κt L (T) 1 i= a[i] = 1, o t [ ] : {, t κ t L (T) 1 } {, κt L (T) 1} is an ordering function, each of the b z t [ ] : {, κz L (t, T) 1} (, 1] is a monotonically decreasing sequence of κ z L (t, T) elements such that κz L (t,t) 1 i= b z t [i] = 1 and each of the cz t [ ] : T {, κt L (T) 1} is an ordering function which makes use of a leaf dependent cost function ς z i : T R. Figure 6.2 provides a pictorial representation of the probability distribution p. It can be seen that compared to the traditional probability distribution (6.7), the hierarchical approach of (6.1) allows for separate costs to be placed onto the time and space components. This means that the resulting probability distribution is effectively comprised of two layers. In the first layer, the total probability is broken up based upon the different time instances that are considered in the tree, where the total probability assigned to the 143

166 6.3 EST Based Motion Planner MCDR Operational Space Motion Generation time instant t i is given by p t [t i ] = a t [ o t [t j ] ]. (6.11) This allows for the preferred speed of the tree s forward growth to be specified. Probability distributions with sharply decreasing a t [ ] will lead to more direct tree growth. Such growth may however result in dead ends due to the greedy nature of the solution process. In contrast, a more even distribution will result in slower more explored growth. pp tt tt pp tt tt 1 pp tt tt 2 pp tt tt 3 pp tt tt 4 pp tt tt 5 1 bb zz tt3 4 bb zz tt3 3 bb zz tt3 2 bb zz tt3 1 pp ii pp tt 1 pp ii 2 pp ii 3 pp ii 4 tt 3 Figure 6.2: Pictorial representation of the proposed hierarchical probability distribution The second layer of the distribution then breaks up the probability assigned to each time step p t [t i ] into different probabilities for each of the leafs with time step t i based upon their different states. Through this layer, the bias of the tree towards the use of states with more optimal metric values can be varied. Here, the use of flatter monotonically decreasing sequence b z t [ ] results in all of the different leafs being considered as roughly equivalent. In contrast, the use of a sharply decreasing b z t [ ] results in growth emanating from the best currently known state with respect to the cost ς z i. The selection of the state based cost should therefore focus on either the optimality of the trajectory with regards to a physically meaningful cost or on the robustness of the tree such that the current branches are more likely to lead to future leafs. As a result, possible metrics for the OSMP problem include the direct physically meaningful measures such as force consumption f and tracking error j(q) y re f (t) as well as the more robust measures such as the unilateral dexterity and acceleration capability measures presented in Chapter

167 MCDR Operational Space Motion Generation 6.3 EST Based Motion Planner Tree Growth For EST algorithms, the tree growth procedure looks to extend the tree T from the selected leaf L sample for a single time period t while satisfying kinodynamic constraints such as the EoM. Algorithm 6.3 summarises the typical EST tree growth procedure. It can be seen that this procedure is contained within both the conventional kinodynamic EST algorithm (Algorithm 3.3) and the EST OSMP algorithm (Algorithm 6.1), where the decision and reference spaces change between these different algorithms. In the conventional case, the decision variable δ that is sampled during the sample decision space(...) operation corresponds to the input u, while the reference r that is obtained in the determine reference(...) operation corresponds to the target leaf L target. Here the choice of u as the decision variable ensures that actuation constraints, such as (6.3), can be satisfied in addition to the EoM through the appropriate restriction of the decision space. The use of L target as the reference then allows for the tree growth to be directed, since the conventional kinodynamically constrained motion planning problem leaves the joint space unconstrained with the exception of kinematic constraints such as joint limits. Algorithm 6.3 Tree Growth Algorithm r determine reference(l sample ); δ sample decision space(l sample, r); L new grow tree(l sample, δ, t ). if (is valid(l new )) then return L new ; else return no solution; The OSMP problem differs from the classical kinodynamically constrained motion planning problem through its consideration of the unilateral actuation constraint (6.3), the EoM (6.4) and the end effector constraint (6.2) over the time period t {t,..., t f }, as well as its use of an operational space reference y re f ( ). While the choice of the input u = f to be the decision variable for the OSMP problem would ensure the satisfaction of CDPR actuation level constraints (6.3) and (6.4), it does not ensure that the end effector kinematic constraints (6.2) can be satisfied. As a result, the EST OSMP problem makes use of the null space coordinate γ R µ η as its decision variable δ, where this variable 145

168 6.3 EST Based Motion Planner MCDR Operational Space Motion Generation represents a coordinate for the subset of the input space R µ for which the constraint (6.2) is satisfied. To compute an appropriate null space coordinate for the EST OSMP decision variable γ, the following procedure is considered: First, the forward kinematics relationship (6.1) is differentiated to derive a relationship between the allowable joint space acceleration q and the reference operational space acceleration ÿ re f ( ). Second the EoM will be considered to relate the allowable joint space acceleration with the cable forces that can produced those accelerations. The operational space tracking constraint (6.2) represents a desired relationship between the joint space pose q and the reference operational space pose y re f ( ) using the forward kinematics expression (6.1). By taking the first and second time derivatives of the forward kinematic expression (6.1), it can therefore be seen that the joint space velocity and acceleration is related to the reference operational space velocities and accelerations through the expressions ẏ re f (t) = J(q) q, (6.12) ÿ re f (t) = J(q) q + J(q, q) q, (6.13) where J : R n R η is the joint-to-operational space Jacobian matrix, as defined in Chapter 3.2.1, and J : R n R n R η is its time derivative. During EST growth from the leaf L sample, the current joint pose q and velocity q are known. As a result, given the reference acceleration ÿ re f (t), the allowable joint accelerations can be determined as a function of the operational space to joint space null vector γ 1 R n η by inverting (6.13) such that q = J(q) ( ÿ re f (t) J(q, q) q ) + N J (q)γ 1, = J(q) d(q, q, t) + N J (q)γ 1, (6.14) where J is a pseudo-inverse of matrix J, N J is the null space projector of J and d(q, q, t) = ÿ re f (t) J(q, q) q. With the knowledge of the allowable joint space accelerations, the allowable inputs can be determined using the known EoM (6.4). Rearranging the EoM, it can be seen that 146

169 MCDR Operational Space Motion Generation 6.3 EST Based Motion Planner the joint space can be expressed in terms of known variables and the cable force f where q = (C (q, q) + G (q)) L (q) T f, = m(q, q) + H (q)f, (6.15) m(q, q) = (C (q, q) + G (q)), H (q) = L (q) T and L (q), C (q, q) and G (q) are defined as in (5.37). Substituting the allowable acceleration (6.14) into the rearranged EoM (6.15) and making f the subject of the resulting equation, it can be seen that the allowable cable force can be expressed in terms of the operational space to cable force null space vector γ where ( ) f = H (q) J(q) d(q, q) m(q, q) + H (q) N J (q)γ 1 + N H (q)γ 2, = χ(q, q, t) + Γ(q)γ, (6.16) γ 2 R µ n, γ = (γ T 1, γt 2 )T, χ = H (q) ( J(q) d(q, q) m(q, q) ) and Γ(q) = [ H (q) N J (q) N H (q) ]. The use of the null space variable γ and operational space variable ÿ re f as the decision variable and reference for the operations sample decision variable(...) and determine reference acceleration(...), respectively, can therefore allow for the constraints (6.4) and (6.2) to be locally satisfied at every instance in which the tree is grown from. Furthermore, using the allowable force relationship (6.16), the actuation constraint (6.3) can be expressed in terms of γ through the inequality f χ(q, q, t) Γ(q)γ f χ(q, q, t). (6.17) As a result, sampling of the decision variable γ within the polytope defined by (6.17) allows for all OSMP constraints to be locally satisfied. Due to the non-linearity of the forward kinematic expression (6.1) and the EoM (6.4), local satisfaction of the OSMP constraints will however not result in exact tracking of the simulated model. As a result, the use of the null space variable γ as a decision variable 147

170 6.3 EST Based Motion Planner MCDR Operational Space Motion Generation may lead to a violation of the OSMP tracking condition ( max j(q[t]) yre f (t) ) ɛ 1. (6.18) t [,...,t f ] This issue can be considered using Algorithm 6.1 by including the condition (6.18) into the is valid(...) operation. This approach is however reactive in which the tree will not consider tracking error until it violates the tracking condition (6.18). In addition to the use of the is valid(...) operation, tracking error compensation can also be incorporated into Algorithm 6.1 through the modification of the variable ÿ target. Using a proportional control based compensation strategy, the target operational space acceleration is given by ÿ target = ÿ re f (t) + K D ( yre f (t) y ) + K P (ẏre f (t) ẏ ) (6.19) where K P, K D R η η are positive definite constant gain matrices. This approach allows for the simulation feedback to be used as a compensation tool for the effects of the discretisation and non-linearity. The methodology however adds a tuning requirement where the tracking performance will be influenced in a non-linear fashion by the constant gain matrices as a result of the non-linearity of the system model. Implementation Remark Due to the polytopic nature of the allowable null space variables, direct random sampling of R µ η can prove to be computationally inefficient. In this work rather than using multiple random samples, a single random sample γ is proposed in addition to a quadratic program with which to determine the closest allowable solution to γ. As a result, the resulting randomly obtained γ is given by the solution to the optimisation γ = arg min γ γ, γ R µ η subject to f χ(q, q, t) Γ(q)γ f χ(q, q, t). (6.2) 148

171 MCDR Operational Space Motion Generation 6.4 Examples 6.4 Example Trajectory Generation This section demonstrates the application of the proposed EST inspired OSMP framework. First, Section presents the implementation of the framework both in simulation and through hardware experiments while illustrating the effect that the different algorithm parameters have on the resulting solution. Then the application of the algorithm is further demonstrated in Section using a two link (Spherical-Spherical) MCDR Operational Space Motion Planning on the two link BM-Arm This case study looks to illustrate the implementation of the EST inspired OSMP framework. The case study considers the two link BioMuscular-Arm (BM-Arm), depicted in Figure 6.3, which is comprised of single spherical joint connected to a revolute joint that is actuated by 6 cables. The pose of the robot is expressed using the XYZ-Euler angle convention such that q = [α β γ θ] T where the triple (α, β, γ) represents the orientation of the spherical joint and θ denotes the orientation of the revolute joint. The robot possesses a single end effector located at the end of link 2. As a result, the end effector pose is given by y = [y 1 y 2 y 3 ] T = [X Y Z] T, where in this case only the translation of the end effector is considered. The system can be modelled using the procedure of Chapter 3.2 with the specification sets (3.53), (3.54), (3.56) and (3.58) where the CDPR parameters are provided in Table 6.1. All simulations are conducted using the sampling period of the BM-Arm robot, such that t = 1 15 s. The remainder of this case study is outlined as follows: First, the properties of the tree growth will be investigated through the use of a short illustrative operational space motion. Then the effect of different metrics on the tree will be evaluated on a planar operational space motion. Finally, the case study will conclude by experimentally validating the generated joint space motions onto the BM-Arm hardware. The BM-Arm was designed and built as a part of the PhD candidature under the supervision of Asst/Prof. Darwin Lau at the Chinese University of Hong Kong. 149

172 6.4 Examples MCDR Operational Space Motion Generation PP 2 AA 6,1,2 AA 1,1, AA 4,1, AA 4,1,1 GG 2 FF 2 EE 1 AA 5,1,2 GG 1 AA 2,1,1 OO FF FF 1 AA 3,1, AA 2,1, AA 5,1, (a) Schematic Drawing (b) Experimental Platform Figure 6.3: Two link BioMuscular-Arm Bodies Vectors CoM CoM Vector (m) End End Vector (m) Body 1 1 r P1 G 1 [..125.] T 1 r P1 P 2 [..327.] T Body 2 2 r P2G2 [ ] T 2 r P2E2 [..261.] T Bodies Inertia mass mass value (kg) Inertia Inertia Tensor (kgm 2 ) Body 1 m I 1G1 diag(.154, ,.155) Body 2 m I 2G2 diag(.2, ,.18) Cables Base Attachment Base Attachment Vector (m) Link Attachment Link Attachment Vector (m) Cable 1 r OA1,1, [ ] T r o1 A 1,1,1 [ ] T Cable 2 r OA2,1, [ ] T r o1 A 2,1,1 [ ] T Cable 3 r OA3,1, [ ] T r o1 A 3,1,1 [ ] T Cable 4 r OA4,1, [ ] T r o1 A 4,1,1 [ ] T Cable 5 r OA5,1, [..2.25] T r o2 A 5,1,2 [ ] T Cable 6 r OA6,1, [..2.25] T r o2 A 6,1,2 [ ] T Table 6.1: BioMuscular-Arm parameters 15

173 MCDR Operational Space Motion Generation 6.4 Examples Investigation of Tree Growth Properties In this subsection, the effect of the parameters of the hierarchical probability distribution (6.1) on the resulting tree growth will be investigated using an illustrative reference operational space motion. Four candidate solution trajectories (Candidate Solution Trajectories 1-4) are determined, in which for all trajectories the target acceleration (6.19) is calculated using the gain matrices K P = 2I 4, K D = 2I 4, (6.21) where I 4 denotes a 4 4 identity matrix, which were chosen to stabilise the reference without significant oscillation and the tracking threshold is set to ɛ 1 =.5m. In all cases, the hierarchical probability probability distribution is constructed using monotonically decreasing sequences of the form a t [t i ] = (1 ν a) 1 ν κt L(T) a b z t i [j] = (1 ν b) 1 ν κz L(t i,t) b ν t i a, (6.22) ν j b, (6.23) where the values of ν a and ν b are varied over the different candidate solution trajectories. The hierarchical probability distribution ordering functions o t [ ] and c z t [ ] are fixed for each of the candidate solution trajectories, where o t [i] = κ t ( ) L T 1 i (6.24) and the functions c z t [ ] are obtained using of the metric ςz i (L) = 1 j(q) y ɛ1 2 re f (t), in which the scalar 1 is used to normalise the metric value to be between and 1. ɛ1 2 Figure 6.4 depicts the reference operational space motion used throughout this example. It can be seen that this motion corresponds to a straight line motion of the end effector from y 3 =.5678 to y 3 =. Throughout this motion the remaining reference operational space degrees of freedom are held constant. Using the reference output tra- 151

174 6.4 Examples MCDR Operational Space Motion Generation jectory depicted in Figure 6.4 and the gain matrices (6.21), it is noted that the EST inspired OSMP solution methodology was observed to be able to identify candidate solutions for tracking thresholds that satisfied ɛ m..6 y 3 (m) y ref ( ) y 2 (m) -.5 y 1 (m) (a) Reference motion in operational space Reference Output Pose (m) Time (s) (b) Time versus reference operational space motion y 1 y 2 y 3 Figure 6.4: Reference illustrative operation space example trajectory - Red lines indicate cables, blue circles the CoM, black lines represent links and the green line is the reference operational space motion. Candidate Solution Trajectories 1 and 2: Figures 6.5 and 6.6 depict the solution cable force, joint space pose and joint space velocity trajectories for two different candidate solutions (Candidate Solution Trajectories 1 and 2), in which the parameters ν a and ν b of the monotonically decreasing sequences (6.22) and (6.23) were set to.95 and.9, respectively. From these figures, it can be observed that the resulting trajectories are different despite possessing the same probability distribution. This is a result of both the structural redundancy and the probabilistic nature of the solver. It can be observed that both Candidate Solution Trajectory 1 and Candidate Solution Trajectory 2 are valid with respect to the problem constraints, in which the maximum tracking error is given by max {L T} j(q) y re f (t) = m and m, respectively. Furthermore, from Figures 6.5 and 6.6 it can also be observed that the candidate solutions both make use of cable force trajectories that are smooth. As a result, it is expected that the trajectories can be implemented in hardware. With regards to the joint space trajectories it is noted that in both cases the trajectory velocity makes use of signif- 152

175 MCDR Operational Space Motion Generation 6.4 Examples 4.2 Force (N) Time (s) f 1 f 2 f 3 f 4 f 5 f 6 Joint Pose (rad) Time (s) q 1 q 2 q 3 q 4 Joint Velocity (rad/s) Time (s) q1 q2 q3 q4 (a) Cable force (b) Joint space pose (c) Joint space velocity Figure 6.5: Candidate Solution Trajectory 1 - The first solution obtained using the hierarchical probability distribution (6.1) with the monotonically decreasing sequences a t [ ] and b z t [ ] given by (6.22) and (6.23) with ν a =.95 and ν b =.9, respectively. 4.2 Force (N) Time (s) f 1 f 2 f 3 f 4 f 5 f 6 Joint Pose (rad) Time (s) q 1 q 2 q 3 q 4 Joint Velocity (rad/s) Time (s) q1 q2 q3 q4 (a) Cable force (b) Joint space pose (c) Joint space velocity Figure 6.6: Candidate Solution Trajectory 2 - An alternative solution obtained using the hierarchical probability distribution (6.1) with the monotonically decreasing sequences a t [ ] and b z t [ ] given by (6.22) and (6.23) with ν a =.95 and ν b =.9, respectively. 153

176 6.4 Examples MCDR Operational Space Motion Generation icant changes in the q 2 DoF. This DoF corresponds to rotation about the axial direction of the spherical joint, in which the operational space pose is less sensitive. Figure 6.7 provides a visualisation of the tree used in identifying Candidate Solution ( ) Trajectory 1. This figure depicts the leaf number i against the leaf time iteration ι t Li, where the blue lines indicate the parent leaf of leaf i, the circle radii indicate the relative magnitudes of the tracking error with respect to the threshold ɛ 1 and the green line indicates the solution branch used in constructing the candidate trajectories of Figure 6.5. Using this figure, it can be observed that the tree considered leafs in identifying the solution. Furthermore, while the length of the blue lines indicates that a wide range of leafs could be selected for tree growth at any time, it can also be observed that the final solution branch predominately contained the first leaf identified at any time instant Time (s) Leaf Number (a) Tree growth after 25 leafs (b) Tree growth at the conclusion of trajectory Figure 6.7: Tree growth for Candidate Solution Trajectory 1 - Blue lines indicate the parent leaf of leaf i, circle radii indicate the relative magnitudes of the tracking error with respect to the threshold ɛ 1 and the green line indicates the solution branch To better visualise the mechanisms of the tree growth, Figure 6.8 depicts the probability distribution used in selecting the final leaf. From this figure, it can be observed that the relatively flat distribution of the sequence a t [ ] results in a large number of time steps having a similar probability of being selected for subsequent tree growth. This feature results in the long blue lines which correspond to the beginning of a new alternate branch. Similarly, it can also be seen from Figure 6.8 that the b z t [ ] sequences have also been chosen such that they are relatively flat. This allows for tree exploration to occur since all 154

177 MCDR Operational Space Motion Generation 6.4 Examples leafs are given roughly the same probability of being selected. However, in this case the combination of the decaying a t [ ] and the flat b z t [ ] sequences also leads to the final solution branch predominately containing the first leaf identified at any time instant. This is because the flat distribution acts to randomise the tree growth such that large alternate branches do not have the opportunity to grow before their probability is suitable reduced by the increase in value of κ t ( ) L T. t = 3.9s t = 4s t = 4.1s 1.22 Figure 6.8: Probability distribution for Candidate Solution Trajectory 1 - This figure illustrates the hierarchical probability distribution in the style of Figure 6.2, where the second layer shows the probability of each leaf at the time t = 4s. Candidate Solution Trajectory 3: To investigate the effect of varying the sequence a t [ ], Figures show a candidate solution trajectory (Candidate Solution Trajectory 3), tree growth and probability distribution, respectively, in the case in which ν a =.5 while ν b is held at.9. From Figure 6.9, it can be observed that due to the probabilistic nature of the solver, the candidate solution differs to that of Figures 6.5 and 6.6, where the largest deviation lies in the q 2 DoF. Furthermore, from Figures 6.1 and 6.11, it can also be seen that the use of the sharper a t [ ] sequence has resulted in more direct tree growth that used only 1213 leafs. This choice however means that there is approximately two leafs considered for every time instant. As a result, little exploration is performed which limits the capability of the tree to avoid constraint violation. Candidate Solution Trajectory 4: In contrast to Figures , Figures consider the effect on the tree growth of varying the sequences b z t [ ] while keeping at [ ] as used in Candidate Solution Trajectories 1 and 2, such that ν b =.1 while ν a =.9. From this result, it can be seen that the sequences b z t [ ] have little effect on the total number 155

178 6.4 Examples MCDR Operational Space Motion Generation 4.2 Force (N) Time (s) f 1 f 2 f 3 f 4 f 5 f 6 Joint Pose (rad) Time (s) q 1 q 2 q 3 q 4 Joint Velocity (rad/s) Time (s) q1 q2 q3 q4 (a) Cable force (b) Joint space pose (c) Joint space velocity Figure 6.9: Candidate Solution Trajectory 3 - A candidate solution obtained using the hierarchical probability distribution (6.1) with the monotonically decreasing sequences a t [ ] and b z t [ ] given by (6.22) and (6.23) with ν a =.5 and ν b =.9, respectively Time (s) Leaf Number (a) Tree growth after 25 leafs (b) Tree growth at the conclusion of trajectory Figure 6.1: Tree growth for Candidate Solution Trajectory 3 t = 3.9s t = 4s t = 4.1s Figure 6.11: Probability distribution for Candidate Solution Trajectory 3 156

179 MCDR Operational Space Motion Generation 6.4 Examples of leafs used in obtaining the solution, where in this case 1228 leafs were considered. Compared to Figure 6.7, the effect of the b z t [ ] can however be observed in Figure 6.13, by the lower number of near horizontal blue lines. This is a result of the sharper b z t [ ] sequences which lead to tree growth that likely emanates from a single leaf at each time step. This leaf corresponds to the optimal leaf with respect to the metric ς z i. This effect can also be noted in the green solution branch of Figure 6.13, which makes use of a larger number of leafs that do not correspond to the first leaf identified at the given time instant. 4.2 Force (N) Time (s) f 1 f 2 f 3 f 4 f 5 f 6 Joint Pose (rad) Time (s) q 1 q 2 q 3 q 4 Joint Velocity (rad/s) time (s) q1 q2 q3 q4 (a) Cable force (b) Joint space pose (c) Joint space velocity Figure 6.12: Candidate Solution Trajectory 4 - A candidate solution obtained using the hierarchical probability distribution (6.1) with the monotonically decreasing sequences a t [ ] and b z t [ ] given by (6.22) and (6.23) with ν a =.95 and ν b =.1, respectively Time (s) Leaf Number (a) Tree growth after 25 leafs (b) Tree growth at the conclusion of trajectory Figure 6.13: Tree growth for Candidate Solution Trajectory 4 Tree growth with constraint violation: Finally, Figure 6.15 illustrates the effect of shrinking the ɛ 1 threshold on the tree growth. In this figure, it is observed through the red circle that some of the explored tree branches resulted in a violation of the end effector 157

180 6.4 Examples MCDR Operational Space Motion Generation t = 3.9s t = 4s t = 4.1s 1.22 Figure 6.14: Probability distribution for Candidate Solution Trajectory 4 constraint (6.2) for the revised tracking threshold of ɛ 1 =.1m. The methodology was however able to identify a solution trajectory that satisfied the constraints. This is a a result of the probabilistic nature of the solver whereby alternative branches were subsequently explored after the constraint violation Time (s) Leaf Number (a) Tree growth after 25 leafs (b) Tree growth at the conclusion of trajectory Figure 6.15: Tree growth when constraint violation occurs - The red circles indicate instances in which the tree would violate the constraints. This result was generated using the tracking threshold ɛ 1 =.1m and the hierarchical probability distribution (6.1) with the monotonically decreasing sequences a t [ ] and b z t [ ] given by (6.22) and (6.23) with ν a =.95 and ν b =.9, respectively. From this illustrative example reference trajectory, the features of the proposed hierarchical probability distribution (6.1) have been explored. It has been shown that the proposed methodology can solve the operational space tracking problem in the presence of constraints. The sequences a t [ ] and b z t i [ ] then influence the growth of the solution tree. The sequence a t [ ] in particular influences how fast the tree grows in its time component 158

181 MCDR Operational Space Motion Generation 6.4 Examples and therefore typically affects the number of leafs considered. In contrast, the sequences b z t i [ ] effect the consideration of alternative branches where sharper sequences lead to only certain branches being grown whereas more uniform sequences allow for greater exploration. However, the sequence a t [ ] still has some impact on the growth of alternative branches, where branches may no longer be viable with after sufficient growth in the time domain. Finally, the capability of the solver to handle infeasible branches was also explored, where it was found that the probabilistic nature of the solver allows for alternative paths to be identified. Investigation of the Effect of Metrics on the Candidate Solutions In this subsection, the impact of the metric ς z i in biasing the tree growth is explored through a planar reference operational space motion. Four different metrics with value ranging from to 1 are investigated in which for each metric two different candidate solution trajectories are identified. In each of the developed candidate solutions, the hierarchical probability distribution (6.1) is constructed with the monotonically decreasing sequences a t [ ] and b z t [ ] given by (6.22) and (6.23) with ν a =.7 and ν b =.1, respectively and the ordering function is given by (6.24). Figure 6.16 depicts the planar reference operational space motion used in this example. It can be seen that the motion corresponds to a trajectory completely contained within the y 2 =.583m plane and that the variation of the y 1 and y 3 DoFs are such that the reference is shaped similarly to a flower. Tree Growth Metric 1 (Tracking Error): Using the reference output trajectory depicted in Figure 6.16, the gain matrices K P = 2I 4 and K D = 4I 4 for the target acceleration (6.19) and the threshold ɛ 1 = m, Figures 6.17 and 6.18 depict two different candidate cable force, joint space pose and joint space velocity trajectories. For both of these candidate solution trajectories, the ordering functions c z t [ ] were obtained through the use of the metric ς z i (L) = 1 ɛ 2 1 j(q) y re f (t). (6.25) It can be noted that both candidate trajectories successfully track the flower reference 159

182 6.4 Examples MCDR Operational Space Motion Generation.6 y 3 (m) y 2 (m) 1.2 y ref ( ) y 1 (m) -.2 (a) Reference motion in operational space Reference Output Pose (m) Time (s) (b) Time versus reference operational space motion y 1 y 2 y 3 Figure 6.16: Reference example planar (flower) trajectory (Figure 6.16), where the worst case tracking errors are given by max {L T} j(q) y re f (t) = m and m, respectively. 6.2 Force (N) Time (s) f 1 f 2 f 3 f 4 f 5 f 6 Joint Pose (rad) Time (s) q 1 q 2 q 3 q 4 Joint Velocity (rad/s) Time (s) q1 q2 q3 q4 (a) Cable force (b) Joint space pose (c) Joint space velocity Figure 6.17: Flower Reference Candidate Trajectory 1 - The first solution obtained using the tree growth metric (6.25). From Figures 6.17 and 6.18, it can be observed that despite possessing the same algorithm parameters and similar tracking performance, the candidate trajectories differ substantially in their joint space motion. As was the case for preceding example reference trajectory, this feature of the solution results from the redundancy of the operational space to joint space mapping as well as the probabilistic nature of the solution method. The largest observable difference between the candidate joint space trajectories again occurs in the q 2 DoF which is positive in Figure 6.17 and negative in Figure This occurs because this rotation component possesses the smallest moment arm and therefore has 16

183 MCDR Operational Space Motion Generation 6.4 Examples 6.2 Force (N) Time (s) f 1 f 2 f 3 f 4 f 5 f 6 Joint Pose (rad) Time (s) q 1 q 2 q 3 q 4 Joint Velocity (rad/s) Time (s) q1 q2 q3 q4 (a) Cable force (b) Joint space pose (c) Joint space velocity Figure 6.18: Flower Reference Candidate Trajectory 2 - An alternative solution obtained using the tree growth metric (6.25). the highest sensitivity in its null space component. It can also be observed from both Figure 6.17 and Figure 6.18 that the expected cable force required in generating the candidate joint space trajectories ranges from the minimum cable force of 1N to 6N towards the end of the motion. In both cases, the increase in the required cable force occurs in parallel to the increase in the absolute value of q 2, where cable 2 and cable 4, respectively, possess the maximum cable force for the different motions. This indicates the necessary cable force has increased throughout the trajectory because of the large changes in the q 2 DoF. Tree Growth Metric 2 (Tracking Error + Pose Norm): To observe the effect of the metric functions ς z i in biasing the resulting EST inspired OSMP candidate solution trajectories, Figures 6.19 and 6.2 depict two additional candidate solution trajectories in which the EST inspired OSMP parameters are fixed, while the tree growth metric is set to ς z i (L) =.1 ɛ 2 1 j(q) y re f (t) +.9 q, (6.26) ɛ 2 3 where ɛ 3 =.1 represents the desired maximum joint space norm and the remaining scalars are set in order to normalise the metric between and 1. It can be observed that the new candidate trajectories also satisfy the end effector constraint (6.2) in which max {L T} j(q) y re f (t) = m and m, respectively. Compared to the candidate trajectories resulting from the use of the metric (6.25), it can be seen from Figures 6.19 and 6.2 that the use of the metric (6.26) has biased the 161

184 6.4 Examples MCDR Operational Space Motion Generation 6.2 Force (N) Time (s) f 1 f 2 f 3 f 4 f 5 f 6 Joint Pose (rad) Time (s) q 1 q 2 q 3 q 4 Joint Velocity (rad/s) Time (s) q1 q2 q3 q4 (a) Cable force (b) Joint space pose (c) Joint space velocity Figure 6.19: Flower Reference Candidate Trajectory 3 - The first solution obtained using the tree growth metric (6.26). 6.2 Force (N) Time (s) f 1 f 2 f 3 f 4 f 5 f 6 Joint Pose (rad) Time (s) q 1 q 2 q 3 q 4 Joint Velocity (rad/s) Time (s) q1 q2 q3 q4 (a) Cable force (b) Joint space pose (c) Joint space velocity Figure 6.2: Flower Reference Candidate Trajectory 4 - An alternate solution obtained using the tree growth metric (6.26). 162

185 MCDR Operational Space Motion Generation 6.4 Examples search such that there is an observable reduction of q throughout the entire joint space trajectory. This reduction is most noticeable in the q 2 DoF in which q 2 <.5 for the complete trajectory. It can also be seen, that the reduction in q has resulted in both trajectories possessing lower values for the maximum tracking error max {L T} ( j(q) yre f (t) ) and the maximum required cable force norm f. This confirms that the increasing cable force from Figures 6.17 and 6.18 was caused by the increase in q 2. It should be noted that for the candidate trajectories, the use of the metric (6.26) resulted in lower maximum tracking error max {L T} ( j(q) yre f (t) ) when compared to the metric (6.26), which only considered tracking error. This is a result of the solution methodology, in which the probability distribution has been constructed using only the local information available time step t i and pose q. For these results, the overall tracking error has become worse over time due to tree leafs identified at the start of the trajectory. The probabilistic nature of the proposed OSMP solver can be used to minimise this effect through modification of the sequences a t [ ] and b z t i [ ]. This can result in additional exploration being performed at the cost of additional computation. Tree Growth Metric 3 (Tracking Error + Pose Norm + Force Norm): The effect of the local metric information on the candidate solution trajectories is further shown in Figures 6.21 and These figures depict two different candidate solution trajectories that result from the replacement of the metric (6.26) with the metric ς z i (L) =.1 ɛ 2 1 j(q) y re f (t) +.7 q +.2 f, (6.27) ɛ 2 3 ɛ 2 4 where ɛ 3 is as defined in (6.26), ɛ 4 = 1 is the desired maximum cable force norm and the remaining scalars are set to normalise the metric value between and 1. It can be seen from Figures 6.21 and 6.22 that the incorporation of the cable force minimisation term has resulted in an increase in both the maximum values of the joint space norm and the cable force norm. This is caused by the same factors as the previously considered increase in tracking error in which initial valid solutions with lower cable force have resulted in an increase in the absolute value of q 2. As a result, both the cable force and joint space norms increase due to the properties of this CDPR. Tree Growth Metric 4 (Tracking Error + Unilateral Dexterity): Finally, Figures

186 6.4 Examples MCDR Operational Space Motion Generation 6.2 Force (N) Time (s) f 1 f 2 f 3 f 4 f 5 f 6 Joint Pose (rad) Time (s) q 1 q 2 q 3 q 4 Joint Velocity (rad/s) Time (s) q1 q2 q3 q4 (a) Cable force (b) Joint space pose (c) Joint space velocity Figure 6.21: Flower Reference Candidate Trajectory 5 - The first solution obtained using the tree growth metric (6.27). 6.2 Force (N) Time (s) f 1 f 2 f 3 f 4 f 5 f 6 Joint Pose (rad) Time (s) q 1 q 2 q 3 q 4 Joint Velocity (rad/s) Time (s) q1 q2 q3 q4 (a) Cable force (b) Joint space pose (c) Joint space velocity Figure 6.22: Flower Reference Candidate Trajectory 6 - An alternative solution obtained using the tree growth metric (6.27). 164

187 MCDR Operational Space Motion Generation 6.4 Examples and 6.24 depict two different candidate solution trajectories obtained using the metric ς z i (L) =.1 ɛ 2 1 j(q) y re f (t) +.9 (1 Ψ UD (q)) 2 (6.28) where Ψ UD (q) represents the unilateral dexterity measure proposed in Chapter 5.2. It can be seen that the use of this metric has resulted in maximum tracking errors of max {L T} j(q) y re f (t) = m and m, respectively. Additionally, it can also be seen that the use of the metric (6.28) has resulted in required cable force and candidate joint space norms that are consistent with those obtained through the use of the metric (6.26). This is because this MCDR possesses unilateral dexterity that is greatest at poses with minimum joint space norm. 6.2 Force (N) Time (s) f 1 f 2 f 3 f 4 f 5 f 6 Joint Pose (rad) Time (s) q 1 q 2 q 3 q 4 Joint Velocity (rad/s) Time (s) q1 q2 q3 q4 (a) Cable force (b) Joint space pose (c) Joint space velocity Figure 6.23: Flower Reference Candidate Trajectory 7 - The first solution obtained using the tree growth metric (6.28). 6.2 Force (N) Time (s) f 1 f 2 f 3 f 4 f 5 f 6 Joint Pose (rad) Time (s) q 1 q 2 q 3 q 4 Joint Velocity (rad/s) Time (s) q1 q2 q3 q4 (a) Cable force (b) Joint space pose (c) Joint space velocity Figure 6.24: Flower Reference Candidate Trajectory 8 - The first solution obtained using the tree growth metric (6.28). Compared to the use of the metric (6.26), the use of unilateral dexterity is more applicable to a wide range of MCDRs, due to its meaning with respect to maximising robust- 165

188 6.4 Examples MCDR Operational Space Motion Generation ness and minimising cable forces. This means that the measure can result in similar candidate solution properties for other mechanism structures and cable arrangements which contrasts with the use of (6.26) in which the minimisation of cable force was a unique byproduct of the BM-Arm topology. The use of the unilateral dexterity (and other motion capability and robustness measures of Chapter 5) is also particularly desirable for the proposed solution framework (of Section 6.2). This is because of the resulting increased robustness of the reference joint space trajectories for the OSMC problem which suggests greater capability for the OSMC solver to oppose disturbance and unmodelled dynamics. From this example, the use of the metric ς z i for biasing the candidate solution trajectories of the EST inspired OSMP solver have been investigated. It was observed that the solution methodology could track the flower like reference trajectory of Figure 6.16 and that the choice of metric resulted in clearly different candidate solutions that improved the performance of the solution with regards to the given metric. However, the use of measures that made use of only local information could result in performance that got worse over the duration of the trajectory. This could be improved by altering the probability distribution at the cost of additional computation. The use of the robustness measures of Chapter 5 represent a particularly promising choice of metric as these metrics can improve the capability of the subsequent controller stage to counteract disturbances. Experimental Validation This subsection illustrates the capability of the developed EST inspired OSMP solver to be implemented onto physical systems. Four candidate solution trajectories (Candidate Solution Trajectories 2 and 3 as well as Flower Candidate Solution Trajectories 5 and 7) are implemented onto the BM-Arm experimental platform (Figure 6.3(b)) in which for all cases the OSMC problem (Problem Statement 6.2) is solved through the use of the computed torque control (CTC) method [5] with proportional gains (35, 9, 2, 4) and derivative gains (,,, ). The BM-Arm is driven by a 64 bit computer, with a 3.4GHz Core i7 67 processor and 16GB ram. This computer is running the developed CASPR-ROS software platform (presented in Chapter 8) at 15Hz. Actuation is provided to the BM-Arm through the use of myomuscle units [125], in which the pseudo-inverse 166

189 MCDR Operational Space Motion Generation 6.4 Examples based forward kinematics method [27] is used to convert the feedback cable lengths into joint space positions, the joint-operational space forward kinematics problem (Problem Statement 3.3) is solved to convert the joint space positions into operational space coordinates and the quadratic cable force minimisation technique [111] is used to determine the command cable forces from the computed control wrench. Figures depict the operational space tracking, command cable force and joint space trajectories resulting from applying the OSMC solver to Candidate Solution Trajectories 2 and 3. From Figures 6.25 and 6.27 it can be seen that real time tracking of the reference operational space trajectory of Figure 6.4 can be achieved, where in these two cases the maximum tracking error norm is given by.37m and.36m, respectively. This corresponds to an order of magnitude larger error than that obtained through the EST inspired OSMP solver and illustrates the effect that modelling uncertainties such as the discretisation and cable elasticity can have on the experimental performance. It can also be observed that in both cases the larger error occurs in the y 1 and y 3 directions. These directions correspond to the directions for which the operational space possesses higher sensitivity with respect to the joint space. The observed tracking errors are therefore a result of imperfect joint space tracking, whereby this model sensitivity could possibly be incorporated into the OSMP solver through the use of the metric functions ς z i. y 3 (m) y( ) y y 1 (m) 2 (m) (a) Reference motion in operational space Output Pose (m) y ref 1 y ref 2 y ref Time (s) (b) Time versus operational space motion y 1 y 2 y 3 Error (m) (y ref -y) 1 (y ref -y) 2 (y ref -y) Time (s) (c) Time versus operational space error Figure 6.25: Experimental operational space results for Candidate Solution Trajectory 2 - Black lines indicate reference data and blue lines indicate experimental data From the joint space tracking results, depicted in Figures 6.26 and 6.28, it can also be observed that with the current choice of controller gains, the tracking performance is 167

190 6.4 Examples MCDR Operational Space Motion Generation 6 q ref 1 1 Force (N) f 1 f 2 f 3 f 4 f 5 f 6 Joint Pose (rad) q ref 2 q ref 3 q ref 4 q 1 q 2 q 3 Joint Velocity (rad/s) q1 q2 q3 q4 2 4 Time (s) Time (s) q Time (s) (a) Cable force (b) Joint space pose (c) Joint space velocity Figure 6.26: Experimental results for Candidate Solution Trajectory 2 - Black lines indicate reference data and blue lines indicate experimental data.6.1 y 3 (m) y( ) Output Pose (m) y ref 1 y ref 2 y ref 3 y 1 y 2 y 3 Error (m) (y ref -y) 1 (y ref -y) 2 (y ref -y) y y 1 (m) 2 (m) (a) Reference motion in operational space Time (s) (b) Time versus operational space motion Time (s) (c) Time versus operational space error Figure 6.27: Experimental operational space results for Candidate Solution Trajectory 3 6 q ref 1 1 Force (N) 4 2 f 1 f 2 f 3 f 4 f 5 f 6 Joint Pose (rad) q ref 2 q ref 3 q ref 4 q 1 q 2 q 3 Joint Velocity (rad/s) q1 q2 q3 q4 2 4 Time (s) Time (s) q Time (s) (a) Cable force (b) Joint space pose (c) Joint space velocity Figure 6.28: Experimental results for Candidate Solution Trajectory 3 168

191 MCDR Operational Space Motion Generation 6.4 Examples poorest in the q 2 and q 4 directions. As identified in the simulation results, the operational space is least sensitive to variation in the q 2 DoF. This suggests that the observed reference tracking error is likely primarily caused by the error in the q 4 DoF which corresponds to the orientation of the revolute joint. Improved tracking will likely therefore be achieved either through adjustments of the q 4 component of the CTC controller or through the additional modelling of unmodelled interactions such as the friction of the revolute joint. Finally from Figures 6.26 and 6.28, it can be observed that the experimental command cable forces used in tracking Candidate Solution Trajectories 2 and 3 are of a similar profile to the simulation solutions depicted in Figures 6.9 and However, the figures differ both in the required amplitudes of force as well as the noticeable noise present in the experimental results. These features are likely the result of both the large control gains used by the CTC controller and the actuation redundancy present in the system. Similarly to Figures , Figures depict the operational space tracking, command cable force and joint space trajectories resulting from applying the computed torque controller to Flower Candidate Trajectories 5 and 7. From Figures 6.29 and 6.31, it can again be seen that real time tracking of a given operational space reference (Figure 6.16) can be achieved, where the tracking error has maximum norm of.58m and.58m, respectively, in this case. This is of similar order of magnitude to the error identified in the straight line motion indicating that the errors are likely caused by unmodelled experimental factors rather than algorithmic parameters. The error is again largest in both cases in the y 1 and y 3 operational DoFs. In these cases, the magnitude of the error appears to peak at instances in which the y 1 or y 3 reference component has zero gradient. This suggests that unmodelled friction is likely a leading cause of the error. Figures 6.3 and 6.32 show similar results for the joint space tracking and the command cable force as observed in Figures 6.26 and In particular the joint space tracking again displays poorer performance in the q 2 and q 4 DoFs, while the command cable force again possesses a profile that is similar to that observed in the simulation results (Figures 6.21 and 6.23, respectively). As a result, the figures again suggest that further improvements to the tracking could be achieved through modification of controller gains. From these experimental validations, the capability for the proposed OSMP solver to 169

192 6.4 Examples MCDR Operational Space Motion Generation.6.1 y 3 (m) y( ) Output Pose (m) y ref 1 y ref 2 y ref 3 y 1 y 2 y 3 Error (m) (y ref -y) 1 (y ref -y) 2 (y ref -y) 3.5 y 2 (m) y 1 (m) (a) Reference motion in operational space Time (s) (b) Time versus operational space motion Time (s) (c) Time versus operational space error Figure 6.29: Experimental operational space results for Flower Candidate Trajectory 5 6 q ref 1 1 Force (N) f 1 f 2 f 3 f 4 f 5 f 6 Joint Pose (rad) q ref 2 q ref 3 q ref 4 q 1 q 2 q 3 Joint Velocity (rad/s) q1 q2 q3 q4 1 2 Time (s) Time (s) q Time (s) (a) Cable force (b) Joint space pose (c) Joint space velocity Figure 6.3: Experimental results for Flower Candidate Trajectory 5 y 3 (m) y 2 (m) 1.2 y( ) -.2 y 1 (m) (a) Reference motion in operational space Output Pose (m) y ref 1 y ref 2 y ref Time (s) (b) Time versus operational space motion y 1 y 2 y 3 Error (m) Time (s) (y ref -y) 1 (y ref -y) 2 (y ref -y) 3 (c) Time versus operational space error Figure 6.31: Experimental operational space results for Flower Candidate Trajectory 7 17

193 MCDR Operational Space Motion Generation 6.4 Examples Force (N) f 1 f 2 f 3 f 4 f 5 f 6 Joint Pose (rad) q ref 1 q ref 2 q ref 3 q ref 4 q 1 q 2 q 3 Joint Velocity (rad/s) q1 q2 q3 q4 q Time (s) Time (s) Time (s) (a) Cable force (b) Joint space pose (c) Joint space velocity Figure 6.32: Experimental results for Flower Reference Candidate Trajectory 7 be implemented onto physical systems has been explored. It was observed, that the use of a standard computed torque controller could enable real time tracking of the candidate solution trajectories and that these trajectories were able to track the original operational space reference. However, the existence of unmodelled components and the effect of discretisation meant that the tracking errors were in general an order of magnitude larger than those observed in the simulation of the candidate solution trajectories. This performance could possibly be improved through the incorporation of sensitivity and the unmodelled components into the metric functions ς z i Operational Space Motion Planning on a two link (Spherical-Spherical) CDPR This case study looks to show the application of the EST inspired OSMP framework for an MCDR with a higher degree of redundancy between the operational and joint spaces. The case study considers the two link (Spherical-Spherical) MCDR depicted in Figure This CDPR possesses 6 DoF and 8 cables, where the mechanism pose is defined using the XYZ-Euler angle convention such that [α 1 β 1 γ 1 α 2 β 2 γ 2 ] T. The robot possesses a single end effector located at the end of link 2. As a result, the end effector pose is given by y = [y 1 y 2 y 3 ] T = [X Y Z] T, where in this case only the translation of the end effector is considered. The system can be modelled using the procedure of Chapter 3.2 with the joint kinematic specification set J kin (3.22), the joint dynamic specification set J dyn (3.35), the cable specification set C (3.23) and the end effector specification set E 171

194 6.4 Examples MCDR Operational Space Motion Generation (3.24) given by J kin = { } { } [ ]} S 2S, {, 1 r P1 P 2, 1 r P1 G 1, r P1 G 2, 1, J dyn = {J kin, diag (m 1 I 3 3, I 1G1, m 2 I 3 3, I 2G2 )}, i {1,..., 4}, k {, 1} C = k r ok A i,1,k : i {5,..., 8}, k {, 2}, C RR, {[ ] I3 3 E = , { 2 } } r P2 E 3 3 1, {2}, (6.29) respectively, where S 2S = α 1 β 1 γ 1, [ ] 1 1 C 2Si = [ ] 1 1 [ cβ1 c γ1 s γ1 c β1 s γ1 c γ1 s β1 1 ], α 2 β 2 γ 2, [ cβ2 c γ2 s γ2 c β2 s γ2 c γ2 s β2 1 ] (6.3) i {1,..., 4}, (6.31) i {5,..., 8} and the CDPR parameters are provided in Table 6.2. All simulations are conducted using the sampling period of t = 1 15 s. Bodies Vectors CoM CoM Vector (m) End End Vector (m) Body 1 1 r P1 G 1 [...2] T 1 r P1 P 2 [...4] T Body 2 2 r P2G2 [...2] T 2 r P2E2 [...4] T Bodies Inertia mass mass value (kg) Inertia Inertia Tensor (kgm 2 ) Body 1 m 1 1. I 1G1 diag(.134,.134, ) Body 2 m 2 1. I 2G2 diag(.134,.134, ) Cables Base Attachment Base Attachment Vector (m) Link Attachment Link Attachment Vector (m) Cable 1 r OA1,1, [ ] T r o1 A 1,1,1 [.1..4] T Cable 2 r OA2,1, [ ] T r o1 A 2,1,1 [.1..8] T Cable 3 r OA3,1, [ ] T r o1 A 3,1,1 [.1..4] T Cable 4 r OA4,1, [ ] T r o1 A 4,1,1 [.1..8] T Cable 5 r OA5,1, [ ] T r o2 A 5,1,2 [..1.4] T Cable 6 r OA6,1, [ ] T r o2 A 6,1,2 [..1.8] T Cable 7 r OA7,1, [ ] T r o2 A 7,1,2 [..1.4] T Cable 8 r OA8,1, [ ] T r o2 A 8,1,2 [..1.8] T Table 6.2: Example (Spherical-Spherical) Arm parameters 172

195 MCDR Operational Space Motion Generation 6.4 Examples EE 1 AA 5,1,2 AA 6,1,2 FF 2 GG 2 PP 2 AA 4,1,1 AA 3,1,1 FF 1 AA 7,1, GG 1 AA 3,1, AA 8,1, AA 4,1, FF OO AA 2,1, AA 6,1, AA 5,1, AA 1,1, Figure 6.33: Two link (Spherical-Spherical) MCDR Example OSMP problem for the Two Link (Spherical-Spherical) MCDR In this subsection, the use of the expansive search tree inspired planner is illustrated for systems with higher degrees of redundancy through the two link (Spherical-Spherical) MCDR. Two different metrics are investigated, in which for each metric two candidate solutions are presented. In each of the developed candidate solutions, the hierarchical probability distribution (6.1) is constructed with the monotonically decreasing sequences a t [ ] and b z t [ ] given by (6.22) and (6.23) with ν a =.9 and ν b =.1, respectively and the ordering function is given by (6.24). The choice of setting ν a =.9, is made to allow for greater exploration through the three dimensional null space for this system. Figure 6.34 depicts the reference operational space motion used in this example. It can be seen that this reference is similar to that of Figure 6.4, in which the trajectory consists of a straight line motion of the end effector from y 1 =.695 to y 1 =. Throughout this motion the remaining reference operational space DoFs are held constant. Tree Growth Metric 1 (Tracking Error): Using the reference output trajectory depicted in Figure 6.34, the gain matrices K P = 3I 6 and K D = 8I 6 for the target acceleration (6.19) and the threshold ɛ 1 = m, Figures 6.35 and 6.36 depict two different candidate cable force, joint space pose and joint space velocity trajectories. For 173

196 6.4 Examples MCDR Operational Space Motion Generation y 3 (m) y 1 (m) y ref ( ) y 2 (m) (a) Reference motion in operational space Reference Output Pose (m) Time (s) (b) Time versus reference operational space motion Figure 6.34: Operational space example trajectory for two link (Spatial-Spatial) MCDR - Red lines indicate cables, blue circles the CoM, black lines represent links and the green line is the reference operational space motion. y 1 y 2 y 3 both candidate solution trajectories, the ordering functions c z t [ ] were obtained through the use of the metric (6.25). It is observed that both candidate trajectories are able to track the straight line operational space reference (Figure 6.34), where the worst case tracking errors are given by max {L T} j(q) y re f (t) = m and m, respectively Force (N) f 1 f 2 f 3 f 4 f 5 f 6 f 7 f 8 Joint Pose (rad) q 1 q 2 q 3 q 4 q 5 q 6 Joint Velocity (rad/s) q1 q2 q3 q4 q5 q Time (s) 2 4 Time (s) Time (s) (a) Cable force (b) Joint space pose (c) Joint space velocity Figure 6.35: Spherical-Spherical Candidate Solution Trajectory 1 - The first solution obtained for the two link (Spherical-Spherical) MCDR with the tree growth metric (6.25) From Figures 6.35 and 6.36, it can be seen that the two candidate joint space solutions differ substantially in many of the system DoFs. Compared to the straight line operational space motion planning considered in Section 6.4.1, this result is particularly 174

197 MCDR Operational Space Motion Generation 6.4 Examples force (N) f 1 f 2 f 3 f 4 f 5 f 6 f 7 Joint Pose (rad) q 1 q 2 q 3 q 4 q 5 q 6 Joint Velocity (rad) q1 q2 q3 q4 q5 q6 f time (s) 2 4 Time (s) Time (s) (a) Cable force (b) Joint space pose (c) Joint space velocity Figure 6.36: Spherical-Spherical Candidate Solution Trajectory 2 - An alternative solution obtained for the two link (Spherical-Spherical) MCDR with the tree growth metric (6.25) different in that the significant variation occurs in DoFs other than the twist components (q 2 and q 5, respectively). This feature is a result of both the probabilistic nature of the solution and the increased number of degrees of redundancy for this mechanism. At any pose, the null space is three dimensional and therefore a wide range of candidate solutions can occur. Figures 6.35 and 6.36 also display oscillation in both their joint space and cable force trajectories. This is likely caused by the combination of the probabilistic nature of the solution and the increased number of degrees of redundancy, in which the solver is changing between different components of the null space. The existence of oscillation in the joint space pose is related to an increase in the required magnitude of the joint space velocity. As such, one means of reducing the observed oscillation could be achieved through modification of the tree growth metric to include a penalty on joint velocity. Tree Growth Metric 2 (Tracking Error + Velocity Norm): Figures 6.37 and 6.38 depict two additional candidate solution trajectories in which the OSMP parameters are fixed while the tree growth metric is modified in order to include a penalty on the joint velocity norm such that ς z i (L) =.1 ɛ 2 1 j(q) y re f (t) +.9 q, (6.32) ɛ 2 4 where ɛ 4 = 8 represents the desired maximum joint space velocity norm and the remaining scalars are set to normalise the metric between and 1. It can observed that the resulting trajectories represents valid solutions to the OSMP problem in which the 175

198 6.4 Examples MCDR Operational Space Motion Generation maximum tracking error is given by max {L T} j(q) y re f (t) = m and m, respectively. Furthermore, the addition of the velocity norm penalty has resulted in a reduction in oscillation, when compared to the Candidate Solution Trajectories of Figure 6.35 and force (N) f 1 f 2 f 3 f 4 f 5 f 6 f 7 f 8 Joint Pose (rad) q 1 q 2 q 3 q 4 q 5 q 6 Joint Velocity (rad/s) q1 q2 q3 q4 q5 q time (s) 2 4 Time (s) Time (s) (a) Cable force (b) Joint space pose (c) Joint space velocity Figure 6.37: Spherical-Spherical Candidate Solution Trajectory 3 - The first solution obtained for the two link (Spherical-Spherical) MCDR with the tree growth metric (6.32) Force (N) f 1 f 2 f 3 f 4 f 5 f 6 f 7 f 8 Joint Pose (rad) q 1 q 2 q 3 q 4 q 5 q 6 Joint Velocity (rad/s) q1 q2 q3 q4 q5 q Time (s) 2 4 Time (s) Time (s) (a) Cable force (b) Joint space pose (c) Joint space velocity Figure 6.38: Spherical-Spherical Candidate Solution Trajectory 4 - The first solution obtained for the two link (Spherical-Spherical) MCDR with the tree growth metric (6.32) In this case study, the use of the EST inspired OSMP solver has been investigated for a system with a larger number of degrees of redundancy. It was observed that the algorithm is capable of solving OSMP problems for this altered system, in which the increased number of degrees of redundancy allows a larger variation in the candidate solution trajectories. The use of metrics represents one means of biasing the resulting solution, such that it possesses desirable properties. 176

199 MCDR Operational Space Motion Generation 6.5 Conclusion 6.5 Conclusion In this chapter, a framework to determine the cable forces and joint space trajectories necessary for tracking desired operational space motions was developed. First, the problem of identifying feasible online solutions for operational space motion generation was split into an off-line motion planning phase and an online joint space control component. An expansive search tree inspired method was then proposed to be used in the motion planning phase. This method made use of a hierarchical probability distribution, such that separate costs could be placed onto the time and space components of the motion, in addition to a null space based mechanism for tree growth which could consider all of the system s kinodynamic constraints. To demonstrate the capability of the EST inspired motion planning method in identifying feasible solutions for operational space motion generation, a set of operational space motion tracking problems were solved for two different MCDRs. Through simulation, the effect of the algorithm s different tuning variables on the resulting solutions was illustrated. These solutions were then implemented onto a physical platform showing the capability of the solution framework. 177

200 This page is intentionally left (almost) blank.

201 Part II Generalised Software Framework for the Modelling, Analysis and Control of Cable Driven Parallel Robots 179

202

203 Part II: Generalised Software Framework for the Modelling, Analysis and Control of Cable Driven Parallel Robots Introduction to Part II Introduction to Part II THE class of cable-driven parallel robots (CDPRs) is defined by the properties of cable transmission. As a result, CDPRs consists of a range of different kinematic structures in which the number of rigid links, cables and scales of operation vary. Part I constructed a generalised framework for the generation of operational space motion. The framework was therefore suitable for each of the different CDPR kinematic topologies. The application of the developed generalised operational space motion generation framework is however reliant on the existence of software that manipulates the generalised model considered in Chapter 3. Chapter 7 proposes the cable-robot analysis and simulation platform (CASPR) as a suitable simulation platform with which to simulate the generalised operational space motion generation. By using an easily modified and extended XML based model specification, it is shown that the joint, cable and end effector specification sets, defined in Chapter 3, can be expressed such that a mechanism-specific numerical model can be constructed. Furthermore, it is also shown that by using a modular object oriented framework, CASPR is able to provide an interface with which to solve each of the problems identified in Chapter 3. This framework allows for new algorithms to be developed and integrated into CASPR and also represents a tool from which CDPR benchmarking methodologies can be developed. The implementation of generalised CDPR analysis algorithms onto hardware additionally requires software that is both real time capable and flexible to the different requirements and interfaces of CDPR sensing and/or actuation units. Chapter 8 extends the developed CASPR software framework to meet the requirements of real-time hardware implementation. Through the integration of CASPR with the robotics operating system (ROS), it is shown that the resulting CASPR-ROS software framework represents a tool that can be used to run all of the various CDPR topologies online. Furthermore, by using a modular object oriented framework for hardware interfacing it is also observed that CASPR-ROS supports different hardware interfaces in a manner that is both flexible and extendible. CASPR was used in the generation of all results presented in Part I and contains an implementation for each of the algorithms presented proposed within this thesis. 181

204 This page is intentionally left (almost) blank.

205 Chapter 7 Generalised Simulation Framework for Cable Robot Analysis This chapter presents the cable-robot analysis and simulation platform for research (CASPR) as a generalised simulation framework for the analysis of cable-driven parallel robots (CDPRs). The use of this framework substantially reduces the cost of applying CDPR algorithms onto arbitrary cable robot models while also providing a tool for the benchmarking of new algorithms. Section 7.1 motivates the need for a generalised framework for the modelling and analysis of CDPRs. The application of the CASPR framework for the representation and construction of generalised models, based upon the modelling framework presented in [111], is considered in Section 7.2. The methodology with which CASPR is capable of solving each of the problem statements introduced in Chapter 3, is presented in Section 7.3. The use of CASPR is demonstrated in Section 7.4 for a set of example case studies. Finally, Section 7.5 summarises the contributions of the chapter. 7.1 Introduction In a large number of cable-driven parallel robot (CDPR) research studies, two common properties are exhibited: Firstly, despite many developed algorithms being applicable to all of CDPRs described by the generalised models of Chapter 3, most new techniques are typically only implemented onto the specific robots possessed by their authors. Secondly, as the CDPR literature continues to grow it is increasingly difficult and time consuming to perform fair comparisons of the various different algorithms and implementations. These properties inhibit the advancement of CDPR research in several ways: 1) new research techniques are often not validated onto a wide range of different robots. As a result, the evaluation of new techniques does not typically consider the effect of varying 183

206 7.2 Generalised Modelling Generalised Framework for CDPR Analysis the number of degrees of freedom, links, cables and/or kinematic topology. 2) No benchmarking algorithms exist for newly developed methods. This makes it increasingly difficult for researchers to conduct fair comparisons between new algorithms and the existing state of the art. 3) Researchers often have to reinvent the wheel by re-implementing existing models and/or algorithms in order to compare with other techniques. This results in increased development times for the creation of new algorithms. The development of a comprehensive open source platform for the study of CDPRs can address these identified issues and would therefore allow cable robot researchers to validate, benchmark and share their research. In achieving this, the platform should achieve four main objectives: 1. The software should contain a range of CDPR models such that researchers can easily test their algorithms onto CDPRs with differing kinematic structures. 2. The software should be comprehensive such that it can solve each of the different common CDPR analysis problems as defined in Chapter The software should allow for direct comparison of different algorithms and/or implementations with which to solve a particular analysis problem. 4. The software should be extendible such that the community can actively contribute new models and algorithms. 7.2 Generalised Modelling The cable-robot analysis and simulation platform for research (CASPR) provides the capability of generalised CDPR modelling through the numerical construction of the kinematic and dynamic models presented in Chapter 3.2. These models are constructed from the parameters specified within the joint dynamic specification set J dyn, the cable specification set C and the end effector specification set E. Together these sets, as defined in (3.35), (3.23) and (3.24), respectively, correspond to a description of the joint constraint (3.2), link inertia, cable attachments and end effector parameterisation. 184

207 Generalised Framework for CDPR Analysis 7.2 Generalised Modelling Using the generalised models of Chapter 3.2, the fundamental equations which define a CDPR in CASPR are given by M(q) q + C(q, q) + G(q) = L(q) T f, (7.1) l = L(q) q, (7.2) ẏ = J(q) q, (7.3) f(q, q) f f(q, q). (7.4) It is noted that this set of equations consists of the r link, ρ end effector model of Chapter 3.2, in addition to being flexible to a broader set of cable models through the modified unilateral constraint (7.4). This modified constraint considers the joint space kinematics and therefore can model state dependent actuators such as elastic cables and muscles. Within CASPR, the terms of the fundamental equations (7.1) - (7.4) including the mass matrix M R n n, the Coriolis/centrifugal force C R n, the gravitational vector G R n, the cable-to-joint Jacobian L R µ n and the operational space-to-joint Jacobian J R η n are stored within instances of the SystemModel class. This class also defines how the model is to be updated at different joint space kinematics q, q and q using the update(...) function. Objects of the SystemModel class are comprised of two components: the bodies model which defines the kinematics and dynamics of the system of links and end effectors; and the cables model which defines the kinematics and dynamics of the system of cables Bodies Model The CASPR bodies model consists of a set of individual links and end effectors as well as a description of their interconnections. Figure 7.1(a) depicts the components specified by the CASPR bodies model for an example multi-link CDPR (MCDR). It can be seen that the bodies model comprises the kinematics and dynamics associated with each of the joint dynamic J dyn and end effector E specification sets. This information is contained within the objects of the SystemModelBodies class, which can also be used to update the link kinematics and dynamics for a given set of joint space kinematics through the 185

208 7.2 Generalised Modelling Generalised Framework for CDPR Analysis (a) SystemModelBodies object (b) JointBase instances (c) BodyModelBase instances (d) OperationalSpaceBase instance Figure 7.1: Example four DoF two link CDPR with the components of the robot specified by the software objects shown in red update(...) method. The individual links and end effectors contained within the bodies model are specified by the individual elements of the sets J dyn and E, respectively. These elements are represented in CASPR by the implementations of the JointBase, BodyModelBase and OperationalSpaceBase parent classes, where the components specified by the class are depicted in Figures 7.1(b), 7.1(c) and 7.1(d), respectively. JointBase class The JointBase parent class is used in CASPR to determine the kinematics associated with an individual joint. This means that the class contains the parameters associated with the joint specification set S as defined in (3.22). In addition, the implementations of the 186

209 Generalised Framework for CDPR Analysis 7.2 Generalised Modelling class (joints) must specify an update(...) method which can be used to determine the body space position and velocity of the kth link as given by (3.1) and (3.2), respectively, for a given q and q. New joint types can be added into CASPR by inheriting from the JointBase parent class, where in order to specify the relationships (3.1) and (3.2), each new joint type must define the following properties: r rel: The relative translation of the link position with respect to its origin p(k) r Pp(k) P k. This corresponds to the translational component of s k (q) as defined in (3.1). R: The rotational matrix k p(k) R which represents the orientation of frame {F k} with respect to the parent frame {F p (k)}. This can be determined from the rotational component of s k (q). S: The linear mapping between the relative body space velocity and the joint space velocity. This corresponds to the matrix S k used in (3.2). S dot: The time derivative of the matrix S k as used in computing the generalised acceleration (3.19). Using this approach, CASPR supports the implementation of different robotic joints. Examples of joint types that have been implemented into CASPR include: Revolute: A joint which allows rotation about a defined axis of rotation (e.g. RevlouteX). Universal: A joint which allows rotations about two different axes of rotation (e.g. UniversalXY). Planar: A joint which constrains the motion of the link to remain within a plane (e.g. PlanarXY). Translational: A joint which only allows translational motion (e.g. (TranslationalXYZ). Spherical: A joint which only allows rotation. Different representations of orientation correspond to different spherical joints (e.g. SphericalEulerXYZ). Spatial: A joint which allows all motion. Different representations of orientation correspond to different spatial joints (e.g. SpatialEulerXYZ). 187

210 7.2 Generalised Modelling Generalised Framework for CDPR Analysis BodyModelBase The BodyModelBase parent class is used in CASPR to determine the kinematics and dynamics associated with an individual link. As a result, the class contains the parameters associated with the joint dynamic specification set J dyn, as defined in (3.35). Implementations of the BodyModelBase class therefore contain A joint object which corresponds to an element of the joint specification set S. The link centre of mass location k r Pk G k. The location of the joint relative to its parent link p(k) r Pp(k) P k. The inertia properties of the link. This consists of the mass m k and the inertia I kgk. OperationalSpaceBase class The OperationalSpaceBase parent class is used in CASPR to determine the kinematics and dynamics of an individual end effector. The class therefore contains the parameters of an individual element of the end effector specification set E and is used to determine the operational space position and velocity for the kth end effector. New operational space types can be added into CASPR by inheriting from the OperationalSpaceBase parent class where each new operational space type must define the selection matrix property which corresponds to the projection matrix T k from (3.15). As implementations of the OperationalSpaceBase class correspond to elements of the end effector specification set E, by definition (3.24), an implementation of the class includes: The operational space type from which the matrix T k is defined. The link e(k) to which the end effector is attached to. The end effector vector e(k) r Pe(k) E k. For each of the OperationalSpace objects, CASPR allows the kinematics and dynamics to be recomputed at each joint space pose q using the update(...) method. Examples of operational spaces that have been implemented in CASPR include: 188

211 Generalised Framework for CDPR Analysis 7.2 Generalised Modelling OperationalSpacePose: An end effector for which all 6 DoF are considered. OperationalSpaceOrientation: An end effector which considers the orientation DoFs. OperationalSpacePosition: An end effector which considers the translational DoFs Cables Model The CASPR cables model, with components depicted for an example MCDR in Figure 7.2, describes the kinematics and dynamics associated with the system s cables as specified by the cable specification set C, defined in (3.23). This system is represented in CASPR using objects of the SystemModelCables class, where the cable kinematics and dynamics, such as the vector l and the Jacobian matrix V, are updated in accordance with (3.7) and (3.1), respectively, at a given joint space pose q using the update(...) method. The individual elements of the set C are contained in objects which inherit from the CableModelBase class. As a result, instances of the CableModelBase class therefore contain: The cable routing information through the CRM slice C i which corresponds to (3.9). The fixed attachment locations k r ok A i,j,k which are used in the absolute attachment computation (3.6). The class is also used in the construction of the cable routing matrix C, the computation of the cable segment vectors l ij, as given by (3.5), and the construction of the cable length vector l using the cable length relationship (3.7). The use of an abstract base class allows different cable models beyond the ideal cable model considered in Chapter 3.2 to be implemented by defining new methods for the computation of both the cable lengths l and the minimum and maximum cable forces at a given pose f and f, respectively. Using this approach, cable models such as ideal cables, spring based cables, variable stiffness cables, and physiological muscles have been implemented into the CASPR framework. 189

212 7.2 Generalised Modelling Generalised Framework for CDPR Analysis Figure 7.2: Example four DoF two link CDPR with the components specified by the SystemModelCables class shown in red Inputting CDPR Models using XML CASPR supports the addition of new CDPR models through the use of extensible markup language (XML) scripts. These scripts encode the specification sets J dyn, C and E from which an instance of the SystemModel class can be constructed. Two XML scripts are typically used in the generation of a new CDPR: The bodies XML script which specifies the information necessary to construct an instance of the SystemModelBodies class and the cables XML script which contains the information necessary to construct a SystemModelCables object. Code Sample 7.1 presents an example XML bodies script for a 2 link CDPR with a single end effector. It can be seen that the bodies XML file typically consists of a list of r links contained within a links tag and a list of different configurable possible operational space sets contained within an operational spaces tag. The different possible operational space sets each then contain a list of ρ end effectors where for this example robot is can be seen that r = 2 and ρ = 1. Furthermore, from the code sample it can also be seen that the individual link and operational space tags represent specifications of an individual element of the sets J dyn and E, respectively, where in this case the link is a rigid link and the operational space considers only the end effector position. Code Sample 7.1: XML code for example bodies specification. 19

213 Generalised Framework for CDPR Analysis 7.2 Generalised Modelling <bodies system> <l i n k s display range= view angle= > <l i n k r i g i d num= 1 name= l i n k 1 > <j o i n t type= R Y q i n i t i a l = q min= q max= /> <physical> <mass>1. </mass> <com location>... 5</ com location> <e n d l o c a t i o n>.. 1. </end l o c a t i o n> <i n e r t i a r e f = com > <Ixx>1. </Ixx> <Iyy>1. </Iyy> <Izz>1. </Izz> <Ixy>. </Ixy> <Ixz>. </Ixz> <Iyz>. </Iyz> </ i n e r t i a> </physical> <parent> <num></num> <l o c a t i o n>... </ l o c a t i o n> </ parent> </ l i n k r i g i d> <l i n k r i g i d num= 2 name= l i n k 2 > <j o i n t type= R Y q i n i t i a l = q min= q max= /> <physical> <mass>1. </mass> <com location>... 5</ com location> <e n d l o c a t i o n>.. 1. </end l o c a t i o n> <i n e r t i a r e f = com > <Ixx>1. </Ixx> <Iyy>1. </Iyy> <Izz>1. </Izz> <Ixy>. </Ixy> <Ixz>. </Ixz> <Iyz>. </Iyz> </ i n e r t i a> </physical> <parent> <num>1</num> <l o c a t i o n>.. 1. </ l o c a t i o n> </ parent> </ l i n k r i g i d> </ l i n k s> <o p e r a t i o n a l s p a c e s d e f a u l t o p e r a t i o n a l s e t = ee pose > <o p e r a t i o n a l s e t id= ee pose > <p o s i t i o n marker id= 1 name= ee pose > <l i n k>2</ l i n k> <o f f s e t>.. 1. </ o f f s e t> 191

214 7.2 Generalised Modelling Generalised Framework for CDPR Analysis <axes a c t i v e a x e s = xz /> </ p o s i t i o n> </ o p e r a t i o n a l s e t> </ o p e r a t i o n a l s p a c e s> </ bodies system> For each individual link, the element of J dyn is encoded through tags as indicated in Table 7.1. Tag Encoded Information joint The implemented JointBase class and corresponding s k and S k. mass The mass m k used in constructing the matrix M B. com location The centre of mass vector k r ok G k. end location The end effector vector. inertia The mechanism inertia I kgk used in constructing M B. num The parent link number p(k). location The joint location in the parent frame p(k) r op(k) P k. Table 7.1: Description of the individual link tags Similarly for each operational space body, the element of E is encoded through tags as indicated in Table 7.2. Tag Encoded Information link The link e(k) that the end effector is attached to. offset The end effector position vector e(k) r Pe(k) E k. axes The subset of the end effector pose that is considered for the operational space. With the operational space type this indicates the matrix T k. Table 7.2: Description of the individual operational space tags It can therefore be seen from Code Sample 7.1 that the given robot corresponds to the robot depicted in Figure 7.3. This robot consists of two revolute joins where each link is rigid, possesses a mass of 1kg, inertia tensor I kgk = I 3 3 and centre of mass vector k r ok G k = [.5] T. Additionally, the robot possesses a single end effector which is located at the end of the second link. The operational space associated with this end effector is translational and is constrained to the XY plane. Code Sample 7.2 presents an example XML cables script for the CDPR with a single body as shown in Figure 7.4. This example shows that the cables XML file typically consists of a list of different cable set tags where each cable set refers to a possible 192

215 Generalised Framework for CDPR Analysis 7.2 Generalised Modelling 1mm GG 2 EE 1 PP 2.5mm 1mm GG 1 PP 1.5mm Figure 7.3: The body model for the CDPR specified in Code Sample 7.1 cable arrangement for a robot. Within the cable set tag, the µ individual cables are then described using the cable tag, where in this case the two different cable sets each make use of two cables such that µ = 2. 1mm GG 1 PP 1.5mm Figure 7.4: The body model for the CDPR specified in Code Sample 7.2 Code Sample 7.2: XML code for example cables specification. <c a b l e s d e f a u l t c a b l e s e t = c s 1 > <c a b l e s e t id= c s 1 > <c a b l e i d e a l name= cable 1 attachment reference= com > <p r o p e r t i e s> <force min>5</ force min> <force max>35</force max> </ p r o p e r t i e s> <attachments> <attachment> <l i n k></ l i n k> <l o c a t i o n>.5.. </ l o c a t i o n> 193

216 7.2 Generalised Modelling Generalised Framework for CDPR Analysis </ attachment> <attachment> <l i n k>1</ l i n k> <l o c a t i o n>.5.. 3</ l o c a t i o n> </ attachment> </ attachments> </ c a b l e i d e a l> <c a b l e i d e a l name= cable 2 a ttachment reference= com > <p r o p e r t i e s> <force min>5</ force min> <force max>35</force max> </ p r o p e r t i e s> <attachments> <attachment> <l i n k></ l i n k> <l o c a t i o n> </ l o c a t i o n> </ attachment> <attachment> <l i n k>1</ l i n k> <l o c a t i o n>. 5..2</ l o c a t i o n> </ attachment> </ attachments> </ c a b l e i d e a l> </ c a b l e s e t> <c a b l e s e t id= c s 2 > <c a b l e i d e a l name= cable 1 a ttachment reference= com > <p r o p e r t i e s> <force min>5</ force min> <force max>35</force max> </ p r o p e r t i e s> <attachments> <attachment> <l i n k></ l i n k> <l o c a t i o n>.5.. </ l o c a t i o n> </ attachment> <attachment> <l i n k>1</ l i n k> <l o c a t i o n>.5..2</ l o c a t i o n> </ attachment> </ attachments> </ c a b l e i d e a l> <c a b l e i d e a l name= cable 2 a ttachment reference= com > <p r o p e r t i e s> <force min>5</ force min> <force max>35</force max> 194

217 Generalised Framework for CDPR Analysis 7.2 Generalised Modelling.5mm.75mm (a) Cable set cs 1.5mm.75mm (b) Cable set cs 2 Figure 7.5: The cable sets specified by Code Sample 7.2 </ p r o p e r t i e s> <attachments> <attachment> <l i n k></ l i n k> <l o c a t i o n> </ l o c a t i o n> </ attachment> <attachment> <l i n k>1</ l i n k> <l o c a t i o n> </ l o c a t i o n> </ attachment> </ attachments> </ c a b l e i d e a l> </ c a b l e s e t> </ c a b l e s> For each individual cable, the element of C is encoded through tags as indicated in Table 7.3. In addition, the parameters which define the cable model can also be provided as appropriate for the particular cable model. Tag Encoded Information link The link that the cable is attached to. location The attachment vector k r ok A i,j,k. Table 7.3: Description of the individual cable tags It can therefore be seen from Code Sample 7.2 that the given cable sets for this robot correspond to those shown in Figure 7.5. In each case, the robot possesses two ideal cables with minimum force f = 5N and maximum force f = 35N. 195

218 7.3 Generalised Robot Analysis Generalised Framework for CDPR Analysis 7.3 Generalised Robot Analysis Using the generalised model (7.1)-(7.4), CASPR allows each of the Problem Statements to be solved. The solutions to these problems are obtained through the use of two different software modules: the analysis tools which evaluate a reduced version of the problem statement at a single instant in time or joint space node; and the simulators which exploit the analysis tools in order to solve the problem over its complete domain Analysis Tools In CASPR, individual analysis tools are written to solve Problem Statements over the smallest possible domain. For the case of time based problem statements (Problem Statements ) this corresponds to solving the problem for a single instant in time, whereas for the pose based problem statements (Problem Statements 3.8 and 3.9) it corresponds to solving the problem for a single pose and/or set of poses in the joint space. The implementation of analysis tools in CASPR differs depending upon whether or not there exists a unique solution to the associated problem statement. In the case of the cable-joint inverse kinematics problem and the operational space-to-joint forward kinematics problem (Problem Statements 3.2 and 3.3, respectively), the problem solutions can be uniquely computed in the construction of the generalised model through the equations (3.4) and (3.14), respectively, and therefore there is no dedicated analysis tool classes. In contrast, as identified in Chapter 2, the remaining problem statements do not possess unique solutions. This means that there are multiple different methodologies that have been developed for their solution. In order to support both the integration of new research algorithms and the comparison between the different methodologies, CASPR supports the implementation of multiple algorithms using an inheritance based object oriented approach. For each analysis problem, an abstract base class is therefore created to represent the problem, which consists of 1) Access to the constant parameters of the CDPR through the SystemModel class and 2) An abstract method which defines a mapping between the non-model problem statement inputs and outputs. New algorithms are then generated by inheriting the base class and implementing the abstract methods. 196

219 Generalised Framework for CDPR Analysis 7.3 Generalised Robot Analysis Figure 7.6, depicts an example of this procedure for the case of the workspace metrics and workspace quantification problem (Problem Statement 3.9). It can be seen that this problem statement possesses the base class analysis tool WorkspaceMetricBase which consists of a minimum and maximum value ψ and ψ, respectively in addition to the abstract method evaluate(q) which defines the particular procedure for evaluating the workspace metric. New workspace metrics, such as the capacity margin (Definition 3.1) and unilateral dexterity (5.34), are then added by implementing the evaluate method for the particular metric definitions. The individual problem statements and the associated abstract analytical tool classes and methods used in CASPR are summarised in Table 7.4. WorkspaceMetricsBase metricmin metricmax (abstract) ψψ = evaluate qq WorkspaceMetricNew CapacityMarginMetric UnilateralDexterirtyMetric metricmin = metricmax = 1 ψψ = evaluate qq Figure 7.6: Workspace quantification analysis tool example Problem CASPR base class Abstract Methods Joint-Cable Forward Kinematics FKAnalysisBase [q, q] = compute(l, l, q prev, (Problem Statement 3.1) q prev ) Forward Dynamics ForwardDynamics [q, q, q] = compute(f, q prev, (Problem Statement 3.5) q prev, w ext ) Inverse Dynamics IDSolverBase f = resolve(q, q, q, w ext ) (Problem Statement 3.6) Motion Control ControllerBase f = execute(q, q, q, q re f, (Problem Statement 3.7) q re f, q re f, t) Workspace Generation WorkspaceConditionBase φ = evaluate(q) (Problem Statement 3.8) Workspace Quantification WorkspaceMetricBase ψ = evaluate(q) (Problem Statement 3.9) Table 7.4: Problem statement classes in CASPR 197

220 7.3 Generalised Robot Analysis Generalised Framework for CDPR Analysis Analysis Simulators In CASPR, Simulator classes are classes responsible for managing the solving of CDPR problem statements. This means that the simulator classes act to 1) organise the problem statements into smaller problems suitable for the analysis tools, 2) call the relevant analysis tools for each problem statement 3) provide means with which to interpret the results through appropriate plotting functions. All simulators in CASPR are implemented by inheriting from a common SimulatorBase class. This class consists of a SystemModel object which represents the CDPR and an abstract run(...) method which manages the solving of the associated problem statement. Table 7.5 depicts the simulators for each of the problem statements considered in CASPR. It can be seen that for each time based problem statements there exists a unique corresponding Simulator class. The different simulator classes however operate in a similar manner, whereby the different run(...) methods follow the procedure typified by InverseKinematicsSimulator.run(...) as depicted by Code Sample 7.3. Problem Joint-Cable Forward Kinematics Joint-Cable Inverse Kinematics Forward Dynamics Inverse Dynamics Motion Control Workspace Generation Workspace Quantification Simulator class ForwardKinematicsSimulator InverseKinematicsSimulator ForwardDynamicsSimulator InverseDynamicsSimulator ControllerSimulator WorkspaceSimulator WorkspaceSimulator Table 7.5: Problem statement and corresponding Simulator class in CASPR Code Sample 7.3: Example implementation of the run(...) method for the InverseKinematicsSimulator class % Inverse kinematics implementation of the run function. function run ( obj, t r a j e c t o r y, c a b l e i n d i c e s ) % Store the t r a j e c t o r y information obj. t r a j e c t o r y = t r a j e c t o r y ; obj. timevector = obj. t r a j e c t o r y. timevector ; % I n i t i a l i s e cable length o b j e c t s obj. cablelengths = c e l l ( 1, length ( obj. t r a j e c t o r y. timevector ) ) ; obj. cablelengthsdot = c e l l ( 1, length ( obj. t r a j e c t o r y. timevector ) ) ; % Loop over the time and c a l l the a n a l y s i s t o o l 198

221 Generalised Framework for CDPR Analysis 7.4 Examples end for t = 1 : length ( obj. t r a j e c t o r y. timevector ) % Update the model obj. model. update ( obj. t r a j e c t o r y. q{ t }, obj. t r a j e c t o r y. q dot { t }, obj. t r a j e c t o r y. q ddot { t }, z e r o v e c t o r ) ; % Obtain the model v a r i a b l e s obj. cablelengths { t } = obj. model. cablelengths ( c a b l e i n d i c e s ) ; obj. cablelengthsdot { t } = obj. model. cablelengthsdot ( c a b l e i n d i c e s ) ; end In contrast to the time based problem statements, Problem Statements 3.8 and 3.9 are considered within the single common WorkspaceSimulator class. This simulator goes through the complete set of nodes and at each node calls the evaluate method for a list of different conditions and/or metrics that have been specified. In this manner, the workspace simulator differs from the other simulator in its flexibility to consider different evaluations during the same execution of the run(...) method. The simulator further differs in that an individual node can correspond to an individual workspace pose, a ray of workspace poses or an interval of workspace poses. As a result the conditions and/or metrics can be evaluated using numerical point based methods [118, 149] ray based methods [11] and interval based methods [61, 13]. 7.4 Examples Two case studies are presented to illustrate the ease and potential in performing simulations using CASPR. These case studies illustrate the use of CASPR in solving different problem statements for different models with minimal required coding changes. The case studies also show the potential for using CASPR as a tool for benchmarking by considering different algorithms and implementations throughout the case studies. CASPR has also been used in the generation of results for [18, 112], the thesis Chapters 4-6 and the thesis contribution publications [J1, J3, J4]. 199

222 7.4 Examples Generalised Framework for CDPR Analysis Inverse Dynamics This case study illustrates two different capabilities of CASPR: 1) the capability to run different inverse dynamics (ID) algorithms and to directly compare them; and 2) the capability to use the same algorithm implementations on different CDPRs. Figure 7.7 shows two different CDPRs which are used in this ID case study: the single link 3-DoF 4-cable KNTU planar CDPR [8] and the 8-link 24-DoF 76-cable neck-inspired MCDR [111]. In all of the simulations, the minimum and maximum cable force bounds for all cables were f min =.1 N and f max = 6 N, respectively..35 y [m] x [m] (a) KNTU planar robot [8] Z (m) Y (m).1 X (m) (b) 8-link 8S 76-cable model [111].1 Figure 7.7: Two different CDPRs used in the ID case study. For the KNTU CDPR, three different ID algorithms presented in Chapter were simulated using the InverseDynamicsSimulator class. The trajectory used for the robot was a quintic interpolated spline between the coordinates q s = [.3.8.1] T and q e = [.7.2.2] T, where q = [x y θ] T represents the x and y position and the orientation of the robot, respectively, for zero initial and ending velocities and accelerations. Figure 7.8 shows the resulting cable force solutions to perform the trajectory. Figure 7.8(a) shows the solution obtained from using the ID solvers IDSolverQuadProg [111] and IDSolverMinInfNorm [59], to minimise the two and infinite norms of the cable forces, respectively. It should be noted that both methods resulted in the same solution for this problem. Figure 7.8(b) is the solution obtained using the IDSolverClosedForm [158] (as shown in Sample Code 7.4) for the same trajectory. To change between different solvers, only the solver definition in step 4 of Sample Code 7.4 needs to be modified. 2

223 Generalised Framework for CDPR Analysis 7.4 Examples cable force [N] Cable 1 Cable 2 Cable 3 Cable 4 cable force [N] Cable 1 Cable 2 Cable 3 Cable time [s] (a) Minimum infinity and twonorm time [s] (b) Improved closed-form ID [158] Figure 7.8: Cable force solutions for the inverse dynamics of the KNTU planar CDPR. Code Sample 7.4: Script to run an inverse dynamics simulation % Step 1 : Setup the KNTU planar CDPR model model type = ModelConfigType. M KNTU PLANAR; model config = ModelConfig ( model type ) ; % Step 2 : Create the model o b j e c t s from XML modelobj = model config. getmodel ( s e t 1 ) ; % Step 3 : Create the input t r a j e c t o r y from XML t r a j = model config. g e t T r a j e c t o r y ( t r a j 1 ) ; % Step 4 : Create the IDSolver i d t y p e = ID CF SolverType. IMPROVED CLOSED FORM; s o l v e r = IDSolverClosedForm ( modelobj, id type ) ; % Step 5 : Create and run InverseDynamicsSimulator sim = InverseDynamicsSimulator ( modelobj, s o l v e r ) ; sim. run ( t r a j ) ; Figure 7.9 shows the cable force solutions for the inverse dynamics performed on the 8-link neck-inspired MCDR. To change the model from the KNTU to the neck-inspired model, only step 1 of Sample Code 7.4 needs to be modified, while keeping the remaining steps the same. The desired trajectory is the roll motion, that is, a left and right tilting movement of the neck, as simulated in [111]. Figures 7.9(a), 7.9(b) and 7.9(c) show the results using the minimum sum squared, minimum infinity norm and the closed form method from the KNTU example, respectively. Figure 7.9(d) is obtained using the IDSolverOptimallySafe method [19]. Using CASPR, the characteristics of different ID solvers can be easily observed and 21

224 7.4 Examples Generalised Framework for CDPR Analysis cable force [N] cable force [N] time [s] time [s] (a) Minimum sum squared (b) Minimum infinity norm cable force [N] cable force [N] time [s] (c) Improved closed-form [158] time [s] (d) Optimally safe form [19] Figure 7.9: Cable force solutions for the inverse dynamics of the neck-inspired MCDR. compared, as shown in Figures 7.8 and 7.9. For example, it can be observed in Figures 7.9(b) and 7.9(d) that discontinuities exist in the solution since both methods result in a Linear Program (LP). Furthermore, the difference in the solution due to the use of different objective functions can be observed. For example, the minimum sum squared and infinity norm solutions result in significantly lower cable forces than closed-form approach that tries to achieve cable forces that are in the middle of the force bounds Workspace Analysis In the second case study, the wrench-closure workspace is constructed for the 6-DoF 8- cable IPAnema2 CDPR [16] using the WorkspaceSimulator. From the script in Sample Code 7.4, CDPR workspace generation could be performed by simply modifying steps 4 and 5, where in this case this consists of using the wrench-closure condition as the generating condition. In this study, different WCW analyses are performed on two different arrangements of cable attachments, as shown in Figure 7.1. The arrangements 22

225 Generalised Framework for CDPR Analysis 7.4 Examples are defined as two cable set sets within the XML file, and simulations on different cable sets can be performed just by modifying step 2 of Code Sample z [m] 4 2 z [m] y [m] -4-5 x [m] 4 2 y [m] x [m] 5 (a) Cable set 1: as defined in [16] (b) Set 2: modified arrangement Figure 7.1: The IPAnema2 for the workspace analysis study. The resulting WCW in the XYZ coordinates (translational) for the two different cable arrangements at a constant orientation of θ x = 3, θ y = 3 and θ z = 5 (using xyz- Euler angles) are shown in Figure As expected, it can be observed that the different cable arrangements result in significantly difference workspaces. This case study serves to show the ease in which the analysis of different CDPRs and cable arrangements, can be performed in CASPR. (a) Cable set 1 (b) Cable set 2 Figure 7.11: WCW in XYZ for the IPAnema2 at an orientation of θ x = 3, θ y = 3 and θ z = 5 (xyz-euler angles). Furthermore, the support of multiple implementations for the same type of analysis, such as WCW, allows the performance of different algorithms to be directly compared on the same CDPR using the same computer. For this case study, four different WCW implementations that are already available within CASPR were executed on the IPAnema2. Table 7.6 shows the resulting computational time required to generate the WCW shown 23

226 7.5 Conclusion Generalised Framework for CDPR Analysis Table 7.6: Computational costs for the different inverse dynamics problems and examples Methods From [154] From [118] From [149] QP method Total time (s) in Figure 7.11(a) for a constant orientation for Z = 2, 3, 4 m and X [ 4, 4], Y [ 3, 3] with X = Y =.1 m using a numerical approach. All runs were performed using MATLAB 214b on the same computer with an Intel R Core TM i Ghz processor and 8 GB RAM. 7.5 Conclusion In this chapter, an overview of the architecture and features of the CASPR generalised CDPR simulation platform was presented. The platform addresses the lack of a comprehensive CDPR analysis software by achieving the four main objectives as described in Section 7.1. Firstly, through the use of XML scripting and the generalised model of Chapter 3.2, a broad range of different CDPR models can be generated in CASPR through the appropriate encoding of the specification sets J dyn, C and E. Secondly, by applying the framework of analysis simulators and analysis tools, CASPR is able to solve each of the common CDPR problems defined by Problem Statements Thirdly, CASPR allows direct comparison of different implementations by making use of an object oriented inheritance based structure such that different implementations share the same model and software with the only exception being the algorithm implementation. Finally, due to its modular design, CASPR makes it convenient to develop new models and analysis algorithms, without needing to re-invent the wheel. Generated through computation of the tension factor metric. This method uses a QP solver to find a valid solution to the problem = L T f, f under the condition that L T is f full rank. All times are implementation and computer dependent. 24

227 Chapter 8 Generalised CDPR Framework for Hardware Implementation This chapter describes the extension of the CASPR software framework in order to allow for the implementation of different types of CDPR analyses onto arbitrary hardware platforms. The use of this extension enables the benefits of CASPR to be applied onto online hardware based CDPR operation. Section 8.1 identifies the requirements of online CDPR hardware operation. The integration of CASPR with the robot operating system (ROS) is presented as a tool for hardware implementation in Section 8.2. The use of CASPR-ROS for the length and force control of CDPRs is shown in Section 8.3. The contributions of the chapter are finally summarised in Section Introduction In the generalised operation of CDPRs, two different features are desired: First, the different CDPR operating procedures (such as forward kinematics, inverse dynamics and control) must be implementable on the different hardware systems in real time. Second, the implementation of the algorithms should consider the different sensors and actuators that can be used for different hardware implementations and provide means such that actuators and sensors can be changed without the need for substantial software change. The cable-robot analysis and simulation platform for research (CASPR) as presented in Chapter 7 aids the simulation of CDPRs in several ways: 1) By supporting the generalised CDPR model of Chapter 3.2, CASPR allows the same CDPR algorithms to be used for the simulation of different CDPRs with limited required software change. 2) Through the consideration of all of the problem statements identified in Chapter 3.4, CASPR is able to simulate the complete operation of a CDPR within a single software framework. 3) Us- 25

228 8.2 CASPR-ROS Generalised CDPR Framework for Hardware Implementation ing the object oriented methodology, CASPR provides tools for algorithm benchmarking and comparison. 4) As a result of the extendibility and modularity of CASPR, new techniques for solving common CDPR problems can be easily developed and integrated into existing simulations. The extension of CASPR for hardware implementation would therefore allow for the software s flexibility, robustness and extendibility to be applied onto online CDPR operation. In developing this extension the following objectives should be addressed: 1. The extension must be capable of pseudo real time performance to reflect the soft real time capability of many operating systems. 2. The software should allow for the modification of hardware interfaces to reflect changes in CDPR actuators and sensing units. 3. The software should maintain the flexibility and extendibility of CASPR 8.2 CASPR-ROS Hardware Interfacing The CASPR-ROS software is designed to implement the typical operation of a CDPR through the cycle shown in Figure 8.1. It can be seen that this cycle is comprised of a number of the problem statements considered in Chapter 3.4. In particular a control procedure (Problem Statement 3.7) takes the reference joint space kinematics (q re f, q re f and q re f ) and outputs a set of command kinematics (q cmd, q cmd and q cmd ) to compensate for the joint space kinematic error. The command joint space kinematics are then used to determine a command cable length l cmd or force f cmd through the use of an inverse kinematics or inverse dynamics algorithm (Problem Statements 3.2 or 3.6, respectively). The cable space command is then used to drive the CDPR plant/simulation, whereby the cable space feedback is then converted into joint space feedback through a forward kinematics algorithm (Problem Statement 3.1), such that the joint space feedback can be used for the control. 26

229 Generalised CDPR Framework for Hardware Implementation 8.2 CASPR-ROS qq rrrrrr, qq rrrrrr, qq rrrrrr Control qq cccccc, qq cccccc, qq cccccc Inverse Dynamics/ Inverse Kinematics ll cccccc /ff cccccc Plant/ Forward Dynamics qq ffffff, qq ffffff, qq ffffff Forward Kinematics ll ffffff Figure 8.1: CDPR operation cycle For CDPR hardware implementation, the operation cycle can be broken into two components: 1) the software core which comprises of the forward kinematics, inverse dynamics/kinematics and control and collectively acts to convert sensor feedback and reference joint space kinematics into actuator commands. 2) the physical hardware which is driven by the input actuator command and has its state measured by the sensor feedback. To minimise code change, the software core (which has no explicit hardware dependency) would ideally be generic whereby the cable space commands and feedback would represent the cable length and/or cable force vectors l and f, respectively. In contrast, the physical hardware must be specific since it corresponds to a particular set of sensors and actuators and therefore must reflect the specific measurable sensor information (relative motor angle, absolute motor angle, cable length etc.) and actuator command structure (motor current, command motor angle etc.). Within CASPR-ROS, the hardware operation cycle is implemented using this software core hardware breakdown, where the software core corresponds to the CASPR software framework of Chapter 7. To facilitate modularity and flexibility of the core, CASPR-ROS provides an additional abstract hardware interfacing class HardwareInterfaceBase which translates between generic cable space variables used in the computational core and the specific variables required for interfacing with the sensors and actuators. In this manner, the CASPR-ROS computational core remains generic and need not consider hardware specific requirements such as filtering and relative/absolute data conversion. The abstract class HardwareInterfaceBase therefore sits between the hardware 27

230 8.2 CASPR-ROS Generalised CDPR Framework for Hardware Implementation and the CASPR-ROS computational core (as shown in Figure 8.2). Implementations of this class are responsible for translating the hardware specific contents of the feedback into the associated cable space variables and in writing the actuator specific commands given knowledge of the command cable space variables. This is achieved by implementing the abstract methods updatefeedback(..) - This function reads the current feedback from the sensors and converts the feedback variables into cable space variables. publishforcesetpoint(..) - This function publishes a force command by converting the generic cable force f into a motor specific command. publishlengthsetpoint(..) - This function publishes a length command by converting the generic cable length l into a motor specific command. Cable_feedback CASPR-ROS Computational Core HardwareInterfaceBase Cable_setpoint (abstract) publishlengthsetpoint(...) (abstract) publishforcesetpoint(...) (abstract) updatefeedback(...) HardwareInterfaceNew FlexrayHardwareInterface FPGAHardwareInterface publishlengthsetpoint(...) publishforcesetpoint(...) updatefeedback(...) Motor_feedback Motor_setpoint Hardware Figure 8.2: CASPR-ROS hardware interface structure ROS Integration In addition to the framework for hardware interfacing, the CASPR-ROS software framework facilitates online hardware operation by integrating the CASPR code base with the robot operating system (ROS). In this manner, ROS is used as a means of connecting to actuators and sensors and ROS messaging is used to translate between the generic reconfigurable model representation of CASPR and the specific hardware units. Despite ROS 28

231 Generalised CDPR Framework for Hardware Implementation 8.2 CASPR-ROS not guaranteeing real time operation and therefore being limited for some high speed applications, the framework is chosen to provide the connection due to its existing hardware support capabilities and its widespread usage throughout the robotics community. To facilitate message passing in CASPR-ROS two different communication schemes are supported: the centralised method (Figure 8.3(a)) and the distributed method (Figure 8.3(b)). It can be seen that the centralised method connects hardware to CASPR-ROS through a single node. This node facilitates all CASPR-ROS operations including forward kinematics, trajectory generation, control, inverse dynamics and inverse kinematics. In addition, the node is also responsible for hardware interfacing between the generic software core cable space information and the hardware specific feedback and setpoint ROS messages. As a result, the centralised method is consistent with the structure of CASPR based simulations such that CASPR simulations can be directly ported into CASPR-ROS. The method of communication however prevents common operations, such as forward kinematics, from being continuously operated while the hardware is active and limits the changing of algorithms to only occur in between experiments. This approach is therefore best used for single experiments that are not repeated such as calibration. CASPR-ROS model_master_input Master Node cable_setpoint CASPR-ROS Node feedback setpoint HARDWARE Node Model Node cable_feedback cable_setpoint model_command HWI Node feedback setpoint HARDWARE Node kinematics_fk kinematics_ref Control Node (a) Centralised Communication Scheme (b) Distributed Communication Scheme Figure 8.3: ROS based hardware communication methods used in CASPR-ROS In contrast, the distributed method (Figure 8.3(b)) distributes the common CASPR- ROS operations across a number of ROS nodes thereby allowing the nodes to be run independently if desired. As a result, this method can allow for nodes and analysis algorithms to be changed within single experiments and is best used for repetitive operation 29

232 8.2 CASPR-ROS Generalised CDPR Framework for Hardware Implementation of experiments. In addition to having ROS publishers and subscribers associated with the feedback and setpoint messages, the distributed method also requires CASPR-ROS messages to be defined for communication between CASPR-ROS nodes. The following messages are provided: joint kinematics - Contains the kinematic vectors q, q and q. master command - Contains the current operation and timing information. model update command - Provides the command variables q cmd, q cmd, q cmd and w cmd for updating the equation of motion (7.1) Hardware Operation Experiments In CASPR-ROS individual operations of the hardware correspond to experiment executables. This means that experiment executables act to: 1) Initialise the system including calibration, setting up ROS communication and generating the system model. 2) Define the sequence of analysis techniques to be implemented. 3) Record the experimental data. 4) Safely terminate the experiment. Like the modelling and hardware interface classes described in Section 7.2 and Section 8.2.1, respectively, CASPR-ROS master nodes use an inheritance based object oriented design principle. The abstract classes ScriptBase and MasterNodeBase are classes which comprise of a single mainloop function which is to be implemented by all experiments using the centralised and distributed communication frameworks, respectively. Code Sample 8.1 illustrates the inherited mainloop function used in CASPR-ROS. Code Sample 8.1: mainloop function used in ScriptBase class. // Variable I n i t i a l i s a t i o n bool i s i n i t i a l i s e d =, f i r s t t i m e = 1 ; // General Operation while ( ( ros : : ok ( ) ) && (! t e r m i n a t i n g c o n d i t i o n ( t ) ) ) { // Only proceed once the hardware i s ready i f ( hardware interface. hardwareready ( ) ) { // Check the i n i t i a l i s a t i o n s t a t u s of the experiment i f (! i s i n i t i a l i s e d ) { 21

233 Generalised CDPR Framework for Hardware Implementation 8.2 CASPR-ROS // Run the i n i t i a l i s a t i o n procedure i s i n i t i a l i s e d = i n i t i a l i s i n g f u n c t i o n ( f i r s t t i m e ) ; i f ( f i r s t t i m e ) { f i r s t t i m e = f a l s e ; } } e lse { // Run the main procedure main function ( t ) ; t += SYSTEM PERIOD ; } } // ROS management ros : : spinonce ( ) ; looprate. sleep ( ) ; } // Terminate the s c r i p t t e r m i n a t i n g f u n c t i o n ( ) ; It can be seen that the mainloop function represents a single function that defines the behaviour of the robot throughout operation. This behaviour is defined for each particular experiment through the implementations of four abstract methods: terminating condition(..) - This method defines the conditions for the termination of the experiment. This can be time, pose and/or safety based conditions. initialising function(..) This can include calibration and model generation. -This method defines initialisation procedure. main function(..) - This method defines the desired general CDPR behaviour throughout the hardware operation. As a result, the method should define the sequence of analysis algorithms to be performed throughout the experiment. terminating function(..) - This method defines the terminating behaviour for the experiment. This can represent safety based termination procedures such as returning to a reference position, setting the robot to be at rest or setting the actuator forces to be in a compliant force mode. 211

234 8.3 Examples Generalised CDPR Framework for Hardware Implementation 8.3 Examples Two case studies are presented to illustrate the use of CASPR-ROS in running CDPR hardware experiments. These case studies illustrate the use of CASPR-ROS for both the length and force control of cables robots where different cable robots with different hardware interfaces are considered. As a result, the case studies show the pseudo real time performance of CASPR-ROS in executing control, inverse dynamics, inverse kinematics and forward kinematics Length Control on a PoCaBot Driven SCDR This case study shows the use of CASPR-ROS in the online length control of a spatial CDPR driven by PoCaBot units (depicted in Figure 8.4) with the units attached on the corners of a cm frame. Figure 8.5 depicts the performance of the system for each of the trajectories depicted in Figure 8.6, where [q 1 q 2 q 3 q 4 q 5 q 6] T = [x y z α β γ] T and the orientation [α β γ] T is represented by the XYZ-Euler angle convention. It can be seen from Figure 8.5 that the robot tracks the desired lengths with only a small lag and tracking error. In addition, it can be seen from Figure 8.5 that the length feedback is provided within the PoCaBot operating frequency of 2Hz (for 8 motors), indicating the capability of CASPR-ROS to be configured for the online operation of this hardware. Figure 8.4: Spatial PoCaBot CDPR 212

235 Generalised CDPR Framework for Hardware Implementation 8.3 Examples length (m).6.4 length (m) time (s) time (s) (a) Trajectory 1 (b) Trajectory 2 Figure 8.5: Cable length command (dashed) and feedback (solid) pose x y z α β γ pose x y z α β γ time (s) (a) Trajectory time (s) (b) Trajectory 2 Figure 8.6: Reference joint space trajectory 213

236 8.3 Examples Generalised CDPR Framework for Hardware Implementation From this case study it can be seen that online kinematic length control can be achieved using CASPR-ROS. Furthermore, by using XML scripts and modular ROS nodes, the resulting code is flexible to changes in the experimental set-up, such as different experimental trajectories, without the need for separate experiment scripts Force Control on the Myorobotic BM-Arm This case study illustrates the use of CASPR-ROS in benchmarking two different inverse dynamics algorithms over a range of cable sets. The experiment is performed using the 2 link BioMuscular Arm (BM-Arm) with Myomuscle units, depicted in Figure 8.7. The performance of the closed form [158] and minimum force norm quadratic program (QP) based inverse dynamics algorithms are compared by tracking the reference joint space trajectories (shown with dashed lines) in Figure 8.8 with the cable sets CS1 and CS2, where [q 1 q 2 q 3 q 4 ] T = [α β γ θ] T. To ensure accurate tracking, a computed torque controller is also implemented. Figure 8.7: Two link BioMuscular-Arm Figure 8.9 shows the cable force solutions for each algorithm using cable set CS1. It can be seen that the QP solver (due to its solving objectives) requires typically lower forces and that in both cases the closed loop control has resulted in oscillating cable forces. The resulting tracking performance (obtained using the pseudo-inverse forward kinematics method) of each inverse dynamics solver is shown in Figure 8.8. In this case, the 214

Modelling and Analysis of Anthropomorphic Cable-Driven Robots

Modelling and Analysis of Anthropomorphic Cable-Driven Robots Modelling and Analysis of Anthropomorphic Cable-Driven Robots Darwin Tat Ming Lau Submitted in total fulfilment of the requirements for the degree of Doctor of Philosophy Department of Mechanical Engineering

More information

Chapter 1: Introduction

Chapter 1: Introduction Chapter 1: Introduction This dissertation will describe the mathematical modeling and development of an innovative, three degree-of-freedom robotic manipulator. The new device, which has been named the

More information

Table of Contents. Chapter 1. Modeling and Identification of Serial Robots... 1 Wisama KHALIL and Etienne DOMBRE

Table of Contents. Chapter 1. Modeling and Identification of Serial Robots... 1 Wisama KHALIL and Etienne DOMBRE Chapter 1. Modeling and Identification of Serial Robots.... 1 Wisama KHALIL and Etienne DOMBRE 1.1. Introduction... 1 1.2. Geometric modeling... 2 1.2.1. Geometric description... 2 1.2.2. Direct geometric

More information

Inverse Kinematics of Cable Driven Parallel Robot.

Inverse Kinematics of Cable Driven Parallel Robot. ISSN: 4-1 May 01 IJSDR Volume 1, Issue Inverse Kinematics of Cable Driven Parallel Robot. 1 Shail P. Maniyar, Arya B. Changela 1 P.G.Scholar, Assistant Professor Mechanical Engineering Department, Marwadi

More information

10/25/2018. Robotics and automation. Dr. Ibrahim Al-Naimi. Chapter two. Introduction To Robot Manipulators

10/25/2018. Robotics and automation. Dr. Ibrahim Al-Naimi. Chapter two. Introduction To Robot Manipulators Robotics and automation Dr. Ibrahim Al-Naimi Chapter two Introduction To Robot Manipulators 1 Robotic Industrial Manipulators A robot manipulator is an electronically controlled mechanism, consisting of

More information

Dynamic Analysis of Manipulator Arm for 6-legged Robot

Dynamic Analysis of Manipulator Arm for 6-legged Robot American Journal of Mechanical Engineering, 2013, Vol. 1, No. 7, 365-369 Available online at http://pubs.sciepub.com/ajme/1/7/42 Science and Education Publishing DOI:10.12691/ajme-1-7-42 Dynamic Analysis

More information

The Collision-free Workspace of the Tripteron Parallel Robot Based on a Geometrical Approach

The Collision-free Workspace of the Tripteron Parallel Robot Based on a Geometrical Approach The Collision-free Workspace of the Tripteron Parallel Robot Based on a Geometrical Approach Z. Anvari 1, P. Ataei 2 and M. Tale Masouleh 3 1,2 Human-Robot Interaction Laboratory, University of Tehran

More information

FREE SINGULARITY PATH PLANNING OF HYBRID PARALLEL ROBOT

FREE SINGULARITY PATH PLANNING OF HYBRID PARALLEL ROBOT Proceedings of the 11 th International Conference on Manufacturing Research (ICMR2013), Cranfield University, UK, 19th 20th September 2013, pp 313-318 FREE SINGULARITY PATH PLANNING OF HYBRID PARALLEL

More information

1. Introduction 1 2. Mathematical Representation of Robots

1. Introduction 1 2. Mathematical Representation of Robots 1. Introduction 1 1.1 Introduction 1 1.2 Brief History 1 1.3 Types of Robots 7 1.4 Technology of Robots 9 1.5 Basic Principles in Robotics 12 1.6 Notation 15 1.7 Symbolic Computation and Numerical Analysis

More information

Inverse Kinematics. Given a desired position (p) & orientation (R) of the end-effector

Inverse Kinematics. Given a desired position (p) & orientation (R) of the end-effector Inverse Kinematics Given a desired position (p) & orientation (R) of the end-effector q ( q, q, q ) 1 2 n Find the joint variables which can bring the robot the desired configuration z y x 1 The Inverse

More information

Table of Contents Introduction Historical Review of Robotic Orienting Devices Kinematic Position Analysis Instantaneous Kinematic Analysis

Table of Contents Introduction Historical Review of Robotic Orienting Devices Kinematic Position Analysis Instantaneous Kinematic Analysis Table of Contents 1 Introduction 1 1.1 Background in Robotics 1 1.2 Robot Mechanics 1 1.2.1 Manipulator Kinematics and Dynamics 2 1.3 Robot Architecture 4 1.4 Robotic Wrists 4 1.5 Origins of the Carpal

More information

ON THE RE-CONFIGURABILITY DESIGN OF PARALLEL MACHINE TOOLS

ON THE RE-CONFIGURABILITY DESIGN OF PARALLEL MACHINE TOOLS 33 ON THE RE-CONFIGURABILITY DESIGN OF PARALLEL MACHINE TOOLS Dan Zhang Faculty of Engineering and Applied Science, University of Ontario Institute of Technology Oshawa, Ontario, L1H 7K, Canada Dan.Zhang@uoit.ca

More information

Matlab Simulator of a 6 DOF Stanford Manipulator and its Validation Using Analytical Method and Roboanalyzer

Matlab Simulator of a 6 DOF Stanford Manipulator and its Validation Using Analytical Method and Roboanalyzer Matlab Simulator of a 6 DOF Stanford Manipulator and its Validation Using Analytical Method and Roboanalyzer Maitreyi More 1, Rahul Abande 2, Ankita Dadas 3, Santosh Joshi 4 1, 2, 3 Department of Mechanical

More information

MCE/EEC 647/747: Robot Dynamics and Control. Lecture 1: Introduction

MCE/EEC 647/747: Robot Dynamics and Control. Lecture 1: Introduction MCE/EEC 647/747: Robot Dynamics and Control Lecture 1: Introduction Reading: SHV Chapter 1 Robotics and Automation Handbook, Chapter 1 Assigned readings from several articles. Cleveland State University

More information

ÉCOLE POLYTECHNIQUE DE MONTRÉAL

ÉCOLE POLYTECHNIQUE DE MONTRÉAL ÉCOLE POLYTECHNIQUE DE MONTRÉAL MODELIZATION OF A 3-PSP 3-DOF PARALLEL MANIPULATOR USED AS FLIGHT SIMULATOR MOVING SEAT. MASTER IN ENGINEERING PROJET III MEC693 SUBMITTED TO: Luc Baron Ph.D. Mechanical

More information

Parallel Robots. Mechanics and Control H AMID D. TAG HI RAD. CRC Press. Taylor & Francis Group. Taylor & Francis Croup, Boca Raton London NewYoric

Parallel Robots. Mechanics and Control H AMID D. TAG HI RAD. CRC Press. Taylor & Francis Group. Taylor & Francis Croup, Boca Raton London NewYoric Parallel Robots Mechanics and Control H AMID D TAG HI RAD CRC Press Taylor & Francis Group Boca Raton London NewYoric CRC Press Is an Imprint of the Taylor & Francis Croup, an informs business Contents

More information

A Frequent Max Substring Technique for. Thai Text Indexing. School of Information Technology. Todsanai Chumwatana

A Frequent Max Substring Technique for. Thai Text Indexing. School of Information Technology. Todsanai Chumwatana School of Information Technology A Frequent Max Substring Technique for Thai Text Indexing Todsanai Chumwatana This thesis is presented for the Degree of Doctor of Philosophy of Murdoch University May

More information

Singularity Analysis of an Extensible Kinematic Architecture: Assur Class N, Order N 1

Singularity Analysis of an Extensible Kinematic Architecture: Assur Class N, Order N 1 David H. Myszka e-mail: dmyszka@udayton.edu Andrew P. Murray e-mail: murray@notes.udayton.edu University of Dayton, Dayton, OH 45469 James P. Schmiedeler The Ohio State University, Columbus, OH 43210 e-mail:

More information

Robot. A thesis presented to. the faculty of. In partial fulfillment. of the requirements for the degree. Master of Science. Zachary J.

Robot. A thesis presented to. the faculty of. In partial fulfillment. of the requirements for the degree. Master of Science. Zachary J. Uncertainty Analysis throughout the Workspace of a Macro/Micro Cable Suspended Robot A thesis presented to the faculty of the Russ College of Engineering and Technology of Ohio University In partial fulfillment

More information

The Discovery and Retrieval of Temporal Rules in Interval Sequence Data

The Discovery and Retrieval of Temporal Rules in Interval Sequence Data The Discovery and Retrieval of Temporal Rules in Interval Sequence Data by Edi Winarko, B.Sc., M.Sc. School of Informatics and Engineering, Faculty of Science and Engineering March 19, 2007 A thesis presented

More information

Modeling of Humanoid Systems Using Deductive Approach

Modeling of Humanoid Systems Using Deductive Approach INFOTEH-JAHORINA Vol. 12, March 2013. Modeling of Humanoid Systems Using Deductive Approach Miloš D Jovanović Robotics laboratory Mihailo Pupin Institute Belgrade, Serbia milos.jovanovic@pupin.rs Veljko

More information

Unsolved Issues in Kinematics and Redundancy of Wire-driven Parallel Robots

Unsolved Issues in Kinematics and Redundancy of Wire-driven Parallel Robots p. 1/ Unsolved Issues in Kinematics and Redundancy of Wire-driven Parallel Robots J-P. Merlet COPRIN project-team INRIA Sophia-Antipolis France 1/8 p. 2/ Introduction 2/8 p. 2/ Introduction Focus: robot

More information

An Efficient Method for Solving the Direct Kinematics of Parallel Manipulators Following a Trajectory

An Efficient Method for Solving the Direct Kinematics of Parallel Manipulators Following a Trajectory An Efficient Method for Solving the Direct Kinematics of Parallel Manipulators Following a Trajectory Roshdy Foaad Abo-Shanab Kafr Elsheikh University/Department of Mechanical Engineering, Kafr Elsheikh,

More information

Lecture «Robot Dynamics»: Kinematic Control

Lecture «Robot Dynamics»: Kinematic Control Lecture «Robot Dynamics»: Kinematic Control 151-0851-00 V lecture: CAB G11 Tuesday 10:15 12:00, every week exercise: HG E1.2 Wednesday 8:15 10:00, according to schedule (about every 2nd week) Marco Hutter,

More information

Research Subject. Dynamics Computation and Behavior Capture of Human Figures (Nakamura Group)

Research Subject. Dynamics Computation and Behavior Capture of Human Figures (Nakamura Group) Research Subject Dynamics Computation and Behavior Capture of Human Figures (Nakamura Group) (1) Goal and summary Introduction Humanoid has less actuators than its movable degrees of freedom (DOF) which

More information

Principles of Robot Motion

Principles of Robot Motion Principles of Robot Motion Theory, Algorithms, and Implementation Howie Choset, Kevin Lynch, Seth Hutchinson, George Kantor, Wolfram Burgard, Lydia Kavraki, and Sebastian Thrun A Bradford Book The MIT

More information

SIMULATION ENVIRONMENT PROPOSAL, ANALYSIS AND CONTROL OF A STEWART PLATFORM MANIPULATOR

SIMULATION ENVIRONMENT PROPOSAL, ANALYSIS AND CONTROL OF A STEWART PLATFORM MANIPULATOR SIMULATION ENVIRONMENT PROPOSAL, ANALYSIS AND CONTROL OF A STEWART PLATFORM MANIPULATOR Fabian Andres Lara Molina, Joao Mauricio Rosario, Oscar Fernando Aviles Sanchez UNICAMP (DPM-FEM), Campinas-SP, Brazil,

More information

Force-Moment Capabilities of Redundantly-Actuated Planar-Parallel Architectures

Force-Moment Capabilities of Redundantly-Actuated Planar-Parallel Architectures Force-Moment Capabilities of Redundantly-Actuated Planar-Parallel Architectures S. B. Nokleby F. Firmani A. Zibil R. P. Podhorodeski UOIT University of Victoria University of Victoria University of Victoria

More information

Jane Li. Assistant Professor Mechanical Engineering Department, Robotic Engineering Program Worcester Polytechnic Institute

Jane Li. Assistant Professor Mechanical Engineering Department, Robotic Engineering Program Worcester Polytechnic Institute Jane Li Assistant Professor Mechanical Engineering Department, Robotic Engineering Program Worcester Polytechnic Institute (3 pts) Compare the testing methods for testing path segment and finding first

More information

Basilio Bona ROBOTICA 03CFIOR 1

Basilio Bona ROBOTICA 03CFIOR 1 Kinematic chains 1 Readings & prerequisites Chapter 2 (prerequisites) Reference systems Vectors Matrices Rotations, translations, roto-translations Homogeneous representation of vectors and matrices Chapter

More information

Cecilia Laschi The BioRobotics Institute Scuola Superiore Sant Anna, Pisa

Cecilia Laschi The BioRobotics Institute Scuola Superiore Sant Anna, Pisa University of Pisa Master of Science in Computer Science Course of Robotics (ROB) A.Y. 2016/17 cecilia.laschi@santannapisa.it http://didawiki.cli.di.unipi.it/doku.php/magistraleinformatica/rob/start Robot

More information

Automatic Control Industrial robotics

Automatic Control Industrial robotics Automatic Control Industrial robotics Prof. Luca Bascetta (luca.bascetta@polimi.it) Politecnico di Milano Dipartimento di Elettronica, Informazione e Bioingegneria Prof. Luca Bascetta Industrial robots

More information

Finding Reachable Workspace of a Robotic Manipulator by Edge Detection Algorithm

Finding Reachable Workspace of a Robotic Manipulator by Edge Detection Algorithm International Journal of Advanced Mechatronics and Robotics (IJAMR) Vol. 3, No. 2, July-December 2011; pp. 43-51; International Science Press, ISSN: 0975-6108 Finding Reachable Workspace of a Robotic Manipulator

More information

1724. Mobile manipulators collision-free trajectory planning with regard to end-effector vibrations elimination

1724. Mobile manipulators collision-free trajectory planning with regard to end-effector vibrations elimination 1724. Mobile manipulators collision-free trajectory planning with regard to end-effector vibrations elimination Iwona Pajak 1, Grzegorz Pajak 2 University of Zielona Gora, Faculty of Mechanical Engineering,

More information

Singularity Handling on Puma in Operational Space Formulation

Singularity Handling on Puma in Operational Space Formulation Singularity Handling on Puma in Operational Space Formulation Denny Oetomo, Marcelo Ang Jr. National University of Singapore Singapore d oetomo@yahoo.com mpeangh@nus.edu.sg Ser Yong Lim Gintic Institute

More information

System Identification Algorithms and Techniques for Systems Biology

System Identification Algorithms and Techniques for Systems Biology System Identification Algorithms and Techniques for Systems Biology by c Choujun Zhan A Thesis submitted to the School of Graduate Studies in partial fulfillment of the requirements for the degree of Doctor

More information

Robot mechanics and kinematics

Robot mechanics and kinematics University of Pisa Master of Science in Computer Science Course of Robotics (ROB) A.Y. 2017/18 cecilia.laschi@santannapisa.it http://didawiki.cli.di.unipi.it/doku.php/magistraleinformatica/rob/start Robot

More information

EEE 187: Robotics Summary 2

EEE 187: Robotics Summary 2 1 EEE 187: Robotics Summary 2 09/05/2017 Robotic system components A robotic system has three major components: Actuators: the muscles of the robot Sensors: provide information about the environment and

More information

Optimization of a two-link Robotic Manipulator

Optimization of a two-link Robotic Manipulator Optimization of a two-link Robotic Manipulator Zachary Renwick, Yalım Yıldırım April 22, 2016 Abstract Although robots are used in many processes in research and industry, they are generally not customized

More information

KINEMATIC AND DYNAMIC SIMULATION OF A 3DOF PARALLEL ROBOT

KINEMATIC AND DYNAMIC SIMULATION OF A 3DOF PARALLEL ROBOT Bulletin of the Transilvania University of Braşov Vol. 8 (57) No. 2-2015 Series I: Engineering Sciences KINEMATIC AND DYNAMIC SIMULATION OF A 3DOF PARALLEL ROBOT Nadia Ramona CREŢESCU 1 Abstract: This

More information

Visualization and Analysis of Inverse Kinematics Algorithms Using Performance Metric Maps

Visualization and Analysis of Inverse Kinematics Algorithms Using Performance Metric Maps Visualization and Analysis of Inverse Kinematics Algorithms Using Performance Metric Maps Oliver Cardwell, Ramakrishnan Mukundan Department of Computer Science and Software Engineering University of Canterbury

More information

A New Algorithm for Measuring and Optimizing the Manipulability Index

A New Algorithm for Measuring and Optimizing the Manipulability Index A New Algorithm for Measuring and Optimizing the Manipulability Index Mohammed Mohammed, Ayssam Elkady and Tarek Sobh School of Engineering, University of Bridgeport, USA. Mohammem@bridgeport.edu Abstract:

More information

Singularity Loci of Planar Parallel Manipulators with Revolute Joints

Singularity Loci of Planar Parallel Manipulators with Revolute Joints Singularity Loci of Planar Parallel Manipulators with Revolute Joints ILIAN A. BONEV AND CLÉMENT M. GOSSELIN Département de Génie Mécanique Université Laval Québec, Québec, Canada, G1K 7P4 Tel: (418) 656-3474,

More information

Simulation-Based Design of Robotic Systems

Simulation-Based Design of Robotic Systems Simulation-Based Design of Robotic Systems Shadi Mohammad Munshi* & Erik Van Voorthuysen School of Mechanical and Manufacturing Engineering, The University of New South Wales, Sydney, NSW 2052 shadimunshi@hotmail.com,

More information

DIMENSIONAL SYNTHESIS OF SPATIAL RR ROBOTS

DIMENSIONAL SYNTHESIS OF SPATIAL RR ROBOTS DIMENSIONAL SYNTHESIS OF SPATIAL RR ROBOTS ALBA PEREZ Robotics and Automation Laboratory University of California, Irvine Irvine, CA 9697 email: maperez@uci.edu AND J. MICHAEL MCCARTHY Department of Mechanical

More information

AUTONOMOUS PLANETARY ROVER CONTROL USING INVERSE SIMULATION

AUTONOMOUS PLANETARY ROVER CONTROL USING INVERSE SIMULATION AUTONOMOUS PLANETARY ROVER CONTROL USING INVERSE SIMULATION Kevin Worrall (1), Douglas Thomson (1), Euan McGookin (1), Thaleia Flessa (1) (1)University of Glasgow, Glasgow, G12 8QQ, UK, Email: kevin.worrall@glasgow.ac.uk

More information

Supplementary Information. Design of Hierarchical Structures for Synchronized Deformations

Supplementary Information. Design of Hierarchical Structures for Synchronized Deformations Supplementary Information Design of Hierarchical Structures for Synchronized Deformations Hamed Seifi 1, Anooshe Rezaee Javan 1, Arash Ghaedizadeh 1, Jianhu Shen 1, Shanqing Xu 1, and Yi Min Xie 1,2,*

More information

Emulation of modular manufacturing machines

Emulation of modular manufacturing machines Loughborough University Institutional Repository Emulation of modular manufacturing machines This item was submitted to Loughborough University's Institutional Repository by the/an author. Citation: CASE,

More information

Design & Kinematic Analysis of an Articulated Robotic Manipulator

Design & Kinematic Analysis of an Articulated Robotic Manipulator Design & Kinematic Analysis of an Articulated Robotic Manipulator Elias Eliot 1, B.B.V.L. Deepak 1*, D.R. Parhi 2, and J. Srinivas 2 1 Department of Industrial Design, National Institute of Technology-Rourkela

More information

SYNTHESIS OF PLANAR MECHANISMS FOR PICK AND PLACE TASKS WITH GUIDING LOCATIONS

SYNTHESIS OF PLANAR MECHANISMS FOR PICK AND PLACE TASKS WITH GUIDING LOCATIONS Proceedings of the ASME 2013 International Design Engineering Technical Conferences and Computers and Information in Engineering Conference IDETC/CIE 2013 August 4-7, 2013, Portland, Oregon, USA DETC2013-12021

More information

Lecture VI: Constraints and Controllers

Lecture VI: Constraints and Controllers Lecture VI: Constraints and Controllers Motion Constraints In practice, no rigid body is free to move around on its own. Movement is constrained: wheels on a chair human body parts trigger of a gun opening

More information

SCREW-BASED RELATIVE JACOBIAN FOR MANIPULATORS COOPERATING IN A TASK

SCREW-BASED RELATIVE JACOBIAN FOR MANIPULATORS COOPERATING IN A TASK ABCM Symposium Series in Mechatronics - Vol. 3 - pp.276-285 Copyright c 2008 by ABCM SCREW-BASED RELATIVE JACOBIAN FOR MANIPULATORS COOPERATING IN A TASK Luiz Ribeiro, ribeiro@ime.eb.br Raul Guenther,

More information

Dynamics modeling of structure-varying kinematic chains for free-flying robots

Dynamics modeling of structure-varying kinematic chains for free-flying robots Dynamics modeling of structure-varying kinematic chains for free-flying robots Roberto Lampariello, Satoko Abiko, Gerd Hirzinger Institute of Robotics and Mechatronics German Aerospace Center (DLR) 8 Weßling,

More information

A Parallel Robots Framework to Study Precision Grasping and Dexterous Manipulation

A Parallel Robots Framework to Study Precision Grasping and Dexterous Manipulation 2013 IEEE International Conference on Robotics and Automation (ICRA) Karlsruhe, Germany, May 6-10, 2013 A Parallel Robots Framework to Study Precision Grasping and Dexterous Manipulation Júlia Borràs,

More information

Industrial Robots : Manipulators, Kinematics, Dynamics

Industrial Robots : Manipulators, Kinematics, Dynamics Industrial Robots : Manipulators, Kinematics, Dynamics z z y x z y x z y y x x In Industrial terms Robot Manipulators The study of robot manipulators involves dealing with the positions and orientations

More information

A New Algorithm for Measuring and Optimizing the Manipulability Index

A New Algorithm for Measuring and Optimizing the Manipulability Index DOI 10.1007/s10846-009-9388-9 A New Algorithm for Measuring and Optimizing the Manipulability Index Ayssam Yehia Elkady Mohammed Mohammed Tarek Sobh Received: 16 September 2009 / Accepted: 27 October 2009

More information

Robot mechanics and kinematics

Robot mechanics and kinematics University of Pisa Master of Science in Computer Science Course of Robotics (ROB) A.Y. 2016/17 cecilia.laschi@santannapisa.it http://didawiki.cli.di.unipi.it/doku.php/magistraleinformatica/rob/start Robot

More information

Kinematic Synthesis. October 6, 2015 Mark Plecnik

Kinematic Synthesis. October 6, 2015 Mark Plecnik Kinematic Synthesis October 6, 2015 Mark Plecnik Classifying Mechanisms Several dichotomies Serial and Parallel Few DOFS and Many DOFS Planar/Spherical and Spatial Rigid and Compliant Mechanism Trade-offs

More information

Optimum Design of Kinematically Redundant Planar Parallel Manipulator Following a Trajectory

Optimum Design of Kinematically Redundant Planar Parallel Manipulator Following a Trajectory International Journal of Materials, Mechanics and Manufacturing, Vol., No., May 1 Optimum Design of Kinematically Redundant Planar Parallel Manipulator Following a rajectory K. V. Varalakshmi and J. Srinivas

More information

Jane Li. Assistant Professor Mechanical Engineering Department, Robotic Engineering Program Worcester Polytechnic Institute

Jane Li. Assistant Professor Mechanical Engineering Department, Robotic Engineering Program Worcester Polytechnic Institute Jane Li Assistant Professor Mechanical Engineering Department, Robotic Engineering Program Worcester Polytechnic Institute What are the DH parameters for describing the relative pose of the two frames?

More information

Lecture VI: Constraints and Controllers. Parts Based on Erin Catto s Box2D Tutorial

Lecture VI: Constraints and Controllers. Parts Based on Erin Catto s Box2D Tutorial Lecture VI: Constraints and Controllers Parts Based on Erin Catto s Box2D Tutorial Motion Constraints In practice, no rigid body is free to move around on its own. Movement is constrained: wheels on a

More information

Dynamics Response of Spatial Parallel Coordinate Measuring Machine with Clearances

Dynamics Response of Spatial Parallel Coordinate Measuring Machine with Clearances Sensors & Transducers 2013 by IFSA http://www.sensorsportal.com Dynamics Response of Spatial Parallel Coordinate Measuring Machine with Clearances Yu DENG, Xiulong CHEN, Suyu WANG Department of mechanical

More information

Using Redundancy in Serial Planar Mechanisms to Improve Output-Space Tracking Accuracy

Using Redundancy in Serial Planar Mechanisms to Improve Output-Space Tracking Accuracy Using Redundancy in Serial Planar Mechanisms to Improve Output-Space Tracking Accuracy S. Ambike, J.P. Schmiedeler 2 and M.M. Stanišić 2 The Ohio State University, Columbus, Ohio, USA; e-mail: ambike.@osu.edu

More information

Trajectory Planning of Redundant Planar Mechanisms for Reducing Task Completion Duration

Trajectory Planning of Redundant Planar Mechanisms for Reducing Task Completion Duration Trajectory Planning of Redundant Planar Mechanisms for Reducing Task Completion Duration Emre Uzunoğlu 1, Mehmet İsmet Can Dede 1, Gökhan Kiper 1, Ercan Mastar 2, Tayfun Sığırtmaç 2 1 Department of Mechanical

More information

Robot Inverse Kinematics Asanga Ratnaweera Department of Mechanical Engieering

Robot Inverse Kinematics Asanga Ratnaweera Department of Mechanical Engieering PR 5 Robot Dynamics & Control /8/7 PR 5: Robot Dynamics & Control Robot Inverse Kinematics Asanga Ratnaweera Department of Mechanical Engieering The Inverse Kinematics The determination of all possible

More information

Inverse Kinematics Analysis for Manipulator Robot With Wrist Offset Based On the Closed-Form Algorithm

Inverse Kinematics Analysis for Manipulator Robot With Wrist Offset Based On the Closed-Form Algorithm Inverse Kinematics Analysis for Manipulator Robot With Wrist Offset Based On the Closed-Form Algorithm Mohammed Z. Al-Faiz,MIEEE Computer Engineering Dept. Nahrain University Baghdad, Iraq Mohammed S.Saleh

More information

A NOUVELLE MOTION STATE-FEEDBACK CONTROL SCHEME FOR RIGID ROBOTIC MANIPULATORS

A NOUVELLE MOTION STATE-FEEDBACK CONTROL SCHEME FOR RIGID ROBOTIC MANIPULATORS A NOUVELLE MOTION STATE-FEEDBACK CONTROL SCHEME FOR RIGID ROBOTIC MANIPULATORS Ahmad Manasra, 135037@ppu.edu.ps Department of Mechanical Engineering, Palestine Polytechnic University, Hebron, Palestine

More information

10/11/07 1. Motion Control (wheeled robots) Representing Robot Position ( ) ( ) [ ] T

10/11/07 1. Motion Control (wheeled robots) Representing Robot Position ( ) ( ) [ ] T 3 3 Motion Control (wheeled robots) Introduction: Mobile Robot Kinematics Requirements for Motion Control Kinematic / dynamic model of the robot Model of the interaction between the wheel and the ground

More information

MTRX4700 Experimental Robotics

MTRX4700 Experimental Robotics MTRX 4700 : Experimental Robotics Lecture 2 Stefan B. Williams Slide 1 Course Outline Week Date Content Labs Due Dates 1 5 Mar Introduction, history & philosophy of robotics 2 12 Mar Robot kinematics &

More information

INSTITUTE OF AERONAUTICAL ENGINEERING

INSTITUTE OF AERONAUTICAL ENGINEERING Name Code Class Branch Page 1 INSTITUTE OF AERONAUTICAL ENGINEERING : ROBOTICS (Autonomous) Dundigal, Hyderabad - 500 0 MECHANICAL ENGINEERING TUTORIAL QUESTION BANK : A7055 : IV B. Tech I Semester : MECHANICAL

More information

Constrained Control Allocation for. Systems with Redundant Control Effectors. Kenneth A. Bordignon. Dissertation submitted to the Faculty of the

Constrained Control Allocation for. Systems with Redundant Control Effectors. Kenneth A. Bordignon. Dissertation submitted to the Faculty of the Constrained Control Allocation for Systems with Redundant Control Effectors by Kenneth A. Bordignon Dissertation submitted to the Faculty of the Virginia Polytechnic Institute and State University in partial

More information

Synthesis of Constrained nr Planar Robots to Reach Five Task Positions

Synthesis of Constrained nr Planar Robots to Reach Five Task Positions Robotics: Science and Systems 007 Atlanta, GA, USA, June 7-30, 007 Synthesis of Constrained nr Planar Robots to Reach Five Task Positions Gim Song Soh Robotics and Automation Laboratory University of California

More information

7-Degree-Of-Freedom (DOF) Cable-Driven Humanoid Robot Arm. A thesis presented to. the faculty of. In partial fulfillment

7-Degree-Of-Freedom (DOF) Cable-Driven Humanoid Robot Arm. A thesis presented to. the faculty of. In partial fulfillment Mechanism Design, Kinematics and Dynamics Analysis of a 7-Degree-Of-Freedom (DOF) Cable-Driven Humanoid Robot Arm A thesis presented to the faculty of the Russ College of Engineering and Technology of

More information

Workspaces of planar parallel manipulators

Workspaces of planar parallel manipulators Workspaces of planar parallel manipulators Jean-Pierre Merlet Clément M. Gosselin Nicolas Mouly INRIA Sophia-Antipolis Dép. de Génie Mécanique INRIA Rhône-Alpes BP 93 Université Laval 46 Av. Felix Viallet

More information

Rigid Dynamics Solution Methodology for 3-PSU Parallel Kinematic Manipulators

Rigid Dynamics Solution Methodology for 3-PSU Parallel Kinematic Manipulators Rigid Dynamics Solution Methodology for 3-PSU Parallel Kinematic Manipulators Arya B. Changela 1, Dr. Ramdevsinh Jhala 2, Chirag P. Kalariya 3 Keyur P. Hirpara 4 Assistant Professor, Department of Mechanical

More information

COMPUTATIONAL DYNAMICS

COMPUTATIONAL DYNAMICS COMPUTATIONAL DYNAMICS THIRD EDITION AHMED A. SHABANA Richard and Loan Hill Professor of Engineering University of Illinois at Chicago A John Wiley and Sons, Ltd., Publication COMPUTATIONAL DYNAMICS COMPUTATIONAL

More information

1498. End-effector vibrations reduction in trajectory tracking for mobile manipulator

1498. End-effector vibrations reduction in trajectory tracking for mobile manipulator 1498. End-effector vibrations reduction in trajectory tracking for mobile manipulator G. Pajak University of Zielona Gora, Faculty of Mechanical Engineering, Zielona Góra, Poland E-mail: g.pajak@iizp.uz.zgora.pl

More information

Integrated Grasp and Motion Planning using Independent Contact Regions 1

Integrated Grasp and Motion Planning using Independent Contact Regions 1 Integrated Grasp and Motion Planning using Independent Contact Regions 1 Abstract Traditionally, grasp and arm motion planning are considered as separate tasks. This might lead to problems such as limitations

More information

Lecture 18 Kinematic Chains

Lecture 18 Kinematic Chains CS 598: Topics in AI - Adv. Computational Foundations of Robotics Spring 2017, Rutgers University Lecture 18 Kinematic Chains Instructor: Jingjin Yu Outline What are kinematic chains? C-space for kinematic

More information

CS545 Contents IX. Inverse Kinematics. Reading Assignment for Next Class. Analytical Methods Iterative (Differential) Methods

CS545 Contents IX. Inverse Kinematics. Reading Assignment for Next Class. Analytical Methods Iterative (Differential) Methods CS545 Contents IX Inverse Kinematics Analytical Methods Iterative (Differential) Methods Geometric and Analytical Jacobian Jacobian Transpose Method Pseudo-Inverse Pseudo-Inverse with Optimization Extended

More information

3/12/2009 Advanced Topics in Robotics and Mechanism Synthesis Term Projects

3/12/2009 Advanced Topics in Robotics and Mechanism Synthesis Term Projects 3/12/2009 Advanced Topics in Robotics and Mechanism Synthesis Term Projects Due date: 4/23/09 On 4/23/09 and 4/30/09 you will present a 20-25 minute presentation about your work. During this presentation

More information

Resolution of spherical parallel Manipulator (SPM) forward kinematic model (FKM) near the singularities

Resolution of spherical parallel Manipulator (SPM) forward kinematic model (FKM) near the singularities Resolution of spherical parallel Manipulator (SPM) forward kinematic model (FKM) near the singularities H. Saafi a, M. A. Laribi a, S. Zeghloul a a. Dept. GMSC, Pprime Institute, CNRS - University of Poitiers

More information

Trajectory Optimization

Trajectory Optimization Trajectory Optimization Jane Li Assistant Professor Mechanical Engineering & Robotics Engineering http://users.wpi.edu/~zli11 Recap We heard about RRT*, a sampling-based planning in high-dimensional cost

More information

ROBOTICS 01PEEQW. Basilio Bona DAUIN Politecnico di Torino

ROBOTICS 01PEEQW. Basilio Bona DAUIN Politecnico di Torino ROBOTICS 01PEEQW Basilio Bona DAUIN Politecnico di Torino Kinematic chains Readings & prerequisites From the MSMS course one shall already be familiar with Reference systems and transformations Vectors

More information

METR 4202: Advanced Control & Robotics

METR 4202: Advanced Control & Robotics Position & Orientation & State t home with Homogenous Transformations METR 4202: dvanced Control & Robotics Drs Surya Singh, Paul Pounds, and Hanna Kurniawati Lecture # 2 July 30, 2012 metr4202@itee.uq.edu.au

More information

APPENDIX A. Sample of a report front cover TITLE OF PROJECT IN CAPITAL LETTERS. (Centered within prescribed margin) STUDENT S FULL NAME

APPENDIX A. Sample of a report front cover TITLE OF PROJECT IN CAPITAL LETTERS. (Centered within prescribed margin) STUDENT S FULL NAME APPENDIX A Sample of a report front cover TITLE OF PROJECT IN CAPITAL LETTERS (Centered within prescribed margin) X STUDENT S FULL NAME X UNIVERSITI KUALA LUMPUR MONTH and YEAR APPENDIX B Sample of report

More information

Applying Neural Network Architecture for Inverse Kinematics Problem in Robotics

Applying Neural Network Architecture for Inverse Kinematics Problem in Robotics J. Software Engineering & Applications, 2010, 3: 230-239 doi:10.4236/jsea.2010.33028 Published Online March 2010 (http://www.scirp.org/journal/jsea) Applying Neural Network Architecture for Inverse Kinematics

More information

Using RecurDyn. Contents

Using RecurDyn. Contents Using RecurDyn Contents 1.0 Multibody Dynamics Overview... 2 2.0 Multibody Dynamics Applications... 3 3.0 What is RecurDyn and how is it different?... 4 4.0 Types of RecurDyn Analysis... 5 5.0 MBD Simulation

More information

Planar Robot Kinematics

Planar Robot Kinematics V. Kumar lanar Robot Kinematics The mathematical modeling of spatial linkages is quite involved. t is useful to start with planar robots because the kinematics of planar mechanisms is generally much simpler

More information

COPYRIGHTED MATERIAL INTRODUCTION CHAPTER 1

COPYRIGHTED MATERIAL INTRODUCTION CHAPTER 1 CHAPTER 1 INTRODUCTION Modern mechanical and aerospace systems are often very complex and consist of many components interconnected by joints and force elements such as springs, dampers, and actuators.

More information

Singularity Management Of 2DOF Planar Manipulator Using Coupled Kinematics

Singularity Management Of 2DOF Planar Manipulator Using Coupled Kinematics Singularity Management Of DOF lanar Manipulator Using oupled Kinematics Theingi, huan Li, I-Ming hen, Jorge ngeles* School of Mechanical & roduction Engineering Nanyang Technological University, Singapore

More information

NEW APPROACH FOR FORWARD KINEMATIC MODELING OF INDUSTRIAL ROBOTS

NEW APPROACH FOR FORWARD KINEMATIC MODELING OF INDUSTRIAL ROBOTS NEW APPROACH FOR FORWARD KINEMATIC MODELING OF INDUSTRIAL ROBOTS Engineering Cozmin CRISTOIU 1 Adrian NICOLESCU 2 ABSTRACT: DESIGNING AND CONTROLLING INDUSTRIAL ROBOTS INVOLVES DETERMINING THE POSITION

More information

Stackable 4-BAR Mechanisms and Their Robotic Applications

Stackable 4-BAR Mechanisms and Their Robotic Applications The 010 IEEE/RSJ International Conference on Intelligent Robots and Systems October 18-, 010, Taipei, Taiwan Stackable 4-BAR Mechanisms and Their Robotic Applications Hoyul Lee and Youngjin Choi Abstract

More information

Chapter 1 Introduction

Chapter 1 Introduction Chapter 1 Introduction Generally all considerations in the force analysis of mechanisms, whether static or dynamic, the links are assumed to be rigid. The complexity of the mathematical analysis of mechanisms

More information

Redundancy Resolution by Minimization of Joint Disturbance Torque for Independent Joint Controlled Kinematically Redundant Manipulators

Redundancy Resolution by Minimization of Joint Disturbance Torque for Independent Joint Controlled Kinematically Redundant Manipulators 56 ICASE :The Institute ofcontrol,automation and Systems Engineering,KOREA Vol.,No.1,March,000 Redundancy Resolution by Minimization of Joint Disturbance Torque for Independent Joint Controlled Kinematically

More information

An Improved Dynamic Modeling of a 3-RPS Parallel Manipulator using the concept of DeNOC Matrices

An Improved Dynamic Modeling of a 3-RPS Parallel Manipulator using the concept of DeNOC Matrices An Improved Dynamic Modeling of a 3-RPS Parallel Manipulator using the concept of DeNOC Matrices A. Rahmani Hanzaki, E. Yoosefi Abstract A recursive dynamic modeling of a three-dof parallel robot, namely,

More information

Theory of Machines Course # 1

Theory of Machines Course # 1 Theory of Machines Course # 1 Ayman Nada Assistant Professor Jazan University, KSA. arobust@tedata.net.eg March 29, 2010 ii Sucess is not coming in a day 1 2 Chapter 1 INTRODUCTION 1.1 Introduction Mechanisms

More information

Autonomous and Mobile Robotics. Whole-body motion planning for humanoid robots (Slides prepared by Marco Cognetti) Prof.

Autonomous and Mobile Robotics. Whole-body motion planning for humanoid robots (Slides prepared by Marco Cognetti) Prof. Autonomous and Mobile Robotics Whole-body motion planning for humanoid robots (Slides prepared by Marco Cognetti) Prof. Giuseppe Oriolo Motivations task-constrained motion planning: find collision-free

More information

Rebecca R. Romatoski. B.S. Mechanical Engineering Massachusetts Institute of Technology, 2006

Rebecca R. Romatoski. B.S. Mechanical Engineering Massachusetts Institute of Technology, 2006 Robotic End Effecter for the Introduction to Robotics Laboratory Robotic Arms by Rebecca R. Romatoski B.S. Mechanical Engineering Massachusetts Institute of Technology, 2006 SUBMITTED TO THE DEPARTMENT

More information

Kinematics of Closed Chains

Kinematics of Closed Chains Chapter 7 Kinematics of Closed Chains Any kinematic chain that contains one or more loops is called a closed chain. Several examples of closed chains were encountered in Chapter 2, from the planar four-bar

More information