121
THE OPTIMAL DESIGN OF CABLE-DRIVEN ROBOTS by Joshua T. Bryson A dissertation submitted to the Faculty of the University of Delaware in partial fulfillment of the requirements for the degree of Doctor of Philosophy in Mechanical Engineering Winter 2016 c 2016 Joshua T. Bryson All Rights Reserved

The Optimal Design of Cable-Driven Robots

  • Upload
    others

  • View
    3

  • Download
    0

Embed Size (px)

Citation preview

Page 1: The Optimal Design of Cable-Driven Robots

THE OPTIMAL DESIGN OF CABLE-DRIVEN ROBOTS

by

Joshua T. Bryson

A dissertation submitted to the Faculty of the University of Delaware in partialfulfillment of the requirements for the degree of Doctor of Philosophy in MechanicalEngineering

Winter 2016

c© 2016 Joshua T. BrysonAll Rights Reserved

Page 2: The Optimal Design of Cable-Driven Robots

All rights reserved

INFORMATION TO ALL USERSThe quality of this reproduction is dependent upon the quality of the copy submitted.

In the unlikely event that the author did not send a complete manuscriptand there are missing pages, these will be noted. Also, if material had to be removed,

a note will indicate the deletion.

All rights reserved.This work is protected against unauthorized copying under Title 17, United States Code

Microform Edition © ProQuest LLC.

ProQuest LLC.789 East Eisenhower Parkway

P.O. Box 1346Ann Arbor, MI 48106 - 1346

ProQuest 10055805

Published by ProQuest LLC (2016). Copyright of the Dissertation is held by the Author.

ProQuest Number: 10055805

Page 3: The Optimal Design of Cable-Driven Robots

THE OPTIMAL DESIGN OF CABLE-DRIVEN ROBOTS

by

Joshua T. Bryson

Approved:Suresh G. Advani, Ph.D.Chair of the Department of Mechanical Engineering

Approved:Babatunde A. Ogunnaike, Ph.D.Dean of the College of Engineering

Approved:Ann L. Ardis, Ph.D.Interim Vice Provost for Graduate and Professional Education

Page 4: The Optimal Design of Cable-Driven Robots

I certify that I have read this dissertation and that in my opinion it meets theacademic and professional standard required by the University as a dissertationfor the degree of Doctor of Philosophy.

Signed:Sunil K. Agrawal, Ph.D.Professor in charge of dissertation

I certify that I have read this dissertation and that in my opinion it meets theacademic and professional standard required by the University as a dissertationfor the degree of Doctor of Philosophy.

Signed:Herbert G. Tanner, Ph.D.Member of dissertation committee

I certify that I have read this dissertation and that in my opinion it meets theacademic and professional standard required by the University as a dissertationfor the degree of Doctor of Philosophy.

Signed:Ioannis Poulakakis, Ph.D.Member of dissertation committee

I certify that I have read this dissertation and that in my opinion it meets theacademic and professional standard required by the University as a dissertationfor the degree of Doctor of Philosophy.

Signed:Jamie Holder, Ph.D.Member of dissertation committee

Page 5: The Optimal Design of Cable-Driven Robots

ACKNOWLEDGEMENTS

I would like to express my gratitude to my advisor, Dr. Sunil Agrawal, who has

been a source of inspiration, motivation, and encouragement, and I am fortunate to

have a mentor with such contagious enthusiasm for the field. I particularly would like to

thank Dr. Agrawal for his patience and flexibility with long-distance communication,

and his willingness to accommodate my time and travel limitations. I am grateful for

his instruction and research guidance, as well as his detailed comments and review of

my academic publications, including this dissertation. His insights and advice have

significantly improved my technical writing skills and developed my overall critical

thinking process.

I would also like to thank my team leader, David Payne, and my branch chief,

Brad Bradley, for their reliable support and encouragement, and for their flexibility

which enabled my pursuit of this opportunity.

I would like to thank my parents, Tom and Brenda, for their encouragement

both now and throughout my life. I am grateful for the sacrifices they have made to

provide me with opportunities, and their example has crafted my set of values and

work ethic. My siblings, Matt, Elise and Abby, along with my extended family, have

also been a steady source of encouragement, motivation, and inspiration.

Most importantly, I would like to thank my wife Jannell. This journey has seen

our family grow from a newly-married couple to a family of four with two amazing

boys. I am grateful for her generous spirit and tireless work caring for our family and

maintaining our household alongside her own career. Her sacrifices and patience have

enabled my pursuit of this opportunity, and her continual encouragement has given me

the strength and resolve to see it to completion. I look forward to the next chapter of

our lives together.

iv

Page 6: The Optimal Design of Cable-Driven Robots

I would like to thank the members of my Dissertation Committee, Dr. Herbert

Tanner, Dr. Ioannis Poulakakis, and Dr. Jamie Holder, for their review and insights.

I would like to acknowledge the financial support for tuition and conference

travel which I received from the U.S. Army through my employer, AMSAA. I am

grateful for this investment and opportunity.

I would also like to acknowledge the following grants that provided partial fund-

ing for this research: NSF National Robotics Initiative grant number IIS-1208313 and

IIS-1339666 from the Division of Information and Intelligent Systems

v

Page 7: The Optimal Design of Cable-Driven Robots

TABLE OF CONTENTS

LIST OF TABLES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ixLIST OF FIGURES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xABSTRACT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xiv

Chapter

1 INTRODUCTION . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1

1.1 Overview of Cable-Driven Robots . . . . . . . . . . . . . . . . . . . . 1

1.1.1 Parallel Robots . . . . . . . . . . . . . . . . . . . . . . . . . . 11.1.2 Serial Robots . . . . . . . . . . . . . . . . . . . . . . . . . . . 11.1.3 Design Challenges . . . . . . . . . . . . . . . . . . . . . . . . . 4

1.2 Optimization Overview . . . . . . . . . . . . . . . . . . . . . . . . . . 61.3 Methodology for the Optimal Design of Cable-Driven Robots . . . . . 91.4 Overview of Document Structure . . . . . . . . . . . . . . . . . . . . 10

2 ROBOT PERFORMANCE ANALYSIS . . . . . . . . . . . . . . . . 11

2.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112.2 Serial Cable-Driven Robot Model . . . . . . . . . . . . . . . . . . . . 11

2.2.1 Equations of Motion . . . . . . . . . . . . . . . . . . . . . . . 112.2.2 Cable Tension Jacobian . . . . . . . . . . . . . . . . . . . . . 12

2.3 Workspace Evaluation . . . . . . . . . . . . . . . . . . . . . . . . . . 13

2.3.1 Wrench Closure Workspace . . . . . . . . . . . . . . . . . . . 132.3.2 Workspace Performance Evaluation Methodology . . . . . . . 142.3.3 2DoF Robot Arm Illustration . . . . . . . . . . . . . . . . . . 16

2.3.3.1 Desired Workspace . . . . . . . . . . . . . . . . . . . 17

vi

Page 8: The Optimal Design of Cable-Driven Robots

2.3.3.2 Robot Constraints . . . . . . . . . . . . . . . . . . . 182.3.3.3 Wrench Closure Calculations . . . . . . . . . . . . . 192.3.3.4 Workspace Performance Evaluation . . . . . . . . . . 20

2.4 Cable Tension Evaluation . . . . . . . . . . . . . . . . . . . . . . . . 21

2.4.1 Cable Tension Performance Evaluation Methodology . . . . . 222.4.2 2DoF Robot Leg Illustration . . . . . . . . . . . . . . . . . . . 24

2.4.2.1 Workspace Performance Evaluation . . . . . . . . . . 252.4.2.2 Cable Tension Performance Evaluation . . . . . . . . 28

2.5 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30

3 OPTIMAL DESIGN USING RANDOMIZED ALGORITHMS . . 31

3.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 313.2 Optimization Methodology . . . . . . . . . . . . . . . . . . . . . . . . 32

3.2.1 General Problem Definition . . . . . . . . . . . . . . . . . . . 323.2.2 Algorithm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34

3.3 3DoF Robot Leg Illustration . . . . . . . . . . . . . . . . . . . . . . . 35

3.3.1 Optimization . . . . . . . . . . . . . . . . . . . . . . . . . . . 36

3.3.1.1 Robot Parameterization . . . . . . . . . . . . . . . . 383.3.1.2 Desired Robot Task . . . . . . . . . . . . . . . . . . 393.3.1.3 Objective Function Development . . . . . . . . . . . 41

3.3.2 Optimized Results . . . . . . . . . . . . . . . . . . . . . . . . 44

3.4 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48

4 OPTIMAL DESIGN USING PARTICLE SWARMOPTIMIZATION . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49

4.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 494.2 Optimization Methodology . . . . . . . . . . . . . . . . . . . . . . . . 504.3 Methodology Illustration using 3DoF Robot Leg . . . . . . . . . . . . 54

4.3.1 Desired Robot Task . . . . . . . . . . . . . . . . . . . . . . . . 544.3.2 Objective Function Development . . . . . . . . . . . . . . . . 55

vii

Page 9: The Optimal Design of Cable-Driven Robots

4.3.3 PSO Algorithm Implementation . . . . . . . . . . . . . . . . . 584.3.4 Optimization Results . . . . . . . . . . . . . . . . . . . . . . . 60

4.4 Experimental Validation . . . . . . . . . . . . . . . . . . . . . . . . . 61

4.4.1 Static Testing . . . . . . . . . . . . . . . . . . . . . . . . . . . 644.4.2 Dynamic Testing . . . . . . . . . . . . . . . . . . . . . . . . . 64

4.5 Comparison of Optimization Methodologies . . . . . . . . . . . . . . 724.6 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73

5 CONFIGURATION ROBUSTNESS ANALYSIS OF OPTIMALDESIGNS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74

5.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 745.2 Configuration Robustness Analysis . . . . . . . . . . . . . . . . . . . 75

5.2.1 Methodology . . . . . . . . . . . . . . . . . . . . . . . . . . . 765.2.2 2D Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77

5.3 Methodology Illustration using 3DoF Robot Leg . . . . . . . . . . . . 79

5.3.1 Analysis Approach . . . . . . . . . . . . . . . . . . . . . . . . 795.3.2 2D Subset Analysis . . . . . . . . . . . . . . . . . . . . . . . . 805.3.3 10D Configuration Robustness Analysis . . . . . . . . . . . . . 83

5.4 Experimental Validation . . . . . . . . . . . . . . . . . . . . . . . . . 865.5 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94

6 CONCLUSION . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95

6.1 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 956.2 Future Work . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96

BIBLIOGRAPHY . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98

Appendix

COPYRIGHT RELEASE . . . . . . . . . . . . . . . . . . . . . . . . . 105

viii

Page 10: The Optimal Design of Cable-Driven Robots

LIST OF TABLES

3.1 Desired Uncertainty Parameters and Corresponding SampleComplexity Requirements . . . . . . . . . . . . . . . . . . . . . . . 37

3.2 Parametrization of the Cable-Driven Robot Leg . . . . . . . . . . . 38

3.3 Cable Parameter Ranges . . . . . . . . . . . . . . . . . . . . . . . . 39

3.4 Configuration Results for Case 1 Analysis . . . . . . . . . . . . . . 46

3.5 Configuration Results for Case 2 Analysis . . . . . . . . . . . . . . 47

4.1 PSO parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60

4.2 Robot configurations . . . . . . . . . . . . . . . . . . . . . . . . . . 60

4.3 Comparison of Tmaxavg values . . . . . . . . . . . . . . . . . . . . . . 71

5.1 Cable configuration parameters and optimal values for the robot leg 79

5.2 Optimal cable configuration for the robot leg and configurationadjustments based on the configuration robustness analysis . . . . 86

ix

Page 11: The Optimal Design of Cable-Driven Robots

LIST OF FIGURES

1.1 Representative illustrations of both parallel and serial cable-drivenrobots . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2

1.2 Illustrations of traditionally-actuated exoskeletons for rehabilitationand training . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

1.3 Illustrations of two cable-driven exoskeletons . . . . . . . . . . . . . 5

2.1 Illustration of the workspace performance evaluation methodology. . 16

2.2 Illustration of the 2DoF robot arm driven by 3 cables . . . . . . . . 17

2.3 Desired workspace for the 2DoF robot arm . . . . . . . . . . . . . . 18

2.4 Sample restricted poses for the robot due to collisions between cablesand frame . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19

2.5 Example “keep-out” area of the robot constrained workspace, Wc . 20

2.6 Example Wrench Closure Workspace for the robot . . . . . . . . . . 20

2.7 Example Combined Workspace used for the workspace performanceevaluation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21

2.8 Illustration of a 2DoF robot leg with 3 cables . . . . . . . . . . . . 25

2.9 Circular trajectory for the robot leg example desired task . . . . . . 26

2.10 Desired trajecory and desired workspace for the robot leg . . . . . . 26

2.11 Constrained workspace for an example cable configuration for therobot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27

2.12 Wrench closure workspace for one example cable configuration for therobot leg . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27

x

Page 12: The Optimal Design of Cable-Driven Robots

2.13 Combined workspace plot for an example robot cable configuration 28

2.14 Estimate of the joint torques required to perform the desired motion. 29

2.15 Sample set of minimum cable tensions, T (t), required to generate thejoint torques for the desired trajectory. . . . . . . . . . . . . . . . . 29

3.1 Diagrams of the 3-DoF cable-driven robot leg used to illustrate theoptimization methodology . . . . . . . . . . . . . . . . . . . . . . . 36

3.2 Joint angle trajectory, qd(t), for the desired walking gait trajectoryfor the robot leg . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39

3.3 Joint Torque trajectories, ud(t), for the desired walking gaittrajectory for the robot leg . . . . . . . . . . . . . . . . . . . . . . . 40

3.4 Poses and torques in the behavior set for the Case 1 analysis, B1. . 42

3.5 Poses and torques in the behavior set for the Case 2 analysis, B2. . 42

3.6 Illustration of the case 1 optimal configuration . . . . . . . . . . . . 46

3.7 Cable tensions for the robot performing the walking gait with thecase 1 design . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46

3.8 Illustration of the case 2 optimal configuration . . . . . . . . . . . . 47

3.9 Cable tensions for the robot performing the walking gait with thecase 2 design . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47

4.1 Illustration of the PSO velocity calculation . . . . . . . . . . . . . . 52

4.2 Particle Swarm Optimization algorithm flowchart . . . . . . . . . . 53

4.3 Diagram of the cable-driven robot leg used to illustrate theapplication of the methodology . . . . . . . . . . . . . . . . . . . . 55

4.4 The walking gait joint angle trajectory. . . . . . . . . . . . . . . . 56

4.5 The desired workspace for the robot, Wd, based on the walking gaittrajectory. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56

xi

Page 13: The Optimal Design of Cable-Driven Robots

4.6 Value of the objective function, ψ, vs average cable tension, Tmaxavg , for

several workspace performance values, Pw . . . . . . . . . . . . . . 58

4.7 Illustrations of the cable-driven robot leg in Config 1 and 2. . . . . 61

4.8 Pictures of the cable-driven robot leg . . . . . . . . . . . . . . . . . 62

4.9 Results of the tension sweep experiment for the robot in config 1 and2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63

4.10 Results of experimental static pose testing of the robot configuredaccording to config1 and config 2 . . . . . . . . . . . . . . . . . . . 65

4.11 Plots of the full scale and 50% scale walking gait trajectories . . . . 66

4.12 Simulated tensions for config 1 for the 50% scale and full scaletrajectories. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67

4.13 Simulated tensions for config 2 for the 50% scale and full scaletrajectories. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68

4.14 Controller cable tensions and robot response for the 50% scalewalking gait trajectory for the optimal config 1. . . . . . . . . . . . 69

4.15 Controller cable tensions and robot response for the 50% scalewalking gait trajectory for config 2. . . . . . . . . . . . . . . . . . . 70

4.16 Controller cable tensions and robot response for the full scale walkinggait trajectory for the optimal config 1. . . . . . . . . . . . . . . . . 71

5.1 Example 2D objective function surface, ψ(x1, x2), with the optimalpoint ox = (ox1,

o x2) . . . . . . . . . . . . . . . . . . . . . . . . . . 78

5.2 Example objective function performance along x1 . . . . . . . . . . 78

5.3 Example objective function performance along x2 . . . . . . . . . . 78

5.4 Optimal configuration of cables for the robot leg . . . . . . . . . . . 80

5.5 Contour of the objective function value in a 2D neighborhoodsurrounding the optimal point. . . . . . . . . . . . . . . . . . . . . 82

xii

Page 14: The Optimal Design of Cable-Driven Robots

5.6 Objective function performance along cable 1 attachment anglessurrounding the optimal point. . . . . . . . . . . . . . . . . . . . . 82

5.7 Objective function slice along x1 showing the -1oadjustment to theoptimal value. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83

5.8 Objective function slices surrounding the optimal point in the 10Ddesign space. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84

5.9 Objective function slice along x6 . . . . . . . . . . . . . . . . . . . 85

5.10 Objective function slice along x7 . . . . . . . . . . . . . . . . . . . 85

5.11 Objective function slice along x10 . . . . . . . . . . . . . . . . . . . 85

5.12 Objective function slice along x3 . . . . . . . . . . . . . . . . . . . 86

5.13 The 3-DoF cable-driven robot leg with the cables arranged in theoptimal configuration, ox. . . . . . . . . . . . . . . . . . . . . . . . 87

5.14 Plots of the full scale, 80% scale, and 50% scale walking gaittrajectories showing the joint angles as a function of time, andplotted in the q2-q3 plane. . . . . . . . . . . . . . . . . . . . . . . . 88

5.15 Controller cable tensions and robot response for the 50%, 80% andfull scale trajectories. . . . . . . . . . . . . . . . . . . . . . . . . . . 90

5.16 Comparison of modeled configuration robustness to experimentalrobot performance for varying cable 1 attachment angles, (x1 and x2). 92

5.17 Comparison of modeled configuration robustness to experimentalrobot performance for varying cable 3 attachment angles, (x6 and x7). 93

xiii

Page 15: The Optimal Design of Cable-Driven Robots

ABSTRACT

Cable-driven robots are often considered an attractive solution for a range of

applications, however, the advantages of cable-driven robots come at a cost of added

complexity to the overall system and increased challenges in the design of the robot.

The effect of cable tensions on the robot varies significantly based on robot pose and

cable architecture. Additionally, a cable can only apply force in one direction as tension,

and this uni-directional actuation complicates the design of cable-driven robots and can

result in limited performance. The choice of cable architecture has a significant effect

on the capabilities and performance of the robot, with a poor choice of cable routing

resulting in significant performance limitations based on operational workspace size

and high cable tensions required to perform a desired task.

This work develops a set of methodologies to inform the design of cable-driven

robots to identify the best cable architecture. A robot performance analysis method-

ology is presented to analyze and rank robot designs based on the robot workspace

performance and cable tensions. Two optimization methodologies are then presented

which leverage established design optimization techniques combined with this robot

performance analysis methodology to identify a cable routing which optimizes the

robot performance.

The first optimization strategy makes use of research in probability theory and

the theory of randomized algorithms to develop a methodology which uses a set of

randomly selected robot designs to find a near-optimal solution, and quantifies the

accuracy and uncertainties of this result. This approach is advantageous because the

uncertainty bounds of the result can be used to inform a determination of the sufficiency

of the near-optimal solution based on the particular design problem requirements.

The algorithm is relatively simple to implement, and an acceptable solution to the

xiv

Page 16: The Optimal Design of Cable-Driven Robots

design problem can be found with very little effort or computation. However, for

design problems with large design spaces which require a solution very close to the

true optimal, this approach can require large sample sets to locate a solution within

the desired uncertainty bounds.

A second optimization methodology is developed for robot design problems

which have a large, high-dimensional design space and which require a solution close

to the true optimal. This strategy uses a statistical guided-search algorithm to explore

the design space and converge on the global optimal solution, based on ranking cri-

teria derived from the robot performance analysis methodology. This methodology is

well suited to cable-driven robot optimization in that it is applicable to problems with

continuous design parameters, and is robust to discontinuous objective functions with

many local optima. This approach requires more effort to implement than the first

optimization strategy, but is more efficient at exploring large, high dimensional design

spaces.

Finally, a methodology is presented to analyze the robustness of the performance

of an optimal solution to small errors in the configuration parameters which arise in the

implementation of a design. Depending on the expected precision of implementation,

a near-optimal design may be preferable to the optimized solution if the performance

of near-optimal design is more robust to errors and more reliably implemented into a

physical system.

xv

Page 17: The Optimal Design of Cable-Driven Robots

Chapter 1

INTRODUCTION

1.1 Overview of Cable-Driven Robots

A cable-driven robot is actuated by adjusting cable lengths and tensions rather

than by directly affecting the rigid bodies of the system using rotary motors or linear

actuators. Such robots are also sometimes referred to as tendon-driven or wire-driven

robots, and are generally categorized as parallel or serial robots.

1.1.1 Parallel Robots

Much of the research into cable-driven robots has focused on parallel robots

which have multiple cables connected to a single platform [73, 64]. An example diagram

of a parallel cable-driven robot is shown in Fig. 1.1a.

Cable-driven parallel robots can be made to have a relatively large workspace

[6, 78, 54], while maintaining a lightweight structure capable of high-speed motion [40,

41]. The maturity of the research into cable-driven parallel robots has resulted in these

systems being well established in a variety of applications, ranging from warehouse

operations and cargo handling [2, 9] to aerial camera systems at sporting events [20,

16, 66].

1.1.2 Serial Robots

Cable-driven serial robots use cables to actuate a series of connected rigid bodies,

as shown in Fig. 1.1b. Conventional robot manipulators and other serial robots have

actuators positioned at each joint, but the use of cables to actuate a serial robot allows

the heavy motors and gearboxes to be moved from the dynamic components to the

base frame of the system, resulting in a decrease in the mass and inertia of the moving

1

Page 18: The Optimal Design of Cable-Driven Robots

(a) Parallel cable-driven robot (b) Serial cable-driven robot

Figure 1.1: Representative illustrations of both parallel and serial cable-driven robots

parts. This change results in a more nimble robot capable of faster accelerations and

may enable the robot to be designed with smaller, less costly motors and fewer materials

due to the decreased loads [77, 34].

One emerging application of cable-driven serial robots is in the legged locomo-

tion of agile mobile robots. Locating the motors on or near the main body of the robot

and actuating the leg remotely using cables changes the mass distribution of the robot

and allows for faster accelerations of the leg links and can result in a more nimble robot

[8, 44].

Another application of cable-driven serial robots which is gaining popularity

is the field of light-weight, cable-driven exoskeletons. An exoskeleton is a wearable

mechanical device designed to augment human capabilities or to provide rehabilitation,

training, or other assistance [71, 59, 5], and traditional exoskeletons are designed as

a mechanical limb placed in parallel with the biological limb, with rotational joints

aligned with the biological joints. Representative examples of upper and lower arm

exoskeletons for human rehabilitation and training include the CADEN-7 [59], SAM

[47], Lokomat [49], and ALEX [5], as shown in Fig. 1.2.

These exoskeletons are usually bulky and heavy, and although active or passive

counterbalancing can negate the perceived mass of the device, the added inertia to

2

Page 19: The Optimal Design of Cable-Driven Robots

(a) CADEN-7 [59] (b) SAM [47]

(c) Lokomat [49] (d) ALEX [5]

Figure 1.2: Illustrations of traditionally-actuated exoskeletons for rehabilitation andtraining

3

Page 20: The Optimal Design of Cable-Driven Robots

the biological limb changes the dynamics of the motion, and can detract from the

effectiveness of training or learning [51] Furthermore, the alignment of the mechanical

and biological joints is difficult due to the complexities and irregularities of the human

body. The particular dimensions of each person’s limbs are unique, and exoskeletons

intended for multiple users must be made adjustable along each segment length, which

complicates the design and can further increase the bulk of the device. Complicating

the joint alignment problem is the fact that biological joints often consist of contacts

which slide and roll, and are imperfectly approximated using mechanical rotational

joints or ball joints. Even if the exoskeleton is perfectly aligned to the human joint

in one pose, the center of rotation of the biological joint shifts as the limb is moved

[46, 69]. Misalignment between the mechanical and biological joints may induce large

reaction forces which can cause discomfort or injury [65, 19].

Cable-driven exoskeletons provide actuation to the biological limb using cables,

and can be designed to use the existing upper or lower limb of a human as the main

physical structure [52]. By moving the motors and gearboxes off the dynamic com-

ponents and reducing the structure, the mass and inertia of the device is decreased.

Although these light-weight cable-driven exoskeletons remain somewhat bulky, the re-

duced inertia and mass make them more transparent to the user than a conventional

exoskeleton, and these devices have been shown to be effective tools for human rehabil-

itation and training [51, 39, 53]. Additionally, by using the biological limb as the main

structure of the device, the joint alignment issues are avoided and the segment-length

customization and setup of the device is simplified.

1.1.3 Design Challenges

In contrast to the bi-directional actuation of a traditional motor or linear ac-

tuator, cables can only apply force in one direction as tension, which complicates the

design of cable-driven robots. This uni-directional nature of cable actuation results

in the requirement of a minimum of n+1 cable actuators to fully control an n-DoF

cable-driven system [56, 57, 62] and can limit the operational workspace.

4

Page 21: The Optimal Design of Cable-Driven Robots

(a) CAREX [51]

(b) C-ALEX [39]

Figure 1.3: Illustrations of two prototype light-weight cable-driven exoskeletons

5

Page 22: The Optimal Design of Cable-Driven Robots

In addition to the inherent design challenges and workspace limitations due to

the uni-directional nature of the cable actuation, the design of cable-driven robots

is complicated by the relationship between cable tensions and robot behavior. The

translation of cable tension forces into forces and torques on the robot is based on

the geometric relationship between the cable routing and attachment points on the

base frame and on the robot rigid bodies, which generally varies with robot pose as

well as cable arrangement. Additionally, interference between cables and collisions

between cables and the robot rigid bodies can limit the range of motion of the device.

The particular arrangement of cables has a significant effect on the capabilities of the

robot.

In general, even if an n-DoF robot is actuated using n+1 cables, this does not

guarantee the robot performs well, or even if the robot is fully controllable in all possible

poses. Additional analysis of the workspace and characteristics of the robot and cable

architecture is essential to understanding how a design will perform. In general, a

sufficiently complex robot and cable system will not have a unique cable arrangement

capable of performing a desired task, and even if a functional n+1 cable architecture

has been developed for a robot, this particular arrangement may not be the optimal

choice. Identifying the best arrangement of the fewest cables is challenging, and if a

suitable cable routing with satisfactory performance cannot be identified for a robot

using n+1 cables, additional cable actuators are often added to the robot design to

facilitate control and improve performance [51, 76]. However, these additional cables

and motors add to the cost of the robot and further increase the complexity of design,

construction and operation.

1.2 Optimization Overview

A cable-driven robot may have a large number of cable routing choices, and the

particular arrangement of cables has a significant effect on the function and perfor-

mance of a cable-driven robot. Identifying the arrangement of cables which enables

desirable robot performance can be difficult, and a systematic analysis of the various

6

Page 23: The Optimal Design of Cable-Driven Robots

possible cable configurations is essential for the development of an efficient, effective

cable-driven robot.

The first step in the analysis is to identify the set of customizable design pa-

rameters which completely describe the cable routing for the robot, along with the

possible configuration values for each parameter. This establishes the design space of

the problem. The performance goals of the robot design must be defined in order

to rank different cable routings against one another to identify better robot designs.

These design goals are combined and expressed as an objective function or fitness func-

tion which relates robot performance to the values of the design variable, and sets up

a generalized design problem which lends itself to a variety of optimization methods.

One possible approach for robot design problems with only a few customiz-

able design parameters is an exhaustive search through a grid-sampling of the design

space. This approach is only feasible for simple design problems, because increasing

the dimensionality of the design space quickly results in infeasible computation times.

Algorithms such as Gradient Descent are effective at finding local optima, but strug-

gle to find the global optima if numerous local optima exist, and can be difficult to

implement for problems with non-differentiable objective functions.

Even modestly complex cable routings can result in high-dimensional design

spaces, leading to robot design optimization problems which cannot easily be solved

using deterministic methods. A wide variety of stochastic optimization methods have

been developed which have been shown to be effective in solving complex engineering

and design problems [26, 43, 74]. These methods approach the optimization solution

from a probabilistic frame of reference, or identify optimal designs through randomized

search methods.

Given the variety of optimization algorithms available, and the specialization of

the algorithms to particular problem types, it is important to choose an appropriate

algorithm for the particular type of optimization problem of interest. In the design of

a cable routing for a cable-driven robot, an optimization algorithm is required which is

7

Page 24: The Optimal Design of Cable-Driven Robots

suited for problems with continuous design parameters (as opposed to design parame-

ters which are binary or discrete). Additionally, depending on the optimization goals,

the complex relationship between cable arrangement and robot behavior results in dis-

continuous objective functions with numerous local extrema. An effective optimization

algorithm for this problem should be robust to this class of objective function.

The theory of Randomized Algorithms offers a formalized approach to solving

design problems by approximating the exact solution to within a given set of error

bounds using randomization. This approach applies concepts from probability theory

to solve a problem approximately, most of the time, and provides explicit bounds on

the estimation errors of an optimal solution [74, 17]. This approach has been shown

to be an effective tool for a variety of computationally difficult design problems, and

is particularly popular in control system design [1, 45, 36]. An analysis of a design

problem using this approach results in a near optimal solution, and a quantification of

the uncertainty and estimation error of the result. These statistical quality metrics can

be used to enable an informed decision on the sufficiency of the solution for a particular

design problem.

The family of Genetic Algorithms (GA) is one of the most commonly recognized

stochastic optimization methods [35, 26]. This optimization approach is based on a

genetic representation of the problem using the biological structure of a chromosome,

with each design parameter modeled as a gene, and each particular parameter choice

modeled as an allele of that gene. An initial population of design solutions are created

and ranked based on performance. Better performing designs are used as the parents

for the next generation, with genetic crossover and mutation providing variation as the

algorithm iterates through generations [25, 33]. The basic GA is applied to discrete

design spaces, but several variants of the original GA have been developed to allow

optimization of continuous-parameter design problems.

Particle Swarm Optimization is another stochastic optimization method which

is becoming popular due to its simplicity and ease of implementation [42, 58, 32]. The

PSO algorithm is a stochastic process which uses social sharing of information between

8

Page 25: The Optimal Design of Cable-Driven Robots

individuals in a group to mimic flocking or schooling behavior in order to identify a

particular set of parameters which optimize an objective function [42]. The algorithm

is applicable to non-linear design spaces with discontinuities and handles a wide variety

of constraints [58, 32] and has become popular for a broad range of engineering design

problems due to its simplicity, ease of implementation, and high performance.

1.3 Methodology for the Optimal Design of Cable-Driven Robots

The choice of cable placement and routing for a cable-driven serial manipulator

has profound effects on the operational workspace of the mechanism and the overall

cable tension requirements. Poor choices in cable attachment can hamper or preclude

the ability of the mechanism to perform a desired task, while an optimal configuration

might allow for an expanded workspace and reduced cable tension requirements.

A set of generalized methodologies is developed which can be used to aid in

the design of the cable architecture of a cable-driven robot and to identify an optimal

cable routing. The methodologies are customizable depending on the particular re-

quirements and considerations of the design problem. A metric for quantifying robot

performance is developed to allow candidate design solutions to be evaluated accord-

ing to a combination of operational workspace and cable tension requirements, which

reflects the priorities of the design problem. Two optimization strategies are devel-

oped using a Randomized Algorithm and a Particle Swarm Optimization approach,

providing flexibility depending on the particular design problem requirements.

As a final element, a configuration robustness methodology is presented to pro-

vide insight into the performance effect of errors which may arise in the implementation

and operation of the robot. Depending on the characteristics of the performance mea-

sures and the nature of the design problem, an optimal design solution may be in close

proximity to regions of poor performance within the design space. It is important to

understand the performance in the neighborhood of the optimal design and the po-

tential effects of near-optimal configurations in order to mitigate the degradation in

system performance due to the errors.

9

Page 26: The Optimal Design of Cable-Driven Robots

1.4 Overview of Document Structure

This dissertation describes the development of a set of methodologies which can

be used to optimize the cable architecture of a cable-driven robot. The document is

organized as follows:

Chapter 2 presents the methodology used to evaluate robot performance, with a

workspace analysis methodology and a cable tension analysis methodology combined

together to evaluate the performance of a particular cable architecture,

Chapter 3 presents a methodology for optimizing the robot design using Randomized

Algorithms, which provides a quantified confidence and uncertainty bound on a near-

optimal solution found using a given set of randomly selected solutions,

Chapter 4 presents a methodology for optimizing the robot design using a stochastic

search algorithm called Particle Swarm Optimization, which is able to explore the high-

dimensional design spaces of complex design problems and converge on the optimal

solution,

Chapter 5 describes the a methodology to analyze the configuration robustness of an

optimal design to errors in the design parameters, and presents a strategy to adjust the

implementation of the optimal design to minimize the potential performance impact

of errors in the parameter values, and

Chapter 6 provides an overall conclusion to the dissertation.

10

Page 27: The Optimal Design of Cable-Driven Robots

Chapter 2

PERFORMANCE ANALYSIS OF CABLE-DRIVEN ROBOTS

2.1 Introduction

This chapter presents a set of methodologies to evaluate the performance of

cable driven robots. A two-fold evaluation strategy is used to characterize the perfor-

mance of a robot, with an evaluation of the robot workspace combined with a cable

tension analysis. The concepts and techniques for the evaluation of a cable-driven robot

design which are described in this chapter can be used as a stand-alone evaluation of

a particular design, or can be integrated into an optimization methodology to identify

and analyze the optimal cable architecture for a cable-driven robot.

This chapter presents both the Workspace Evaluation methodology and a Cable

Tension Evaluation methodology in general. Each methodology is then illustrated using

an example cable-driven robot to demonstrate the application of the techniques.

2.2 Serial Cable-Driven Robot Model

The methodologies presented in this chapter and the following chapters are

applicable to cable-driven robots in general, but are illustrated using serial robots

as examples. This section develops the general robot model used to illustrate the

methodologies throughout this document.

2.2.1 Equations of Motion

The equations of motion governing the behavior of an n-DoF serial robot can

be derived using the Euler-Lagrange method, which gives a set of coupled differential

11

Page 28: The Optimal Design of Cable-Driven Robots

equations in the form of Eqn. 2.1,

D(q)q+C(q, q)q+G(q) = u (2.1)

where: q = [q1, ..., qn]T are the joint angles, u = [τ1, ..., τn]

T are the torque

inputs to each joint, D(q) is the n × n inertia matrix, C(q, q) contains the Coriolis

and centrifugal terms, and G(q) is the gravity vector [67, 38].

2.2.2 Cable Tension Jacobian

For a serial robot driven by m cables, the cable tensions, T = [T1, ..., Tm]T , are

used to generate joint torques, u. The relationship between the cable tensions and the

robot joint torques is described by matrix A(q), which is the n ×m transpose of the

cable tension Jacobian, JT (q), as shown in Eqn. 2.2.

A(q) = JT (q)T (2.2)

One method of deriving the tension Jacobian, JT (q), uses the derivative of the

cable lengths with respect to the joint angles.

JT (q) = −

⎡⎢⎢⎢⎢⎢⎢⎣

∂L1

∂q1

∂L2

∂q1. . . ∂Lm

∂q1

∂L1

∂q2

∂L2

∂q2. . . ∂Lm

∂q2...

......

∂L1

∂qn∂L2

∂qn. . . ∂Lm

∂qn

⎤⎥⎥⎥⎥⎥⎥⎦

(2.3)

where L1, L2, ..., Lm are the lengths of the cables measured along the routing between

the extreme distal and extreme proximal anchor points.

The cable tensions are translated into joint torques following Eqn. 2.4.

u = A(q)T (2.4)

If the robot has more cables than DoFs (m > n), and the [n×m] A(q) matrix is full

rank for more than one choice of n columns, then Eqn. 2.4 is under-determined, and in

general, at a particular pose, q, there are many possible tension solutions which will

generate a desired set of joint torques.

12

Page 29: The Optimal Design of Cable-Driven Robots

2.3 Workspace Evaluation

A variety of methods have been developed to evaluate robot performance. Pop-

ular strategies include analyzing the singularities of the velocity Jacobian [27, 79, 68].

The condition number is a popular metric which describes the accuracy and dexterity

of the robot as well as the closeness of a particular pose to a singularity [55, 37]. A

related global conditioning index provides an evaluation of the condition number over

an entire workspace [28, 61].

Other popular robot performance metrics include the Force/Power Transmissi-

bility Index [21, 75], Joint Force Index [48], or Mean Force Transmission Index [18],

which all measure aspects of the force transmission performance of the robot.

The methodology presented in this chapter evaluates the robot performance

using a workspace analysis based on the concept of Wrench Closure, but another choice

of performance evaluation strategy can be substituted depending on the design problem

requirements.

2.3.1 Wrench Closure Workspace

The Wrench Closure Workspace (WCW), sometimes referred to as the Tension-

able Workspace [63], or Controllable Workspace [72], is the set of robot poses where

positive cable tensions can generate any arbitrary set of joint torques or end-effector

forces [30, 7, 24, 22]. Wrench closure is a desirable characteristic for a cable-driven

robot workspace, allowing the robot to resist changes to its pose, or to execute desired

motions or dynamic behaviors.

The WCW of a cable-driven robot can be determined in several ways. One

option is to use a concept of supporting and separating hyperplanes [29, 70], but in

this analysis the WCW is determined through inspection of the null space of the A(q)

matrix [30, 62].

For the case of an n-DoF robot with n + 1 cables (m = n + 1), the tension

vector, T, is [(n+1)× 1], and the A(q) is [n× (n+1)]. Solving Eqn. 2.4 for a tension

13

Page 30: The Optimal Design of Cable-Driven Robots

vector, T, which generates a desired set of joint torques, u, gives an equation of the

form shown in Eqn. 2.5,

T = A∗u+ λη (2.5)

where A∗ is the Moore-Penrose pseudoinverse of matrix A(q), A∗u is the min-

imum norm solution of Eqn. 2.4, λ is an arbitrary constant, and η is a [(n + 1) × 1]

vector in the null space of A(q), such that Aη = 0.

A particular robot pose, qi, belongs to the WCW if: A(qi) is full rank, and if

the null space of A(qi) admits a vector, η, with all positive elements [31, 62]. It can

be seen by inspection of Eqn. 2.5, that regardless of the minimum norm tension values

created by the A∗u term, if an η vector exists with all positive elements, then a λ can

be found which causes the λη term to dominated the equation and creates a tension

vector, T with all positive elements. Physically, the tension contribution of the λη

term is a collective tensioning of all the cables which is balanced in such a way as to

result in an increase in the internal forces of the system, but does not affect the net

resulting joint torques or the end-effector position.

2.3.2 Workspace Performance Evaluation Methodology

The optimization methodologies developed in this research consider the char-

acteristics of the robot wrench closure workspace to rank robot configurations. This

workspace performance methodology can be used stand-alone, or together with the

cable tension performance methodology in an overall ranking of different robot config-

urations. The generalized methodology for the assessment of the robot workspace used

in this research is outlined as follows:

1. Discretize the coordinate-space of the robot into a collection of grid-points.

2. Define the desired workspace for the robot as a region or regions within the

coordinate-space.

3. Calculate whether the robot has wrench closure for each point (pose) within the

desired workspace, following the null vector test.

14

Page 31: The Optimal Design of Cable-Driven Robots

4. Calculate if any collision events or other constrained behaviors occur for the robot

at each point within the desired workspace.

5. Evaluate the performance of the robot workspace based on the desired workspace,

wrench closure workspace, and workspace collisions or other constraints.

First, the generalized coordinate space of the robot is defined. For parallel

robots, this might be the position and orientation of the end effector (q = [x,y, z, ψ, θ, φ]T).

For serial robots with rotational joints, this is generally chosen to be the joint angles

(q = [q1,q1, ...,qn]T). This coordinate space, S, is bounded by the range of motion

limits of the robot, and is discretized into a collection of grid-points for this analysis.

The desired workspace of the robot, Wd, is defined as a subset of the robot

coordinate space (Wd ∈ S), and is chosen based on the range of motion for the robot

required to perform the set of desired tasks. Following Section 2.3.1, the null vector

test is performed on each pose within the Wd to determine if the pose is also within

the WCW.

In addition to the wrench closure considerations, the operational workspace of

cable-driven robots can be limited by collisions between the cables and rigid bodies,

or between the rigid bodies of the robot. These collision poses for the robot can be

considered as ”keep-out”, regions within the joint-space, and are a function of the

geometry of the cable arrangement, cable attachment, the robot link design, and the

particular pose of the robot. Additional workspace constraints can also be considered

in this step; a particular robot pose might block the view from a camera or other

sensor, for example. The collision poses and other constraints are gathered together

into a Constrained Workspace, Wc.

For a robot with p independent design parameters, a robot design is described by

a parameter vector X = [x1,x2, ...,xp] containing the values of each design parameter.

The workspace performance, Pw of a particular design, Xi, is evaluated using this

workspace performance evaluation methodology by calculating the proportion of the

15

Page 32: The Optimal Design of Cable-Driven Robots

DesiredWorkspace

(Wd)

Constraints and

Collisions(Wc)

Wrench ClosureWorkspace

(WCW)

p-DimensionalDesign Space

x4

xp

x3

x2

x1

...q1

q2

q3

Xi = [x1i, x2

i, x3i,..., xp

i]

Performance of design Xi:Pw = (Wd WCW) \ Wc

Robot Coordinate

Space(S)

...qn

Figure 2.1: Illustration of the workspace performance evaluation methodology. Theperformance of any particular design, Xi, within the design space of the robot is eval-uated by calculating the intersection of the desired workspace, Wd, and the WCW,which is not in violation of any constraints.

Wd which has wrench closure, and is not in violation of any workspace constraints, as

shown in Eqn. 2.6,

Pw = (Wd ∩WCW ) \Wc (2.6)

The Workspace Performance Evaluation Methodology is illustrated in Fig. 2.1.

2.3.3 2DoF Robot Arm Illustration

The workspace performance evaluation methodology is illustrated in this section

with a cable-driven 2-link planar manipulator, shown in Fig. 2.2. The robot has two

rotational joints and is controlled using 3 cables which are connected along the rigid

bodies using adjustable standoffs which provide design flexibility and allow for a range

of cable attachment options, with design parameters described by x1, x2, x3, x4. The

16

Page 33: The Optimal Design of Cable-Driven Robots

Cable 1 Cable 3 Cable 2

q1

x1

q2 x2

x4

x3

Figure 2.2: Illustration of the 2DoF robot arm driven by 3 cables

generalized robot coordinates are defined to be the robot joint angles, with q1 and q2

being the angles of the proximal and distal joint, respectively, as shown in Fig. 2.2.

The form of the equations of motion for this 2-link manipulator are given by

Eqn. 2.1, where: q = [q1, q2]T are the joint angles, and u = [τ1, τ2]

T are the joint

torques. The three cables map to the two joint torques through Eqn. 2.4, where

T = [T1, T2, T3]T , and A(q) is a 2 x 3 matrix of the form shown in Eqn. 2.7.

A(q) =

⎡⎣a11 a12 a13

0 a22 a23

⎤⎦ , (2.7)

2.3.3.1 Desired Workspace

For this analysis, a goal is selected which requires the robot to be able to position

the end effector at all points within the upper-half of the circular theoretical reachable

workspace as shown in Fig. 2.3a. This desired workspace is translated into a desired

17

Page 34: The Optimal Design of Cable-Driven Robots

(a) Desired end-effector reachable area

−180 −90 0 90 180−90

0

90

180

270

q1

q 2

OutsideDesired

Workspace

(b) Desired workspace, Wd, in joint-angle coordinates

Figure 2.3: Desired workspace for the 2DoF robot arm

workspace in the joint-angle coordinates, Wd, as shown in Fig. 2.3b where the gray

area on the plot indicates poses outside the desired workspace, Wd.

The joint-space of the robot is presented as a flat surface in Fig. 2.3b for clarity;

in reality the joint-space surface is wrapped into a toroid where the -180◦ and 180◦

values for q1 are aligned and the -90◦ and 270◦ values for q2 are aligned.

2.3.3.2 Robot Constraints

The robot is constrained from attaining poses which cause cables to intersect

with the rigid bodies as shown in Figs. 2.4a-2.4c, or which cause the rigid bodies

of the robot to intersect with each other as shown in Fig. 2.4d. These constraints

18

Page 35: The Optimal Design of Cable-Driven Robots

(a) (b)

(c) (d)

Figure 2.4: Sample restricted poses for the robot due to collisions between cables andframe

are translated into joint-angle limits and the Wc ’keep-out’ region in the joint-space

is generated. A plot of the Wc for an example robot configuration is shown in red in

Fig. 2.5. In contrast to the desired workspace, the Wc which describes these constraints

will change as the cable configuration of the robot is altered, in general.

2.3.3.3 Wrench Closure Calculations

The WCW is determined by following the null vector test described in Sec-

tion 2.3.1 for each point within the joint space. At each pose, qi, within the discretized

Wd, the numerical value for A(qi) is calculated. The null vector corresponding to the

particular A(qi) is calculated and the sign of each element within the null vector is

obtained. If the elements all have the same sign the pose qi belongs to the WCW for

that particular cable configuration of the robot. Figure 2.6 shows plot of the WCW

for one example robot configuration with the wrench closure poses shown in blue.

19

Page 36: The Optimal Design of Cable-Driven Robots

−180 −90 0 90 180−90

0

90

180

270

q1

q 2

Constrained Poses, Wc

Figure 2.5: Example “keep-out” area of the robot constrained workspace, Wc

−180 −90 0 90 180−90

0

90

180

270

q1

q 2

Wrench Closure Workspace

Figure 2.6: Example Wrench Closure Workspace for the robot

2.3.3.4 Workspace Performance Evaluation

The workspace of a particular robot design is evaluated by following the method-

ology described in Section. 2.3.2. The WCW from Fig. 2.6 is combined with the desired

workspace from Fig. 2.3b and the constraint area from Fig. 2.5 to produce the combined

workspace shown in Fig. 2.7. The performance of this example cable configuration of

the 2-DoF robot is evaluated by calculating the desired workspace area which has

20

Page 37: The Optimal Design of Cable-Driven Robots

−180 −90 0 90 180−90

0

90

180

270

q1

q 2

WCW

Constraints, Wc

Outside Wd

Figure 2.7: Example Combined Workspace used for the workspace performance eval-uation

wrench closure, but is not in violation of any constraints (i.e. the percentage of the

desired workspace in Fig. 2.7 which is covered by blue). Better performing cable con-

figurations will have less of the Wd masked by the constraints and more of the desired

workspace covered by the WCW.

2.4 Cable Tension Evaluation

TheWCW of a robot describes the poses where a mathematical solution contain-

ing positive cable tensions exists to generate any arbitrary set of joint torques, however

the magnitude of the cable tensions in the solution is also important to consider when

evaluating the design of a cable-driven robot. A variety of factors can limit the allowed

cable tension of a robot: motor torque limits, cable strength, the durability of the cable

routing points, or even internal energy limitations imposed for safety considerations of

nearby personnel and equipment. A robot design which has wrench closure throughout

the desired workspace may require cable tensions outside the feasible limits to perform

a desired motion. Discriminating among cable architectures based on cable tension

requirements is an important aspect of designing an effective robot.

21

Page 38: The Optimal Design of Cable-Driven Robots

2.4.1 Cable Tension Performance Evaluation Methodology

A second approach for evaluating the performance of a cable-driven robot is

described in this section. This tension performance methodology ranks cable architec-

tures based on the efficiency of the position of the cables for translating cable tensions

into joint torques, by analyzing the cable tensions required to perform a given task.

The tension performance methodology is outlined as follows:

1. Identify the set of tasks or behaviors the robot will need to perform.

2. Determine the set of poses and the required forces and/or torques to implement

the desired behaviors.

3. Calculate the set of minimum tensions required to generate the desired forces or

torques.

4. Evaluate the performance of the robot cable routing based on the tensions re-

quired to perform the desired behaviors.

If the robot is required to perform a known task or family of tasks, the details

of these desired behaviors can be used to evaluate the suitability of the choice of cable

architecture. Example desired robot tasks include specific end-effector trajectories, or

exerting a specific force on a point in the workspace.

In this methodology, a robot behavior, B, is defined to be a pose or set of desired

poses, qd, coupled with a desired platform wrench (parallel robots) or joint torques,

ud (serial robots). This set can be a discretized, time-varying trajectory, as shown

in Eqn. 2.8, or a set of discontinuous points, as shown in Eqn. 2.9, depending on the

design requirements of the robot.

B =

⎡⎣qd(t0) qd(t1) ... qd(tf )

ud(t0) ud(t1) ... ud(tf )

⎤⎦ (2.8)

B =

⎡⎣q

1d q2

d ... qnd

u1d u2

d ... und

⎤⎦ (2.9)

22

Page 39: The Optimal Design of Cable-Driven Robots

For a particular robot design, the set of minimum positive cable tensions, T,

needed to generate the desired joint torques, ud, at the corresponding poses within the

WCW, qd, can be calculated using the linear programming problem given in Eqn. 2.12.

For the kth element in behavior set B:

B = [B1,B2, ...,Bk, ...,Bn], Bk =

⎡⎣q

kd

ukd

⎤⎦ , (2.10)

And the kth element in the tension set T:

T = [T1,T2, ...,Tk, ...,Tn], Tk =

⎡⎢⎢⎢⎢⎢⎢⎣

T k1

T k2

...

T km

⎤⎥⎥⎥⎥⎥⎥⎦, (2.11)

minimize ||Tk|| s.t.

⎧⎪⎨⎪⎩A(qk

d)Tk = uk

d

T ki ≥ 0, for Cable i = [1, ...,m]

(2.12)

This calculation is performed at each timestep along a time-varying trajectory, or

at each point in a set of discreet desired behaviors to determine the cable tension

requirements for the set of desired behaviors.

The cable tension performance, Pt, of a particular robot design for the desired

behavior is evaluated in this methodology by calculating the average tension required

in each cable to perform the desired behaviors, and selecting the maximum value of

the average cable tensions, as shown in Eqn. 2.13-2.15.

T iavg = mean(T i(t)), for Cable i = 1, 2, ...,m (2.13)

Tmaxavg = max(T i

avg), for Cable i = 1, 2, ...,m (2.14)

Pt = Tmaxavg (2.15)

23

Page 40: The Optimal Design of Cable-Driven Robots

where T i(t) is the tension required by the ith cable to generate the desired at time t,

T iavg is the average required tension of the ith cable across the desired behavior, and

Tmaxavg is the maximum of the m average cable tension values for a robot driven with m

cables. If the robot behavior is defined for a set of discrete points instead of a time-

varying trajectory, the methodology is the same, the T iavg is calculated by averaging

over the points in the set

As shown in Eqn. 2.15, this methodology uses the Tmaxavg value as the cable

tension performance. Another option for Pt would be to consider the maximum of the

maximum cable tensions (Tmaxmax ). This method also performed well in testing, but is

more sensitive to brief tension spikes in the trajectories, or one point in the behavior

definition which requires high tensions to achieve. Depending on the specifics of the

design problem, this may be the preferred option, and the methodology is easily altered

to support a new calculation of Pt, if required.

By specifying a particular desired behavior or set of behaviors, this methodology

allows the robot performance to be tuned to these desired behaviors, but does not

provide any evaluation of performance outside the specified definition. Because of

this, the Pt performance evaluation should be used to augment the Pw workspace

evaluation, rather than as a stand-alone performance metric, except in the case of very

high confidence in the accuracy and completeness of the behavior descriptions and

requirements.

2.4.2 2DoF Robot Leg Illustration

An illustration of the application of the cable tension performance evaluation

methodology is provided in this section with a cable-driven 2-link planar manipulator

driven with 3 cables. The 2-DoF cable-driven robot is a simplified analogue to the

human leg in the sagital plane with a 1-DoF knee joint and a 1-DoF hip joint as shown

in Fig. 2.8. As in the previous example, 3 cables are attached to the rigid members

by use of adjustable standoffs, which provide design flexibility and allow for a range of

cable attachment options, with design parameters described by x1, x2, x3, x4.

24

Page 41: The Optimal Design of Cable-Driven Robots

Cable 1Cable 3Cable 2

q1

x1

−q2

x2

x3

x4

Figure 2.8: Illustration of a 2DoF robot leg with 3 cables

As with the previous 2-DoF robot example, the form of the equations of motion

for this 2-link robot are given by Eqn. 2.1, where: q = [q1, q2]T are the joint angles, and

u = [τ1, τ2]T are the joint torques, and the three cables map to the two joint torques

through Eqn. 2.4, where T = [T1, T2, T3]T .

In this illustration, the desired task for the robot is a circular trajectory de-

scribed by Fig. 2.9. In this trajectory, the robot hip angle (q1) varies from -10◦ to 10◦

and the knee angle (q2) varies from 0◦ to -30◦ over a 2 second interval. The joint space

path of this trajectory is shown in Fig. 2.9a and the joint angles are plotted vs time in

Fig. 2.9b.

2.4.2.1 Workspace Performance Evaluation

As previously mentioned, the Pt evaluation is intended to further refine designs

which have desired workspace performance, Pw, so the first step in the performance

analysis of an example cable routing is to apply the workspace performance evaluation

methodology from Section 2.3.2. The circular gait desired task for this robot leg from

25

Page 42: The Optimal Design of Cable-Driven Robots

−10 −5 0 5 10−30

−20

−10

0

q1 �����

q 2��

���

(a) Joint-space trajectory

0 0.5 1 1.5 2−30

−20

−10

0

10

���� ���

���� ������ �

q1q2

(b) Robot joint angles vs time

Figure 2.9: Circular trajectory for the robot leg example desired task

-90 0 90 180 270-90

0

90

180

270

q1

q 2

Outside Desired Workspace

Desired Robot Motion

Figure 2.10: Desired trajecory and desired workspace for the robot leg

Fig. 2.9a is plotted in red in Fig. 2.10 along with the desired workspace chosen for

this example. The desired workspace, Wd, is chosen such that the gait joint angle

requirements are well contained within the desired workspace.

For this example, the constraints are simply that the rigid members of the

robot are not allowed to intersect. A constraint ’keep-out’ area for an example robot

configuration is shown in Fig. 2.11.

26

Page 43: The Optimal Design of Cable-Driven Robots

-90 0 90 180 270-90

0

90

180

270

q1

q 2

Constrained Poses, Wc

Figure 2.11: Constrained workspace for an example cable configuration for the robot

-90 0 90 180 270-90

0

90

180

270

q1

q 2

WCW

Figure 2.12: Wrench closure workspace for one example cable configuration for therobot leg

Following the procedure presented in Section 2.3.1, the null vector of the A(q)

matrix is calculated for each point within the joint space, and the WCW is determined

by evaluating whether all elements of the null vector have the same sign. A WCW plot

of one cable configuration is shown in Fig. 2.12.

The combined workspace plot for an example configuration of the robot leg is

shown in Fig. 2.13 with the desired behavior overlaid in red. This particular choice

27

Page 44: The Optimal Design of Cable-Driven Robots

-90 0 90 180 270-90

0

90

180

270

q1

q 2

WCW

Outside Wd

Constraints, Wc

Desired Motion

Figure 2.13: Combined workspace plot for an example robot cable configuration

of cable configuration results in a robot which has wrench closure throughout most of

the desired workspace, and is able to perform the desired behavior with positive cable

tensions and without violating defined constraints.

2.4.2.2 Cable Tension Performance Evaluation

The joint angle trajectories of the desired robot behavior have been specified in

Fig. 2.9, and the joint torques required to achieve the desired motion can be calculated

using the robot model and an estimation of the mass and inertia of the dynamic

components of the robot.

The robot links are simulated with a PD controller to find the estimated joint

torque requirements, u, following Eqn. 2.16.

u = D(q)ν +C(q, q)q+G(q) (2.16)

where ν = Kv(qd − q) + Kp(qd − q), and where qd and qd are the desired joint

angle velocity and position vectors, respectively. An set of required joint torques for

an example robot configuration to execute this desired motion are shown in Fig. 2.14.

The T iavg tension values for cables 1, 2, and 3 are also shown in Fig. 2.15, with the

Tmaxavg value of 39N arising from the cable 2 tension trajectory.

28

Page 45: The Optimal Design of Cable-Driven Robots

0 0.5 1 1.5 2

−4

−2

0

2

���� ���

����� ���

����

τ1τ2

Figure 2.14: Estimate of the joint torques required to perform the desired motion.

� ��� � ��� �0

20

40

��� ��

��� �

��

��

��

Figure 2.15: Sample set of minimum cable tensions, T (t), required to generate thejoint torques for the desired trajectory.

Using this set of required torques, the minimum set required tensions at each

timestep, T(t), is calculated by solving the linear programming problem described in

Eqn. 2.12. An example set of tensions required to generate the necessary joint torques

is shown in Fig. 2.15.

29

Page 46: The Optimal Design of Cable-Driven Robots

This example robot configuration has been evaluated based on the wrench clo-

sure properties of the robot workspace and the cable tensions required to perform a

desired behavior, based on the methodologies presented in Sections 2.3.2 and 2.4.1.

2.5 Summary

This chapter presented a robot performance analysis methodology which can be

used to evaluate a particular robot cable configuration based on characteristics of the

robot workspace and cable tensions required to perform a desired behavior or set of

behaviors. This method can be used to evaluate particular robot configurations and

rank them against one another based on a desired set of capabilities and characteristics,

however the problem of finding well-performing cable configurations has not yet been

addressed.

For simple robot design problems with few variable parameters, a trial-and-error

design approach or grid-based exhaustive explorations of parameter combinations are

acceptable optimization strategies, however, increasing dimensionality of the design

space quickly results in problems which overwhelm these approaches.

More sophisticated and powerful optimization algorithms are available to ad-

dress this calibre of complex design problem, and the robot performance evaluation

methodologies presented in this chapter will be used in the following chapters as the

core kernel wrapped inside these optimization algorithms to build an overall method-

ology to identify the optimal cable architecture for a cable-driven robot.

30

Page 47: The Optimal Design of Cable-Driven Robots

Chapter 3

OPTIMAL DESIGN USING RANDOMIZED ALGORITHMS

3.1 Introduction

The theory of randomized algorithms offers an optimization technique based on

a random-search approach to solving a design problem which uses probability theory to

bound the estimation errors and confidence of a near-optimal solution, provided certain

explicitly defined sample complexity requirements are satisfied in the analysis. In

contrast to an exact analytical analysis, a randomized algorithm uses random variations

in the calculations in order to solve a given problem approximately, most of the time.

The algorithm provides explicit bounds on the uncertainty and estimation error of the

results, and although these errors and uncertainties can be made arbitrarily small by

increasing the sample complexity, they are an intrinsic aspect of the algorithm and can

never be made to vanish completely [74, 17].

The result of a randomized algorithm is a random variable whose quality is

described with a probability statement. Explicit bounds on the required number of

samples to achieve a given accuracy, level and confidence have been developed us-

ing concentration inequalities which provide probability bounds on the deviation of a

random variable from its expected value [74, 1].

The main advantage of this approach is a quantitative understanding of the

uncertainty of the result and the accuracy with respect to the true optimum to enable

an informed decision regarding the sufficiency of the solution. The desired accuracy

and confidence parameters for the optimal solution are tailored for the specific problem

requirements, allowing for a balance between computational limitations and desire for

solution quality.

31

Page 48: The Optimal Design of Cable-Driven Robots

In this chapter, a methodology is presented for optimizing a cable-driven robot

design using a randomized algorithm, which solves for the optimal design solution

within a specified accuracy, level, and confidence. The chapter is organized as follows:

(i) the randomized algorithm optimization methodology is presented in general; (ii) the

methodology is applied to an example cable-driven robot leg with design options for

various cable routings; and (iii) the optimization results are presented and the robot

performance is discussed.

3.2 Optimization Methodology

The randomized algorithm optimization methodology for cable-driven robots is

presented in this section.

3.2.1 General Problem Definition

Consider a generalized robot whose physical construction is described by a set

of both fixed and variable parameters. For any particular robot design in this family of

possible robot configurations, the variable parameters are fully described by the vector

x, chosen from the set of all possible parameter vectors, X. Let R(x) represent the

complete model of the robot, including equations of motion and all other aspects of

the robot performance for the particular robot design.

Let the desired behavior of the robot be described by B(q), where q is a vector of

all the uncertain elements in the desired behavior. In the case of a robot manipulator,

q might be a pose within the desired workspace, Wd, with B(q) relating a pose with

a set of desired robot joint torques. For parallel robots, q might be an end-effector

position and orientation within the desired workspace, with B(q) relating the robot

pose with a corresponding platform wrench describing desired end effector forces and

torques.

Consider an optimization analysis with the goal of finding a particular robot con-

figuration, x0, such that the robot {R(x0),x0 ∈ X} performs well for almost all desired

behaviors in the set {B(q),q ∈ Wd}. To this end, an objective function, ψ [R(x), B(q)],

32

Page 49: The Optimal Design of Cable-Driven Robots

is defined to quantify the performance of a robot R(x) with behavior B(q). As an exam-

ple, a basic objective function for designing a cable-driven robot might simply consider

whether the poses in the behavior are within the Wrench Closure Workspace of the

robot as shown in Eqn. 3.1. Additionally, the objective function might also provide a

ranking based on the cable tensions required by the robot to perform the behavior.

ψ [R(x), B(q)] =

⎧⎪⎨⎪⎩1 if B(q) �⊂ WCW of R(x),

0 if B(q) ⊂ WCW of R(x),

(3.1)

Equation 3.1 evaluates robot R(x) with particular configuration, x and particu-

lar behavior B(q). However, for problems seeking robust performance of a single robot

design across a range of behaviors, the objective function should reflect the performance

of the particular robot R(x) across a range of likely behaviors.

Define a probability distribution, Pq, which characterizes the likelihood of a par-

ticular behavior B(q) within the set of all possible behaviors {B(q),q ∈ Wd}. A new

objective function can then be defined which evaluates the expected value of the per-

formance of the robot R(x) for behaviors distributed according to the Pq distribution,

as given in Eqn. 3.2.

f(x) = EPq {ψ [R(x), B(q)]} (3.2)

In practice, evaluating the expected value can be difficult, but it can be ap-

proximated using the empirical mean as shown in Eqn. 3.3 using a multisample of m

independent, identically distributed samples [q1, ...,qm]T ∈ Wd chosen according to Pq

[74].

f(x) =1

m

m∑i=1

ψ [R(x), B(qi)] , x ∈ X (3.3)

It is often difficult to evaluate every possible robot configuration exhaustively.

As the number of variable design elements in a robot increases, the dimension of the

parameter space grows and the number of individual configuration possibilities quickly

33

Page 50: The Optimal Design of Cable-Driven Robots

increases even with relatively course sample density. Define a probability distribution,

Px, which characterizes the likelihood of a particular robot R(x) within the set of all

possible robots {R(x),x ∈ X}. In practice, depending on the specifics of the design

problem, Px may be uniform if any configuration is equally likely to be the optimum.

Select n independent, identically distributed samples [x1, ...,xn]T ∈ X chosen according

to Px.

The theory of randomized algorithms uses the sizes of the samples n and m to

bound the uncertainties in the result using three parameters. An accuracy parameter,

ε, is used to bound the proximity of the solution performance to the actual optimum

performance. The level parameter, α, is based a measure of the number of samples

taken from the design space, and the sufficiency of those samples to represent the entire

design space. The confidence parameter, δ, indicates the likelihood that this algorithm

will simply fail. Unfortunately, the nature of stochastic algorithms is such that there

is always a chance that the algorithms will not work.

The randomized algorithm relating ε, α, δ to the sample complexities n and m

used to find the design solution is contained in the following section.

3.2.2 Algorithm

Chose accuracy, level, and confidence parameters ε, α, δ ∈ (0, 1), respectively.

Then the following algorithm from [74] provides explicit sample complexity require-

ments for n and m to bound the uncertainty and error of the estimate to the prescribed

parameter levels:

Generate multisamples [q1, ...,qm]T ∈ Wd and [x1, ...,xn]

T ∈ X according to Pq

and Px, respectively, with integers n and m chosen according to:

n ≥ ln 2/δ

ln 1/(1− α)and m ≥ 1

2ε2ln

4n

δ(3.4)

34

Page 51: The Optimal Design of Cable-Driven Robots

And define:

f(xj) =1

m

m∑i=1

ψ [R(xj), B(qi)] , j = 1, ..., n (3.5)

f0 = min1≤j≤n

f(xj) (3.6)

Then it can be said with confidence 1−δ that f0 is a probably approximate near minimum

of the objective function f(x) to accuracy ε and level α.

3.3 3DoF Robot Leg Illustration

A cable-driven robot leg is used to illustrate the application of the optimization

methodology to a design problem. The robot leg is a 3-DoF design with two links: a

thigh link and a shank link. The thigh link is attached to the base by a universal joint

(hip joint), and the shank link is attached to the thigh link by a revolute joint (knee

joint). The joint angles of the robot leg, [q1, q2, q3] are defined with q1 in the direction of

hip adduction, q2 in the direction of hip flexion, and q3 in the knee extension direction,

as shown in Fig. 3.1b.

Four cables are used to actuate the robot, and are attached to the robot using

circular and semi-circular cuffs. All cables are routed through the waist cuff, two cables

are attached to the thigh cuff, and two cables are routed through the thigh cuff and

attached to the shank cuff. The waist cuff is fixed to the base frame, while the thigh

cuff and shank cuff are mounted to the thigh and shank links of the leg, respectively.

The radius and location of the waist, thigh and shank cuffs, as well as the overall

dimensions of the robot are shown in Fig. 3.1a.

The robot leg can be reconfigured to evaluate various cable arrangements for

leg exoskeletons. For this research, the angle of the cable attachment points along each

cuff is variable, with iθcm describing the angle of cable m on the cuff of frame i as

shown in Fig. 3.1c. There are a total of 10 variable cable attachment angles in the

design. The thigh and shank cuff cable attachment angles are variable from 0◦ to 180o,

while the waist cuff cable attachment angles are variable from 0◦ to 360o.

35

Page 52: The Optimal Design of Cable-Driven Robots

442mm

315mm

230mm

470mm

165mm

270mm

60mm

360mm

Thigh

Shank

Waist Cuff

ShankCuff

ThighCuff

Hip Joint

KneeJoint

(a) Diagram of the 3-DoFrobot leg with dimensions andlocations of the waist, thigh,and shank cuffs used to routethe cables.

2θcm

−q3

1θcm

q2

0θcm

q1

q1

(b) Joint angles and variablecable attachment angles forthe robot leg. Hip adductionand flexion are given by +q1and +q2, respectively, withknee extension given by +q3.At pose (q1, q2, q3) = (0, 0, 0)the leg is fully extended andvertical.

� �

0◦

0◦

Cable 1

0θc1

1θc1

Cable 2

θc2

1θc2

Cable 3

0θc3

1θc3

2θc3

Cable 4

0θc4

1θc4

2θc4

0◦

(c) Illustration of cable rout-ing with cables 1,2 attachedbetween the base frame andthe proximal link and cables3,4 routed between the baseframe and distal link via theproximal link. The attach-ment angle of cable m onbody i is given by iθcm.

Figure 3.1: Diagrams of the 3-DoF cable-driven robot leg used to illustrate theoptimization methodology

The form of the equations of motion for this 3-link robot are given by Eqn. 2.1,

where: q = [q1, q2, q3]T are the joint angles, and u = [τ1, τ2, τ2]

T are the joint torques.

The four cables map to the three joint torques through Eqn. 2.4, whereT = [T1, T2, T3, T4]T ,

and A(q) is a 3 x 4 matrix of the form shown in Eqn. 3.7.

A(q) =

⎡⎢⎢⎢⎣

a11 a12 a13 a14

a21 a22 a23 a24

0 0 a33 a34

⎤⎥⎥⎥⎦ (3.7)

3.3.1 Optimization

The randomized algorithm from Section 3.2.2 is now applied to the optimization

of the cable-driven robot leg. The optimization problem is formulated to match Eqn. 3.5

36

Page 53: The Optimal Design of Cable-Driven Robots

Table 3.1: Desired Uncertainty Parameters and Corresponding Sample ComplexityRequirements

Uncertainty ParametersSample ComplexityRequirements

Case

1 δ = 0.01 n ≥ 1058α = 0.005 m ≥ 648ε = 0.1

Case

2 δ = 5.0 x10−5 n ≥ 2.1 x106

α = 5.0 x10−6 m ≥ 5.5 x103

ε = 0.05

and Eqn. 3.6, with sample complexities chosen to satisfy Eqn. 3.4 in accordance to

selected uncertainty parameters.

Two separate cases are investigated in this analysis. For the first case, the

the accuracy, level and confidence parameters were chosen to be 0.1, 0.005 and 0.01,

respectively, as shown in Tab. 3.1. Following the sample complexity guidelines, the

values n and m are chosen to be 1100 and 650, respectively, to ensure the result is

within these chosen error bounds and confidence parameters. These chosen parameter

values for Case 1 result in a 99% certainty that our result is within 90% of the true

optimal solution performance to level 0.005.

For the second, higher fidelity case, the accuracy, level and confidence parame-

ters were chosen to be 0.05, 5.0 x10−6 and 5.0 x10−5, respectively, as shown in Tab. 3.1.

To ensure the result is within these chosen error bounds, the sample complexity values

n and m are chosen to be 2.1 x106 and 5.5 x103, respectively. The smaller uncertainty

values chosen in Case 2 have driven a significant increase in the sample complexity

requirements. This choice will require additional computation time, but will result in

a better estimate of the optimal configuration in the end.

Of the three uncertainty values, the underlying meaning of the α parameter

can be the most difficult to understand. The choice of α drives the required sample

number of robot configurations to be checked from the entire design space. For this

example problem with a 10-D design space, Case 1 only requires about 1000 points

37

Page 54: The Optimal Design of Cable-Driven Robots

Table 3.2: Parametrization of the Cable-Driven Robot Leg

Base Thigh Shank

Cable

Angles Cable 1 0θc1

1θc1 -Cable 2 0θc2

1θc2 -Cable 3 0θc3

1θc32θc3

Cable 4 0θc41θc4

2θc3

to be sampled, or the equivalent of about 2 sampled points along each dimension

(210 = 1024). In contrast, the α chosen for Case 2 is the equivalent of about 9 sampled

points taken along each dimension, which requires a significant increase in computation,

but provides a more complete survey of the design space.

3.3.1.1 Robot Parameterization

For this analysis, the cable cuff radii are held fixed at 360mm, 270mm, and

230mm, respectively, while the cable cuff heights are held fixed at 60mm, 165mm,

and 315mm, respectively, as shown in Fig. 3.1a. The link lengths of the robot leg are

470mm for the thigh link and 442mm for the shank link, and the total mass of each

link-cuff assembly is 5.31kg for the thigh and 3.86 kg for the shank.

The variability of the cable configuration of the robot in this analysis is fully

characterized by the set of 10 cable attachment angles listed in Tab. 3.2 using the

nomenclature from Fig. 3.1c. The cable attachment angles are given by iθcm for the

angle of cable m on the cuff of body i as shown in Fig. 3.1c. Thus x is a vector of the

10 cable attachment angle values and R(x) fully describes the robot configuration.

For each of the two analysis problems, the range for each of the possible pa-

rameters in the set is defined in Tab. 3.3. The probability distributions (Px) on these

parameters are taken to be uniform in this analysis, so that any particular configuration

choice is equally likely.

38

Page 55: The Optimal Design of Cable-Driven Robots

Table 3.3: Cable Parameter Ranges

Parameter Value Units

0θcm 0:360 deg1θcm 0:180 deg2θcm 0:180 deg

0 0.5 1 1.5 2

−60

−40

−20

0

20

Time [s]

Angle

[deg]

q1 - hip add.

q2 - hip flex.

q3 - knee ext. −200

20 050

−50

0

q1 - hip add. q2 - hip flex.

q3-knee

ext.

Figure 3.2: Joint angle trajectory, qd(t), for the desired walking gait trajectory forthe robot leg

3.3.1.2 Desired Robot Task

The basis for the desired task of the robot leg in this research is a walking

gait motion described by the joint-angle trajectory, qd(t), shown in Fig. 3.2. A PD

controller implemented on a model of the robot leg requires the joint torques, ud(t),

shown in Fig. 3.3, to execute the desired joint-angle trajectory in a 2 second time

period. The goal of this analysis is to identify the set of parameters, x, for the robot

leg which minimizes the cable tensions required to perform a family of behaviors based

on this desired task.

A behavior is defined for the robot, based on this desired motion, by pairing the

synchronized joint angle trajectory from Fig. 3.2 with the joint torque trajectory from

Fig. 3.3. For any time, ti ∈ [0, 2], there is a behavior element B(ti) which contains a

set of three joint angles and joint torques from the desired trajectories, as shown in

39

Page 56: The Optimal Design of Cable-Driven Robots

0 0.5 1 1.5 2−10

0

10

Time [s]

Torque[N

m]

τ1 - hip add.

τ2 - hip flex.

τ3 - knee ext.

−10

0−10

010

−10

0

10

τ1 - hip add. τ2 - hip flex.

τ3-knee

ext.

Figure 3.3: Joint Torque trajectories, ud(t), for the desired walking gait trajectoryfor the robot leg

Eqn. 3.8.

B(ti) =

⎡⎣qd(ti)

ud(ti)

⎤⎦ =

⎡⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎣

qd1(ti)

qd2(ti)

qd3(ti)

τd1(ti)

τd2(ti)

τd3(ti)

⎤⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎦

(3.8)

A normal probability distribution is applied to each joint angle in qd(t) to gen-

erate a modified set of joint angle coordinates, q′d(ti), from the qd(ti) coordinates at

any time ti ∈ [0, 2], as shown in Eqn. 3.9

q′d(ti) =

⎡⎢⎢⎢⎣

q′d1(ti)

q′d2(ti)

q′d3(ti)

⎤⎥⎥⎥⎦ =

⎡⎢⎢⎢⎣

N (qd1(ti), σ2q )

N (qd2(ti), σ2q )

N (qd3(ti), σ2q )

⎤⎥⎥⎥⎦ for ti ∈ [0, 2] (3.9)

where N (μ, σ2) is a normal distribution with standard deviation σ, centered at μ, and

σq is chosen to be 7.5◦, which leads to 95% (2σ) of the values being within ± 15◦ of

the walking gait joint angle values.

40

Page 57: The Optimal Design of Cable-Driven Robots

Similarly, a normal probability distribution is applied to each joint torque in

ud(t) to generate a modified set of joint torques, u′d(ti), from the ud(ti) values at any

time ti ∈ [0, 2], as shown in Eqn. 3.10

u′d(ti) =

⎡⎢⎢⎢⎣

τ ′d1(ti)

τ ′d2(ti)

τ ′d3(ti)

⎤⎥⎥⎥⎦ =

⎡⎢⎢⎢⎣

N (τd1(ti), σ2τ )

N (τd2(ti), σ2τ )

N (τd3(ti), σ2τ )

⎤⎥⎥⎥⎦ for ti ∈ [0, 2] (3.10)

where στ is chosen to be 2.5Nm, which leads to 95% (2σ) of the values being within ±5Nm of the walking gait joint angle values.

A modified behavior is defined by combining the modified joint angles, qd(t),

and modified joint torques, ud(t), into B′(ti), as shown in Eqn. 3.11.

B′(ti) =

⎡⎣q

′d(ti)

u′d(ti)

⎤⎦ (3.11)

and a set of behaviors, B, can be created using Eqn. 3.11 with a series of individual

time values taken from a uniform distribution, as shown in Eqn. 3.12

B = {B′(t1), . . . ,B′(ti), . . . ,B′(tm)} for ti = U(0, 2) (3.12)

Following the sample complexity requirements detailed in Tab. 3.1, a set of

behaviors, B1, is created for the Case 1 analysis using m = 650 data points, and a

set of behaviors, B2, is created for the Case 2 analysis using m = 5500 data points.

These datasets are illustrated in Fig. 3.4 and Fig. 3.5. This approach will result in an

optimal cable configuration that performs well at the desired task, but is also robust

to variations in the desired trajectory and specific torque requirements.

3.3.1.3 Objective Function Development

The application of many optimization algorithms require an objective function

to evaluate the performance of each choice of parameters. The objective function

must be defined in such a way as to encompass all aspects of desired performance and

41

Page 58: The Optimal Design of Cable-Driven Robots

−200

20 050

−50

0

q1 - hip add. q2 - hip flex.

q3-knee

ext.

Trajectoryq in B1

−10

0−10

010

−10

0

10

τ1 - hip add. τ2 - hip flex.

τ3-knee

ext.

Trajectoryu in B1

Figure 3.4: Poses and torques in the behavior set for the Case 1 analysis, B1.

−200

20 050

−50

0

q1 - hip add. q2 - hip flex.

q3-knee

ext.

Trajectoryq in B2

−10

0−10

010

−10

0

10

τ1 - hip add. τ2 - hip flex.

τ3-knee

ext.

Trajectoryu in B2

Figure 3.5: Poses and torques in the behavior set for the Case 2 analysis, B2.

prioritize the set of performance parameters according to their relative importance to

the outcome. The objective function, ψ, is tailored to each specific design problem and

is defined to capture all design goals relevant to the performance ranking and combine

them according to their relative importance.

The optimization goal for this cable-driven robot is to identify the cable con-

figuration which enables the robot to perform the desired motion while minimizing

the overall required cable tensions. To achieve this goal, the objective function should

42

Page 59: The Optimal Design of Cable-Driven Robots

(i) ensure wrench closure for the robot throughout the desired workspace, and (ii) min-

imize the cable tensions required by the desired motion. The objective function used

here in this analysis follows the basic methodology presented in Chapter 2, and com-

bines a workspace performance factor, Pw, and a cable tension performance term, Pt,

where Pw is a measure of the workspace performance of the robot, and the Pt is a

measure of cable tensions required to generate the torques at the poses described in

set B.In general, there will be poses in B which are outside the robot WCW, where

no positive cable tension solution exists, depending on the arrangement of cables.

Additionally, there will be poses which cause the cables and/or components of the

robot to intersect, which make up the constrained workspace of the robot, Wc. The Pw

factor for this analysis is the percentage of the points in S which are within the robot

WCW and are not within the constrained workspace, Wc, as shown in Eqn. 3.13.

Pw =1

m

m∑i=1

ai (3.13)

where:

ai =

⎧⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎩

0 for qi ∈ Wc

0 for qi �∈ WCW

1 for qi ∈ WCW , and qi �∈ Wc

for all poses qi in set B (3.14)

The minimum set of cable tensions required to generate the desired torques is calcu-

lated using the linear programming approach given in Eqn. 2.12. This calculation is

performed for each pose, q, and set of torques, u, in the sample set, B.For the ith point in B, the tension required by the kth cable to generate the

torque values ui at pose qi is given as T k(qi,ui)

. The average required tension of the kth

cable across all points in B is given by T kavg, as shown in Eqn. 3.15. The maximum of

the four average cable tensions is given by Tmaxavg as shown in Eqn. 3.16.

43

Page 60: The Optimal Design of Cable-Driven Robots

T kavg =

1

m

m∑i=1

T k(qi,ui)

(3.15)

Tmaxavg = max(T k

avg) for Cable k = 1, 2, 3, 4 (3.16)

In this analysis, the cable tension performance factor, Pt, is defined to be the

maximum of the average cable tensions, Tmaxavg .

Pt = Tmaxavg (3.17)

The objective function for this analysis, ψ(p) ∈ [0, 1], is designed to be min-

imized for a cable configuration described by parameter vector, x, which results in

lower values of Tmaxavg and which also maximizes the number of points q in B for which

a positive cable tension solution exits, and are not violating constraints. The objective

function used in this analysis is given in Eqn. 3.18.

ψ(x) =

⎧⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎩

1 for Pw < 1

1 for Pt ≥ 100

1100

Pt for Pt < 100, Pw = 1

(3.18)

3.3.2 Optimized Results

Recall that f(x) is the approximation of the expected value of the objective

function, ψ(x), which is determined by calculating the empirical mean of the perfor-

mance of each point in the set of m points in B. This calculation is repeated for each of

n robot configurations to determine the probably approximate near minimum of f(x)

to within the given error and confidence values given by the choice of n and m.

For the case 1 analysis, the f(xj) is calculated for each of j = [1, . . . , 1100] ran-

domly selected cable configurations following Eqn. 3.5. Using Eqn. 3.6, f0 was found

to be 0.3727 for case 1. Following the algorithm presented earlier in this paper, with

confidence of 0.99 this is a probably approximate near minimum to accuracy 0.1 and

44

Page 61: The Optimal Design of Cable-Driven Robots

level 0.05. The configuration corresponding to this minimum is presented in Tab. 3.4

and the robot with cables arranged according to this case 1 optimal configuration is

illustrated in Fig. 3.6. The robot with the optimal configuration was simulated per-

forming the desired task from Fig. 3.2 and the cable tensions required for the motion are

presented in Fig. 3.7. The robot successfully completes the desired task in simulation,

with maximum cable tensions of about 50 N.

For the case 2 analysis, the f(xj) is calculated for each of j = [1, . . . , 2.1 x106]

randomly selected cable configurations following Eqn. 3.5. Using Eqn. 3.6, f0 was found

to be 0.2893 for case 2. Following the algorithm presented earlier in this paper, with

confidence of 1− 5.0 x10−5 this is a probably approximate near minimum to accuracy

0.05 and level 5.0 x10−6. The configuration corresponding to this minimum is pre-

sented in Tab. 3.5 and the robot with cables arranged according to this case 2 optimal

configuration is illustrated in Fig. 3.8. The robot with the optimal configuration was

simulated performing the desired task from Fig. 3.2 and the cable tensions required

for the motion are presented in Fig. 3.9. The robot successfully completes the desired

task in simulation, with maximum cable tensions of about 40 N.

As expected, while both the case 1 and the case 2 analyses found configurations

capable of performing the desired task, the solution for the case 2 analysis closer to the

true optimal solution, and is able to perform the same desired task with lower cable

tensions. However, this increase in performance came at the cost of a significantly

higher computational effort and analysis time. Depending on the specific application,

this extra effort may or may not be worthwhile. The advantage of this approach is the

flexibility to determine the confidence and error levels which are “close enough” to the

true optimum for the application in question, balancing analytical time to performance

improvement.

45

Page 62: The Optimal Design of Cable-Driven Robots

Table 3.4: Configuration Results for Case 1 Analysis

Base Thigh Shank

Cable

Angles Cable 1 318 143 -

Cable 2 193 129 -Cable 3 58 100 159Cable 4 103 20 16

��

Cable 1

Cable 2

Cable 3

Cable 4

Figure 3.6: Illustration of the case 1 optimal configuration

0 0.5 1 1.5 20

20

40

60

Time [s]

Tension

[N]

T1

T2

T3

T4

Figure 3.7: Cable tensions for the robot performing the walking gait with the case 1design

46

Page 63: The Optimal Design of Cable-Driven Robots

Table 3.5: Configuration Results for Case 2 Analysis

Base Thigh Shank

Cable

Angles Cable 1 82 0 -

Cable 2 315 180 -Cable 3 153 130 134Cable 4 214 33 0

��

Cable 1

Cable 2

Cable 3Cable 4

Figure 3.8: Illustration of the case 2 optimal configuration

0 0.5 1 1.5 20

20

40

60

Time [s]

Tension

[N]

T1

T2

T3

T4

Figure 3.9: Cable tensions for the robot performing the walking gait with the case 2design

47

Page 64: The Optimal Design of Cable-Driven Robots

3.4 Summary

An approach to the optimal design of a cable-driven manipulator has been pre-

sented which makes use of a randomized algorithm to approximate the true optimal

design solution while limiting the computational difficulty of the analysis, at the cost

of an intrinsic probabilistic risk of algorithm failure. Through careful formulation of

the design problem to align with a generalized form, explicit bounds on the estima-

tion errors of the optimal solution are available, along with explicitly defined sample

complexity requirements for the analysis. This approach provides a quantitative un-

derstanding of the uncertainty of the result and the accuracy with respect to the true

optimum to enable an informed decision regarding the sufficiency of the solution. The

desired accuracy and confidence parameters for the optimal solution can be tailored

for the requirements of the specific design problem, allowing for balance between com-

putational limitations and desire for solution quality.

The randomized algorithm approach was applied to the design of the manipula-

tor cable routing in both a low-fidelity and high-fidelity case. The high-fidelity analysis

resulted in a cable routing which was shown to require lower overall tensions than the

low-fidelity solution to perform the same desired task, but at a significantly higher

computational cost. This example illustrates the flexibility of this approach to tailor

the confidence and error levels of the result to limit the analytical effort to reflect the

performance requirements of the design.

48

Page 65: The Optimal Design of Cable-Driven Robots

Chapter 4

OPTIMAL DESIGN USING PARTICLE SWARM OPTIMIZATION

4.1 Introduction

The previous chapter presented an optimization methodology which has advan-

tages in that it offers an understanding of the uncertainty and statistical quality of

a solution, but uses a random search of the parameter space to identify near-optimal

designs. This brute-force strategy can be overwhelmed when seeking to precisely iden-

tify the optimal solution to problems with large design spaces, and an optimization

approach based on a guided search is better suited to this category of design problem.

Gradient-based optimization methods are are very effective at finding local op-

tima, but struggle to find the global optima if numerous local optima exist, and can

be difficult to implement for non-differentiable objective functions. The field of search-

based stochastic optimization contains a variety of methods to help solve inherently

complex design problems which have been shown to be computationally efficient, re-

liable methods for finding globally optimal solutions for a wide range of engineering

problems. Popular options include the family of Genetic Algorithms [26], and Simu-

lated Annealing [43], but the optimization methodology presented in this chapter uses

a global optimization algorithm called Particle Swarm Optimization (PSO) [42].

The PSO algorithm models the social sharing of information between individuals

in a group to mimic flocking or schooling behavior in order to identify a particular set

of parameters which optimize an objective function [42]. The algorithm is applicable to

non-linear design spaces with discontinuities and handles a wide variety of constraints

[58, 32] and has become popular for a broad range of engineering design problems due

to its simplicity, ease of implementation, and high performance.

49

Page 66: The Optimal Design of Cable-Driven Robots

This chapter combines the previously described robot performance evaluation

methodology with the PSO algorithm to develop a methodology to optimize the cable

architecture of a cable-driven robot. The methodology is described in general, and is

then illustrated using an example robot design problem. An optimal cable routing is

identified for the design problem, which provides the necessary controllable workspace

to perform the desired task, and enables the robot to perform that task with minimal

cable tensions. A robot leg is constructed according to this routing, and used to

validate the theoretical model and to demonstrate the effectiveness of the resulting

cable architecture.

4.2 Optimization Methodology

The Particle Swarm Optimization algorithm consists of a set of particles which

each have a position within the parameter space and which each represent a candidate

solution to the problem being studied. Each particle has a velocity which is used to

advance the particle position through the parameter space using a series of discrete

timesteps. The velocity vector for each particle is adjusted at each timestep according

to the individual best performance of that particular particle, as well as the best

performance of the swarm as a whole. The performance of each new candidate solution

is quantified using an objective function, and the process is repeated until a convergence

criteria is met.

Define a vector, x, which is comprised of a particular set of design parameters

within the set of all possible parameter choices contained in the entire design space. In

the PSO algorithm, this vector x is considered to be the position of a particle within the

parameter space. The position of a particular particle i at time t is given by xit, and the

velocity of particle i at time t is given by vit. An objective function, ψ(x), determines

the performance of each particle’s position. The global historical best position of any

particle in the swarm up to time t is given by Pgt , while the historical best position for

each individual particle i up to time t is given by Pit.

50

Page 67: The Optimal Design of Cable-Driven Robots

The velocity of each particle is updated at each timestep according to Eqn. 4.1.

vit+1 = wvi

t + C1nr1

(Pi

t − xit

)+ C2nr2

(Pg

t − xit

)(4.1)

where the nr1 , nr1 terms are random numbers drawn from a uniform distribution from

0 to 1, and the w, C1, C2 terms are the inertia, self-confidence, and swarm influence

weighting factors, respectively, which are used to adjust the behavior of the algorithm.

These weighting factors are bounded according to the rules in Eqn. 4.2 and 4.3 for

algorithm convergence [58].

0 < (C1 + C2) <4 (4.2)

(C1 + C2)

2− 1 < w <1 (4.3)

The inertia term, w, determines how much of the velocity from the previous

timestep is carried over to the next timestep. Increased inertia parameter values cause

the particles to behave more independently and explore the design space more thor-

oughly, while lower values cause faster swarm convergence. One popular strategy to

selecting the inertia term is to use a dynamic factor that starts at a high value, but is

gradually decremented during the later stages of the algorithm. This approach brings

the advantages of timely convergence while still forcing the particles to fully explore

the space.

The self-confidence parameter, C1, multiplied by a random number nr1 ∈ [0, 1],

determines the magnitude of the influence of the historical best performance of each in-

dividual particle. The swarm-influence parameter, C2, multiplied by a random number

nr2 ∈ [0, 1], determines the magnitude of the influence of the global historical best per-

formance of all particles within the swarm. A higher swarm-influence parameter causes

the particles to converge quickly to the best swarm position, but limits the individual

particle exploration. Higher self-confidence parameter causes each particle to fully ex-

plore any local optimal regions each particle encounters, but may hamper convergence.

In practice, choosing the self-confidence parameter to be equal to or slightly greater

51

Page 68: The Optimal Design of Cable-Driven Robots

wvit

C1nr 1

(Pi t−

xi t)

C2n

r2 (P g

t − x it )

xit

Pit

Pgt

xit+1

vit+1

vit

Figure 4.1: Illustration of the PSO velocity calculation

than the swarm-influence parameter (in the interval of 1.5 to 2.5), while following the

convergence criteria in Eqn. 4.2 and 4.3 leads to the best behavior of the PSO algo-

rithm [58]. Figure 4.1 illustrates the velocity calculation of the PSO algorithm. Note

how the weighting factors w, C1 and C2 affect the magnitude of the various component

vectors which are combined into the resultant vit+1.

After the t + 1 velocity has been calculated, the position of each particle is

updated according to Eqn. 4.4.

xit+1 = xi

t + vit+1 (4.4)

The new position of the particle is checked to ensure it is still within the design space

and is not in violation of any constraints. If the position is outside the set of parameter

possibilities, several methods exist to correct the situation. A penalty can be imposed

on the performance of the particle to drive it back into the design space, or the particle

can simply be placed on the design space boundary with the velocity vector redirected

toward the feasible region.

Figure 4.2 provides an overview of the PSO algorithm. Once the problem is

defined and the parameter space determined, the initial positions of the swarm particles

are determined either by assigning particles to a grid or pattern spanning the design

52

Page 69: The Optimal Design of Cable-Driven Robots

Define: Objective function,variables, parameters

Generate initialpositions and velocities

Evaluate performanceof each particle basedon current position

Update particle velocitiesusing individual and swarm

historical performance

Calculate the new po-sition for each particle

Convergencecheck

Stop

yes

no

Figure 4.2: Particle Swarm Optimization algorithm flowchart

space, or by random placement of the particles. The initial velocities of the particles are

usually selected randomly in proportion to the range of each parameter in the design

space. The performance of each particle’s position is evaluated using the objective

function, and the values of the individual best positions and the global swarm best

position are updated. The particle velocities are updated, and the particle positions

for the next timestep are calculated. This process repeats until a stopping criteria is

met. In the simplest case this criteria is a set number of timesteps, but could also be

a test which compares the position of the particles over time and halts the algorithm

if the positions are unchanging.

53

Page 70: The Optimal Design of Cable-Driven Robots

4.3 Methodology Illustration using 3DoF Robot Leg

The 3-DoF cable-driven robot leg is again used to illustrate the application of

the methodology to a design problem. As previously described, the robot leg has a

thigh link and a shank link, with the thigh link attached to the base by a universal

joint (hip joint), and the shank link attached to the thigh link by a revolute joint (knee

joint). The joint angles of the robot leg, [q1, q2, q3] are defined with q1 in the direction of

hip adduction, q2 in the direction of hip flexion, and q3 in the knee extension direction,

as shown in Fig. 4.3b.

The four cables used to actuate the robot are attached to the robot using cuffs.

All cables are routed through the waist cuff, two cables are attached to the thigh cuff,

and two cables are routed through the thigh cuff and attached to the shank cuff. The

waist cuff is fixed to the base frame, while the thigh cuff and shank cuff are mounted

to the thigh and shank links of the leg, respectively. The radius and location of the

waist, thigh and shank cuffs, as well as the overall dimensions of the robot are shown

in Fig. 4.3a.

As before, the cable architecture of the robot leg can be reconfigured to evaluate

various cable arrangements, with the angle of the cable attachment points given by iθcm

for the angle of cable m on the cuff of frame i as shown in Fig. 4.3c. There are again

a total of 10 variable cable attachment angles in the design, with the thigh and shank

cuff cable attachment angles are variable from 0◦ to 180o, while the waist cuff cable

attachment angles are variable from 0◦ to 360o.

The form of the equations of motion for this 2-link robot are given by Eqn. 2.1,

where: q = [q1, q2, q3]T are the joint angles, and u = [τ1, τ2, τ2]

T are the joint torques.

The four cables map to the three joint torques through Eqn. 2.4, whereT = [T1, T2, T3, T4]T ,

and A(q) is a 3 x 4.

4.3.1 Desired Robot Task

As with the previous example, the desired task of the robot leg in this example

is based on the walking-gait motion shown in Fig. 4.4. This trajectory is derived from

54

Page 71: The Optimal Design of Cable-Driven Robots

442mm

315mm

230mm

470mm

165mm

270mm

60mm

360mm

Thigh

Shank

Waist Cuff

ShankCuff

ThighCuff

Hip Joint

KneeJoint

(a) Diagram of the 3-DoFrobot leg with dimensions andlocations of the waist, thigh,and shank cuffs used to routethe cables.

2θcm

−q3

1θcm

q2

0θcm

q1

q1

(b) Joint angles and variablecable attachment angles forthe robot leg. Hip adductionand flexion are given by +q1and +q2, respectively, withknee extension given by +q3.At pose (q1, q2, q3) = (0, 0, 0)the leg is fully extended andvertical.

� �

0◦

0◦

Cable 1

0θc1

1θc1

Cable 2

θc2

1θc2

Cable 3

0θc3

1θc3

2θc3

Cable 4

0θc4

1θc4

2θc4

0◦

(c) Illustration of cable rout-ing with cables 1,2 attachedbetween the base frame andthe proximal link and cables3,4 routed between the baseframe and distal link via theproximal link. The attach-ment angle of cable m onbody i is given by iθcm.

Figure 4.3: Diagram of the cable-driven robot leg used to illustrate the applicationof the methodology

the average gait pattern of a set of healthy subjects, with the maximum and minimum

boundaries of the data also shown. For this analysis, the desired workspace for the

robot leg, Wd, is defined from the upper and lower boundary of the joint angle data at

each timestep along the trajectory, as shown in Fig. 4.5

4.3.2 Objective Function Development

As with the example in the previous chapter, the overall optimization goal is

to identify the cable configuration which is able to perform a desired motion with

minimal cable tensions. To accomplish this, the objective function should (i) ensure

wrench closure for the robot throughout the desired workspace, and (ii) minimize the

cable tensions required by the desired motion.

55

Page 72: The Optimal Design of Cable-Driven Robots

0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2−80

−60

−40

−20

0

20

40

Time [s]

JointAngles[deg]

Avg Limitq1: Hip Add.q2: Hip Flex.q3: Knee Ext.

Figure 4.4: The walking gait joint angle trajectory.

-200

30

0

-60

q2

q3

q1-5

5

Avg Traj. Workspace

Figure 4.5: The desired workspace for the robot, Wd, based on the walking gaittrajectory.

In this analysis, the general form of the objective function, ψ, is defined as a lin-

ear combination of a workspace performance term, Pw, and a cable tension performance

term, Pt, as shown in Eqn. 4.5:

ψ = CwPw + CtPt (4.5)

where the Pw and Pt terms are performance factors for the workspace and cable ten-

sions, respectively, and the Cw and Ct are weighting constants for the workspace and

tension performance factors to adjust the relative influence of each term.

56

Page 73: The Optimal Design of Cable-Driven Robots

As presented in Section 2.3.2, the workspace performance factor, Pw, is defined

from the amount of the desired workspace, Wd, where the robot does not have wrench

closure and is not violating collision constraints. In this analysis, the Pw term is

normalized by the size of Wd so Pw ∈ [0, 1]. Additionally, the percentage is subtracted

from 1 so smaller values of Pw represent better performing configurations, as shown in

Eqn. 4.6.

Pw = 1− Wd ∩WCW \Wc

Wd

(4.6)

where the WCW is the wrench closure workspace of the robot, Wd is the desired

workspace, and Wc is the constrained workspace of the robot. Once the desired

workspace is completely within the wrench closure workspace with no constraint vi-

olations, the Pw term becomes 0 and only the tension performance term remains in

Eqn. 4.5.

As presented in Section 2.4.1, the tension performance factor, Pt, selects for

robot designs which are able to perform the desired trajectory with the lowest average

cable tension. The tension required at time t by the ith cable to generate the desired

motion is given as T i(t). The average required tension of the ith cable across the two-

second desired trajectory is given by T iavg, as shown in Eqn. 4.7. The maximum of the

four average cable tensions is given by Tmaxavg as shown in Eqn. 4.8.

T iavg = mean(T i(t)), for Cable i = 1, 2, 3, 4 (4.7)

Tmaxavg = max(T i

avg), for Cable i = 1, 2, 3, 4 (4.8)

For this analysis, the tension performance factor, Pt, is defined to be the fourth

power of the natural log of the Tmaxavg value as shown in Eqn. 4.9. The Pt could also be

defined to use other factors, or to use the Tmaxavg value directly, but a log scale in this

term provides increased resolution at lower tension values while partially moderating

the effect of large tension values on the performance factor.

Pt = ln4(Tmaxavg ), for Tmax

avg ≥ 0 (4.9)

57

Page 74: The Optimal Design of Cable-Driven Robots

0 2,000 4,000 6,000 8,000 10,0000

0.5

1

1.5

2

Tmaxavg (N)

ψ

Pw = 0.10

Pw = 0.05

Pw = 0.00

Figure 4.6: Value of the objective function, ψ, vs average cable tension, Tmaxavg , for

several workspace performance values, Pw

The Cw and Ct weighting constants in the objective function are chosen to

adjust the relative influence of the two performance factors. The value of Cw is chosen

to be 10 to strongly penalize solutions which do not have wrench closure throughout

the desired workspace. The Ct weighting constant is chosen to be 1/ln4(10000) to

scale the tension term to be generally less than 1. The effect of these choices for

the weighting constant values is the workspace term dominates for solutions without

wrench closure throughout the desired workspace and drives the algorithm to only

consider solutions which first satisfy that criteria. Figure 4.6 illustrates the value of

the objective function vs cable tension for several values of Pw. The strong penalty

for less than perfect Pw values serves to drive the algorithm to first find solutions that

are controllable throughout the desired workspace and then seeks to minimize required

tension for the desired task.

4.3.3 PSO Algorithm Implementation

A summary of the implementation of the PSO algorithm is as follows: (1) initial

positions of the swarm particles are determined by random from a uniform distribution

spanning the design space; (2) initial velocities of the particles are selected randomly

from a uniform distribution proportional to the range of each parameter dimension

58

Page 75: The Optimal Design of Cable-Driven Robots

in the design space; (3) the performance of each particle’s position is evaluated using

the objective function, and the values of the individual best positions and the global

swarm best position are updated; (4) The particle velocities are updated, and the

particle positions for the next timestep are calculated.

This process repeats until a stopping criteria is met. This research used the

simple stopping criteria of a maximum number of timesteps, but another choice could

be a test which compares the position of the particles over time and halts the algorithm

if the positions are unchanging.

The PSO weighting factor values in Eqn. 4.1 are chosen in this analysis to force

the algorithm to fully explore the design space as much as possible to ensure the global

optimum is likely to be found, while still keeping with the convergence bounds imposed

by Eqn. 4.2 and 4.3.

The PSO inertia factor, w, is set to 1 at the onset of the analysis, which forces

larger velocity updates and causes the particles to spread out to sample more of the

design space. As the algorithm progresses, if the global best solution, Pgt , does not

change for 10 consecutive timesteps, the weighting factor is multiplied by 0.995, which

gradually reduces the value of w if no improvement is being made. Once the inertia

factor is reduced to 0.5, it is held constant for the remainder of the calculation. This

dynamic modification of the weighting factor facilitates convergence of the swarm once

the design space has been explored.

The values of the self-confidence and swarm-influence parameters, C1 and C2,

are chosen to be 2.0 and 1.0, respectively. These values result in particles that are able

to more fully investigate local optima throughout the design space before eventually

converging on a global solution.

The robot model described in Eqn. 2.1 and Eqn. 2.4 is populated with the

physical measurements and properties of the robot. The 10 variable cable attachment

angles of the robot shown in Fig. 3.1c are used as the basis for a 10-dimensional

parameter space with boundaries of 0 and 360 degrees for the waist cuff angles and 0

and 180 degrees for the thigh and shank cuff angles.

59

Page 76: The Optimal Design of Cable-Driven Robots

Table 4.1: PSO parameters

Parameter Value Description

C1 2.0 Self-confidence parameterC2 1.0 Swarm influence parameterw 1.0-0.5 Inertia factor (variable)

nParticles 1000 Number of swarm particlest max 500 Number of timesteps

Several pre-packaged PSO algorithm options exist in Matlab and other lan-

guages, however the relative simplicity of the PSO algorithm enables customized im-

plementation. In this analysis, a custom PSO function was developed to incorporate the

robot model and configuration variables and was set up to explore the 10-dimensional

parameter space while ranking the performance of each cable configuration according

to the previously described objective function.

4.3.4 Optimization Results

The PSO algorithm was initialized using the parameters shown in Tab. 4.1 and

executed in 100 independent runs. The optimization analysis demonstrated repeated

convergence to a consistent optimal cable configuration which is able to follow the

desired trajectory while requiring low cable tensions.

This optimal configuration is listed as config 1 in Tab. 4.2 and is illustrated

in Fig. 4.7a. For comparison purposes, a second configuration is listed in Tab. 4.2

and is illustrated in Fig. 4.7b. This comparison configuration was developed through

a combination of random search and manual adjustment, and is the previous best

Table 4.2: Robot configurations

Waist Cuff Angles Thigh Cuff Angles Knee Cuff Angles

ψ 0θc10θc2

0θc30θc4

1θc11θc2

1θc31θc4

2θc32θc4

Config 1 0.0127 124 258 308 81 50 164 131 0 142 68Config 2 0.0275 255 105 315 355 165 20 135 0 110 0

60

Page 77: The Optimal Design of Cable-Driven Robots

��

Cable 1Cable 2

Cable 3

Cable 4

(a) config 1

��

Cable 1Cable 2

Cable 3 Cable 4

(b) config 2

Figure 4.7: Illustrations of the cable-driven robot leg configured according to theoptimized configuration (config 1) and the comparison configuration (config 2) listedin Tab. 4.2.

configuration for this robot, requiring the lowest cable tension to achieve the desired

motion.

4.4 Experimental Validation

The cable-driven robot leg was constructed to provide experimental validation

of the optimization analysis results. Pictures of the robot leg configured according to

config 1 are shown in Fig. 4.8 with the cables highlighted for visibility. The cables

are driven by overhead motors equipped with pulleys. Each of the joints on the robot

is instrumented with encoders to measure joint angles and each of the four cables is

equipped with a load cell at the distal anchor point to measure tension. The cable

tensions in this experiment are limited to a maximum of 50N to prevent damage to

the cables, cable routings, and instrumentation, while a minimum tension of 5N is

maintained in all cables to prevent cable slackness during motion.

61

Page 78: The Optimal Design of Cable-Driven Robots

Figure 4.8: Pictures of the cable-driven robot leg used to validate modeling anddemonstrate optimization results. The robot is configured according to config 1.

The first series of validation tests consisted of independent cable tension sweeps

to demonstrate the effect of each cable on the system. The tension in each individual

cable was incrementally increased while all other cables were held with a constant 5N

tension, and the static pose assumed by the robot was recorded and compared to the

model predictions.

This set of tension sweeps was conducted for both config 1 and config 2 and

the results are shown in Fig. 4.9. The experimental results agree with the model

predictions. In the case of cable 3 in config 1, and cable 4 in config 2, the effect of

increasing tension resulted in joint angles outside the desired workspace which began

to cause collision and interference issues. These effects were anticipated based on the

modeling predictions, but prevented larger cable tensions from being tested.

62

Page 79: The Optimal Design of Cable-Driven Robots

q1 q2 q3Model Prediction:

Experimental Result:

10 20 30 40

−40−20

02040

Cable 2 Tension [N]

JointAngle

[deg]

10 20 30 40

−40−20

02040

Cable 1 Tension [N]

JointAngle

[deg]

10 20 30

−60−40−20

020

Cable 3 Tension [N]

JointAngle

[deg]

10 20 30 40−20

0

20

40

Cable 4 Tension [N]

JointAngle

[deg]

(a) Config 1 Testing

10 20 30 40−20

0

20

40

Cable 2 Tension [N]

10 20 30 40−40

−20

0

20

40

Cable 1 Tension [N]

10 20 30 40−60

−40

−20

0

20

Cable 3 Tension [N]

8 10 12 15−20

0

20

40

60

Cable 4 Tension [N]

(b) Config 2 Testing

Figure 4.9: Results of the tension sweep experiment for the robot in config 1 and 2

63

Page 80: The Optimal Design of Cable-Driven Robots

4.4.1 Static Testing

A set of static pose tests were conducted to validate the theoretical model of the

robot leg. These tests are designed to determine the accuracy of the modeled gravity

vector, G(q), and the A(q) matrix relating cable tensions to joint torques. In the

absence of joint angle velocities and accelerations, the D and C terms in the dynamic

model from Eqn. 2.1 vanish, and the equation simplifies to:

G(q) = A(q)T (4.10)

A set of static poses was selected from within the desired workspace of the

robot, and the model was used to predict a set of tensions which would bring the

robot into the desired static pose. The cable tensions were calculated by solving a

linear programming problem similar to to Eqn. 2.12, but modified to account for the

minimum and maximum allowable cable tensions for this experiment:

minimize ||T||

s.t.

⎧⎪⎨⎪⎩G(q) = A(q)T

5N ≤ Ti ≤ 50N, for i = [1, 2, 3, 4]

(4.11)

The calculated tensions were applied to the cables, and the robot was allowed

to achieve static equilibrium before the joint angles were recorded. A number of poses

were tested for both config 1 and config 2 with the experimental results shown in

Fig. 4.10. The experimental results agree to the model predictions to within 3 degrees.

This minor error is likely the result of friction in the cable routings, and of small

differences between the modeled and actual mass distribution of the robot.

4.4.2 Dynamic Testing

Once the static testing demonstrated agreement between the experimental robot

and the model, a series of dynamic tests were performed to demonstrate the optimiza-

tion results. A PD controller was developed for the robot using an approach which

64

Page 81: The Optimal Design of Cable-Driven Robots

−20 0 20 40

−60

−40

−20

0

q2 Hip Angle [deg]

q3Knee

Angle

[deg]

Model

Config 1 Exp

Config 2 Exp

−5 0 5

−60

−40

−20

0

q1 Hip Angle [deg]

Figure 4.10: Results of experimental static pose testing of the robot configuredaccording to config1 and config 2

incorporates the dynamic model to linearize the system. Using this method, the cal-

culated torques from the controller are given by Eqn. 4.12.

u = D(q)ν +C(q, q)q+G(q) (4.12)

with ν chosen to be:

ν = Kv(qd − q) +Kp(qd − q) (4.13)

where qd and qd are the desired joint angle velocity and position vectors, respectively.

The PD controller gain vectors used in this analysis are Kp = [30, 60, 100]T and Kv =

[15, 15, 15]T , and were determined through an iterative, trial and error tuning process.

After obtaining the joint torques, u, the cable tensions are obtained by solving the

linear programing problem described in Eqn. 4.11.

Two test trajectories were used in the dynamic trajectory experiment: the full

scale walking-gait from Fig. 4.4, and a modified walking gait developed by scaling each

joint angle in the trajectory by 50%. The 50% scale trajectory is not the trajectory

65

Page 82: The Optimal Design of Cable-Driven Robots

0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2−80

−60

−40

−20

0

20

40

Time [s]

JointAngle

[deg]

q1 q2 q3100%:50% :

−10 0 10 20 30

−60

−40

−20

0

q2 Joint Angle [deg]

q 3JointAngle

[deg]

100%:

50% :

Figure 4.11: Plots of the full scale and 50% scale walking gait trajectories showingthe joint angles as a function of time, and plotted in the q2-q3 plane.

used to drive the optimization, but retains many characteristics of the original gait,

and results in reduced cable tension requirements to facilitate experimentation. A plot

of the full scale walking-gait trajectory and the 50% scale trajectory are shown in

Fig. 4.11, with the joint angles plotted as a function of time, and with the q2 hip angle

and the q3 knee angle trajectories plotted against one another.

A simulation was done to test the controller and the cable routings. The robot

66

Page 83: The Optimal Design of Cable-Driven Robots

0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 20

10

20

30

40

50

18.3N

Time [s]

Tension[N

]

Cable 1 Cable 2 Cable 3 Cable 450% scaleTrajectory

0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 20

10

20

30

40

50

22N

Time [s]

Tension

[N]

Full scaleTrajectory

Figure 4.12: Simulated tensions for config 1 for the 50% scale and full scale trajecto-ries. The Tmax

avg values of 18.3N for the 50% scale and 22N for the full scale trajectoriesare also shown.

with the cables configured according to config 1 was simulated following the full scale

and 50% scale trajectories using the controller from Eqn. 4.12. The tensions required

by the controller to track the trajectories are shown in Fig. 4.12. The full scale and

50% scale trajectories were also simulated for a robot configured according to config 2,

with the required tensions shown in Fig. 4.13.

For both the full scale and 50% scale trajectories, the optimal configuration

(config 1) has lower tension values for the same desired motion. The simulated Tmaxavg

values for the config 1 robot are 18.3N for the 50% scale trajectory and 22N for the

full scale trajectory, while the simulated Tmaxavg values for the config 2 robot are 36N for

the 50% scale trajectory and 42.5N for the full scale trajectory. The simulation results

indicate the optimized config 1 robot requires overall lower tensions than the config 2

67

Page 84: The Optimal Design of Cable-Driven Robots

0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 20

10

20

30

40

50

36N

Time [s]

Tension[N

]

Cable 1 Cable 2 Cable 3 Cable 450% scaleTrajectory

0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 20

10

20

30

40

5042.5N

Time [s]

Tension

[N]

Full scaleTrajectory

Figure 4.13: Simulated tensions for config 2 for the 50% scale and full scale trajecto-ries. The Tmax

avg values of 36N for the 50% scale and 42.6N for the full scale trajectoriesare also shown.

robot to perform the same motion.

An experiment was performed to verify the simulation result. The 50% scale

trajectory was first tested on both configurations, with the trajectory repeated 10 times

in order to allow the robot to establish a consistent pattern of motion. Joint angles and

cable tensions from the 5th trajectory cycle of the 50% scale trajectory series for the

config 1 robot are shown in Fig. 4.14, and are representative of the behavior over the

10 cycle trajectory. The joint angle plot from Fig. 4.14 shows the desired joint angles

as thin lines, with the experimentally measured joint angles shown as thick lines. The

cable tension plot from Fig. 4.14 shows the desired cable tension values calculated by

the controller as thin lines, with the experimental tensions measured from the robot

shown with thick lines. The config 1 robot was able to follow the 50% scale trajectory

68

Page 85: The Optimal Design of Cable-Driven Robots

0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2−40

−20

0

20

Time [s]

JointAngle

[deg]

q1 q2 q3Exp:Des:

Config 150% scale traj.

0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 20

10

20

30

40

50

18.7N

Time [s]

Tension

[N]

Cable 1 Cable 2 Cable 3 Cable 4Actual:Desired:

Figure 4.14: Controller cable tensions and robot response for the 50% scale walkinggait trajectory for the optimal config 1. The Tmax

avg value of 18.7N is also shown.

with a Tmaxavg value of 18.7N, which is close to the simulated value. Figure 4.14 shows

the joint angles and cable tensions for 5th cycle of the 50% scale trajectory for the

config 2 robot. The config 2 robot was able to follow this trajectory with a Tmaxavg value

of 38.7N, which is consistent with the simulation. In both tests, the experimentally

recorded tensions follow the general trends predicted by the simulation, but have larger

peaks and valleys than the simulation predicts, possibly due to friction in the cables

and joints, and controller gains which are not optimally tuned.

After testing the 50% scale trajectory, the full scale trajectory was tested. As

before, the trajectory was repeated 10 times to establish consistent motion. Joint angles

and cable tensions from the 5th cycle of the full scale trajectory series for the config1

69

Page 86: The Optimal Design of Cable-Driven Robots

0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2−40

−20

0

20

Time [s]

JointAngle

[deg]

q1 q2 q3Exp:Des:

Config 250% scale traj.

0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 20

10

20

30

40

5038.7N

Time [s]

Tension

[N]

Cable 1 Cable 2 Cable 3 Cable 4Actual:Desired:

Figure 4.15: Controller cable tensions and robot response for the 50% scale walkinggait trajectory for config 2. The Tmax

avg value of 38.7N is also shown.

robot are shown in Fig. 4.16. The joint angle plot from Fig. 4.16 shows the desired joint

angles as thin lines, with the experimentally measured joint angles shown as thick lines.

The cable tension plot from Fig. 4.16 shows the desired cable tension values calculated

by the controller as thin lines, with the experimental tensions measured from the robot

shown with thick lines. The config 1 robot was able to follow the full scale trajectory

with Tmaxavg of 26N. The config 2 robot was unable to successfully perform the full scale

trajectory due to high cable tension requirements repeatedly exceeding the 50N limit

for this device.

As summarized in Tab. 4.3, the simulation Tmaxavg values for the 50% scale tra-

jectory are consistent with the experimental data for both cable configurations. The

70

Page 87: The Optimal Design of Cable-Driven Robots

0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2−80

−60

−40

−20

0

20

40

Time [s]

JointAngle

[deg]

q1 q2 q3Exp:Des:

Config 1Full scale traj.

0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 20

10

20

30

40

50

26N

Time [s]

Tension

[N]

Cable 1 Cable 2 Cable 3 Cable 4Actual:Desired:

Figure 4.16: Controller cable tensions and robot response for the full scale walkinggait trajectory for the optimal config 1. The Tmax

avg value of 26N is also shown.

simulation Tmaxavg values for the full scale trajectory are also consistent with the experi-

mental data for the config 1 robot. Overall, the tensions required to perform the 50%

scale and full scale trajectories are consistently lower for the optimized config 1 than

for config 2 in both simulation and experiment.

Table 4.3: Comparison of Tmaxavg values

50% Scale Full Scale

Sim Exp Sim Exp

Config 1 18.3N 18.7N 22.0N 26.0NConfig 2 36.0N 38.7N 42.5N NA

71

Page 88: The Optimal Design of Cable-Driven Robots

4.5 Comparison of Optimization Methodologies

The optimization methodologies described in this chapter and the previous chap-

ter were both illustrated using similar optimization problems. It is possible to compare

the random algorithm with the PSO approach to highlight the differences between the

two methodologies.

One option for comparing the PSO approach to the random algorithm described

in Chapter 3 is to compare the sample complexity of each method to characterize the

computational requirements of each method. From Chapter 3, the uncertainty and

accuracy levels chosen for the case 1 analysis using the random algorithm resulted in

a sample complexity requirement of 1058 individual robot designs to be evaluated to

arrive at the approximated optimal value, while the increased precision of the case

2 analysis resulted in the evaluation of 2.1 x106 individual robot designs. For design

problems which do not require a precise optimal solution, the case 1 analysis demon-

strates the utility of the randomized algorithm: a simple random search optimization

with a relatively small sample size was able to identify a reasonably well-performing de-

sign. As the precision and uncertainty parameters are tightened in the case 2 analysis,

the sample complexity requirement increased by 3 orders of magnitude.

The PSO algorithm described in this chapter used 1000 particles simulated

for 500 timesteps, giving a total of 5 x105 individual robot design evaluations. This

single execution of the PSO algorithm requires fewer design evaluations than the case 2

analysis, however, the PSO algorithm is a random process with a non-zero probability

of failure, so multiple executions are typically conducted to increase the confidence in

the result. The PSO algorithm does not quantify the probability of algorithm failure,

so the number of repeated PSO algorithm runs is a choice made by the analyst. In

this analysis a total of 100 PSO runs were performed, which increases the total sample

complexity of the overall analysis to 5 x107.

The PSO analysis was able to find the design solution with the lowest required

tensions, but repeated applications of the algorithm to increase confidence in the result

drove the number of design evaluations higher than for the randomized algorithm case

72

Page 89: The Optimal Design of Cable-Driven Robots

2 analysis. The additional effort to implement and run the PSO algorithm is justified

if the precise optimal design solution is required. However, the randomized algorithm

approach is more simple to implement than PSO, and is able to locate designs which

are near-optimal in performance for design problems where the precise optimal solution

is not needed.

4.6 Summary

Designing an effective cable architecture for a cable-driven robot quickly be-

comes challenging as the number of cables and degrees of freedom of the robot in-

crease. This chapter combined the previously presented robot workspace performance

analysis and cable tension analysis with a stochastic search algorithm called Particle

Swarm Optimization to create a methodology to optimize the cable architecture of a

cable-driven robot.

The application of this optimization methodology was illustrated using a 3-

DoF cable-driven robot leg. The methodology was used to identify the optimal cable

arrangement for the robot, and the optimal cable architecture was presented.

An experiment was performed to provide validation testing of the robot model

and the PSO analysis results. The experiment was conducted using both the optimal

configuration and a comparison configuration. A series of static tests demonstrated

the robot leg model used in the analysis accurately predicts the required tension to

achieve a given pose. A series of simulations and dynamic testing using half-scale and

full scale walking gait trajectories demonstrated the reduced tension requirements of

the optimized design over the comparison configuration for the desired task.

73

Page 90: The Optimal Design of Cable-Driven Robots

Chapter 5

CONFIGURATION ROBUSTNESS ANALYSIS OF OPTIMALDESIGNS

5.1 Introduction

As demonstrated in the previous chapter, the field of stochastic optimization

provides efficient, reliable methods, such as GA’s and PSO, for finding globally op-

timal solutions for a wide range of engineering problems, however these optimization

strategies are often used to identify only the optimal design point for a problem, with-

out an analysis of the near-optimum region of the design space. The optimal solution

describes a precise value for each design variable, but depending on the characteristics

of the performance measures and the nature of the design problem, an optimal design

solution may be in close proximity to regions of poor performance within the design

space. In practice, it may be difficult to implement this design into a physical system

with absolute precision. It is important to understand the performance in the neigh-

borhood of the optimal design and the potential effects of near-optimal configurations

in order to mitigate the degradation in system performance due to the errors.

Configuration robustness analysis is an important design consideration because

assembly errors or other unforeseen adjustments to the design can result in a robot

which deviates slightly from the indented design and is in a near-optimal configuration.

For cable-driven robots, the method of cable attachment and clearances in cable rout-

ings may result in small variations in the exact cable attachment angle. However in the

case of light-weight cable-driven exoskeletons, the issue of configuration robustness can

be particularly important. Differences in the length, size and shape between biological

limbs can result in changes in cable placement between individual users of the same

device, and as it can be challenging to rigidly fix the cable attachment cuffs to the

74

Page 91: The Optimal Design of Cable-Driven Robots

biological limb without causing user discomfort, some variability of cable positions is

to be expected. An understanding of the effects on robot performance due to changing

cable placement is important to ensuring the effectiveness of a cable architecture, and

the robustness of the optimal configuration performance to small changes in the design

variables.

In this chapter, a methodology is presented to analyze the robustness of the

performance of an optimal design to small errors in the configuration parameters.

This robustness analysis can be used to inform the implementation of the theoretical

optimal design into a robot, while taking into account the precision and tolerances of

the physical design. The 3-DoF cable-driven robot used in previous examples is again

used illustrate the application of the the configuration robustness analysis. The optimal

cable routing identified using the PSO optimization methodology is summarized, and

the robustness methodology is applied to analyze the performance of the robot in the

optimal configuration to determine the robustness of the performance to perturbations

in each design parameter. A robot leg is constructed according to the optimal cable

configuration and is used to validate the robustness analysis results by demonstrating

the predicted effects of variations in the design parameters on the performance of the

robot.

5.2 Configuration Robustness Analysis

Whether the optimization is performed using PSO or other optimization strate-

gies, the optimal configuration of the robot describes a precise value for each design

variable. In practice, however, it may be difficult to implement this design into a phys-

ical system with absolute precision. In the case of the cable-driven robot, the method

of cable attachment and clearances in cable routings may result in small variations in

the exact cable attachment angle. For a cable-driven exoskeleton or other wearable

device, the method and procedure used to mount the robot to the limb can also result

in small inconsistencies in the position of the cables. This anticipated level of inher-

ent variability in the cable arrangement motivates an analysis of the robustness of the

75

Page 92: The Optimal Design of Cable-Driven Robots

optimal configuration performance to small changes in the design variables.

5.2.1 Methodology

A design problem with n independent parameters, x = [x1, ..., xn], has an n-

dimensional design space, and an objective function, ψ(x1, ..., xn), which forms a surface

in n-dimensions. The optimal solution to the problem, ox = [ox1, ...,o xn], is the global

minimum of the surface, and the shape of the surface in the neighborhood of the optimal

point is an n-dimensional valley where the surface slope describes the sensitivity of the

performance to changes in the parameters.

Each design parameter has an expected error ε = [ε1, ..., εn], according to the

tolerances and clearances of the physical system, thus the implemented design is only

known to precision oxm ± εm for m = 1, ..., n, with the realized performance of the

implemented design somewhere in the region ψ(x1 ± ε1, ..., xn ± εn). To achieve the

best performance in the implemented system despite these errors, it may be necessary

to adjust the design away from the optimal solution, using an analysis of ψ in the

neighborhood of ox.

While 2D and 3D surfaces are easily inspected, visualization and analysis of the

characteristics of a high-dimensional surface is difficult. The challenge is to distill the

high-dimensional surface into a smaller set of information which can be more easily

visualized and understood, but which still retains the essential features of the larger

data set and carries the information on the relative effect of the various parameters on

robot performance.

Generate n slices through the surface ψ(x1, ..., xn) along each of the n dimen-

sions, passing through the optimal point, ox, as shown in Eqn. 5.1:

76

Page 93: The Optimal Design of Cable-Driven Robots

ψ1(x1) = (x1,o x2, ...,

o xn)

ψ2(x2) = (ox1, x2,o x3, ...,

o xn)

...

ψn(xn) = (ox1, ...,o xn−1, xn)

(5.1)

Each slice, ψm(xm), is a curve whose minimum is the optimal parameter value,

oxm, for m = 1, ..., n.

A new design, ox′, is created from the ideal optimal design, ox, to minimize the

potential performance degradation due to the imperfect implementation, by analyzing

ψm(xm) as shown in Eqn. 5.2:

Choose: ox′m ∈ [oxm − εm,

o xm + εm] to minimize:

{supψm(xm), xm ∈ [ox′m − εm,

o x′m + εm]},

for m = 1, ..., n

(5.2)

This modified design, ox′, considers both the ideal optimized robot perfor-

mance as well as the precision of the implementation to mitigate the potential per-

formance degradations of the design implementation while maintaining near-optimal

performance.

5.2.2 2D Example

A general 2D design problem with an objective function, ψ(x1, x2) is used to

illustrate this analysis approach. Fig. 5.1 shows the shape and features of this example

ψ, with the optimal design point given by ox = (ox1,o x2). Following Eqn. 5.1, slices of

ψ(x1, x2) are generated along each dimension, passing through ox.

Fig. 5.2 shows the ψ1(x1) slice, along with the optimal value, ox1, and the error

along the x1 dimension, ε1. In the x1 case, following Eqn. 5.2 gives ox′1=

ox1 because

any adjustment to the optimal parameter value would degrade performance. Fig. 5.3

shows the ψ2(x2) slice, with the optimal value, ox2, and the x2 parameter error, ε2. In

77

Page 94: The Optimal Design of Cable-Driven Robots

−5

5

−5

5

ψ(ox1,ox2)

x2 x1

−5 5−5

5

ox=(ox1,o x2)

OptimalPoint

x2

x1

Figure 5.1: Example 2D objective function surface, ψ(x1, x2), with the optimal pointox = (ox1,

o x2)

ox1-ε1ox1

ox1+ε1

ε1 ε1

ψ1(ox1 ± ε1)

x1

ψ1(x

1)

Figure 5.2: Example objective function performance along x1

ox2-ε2ox2

ox2+ε2

ε2 ε2

ψ2(ox2+ε2)

ψ2(ox2-ε2)

ox′2-ε2

ox′2

ox′2+ε2

ε2 ε2

ψ2(ox′

2 ± ε2)

x2

ψ2(x

2)

Figure 5.3: Example objective function performance along x2

78

Page 95: The Optimal Design of Cable-Driven Robots

Table 5.1: Cable configuration parameters and optimal values for the robot leg

Cable 1 Cable 2 Cable 3 Cable 4

Cable Angle 0θc11θc1

0θc21θc2

0θc31θc3

2θc30θc4

1θc42θc4

Parameter (xm) x1 x2 x3 x4 x5 x6 x7 x8 x9 x10

Optimal Value (oxm) 124o 50o 258o 164o 308o 131o 142o 81o 0o 68o

this case, following Eqn. 5.2 results in a new design value for ox′2, chosen to minimize

the potential performance degradation due to the ε2 error. The new design, given by

ox′ = [ox′1,

o x′2], is close to the ideal optimal solution but also considers the expected

errors in each parameter.

5.3 Methodology Illustration using 3DoF Robot Leg

The configuration robustness analysis is applied to the same 3-DoF cable-driven

robot leg design problem from the previous two chapters. The leg has two links and

the joint angles are defined with hip adduction as q1, hip flexion as q2, and knee

extension as q3 . The four cables used to actuate the robot are attached at variable

cable attachment angles along each cuff, for a total of 10 variable angles in the design,

as shown in Fig. 4.3.

The same walking gait motion shown in Fig. 4.4 is again used as the desired

task for the robot, and the optimal cable architecture for the robot is given in Tab. 5.1

and Fig. 5.4, identified following the methodology and analysis presented in Chapter 4.

5.3.1 Analysis Approach

The objective function in this analysis describes a surface in 10 dimensions,

corresponding to the 10 variable cable attachment angles. The coordinates of the

global minimum on this surface is the optimal configuration, and the shape of the

objective function surface in the neighborhood of the optimal point is a 10D valley

where the surface slope describes the sensitivity of the performance to changes in the

parameters.

79

Page 96: The Optimal Design of Cable-Driven Robots

��

Cable 1Cable 2

Cable 3

Cable 4

Figure 5.4: Optimal configuration of cables for the robot leg identified in theChapter 4 analysis example.

The configuration robustness analysis methodology presented in Section 5.2 is

used to analyze the optimal configuration of the robot leg. A 2D sub-set of the full

10D design space is first used to illustrate this analysis approach, enabling illustration

of the surface by both a conventional 2D contour plot as well as using the robustness

methodology. The configuration robustness analysis is then performed on the entire

10D surface and the results are presented and discussed.

5.3.2 2D Subset Analysis

A 2D subset of the full 10D surface is defined in which only the cable 1 waist

angle, x1, and cable 1 thigh angle, x2 are variable while all other parameters are

held fixed at their optimal values given in Table 5.1. A contour plot of the ψ(x1, x2)

objective function of this 2D surface is shown in Fig. 5.5 within a 20◦ neighborhood

of the optimum, 0x = [0x1,0 x2]. The 2D plot of this surface has been generated for

this example by calculating the robot performance at each configuration within the 2D

grid.

The surface shown in Fig. 5.5 is a valley with the optimum configuration, 0x,

80

Page 97: The Optimal Design of Cable-Driven Robots

at the lowest point. As the waist and thigh angles of cable 1 are moved away from the

optimum values, the objective function increases, indicating poorer robot performance.

By inspection of Fig. 5.5, it can be seen that changes in the horizontal direction have

a stronger effect on performance than a change of similar magnitude in the vertical

direction. This characteristic signifies that changes to the value of the cable 1 waist

angle, x1, are more detrimental to the performance of the robot than changes of similar

magnitude in the cable 1 thigh angle (x2).

An example error of 5◦ error is assumed for all parameter values in this example

(ε1 = 5o, ε2 = 5o), as illustrated in Fig. 5.5. By inspecting the contour lines, it can

be seen that +ε1 errors are slightly more detrimental to robot performance than −ε1

errors, while performance difference between the +ε2 and −ε2 errors is small.

Following the methodology presented in Section 5.2, the essential features of

this surface can be captured by taking slices along each dimension, passing through

the optimal point, 0x. A horizontal slice (constant x2) creates a line, ψ1(x1), showing

the performance impact of changing the cable 1 waist angle, x1, independently of all

other parameters. Similarly, a vertical slice through the surface (constant x1) creates

a line, ψ2(x2), showing the performance impact of independently changing the cable 1

thigh angle, x2. The ψ1(x1) and ψ2(x2) slices are plotted in Fig. 5.6.

Analyzing the surface using the slices reveals that variations in the cable 1 waist

angle, x1, have a more pronounced effect on performance than variations in the cable 1

thigh angle, x2, and that the 0x2 value is well-situated to balance the effects of positive

or negative position errors. The ψ1(x1) slice is detailed in Fig. 5.7, shows that a minor

-1◦ adjustment to the x1 parameter implemented value would balance the expected

performance between ψ1(0x′

1 + ε1) and ψ1(0x′

1 − ε1).

Using the configuration robustness methodology, this minor adjustment to the

implemented design is identified which will minimize the potential performance impact

of implementation errors in the robot.

81

Page 98: The Optimal Design of Cable-Driven Robots

0.0135

0.0135

0.0165

0.0165

0.0195

0.0195

0.0225

Constantx1

Constant x2

−ε1 +ε1

+ε2

−ε2

Optimum:0x = [0x1,

0 x2]

ψ(0x1,0 x2)

= 0.0127

105 115 125 135 14530

40

50

60

70

Cable 1 Waist Angle (x1)

Cable

1ThighAngle

(x2)

Figure 5.5: Contour of the objective function value in a 2D neighborhood surroundingthe optimal point.

−20◦ 20◦0.01

0.02

0.03

0.04

ψ1(x1)

ψ2(x2)

εm εm

Offset from oxm

Perform

ance

[ψ]

−5◦ oxm 5◦

Cable 1 Angles

Figure 5.6: Objective function performance along cable 1 attachment angles sur-rounding the optimal point.

82

Page 99: The Optimal Design of Cable-Driven Robots

-20◦ -10◦ 10◦ 20◦0.01

0.02

0.03

0.04

ox1

ε1 ε1

ox′1

ε1 ε1

x1

ψ1(x

1)

Figure 5.7: Objective function slice along x1 showing the -1oadjustment to the optimal

value.

5.3.3 10D Configuration Robustness Analysis

The independent parameter sweep analysis introduced using the 2D subset is

applied to the complete 10D surface to analyze the robustness of the robot to changes

in cable configuration. Each of the 10 cable attachment angles are independently varied

while all other parameters are held constant at their optimal values to characterize the

shape of the 10D valley surrounding the optimal point.

The robustness of the optimal cable configuration of the robot leg to variations

in the full 10D design-space is analyzed by following the methodology presented in

Section 5.2. The optimal solution ox = [ox1, ...,o x10] is given in Table 5.1, and the 10-

dimensional objective function, ψ(x1, ..., x10), is sliced along each dimension through

the optimal point, following Eqn. 5.1. A 5◦ error is assumed for all parameter values

in this example (εm = 5◦ for m = 1, ..., 10).

Each of the ψm(xm) slices are plotted in Fig. 5.8, with the εm = 5◦ error also

shown. Fig. 5.8a shows the slices along the x1 and x2 dimensions, corresponding to

the cable 1 waist and thigh attachment angles, which remains the same as shown in

Fig. 5.6. Fig. 5.8b shows the slices along the x3 and x4 dimensions, corresponding

to the cable 2 waist and thigh attachment angles. The slices along the x5, x6 and x7

dimensions, corresponding to the cable 3 waist, thigh, and shank attachment angles are

shown in Fig. 5.8c, and the slices along the x8, x9 and x10 dimensions, corresponding

to the cable 4 waist, thigh, and shank attachment angles are shown in Fig. 5.8d.

83

Page 100: The Optimal Design of Cable-Driven Robots

−20◦ 20◦0.01

0.02

0.03

0.04

ψ1(x1)

ψ2(x2)

εm εm

Offset from oxm

Perform

ance

[ψ]

−5◦ oxm 5◦

Cable 1 Angles

(a)

−20◦ 20◦0.01

0.02

0.03

0.04

ψ 3(x

3)

ψ4(x4)

εm εm

Offset from oxm

Perform

ance

[ψ]

−5◦ oxm 5◦

Cable 2 Angles

(b)

−20◦ 20◦0.01

0.02

0.03

0.04

ψ5(x5)

ψ6(x

6)

ψ7(x

7)

εm εm

Offset from oxm

Perform

ance

[ψ]

−5◦ oxm 5◦

Cable 3 Angles

(c)

−20◦ 20◦0.01

0.02

0.03

0.04

ψ8(x8)

ψ9(x9)

ψ 10(x10)

εm εm

Offset from oxm

Perform

ance

[ψ]

−5◦ oxm 5◦

Cable 4 Angles

(d)

Figure 5.8: Objective function slices surrounding the optimal point in the 10D designspace.

In many cases, the ψm(xm) slices are relatively symmetric in the region oxm±εm,

and no modification of the design parameter value is required (ox′m =o xm). A small

adjustment to the implemented design in the x1 has already been discussed in the

previous section, but robustness methodology suggests additional adjustments to the

x6, x7, and x10 parameters.

Fig. 5.9 details the x6 parameter slice, showing the range of effect of the ε6 error

on the performance. Along the x6 dimension, Eqn. 5.2 is used to adjust the design by

-4.5o from the optimal value, giving an ox′6 value of 126.5o. As shown in Fig. 5.9, this

new ox′6 value mitigates the potential performance degradation introduced by the ε6

error, while maintaining near-optimal performance. Along the x7 dimension, Eqn. 5.2 is

used to create a ox′7 value of 137.5

owith a -4.5o offset from the optimal value. Similarly,

Eqn. 5.2 is used to adjust the design by -2.5oalong the x10 dimension, as shown in

84

Page 101: The Optimal Design of Cable-Driven Robots

-20◦ -10◦ 10◦ 20◦0.01

0.02

0.03

0.04

ox6

ε6 ε6

ox′6

ε6 ε6

x6

ψ6(x

6)

Figure 5.9: Objective function slice along x6 showing the -4.5◦ adjustment to theoptimal value.

-20◦ -10◦ 10◦ 20◦0.01

0.02

0.03

0.04

ox7

ε7 ε7

ox′7

ε7 ε7

x7

ψ7(x

7)

Figure 5.10: Objective function slice along x7 showing the -4.5◦ adjustment to theoptimal value.

-20◦ -10◦ 10◦ 20◦0.01

0.02

0.03

0.04

ox10

ε10 ε10

ox′10

ε10 ε10

x10

ψ10(x

10)

Figure 5.11: Objective function slice along x10 showing the -2.5◦ adjustment to theoptimal value.

Fig. 5.11, giving an ox′10 value of 65.5o. An analysis of the objective function slice

along x3 shows that no adjustments to the optimal value are required for a ε3 value of

5o, but larger errors would require an adjustment, as shown in Fig. 5.12.

The updated design developed using the configuration robustness analysis, ox′,

85

Page 102: The Optimal Design of Cable-Driven Robots

0.01

0.02

0.03

0.04

ox3

ε3 ε3

-20◦ 20◦x3

ψ3(x

3)

Figure 5.12: Objective function slice along x3 showing that no adjustments to theoptimal value are required for a ε3 value of 5o, but larger errors would require anadjustment.

is summarized in Table 5.2. The new design mitigates the potential performance degra-

dation introduced by errors in the implemented design of the robot, while maintaining

near-optimal performance.

5.4 Experimental Validation

The effect on robot performance due to variations along each slice through the

objective function is demonstrated through an experiment. The experiment focuses

on four of the 10 design parameters: i) x1, the cable 1 waist attachment angle (0θc1);

ii) x2, the cable 1 thigh attachment angle (1θc1); iii) x6, the cable 3 thigh attachment

angle (1θc3); and iv) x7, the cable 3 shank attachment angle (2θc3). These were selected

to investigate parameters with a range of strong to negligible effects on performance,

and which are located on the waist, thigh, and shank cuffs.

Table 5.2: Optimal cable configuration for the robot leg and configuration adjust-ments based on the configuration robustness analysis

Cable 1 Cable 2 Cable 3 Cable 4

Cable Angle 0θc11θc1

0θc21θc2

0θc31θc3

2θc30θc4

1θc42θc4

Parameter (xm) x1 x2 x3 x4 x5 x6 x7 x8 x9 x10

Optimal Value (oxm) 124o 50o 258o 164o 308o 131o 142o 81o 0o 68o

Adjustment -1o - - - - -4.5o -4.5o - - -2.5o

Updated Value (ox′m) 123o 50o 258o 164o 308o 126.5o 137.5o 81o 0o 65.5o

86

Page 103: The Optimal Design of Cable-Driven Robots

Cable

4

Cable

4 Cable3

Cable

3

Cab

le2

Cable2

Cable

1

Cable

1

Figure 5.13: The 3-DoF cable-driven robot leg with the cables arranged in the optimalconfiguration, ox.

A robot is assembled according to the optimal cable configuration, ox, as shown

in Fig. 5.13. For this experiment, the robot cable tensions are limited to below 90N

to prevent damage to the cables, cable routings, and instrumentation, and a minimum

tension of 5N is maintained in all cables to prevent cable slackness during motion. The

four cables are attached to overhead pulleys driven by motors, and the distal anchor

point of each cable is equipped with a load cell to measure tension. Encoders are used

to measure the three joint angles of the robot.

A set of three trajectories was used to demonstrate the relative effect of each

parameter on the robot performance: the full scale walking gait joint angle trajectory

from Fig. 4.4, along with two trajectories created by scaling each joint angle to 80%

and 50% of the full scale joint angle trajectory. The scaled-down trajectories retain

the characteristic of the original gait, but have reduced cable tension requirements

and are included to analyze configurations where the maximum tension safety limits

of the robot prevent the full scale trajectory from being performed. A plot of the full

scale walking-gait trajectory, the 80% scale trajectory and the 50% scale trajectory are

shown in Fig. 5.14, with the joint angles plotted as a function of time, and with the q2

87

Page 104: The Optimal Design of Cable-Driven Robots

0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2−80

−60

−40

−20

0

20

40

Time [s]

JointAngle

[deg]

q1 q2 q3100%:80% :50% :

−10 0 10 20 30

−60

−40

−20

0

q2 Joint Angle [deg]

q 3JointAngle

[deg]

100%:

80% :

50% :

Figure 5.14: Plots of the full scale, 80% scale, and 50% scale walking gait trajectoriesshowing the joint angles as a function of time, and plotted in the q2-q3 plane.

hip angle and the q3 knee angle trajectories plotted against one another.

A PD controller is defined for the robot to calculated the required joint torques,

u, as shown in Eqn. 5.3,

u = D(q)ν +C(q, q)q+G(q) (5.3)

where ν = Kv(qd − q) + Kp(qd − q), and where qd and qd are the desired joint

88

Page 105: The Optimal Design of Cable-Driven Robots

angle velocity and position vectors, respectively. The PD controller gain vectors of

Kp = [30, 60, 100]T and Kv = [15, 15, 15]T were determined through an iterative tuning

process.

The joint angles and cable tensions were recorded for the ox configured robot

following the 50% scale, 80% scale, and full scale trajectories. Each trajectory was

repeated for 10 cycles and Eqn. 4.8 was used to calculate the Tmaxavg tension required

for cycles 3-10, after the motion of the robot stabilized. The optimally configured

robot required a Tmaxavg of 19.7N for the 50% scale trajectory, 23.2N for the 80% scale

trajectory, and 24.6N for the full scale trajectory. The joint angle response and required

tensions for the 5th cycle for each of the trajectories are shown in Fig. 5.15.

Once the performance of the robot in the optimal configuration was measured as

a baseline, the experiment was repeated with modifications to the four selected design

parameters while maintaining all other parameters in the ox optimal configuration.

Holding all other parameters at their optimal values, the cable 1 hip angle

(x1) was offset from the optimum value by -20o and +20o, and the tensions required

to perform the three gait trajectories were recorded. This process was repeated for

the cable 1 thigh angle, (x2), also with offsets of ±20o. The results of the cable 1

parameter experiment is shown in Fig. 5.16a and Fig. 5.16b. As predicted by the

robustness analysis, the offsets to the cable 1 thigh angle had a negligible effect on

the required tension. The -20o offset to the cable 1 hip angle generated a consistent

increase in the required tension for all three test trajectories. The +20o offset produced

the expected increase in tension from the full scale trajectory, but the 80% and 50%

scaled trajectories required slightly lower tensions. Further investigation revealed the

extreme knee angle pose of the full scale trajectory was driving the higher tensions

in the result, and the smaller joint angles of the scaled trajectories were more easily

achieved. In all, the results for the full scale walking gait trajectory correspond well to

the predicted performance along both the x1 and x2 dimensions.

Similarly, independent tests of the cable 3 thigh angle, x6, and the cable 3 shank

angle, x7, were conducted. In each case the parameter being tested was offset by -20o

89

Page 106: The Optimal Design of Cable-Driven Robots

0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2

−50

0

Time [s]

JointAngle

[deg]

q1 q2 q3Exp:Des:

50% ScaleTrajectory

0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 20

20

40

60

80

Time [s]

Ten

sion

[N]

19.7N Tmaxavg

Cable 1 Cable 2 Cable 3 Cable 4Actual:Desired:

(a)

0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2

−50

0

Time [s]

JointAngle

[deg]

80% ScaleTrajectory

0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 20

20

40

60

80

Time [s]Ten

sion

[N]

23.2N Tmaxavg

(b)

0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2

−50

0

Time [s]

JointAngle

[deg]

Full ScaleTrajectory

0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 20

20

40

60

80

Time [s]

Ten

sion

[N]

24.6N Tmaxavg

(c)

Figure 5.15: Controller cable tensions and robot response for the 50%, 80% and fullscale trajectories.

and +20o from the optimum while holding all other parameters at the optimum value.

The results of the cable 3 parameter experiment is shown in Fig. 5.17a and Fig. 5.17b.

For both cable 3 parameter tests, the -20o offset resulted in a small increase in required

tension as predicted by the robustness analysis. The +20o offset resulted in a small

increase in required tension for the 50% scale trajectory and a significant increase in

90

Page 107: The Optimal Design of Cable-Driven Robots

required tension for the 80% scale trajectory for both the x6 and x7 tests. Due to

the imposed cable tension safety limit of 90N, the robot was not able to perform the

full scale trajectory for the +20o offset for either cable 3 parameter test. Instead, a

smaller offset of +5o was used for the full scale trajectory, which resulted in a significant

increase in required trajectory for both x6 and x7 tests. The results of the full scale

walking gait trajectory correspond well to the predicted performance for both the cable

3 parameters (x6 and x7).

In all, the experimental results show agreement between the modeled robot

performance along x1, x2, x6, and x7 and the recorded tensions during the experiment.

91

Page 108: The Optimal Design of Cable-Driven Robots

−20◦ −10◦ 0◦ 10◦ 20◦0.01

0.02

0.03

0.04

Offset from ox1

ψ1(x

1)

x1 - Cable 1Waist Angle

Model Predictions

−20◦ −10◦ 0◦ 10◦ 20◦20

40

60

Offset from ox1

Tm

ax

avg

Ten

sion

[N] Full Scale

80% Scale

50% Scale

Experimental Results

(a)

−20◦ −10◦ 0◦ 10◦ 20◦0.01

0.02

0.03

0.04

Offset from ox2

ψ2(x

2)

x2 - Cable 1Thigh Angle

Model Predictions

−20◦ −10◦ 0◦ 10◦ 20◦20

40

60

Offset from ox2

Tm

ax

avg

Ten

sion

[N] Full Scale

80% Scale

50% Scale

Experimental Results

(b)

Figure 5.16: Comparison of modeled configuration robustness to experimental robotperformance for varying cable 1 attachment angles, (x1 and x2).

92

Page 109: The Optimal Design of Cable-Driven Robots

−20◦ −10◦ 0◦ 10◦ 20◦0.01

0.02

0.03

0.04

Offset from ox6

ψ6(x

6)

x6 - Cable 3Thigh Angle

Model Predictions

−20◦ −10◦ 0◦ 10◦ 20◦20

40

60

Offset from ox6

Tm

ax

avg

Ten

sion

[N] Full Scale

80% Scale

50% Scale

Experimental Results

(a)

−20◦ −10◦ 0◦ 10◦ 20◦0.01

0.02

0.03

0.04

Offset from ox7

ψ7(x

7)

x7 - Cable 3Shank Angle

Model Predictions

−20◦ −10◦ 0◦ 10◦ 20◦20

40

60

Offset from ox7

Tm

ax

avg

Ten

sion

[N] Full Scale

80% Scale

50% Scale

Experimental Results

(b)

Figure 5.17: Comparison of modeled configuration robustness to experimental robotperformance for varying cable 3 attachment angles, (x6 and x7).

93

Page 110: The Optimal Design of Cable-Driven Robots

5.5 Summary

This chapter presented a methodology to analyze the robustness of the perfor-

mance of an optimized cable-driven robot to errors in the implementation of the design.

The robustness methodology builds upon previous work on optimizing the cable ar-

chitecture of a cable-driven robot, and together, these methods inform the optimal

design of a cable-driven robot whose performance is robust to anticipated variations

and errors in the configuration parameters.

The optimized 3-DoF robot leg from Chapter 4 was used to illustrate the ap-

plication of the configuration robustness methodology. The optimized design for the

robot was summarized, and the robustness analysis was applied to identify the effect

on the robot performance due to variations to each design parameter. The results

of the robustness analysis were validated through a series of experiments, with the

experimental results matching well to the predicted effect of various parameter offsets.

Changes in some robot design parameters were shown to have little effect on the

overall performance, while a small change in other parameters produced a significant

detrimental effect on performance. If implemented precisely, the optimal design will

result in a robot with the best possible performance. However, in some cases, selecting

a near-optimal design with some conservatism built into the critical parameters is the

more prudent approach, depending on the precision of implementation and expected

operational variability. The implementation of an optimized design into a physical

system should be informed by an analysis of the robustness of the desired optimal

design performance to these changes in the configuration.

94

Page 111: The Optimal Design of Cable-Driven Robots

Chapter 6

CONCLUSION

6.1 Summary

The design of an effective cable architecture for a cable-driven robot is challeng-

ing. The non-linear relationship between cable tensions and robot behavior is both

pose-dependent and dependent on the geometric relationship between the cable rout-

ing points on the base frame and robot rigid bodies. Furthermore, the uni-directional

nature of cable actuators results in additional requirements for a robot to be fully

controllable using positive cable tensions. The choice of cable architecture has a sig-

nificant effect on the capabilities and performance of the robot. Poorly chosen cable

routings can significantly limit robot operational workspace, and can required high

cable tensions to perform a desired task.

A set of methodologies has been presented to inform the design of cable-driven

robots to identify the best cable architecture. A methodology was first developed to

evaluate and rank the performance of cable-driven robots based on the characteristics

of the workspace and the cable tensions. This robot performance evaluation method-

ology was used as the basis of an objective function for two different optimization

methodologies developed for the cable-driven robot design problem.

One optimization methodology was presented which provides quantified bounds

around the accuracy and uncertainty of a near-optimal solution based on the sampled

number of design configurations. These probability bounds around a result can be

used to inform a determination of the sufficiency of the near-optimal solution for the

design problem. This methodology is simple to implement, and can efficiently identify

an acceptable solution to some design problems, but is ill-suited to problems with very

large design spaces, or design problems which seek the global optimum precisely.

95

Page 112: The Optimal Design of Cable-Driven Robots

A second methodology was presented which uses a statistical guided-search al-

gorithm to explore the design space and converge on the global optimal solution, based

on ranking criteria derived from the robot performance analysis methodology. This

approach requires more effort to implement than the first optimization strategy, but is

more efficient at exploring large, high dimensional design spaces.

A methodology was also presented to analyze the robustness of the performance

of an optimal solution to small errors in the configuration parameters which arise in the

implementation of a design. This analysis can be used to adjust the implemented robot

design to minimize the performance degradation due to errors in the implementation

or operation of the robot.

6.2 Future Work

Genetic Algorithms, Particle Swarm Optimization and other search algorithms

begin as an initial population of candidate solutions arranged throughout the design

space according to a chosen distribution. As the search algorithm progresses, the

population of solutions evolves and moves through the design space according to a set

strategy, and eventually converges on the global optimum. The design space is not

exhaustively explored (that is the advantage of these algorithms - if the design space

is small enough to permit an exhaustive search, that is the recommended approach).

As with any stochastic algorithm, there is a non-zero chance that the algorithm has

failed to locate the global optimum solution, and has instead merely converged on a

local solution due to insufficient sampling of the design space.

The behavior of these search algorithms is dependent on a choice of tuning pa-

rameters (e.g. warm size and self-confidence, swarm-influence, and inertia parameters

for PSO; population size, genetic crossover strategy, and mutation rates for GA’s).

Through mostly trial-and-error, the optimization research community has developed

heuristic guidelines governing the GA parameters [25, 33], and PSO tuning factors

[58, 32]. Depending on the choice of tuning parameter, these algorithms can fail to

converge, or can converge too quickly in a local optima.

96

Page 113: The Optimal Design of Cable-Driven Robots

The probability theory behind the randomized algorithm presented in Chapter 3

enabled the calculation of an ε accuracy parameter, an α level parameter and a 1− δ

confidence in the solution, which is valuable in understanding the statistical quality of

a solution.

An interesting avenue of future research would be to apply probability theory

to the family of stochastic search algorithms, such as GA’s or PSO, to bound the con-

fidence in the result based on the design space sampling of the algorithm during the

optimization. The number of initial sample points as well as the overall convergence

time of the algorithm combine give the total number of sampled solutions. However,

the design space sample points are not randomly distributed through the design space;

the initial distribution of sample points and the extent of algorithm exploration deter-

mine how those sampled solutions are distributed through the design space. Additional

research into probability theory would be required to enable a determination of con-

fidence and uncertainty for this type of sampling. This future effort might eventually

lead to a generalized relationship between the parameters governing the algorithm be-

havior (and therefore the size and distribution of the design space sampling) and the

confidence and uncertainty of the result.

97

Page 114: The Optimal Design of Cable-Driven Robots

BIBLIOGRAPHY

[1] Teodoro Alamo, Roberto Tempo, and Eduardo F Camacho. Randomized strategiesfor probabilistic solutions of uncertain feasibility and optimization problems. IEEETransactions on Automatic Control, 54(11):2545–2559, 2009.

[2] James Albus, Roger Bostelman, and Nicholas Dagalakis. The NIST robocrane.Journal of Robotic Systems, 10(5):709–724, 1993.

[3] Saeid Kazemzadeh Azad and O. Hasanebi. Improving computational efficiency ofparticle swarm optimization for optimal structural design. International Journalof Optimization in Civil Engineering, 3(4):563–574, 2013.

[4] Arian Bahrami, Behnam Aghbali, and Mansour Nikkhah Bahrami. Design op-timization of a 3-d three cable driven manipulator. ASME International DesignEngineering Technical Conferences (IDETC/CIE), pages 753–761, 2012.

[5] S.K. Banala, Seok Hun Kim, S.K. Agrawal, and J.P. Scholz. Robot assisted gaittraining with active leg exoskeleton (alex). Neural Systems and RehabilitationEngineering, IEEE Transactions on, 17(1):2–8, Feb 2009.

[6] Paul Bosscher, Robert L. Williams II, and Melissa Tummino. A concept forrapidly-deployable cable robot search and rescue systems. In ASME 2005 In-ternational Design Engineering Technical Conference, pages 589–598, 2005.

[7] Paul Bosscher, Andrew T. Riechel, and Imme Ebert-Uphoff. Wrench-feasibleworkspace generation for cable-driven robots. IEEE Transactions on Robotics,22(5):890 – 902, 2006.

[8] Alan P. Bowling. Mass distribution effects on dynamic performance of a cable-drived hexapod. Journal of Mechanical Design, 129:887–890, 2007.

[9] Tobias Bruckmann, Wildan Lalo, Khoa Nguyen, and Bashir Salah. Developmentof a storage retrieval machine for high racks using a wire robot. In ASME 2012International Design Engineering Technical Conference (IDETC/CIE), pages 771–780, 2012.

[10] Joshua T. Bryson and Sunil K. Agrawal. Methodology to identify and ana-lyze optimal cable configurations in the design of cable-driven serial manipu-lators. In ASME 2013 International Design Engineering Technical Conference(IDETC/CIE), 2013.

98

Page 115: The Optimal Design of Cable-Driven Robots

[11] Joshua T. Bryson and Sunil K. Agrawal. Analysis of optimal cable configurationsin the design of a 3-dof cable-driven robot leg. In ASME 2014 International DesignEngineering Technical Conference (IDETC/CIE), 2014.

[12] Joshua T. Bryson and Sunil K. Agrawal. Tension-efficient cable-driven robot de-sign using particle swarm optimization. In ASME 2015 International Design En-gineering Technical Conference (IDETC/CIE), 2015.

[13] Joshua T. Bryson and Sunil K. Agrawal. Using randomized algorithms to quantifyuncertainty in the design of cable-driven manipulators. In ASME 2015 Interna-tional Design Engineering Technical Conference (IDETC/CIE), 2015.

[14] Joshua T. Bryson, Xin Jin, and Sunil K. Agrawal. Optimal design of cable-drivenmanipulators using particle swarm optimization. ASME Journal of Mechanismsand Robotics, 2015.

[15] Joshua T. Bryson, Xin Jin, and Sunil K. Agrawal. Configuration robustness analy-sis of the optimal design of cable-driven manipulators. In Review: ASME Journalof Mechanisms and Robotics, 2016.

[16] CableCam Inc. http://www.cablecam.com/. accessed Oct. 2015.

[17] Giuseppe Calafiore, Fabrizio Dabbene, and Roberto Tempo. A survey of random-ized algorithms for control synthesis and performance verification. J. Complex.,23(3):301–316, June 2007.

[18] Wen-Tung Chang, Chen-Chou Lin, and Jyh-Jone Lee. Force transmissibility per-formance of parallel manipulators. Journal of Robotic Systems, 20(11):659–670,2003.

[19] Gery Colombo, Matthias Joerg, Reinhard Schreier, Volker Dietz, et al. Treadmilltraining of paraplegic patients using a robotic orthosis. Journal of rehabilitationresearch and development, 37(6):693–700, 2000.

[20] Lawrence L. Cone. Skycam: An aerial robotic camera system. Byte Magazine,10(10):122–132, 1985.

[21] J. Denavit, R. S. Hartenberg, R. Razi, and J. J. Uicker Jr. Velocity, accelera-tion, and static-force analyses of spatial linkages. Journal of Applied Mechanics,32(4):903–910, 1965.

[22] Xiumin Diao and Ou Ma. Force-closure analysis of 6-dof cable manipulators withseven or more cables. Robotica, 27:209–215, 3 2009.

[23] Abbas Fattah and Sunil K. Agrawal. Workspace and design analysis of cable-suspended planar parallel robots. Proceedings of the ASME Design EngineeringTechnical Conferences (IDETC/CIE), 5:1095 – 1103, 2002.

99

Page 116: The Optimal Design of Cable-Driven Robots

[24] Abbas Fattah and Sunil K. Agrawal. On the design of cable-suspended planarparallel robots. Journal of Mechanical Design, 127(5):1021–1028, 2005.

[25] Dimitris Fouskakis and David Draper. Stochastic optimization: a review. Inter-national Statistical Review, 70(3):315–349, 2002.

[26] David E. Goldberg. Genetic Algorithms in Search, Optimization and MachineLearning. Addison-Wesley Professional, USA, 1989.

[27] Clement Gosselin and Jorge Angeles. Singularity analysis of closed-loop kinematicchains. IEEE Transactions on Robotics and Automation, 6(3):281–290, 1990.

[28] Clement Gosselin and Jorge Angeles. A global performance index for the kine-matic optimization of robotic manipulators. ASME Journal of Mechanical Design,113(3):220–226, 1991.

[29] Marc Gouttefarde. Characterizations of fully constrained poses of parallel cable-driven robots: A review. Proceedings of the ASME Design Engineering TechnicalConferences (IDETC/CIE), 2008(43260):21–30, 2008.

[30] Marc Gouttefarde and Clement M. Gosselin. On the properties and the deter-mination of the wrench-closure workspace of planar parallel cable-driven mech-anisms. Proceedings of the ASME Design Engineering Technical Conferences(IDETC/CIE), (46954):337–346, 2004.

[31] Marc Gouttefarde and Clement M. Gosselin. Analysis of the wrench-closureworkspace of planar parallel cable-driven mechanisms. IEEE Transactions onRobotics, 22(3):434 – 445, 2006.

[32] Rania Hassan, Babak E. Cohanim, and Olivier L. de Weck. Compari-son of particle swarm optimization and the genetic algorithm. In 46thAIAA/ASME/ASCE/AHS/ASC Structures, Structural Dynamics, and MaterialsConference, number AIAA-2005-1897, Austin, Texas, April 18-21 2005. AmericanInstitute of Aeronautics and Astronautics.

[33] Randy L. Haupt and Sue Ellen Haupt. Practical Genetic Algorithms. John Wileyand Sons, Inc., 2nd edition, 2004.

[34] S. Hirose, K. Yoneda, and H. Tsukagoshi. Titan vii: quadruped walking and ma-nipulating robot on a steep slope. In Robotics and Automation, 1997. Proceedings.,1997 IEEE International Conference on, volume 1, pages 494–500 vol.1, Apr 1997.

[35] John Henry Holland. Adaptation of Natural and Artificial Systems. Ann Arbor:University of Michigan Press, 1975.

[36] Hideaki Ishii, Tamer Basar, and Roberto Tempo. Randomized algorithms forsynthesis of switching rules for multimodal systems. Automatic Control, IEEETransactions on, 50(6):754–767, 2005.

100

Page 117: The Optimal Design of Cable-Driven Robots

[37] Prashant Kumar Jamwal, Shengquan Xie, and Kean C. Aw. Kinematic designoptimization of a parallel ankle rehabilitation robot using modified genetic algo-rithm. Robotics and Autonomous Systems, 57(10):1018–1027, 2009.

[38] Reza N. Jazar. Theory of Applied Robotics: Kinematics, Dynamics, and Control.Springer, 2nd edition, 2010.

[39] Xin Jin and Sunil K. Agrawal. Design of a cable-driven active leg exoskeleton(C-ALEX) and gait training experiments with human subjects. Proceedings of theIEEE International Conference on Robotics and Automation (ICRA), 2015.

[40] S. Kawamura, W. Choe, S. Tanaka, and S.R. Pandian. Development of an ul-trahigh speed robot falcon using wire drive system. In Robotics and Automation,1995. Proceedings., 1995 IEEE International Conference on, volume 1, pages 215–220 vol.1, May 1995.

[41] Sadao Kawamura, Hitoshi Kino, and Choe Won. High-speed manipulation byusing parallel wire-driven robots. Robotica, 18:13–21, 1 2000.

[42] J. Kennedy and R. Eberhart. Particle swarm optimization. In Neural Networks,1995. Proceedings., IEEE International Conference on, volume 4, pages 1942–1948vol.4, Nov 1995.

[43] S. Kirkpatrick, C. D. Gelatt, and M. P. Vecchi. Optimization by simulated an-nealing. Science, 220(4598):671–680, 1983.

[44] Elvendin Kljuno, J. Jim Zhu, Robert L. Williams II, and Stephen M. Reily. Abiomimetic elastic cable driven quadruped robot - the robocat. Proceedings of theASME International Mechanical Engineering Congress and Exposition, (63534),2011.

[45] V Koltchinskii, CT Abdallah, M Ariola, and P Dorato. Statistical learning controlof uncertain systems: theory and algorithms. Applied mathematics and computa-tion, 120(1):31–43, 2001.

[46] Kok-Meng Lee and Jiajie Guo. Kinematic and dynamic analysis of an anatomicallybased knee joint. Journal of Biomechanics, 43(7):1231–1236, 2010.

[47] P. Letier, M. Avraam, S. Veillerette, M. Horodinca, M. De Bartolomei, A. Schiele,and A. Preumont. Sam : A 7-dof portable arm exoskeleton with local joint control.In Intelligent Robots and Systems, 2008. IROS 2008. IEEE/RSJ InternationalConference on, pages 3501–3506, Sept 2008.

[48] Chen-Chou Lin and Wen-Tung Chang. The force transmissivity index of planarlinkage mechanisms. Mechanism and Machine Theory, 37(12):1465–1485, 2002.

101

Page 118: The Optimal Design of Cable-Driven Robots

[49] Lars Lunenburger, Gery Colombo, and Robert Riener. Biofeedback for roboticgait rehabilitation. Journal of NeuroEngineering and Rehabilitation, 4(1), 2007.

[50] Ming Ma and Jianzhong Wang. Hydraulic-actuated quadruped robot mechanismdesign optimization based on particle swarm optimization algorithm. In ArtificialIntelligence, Management Science and Electronic Commerce (AIMSEC), 2011 2ndInternational Conference on, pages 4026–4029, Aug 2011.

[51] Y. Mao and S.K. Agrawal. Transition from mechanical arm to human arm withCAREX: A Cable driven ARm EXoskeleton (CAREX) for neural rehabilitation.Proceedings of the IEEE International Conference on Robotics and Automation(ICRA), pages 2457–2462, 2012.

[52] Ying Mao. CAREX: A Cable-Driven Arm Exoskeleton for Functional Training ofArm Movement. PhD thesis, University of Delaware, 2012.

[53] Ying Mao, Xin Jin, G.G. Dutta, J.P. Scholz, and S.K. Agrawal. Human movementtraining with a Cable driven ARm EXoskeleton (CAREX). Neural Systems andRehabilitation Engineering, IEEE Transactions on, 23(1):84–92, Jan 2015.

[54] D. Mayhew, B. Bachrach, W.Z. Rymer, and R.F. Beer. Development of theMACARM - a novel cable robot for upper limb neurorehabilitation. In Reha-bilitation Robotics, 2005. ICORR 2005. 9th International Conference on, pages299–302, June 2005.

[55] J. P. Merlet. Jacobian, manipulability, condition number, and accuracy of parallelrobots. ASME Journal of Mechanical Design.

[56] Aiguo Ming and Toshiro Higuchi. Study of multiple degree-of-freedom positioningmechanism using wires (part1) - concept, design and control. International Journalof the Japan Society for Precision Engineering, 28(2):131–138, 1994.

[57] S.K. Mustafa and S.K. Agrawal. On the force-closure analysis of n-dof cable-drivenopen chains based on reciprocal screw theory. IEEE Transactions on Robotics,28(1):22–31, 2012.

[58] Ruben E. Perez and Kamran Behdinan. Particle swarm optimization in structuraldesign. Swarm Intelligence, Focus on Ant and Particle Swarm Optimization, FelixT.S. Chan and Manoj Kumar Tiwari (Ed.), 2007.

[59] Joel C. Perry, Jacob Rosen, and Stephen Burns. Upper-limb powered exoskeletondesign. Transactions on Mechatronics, 12(4):408–417, 2007.

[60] Cong Bang Pham, Song Huat Yeo, Guilin Yang, Mustafa Shabbir Kurbanhusen,I Chen, et al. Force-closure workspace analysis of cable-driven parallel mechanisms.Mechanism and Machine Theory, 41(1):53–69, 2006.

102

Page 119: The Optimal Design of Cable-Driven Robots

[61] Jason Pusey, Abbas Fattah, Sunil Agrawal, and Elena Messina. Design andworkspace analysis of a 6-6 cable-suspended parallel robot. Mechanism and Ma-chine Theory, 39(7):761 – 778, 2004.

[62] Siavash Rezazadeh and Saeed Behzadipour. Tensionability conditions of a multi-body system driven by cables. Proceedings of the ASME International MechanicalEngineering Congress and Exposition, pages 1–7, 2007.

[63] Siavash Rezazadeh and Saeed Behzadipour. Workspace analysis of multibodycable-driven mechanisms. Journal of Mechanisms and Robotics, 3(2):1–10, 2011.

[64] Rodney G Roberts, Todd Graham, and Thomas Lippitt. On the inverse kine-matics, statics, and fault tolerance of cable-suspended robots. Journal of RoboticSystems, 15(10):581–597, 1998.

[65] A. Schiele and F.C.T. van der Helm. Kinematic design to improve ergonomicsin human machine interaction. Neural Systems and Rehabilitation Engineering,IEEE Transactions on, 14(4):456–469, Dec 2006.

[66] SKYCAM LLC. http://www.skycam.tv/. accessed Oct. 2015.

[67] Mark W. Spong, Seth Hutchinson, and M. Vidyasagar. Robot Modeling and Con-trol. John Wiley and Sons, Inc, 2006.

[68] Boris Mayer St-Onge and Clment Gosselin. Singularity analysis and representationof the general gough-stewart platform. The International Journal of RoboticsResearch, 19(3):271–288, 2000.

[69] Arno HA Stienen, Edsko EG Hekman, Frans CT Van Der Helm, and Herman VanDer Kooij. Self-aligning exoskeleton axes through decoupling of joint rotationsand translations. IEEE Transactions on Robotics, 25(3):628–633, 2009.

[70] Ethan Stump and Vijay Kumar. Workspaces of cable-actuated parallel manipu-lators. Journal of Mechanical Design, 128(1):159–167, 2006.

[71] Jan F. Veneman, Rik Kruidhof, Edsko E. G. Hekman, Ralf Ekkelenkamp, EdwinH. F. Van Asseldonk, and Herman Van Der Kooij. Design and evaluation of thelopes exoskeleton robot for interactive gait rehabilitation. IEEE Trans. Neur.Syst. Rehab. Eng.

[72] R. Verhoeven and M. Hiller. Estimating the controllable workspace of tendon-based stewart platforms. Proceedings of the 7th International Symposium on Ad-vances in Robot Kinematics, pages 277–284, 2000.

[73] Richard Verhoeven. Analysis of the Workspace of Tendon-based Stewart Platforms.PhD thesis, University of Duisburg-Essen, 2004.

103

Page 120: The Optimal Design of Cable-Driven Robots

[74] M Vidyasagar. Randomized algorithms for robust controller synthesis using sta-tistical learning theory. Automatica, 37(10):1515–1528, 2001.

[75] Jinsong Wang, Chao Wu, and Xin-Jun Liu. Performance evaluation of parallel ma-nipulators: Motion/force transmissibility and its index. Mechanism and MachineTheory, 45(10):1462–1476, 2010.

[76] Ming Wu, T. George Hornby, Jill M. Landry, Heidi Roth, and Brian D. Schmit. Acable-driven locomotor training system for restoration of gait in human sci. Gait& Posture, 33:922–931, 2011.

[77] Xiaolie Yin and Alan P. Bowling. Dynamic performance limitations due to yieldingin cable-driven robotic manipulators. Journal of Mechanical Design, 128(1):311–318, 2005.

[78] B. Zi, B.Y. Duan, J.L. Du, and H. Bao. Dynamic modeling and active control ofa cable-suspended parallel robot. Mechatronics, 18(1):1–12, 2008.

[79] Dimiter Zlatanov, R.G. Fenton, and B. Benhabib. Singularity analysis of mech-anisms and robots via a motion-space model of the instantaneous kinematics. InRobotics and Automation (ICRA), 1994 IEEE International Conference on, 1994.

104

Page 121: The Optimal Design of Cable-Driven Robots

Appendix

COPYRIGHT RELEASE

105