0% found this document useful (0 votes)
151 views318 pages

Understanding and Modeling The Behavior of A Harmonic Drive Gear Transmission

This technical report summarizes research into understanding and modeling the behavior of a harmonic drive gear transmission. The author performed experiments to measure the transmission's stiffness, friction, and kinematic error properties. The experimental results showed that kinematic error occurs at frequencies related to the wave generator speed and that transmission stiffness is highly nonlinear. Additional friction measurements demonstrated that energy dissipation varies nonlinearly with velocity and periodically with rotation. Dynamic response tests revealed surprisingly agitated behavior around resonance that improved when nonlinear friction, compliance, and kinematic error effects were included in simplified models of the gear meshing geometry. However, accurately modeling specific harmonic drive systems remains challenging due to elusive property measurements that depend on operating conditions.

Uploaded by

marko
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
151 views318 pages

Understanding and Modeling The Behavior of A Harmonic Drive Gear Transmission

This technical report summarizes research into understanding and modeling the behavior of a harmonic drive gear transmission. The author performed experiments to measure the transmission's stiffness, friction, and kinematic error properties. The experimental results showed that kinematic error occurs at frequencies related to the wave generator speed and that transmission stiffness is highly nonlinear. Additional friction measurements demonstrated that energy dissipation varies nonlinearly with velocity and periodically with rotation. Dynamic response tests revealed surprisingly agitated behavior around resonance that improved when nonlinear friction, compliance, and kinematic error effects were included in simplified models of the gear meshing geometry. However, accurately modeling specific harmonic drive systems remains challenging due to elusive property measurements that depend on operating conditions.

Uploaded by

marko
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 318

AD-A259 610

Technical Report 1365

Understanding and Modeling


the Behavior of a Harmonic
Drive Gear Transmission

Timothy D. Tuttli

MIT Artificial Intelligence Laboratory

DTIC
ELECTE
SJN2
21993

•TR~l,,,N TAEMEN,

Approved fox public releo11 1

1 98
21~~~ 038 ~ 93-01051
11NIng -"I38•R
93
Form Approved
REPORT DOCUMENTATION PAGE I OMB No. oo4-0o188
Pu•ic reorting burden for this coffeclion of information is esttmated to are"ae I hour per response. including the time or reviewing instructions.' searching existing data sources,
gatt•ring and maintaining the data needed, and completing and reviewing the collection ot information. Send comments regarding this burden esunate or any other .,oect of this
collection of information. including suggestions for reducing this burden, to Washington Hleadkuarsers Se•vKieS. Directorate for information Ooerations and Reports. 121S Jefferson
Davis Highway. Suite 1204. Arlington. VA 22202-4302. and to the Office of Management and Bludgt. Paperwork Reduction Project (0704-0 1BB), Wal..hngton. DC 20503

1. AGENCY USE ONLY (Leave blank) 2. REPORT DATE 3. REPORT TYPE AND DATES COVERED
May 1992 technical report
4. TITLE AND SUBTITLE S. FUNDING NUMBERS

Understanding and Modeling the Behavior of a Harmonic N00014-86-K-0685


Drive Gear Transmission V80380
6. AUTHOR(S)

Timothy D. Tuttle

7. PERFORMING ORGANIZATION NAME(S) AND ADDRESS(ES) 8. PERFORMING ORGANIZATION


Intelligence Laboratory REPORT NUMBER
Artificial
545 Technology Square AI-TR 1365
Cambridge, Massachusetts 02139

9. SPONSORING/MONITORING AGENCY NAME(S) AND ADDRESS(ES) 10. SPONSORING/ MONITORING


AGENCY REPORT NUMBER
Office of Naval Research
Information Systems
Arlington, Virginia 22217

11. SUPPLEMENTARY NOTES


None

12a. DISTRIBUTION /AVAILABILITY STATEMENT 12b. DISTRIBUTION CODE


Distribution of this document is unlimited

13. ABSTRACT (Maximum 200 words)

As harmonic-drive transmissions find increased use and acceptance among


engineers and designers, the demand for an accurate and reliable understanding of
harmonic-drive operating behavior becomes great. In my research, I have performed an
extensive experimental investigation of harmonic-drive properties such as stiffness,
friction, and kinematic error. From my experimental results, I have confirmed that
kinematic error appears primarily at frequencies that are multiples of the wave-generator
rotational speed and that transmission stiffness can be highly non-linear. Additional
measurements of static and dynamic friction demonstrated that energy dissipation in
harmonic drives varies non-linearly with velocity and periodically with rotation and can

(continued on back)
14. SUBJECT TERMS(key words) IS. NUMBER OF PAGES
harmonic drive harmonic drive gear dynamic modeling 1P
harmonic gear harmonic transmission 16. PRICE CODE

17. SECURITY CLASSIFICATION 1. SECURITY CLASSIFICATION 19. SECURITY CLASSIFICATION 20. LIMITATION OF ABSTRACT
OF REPORT OF THIS PAGE OF ABSTRACT
UNCLASSIFIED UNCLASSIFIED UNCLASSIFIED UNCLASSIFIED
NSN 7540-01-280-5500 Standard Form 298 (Rev 2-89)
P2"3c1,02d b ANSI $I Z39. 0
298-102)
Block 13 continued:
escalate during system resonance. Due to the interaction of these transmission properties,
dynamic response measurements showed surprisingly agitated behavior, especially around
system resonance. This behavior was rationalized in terms of the observed properties and
used to develop dynamic models to describe harmonic-drive operation. From these
models, I realized that non-linear frictional effects cannot be ignored in any accurate
representation. Additionally, if behavior around system resonance must be replicated, both
kinematic error and compliant behavior are essential. By introducing the effects of friction,
compliance, and kinematic error into a simplified representation of the gear-tooth meshing
geometry in the actual transmission, model performance, especially around system
resonance, improved substantially. Unfortunately, since accurate measurements of
harmonic-drive properties were elusive and highly dependent on operating conditions, it
seems unlikely that any harmonic-drive representation will be able to deliver reliable
performance unless detailed experimental observations of the specific harmonic-drive
system are available.
MASSACHUSETTS INSTITUTE OF TECHNOLOGY
ARTIFICIAL INTELLIGENCE LABORATORY

A.I. TECHNICAL REPORT NO. 1365 MAY 1992

UNDERSTANDING AND MODELING


THE BEHAVIOR OF A
HARMONIC DRIVE GEAR TRANSMISSION

TIMOTHY DOUGLAS TUTTLE


Accelon For
NTIS CRA&I
DTIC TAB
Unannounced 0
Justification .....----- ------

Byu...........
....... .
Distribution I
Availability Codes
Avail and / or
Dist Special
&t I
0 1992 MASSACHUSETTS INSTrUT• oFTECHNOLOGY
ALL RIGHTs RESERVED

THIS REPORT DESCRIBES WORK DONE AT THE ARTIFICIAL INTELLIGENCE LABORATORY


AT THE MASSACHUSETTS INSTITUTE OF TECHNOLOGY. FUNDING FOR THIS RESEARCH
WAS PROVIDED BY NASA GODDARD SPACE FLIGHT CENTER THROUGH THE
UNIVERSITY OF IOWA, CONTRACT NUMBER V80380.
UNDERSTANDING AND MODELING THE BEHAVIOR OF A
HARMONIC DRIVE GEAR TRANSMISSION

BY
TIMOTHY DOUGLAS TUTTLE

SUBMITTED TO THE DEPARTMENT OF MECHANICAL ENGINEERING ON MAY 8, 1992


IN PARTIAL FULFILLMENT OF THE REQUIREMENTS FOR THE DEGREE OF
MASTER OF SCIENCE IN MECHANICAL ENGINEERING

ABSTRACT

As harmonic-drive transmissions find increased use and acceptance among


engineers and designers, the demand for an accurate and reliable understanding of
harmonic-drive operating behavior becomes great. In my research, 1 have performed an
extensive experimental investigation of harmonic-drive properties such as stiffness,
friction, and kinematic error. From my experimental results, I have confirmed that
kinematic error appears primarily at frequencies that are multiples of the wave-generator
rotational speed and that transmission stiffness can be highly non-linear. Additional
measurements of static and dynamic friction demonstrated that energy dissipation in
harmonic drives varies non-linearly with velocity and periodically with rotation and can
escalate during system resonance. Due to the interaction of these transmission properties,
dynamic response measurements showed surprisingly zgitated behavior, especially around
system resonance. This behavior was rationalized in terms of the observed properties and
used to develop dynamic models to describe harmonic-drive operation.. From these
models, I realized that non-linear frictional effects cannot be ignored in any accurate
representation. Additionally, if behavior around system resonance must be replicated, both
kinematic error and compliant behavior are essential. By introducing the effects of friction,
compliance, and kinematic error into a simplified representation of the gear-tooth meshin;
geometry in the actual transmission, model performance, especially around system
resonance, improved substantially. Unfortunately, since accurate measurements of
harmonic-drive properties were elusive and highly dependent on operating conditions, it
seems unlikely that any harmonic-drive representation will be able to deliver reliable
performance unless detailed experimental observations of the specific harmonic-drive
system are available.

Research Supervisor: Dr. Warren P. Seering


Professor of Mechanical Engineering
Since I came to MIT, I have worked with many people who
have influenced my outlook and attitude. I have been
fortunate. With rare exceptions, the people I have met have
displayed consistently both compassion and conviction.
They have shared their strengths and have made me
stronger. It is through their example that I have learned my
obligation to contribute no less to the future than I have
received and will receive.

For their positive influence on my work in this document I


want to acknowledge

Warren Seering Whit Rappole Mimi

Brian Avery Trevor


Andrew Christian Tina Andrew

Lukas Rueker Mike Caine Ben Rocky


Ken Chang
Eric Vaaler George Cindy
Sarath Krishnaswami
Jim Hyde Mom and Dad

It was fun.
List of Figures .............................................................................. 7

L ist of T ables ................................................................................. 11

Chapter 1: Introduction .................................................................. 13


1.1 The Harmonic Drive ............................................................ 14
1.1.1 The Principles of Operation ................................................. 14
1.1.2 Performance Features and Applicability .................................. 16
1.1.3 The State of Harmonic-Drive Technology ................................ 19
1.1.3.1 Fundamental Operating Principles ..................................... 19
1.1.3.2 K inem atic Error .......................................................... 20
1.1.3.3 Torsional Stiffness ....................................................... 23
1.1.3.4 Frictional Losses ...................................................... 25
1.1.3.5 Dynamic Behavior .................................................... 25

1.2 The Scope of My Investigation .................................................... 26


1.3 The Organization of this Document .............................................. 27

Chapter 2: Experimental Analysis .................................................. 29


2.1 Description of Testing Apparatus ................................................. 30
2.1.1 Hardware Design and Sensor Locations .................................. 30
2.1.2 Sensor Processing and Interpretation .................................... 37
2.2 Kinematic Error Measurement ....................................................... 40
2.2.1 Experimental Procedures ................................................... 40
2.2.1.1 General Procedure .................................................... 40
2.2.1.2 Phase-Shift Procedure ................................................... 41
2.2.2 Discussion of Results .......................................................... 44
2.2.2.1 Characteristic Harmonic-Drive Error .............................. 44
2.2.2.1.1 Error at the Input Rotation Frequency ....................... 44
2.2.2.1.2 High-Resolution FFT Analysis of Primary Error
Component ...................................................... 49
2.2.2.1.3 Error at the Output Rotation Frequency ..................... 50
2.2.2.1.4 Error at High Frequencies ..................................... 52
2.2.2.2 Comparison to Catalog Values ......................................... 54
2.2.2.3 Modeling Considerations ............................................ 54
2.2.3 Kinematic Error Conclusions .............................................. 55

2.3 Stiffness Testing ........................................................................ 56


2.3.1 Experimental Procedure ........................................................ 56
2.3.2 Discussion of Results .......................................................... 57
2.3.2.1 Characteristic Stiffness Profiles ..................................... 57
2.3.2.2 Comparison to Catalog Values ......................................... 61
2.3.2.3 Modeling Considerations ................................................ 64
2.3.2.4 A Note on Input Diametral Stiffness ................................ 66
2.3.3 Stiffness Conclusions ...................................................... 67

3
Table of Contents

2.4 Starting-Torque Measurement ..................................................... 68


2.4.1 Experimental Procedure ..................................................... 68
2.4.2 Discussion of Results ...................................................... 69
2.4.2.1 Characteristic Starting-Torque Behavior ........................... 69
2.4.2.2 Comparison to Catalog Values ......................................... 70
2.4.2.3 Modeling Considerations .......................................... 70
2.4.3 Starting-Torque Conclusions ............................................. 71

2.5 Dynamic Friction Measurement ................................................... 72


2.5.1 Experimental Procedure ..................................................... 72
2.5.2 Discussion of Results ...................................................... 73
2.5.2.1 Characteristic Friction Behavior ...................... 73
2.5.2.2 Comparison to Catalog Values ......................................... 77
2.5.2.3 Modeling Considerations .......................................... 79
2.5.3 Friction and Damping Conclusions ........................................ 80
2.6 Dynamic Response Measurement ................................................ 83
2.6.1 Experimental Procedure ..................................................... 83
2.6.2 Discussion of Results ...................................................... 85
2.6.2.1 Characteristic Dynamic Behavior .................................. 85
2.6.2.1.1 Typical Dynamic Behavior Patterns ......................... 86
2.6.2.1.2 Influence of Observed Behavior on System Properties ....... 90
2.6.2.2 Modeling Considerations ........................................... 92
2.6.3 Dynamic Response Conclusions .......................................... 93

Chapter 3: Theoretical Modeling .................................................... 95


3.1 Modeling Techniques and Notation Conventions .............................. 97

3.2 Modeling the Experimental Apparatus ............................................... 100


3.2.1 Description of Models .......................................................... 100
3.2.2 Derivation of Equations of Motion ............................................ 104
3.2.3 Model Parameter Calculation .................................................. 107
3.3 Harmonic-Drive Model 1: ............................................................. 109
3.4 Harmonic-Drive Model 2: ............................................................. 113
3.4.1 Description of Model2 ......................................................... 113
3.4.2 Derivation of Dynamic Equations ............................................. 114
3.4.3 Evaluation of Simulated Results .............................................. 117
3.4.4 Model 2 Conclusions ........................................................... 121
3.5 Harmonic-Drive Model 3: ............................................................. 123
3.5.1 Description of Model 3 ......................................................... 123
3.5.2 Derivation of Dynamic Equations ............................................. 124
3.5.3 Model 3 Results and Conclusions ............................................ 125
3.6 Harmonic-Drive Model 4: ............................................................. 127
3.6.1 Description of Model 4 ......................................................... 127
3.6.2 Derivation of Dynamic Equations ............................................. 129
3.6.3 Calculation of Input Parameters ............................................... 133
3.6.4 Evaluation of Simulated Results .............................................. 136
3.6.5 Model 4 Conclusions ........................................................... 138
3.7 Harmonic-Drive Model 5: ............................................................. 140

4
Table of Contents

3.7.1 Description of Model 5 ......................................................... 140


3.7.2 Derivation of Dynamic Equations ............................................. 147
3.7.3 Calculation of Input Parameters ............................................. 153
3.7.4 Evaluation of Simulated Results .............................................. 158
3.7.5 Other Models .................................................................... 161
3.7.6 Model 5 Conclusions ........................................................... 162
Chapter 4: Conclusions ..................................................................... 165
4.1 Experimental Conclusions ............................................................. 165
4.2 Theoretical Modeling Conclusions ................................................... 168

4.3 Recommendations ...................................................................... 170

Chapter 5: Reference List .................................................................. 173


5.1 Harmonic-Drive-Related References ................................................. 173
5.1.1 Manufacturer's Literature ...................................................... 173
5.1.2 Reference Textbooks ........................................................... 174
5.1.3 Vibration and Dynamic Behavior ............................................. 174
5.1.4 Kinematic Error ................................................................. 176
5.1.5 Torsional Stiffness .............................................................. 177
5.1.6 Structural Analysis .............................................................. 178
5.1.7 Robotics Applications Employing Harmonic Drives ....................... 179
5.1.8 Gear-Tooth Profile ............................................................. 181
5.1.9 Operating Life and Tooth-Wear ............................................... 182
5.1.10 Hermetically-Sealed Transmissions .......................................... 183
5.1.11 Other Research on Harmonic Drives ......................................... 183
5.2 General References ..................................................................... 185

Appendix A: Sensor Calibration ......................................................... 187


A .1 Encoders ......................................................................... 187
A .2 R esolvers ........................................................................ 187
A.3 Tachometers ..................................................................... 188
A.4 Current Sensors ................................................................. 189
A.5 Torque Sensors ................................................................. 190

Appendix B: Simulation Code ............................................................ 195


Appendix C: Motor Amplifier Model ................................................... 233

Appendix D: Experimental Time-Response Data Plots ........................... 237


Appendix E: Simulated Time-Response Plots for the Harmonic-Drive
Model with Friction, Compliance and Kinematic Error ...................... 263
Appendix F: Simulated Time-Response Plots for the Harmonic-Drive
Model Including Gear-Tooth Geometry ........................................... 289

5
6
Figure 1.1: The three components of a harmonic drive ................................... 15
Figure 1.2: An assembled harmonic-drive transmission ..................................... 15
Figure 1.3: The harmonic-drive operating mechanism ................................... 17
Figure 1.4: Typical transmission error displayed by harmonic drives ..................... 21
Figure 1.5: Typical stiffness profile displayed by harmonic drives ...................... 23
Figure 2.1: Harmonic-drive testing apparatus ................................................. 31
Figure 2.2: Cross-section of joint 1......................................................... 32
Figure 2.3: Joint 1 sensor locations ........................................................ 33
Figure 2.4: Cross-section of joint 2 ....................................................... 34
Figure 2.5: Joint 2 sensor locations ........................................................ 35
Figure 2.6: Cross-section of joint 3....................................................... 36
Figure 2.7: Joint 3 sensor locations ........................................................ 37
Figure 2.8: Experimental data acquisition system and controller ......................... 38
Figure 2.9: Joint 1 position-error waveform at the input rotation frequency .......... 45
Figure 2.10: FFT of joint I position error in cycles per input revolution ................. 45
Figure 2.11: Joint 2 position-error waveform at input rotation frequency ................. 46
Figure 2.12: FFT of joint 2 position error in cycles per input revolution ................. 46
Figure 2.13: Joint 3 position-error waveform at input rotation frequency ................. 47
Figure 2.14: FFT of joint 3 position error in cycles per input revolution ................. 47
Figure 2.15: High resolution FFT of joint 1 primary position-error ........................ 49
Figure 2.16: FFT of joint I position error in cycles per output revolution ................. 51
Figure 2.17: FFT of joint 3 position error in cycles per output revolution ................. 51
Figure 2.18: FFT of joint 2 high-frequency position error .............................. 53
Figure 2.19: FFT of joint 3 high-frequency position error .............................. 53
Figure 2.20: Apparatus for harmonic-drive stiffness tests ................................ 56
Figure 2.21: Joint 1 harmonic-drive stiffness curve ....................................... 58
Figure 2.22: Joint 2 harmonic-drive stiffness curve ....................................... 58
Figure 2.23: Joint 3 harmonic-drive stiffness curve ...................................... 59
Figure 2.24: Joint 1 stiffness curves for different wave-generator angles ................ 60
Figure 2.25: Joint I stiffness curves for different wave-generator preloads .............. 60
Figure 2.26: Joint I linear approximations to stiffness data .............................. 62
Figure 2.27: Joint 2 linear approximations to stiffness data .............................. 62
Figure 2.28: Joint 3 linear approximations to stiffness data .............................. 63
Figure 2.29: Cubic-fit of joint 1 harmonic-drive stiffn, data ........................... 64
Figure 2.30: Cubic-fit of joint 2 harmonic-drive stiffn. - data ........................... 65
Figure 2.31: Cubic-fit of joint 3 harmonic-drive stiffness data ........................... 65
Figure 2.32: Joint 1 aggregate-friction and motor-damping curves ...................... 74
Figure 2.33: Damping curve for the joint 1 harmonic drive .............................. 74
Figure 2.34: Joint 2 aggregate-friction and motor-damping curves ...................... 75
Figure 2.35: Damping curve for the joint 2 harmonic drive .............................. 75
Figure 2.36: Joint 3 aggregate-friction and motor-damping curves ...................... 76
Figure 2.37: Damping curve for the joint 3 harmonic drive .............................. 76
Figure 2.38: Joint I harmonic drive efficiency ........................................... 78
Figure 2.39: Joint 2 harmonic drive efficiency ............................................... 78
Figure 2.40: Joint 3 harmonic drive efficiency ............................................... 79
Figure 2.41: Cubic fit of joint I non-resonance harmonic-drive damping ........ 80
Figure 2.42: Cubic fit of joint 2 non-resonance harmonic-drive damping ........ 81

7
List of Fieures

Figure 2.43: Cubic fit of joint 3 non-resonance harmonic-drive damping ............ 81


Figure 2.44: Experimental configurations for dynamic testing .......................... 84
Figure 2.45: Non-linear resonance frequency spectrum ..................................... 89

Figure 3.1: Schematic of apparatus design for joints 1 and 2 ................................ 101
Figure 3.2: Schematic of apparatus design for joint 3 ........................................ 101
Figure 33: Lumped-parameter model for joints 1 and 2 ..................................... 102
Figure 3.4" Lumped-parameter model for joint 3 .............................................. 103
Figure 3.5: Variable notation for the model of joints 1 and 2 ................................ 104
Figure 3.6: Variable notation for the model of joint 3......................105
Figure 3.7: An ideal harmonic-drive representation ........................................... 109
Figure 3.8: Notation for the ideal harmonic-drive model ..................................... 110
Figure 3.9: Joint I ideal-model input-velocity for a 1.6 amp step ........................... 110
Figure 3.10: Joint 2 ideal-model input-velocity for a 1.4 amp step ......................... 111
Figure 3.11: Joint 3 ideal-model input-velocity for a 0.28 amp step ........................ 111
Figure 3.12: A harmonic-drive model with friction ........................................... 113
Figure 3.13: Notation for the harmonic-drive model with friction .......................... 115
Figure 3.14: Joint 1 input-velocity response for a model with friction ..................... 118
Figure 3.15: Joint 2 input-velocity response for a model with friction ..................... 119
Figure 3.16: Joint 3 input-velocity response for a model with friction ..................... 120
Figure 3.17: A harmonic-drive model with friction and compliance ........................ 123
Figure 3.18: Notation for the model with friction and compliance .......................... 124
Figure 3.19: Harmonic-drive model 4 .......................................................... 128
Figure 3.20: Notation for harmonic-drive model 4 ........................................... 129
Figure 3.21: Joint 1 stiffness profile for harmonic-drive model 4 .......................... 134
Figure 3.22: Joint 2 stiffness profile for harmonic-drive model 4 .......................... 134
Figure 3.23: Joint 3 stiffness profile for harmonic-drive model 4 ....................... 135
Figure 3.24: Close-up of harmonic-drive gear-tooth action .................................. 141
Figure 3.25: Schematic of harmonic-drive model with gear-tooth geometry .............. 142
Figure 3.26: Harmonic-drive gear-tooth contact zones ....................................... 145
Figure 3.27: Revised transmission model for negative-torque loading ..................... 146
Figure 3.28: Kinematic notation and sign conventions for model 5 ........................ 148
Figure 3.29: Torque notation and sign conventions for model 5 ............................ 149
Figure 3.30: Joint 1 stiffness profile for harmonic-drive model 5 .......................... 155
Figure 3.31: Joint 2 stiffness profile for harmonic-drive model 5 .......................... 156
Figure 3.32: Joint 3 stiffness profile for harmonic-drive model 5 .......................... 156

Figure A. 1: Linear fit of joint 1 tachometer calibration data .................................. 188


Figure A.2: Linear fit of joint 2 tachometer calibration data .................................. 189
Figure A.3: Experimental apparatus used to calibrate torque sensors ....................... 191
Figure A.4: Joint 1 torque sensor calibration data for positive loading ..................... 191
Figure A.5: Joint 1 torque sensor calibration data for negative loading .................... 192
Figure A.6: Joint 2 torque sensor calibration data for positive loading ..................... 192
Figure A.7: Joint 2 torque sensor calibration data for negative loading .................... 193
Figure A.8: Joint 3 torque sensor calibration data for positive loading ..................... 193
Figure A.9: Joint 3 torque sensor calibration data for negative loading .................... 194

Figure C. 1: Amplifier voltage and current operating domain ................................ 233


Figure C.2: Calculation of voltage bounds for a desired current ............................ 234
Figure C.3: Motor-amplifier simplified circuit schematic .................................... 235

Figure D. 1.1: Joint 1 input-position step-responses ......................................... 239


Figure D. 1.2: Joint 1 input-velocity step-responses ......................................... 240
Figure D. 1.3: Joint I input-current step-responses .......................................... 241

8
List of Figures

Figure D.1.4: Joint 1 output-position step-responses ........................ 242


Figure D.1.5: Joint 1 output-velocity step-responses ........................................ 243
Figure D. 1.6: Joint I output-velocity step-responses ............................. ........... 244
Figure D.1.7: Joint 1 output-torque step-responses .......................................... 245
Figure D. 1.8: Joint 1 dynamic position error at 4.0 amps resonance ....................... 246
Figure D.2. 1: Joint 2 input-position step-responses ......................................... 247
Figure D.2.2: Joint 2 input-velocity step-responses ......................................... 248
Figure D.2.3: Joint 2 input-current step-responses .......................................... 249
Figure D.2.4: Joint 2 output-position step-responses .................. 250
Figure D.2.5: Joint 2 output-velocity step-responses ........................................ 251
Figure D.2.6: Joint 2 output-velocity step-responses ........................................ 252
Figure D.2.7: Joint 2 output-torque step-responses ................... 253
Figure D.2.8: Joint 2 dynamic position error at 2.6 amps resonance ....................... 254
Figure D.3. 1: Joint 3 input-position step-responses ......................................... 255
Figure D.3.2: Joint 3 input-velocity step-responses ......................................... 256
Figure D.3.3: Joint 3 input-current step-responses .......................................... 257
Figure D.3.4: Joint 3 output-position step-responses .................. 258
Figure D.3.5: Joint 3 output-velocity step-responses ........................................ 259
Figure D.3.6: Joint 3 output-velocity step-responses ........................................ 260
Figure D.3.7: Joint 3 output-torque step-responses .......................................... 261
Figure D.3.8: Joint 3 dynamic position error at 0.48 amps resonance ..................... 262

Figure E. 1.1: Joint 1 input-position simulated step-responses ............................. 265


Figure E.1.2: Joint 1 input-velocity simulated step-responses ............. 266
Figure E.1.3: Joint I input-current simulated step-responses ............................... 267
Figure E. 1.A: Joint 1 output-position simulated step-responses ............................ 268
Figure E. 1.5: Joint 1 output-velocity simulated step-responses ............................ 269
Figure E. 1.6: Joint 1 output-velocity simulated step-responses ............................ 270
Figure E. 1.7: Joint 1 output-torque simulated step-responses .............................. 271
Figure E.1.8: Joint 1 simulated dynamic position error at 4.0 amps.............. 272
Figure E.2. 1: Joint 2 input-position simulated step-responses ............................. 273
Figure E.2.2: Joint 2 input-velocity simulated step-responses .................. 274
Figure E.2.3: Joint 2 input-current simulated step-responses .............. 275
Figure E.2.4: Joint 2 output-position simulated step-responses ............................ 276
Figure E.2.5: Joint 2 output-velocity simulated step-responses ............................ 277
Figure E.2.6: Joint 2 output-velocity simulated step-responses ............................ 278
Figure E.2.7: Joint 2 output-torque simulated step-responses .............................. 279
Figure E.2.8: Joint 2 simulated dynamic position error at 2.2 amps .......... 280
Figure E.3.1: Joint 3 input-position simulated step-responses ............................. 281
Figure E.3.2: Joint 3 input-velocity simulated step-responses .............................. 282
Figure E.3.3: Joint 3 input-current simulated step-responses .............. 283
Figure E.3.4: Joint 3 output-position simulated step-responses ............................ 284
Figure E.3.5: Joint 3 output-velocity simulated step-responses ............................ 285
Figure E.3.6: Joint 3 output-velocity simulated step-responses ......................... .286
Figure E.3.7: Joint 3 output-torque simulated step-responses .............................. 287
Figure E.3.8: Joint 3 simulated dynamic position error at 0.44 amps ...................... 288

Figure F. 1.1: Joint 1 input-position simulated step-responses ............................. 291


Figure F.1.2: Joint 1 input-velocity simulated step-responses ............. 292
Figure F.1.3: Joint I input-current simulated step-responses ............................... 293
Figure F. 1.4: Joint 1 output-position simulated step-responses ............................ 294
Figure F. 1.5: Joint 1 output-velocity simulated step-responses ............................ 295
Figure F. 1.6: Joint I output-velocity simulated step-responses ............................ 296
Figure F. 1.7: Joint 1 output-torque simulated step-responses .............................. 297

9
List of Fieures

Figure F.1.8: Joint 1 simulated dynamic position error at 4.0 amps............ 298
Figure F.2. 1: Joint 2 input-position simulated step-responses ............................. 299
Figure F.2.2: Joint 2 input-velocity simulated step-responses ...................... 300
Figure F.2.3: Joint 2 input-current simulated step-responses .............. 301
Figure F.2.4: Joint 2 output-position simulated step-responses ............................ 302
Figure F.2.5: Joint 2 output-velocity simulated step-responses ............................ 303
Figure F.2.6: Joint 2 output-velocity simulated step-responses ............................ 304
Figure F.2.7: Joint 2 output-torque simulated step-responses .............................. 305
Figure F.2.8: Joint 2 simulated dynamic position-error at 2.6 amps ....................... 306
Figure F.3. 1: Joint 3 input-position simulated step-responses ............................. 307
Figure F.3.2: Joint 3 input-velocity simulated step-responses ............. 308
Figure F.3.3: Joint 3 input-current simulated step-responses .............. 309
Figure F.3.4: Joint 3 output-position simulated step-responses ............................ 310
Figure F.3.5: Joint 3 output-velocity simulated step-responses ............................ 311
Figure F.3.6: Joint 3 output-velocity simulated step-responses ............................ 312
Figure F.3.7: Joint 3 output-torque simulated step-responses .............................. 313
Figure F.3.8: Joint 3 simulated dynamic position error at 0.44 amps ...................... 314

10
T Le. ef Tab eso

Table 1.1: Performance advantages of harmonic-drive transmissions .................. 18


Table 1.2: Performance disadvantages of harmonic-drive transmissions ........... 18

Table 2. 1: Specifications for the three harmonic drives tested......................... 30


Table 2.2: Motor specifications for the three testing stations ............................ 32
Table 2.3: Description of important harmonic-drive variables ............................ 38
Table 2.4: Absolute joint rotation in terms of harmonic-drive variables ................... 38
Table 2.5: Sensor measurements in terms of harmonic-drive variables .................... 39
Table 2.6: Sensor resolution for the three testing stations ................................ 39
Table 2.7: Highest measurable spatial frequencies ......................................... 41
Table 2.8: Total peak-to-peak position error for the three harmonic drives ............... 48
Table 2.9: Input starting-torque values for the three harmonic drives ................... 70
Table 2.10: Inertia parameters for the dynamic-response tests ........................... 85
Table 2.11: Summary of experimental data-plot numbers in Appendix D ............. 86
Table 2.12: Variation in output friction torque with output angle ........................ 90

Table 3.1: Explanation of variable names for testing-station models ...................... 98


Table 3.2: Explanation of variable names for harmonic-drive models ...................98
Table 3.3: Parameter values for the testing-station models ................................... 107
Table 3.4: Kinematic-error components in model 4 vs. measured values .................. 136
Table 3.5: Summary of simulated time-response plots in appendix E ...................... 137
Table 3.6: Kinematic-error components in model 5 vs. measured values .................. 158
Table 3.7: Summary of simulated time-response plots in appendix F ...................... 159

Table A. 1: Encoder calibration parameters ..................................................... 187


Table A.2: Tachometer calibration factors ...................................................... 189
Table A.3: Current sensor calibration factors .................................................. 190
Table A.4: Torque sensor calibration factors .................................................. 190

Table C. 1: Resistance values for the motor amplifier model ................................. 234

Table D. 1: Summary of experimental time-response data-plot numbers ................... 238

Table E. 1: Summary of simulated time-response plot numbers ............................. 264

Table F. 1: Summary of simulated time-response plot numbers ............................. 290

11
12
A good mechanical designer holds a clear awareness of the capabilities and
limitations of his design. For most designers, this awareness rests heavily on a firm
understanding of the individual components that comprise the entire assembly. For
mechanical systems employing harmonic drives, a designer can gain confidence in the
performance of the overall mechanism if the operation of the harmonic drive is clearly
understood. Additionally, for applications, such as robot control, which require
mathematical models to describe system performance, a thorough understanding of the
behavior of harmonic-drive transmissions is essential. The purpose of my investigation is
to identify important attributes that influence the operation of harmonic-drive transmissions
and to relate these attributes to overall dynamic behavior. On the basis of insight gained
from this empirical analysis, I hope to develop mathematical models that can be used to
predict reliably the dynamic performance of harmonic-drive transmissions.

I began my investigation of harmonic-drives with an experimental analysis of


kinematic, static, and dynamic behavior. In particular, I recorded and analyzed kinematic
position error, compliance, and frictional losses in the transmission. From these results I
discovered that friction and flexibility in the harmonic drives can be highly non-linear and
very sensitive to changes in environmental and operating conditions. Because of these
poorly behaved transmission properties, the dynamic response of the transmission was
often equally erratic and unpredictable. Specifically, operation in regions that excited
system resonance bred significant energy losses and surprisingly turbulent behavior.
Despite the complexity of these experimental observations, I undertook to develop simple
harmonic-drive representations to describe the discovered behavior. In total, five different
models were derived and evaluated to illustrate the range of accuracy that could be delivered
by harmonic-drive representations of varied complexity. From these models, the
importance of friction, compliance, and kinematic-error on model performance was
emphasized as was the importance of gear-tooth meshing geometry in the transmission.

13
Chapter 1: Introduction

Results from these models were encouraging and informative, but more detailed
representations are required to capture fully the subtleties of harmonic-drive behavior.

In this document, I will describe completely the results of my experimental and


theoretical analysis of harmonic drives. I will begin this presentation with a summary of
existing research that is related to my investigation. Second, I will display and discuss the
results of my experimental inquiry into important transmission properties and dynamic
response. Third, I will develop several theoretical models to describe the observed
behavior, and last, I will offer conclusions and recommendations to guide future work.

1.1 The Harmonic Drive


Since its conception by Walt Musser in 1955, the harmonic drive has found
widespread use and acceptance among mechanical designers. This nascent mechanical
transmission, occasionally labeled "strain-wave gearing", employs a continuous deflection
wave along a non-rigid gear to allow gradual engagement of gear teeth. Because of this
unconventional gear-tooth meshing action, harmonic drives can deliver very high reduction
ratios in a very small package. As a peripheral consequence, the radical mechanical
operation of this gear train defies conventional understanding of gear behavior and creates a
new arena for exploration and understanding. Following this impetus for investigation,
several independent researchers have made valuable contributions to the state of harmonic-
drive technology in the past thirty years. In addition to surveying the operational principles
and utility of harmonic transmissions, this section will attempt to present a brief yet broad
summary of existing research insights related to my investigation.

1.1.1 The Principles of Operation

Every harmonic drive is composed of the three distinct parts illustrated in figure
1.1: the wave-generator, the flexspline, and the circular spline. The wave-generator is a
ball-bearing assembly with a rigid, elliptical inner-race and a flexible, thin-walled outer
race. The flexspline is a thin-walled, flexible cup adorned with small, external gear teeth
around its rim. When assembled, the wave-generator is nested inside the flexspline,
causing the flexible gear-tooth circumference on the flexspline to adopt the elliptical profile

14
Chapter)1: Introduction

0r 1.1 thre co 0h pnet of a ham nc rv

Fiir 1.2 An senbe ham nc- v trn m sso

15
Chapter)I: Introduction

of the wave-generator. The circular spline is a rigid ring with internal teeth machined along
a slightly larger pitch diameter than those of the flexspline. When the flexspline-and-wave-
generator assembly is inserted into the circular spline, the external teeth on the flexspline
mesh with the internal teeth on the circular spline along the major axis of the wave-
generator ellipse. A correctly assembled harmonic drive with a cut-away section is shown
in figure 1.2.

If properly assembled, all three components of the transmission can rotate at


different but coupled velocities on the same axis. The rotational mechanism, as illustrated
in figure 1.3, begins when rotation of the wave-generator carries the zone of gear-tooth
engagement with its major axis. When this zone is propagated 1800 around the
circumference of the circular spline, the flexspline, which contains two fewer teeth than the
circular spline, will lag by one tooth relative to the circular spline. Through this gradual
and continuous engagement of slightly offset gear teeth, every rotation of the wave-
generator moves the flexspline two teeth back on the circular spline. Through this
unconventional mechanism, gear ratios up to 320:1 can be achieved in a single
transmission.

Since the harmonic drive has three rotational ports, it boasts a versatility unavailable
to standard gear transmissions. Specifically, in its most popular configuration, the circular
spline is fixed to ground and a low-torque, high-speed motor driving the wave-generator
can produce high-torque, low-speed rotation on the flexspline. Similarly, with the
flexspline mounted to ground, the torque on the wave-generator can be magnified and
transmitted through the circular spline. If either the circular spline or flexspline is used as
an input, the wave-generator can be driven at high velocities and low torques. In general,
by using different combinations of rotations on the three harmonic-drive components,
numerous differential- gearing functions and reduction ratios can be achieved.

1.1.2 Performance Features and Applicability

Currently, commercial harmonic drives are manufactured by two companies: The


Harmonic Drive Machinery Group in Wakefield, MA, USA, and Harmonic Drive Systems,
Incorporated, in Tokyo, Japan. Available harmonic drive products include the standard
cup-type gearing, pancake transmissions, housed units, and motor-driven motion-control
systems. Typical gear ratios of commercial drives range from 50:1 to 320:1, and

16
Chapter 1: Introduction

. . . .
.r . . ... ...

.fh . ........ ~ a k L r II

Intaly th0 lx ln n

cic lrsl7eg a-e t


Chapter 1: Introduction

efficiencies can approach 90 percent. The smallest transmissions can provide a respectable
maximum torque output of about 3.5 N-m (30.0 in-lbs), while the heavy-duty units boast
up to 10,000 N-m (89,000 in-lbs) of torque capacity.

Because of its unique operating principles, the harmonic drive displays performance
features both superior and inferior to conventional gear transmissions. These advantages
and disadvantages are itemized in Table 1.1 and Table 1.2.

The unique performance features of the harmonic drive have captured the attention
of designers in many fields. Specifically, due to their accuracy and simple construction,

High torque capacity Since torque is transmitted through muftiple-tooth contact, harmonic
drives can withstand high loads at small pitch-diameters.

Concentric geometry Since all three harmonic-drive components are concentric and coaxial,
designers can drastically reduce power-train size and complexity.
Lightweight and Requiring only three basic elements, the harmonic drive can deliver
compact design extremely high gear ratios in a small package.
Zero backlash Natural gear preloading and predominantly radial tooth-engagement
eliminate virtually all transmission backlash.
High Efficiency Ifproperly lubricated, typical efficiencies of harmonic-drive
transmissions can reach 80 to 90 percent.
Backdrivability Due to their high efficiency, wave-generator rotation can be driven
through the flexspline or circular spline.

High flexibility Due to the high loads seen by the wave-generator and gear teeth,
moderate operating torques can produce substantial transmission
torsion.
Kinematic error Due to manufacturing inaccuracies, harmonic drives exhibit a small but
ubiquitous position error across the transmission.
Resonance vibration Since torque fluctuations produced by kinematic error can interact with
the low stiffness of the transmission to excite resonances, high
vibration amplitudes may be generated in some operating ranges.
Non linearity Both the flexibility and frictional losses in the drive exhibit highly
nonlinear behavior.
Poorly understood Compared to conventional gear transmissions, relatively little
exploration has been done of the unusual operating mechanisms in
the harmonic drive.

18
Chapter 1: .- rroduction

harmonic drives have been used successfully in industrial robots, assembly equipment,
and measuring instruments. Heavy-duty applications such as machine tools and printing
presses have also utilized harmonic drives for their high-torque capabilities. Additionally,
space and aircraft systems often employ harmonic drives for their lightweight and compact
geometry.

1.1 3 The State of Harmonic-Drive Technology

Throughout its short existence, the harmonic drive has enjoyed continuously
increasing international attention from designers as well as researchers. In the Soviet
Union, substantial research, predominantly performed on a harmonic drive featuring a
wave-generator with two rollers instead of an elliptical bearing, has provided valuable
insight into the structural and dynamic properties of the drive as well as its suitability for
heavy-duty applications. More recently, Japanese researchers have explored such areas as
transmission stiffness, positioning accuracy, and tooth-meshing mechanisms in an effort to
develop new gear-tooth geometries and improve harmonic-drive performance.
Investigating harmonic drive performance in robotics and aerospace applications,
researchers in the United States have also contributed constructive insights about the limits
of harmonic-drive applicability.

The reference list at the end of this document contains citations for numerous papers
encompassing the scope harmonic-drive research worldwide. Primarily, this research has
been focused in six major areas: (1) vibration and dynamic behavior, (2) kinematic error,
(3) torsional stiffness, (4) structural analysis, (5) robotics applications, and (6) gear-tooth
geometry. Since my investigation is particularly focused on the dynamic and static
performance of harmonic drives, past research on dynamic behavior, positional error, and
torsional stiffness received most of my attention. In an effort to overview the current state
of harmonic drive technology, a description of the fundamental mechanisms of harmonic-
drive operation as well as relevant insights presented in existing literature will be
summarized in this section.

1.1.3.1 Fundamental Operating Principles

In commercial catalogs, every harmonic drive is assigned a transmission ratio, N,


which describes its position, velocity, and torque behavior. Specifically, given a known

19
Chapter): Introduction

rotation on two of the three harmonic-drive ports as well as a value for N, the ideal rotation
of the third harmonic-drive port can be predicted by the equation

Owg = (N + 1) 0,s- N f (1.1)

where Ows is the rotation of the wave-generator, 0cs is the rotation of the circular spline,
and Of, is the rotation of the flexspline. All three rotations in this equation are defined in
the same frame of reference. Similarly, given that N is constant under ideal assumptions,
the derivative of this relationship yields a similar velocity constraint:

,swg
= (N + 1) wcs - N (,fs, (1.2)

where cowg. (0cs, and cofs represent the angular velocities of the three harmonic-drive
components relative to the same velocity reference. From these equations, it can be seen
that, if the circular-spline velocity is zero, the wave-generator will rotate N-times faster than
the flexspline in the opposite direction. In a different configuration, a grounded flexspline
dictates that the wave-generator will spin (N+I) times faster than the circular spline in the
same direction. By applying the law of power conservation to the three ports of the
harmonic drive, the ideal torque behavior of the transmission can also be defined:

T (N+I1)N
Tw= I T.. =- - Tfs, (1.3)

where Twg, TCs, and Tfs are the torques, defined with identical sign conventions, seen by
the three harmonic-drive components. From this identity, it can be seen that the torque on
one port of the harmonic drive dictates the ideal torque seen by the other two ports. Notice
that the torque on the flexspline is nearly equivalent to the torque on the circular spline,
which is approximately N-times greater than the torque on the wave-generator. By
applying the torque, velocity, and position equations presented above, the dynamic
behavior of a harmonic drive transmission under ideal assumptions can be completely
defined.

1.1.3.2 Kinematic Error

In applications requiring high positional accuracy, the inherent kinematic errors


manifested by harmonic drives expose the shortcomings of an ideal transmission model.
This position error, 0.,,, is typically measured by subtracting the rotation at the output of

20
Chapter 1: Introduction

the harmonic drive from the input rotation scaled by the ideal gear ratio for the given
transmission configuration:
0 err = 0i -
0 out
gear ratio (1.4)

Based on experimental observation, manufacturers' catalogs report that the magnitude of


this position error typically varies periodically at a frequency of twice the wave-generator
rotational velocity. Additionally, the amplitude of this periodic error often modulates twice
per flexspline or circular-spline revolution as illustrated in figure 1.4. One manufacturer,
[3], reports that the peak-to-peak amplitude of the kinematic error on all harmonic drive
models rarely exceeds 0.033 degrees of output rotation (2 arc minutes), while the other,
[4], claims that peak-to-peak error is inversely proportional to pitch-diameter and ranges
from 0.095 degrees (5.7 arc minutes) to 0.013 degrees (0.8 arc minutes). Both
manufacturers claim that position-error can be reduced further on a custom basis. [3, 4]

The root of harmonic-drive kinematic inaccuracy has been attributed to several


different sources. As reported by Nye and Kraml in [24], harmonic-drive manufacturers
claim that the position error is causea predominantly by manufacturing and assembly
imperfections. Specifically, tooth-placement errors on both the circular spline and

21
Chapter 1: Introduction

flexspline, out-of-roundness in the three transmission components, as well as misalignment


during assembly can account for the majority of kinematic imperfection. By developing a
detailed model which translated expected manufacturing and assembly errors into overall
transmission error, Emel'yanov, et al., [20], made accurate predictions of experimentally
observed position error. Klypin, et al., [23], used Emal'yanov's model to develop a
computer simulation and further confirm the presence of numerous manufacturing and
assembly errors in the measured transmission error. More recently, Yanabe, et al., [28],
used precise experimental equipment to measure tooth-placement errors and concluded that
the origins of position error lie mostly in the angular pitch errors of the flexspline and
circular spline. In contrast to these conclusions, investigations by Hsia, [21, 22], and
Ahmadian, [ 191, have focused blame for kinematic inaccuracies on inherent errors in the
operating principles of harmonic drives irrespective of manufacturing and assembly errors.
Both researchers developed kinematic models to predict position error based on
transmission geometry and operating behavior.

In addition to postulating probable sources for kinematic error, the experimental


investigations of Yanabe, et al., [28], and Nye and Kraml, [24], have lent further insight
into the repeatability and variation of typical gear-error waveforms. By measuring the
position error of multiple harmonic drives over one complete output rotation, both
researchers observed that the resulting error signature can display frequency components at
two cycles per wave-generator revolution and several subsequent harmonics. Typically,
error components occurring once per wave-generator revolution are not found since they
are canceled by the symmetry of the wave-generator, which ensures two-point contact
between of the flexspline and circular spline. As Nye and Kraml summarized, the primary
error component was seen at two cycles per wave-generator revolution with the next nine
harmonics contributing up to fifty-five percent of the total kinematic error. The authors
regret that there is no method for predicting the frequency components of the position error
signal for an arbitrary harmonic drive other than careful measurement. By exposing a
range of harmonic drive models to a variety of environmental and operational conditions,
Nye and Kraml catalogued variations in position-er-or due to (1) temperature, (2) wear, (3)
pitch diameter, (4) misalignment, (5) improper assembly, and (6) overloading. Based on
this new knowledge of gear-error behavior, Nye and Kraml then successfully developed an
electronic motion-control scheme designed to compensate for known kinematic
inaccuracies.

Additional observations in [281 and [24] record the presence of the significant
amplitude modulation or beating in position error waveforms of most harmonic drives

22
Chapter 1: Introduction

while a few transmissions showed little or no amplitude modulation. Both authors concur
that the presence of amplitude modulation over several wave-generator cycles is caused by
the summation of the circular spline and flexspline gear-error components; since these two
error waveforms appear at slightly different frequencies, constructive and deconstructive
interference of the two error signals is manifested by low-frequency beating.

1.1.3.3 Torsional Stiffness

Under ideal assumptions, a harmonic-drive transmission is treated as a perfectly


rigid gear reduction. However, due to the relatively low torsional stiffness of harmonic
drives, a more detailed understanding of transmission flexibility is often required for
accurate modeling. Available research results have focused on understanding the
characteristic shape and variation of the non-linear stiffness profile and pinpointing sources
of transmission flexibility.

Harmonic drive stiffness is commonly measured by locking the wave-generator and


measuring the rotation of the output (circular spline or flexspline) as the result of an applied
load. As described in a manufacturer's catalog, [31, the typical shape of the stiffness curve
for a harmonic drive loaded in both direction is shown in figure 1.5. This curve illustrates

I
two characteristic properties of harmonic-drive flexibility: increasing stiffness with

23
Chapter 1: Introduction

displacement and hysteresis loss. To capture the non-linear stiffness behavior,


manufacturers, [3, 4], suggest using piecewise linear approximations whereas. several
independent researchers, [11, 18], prefer a cubic polynomial approximation. For certain
modeling applications, other researchers, [42, 52] have had success using a linear stiffness
approximation. At low applied torques, soft wind-up in the transmission due to this non-
linear stiffness behavior can sometimes act like backlash. Fortunately, manufacturers claim
that this deceptive non-linearity is kept below 0.05 degrees of output rotation (3 arc
minutes). The hysteresis loss in a harmonic drive is a phenomenon more difficult to model
than the stiffness, and consequently, it is ignored often. In support of this neglect, the
manufacturer's catalog, [3], reassures modelers that the total loss is typically less than
0.033 degrees of output rotation (2 arc minutes).

The primary sources of flexibility in harmonic-drive transmissions has been a topic


of much investigation and speculation. By performing tests on high-torque harmonic
drives with two-cam wave-generators, Margulis, et al., [29], concluded that the largest
component in the total torsional compliance was the deformation of the wave-generator.
Specifically, it was observed that high radial forces on the wave-generator can cause
substantial radial deflection allowing relative rotation across the transmission. By
performing similar stiffness tests on conventional harmonic drives with elliptical-bearing
wave-generators, Yanabe, et al., [321, also noticed that, due to the high radial forces seen
by the wave-generator, resulting deflection in the wave-generator bearing can greatly
influence transmission torsion. The zones of maximum loading on the wave-generator
were predicted using a finite-element model of the flexspline. Research by Nye, [65],
attributed the characteristic non-linear profile of harmonic-drive stiffness curves to
increasing gear-tooth contact area under applied loads. Qualitative observations indicated
that the axial length of the contact interface between meshing gear teeth can vary from ten
percent, under no-load conditions, up to 100 percent, when fully loaded. The importance
of gear-tooth contact on transmission stiffness was confirmed by Kiyosawa, et al., [57],
when flexibility was dramatically reduced in harmonic drives with a modified gear-tooth
profile designed to increase the tooth-engagement zone. In summary, existing research
indicates that most transmission compliance can be traced to wave-generator deformation,
but gear-tooth contact-area and meshing-zone, which can effect the load-distribution inside
the harmonic drive, are influential in determining the shape of the stiffness profile.

As a consequence of the relatively complex compliance mechanisms of the


harmonic drive, significant variations can occur in transmission stiffness for a given drive.
In particular, a manufacturer's catalog, [3], cautions that stiffness profiles measured from

24
Chapter 1: Introduction

a single drive can vary as much as ±30 percent. Nye, [65], confirms the magnitude of this
variability and observes its dependence on the integrity of internal fit-up. Specifically, he
notes that stiffness typically increases with tighter meshing of gear teeth and increased
internal loading. Experimental results from Nye and Hikada, et al., [ 11], indicate that,
since wave-generator orientation often influences gear-tooth loading, transmission stiffness
can vary significantly with wave-generator rotation. Further investigation by Nye
produced theoretical loading models which successfully described the influence of gear-
tooth preloading on stiffness and predicted preload- and stiffness-relaxation due to gear-
tooth wear.

1.1.3.4 Frictional Losses

Another performance metric in which harmonic-drive behavior falls short of ideal is


frictional dissipation. Manufacturer's catalogs, [3, 5], report typical transmission power
losses greater than ten percent. This transmission inefficiency is manifested by lower
output torques than ideal assumptions would predict. Further research by Mariler and
Richard, [52], among others, reports that the velocity-dependent damping in harmonic-
drive transmissions increases less sharply at higher velocities than lower velocities and
might even decrease at very high velocities. Based on these observations, the authors
recommend using a cubic approximation to capture this non-linear damping behavior.
Research has also been performed to understand the behavior of velocity-independent
losses, such as static and Coulomb friction, in harmonic drives. Specifically, Nye, [65],
reports that starting torque values for harmonic-drive transmission can fluctuate greatly as a
function of the orientation of the wave-generator. The author attributes this variation to
different levels of gear-tooth preloading causing fluctuating static friction torques over one
revolution of the wave-generator. Static and kinematic models developed by Nye and
others, [39], rely on geometric models of gear-tooth rubbing to estimate Coulomb friction
forces on the gear teeth and wave-generator.

1.1.3.5 Dynamic Behavior

Due to the non-ideal behavior of harmonic-drive kinematic accuracy, stiffness, and


frictional losses, ideal-transmission models are often insufficient to describe accurately the
dynamic behavior of harmonic drives. In the past, many researchers, such as [42], have

25
Chapter]: Introduction

opted to capture harmonic-drive dynamics using linear stiffness and damping relationships
while others, [44, 51, 52], required non-linear representations to ensure model accuracy.
In order to capture the torque fluctuations induced by kinematic error, a few researchers,
such as [11, 18], supplement their models with a sinusoidal torque function derived from
position-error fluctuations or measured directly. For many applications in which non-ideal
transmission behavior becomes dominant, harmonic-drive manufacturer's frequently
recommend adjustment of the operating envelope to a region less plagued by transmission
dynamics. Some research, such as [13], has been focused on developing simple models to
predict operating regions in which harmonic drives are well-behaved.

Depending on the design and operating conditions, several researchers note that
strikingly non-ideal behavior can be exhibited in harmonic-drive systems. Specifically,
experimental measurements by Hikada, et al., [111, and Volkov, et al, [18], reveal that
harmonic drives typically exhibit vibrations at twice the frequency of wave-generator
rotation and several subsequent harmonics. It was also noticed that the amplitude of
vibration increased when one of these frequencies coincided with the natural frequency of
the harmonic-drive system. Furthermore, plots of resonance vibration presented by
Hikada, et al., illustrated the same twice-per-output-revolution amplitude modulation seen
in position-error signatures. By developing a simple non-linear vibration model which
captured the behavior of tooth-meshing errors, Hikada, et al., illustrated the direct influence
of position error on dynamic vibration. Further comparison between model predictions and
experimental results revealed the importance of representing the variation in stiffness with
wave-generator angle to ensure model accuracy. Another non-linear vibration model
developed by Volkov, et al., was able to predict observed system non-linearities such as
vibrations at subharmonics of the wave-generator excitation frequency due to the non-linear
harmonic-drive stiffness.

1.2 The Scope of My Investigation


The results of my research yielded several insights which may be useful to
harmonic-drive users and designers. From my experimental analysis, I characterized the
magnitude and typical behavior of several important transmission properties. In particular,
kinematic error was confirmed to appear primarily at frequency-multiples of the wave-
generator angular velocity, and static stiffness measurements were found to yield non-linear
profiles that were corrupted by transmission friction. Additional measurements of static

26
Chapter 1: Introduction

and dynamic friction demonstrated that energy dissipation in harmonic drives varies non-
linearly with velocity and periodically with rotatic and can escalate during system
resonance. By comparing these empirical observations to manufacturer's estimates, I
discovered that, due to the fickle nature of most harmonic-drive attributes, catalog
predictions often fail to describe the observed behavior. Following this investigation of
individual properties, overall dynamic response measurement showed surprisingly agitated
transmission behavior. Specifically, due to the problematic influence of system resonance
in typical harmonic-drive operating ranges, dynamic response data demonstrated violent
torque and velocity fluctuations as well as sudden unexpected increases in operating
velocity. Using the understanding of transmission properties gained from experimental
analysis, this unusual dynamic behavior was rationalized.

Using the experimental findings as a reference, five different theoretical models


were developed to describe harmonic-drive operation. First, an ideal transmission
representation was constructed that showed very poor performance under dynamic
conditions. When non-linear frictional losses were appended to this ideal representation,
model integrity improved. In order capture the important influence of resonant vibration on
system performance, non-linear compliance and kinematic error were introduced into the
harmonic-drive representation. The resulting model demonstrated resonant frequencies and
resulting vibrations close to experimental observations but remained ignorant to the
enhanced frictional losses at resonance. By developing a simplified geometric
representation of gear-tooth meshing that included Coulomb friction at the gear-tooth
interface, the elusive resonance losses were replicated and model performance improved.
Unfortunately, due inaccuracies that remained in this model and the difficulty of estimating
reliable values for transmission properties, a more detailed representation of gear-tooth
meshing behavior is required to improve model integrity. Nevertheless, the relatively
simple mathematics of this representation and its close conceptual relationship to the actual
transmission makes it a valuable tool for fostering an intuitive understanding of harmonic-
drive operation.

1.3 The Organization of this Document


The presentation of research findings in this document begins with a complete
discussion of my experimental investigation. First, I will describe the testing apparatus and
instrumentation followed by a discussion of four important harmonic-drive properties: (1)

27
Chapter 1: Introduction

kinematic-error, (2) stiffness, (3) starting torque, and (4) dynamic friction. For each of
these topics, the testing procedure will be described, experimental results will be presented,
and conclusions will be made about the observed behavior. Using this empirical insight,
dynamic-response measurements will then be characterized and rationalized in terms of
important transmission properties. With experimental dynamic measurements to serve as a
metric for model performance, my theoretical exploration of harmonic-drive operation will
then be outlined. This presentation begins with a discussion of the dynamic models
developed to simulate the testing apparatus followed by a description of five different
harmonic-drive representations. For each of these transmission models, equations of
motion will be derived, accuracy and reliability will be evaluated, and conclusions will be
drawn about the potential usefulness and applicability of each representation. Based on
results from these theoretical models as well as the findings of the experimental inquiry,
conclusions and recommendations will be made about rewarding areas for future research.

28
Cha te 2: E p rm na l Anay i

A sound understanding of harmonic-drive behavior is vital for making well-


informed design decisions about applications employing harmonic-drives. Additionally,
the development of a reliable transmission model rests heavily upon accurate
characterization of harmonic-drive performance parameters. Given this impetus for
improved understanding, several tests have been performed to investigate the kinematic,
static, and dynamic properties of this unique transmission.

From my experimental investigation, I have collected data to characterize the


kinematic error, stiffness, and friction behavior of three harmonic-drive test specimens and
have identified relationships between these transmission properties and overall harmonic-
drive dynamic response. In general, I observed that, due to the inseparable interaction
between friction, compliance, and transmission error, accurate characterization of these
properties was difficult in many cases. Not surprisingly, because of this complication,
catalog estimates of these values were often unreliable. Nevertheless, given the collected
data, simple mathematical representations were constructed to extract useful information for
dynamic modeling. Perhaps more importantly, from the qualitative understanding gained
from the experimental analysis of harmonic-drive position error, stiffness, and friction,
typical harmonic-drive dynamic response patterns were identified and rationalized in terms
of the observed transmission properties.

This section is dedicated to presenting the findings of my experimental investigation


into these areas. To accomplish this task, the experimental apparatus used for all harmonic-
drive testing will be discussed first followed by a presentation of results from each of the
experimental tests. During this presentation of the individual experiments, specific testing
procedures will be outlined, results will be discussed and conclusions will be formed. The
discussion of results in each of these sub-sections not only focuses on observed
experimental behavior but also addresses experimental accuracy, catalog predictions, and
potential modeling strategies. Finally, with the insight gained from all of the experimental
tests, typical dynamic-response behavior observed on harmonic drives will be presented
and characterized.

29
Chapter 2: Description of Testing Apparatus

2.1 Description of Testing Apparatus


All experimental testing for this project was performed on a three-joint, planar robot
with harmonic-drive transmissions. This testing facility is shown in figure 2.1. To allow
for straightforward data collection on the three harmonic drives, the apparatus was
designed so that each joint could be removed from the robot and operated independently.
For the purpose of this document, these three joints, each sporting a different harmonic
drive, will be referenced by numbers 1, 2 and 3. This section is devoted to describing the
design and instrumentation of these three joints followed by an overview of the data-
acquisition methods used for each testing assembly.

2.1.1 Hardware Design and Sensor Locations


Due to the functional requirements of the robot, each of the three joint assemblies
requires a different design. Serving as the robot base, joint I is the largest and most
powerful of the three testing facilities. Joint 2 places second in bulk and brawn, relying on
a slightly smaller motor and transmission than joint 1. With a much lower torque capacity
than its two companions, joint 3 is significantly smaller in size than joint 1 or 2. Tables 2.1
and 2.2 summarize important motor and transmission properties for each of the three joints,
and in light of these differences, the specific design of these three testing stations can now
be discussed.

Tal .1 Speiiain fo th the hamoi drvs teste

S..
. . .... ... .

1M 5C 1C
160:1 160:1 80:1
.... . '.............
...................

8,14 cm 6.35 cm 3.56 cm


(3.20 in) (2.50 in) (1.40 in)

280 N-rn 140 N-rn 15.8 N-m


0" (2470 in-lb) (1240 in-lb) (140 in-lb)
The harmonic-drive models tested were purchased from the Harmonic Drive Machinery Group and are
listed in catalog reference (4].

30
Chapter 2: Description of Testing Apparatus

31
Chapter 2: Description of Testin q Apparatus

Tabl 2.2 Moo spcfctos fo th the tsig stain

joint I Joint 2 Joint 3


Model Number Aerotech Aerotech Clifton SmCo
1035DC 101 7DC AS-780
Peak Torque. 1.84 N-rn 0.92 N-rn 0.35 N-rn
(16.25 in-b (8.13 inlb (3.13 in-b
Maximurn Spee 6000 rpm 6500 rpm 8000 rpm

Torque Constan 0.06 N-rn/amp 0.03 N-rn/amp 0.04 N-rn/amp


(0.53 in-lb/amp) (0.26 in-lb/amp) (0.36 in-lb/amp)

Back EWIF Constant 6.30 volts/krpm 3.04 volts/krpm 4.25 volts/krpm

32
Chapter 2: Description of Testing Apparatus

The design of the first harmonic-drive testing station, joint 1, is shown in figure
2.2. From this cross-section, it can be seen that the flexspline of the harmonic drive is
mounted to ground while the wave-generator is driven by a DC motor mounted to the
circular spline. The output link of this joint is supported by a pair of angular-contact
bearings and is driven by the circular spline of the harmonic drive. This joint also contains
two encoders, one torque sensor, and a tachometer whose locations are illustrated in figure
2.3. From this diagram, it can be seen that the input encoder and tachometer measure the
rotation of the motor shaft with respect to the motor housing which is mounted to the
circular spline. The output encoder is mounted to ground and measures the absolute
rotation of the circular spline through a gear pair with an 8:1 reduction ratio. I-astly, since
the only rigid connection between the drive train and ground is the torque sensor at the
flexspline output, this sensor can be used to measure directly the torque across the
transmission as seen by the flexspline.

33
Chapter 2: Description of TestinR. Apparatus

As illustrated in Figure 2.4, the design of joint 2 is almost identical to joint 1.


Specifically, on the input side of the joint, the wave-generator is driven by a motor
mounted to the circular spline, while the rotation of the output link is driven by the circular
splne. As seen on joint 1, the flexspline is attached to ground and angular-contact bearngs
are used to support the rotation of the output link. The instrumentation similarities between
joint 1 and 2 are also apparent from the schematic in figure 2.5. As explained for joint 1,
the input encoter and tachometer monitor the rotation of the motor shaft with respect to the
circular spline while the output torque sensor measures all torque seen at the flexspline.
Due to design restrictions, the output rotation on joint 2 is measured by a resolver rather
than a rotary encoder as used on jointl. This resolver directly measures the angular
position and velocity of the circular spline with respect to ground through a gear pair with a

6.67:1 reduction ratio.

34
Chapter 2: Description of Testing Apparatus

0 0 mil 0

35
Chapter 2: Description of Testing Apparatus

The third and final testing station, as illustrated in figure 2.6, relies on a design
configuration substantially different from the two other joints. In particular, while the
wave-generator is still driven by a motor mounted to the circular spline, the output rotation
of the joint is transmitted through the flexspline and the circular spline is attached to
ground. This unique design not only allows for unrestrained rotation of the output link but
also provides a facility for examining harmonic-drive behavior under a different operating
configuration. From the sensor locations outlined in figure 2.7, it can be seen that, unlike
the other two joints, the input encoder directly measures absolute motor rotation and there
is no input tachometer. On the output side, a resolver measures the flexspline rotation with
respect to ground through a gear-pair with a 7.2:1 reduction ratio. Since the torque sensor
connects both the motor and circular spline to ground, it can measure directly the combined
torque of the wave-generator and circular spline, or equivalently, the torque seen at the
flexspline.

36
Chapter 2: Description of Testing Apparatus

.IIT

2.1.2 Sensor Processing and Interpretation

In order to monitor sensors and control motors on each joint, the data-acquisition
system and motor-controller illustrated in figure 2.8 was used. Using a software
environment called CONDOR, developed at the MIT Artificial Intelligence Laboratory,
computer code was compiled on a Sun 3/180 workstation and loaded onto a series of
Ironics processor boards. When executed, this code could then collect sensor information
from the data-acquisition boards and sensor-processing circuits shown in figure 2.8. To
control the motors, desired motor currents were specified on the D to A board and then
amplified through an Aerotech 4020-LS DC Servo Amplifier. By monitoring the amplifier
current with the A to D board, measurements of motor current and torque could be
gathered.

In order to extract useful information about harmonic-drive behavior, a thorough


understanding of sensor measurement is required. First, relationships must be made
between the measurements seen by the sensors on each joint and the rotations and torques
on the individual harmonic-drive components. Given the variable names defined in table

37
Chapter2: Description of Testing Apparatus

2.3, the input and output rotations with respect to ground are defined in table 2.4, and the
sensor-measurement relationships are defined in table 2.5. Second, as presented in table
2.6, sensor resolution and accuracy -must be characterized, and, lastly, sensors must be
calibrated. Experimental calibration procedures and results are reported in Appendix A.
From this catalog of sensor information, experimental data can now be used to accurately
measure the dynamic, static, and kinematic performance of the three harmonic-drive test
specimens.

On. Ofs, and 0=s Angular position of the wave-generator, flexspline, and circular spline,
respectively, as referenced from ground.

64g, o"1s, and (w Angular velocity of the wave-generator, flexspline, and circular spline,
respectively, as referenced from ground.

Twg, Tt,, and T. Torque experienced by the wave-generator, Ilexspline, and circular
spline, respectively.

.....
.... . A

R 10; CWg Wjg

38
Chapter 2: Description of Testin e A Pparatus

Tabe .5:Sesormesurmetsintem
of haronic-driv vaoiables

tnput Sensor -oho


- - (6 wg

eoct nO5fu WC Wcs


iwg - no sensor

Inpt rnrntSenormotor amps motor amps motor amps

Output
~Vetpct............ .... o.eno
Output; noou
senornsot O

.. I.on
~h .... 2 t

thutPoitonSeso ±0.045 input ±00.045 input ± 0.09 input0


- -2.7 arc min) (±2.7 arc min) (±5.4 arc min)
inutVeloi6ty"`ensor 30 input 0/sec ±30 input 0/sec none
(+5.0 rpm) (±5.0 rpm)
Input Current Sesr+0.057 amps ±0.061 amps ±0.057 amps

Output Po09inSeso 0.0023 output C±0.0008 output 0 ±0.0008 output0


0.14 arc min) (0.05 arc min) (0.05 arc min)
OutputVelocity eno none ±0.8 output 0/sec ±2.8 output 0I/sec
(0.1 rpm) (0.47 rpm)
Outpt
Toque ensr + .45 -in 0.7 N-n ± .034N-i
4...I)(
(..... . n-b ±03i-b

.. ...
......
Chapter 2: Kinematic Error Measurement

2.2 Kinematic Error Measurement


The goal of my experimental investigation of harmonic-drive kinematic properties
was to accurately characterize the position-error signatures of the three harmonic-drive
specimens. As a result of this investigation, I not only confirmed the expected position-
error magnitude and frequency distribution over typical frequency ranges but also
characterized transmission accuracy at other rotational frequencies. Based on high-
resolution experimental findings, evidence was found to trace the origins of kinematic
inaccuracy to flexspline and circular-spline gear error. This section outlines the method
used to collect kinematic-error data as well as the results and conclusions gained from this
experimental analysis.

2.2.1 Experimental Procedures

Due to complications in separating harmonic-drive position-error components from


kinematic inaccuracies inherent in the test apparatus, two different experimental procedures
were required to measure position-error data. The general procedure was used for the
majority of experimental trials while the phase-shift procedure was required to resolve
transmission error that varied over one output rotation of the harmonic-drive. These two
procedures are outlined below.

2.2.1.1 General Procedure

In order to collect position-error data, the three harmonic-drive testing stations were
used to measure input and output rotation over a range of motion. By assuming quasi-
static conditions, kinematic-error data was collected while the joint was rotated at a small
but non-zero velocity. The typical procedure for data-acquisition and processing is listed
below.

n By sending a constant current to the joint motor that exceeds the transmission
starting torque, rotate the harmonic drive at the slowest velocity at which
resonance vibration is minimal.

F21 Collect input and output position information from the joint sensors at equally
spaced time intervals over a given motion range.

40
Chapter 2: Kinematic ErrorMeasurement

n•] Calculate the position error, Ow, using the equation:

err = geagerratio
tio - out. (2.1)

Plot the resulting position-error signal versus the number of input, or wave-
generator, revolutions to analyze the shape of the error signature.

F5] Linearly interpolate the time-based position-error signal to produce data points
that are equally spaced by input rotation.

[•] Take an FFT of the interpolated data vector to identify the frequency
components of the error signature in terms of input revolutions.

By adjusting the range of transmission rotation and the number of data points
accumulated, FFT spectra spanning a wide range of frequencies were collected. Assuming
that at least two data points per cycle are required to measure position-error frequency
components, position-sensor resolution limits the cycles per angular position, or spatial
frequency, that can be measured on each harmonic drive. These spatial frequency upper-
bounds are listed in table 2.7.

outpt enoder250.0
output resolver 1365.0

input encoder 1000.0

2.2.1.2 Phase-Shift Procedure

Since a typical harmonic-drive position-error signature is composed of waveforms


located at distinct spatial frequencies, most error components arising from harmonic-drive
inaccuracies could be easily distinguished from inherent kinematic errors in the testing
apparatus. Unfortunately, since position inaccuracy in the output sensor gear appeared at
the same frequency as a potential harmonic-drive error component, a separate data-
collection procedure was required to separate these two error components. More precisely,
using the data-collection procedure above, harmonic-drive position-error components

41
Chapter 2: Kinematic Error Measurement

occurring once every output revolution, and harmonics, were contaminated by inaccuracies
in the output sensor gear which appeared at the same frequency. To distill the contribution
of the harmonic drive from this aggregate error waveform, a second set of position-error
data in which the harmonic drive was physically rotated by a fraction of a revolution
relative to the output sensor gear was required. In other words, after the first set of
kinematic-error data was obtained, the angular position of the harmonic-drive relative to the
output gear was shifted by a known amount before the second data set was collected. By
taking an FFT of these two signals, subtracting them, and scaling the result appropriately,
the harmonic-drive error-component could be accurately identified.

The theoretical basis for this experimental procedure can be clarified by assuming
that the position-error waveform collected from the harmonic drive testing apparatus has
three components: (1) hi(0), a first error signal at a spatial frequency of once-per-output
revolution , (2) h2 (0), a second signal at a spatial frequency of once-per-output revolution,
and (3) g(0), a third signal composed of various other components at different frequencies,
where 0 is a measurement of angular position. Therefore, the aggregate position-error
signal, h,. 1 (0), can be defined as

hsum(0) = h1 (0) + h2(0) + g(0) (2.2)

Now assume that a second signal is collected in which the first component was rotated by a
known phase shift, AO, in the positive 0-direction. This signal, hsu 2 (0), is described by

hsum2(0) = h i(0 - A 0) + h2(0) + g(0) (2.3)

Taking the Fourier transform of both equations yields

Hsumi(co) = H1 (w) +H 2(co) + G(wo) , and (2.4)

-um2(w) = H 1(w) ei wAO + H2(,o) + G(co) (2.5)

where co is the spatial frequency in radians per rotational unit. By subtracting these two
equations, it can be seem that the H2 (4o)and G(n) terms disappear leaving an equation in
terms of H1 (w) and the two aggregate error signals:

H1(o)= Hsuml((O) - Hsum2(), (2.6)


HI~cI (2.6)A

42
Chapter 2: Kinematic Error Measurement

for wo AO * 21 n , n = 0, 1,2. Therefore, if a phase shift, can be accurately introduced


into the harmonic-drive error component, it can be easily extracted from two sets of
position-error data using this equation.

The procedure used to collect and process two sets of position-error data according
to this theory is itemized below.

W Set the zero setpoint for input and output position sensors on the given testing
station.
n2 Move the joint at a slow, non-resonating velocity by sending a current to the
joint motor.

[•J Read input and output position data at equally spaced time intervals.

F41 Calculate the kinematic error from equation (2.1).

F51 Filter this position error data at every time step using a linear FIR digital low-
pass filter to prevent aliasing of high-frequency position error components
into sampled data.

n6 Return the joint to its original position after this data run is complete.

[F] Interpolate the first set of position error data to generate data points that are
equally spaced by input rotation rather than time.

r8] Introduce a phase shift into either the harmonic drive, the output gear, or both
by rotating that component a measured number of degrees.

n9 Collect the second set of data using the same procedure used to gather the first
set.
1-0 Interpolate this data set over the identical range of rotation used in the first set
of data.

F11 Take an FFT of both data sets to yield frequency-domain data.

1 Subtract the two resulting vectors of frequency domain data at all frequencies
and scale the difference according to equation (2.6) to yield the magnitude
spectrum of the phase-shifted position-error component.
F'3ý Take an inverse FFT of this spectrum to produce the waveform of the phase-
shifted position-error component if desired.

43
Chapter 2: Kinematic Error Measurement

2.2.2 Discussion of Results

The results of several experimental tests on harmonic-drive kinematic error are


presented in this section. After the importance of these results has been analyzed,
comparisons will be made to catalog predictions of harmonic-drive position-error, and
modeling representations of observed behavior will be discussed. Based on these findings,
conclusions will be made about kinematic error in harmonic drives.

2.2.2.1 Characteristic Harmonic-Drive Error

For organizational clarity, I have divided my position-error experimental findings


into four sub-sections. The first section describes the most significant harmonic-drive
error, which appears at frequencies corresponding to multiples of input, or wave-generator,
rotations. The second section presents results from high-resolution tests on these same
error components. The third section focuses on error components that vary with output
rotation while the fourth section focuses on high-frequency error signals which oscillate
many times every wave-generator revolution. In each of these sections, experimental data
will be interpreted and factors which can influence measured results will be discussed.

2.2.2.1.1 Error at the Input Rotation Frequency

Figures 2.9 through 2.14 illustrate the typical position-error waveforms observed
on the three harmonic drives as well as the spatial FFT results which indicate the frequency
content of these error signatures. For all of these plots, position-error magnitude is
measured in degrees of output (flexspline or circular spline) rotation and plotted in terms of
input (wave-generator) revolutions. In both the FFT and waveform plots, significant
energy content can be seen at frequencies lower than one cycle-per-input-revolution. These
low-frequency error components are due primarily to position inaccuracies in the output
sensor gear train and should not be mistaken for harmonic-drive error. Unfortunately, the
tooth-passing frequency of the output sensor gear-train appears on the joint 2 FFT
spectrum at 3.0 cycles-per-input-revolution. When viewing this plot, the error component
observed at this frequency should not be attributed to the harmonic-drive transmission.
Table 2.8 summarizes the peak-to-peak error magnitudes observed on the three harmonic
drives.

44
Chapter 2: Kinematic Error Measurement

0.040

0.030-

0.020 ...

- 0.010..........

0.000 .4 ..

.2-
-0.020 ............. .... ....
....

-0.030 - --

0 0.5 1 1.5 2
Input Revolutions

Fiur 2. :S Jon 1 po io waefr at th in u roato frqunc

S0.010
FL. .. ... ... ... ... ... ... ... .... ... ... ... ... ... ... ... ....

... . . . . . . .

S 0 .0 0 6 .......................
..... ... .............. ........

.2 0.004

.g0.0020

45
Chapter 2: Kinematic Error Measurement

0.040-

0 .0 3 0 i...............
.... ..... ....
....
....
(A
0.020
............... ......... .... ......... .... ...
W 0.1 ......- . ..... .........

w -0.010 . ..

.0.020

-0.040 F - "
..... .... . . . . . . .

0 0.5 1 1.5 2
Input Revolutions

a)
P)

S0.0101

0
0 .00 8 -.............................
....... ......

Cu -

r 0 .004 .........-.................

-2 0.002

0.00

0 2 4 6 8 10 12 14 16 18 20
Frequency (cyclestinput revolution)

Fiur 2.2 of jon 2 po 0F iinerri0yls p rip ttv lt

46
Chapter 2: Kinematic Error Measurement

0.040

0.030-

- 0.010 ....-.
.. ...... ........... .

wU -0.010.............

U)-0.020 .. ....
0

-0.030 ..........-..........
..... .... 7.......
....

-0.040-
0 0.5 1 1.5 2
Input Revolutions

S0.012
4)

'0 0.010

0.008
0...0
0.6...
. ........
................ ... ......
...
0. 0 .. ...... ............ ... ... ... ...
. .. . . ... ... ....... ....... ............;... ... ... ....

0.002...............
4 ..... ...-..

0.000
0 2 4 6 8 10 12 14 16 18 20
Frequency (cycles/input revolution)

Fi]Sr 2.4 of jon 3 00


po ito ero cy lsp rip trv 0 lto

47
Chapter 2: Kinematic Error Measurement

on
Ion ont 3
St es .u
... ••.....ut
....... .. 0.045 0.030 0.060

(utut*)0.042
QU~G~vlu 0.053 0.095

As past research suggests, the kinematic-error results display a primary error


component at 2.0 cycles-per-input-revolution with smaller contributing components
appearing in the next eight harmonics. As noted by Nye and Kraml, [241, in many FFT
spectra, such as the ones for joints 2 and 3, the error component of the last observable
harmonic, eighteen cycles-per-input-revolution, was surprisingly large in amplitude.
Harmonic content contributed typically less than sixty percent of the total error signal.
Additionally, in many FFT spectra, such as the ones for joint 2 and 3, error components
were seen at 1.0 cycles-per-input-revolution and subsequent harmonics. This observation
is not surprising since any misalignment or improper mounting of harmonic-drive
components could likely produce kinematic error at this frequency.

Through qualitative observations made during experimentation, I noticed a strong


sensitivity of error magnitude and composition on joint velocity. More specifically, slight
changes in the joint velocity during data collection caused noticeable variation in the
position error signatures. For example, some tests, especially on joint 2 and 3, revealed
discrepancies in error amplitude of up to 100 percent. Through investigations into the
dynamic behavior which will be discussed later, it was discovered that, due to the high
fluctuating torques excited by transmission error during rotation, significant torsional
deflection can occur in the harmonic drive which increases or decreases position error.
Since the harmonic drives on joint 2 and 3 have lower stiffness than the one on joint 1, it is
likely that they are more susceptible to kinematic-error contamination by torsional
deflection. The results presented above were collected carefully at slow velocities which
exhibited minimal resonance vibration. Despite this experimental prudence, the true
accuracy of the above results can only be determined by understanding the dynamic
behavior of the transmission. Consequently, due to this breakdown of the quasi-static
assumption, future position-error testing should be conducted on a stationary transmission
in order to ensure measurement accuracy.

By disassembling and reassembling the harmonic drive testing equipment between


experiments, I observed some interesting behavior in the position-error profiles. In

48
Chapter 2: Kinematic Error Measurement

particular, for a few tests, the largest position-error component appeared at four cycles-per-
wave-generator revolution rather than two, and harmonic content of the aggregate error
waveform increased substantially. Fortunately, no significant changes in the overall
position-error magnitude were observed in the testing apparatus due to joint reassembly.
However, as Nye and Kraml note in [24], since alignment can influence the magnitude of
kinematic error in harmonic drives, I would not have been surprised if less careful
reassembly resulted in different kinematic-error measurements.

2.2.2.1.2 High-Resolution FFT Analysis of Primary Error Component

To satisfy my curiosity, I performed a few tests in which I increased the FFT


resolution around the two-cycles-per-input-revolution frequency by increasing the number
of sampled data points. Not surprisingly, I discovered that separate and distinct error
components appeared at the primary transmission-error frequency. Figure 2.15 shows an
FFT magnitude spectrum for joint I magnified around the frequency of 2.0 cycles-per-
input-revolution. As illustrated in this plot, an error component not only appears at the
frequency of 2.0, but also at 2.0125 cycles-per-input-revolution. These two components
can be explained by assuming that most harmonic-drive inaccuracy occurs due to gear-tooth

) )-I

0.004

0.0031m
..
..
..
..
.. . ......
........ ... ... ..
..........
................. ...... ... ... i...... .........
............ .......... .............! ............. . .

E
c~0.002........
0.00

0..001............ . .............
:.......;. . . . ......... 7

.2............................... ..............
0.001

0.000
1.96 1.98 2 2.02 2.04
Frequency (cycles/input revolution)

49
Chapter 2: Kinematic Error Measurement

placement error and realizing that, during joint rotation, the flexspline moves relative to the
circular spline. Specifically, since the input position sensor on joint I measures wave-
generator rotation with respect to the circular spline, one-half revolution of the wave-
generator will rotate the tooth-meshing zone exactly 180 degrees around the circular spline
and complete one-cycle of the circular spline gear-error waveform. At the same time, since
the circular spline will rotate one tooth ahead of the flexspline after this 180 degree wave-
generator rotation, the flexspline gear-tooth error waveform will have corrn!eted one
complete cycle plus one gear tooth or (1 + (1/N)) cycles. Therefore, since the gear ratio,
N, on joint 1 is 160, for every complete rotation of the wave-generator the circular spline
gear-tooth error will have completed two complete cycles and the flexspline gear error will
have completed 2 (1 + (1/160)) or 2.0125 cycles. From this explanation, it can be seen that
the error component in figure 2.15 that appears at two cycles-per-input-revolution is due to
the circular spline gear-tooth-placement error and the error component that appears at
2.0125 cycles-per-input-revolution is due to the flexspline gear-tooth-placement error.
Figure 2.15 also illustrates an error occurring at 2.00625 cycles-per-input-revolution which
is probably due to the non-sinusoidal nature of the other two neighboring components.

This high-resolution FFT analysis of the characteristic harmonic-drive kinematic-


error frequencies may prove useful for many purposes. First, the presence of two distinct
error components is strong evidence to reinforce the belief that the primary source of
kinematic error in harmonic drives is due to gear-tooth inaccuracy in the flexspline and
circular spline. Additionally, since this method can be used to extract quickly the individual
position-error components due to the flexspline and circular spline, it may prove useful for
characterizing the manufacturing accuracy of these two components as well as their
individual performance accuracy under varied operating conditions. Lastly, since the
amplitude modulation, or beating, that can appear in kinematic-error signatures is a product
of these two distinct error components, the amount of beating in a given drive can be
identified easily from the magnitude of these two individual errors.

2.2.2.1.3 Error at the Output Rotation Frequency

Using the phase-shift procedure described previously to separate the harmonic-


drive error components at low spatial frequencies from the position inaccuracies of the
output sensor gear-train, the FFT spectra shown in figures 2.16 and 2.17 were found. For
both of these plots, position error was measured in degrees of output position with respect

50
Chapter 2: Kinematic Error Measurement

c 0.012 -

S 0.010 ... ...-... ....-................ ... ...

T0.... r....r '


... ....

Eu 0.006 ... . ... .......-...... .......-...........................


... ... ... ... ... ...

S0.004 - ...... ....... ....... ......


...............-...... ... ... ...

w~ .............. ....... . ... ...... ......


...... ......... ......

0 . .... ... . ....... .. ....................................-.... -..

oa.
0.000
0 1 2 3 4 5 6 7 8 9 10
Frequency (cycles/output revolution)

~0.012 .... *..... ~... . . . . . .... ... ....

' 0.008 -..... ... ......... .


.... . . . . . ... .

0...L.........
....
... ... ... .......... ... ... ...
E. ... ..;..
........... .........
............ .......
.... ...
eu006-

0.0

0 1 2 3 4 5 6 7 8 9 10
Frequency (cycles/output revolution)

Fiur 2-7 of join 3 poito ero in cyle pe Ouptrvlto

51
Chapter 2: Kinematic Error Measurement

to the frequency of output (circular-spline or flexspline), rather than input, rotation. From
figure 2.16, it can be seen that the joint 1 harmonic drive exhibits a low-frequency error
component occurring once per output revolution. The FFT peak that appears at 8.0 cycles-
per-output-revolution is caused by inaccuracy in the output sensor pinion and should be
ignored. In Figure 2.17, the error components for the joint 3 harmonic drive appear
primarily at 1.0 and 3.0 cycles-per-output-revolution. Again, the FFT spike occurring at
7.2 cycles-per-output-revolution is due to the output sensor pinion and should not be
mistaken for harmonic-drive error. In both of these plots, the aggregate. low-frequency
error component due to harmonic-drive transmission-error remains significantly less than
the harmonic-drive error observed at multiples of the input rotation frequency.
Unfortunately, due to the limitations of the testing apparatus, the low-frequency position
error of the joint 2 harmonic drive could not be measured.

By performing a theoretical sensitivity analysis of the data-collection procedure, I


determined that deviations in the final FFT error results due to known measurement
uncertainly in the apparatus should be less than five percent. However, the results from
several different trials showed variations in harmonic-drive error magnitude approaching
sixty percent. This variance illustrated the high sensitivity of the low-frequency harmonic-
drive error on operating conditions such as rotational velocity.

The source of this low-frequency harmonic-drive error is probably a combination of


harmonic-drive gear error and assembly errors. For example, it is conceivable that tooth-
placement errors on the rotating output harmonic-drive component (circular spline or
flexspline) could causes position deviations over one output rotation. Additionally, any
misalignment of the flexspline or circular spline could cause similar position errors at
multiples of the output rotation frequency.

2.2.2.1.4 Error at High Frequencies

Another set of experiments that I performed focused on higher rotational


frequencies in order to detect the passing of harmonic-drive teeth in the position-error data.
As figures 2.18 and 2.19 illustrate, essentially no position error components are visible at
high spatial frequencies. Since the joint 2 harmonic drive has 320 gear teeth which engage
for every input revolution, any contribution of the tooth-profile error to the aggregate
position error should appear in figure 2.18 at a frequency of 320 cycles-per-input-

52
Chapter 2: Kinematic Error Measurement

0.. ..........
...... . ....
.............. .......

0.006............... .... 4...........................

S0.004 ..
............. ............ ...... .. . . .
........................... . . ......

=0 0.002 -... . . . . . . . . . . .

0 ............................................-.......... ..... ................... ................

0.000 mm - . E-
0 100 200 300 400 500 600
Frequency (cycles/input revolution)

0012... ...... ....... ..................


................
. ......... ...... ........
0 .1

0
...................................
........ .....
CL
m 0.006 ..........

0.004* ..t...... . .....

0...... ........... .....

0.000 *- - iunm .
0 50 100 150 200 250 300 350 400
Frequency (cycles/input revolution)

Fiur 2.9 FFS of jonS ihfeu ypsto ro

53
Chapter 2: Kinematic Error Measurement

revolution. Similarly, since the joint 3 harmonic drive contains 160 gear teeth, the tooth-
passing frequency should be seen at 160 cycles-per-input-revolution in figure 2.19.
However, for both joints, no detectable error component was found at these frequencies.
This unexpected result can be justified by recognizing that, at any point in time, the
harmonic drive has several teeth in contact due to the concentric nature of its design and the
shape of the wave-generator. Close observation revealed that the harmonic drives tested
typically had up to twenty teeth in contact on both sides of the wave-generator. Given this
result, it is unlikely that the individual error of a single gear tooth could manifest itself in
the aggregate position-error spectrum. Unfortunately, the high-frequency error
components on the joint 1 harmonic drive could not be measured due to resolution
limitations of the output position sensor.

2.2.2.2 Comparison to Catalog Values

As listed in Table 2.8 in section 2.2.2.1.1, catalog predictions of harmonic-drive


inaccuracy are compared to the combined amplitude of the error components measured at
multiples of the input rotation frequency. From these values, it can be seen that the peak-
to-peak error magnitude of the observed waveforms was less than or near the
manufacturer's quoted accuracy ratings. Also, as noted in the catalogs, the primary error
component in all cases occurred twice every wave-generator rotation, but the catalogs failed
to offer any predictions about the harmonic content of these signals or error components at
other frequencies.

2.2.2.3 Modeling Considerations

Having measured the magnitude of the harmonic-drive kinematic-error components


at a range of different frequencies, a mathematical representation of this behavior can be
easily constructed. Specifically, by using a harmonic series, the aggregate effect of the
important individual error components can be compiled:

Oeffn = Al sin (cow01 + 01) + A2 sin (0, 202 + 02) + .... (2.7)

where A is the half-amplitude, Co is the spatial frequency, 0 is a measure of rotation, and 0


is the phase of the given error component. Depending of the required accuracy of this
representation, the number of terms in the harmonic series can be varied. Typically, in the

54
Chaoter 2: Kinematic ErrorMeasurement

modeling efforts to be discussed later, I relied mainly on the two largest error components,
which appeared at twice- and four-times every input revolution. The resulting harmonic-
series representation of this error is

0efn = A, sin (20in + ý1) + A2 sin (40in + 102), (2.8)

where 0 inis the rotation of the harmonic-drive input. To be truly accurate, as indicated in
the high-resolution tests presented above, two distinct error components should be included
for each of the two terms in this series to account for the individual error contributions of
the flexspline and circular spline which occur at slightly different frequencies. However,
since it is unlikely that this small change will significantly influence performance of a
dynamic model, this effect will be ignored.

2.2.3 Kinematic Error Conclusions

As discussed above, the experimental investigation of harmonic-drive kinematic


error has confirmed previously observed behavior of position-error profiles as well as lent
new insight about the sources and stability of harmonic-drive transmission inaccuracy. In
particular, the magnitude of all observed position error-signals agreed with manufacturer's
specifications and the primary frequencies of aggregate error appeared at 2.0 cycles-per-
input-revolution and subsequent harmonics. Additionally, these primary error components
were confirmed to be produced by two separate error signals most likely due to the gear-
tooth error on the circular spline and flexspline. Furthermore, a small but measurable
amount of kinematic error was found at the frequency of output revolution while no
significant position-error components were detected at the significantly higher tooth-
passing frequencies. Based on these results, a simple harmonic series of the individual
error components was generated in order to predict harmonic-drive kinematic error. Since
transmission compliance can influence position-error measurements even at small rotational
velocities, it is recommended that future kinematic tests on harmonic drives be performed
under truly static circumstances.

55
Chapter 2: Stiffness Tesiine

2.3 Stiffness Testing


The purpose of my investigation into harmonic-drive flexibility was two-fold: (1) I
wanted to collect accurate stiffness data for the three harmonic-drive specimens to include
in my dynamic models, and (2) I hoped gain a better understanding of possible ranges and
sources of variation in typical stiffness profiles. As a result of my investigation, I not only
characterized the harmonic-drive non-linear stiffness behavior and hysteresis loss, but also
discovered that harmonic-drive stiffness measurements are surprisingly fickle and very
dependent on assembly and operating conditions. This section is devoted to describing the
testing procedure used to collect stiffness data as well as presenting the results of my
investigation.

2.3.1 Experimental Procedure


The three harmonic-drive test stations were used to collect stiffness data by locking
the wave-generator to the circular spline and applying a range of loads to a long output link.
Figure 2.20 illustrates the testing equipment for joint I used to apply loads to the harmonic

56
Chapter 2: Stiffness Tesline

drive which is typical of the apparatus for the other two joints. The testing procedure used
on each joint is as follows.

W] Lock the wave-generator of the harmonic drive to be tested to its circular


spline with a rigid fixture.
Apply a load to the end of the output link of the joint using the screw-crank
apparatus.

[•] Read and store output rotation data from the output position sensor and output
torque data from the torque sensor.

r4] Continue collecting data for a range of positive and negative applied loads
until the stiffness curve is complete.

This straightforward procedure was used to collect multiple sets of stiffness data on each
transmission and generate the results presented below.

2.3.2 Discussion of Results


The stiffness results collected on the three harmonic drives can be divided into three
separate categories. First, a typical stiffness profile for each of the tested transmissions is
discussed and variations in these measurements with environmental and operating
conditions are outlined. Second, these stiffness results are compared to manufacturer's
quoted values in order to identify and explain discrepancies, and, lastly, theoretical
methods for capturing the observed stiffness behavior are considered.

2.3.2.1 Characteristic Stiffness Profiles

Figures 2.21, 2.22. and 2.23 illustrate the measured stiffness curves on the three
harmonic drives. Due to torque-sensor loading limitations, the joint I harmonic drive was
loaded to 35 percent of its rated maximum torque, the joint 2 harmonic drive was loaded to
45 percent of its rated maximum torque, and the joint 3 harmonic drive was loaded to 90
percent of its rated maximum torque. These torque limitations, however, encompass the
entire range of dynamic behavior seen by the harmonic drive in experiments to be discussed
later. All three stiffness profiles exhibit noise due to limitations on position sensor
resolution.

57
Chapter 2: Stiffness TestinR

0.08
....... . .4................

0 .06 ...... .........:........ .......


........ .......
4.. 0.0 .......... ....... ............ .................. ......
4) 0.02 .......................

.2 0

-0.04 ....

111
-0.08 . ..... I~ ' ......... ... .......
.......

-100 -80 -60 -40 -20 0 20 40 60 80 100


Output Torque (N'm)

035
0
0 .2... ........... . ..........
......... ............ ........
..... ...

-0.2
-0.31
-042-
-50....-40 -3.-0. 100.020304050607
-7-60...
......... utpu Torque .(.....N
).....
.. ..................
-0.3S

..
..
.. ...
...
5. ....
....
.......
....
....
.....
.....8..
...
Chapter 2: Stiffness Testine

0.3
.......... i........ i........ ....... ....... ........ ........ ........ ....... • ....... .. ....
• ........
i ............ ... .... ...
........ ........
S........
;...... •..... .... ...............
,.... ....... • ....... ...............
. . . ... ;.... ....... ....... ........ ........

:.............. 1 .- * ......... i........ i........, .......


. ......
...
.......
i....,
&
.............................. .............:.....
........ ........ ............. ........ ........
"
........
0. ........ ....... .-...............
......... . ................
i ........
• ......... . ........ .. .. .......
.• ........... •........ •........ i....... .•.......

•-• .......:... .... " .... ........ ."....... " ... .... . ..... ..$ ..... .. ........-.'........ i........ i....... -.
....... ..........- ....... .........
.......... ÷ ....... "............... . ........ ......... ....... i ....... .. ....... ..
....... ...............
........
...- .. ....... ....... .......

""......... ......... ÷........ ....... ....... ........ ....... .. ...... ........


..... .................. ....... ....... ...........
........
-0 . ..... .............
........ ....... .. .....
...........
.......
... ..........÷.... ...- .......:.......•........ ........ -....... •.. ...

4.... ...........
-0 1 .... .. ......... .........i ....... . .i.. 1....
... ............................... ........ ........ •....... ........ ............

-0.3
-15 -10 -5 0 5 10 15
Output Torque (N'm)

As mentioned in manufacturer's catalogs, all three harmonic drives exhibit a non-


linear stiffness with appreciable hysteresis loss. As illustrated in figure 2.21, the harmonic
drive on joint 1 displays a fairly well-behaved stiffness profile with a nearly linear stiffness
and little hysteresis over the test range. As explained in the catalog, increased loading on
this harmonic drive should increase the non-linearity of the stiffness curve. The stiffness
profile of the joint 2 harmonic drive, as illustrated in figure 2.22, shows significant non-
linearity despite being loaded over only 45 percent of its rated torque range. Additionally, a
hysteresis loss is visible which is substantially larger than the loss observed on the other
two harmonic drives. Since no backlash was present in the joint 2 testing apparatus, this
hysteresis can be blamed on a combination of static friction and very low stiffness levels at
low applied torques, also called soft wind-up, which can sometimes act like backlash. The
stiffness curve for the joint 3 harmonic drive, as presented in figure 2.23, shows very
typical behavior with a non-constant slope and a modest amount of hysteresis.

Another set of stiffness tests that I performed were aimed at gaining a qualitative
understanding of how stiffness varied with environmental and operating conditions. In
particular, I used the joint 1 testing station to collect data for a range of different preloads
and wave-generator angles. Figure 2.24 shows three stiffness curves generated from data

59
Chapter 2: Stiffness Testing

0.1 I11V
de r e
0............
0.09...... .-..........
0.08 60 degrees

~, 0.06 .....

0 0.05 . ...

0.02

0
0 10 20 30 40 50 60 70 80 90 100
Output Torque (N~m)

Fiur 2.4 Jon 1 stfns cuve fo difrn wae-enrao angles

0.1
0.09 low preload ....... .............. .... ....
008edium preload
0.0

0 .01 ....................................

0 0.0 . ..... * 0 ~ 0

06
Chapter 2: Stiffness Testing

collected with the wave-generator major-axis locked in different positions relative to the
circular spline. As the difference between these curves indicates, variations in stiffness of
up to 25 percent may be measured due to different orientations of the wave-generator.
Figure 2.25 illustrates three different stiffness curves collected when the preload between
the harmonic drive gear teeth was varied by changing the depth of the wave-generator in the
flexspline. While wave-generator depth is not a direct indicator of gear-tooth preload, it
was observed to influence the radial loading of the harmonic drive in many cases. The test
labeled "high preload" corresponds to the case where the wave-generator was pushed into
the flexspline to its maximum depth while the low-preload case saw the wave-generator at
minimum depth. From the stiffness curves in this plot, it can be seen that slight variations
in preload can also influence the value of harmonic-drive stiffness.

In general, from the range of behavior illustrated in the stiffness results, it can be
concluded that the variation in stiffness profiles between different harmonic drives can be
substantial. As seen on joints 1 and 2, one drive can behave relatively linearly in the low-
to-medium torque range while another can exhibit a strikingly non-linear profile over the
same loading range. Additionally, the presence of hysteresis due to phenomenon such as
friction and soft wind-up may be dominant in one harmonic drive while unnoticeable in
another. Furthermore, the substantial variations in harmonic drive flexibility due to such
factors as preloading and input orientation indicate the sensitivity of stiffness
measurements. This gloomy forecast for the predictability of harmonic-drive flexibility
grows more overcast when these results are compared to manufacturer's quoted values.

2.3.2.2 Comparison to Catalog Values

In manufacturer's catalog [4], a piecewise-linear-approximation method is proposed


for predicting harmonic-drive stiffness. In particular, two-piece linear fits are quoted for
the case of a standard stiffness profile and an optimal, or maximum-stiffness, profile.
Figures 2.26, 2.27, and 2.28 show these two piecewise linear approximations compared to
the measured stiffness for each harmonic-drive model. As these results illustrate, the joint
1 harmonic-drive stiffness is considerably different from the quoted values while the
transmission stiffness on joints 2 and 3 more closely resembles the catalog stiffness
profiles. More specifically, on joint 1, the measured harmonic-drive stiffness is about 30
percent greater than the optimal stiffness curve and about 60 percent greater than the

61
Chapter 2: Stiffness Testing'

0.35/

30.25 .................................... expenmental stiffness data


............
......... ........ ad stiffness cur
Z........!............Ztn

So220.2 . ............................ ..... o tm lstiff ness curve

.......................... . . . .
.................. . .

0 10 20 30 40 50 60 70 80 90 100
Output Torque (N~m)

0.5 experimental stiffness data


- standard stiffness curve ......................
0.4 * optimal stiffness curve

CP

0
~0 .2 ......... .......... ..............
.............

0 10 20 30 40 50 60 70
Output Torque (N*m)

62
Chapter 2: Stiffness Testing

0.35
..... ...........-..........
. .........I ......... . .........
L . ........
... ......... ............ :.........-......... ...........
.. .........
. .......... ........
" .......... "......... :"......... .. .
i.......... :......... [......... ........... •.......... ..".........i .......... ......
0. ...i...... ....
0.3
S.......-.......... .......... .......... i.........- .
:.........
-'i .,....... :... . L....... ......... ii........
.......... .... ........i
0•.~~
. .........
.......
.........
• •.........
-• •,......... .........
........... . ~...
M,
• ....
0 .25 ~~ .......... .........
.....
~ ~" ~ ~ ~ ~ ,...... ....
...................... ........ .......... ..........
. ....... : :.:... .:...... ......... i......... ......... .......... !......
.. .z.....
0 ........ i........... ... . ........
CL
20.25 o............
- ..........
... .. .........
....
..
.........
..........
.-.......
............ .........
.........
.........
.........
.........
i.....
at..........a...
S2 o

.0
05
S0.1
....... .........
........
i......... ...i.....i.....i.............
;' .....i.
i.......... ...... oexperimental stiffness data

0 5 10 15
Output Torque (N'm)

standard stiffness curve. As noted in past research, this unexpectedly high stiffness can
probably be explained by a high gear-tooth preload in the harmonic drive. The lack of
hysteresis loss observed on joint 1 also supports this postulation siice a higher preload
would eliminate any soft wind-up in the transmission. On joint 2, the measured stiffness
while loading the harmonic drive is slightly lower than the standard stiffness approximation
while the optimal quoted stiffness agrees closely with the unloading portion of the
measured stiffness curve. On joint 3, both the loading and unloading portions of the
measured stiffness curve have a slope that agrees with the standard stiffness approximation
within about 10 percent. In partial confirmation of the discrepancies between predicted and
measured stiffness values, manufacturer's catalog [3] warns that a 30 percent variation
between quoted and actual stiffness values is not uncommon. In terms of hysteresis,
catalog [31 states that hysteresis loss rarely exceeds 0.033 degrees of output torsion and
that soft wind-up is kept below 0.05 output degrees of rotation. This prediction holds true
for joints 1 and 3 but is greatly under'~stimated for the joint 2 harmonic drive.

This comparison between experimental data and catalog predictions exposes the
shortcomings of manufacturer's estimates. Multiple stiffness curves collected on each
harmonic-drive assembly illustrated that experimental results were fairly repeatable to

63
Chapter 2: Stiffness Testing

within about ten or fifteen percent. However, measured values of stiffness and hysteresis
loss differed unpredictably and significantly fr )m quoted values. In a few instances such
as the joint I stiftness profile and the joint 2 hysteresis loss, measured values even fell
outside of the manufacturer's predictability tolerances.

2.3.2.3 Modeling Considerations

Figures 2.29, 2.30, and 2.31 show cubic approximations to the stiffness curves for
the three harmonic drives. In all cases, the cubic polynomial was fit to the portion of the
stiffness data collected during joint loading rather than unloading. From these results, it
can be seen that cubic approximations can accurately capture the shape of experimental
stiffness data. Based on this result, cubic representations of non-linear harmonic-drive
stiffness will be used in dynamic modeling efforts to be discussed later.

One measure of the accuracy of harmonic-drive stiffness representation is whether


or not it can replicate the observed hysteresis losses. Capturing these effects is dependent
on type of dynamic model used for the harmonic-drive and the placement of the flexibility
within this model. Conversely, given a harmonic-drive model which can describe

.....!.............
..........!.......
0.1 0.1 .......!.. . . . . . . . . .. .. .. .. .
,. . . . . . . . !.. ! !.. . . . . . . ......
0.090.0. ... . . . . . . . . . . . . ... . . . . . . ,. . . . . . . . . . . . . . . . L-
. . . . . . . . . . . . . . . ...............
....... ......
. •............ ...-..
S0 .0 8 ........... ...-............... •......... ...... ............... .. ................
•...............
.......... -'-- --•.".......... ....
S0
0 ... ................ .:............... ......................... .. .. .. .... ................... ............... ........... .
0.08 ........
............. ............... i............... ..
. ....... ........... .. .............. ............ .•. ......... . ........ . .
.........
-~0.06 .....
S. ............. • ............... ............... ; . . . . . .............. o!.. . ..........
. . . ......... ..... . . . ..i...............-. ..............
0 S.
.0 ............
.20 .05 ....... -- .......................
:f.......
. . .•. . . . ... .•
i.. ...... ............ .. . .........i.........
..... . .. ........ .. ...............
.....
... ........ ............... • ................ .. . . . .. .•. . . ... .. ...
........ •.... .
.
•..........
0 ........ . ............ ;...
0 .0 ............. -..
,. • ............... i.............. ............... i............... i..............
........... ............ ....

S0.04
00 ,..... ........... i...... -.........i............... ............... ............... i............... i................. ............... i..............

0 10 20 30 40 50 60 70 80 90 100
Output Torque (N'm)

64
Chapter 2: Stiffness Testing

0.51j .................... . ................... 7


0 .4 . ......... ............
............

. .. . . . . . . ... . .. . . . .. . . . . . .. . . . . .... . . . .. .. .

.90.25 ..........
.-....... .....

*......... . ....... .... . . . . . .

0.05................ ......

0.3 ..... ........ ..

0 .2 5 ..... .....
..... ...........
4..... ........... .....
(Z

S0.2 :W-
....

Is 0.15

0.1.......
.. .......... ........... T..... ..... .......... .....
.....
0

0 10 3 4 100 715
Output Torque (N-m)

65a
Chapter 2: Stiffness TestinR

hysteresis loss, the measured stiffness profiles can be used to make estimates of the friction
present in harmonic drives. As discussed later in this document, dynamic models of
harmonic drives were developed which capitalized on the friction information stored in the
hysteresis loss of the stiffness measurements.

As the observed variation in measured stiffness values indicates, a truly accurate


model of harmonic-drive stiffness should describe the dependence of the stiffness profile
on parameters such as input angle and gear-tooth preloading. Although I did not perform
enough tests to develop a quantitative characterization of these effects, additional
measurement of harmonic-drive stiffness over different operating conditions could be
performed easily to characterize empirically an accurate stiffness function. Alternatively, a
much more difficult but meaningful approach to this problem would be to develop an
analytical model which can predict stiffness variations based on harmonic-drive geometry
and the physics of operation. I will save this formidable task for later research.

2.3.2.4 A Note on Input Diametral Stiffness

If the wave-generator of an assembled harmonic drive is rotated manually, the


torque required to rotate the transmission varies noticeably over one wave-generator
revolution. If the circular spline is then removed and the same test is performed on the
wave-generator and flexspline alone, the same torque variation is still observed. Although
difficult to notice on some drives due to excessive friction, this cyclic torque has a tendency
to rotate the wave-generator to preferred orientation when the load is released from the
input. These qualitative observations indicate the influence of a diametral flexibility which
acts on the harmonic-drive input due to manufacturing and assembly errors in the wave-
generator and flexspline. Quick estimates of this input torque amplitude placed its
magnitude at about 0.01 N-m for joint I and about 0.001 N-m for joints 2 and 3. For most
applications, this cyclic torque is significantly less than the operating torque of the
harmonic drive and can be ignored. However, in some applications, especially at low
velocities, the presence of this cyclic torque can produce variations in rotational velocity at a
frequency of twice-per-input-revolution. Consequently, to improve performance of a
dynamic model, a simple sinusoidal torque function which varies at the this frequency can
be included to replicate the effect of this input diametral flexibility.

66
Chapter 2: Stiffness Testing

2.3.3 Stiffness Conclusions

The most significant conclusion that can be derived from the results in this section
in that accurate measurement and prediction of harmonic-drive stiffness profiles can be very
difficult. Not only are catalog estimates likely to be significantly different from actual
values, but experimental measurement can also vary substantially as a function of
operational conditions such as wave-generator angle and preload. To foreshadow issues
which appear later in this document during dynamic modeling discussions, the static and
coulomb friction which are manifested as hysteresis loss in stiffness measurements
compound the problem of extracting accurate stiffness information. Since these friction
phenomena are unpredictable and difficult to separate from pure transmission stiffness, the
accuracy and usefulness of harmonic drive-stiffness measurements becomes even more
nebulous.

67
Measurement
C 2!ue

2.4 Starting-Torque Measurement


Due to static friction in the harmonic-drive transmission, a finite input torque is
required to effect output rotation. The purpose of my investigation into this harmonic drive
property was to obtain accurate values for the amount of static friction present in harmonic-
drive transmissions and, more importantly, gain insight about the mechanism and behavior
of velocity-independent friction in harmonic drives. As a result of this experimental
investigation, predicted starting-torque magnitudes were confirmed but their substantial
variation with several operating and environmental conditions exposed the complexity of
physical mechanism behind the values. This section outlines the procedure used for these
tests as well as the experimental observations and resulting conclusions.

2.4.1 Experimental Procedure

The procedure used for these experiments was designed to collect accurate
measurements of starting torque in order to understand the amount of static friction present
in a stationary harmonic drive. This procedure is listed below.

'i Warm-up the given testing station to a typical operating temperature by


running the harmonic drive for several minutes.

[•] Gradually apply a current to the input motor while collecting input torque data
from the current sensor, and position data from the input encoder.

[n] Calculate the harmonic-drive starting torque by subtracting the catalog value
for the motor starting torque from the maximum motor torque reached just
before the joint began to rotate.

The total starting torque in each harmonic-drive testing station is composed of the
individual starting torques due to (1) the input motor, (2) the harmonic drive, and (3) the
output bearings. Since the starting torque exerted by the output bearings, as measured
from the input, will be very small, accurate values for the harmonic-drive starting torque
can be found simply by subtracting the motor starting-torque from the measured value.

68
Chapter 2: StartinR-Toraue Measurement

2.4.2 Discussion of Results

The results of several qualitative and quantitative investigations into starting-torque


behavior are presented below. First, typical starting-torque values will be discussed in
light of environmental and operational conditions which can influence their magnitude.
Additionally, these values will be compared to catalog predictions and analyzed to gain
insight about potential modeling methods. Based on these results, conclusions about
harmonic-drive starting-torque behavior will be drawn.

2.4.2.1 Characteristic Starting-Torque Behavior

Table 2.9 lists the measured starting torques for all three harmonic drives. These
starting-torque measurements, however, were observed to vary considerably with the
rotational position of the harmonic-drive output (flexspline or circular spline). These
variations, as listed in table 2.9, can be explained by noting that any misalignment of the
flexspline or circular spline, for example, is likely to influence gear-tooth meshing and,
consequently, gear-tooth friction over one output revolution. Since these starting-torque
values provide a direct measurement of static friction, the substantial variation in starting
torque with output position illustrates the sensitivity of static friction in harmonic drives.
To further support this unfortunate consequence, additional observations revealed a strong
dependency between harmonic-drive starting torque and operating temperature. In a few
cases, if testing equipment was not warmed-up before data collection, starting torques
could increased by up to 80 percent. This troublesome effect can be explained partially by
the increase in lubricant viscosity which increases interface friction at lower temperatures.
Additional variables which can constrain the accurate measurement and prediction of
harmonic-drive static friction are wave-generator orientation and gear-tooth preload. As
noted in previous research, since the orientation of the wave-generator as well as the
applied preload can influence the tightness-of-fit between the flexspline and circular spline,
static friction has been observed to waver considerably under the influence of these two
factors. For example, experimental tests presented in [65] showed that starting torque
could vary as much as 50 percent over one rotation of the wave-generator. Due to the
limitations of the testing equipment, I was not able to confirm this result, however
qualitative observations clearly demonstrated the importance of input angle and preload on
starting-torque measurement.

69
Chapter 2: Startin,-Torque Measurement

TablInuttartng-
2.: orqevluesfo th ithe hamoi doivtes

0.084 0.031 0.005


oted value 0.078 0.035 0.007
,. ..........
.................
:
t.a~g
...........
........1 %
..........
. .. . . .
... .~i!:!!::!:!•ii~iii
25 % 15 %

2.4.2.2 Comparison to Catalog Values

In addition to listing the measured harmonic-drive starting-torques, table 2.9


presents predicted values as quoted in manufacturer's catalog [4]. By comparing these
results, it can be seen that the predicted no-load starting torques agree fairly well with the
experimental results. However, as discussed above, the accuracy of both the experimental
and catalog values is questionable due to the large number of factors which can greatly
influence the magnitude of harmonic-drive starting torque.

2.4.2.3 Modeling Considerations

Since, by definition, static friction occurs only when velocity is zero, developing an
accurate model of this phenomenon is not critical for predicting harmonic-drive behavior at
non-zero velocities. However, by assuming that velocity-independent friction, such as
Coulomb friction, behaves similarly to static friction, conclusions can be drawn about
friction components at non-zero velocities. For example, due to the preload between the
harmonic-drive gear teeth, a non-zero contact and rubbing force will always exist. From
the definition of Coulomb friction, this non-zero normal force should always generate
proportional frictional losses at all speeds of harmonic-drive operation. A truly accurate
model of this coulomb friction behavior should use the harmonic-drive geometry to derive a
value for the gear-tooth preload which can then be used to calculate the resulting Coulomb
friction. Alternatively, for the sake of simplicity, these frictional losses due to preloading
can be approximated by either a constant frictional torque or a function which replicates the
typical behavior of the Coulomb friction. By assuming that the static friction results have a
magnitude and behavior similar to this velocity-independent friction function, estimates of
harmonic-drive frictional losses at non-zero operating velocities due to Coulomb friction

70
Chapter 2: Starting-Torgue Measurement

can be made. These insights about velocity-independent friction gained from starting-
torque measurements will also be supplemented by the dynamic damping measurements
presented below.

2.4.3 Starting-Torque Conclusions


As illustrated by experimental results, harmonic-drive no-load starting torques can
be relatively large in magnitude and very dependent on operating and environmental
conditions. While experimental measurements agreed fairly well with catalog values, the
dependence of these values on factors such as gear-tooth preload, input and output
orientation, and operating temperature undercuts the validity and usefulness of these
numbers. However, by assuming similarities between this observed static-friction
behavior and inherent Coulomb friction in the transmission, a useful understanding of
velocity-independent friction behavior at non-zero velocities can be gained.

71
Chapter 2: Dynamic Friction Measurement

2.5 Dynamic Friction Measurement


All harmonic drives exhibit a finite power loss during operation due to gear-tooth-
rubbing friction and damping in the wave-generator bearing. The purpose of my
investigation into these harmonic-drive frictional effects was to obtain accurate
measurements of the losses in the three harmonic-drive specimens as well as gain a better
understanding of the origins and magnitudes of harmonic-drive friction. As a result of my
experimental investigation, I not only estimated values for the velocity-independent offset-
torque experienced by harmonic drives at non-zero velocities, but I also characterized the
non-linear damping profile for each harmonic-drive specimen. Additionally, due to torque
fluctuations excited by system resonance, I discovered that frictional losses in certain
operating regimes can increase dramatically. This section is devoted to outlining the
procedure used for these tests as well as presenting interesting experimental results. Based
on these results, conclusions are drawn about the nature of frictional losses in harmonic-
drive transmissions.

2.5.1 Experimental Procedure


The procedure used for these experiments was designed to collect dynamic friction
data for a range of rotational velocities. This procedure is listed below.

Wi Warm-up the given testing station to a typical operating temperature by


running the harmonic drive for several minutes.
F2] Send a constant current to the DC motor and wait until an equilibrium
rotational velocity is reached.

F3] Measure the input motor torque at this velocity.

[4 Collect data at several different operating velocities by repeating the two


previous steps.

Assuming that the rotational velocity during data collection was truly constant, the input
motor torque should exactly balance the damping torque at the given velocity. Therefore,
by collecting input torque data over a range of different velocities, the damping profile for
each harmonic drive was constructed.

72
Chapter 2: Dynamic Friction Measurement

2.5.2 Discussion of Results


The results of my experimental investigation of harmonic drive dynamic losses are
presented in this section. First, characteristic loss profiles will be presented and analyzed
followed by a comparison of these values to catalog predictions. Based on this
information, representations will be proposed to model friction behavior and conclusions
will be made.

2.5.2.1 Characteristic Friction Behavior

By using the procedure described above, the input motor torque required to operate
the harmonic drive at a constant velocity was used to determine the damping torque of the
transmission at different velocities. Due to the harmonic-drive kinematic error, the
equilibrium velocity reached by the harmonic drive in many trials experienced noticeable
fluctuation. In these cases, the average equilibrium velocity was used to determine the
damping torque. The resulting torque and velocity data that was collected on each testing
station directly characterized the total friction torque in the system. This total damping
torque included not only the friction present in the harmonic drive but also the damping
pr::;ent in the input motor and output bearings as well. By assuming that, since the
harmonic drive output rotates at relatively small velocities, the damping contribution from
the output bearings was negligible, the frictional torque due solely to the harmonic-drive
transmission was calculated by subtracting the motor damping from the measured aggregate
friction-torque. Figures 2.32, 2.34, and 2.36 illustrate the total measured friction-torque
plotted with the motor damping, while figures 2.33, 2.35, and 2.37 show the extracted
harmonic drive friction-torque component.

From the six plots shown below, several observations about dynamic friction
losses in harmonic drives can be made. First, as figures 2.32, 2.34, and 2.36 illustrate,
the friction torque generated in the harmonic drive is much larger than any other damping
losses in the testing equipment. This anticipated result pronounces the importance of
accounting for transmission losses in harmonic-drive models and calculations. Second, as
labeled in figures 2.33, 2.35, and 2.37, each drive passes through operating regions in
which frictional losses are amplified due to dynamic resonance vibration. More
specifically, at operating velocities where the position error of the harmonic drive excites
joint resonances, the resulting torque fluctuations can increase friction in the transmission

73
Chapter 2: Dvnamic Friction Measurement

0.3

0.25 .-...
totalfrictionto
....... ... .... ...-....
... .............. .... .......?......
1.......
.................... ...... ...
0.
.... .. . ... .. . . . .. .. . . . .. . . . .. . . . . ..-. . . . . . . .. . . . . . .. . . . . . . . . . . .. . . .

o. 5 . ............. ......................... ................... ... ...

0 4000 8000 12000 16000 20000 24000


Input Velocity (deg/sec)

0.25

02..
......
..................... ......
.. ......
............ ......
......
0 .2 ... ...... ............
......
..... .....
......... .... ...
E0. ..... ...... ........I
... ................... ...... ...... .............. .....

S0.15 .... resonance losses


..
..
.....
...
...
....
.. ....... ...............
.......I..
...................... .. ......
E

0on05an frition torqu

0 4000 8000 12000 160)30 20000 24000


Input Velocity (deg/sec)

Fiur 2.3 Da pn cuv fo th jon I hamo i driv

74
Chapter 2: Dynamic Friction Measurement

.0.12

....
*..
....
..... total friction torquel

(D 0.06 ~ . . ......-

....
... ........ . ......
......
. ... ... ..

. . . . . -. . .-.

0.0 .... ........ otor damnping torquej

0 10000 20000 30000 40000 50000


Input Velocity (deg/sec)

Fiur 2.4 Jon 2 agrgt-iio an moo-apn curves

0.12

0.

S0.06 resonance losses

-0.04(

0.02 ; :..constant friction torque


.... .

0
0 10000 20000 30000 40000 50000
Input Velocity (deg/sec)

Fiur 2.5 Dapn Cuv fo th on5 aroi t

75
Chapter 2: Dynamic Friction Measurement

0.015
.......
............
... ... ...... .. torq....
..... ue..
....
:...

190.0151

* ~ ~. .
. .0 . *.
. . . . .
0 0

....... . . . . . . . .. ........ ....


E0.005

0-0
.. . .,. .. . . . ..t .. . ....
!... .. .... ... ... .. ..

... ........ .......... ...... .... .........

0.005 tru

... L...
.......
L.. .... . ............. .J.......
. .... ]........J.....
. ..L
......... ......
....
10000
0...... 20000. 30000. 40000 50000
..
Inu reloiy desc)
.... ..........

............... ...
76.. .......
...
Chapter 2: Dynamic Friction Measurement

and dissipate extra energy. Depending on the location of these resonances as dictated 'y
the design of the harmonic-drive system, the frictional losses excited in these regimes are
likely to dominate harmonic-drive behavior for a significant range of operating velocities.
Third, the shape of the damping curve and the torque-offset experienced at low rotational
velocities can lend insight into the nature of the non-zero, velocity-independent friction-
torque resulting from the harmonic-drive gear-tooth preload. As discussed in the previous
section, Coulomb friction at the gear-tooth interface due to non-zero gear-tooth loading
influences the starting-torque of the harmonic drive as well as friction-torque offset
experienced at non-zero velocities. Rough estimates of this velocity-independent offset-
torque are derived from the damping-curve profiles in figures 2.33, 2.35, and 2.37 and are
labeled "constant friction torque". As explained previously, these frictional offsets may be
constant with respect to velocity but are likely to be influenced by other parameters such as,
input and output rotational angle, operating temperature, and preload.

As observed in most other harmonic-drive properties, dynamic damping is not


immune to outside influence. Specifically, qualitative observations showed that damping
could dramatically rise with an increase in gear-tooth preload. This unsurprising effect can
undoubtedly be explained by higher gear-tooth rubbing losses induced by increased
loading. As indicated in manufacturer's catalogs, frictional losses typically increase with
higher gear-ratios and lower operating torques and temperatures. Also, the type and
amount of lubricant used in the transmission can strongly influence dynamic friction
measurements. Lastly, although difficult to distinguish from velocity-independent
frictional losses, it would not surprise me if dynamic losses experienced noticeable
variation with output and input position.

2.5.2.2 Comparison to Catalog Values

Harmonic drive catalogs, [3, 4], characterize the dynamic losses experienced in the
transmission by providing efficiency ratings at different operating velocities. These
efficiency ratings are derived by comparing the friction torque in the transmission to the
rated torque of the harmonic drive at different operating velocities. Harmonic-drive
catalogs specify the rated torque for each drive by using bearing-life equations to calculate
the operating torques required to ensure a constant wave-generator bearing life at all
operating velocities. Using this definition of the rated torque and the experimental frictional

77
Chapter 2: Dynamic Friction Measurement

* 0.5 -....

2. ... .......
... 3 . . ..........
0 . 4.... . .....
.......................... ......
....... .......... ... ......... ..... ... ..
............... ...... .. .. .
S 0.3 -..... ........................ ...................-.......
cc
~~ ~ ~ ~ ~ ~ ~ a.- ........ ...... .....
....... eff....ic.....iency..
measured................
0.0 2 ................-.... ..............
. e..ic.enc
...... catalog..........
.......
....... ..................... ...... ............................... .......... ......

0
S 0.3 :...............
. ...... ....... ......
.........
MA ........ . - o.....-..
........... measured efficienc ........
0 .2 . ....
I................................ .....
S~. catalog efficiency~*

' 01 ...... i
0 100 800020 000 30000 40000 50000
Input Velocity (deg/sec)

Fiur 2.8 Jon 1 hamncdieefcec

1 78
Chapter 2: Dynamic Friction Measurement

1 r r F • + i r r i - - i- - r + •
............
......-......... ' .....................
"..."...."."".""
a,) 0.9 ..
2' 7 .... ~~~..
... ;"" ......
.................. " ' ; ...... . ..
0.8

,, 0.5
- +• -•......................... ....
... .- . + . .. • .i..+......-- -
....
05
~.. .....

-" .......... L .... ....L .......... . . . . .


0 7 . .. .. . . ... ..... ..- . ..•............. ... .i...... L ... ....]..... -. ... ... ....-..

uJ 03
"".3 --...... i.. .+..............+.........-• ...... ........-......
• ... ..- •
.....
-....i .. .....
.... .. + ] _....• _

0..... ... ...e


. . ................... - e.... n..... .....

~~~
.~
I0-~ i . .. . . . . . .. ..... ........ ............. . ... i. . . . ..... . ..... . . . .. . . . .. .. . .
: ......
i. ....... ....... ....... . ....
o.. ....... ............ +
... . . •..+•.••...•....•..].. .•; .. .•............

0 10000 20000 30000 40000 50000


Input Velocity (deg/sec)

losses, the resulting transmission efficiency was calculated for each harmonic drive.
Figures 2.38, 2.39, and 2.40 illustrate these experimental efficiencies as well as the catalog
efficiency curves from [41. Given that the catalog values are provided as rough estimates,
these three plots demonstrate that the catalog efficiencies are relatively similar to the
experimental results. For all three experimental curves, the dramatic efficiency loss that
occurs during resonance is apparent, and, since the location of these system resonances is
dependent on harmonic-drive compliance as well as the inertias of the specific harmonic-
drive system, it is not expected that catalog efficiency curves should capture this behavior.
Additional discrepancies between experimental and predicted results can be accounted for
by a number of environmental factors such lubrication or operating te+mperature.

2.5.2.3 Modeling Considerations

In order to accurately model harmonic-drive friction at non-zero velocities, three


separate friction components must be represented: (1) velocity-independent friction, (2)
velocity-dependent friction, and (3) friction at resonance. The first of these three
components is the non-zero Coulomb-like friction that occurs in harmonic drives due to

79
Chaoter 2: Dynamic Friction Measurement

gear-tooth preload. In its simplest form, this component can be represented by a constant
torque at all velocities, but, as discussed above, a truly accurate model should incorporate
influences from such factors as input and output orientation and gear-tooth preload. The
s5',cad friction component, namely non-linear velocity-dependent damping, can be better
understood by ignoring the resonance losses in the damping profiles of figures 2.33, 2.35,
and 2.37. The resulting damping curves, as shown in figures 2.41, 2.42, and 2.43, can be
approximated accurately by cubic functions. Given these two models of harmonic-drive
friction components, the representation will be complete if the behavior of resonance losses
can be captured. Unfortunately, this last friction component is somewhat more difficult to
model since it depends on the dynamic torques experienced by the harmonic drive.
Consequently, a representation which produces these effects must be developed in
conjunction with a complete dynamic model of the transmission as will be discussed later.

2.5.3 Friction and Damping Conclusions


From the results presented in this section, I can conclude that frictional losses in
harmonic drives at non-zero velocities are characterized by (1) a velocity-independent offset

I
0.32 S............ .............. __
......... .............. ............. .............. .............. ............ ......................... . .
0 .2 8 -. ........ . .......... .............. i............ ............. ............. !............ ... ... ....... ..
I. .......... ............. t............. ............ ...... ....... ............. ............ ..... ... ........

0.24
E .....
..... ........ ............ 1............
..............
. . . . . . . .. • r . . . ............. ............ .......................... ......................

Z
0 • ... .......... ............ ........ ............................ ........... ..............
. .0Y............ ............. .......... ........... .......

S0.16
01 . .............. ..... ................ ............. ............. .......... ....... ............. ............. ......... ........
. . ................
E
0.1
008.. ...... ....... ....... .. .. .. ..-
....................................... . . ......

04
... .. ....... ... .... .... . . . . .
............. ........
...... ...
04. ...... ............. ............ ............ ......... ............ ......... ............. ............ ............ ............
. . .......................

0.0

0 4000 8000 12000 16000 20000 24000


Input Velocity (deg/sec)

80
Chaptecr 2: Dynamic Friction Measurement

o.12 -1-rfI!TIr
11 1 111 1 F

0.0

4M 0.06

00,4
..................... ...... ... ...... ......
............ ................ ......

0.2 ...... ..... ..................... .....


........... .. ...... . . . .

.......... ..... .......... . .. ....... -;.............

0 10000 20000 30000 40000 50000


Input Velocity (deg/sec)

0.02 ! !- I ! -1i !! ! ! I I7I

...
0.0....1I.. 5........ ....
z.
..... .....
.... .... ...
............
........ ..... . ..
........ . . ....
...... .....

0.0............
........ . . ... . . . . .

E 4.4. . . . .... ............... . .

0...... 10000. 20000.... 30000. 40000.. 50000


..... I pu Veoct (deg./s..........ec..)..................... ..
... .... S..0...* ............ ......

.. ..
.. ...
...
.... .....
...
..
...... .... ... .
.........
Chapter 2: Dynamic Friction Measurement

torque, (2) a non-linear damping torque, and (3) an additional torque loss during system
resonance. Useful measurements for the first two of these frictional components can be
made by analyzing the shape of the damping profile of a given harmonic drive while
accurate representation of the third friction mechanism is more elusive. Due to the
dependence of transmission friction on environmental and operating conditions, catalog
efficiency curves can only be used to get a rough approximation of harmonic-drive losses at
different velocities.

82
Chapter 2: Dynamic Response Measurement

2.6 Dynamic Response Measurement


With the insight gained from the kinematic and static experimental results presented
above, the dynamic behavior of harmonic-drives can now be analyzed and interpreted. The
purpose of this final investigation is threefold: (1) to fortify an empirical understanding of
harmonic-drive dynamic behavior by identifying relationships between the observed
dynamic response and known transmission properties such as stiffness, kinematic error,
and friction, (2) to generalize about typical harmonic-drive dynamics based on experimental
information collected from the three harmonic-drive specimens, and (3) to fully characterize
the dynamic step-response behavior of the three harmonic drives in order to establish a
reference point for the generation of theoretical models. The results of this investigation
illustrated that there are several dynamic properties common to all of the harmonic drives
tested. In particular, all transmissions displayed dramatic non-linear resonance behavior
when the spatial frequency of the kinematic error harmonics coincided with the first
resonant mode of the harmonic-drive system, In all cases, these resonances appeared over
a substantial portion of the harmonic-drive operating range and behavior in these areas was
uncommonly turbulent and unpredictable. This section is devoted to describing the
experimental procedure used on the three testing stations as well as analyzing the collected
dynamic-response data. Based on the information interpreted from the dynamic-response
plots, modeling issues will be addressed and conclusions will be drawn.

2.6.1 Experimental Procedure


In order to investigate the dynamic behavior of harmonic drives, step-response data
was featured exclusively as an indicator of overall harmonic-drive performance.
Specifically, data was collected on all joints for harmonic-drive rotation resulting from a
series of step-commands in current sent to the input motors. As illustrated in figure 2.44,
each testing station was configured with a different output inertia representing a typical load
for the given harmonic-drive. Additionally, the input inertias varied as dictated by the
motor armature and wave-generator on each joint. A listing of all these inertia values is
given in table 2.10. Using these three testing facilities, the experimental procedure listed
below was performed.

[I] Warm-up the given testing station to a typical operating temperature by


running the harmonic drive for several minutes.

83
Chapter 2: Dynamic Response Measurement

Fiur 2.44 E imet c f d

Position the joint output at a known starting position.

[3] Send a step-command of current to the DC motor amplifiers.

Collect data from the position sensors, current sensor, and torque sensor for
several seconds of joint operation.

n5] Derive velocity and kinematic error response from the position-sensor data.

[-J Collect data at several different input-current step-commands by repeating this


procedure.

The motor-current commands used in each trial ranged from the lowest current that could
overcome transmission starting-torque to the current-saturation limit of the motor
amplifiers. The resulting velocity effected by these current commands spanned the typical
recommended operating range for the three harmonic drives. In all cases, current step-

84
Chapter 2: Dynamic Response Measurement

-*
- - --- -- I

Xo
....
.. i... n ..:::.Joint 3
3.8e-5 kg-m 2
......... 2.8e-5 kg-rn 2 2.0e-6 kg-m 2

tota~il
nput InetIa 2.2e-4 kg-rn 2 7.6e-5 kg-m 2 5.2e-6 kg-M 2
t .......... 2.828 kg 0.7027 kg 0.7027 kg
•' .. ..,.............. ...... . .. .

unounIng!i rmlength 0.308 m 0.282 m 0.112 rn

ttou t- l0.268 kg-r 2 0.056 kg-rn2 0.0088 kg-m 2

commands were incremented at regular intervals small enough to capture the variations in
dynamic behavior with increased current. From the resulting myriad of data sets, a handful
were extracted which effectively characterized the dynamic response over the entire
experimental range of operation.

2.6.2 Discussion of Results

In this section, several time-response plots will nucleate discussion of harmonic-


drive dynamic behavior. From these plots, several characteristic behavioral patterns will be
highlighted and used to gain insight into possible harmonic-drive modeling representations.
Lastly, based on this improved understanding of harmonic-drive dynamic behavior,
conclusions will be made about typical and predictable harmonic-drive dynamic response.

2.6.2.1 Characteristic Dynamic Behavior

All of the results from my experimental investigation of harmonic-drive dynamic


behavior are illustrated in a series of time-response plots featured in Appendix D. These
plots illustrate the position, velocity, and torque information gathered for the three
harmonic drives for several different step-responses which fully capture the range of
observed transmission behavior. For convenience, table 2.11 lists the figure numbers for
all of the experimental plots in Appendix D. Throughout this section, references will be
made to several of these plots in order to outline key features of the observed dynamic
response. The discussion of characteristic harmonic-drive dynamic response will be

85
Chapter 2: Dynamic Response Measurement

.. ... ... aoSB * *

nn D.1.1 D.2.1 D.3.1

InutVeoctyD.11.2 D.2.2 D.3.2

Output Poition iD.1.3 D.2.3 D.3.4


OututVelciy vewID.1.5 D.2.4 D.3.4

OuptVeoiy iw2D.11.6 0.2.6 D.3.6

OututToqu 01.7 0.2.7 D-3.7


PyaM lic POWf
iio•n Ero D.1.8 D.2.8 D.3.8

structured by first outlining typical behavioral patterns as observed in the velocity response,
and then discussing the influence of these patterns on torque, current, position and position
error measurements.

2.6.2.1.1 Typical Dynamic Behavior Patterns

In all of the step-response plots collected, underlying commonalities in dynamic


behavior can be seen. However, the most illustrative information about the nuances of
harmonic-drive dynamic behavior can be found in the velocity time-response plots in
Appendix D. Specifically, from the input velocity curves illustrated in figures D.1.2,
D.2.2, and D.3.2, four unexpected dynamic characteristics observed in all three
transmissions become apparent:

1 A substantial portion of the operating range of each harmonic drive is


contaminated by resonance vibration.

F21 Th1ese regions of resonance act as energy sinks which constrain the increase
of average rotational velocity for increasingly larger current commands.

[n] An unpredictable jump in velocity can frequently occur when the transmission
harnesses just enough energy to push through a system resonance.

[4] Due to variations in frictional resistance over one output revolution of the
transmission, significant variation in rotational velocity can result.

86
Chapter 2: Dynamic Response Measurement

These surprising features which are common to the measured response of all three
harmonic-drives will be discussed in order.

From the listed time-response illustrations, it can be seen that the input velocity of
the three harmonic drives passes through regions where significant resonance vibration can
occur. These resonant regions occur when the frequency of kinematic-error fluctuations,
which occurs at multiples of input, or wave-generator, rotational speeds, coincides with the
primary temporal resonance of the harmonic-drive system. Since the harmonic-drive
transmission flexibility behaves non-linearly, there is no distinct frequency of system
resonance. Instead, as the torque-fluctuation amplitude increases, the effective stiffness of
the transmission increases which results in an increase of the frequency of system
resonance. This variation in temporal resonant behavior is manifested in a range of
operating velocities which can excite system resonance. On joint 1, two separate
resonances can be observed at input speeds of around 4000 and 8000 degrees/second. The
vibration in the first of these two regions can be attributed to the kinematic-error excitation
which occurs four times every input revolution and the second region can be blamed on the
twice-per-input-revolution position-error component. As implied, the resulting frequency
of velocity fluctuation that occurs at each of these resonances is identical to the rotational
speed of the harmonic-drive input times the spatial frequency of the responsible kinematic-
error excitation. On joint 2, the amplitude fluctuations at resonance are smaller than
observed on joint 1, but regions of resonant behavior can still be found at about 10000
degrees/second and , to a lesser extent, 20000 degrees/second. These two regimes can be
attributed to the kinematic-error fluctuations occurring at 2.0 and 1.0 cycles-per-input-
revolution, respectively. On joint 3, three resonant areas can be observed at the
approximate input velocities of 5000, 10000, and 20000 degrees/second, and can be
directly associated with the kinemaLic error occurring at 4.0, 2.0, and 1.0 cycles-per-input-
revolution, respectively. The lack of any significant system resonance on joint 1
corresponding to a frequency of once-per-input-revolution is not surprising since, as
illustrated previously in figure 2.10, no appreciable kinematic error component was
measured at that frequency. Additionally, kinematic-error harmonics appearing at
frequencies higher than 4.0 cycles-per-input-revolution have no effect on any of the
observed dynamic responses since the resulting excitation frequencies exceeded the system
resonant regions at the slowest experimental operating velocities.

An unfortunate consequence of the resonance experienced by the harmonic drives is


the dramatic dissipation of energy which occurs in these regions. Specifically, from figure
D. 1.2, it can be observed that input current commands from 2.0 to about 2.4 amps achieve

87
Chapter 2: Dynamic Response Measurement

roughly the same final rotational velocity at the first region of resonance, and current
commands ranging from 2.8 to 4.0 amps all produce the same final velocity in the second
resonance regime. Similarly, as illustrated in figures D.2.2 and D.3.2, identical behavior
can be observed around the resonance regimes on joints 2 and 3. The velocity limitation at
resonance can be attributed to the dramatic increase in Coulomb-like friction at system
resonance due to the large torque fluctuations experienced in the transmission. In other
words, as a step command in current brings the system closer to resonant velocity, the
torque fluctuations due to resonance begin to increase. With this increase in torque
amplitude, energy is increasingly dissipated by a Coulomb-like friction mechanism
presumably at the gear-teeth interface. Due to this increasing energy loss as the velocity
nears the resonant areas, fluctuations in velocity increase but the average velocity remains
roughly the same. Because of this self-reinforcing frictional mechanism, the harmonic-
drive velocity is prolonged at the frequency at which kinematic error fluctuations excite
system resonance. This problem is heightened by the non-linear nature of the stiffness
since increases in torque fluctuation as the system approaches resonance also increase the
natural frequency of vibration. This effect further prevents the input current from pushing
through the harmonic-drive resonances since the temporal resonant frequency increases
alongside the increase in the rotational velocity and resulting spatial excitation frequency, of
the harmonic drive. In summary, because of the escalating frictional losses and the
increase in natural frequency which occur as rotational velocities approach system
resonance, a wide range of input current steps can fall victim to these resonance traps. As
an explanatory note, the velocity truncation present in the response of the highest current
step on each velocity plot is due to the saturation limits of the current amplifiers and should
not be attributed to resonance losses.

In partnership with the frictional losses which occur at system resonance,


unpredictable jumps in rotational velocity frequently appear when velocities exit resonant
areas. As illustrated for joint 1 in figure D. 1.2, the step response for a 4.0-amp current
command holds a relatively constant velocity of about 8000 degrees/second at resonance
for two seconds then unexpectedly jumps to a final velocity of about 15000
degrees/second. Additionally, for joint 3, figure D.3.2 illustrates similar behavior for the
current steps of 0.28, 0.48, and 0.52 amps. This unfortunate dynamic behavior can be
blamed on three familiar physical mechanisms: (1) the non-linear characteristic of the
harmonic-drive stiffness profile, (2) the increase in energy dissipation which occurs at
system resonance, and (3) the large variation in friction which occurs over one output
revolution of the harmonic drive. First, due to the stiffening-spring characteristic of the

88
Chapter 2: Dynamic Response Measurement

harmonic drive, a resonance singularity often appears when the frequency of resonance
excitation slightly exceeds the natural frequency of vibration. More specifically, as the
amplitude of torque vibration increases, the equivalent stiffness of the harmonic drive also
increases as does the natural frequency of system vibration resulting in a frequency
spectrum similar to the one show in figure 2.45. However, when the harmonic-drive
velocity breaks through this resonant region, resonance vibration drops immediately due to
the unstable decline in both torque-vibration amplitude and natural frequency of resonance.
This non-linear dynamic behavior is commonly referred to as a jump resonance. The
second accomplice in this jump-resonance behavior is the frictional loss at resonance. Due
to these losses, as discussed in the previous paragraph, velocity is restricted in resonant
regions. However, when the harmonic-drive jumps to non-resonating behavior, the
resonance losses disappear and the leftover energy increases rotational velocity
dramatically. If the non-linear stiffness and resonance losses were the only factors
influencing jump-resonance behavior, it is likely that this unpredictable response would
only appear a very small range of input current commands. However, as observed in the
experimental results, these jump-resonant responses occur for a surprisingly large range of
input currents and appear far too often during normal harmonic-drive operation. The origin
of this unfortunate consequence can be found in the large variation in frictional resistance
that can exist in harmonic drives over one output rotation. Due to this variation in energy
dissipation, all operating velocities somewhat near jump-resonance behavior can harness
enough energy to break through the resonance when frictional variations with output

89
Chapter 2: Dynamic Response Measurement

rotation decrease. Depending on the magnitude of these frictional variations, a wide range
of operating velocities can be kicked out of resonance due to this decrease in friction. In
conclusion, due to the interaction of non-linear compliance, resonance losses, and friction
variation, the stability of harmonic drive operation can be seriously undercut by drastic and
sudden jumps in operating velocity.

As noted above to be a contributing agent in jump-resonance behavior, the


substantial variation in harmonic-drive friction with output rotation can also be observed in
the velocity time-response plots. As illustrated in all of the response curves of figure
D.2.2, the variation observed on joint 2 can cause tremendous low-frequency velocity
variation over one output revolution. To a lesser but noticeable extent, similar variations
also appear in the response curves for joints 1 and 3 in figures D. 1.2 and D.3.2. These
velocity fluctuations were used to characterize the value of the friction-torque variation on
each harmonic-drive specimen as summarized in table 2.12. As the low-frequency
oscillations in velocity indicate, this frictional variation can be expectedly non-sinusoidal.
The most likely source of this unfortunate behavior is variations in the tightness of fit
between the flexspline and circular-spline gear teeth, which can be caused by several
factors such as improper mounting, component misalignment, and manufacturing errors.

ai (N
i ) 0.6 1.3 0.03

2.6.2.1.2 Influence of Observed Behavior on System Properties

Based on the understanding of typical step-response characteristics gained from the


input-velocity response, the behavior of the measured harmonic-drive position, current,
torque, position error, and output velocity can now be better understood. In particular, as
illustrated in figures D.1.5, D.2.5, D.3.5, D.1.6, D.2.6, and D.3.6, the harmonic-drive
output velocity response behaves very similarly to the input velocity except that vibrations
due to kinematic-error fluctuations and system resonance are much larger. Note that the
joint 3 output velocity is negative since the flexspline, rather than the circular spline, is used
for output rotation on that joint. Additionally, on the joint 3 output-velocity response,
distinct periodic velocity fluctuations appear at higher velocities. These fluctuations are
caused by the output sensor pinion and should not be attributed to harmonic-drive

90
Chapter 2: Dvnamic Response Measurement

behavior. Also note that the beating in output velocity oscillation amplitude at high
velocities seen on joints 1 and 2 is due to aliasing in the sampled data rather than an actual
physical mechanism.

The current response measured from the motor amplifiers is illustrated in figures
D.1.3, D.2.3, and D.3.3. Since the motor current is linearly proportional to the motor
torque, as dictated by the motor torque constant, the behavior of the harmonic drive input
torque can be understood. From the response curves for each joint, it can be seen that at
low current commands, the amplifiers can sustain a fairly constant input torque in the face
of harmonic-drive torque fluctuations. However, at higher current commands, the current
amps have difficulty keeping pace with the higher frequency torque fluctuations and
noticeable variations in current amplitude occur. The highest current-command response in
each figures illustrate the vulnerability of the current signal when the amplifier saturates
from the high motor velocity. Due to imperfections in the A to D board, significant
electrical noise appears in the current signals on joints 2 and 3. Fortunately, this noise had
no effect on the dynamic response of the harmonic-drive systems.

The output torque response measured from the torque sensor on each joint is
illustrated in figures D. 1.7, D.2.7, and D.3.7. As a reminder, because of the location of
the torque sensor on each joint, this measured response is a direct reading of the torque
experienced at the flexspline of the harmonic drives. This output torque has two
contributions: (1) the dynamic torques generated by the acceleration of the output inertia,
and (2) the damping torque produced by the output bearings. Since the damping torque in
the output bearings is very small compared to the inertial torques generated by the position-
error fluctuations, the measured torque response in all cases oscillated around zero at all
velocities. As shown on all three joints, torque fluctuations can become extremely large at
velocities which excite system resonance. For example, on the largest harmonic-drive
system, joint 1, torque readings reached a powerful 80 N-m during system resonance. As
expected, the frequency of torque fluctuation is identical to the frequency of velocity
fluctuation which is equal to the rotational speed of the input times the position-error
excitation frequency at the appropriate resonance.

The input and output position response measured on the three harmonic-drive
specimens is illustrated in figures D. 1.1, D.2.1, and D.3.1, and figures D. 1.4, D.2.4, and
D.3.4. From these plots, it can be seen that substantial fluctuation noticed on the velocity
plots is virtually unnoticeable on position measurements. However, due to increased
frictional losses at resonances, the increases in final position for constant increases in the

91
Chapter 2: Dynamic Response Measurement

current-ste, input is by no means constant. For all tests, the input and output position
responses .splay identical behavior except that they differ in magnitude by the given
harmonic-drive reduction ratio.

As shown in figures D.1.8, D.2.8, and D.3.8, the position-error response of a


single trial is shown for the three harmonic drives. The given plots were selected to
illustrate typical position-error behavior near a system resonance and were derived by
subtracting the output position from the input position divided by the gear ratio for the
given step-response trial. The important feature to note in these plots is the amplification of
position error at system resonance due to torsion across the harmonic-drive transmission.
As the plots illustrate, this effect can increase the dynamic position inaccuracy measured
across the drives by an order of magnitude over static tests. This large effect of dynamic
torque fluctuations on the measured position-error illustrates the importance of static tests to
ensure accurate measurements of harmonic-drive kinematic error. As an explanatory note,
the low-frequency oscillations seen in the position-error response are due to manufacturing
errors in the output sensor gear and pinion and should not be attributed to the harmonic
drive.

In general, changes in the dynamic response for identica' step-response trials was
minimal as long as harmonic-drive parameters remained unchanged. For example, since,
as discussed earlier, factors such as harmonic-drive preload, assembly, lubrication, input
and output orientation, and operating temperature, can greatly influence system parameters
such as stiffness and frictional losses, changes in any of these conditions between trials can
greatly influence dynamic response. Care was taken to make sure that these parameters
remained consistent across all step-response trials on each joint.

2.6.2.2 Modeling Considerations

Based on the observations made about typical harmonic-drive step-response


behavior, theories can be developed about how to model the observed dynamic effects.
First, in order to accurately predict resonance behavior, the input and output inertias,
kinematic error-signature, and the harmonic-drive stiffness profile must be carefully
measured and introduced into a dynamic model. Second, as described above, to capture
the observed jump-resonance behavior, three physical mechanisms must be modeled: (1)
the non-lit, ear stiffness profile, (2) the Coulomb-like frictional losses at resonance, ai.d (3)
the variation in friction with output rotation. The first and last of :hese three items can be

92
Chapter 2: Dynamic Response Measurement

measured relatively easily and modeled by mathematical functions which approximate the
observed behavior. The second item, t -)wever, relies on the interaction between torque
fluctuations in the harmonic-drive and rubbing at the gear-tooth interface. Therefore, any
model that is supposed to accurately describe frictional losses at resonance must include a
representation which predicts the dynamic forces acting on the gear-tooth geometry.
Additionally, as illustrated in the motor-current response curves, a dynamic model of the
current amplifiers might be necessary in some domains to capture the saturation behavior
and dynamic fluctuations.

2.6.3 Dynamic Response Conclusions


The unusual and surprising dynamic behavior observed in harmonic drives is the
result of the interaction of several transmission mechanisms. First, due to the kinematic
error in the harmonic drive, resulting dynamic torque fluctuations amplified by the
transmission ratio can be substantial during operation. When these large torque
fluctuations are combined with the low stiffness of the transmission, significant resonance
vibration can occur in typical operating ranges. Since coulomb friction at the gear-teeth
interface is amplified by dynamic torque fluctuations, extra energy is dissipated at
resonance and operating velocities are suppressed for increasingly larger motor currents.
However, when the input motors supply enough energy to break through these resonant
regions, a sudden reduction in resonance losses results in a sharp increase in velocity and a
significant decrease in torque fluctuations. Since the stiffness profile in harmonic-drives is
non-linear, the natural frequency of the system increases with increased torque levels. This
non-linear effect has an adverse affect on dynamic behavior around system resonance since
the increase in natural frequency prolongs operation at resonance and accentuates the
reduction in vibration when these resonant regions are surpassed. Lastly, since harmonic
drives can have a large variation in friction torque over one output revolution, the resulting
substantial variation in operating velocity can greatly influence the location of the jump
resonance. In order to accurately model the dynamic behavior of the harmonic drive,
appropriate representations and interactions of these individual effects must be understood.

93
94
The goal of modeling any physical mechanism is to discover the simplest
representation which can replicate system performance to the desired level of accuracy.
When modeling a mechanical assembly with a harmonic-drive transmission, several levels
of detail can be incorporated into the harmonic-drive model to improve the integrity of the
system representation. In particular, as seen in the experimental results, harmonic-drive
properties which can significantly influence system performance include

Wi static, dynamic, and periodic frictional losses,

non-linear transmission compliance, and

F31 kinematic transmission error.

The goal of this section is to characterize the modeling accuracy that can be achieved by
incorporating different combinations of these transmission properties into a harmonic-drive
representation. From the complex behavior observed in the measured dynamic-response
data, finding a model which accurately characterizes harmonic-drive behavior proves to be
a formidable task. However, if such a representation can be created, design and control of
systems containing harmonic drives can be substantially improved. Additionally, the
knowledge embedded in such a dynamic model can become a powerful medium for
understanding and improving the design and operation of harmonic-drive transmissions. I
hope that the results presented in this section can equip and enlighten the expanding
community of harmonic-drive users and designers.

My modeling efforts have focused on developing a series of harmonic-drive models


at different levels of complexity and evaluating their performance. First, I analyzed a
transmission model that ignored all non-ideal transmission properties and discovered that it
provided an extremely poor description of actual dynamic performance. Second, model
accuracy improved when frictional losses were included into the representation, but the
torque and velocity fluctuations observed in the experimental response did not appear in the

95
Chapter 3: Theoretical ModelinR

theoretical predictions. To address this issue, compliance and then kinematic error were
included into the transmission model. This improved representation produced simulated
results which more closely matched the experimental observations but failed to capture the
significant energy losses which occur at system resonance. To eliminate this discrepancy,
a final model which incorporated gear-tooth geometry and coulomb friction was developed
which improved predicted performance around resonance. Unfortunately, due to the
sensitivity of this model to harmonic-drive properties and the inherent difficulty in
accurately measuring these properties experimentally, further research must be done to
refine this representation into a viable prediction tool. Nevertheless, the novel framework
developed in this model provides a simple and powerful representation for hatching and
nurturing an intuitive understanding of harmonic-drive operation.

A complete description of my theoretical analysis of the harmonic-drive


transmissions is presented in this section. To establish the foundation of my conceptual
investigation, I will first explain the notation conventions used throughout this section and
describe the numerical simulation used the dynamic equations. Next, the modeling
representations used for the three harmonic-drive testing stations will be discussed apart
from the individual transmission models. In light of this framework, I will then develop a
series of dynamic models of increasing complexity to illustrate the range of performance
delivered by different harmonic-drive representations. For each of these models, equations
of motion will be derived, operating parameters will be calculated from experimental
measurements, and the accuracy of simulation results will be characterized through
comparison with actual harmonic-drive behavior. On the basis of these theoretical
observations, conclusions and recommendations will be made for each harmonic-drive
model about its usefulness and range of applicability.

96
Chapter 3: Modeling Techniques and Notation Conventions

3.1 Modeling Techniques and Notation


Conventions
Modeling techniques and conventions will remain consistent for all of the dynamic
models presented in this section. Specifically, Newton's method will be employed
exclusively to determine dynamic force interactions and derive equations of motion. The
position, velocity and torque variables used in these equations will be illustrated in a figure
for each model and governed by the following conventions:

Wil 0-variables represent rotational position.

[•2 o)-variables indicate angular velocity.

2] T-variables denote torque.

n4 All variables are referenced from ground.

F5] All positions and velocities are defined to be positive in the clockwise
direction when viewed from the input-side of the harmonic drive.

F61 All torques are defined to be positive in the direction in which they will act
when a positive load is applied to the input inertia and the output inertia
remains stationary.

F] lThe positions, velocities, and torques seen by the three ports of the harmonic
drive will have the subscripts wg for the wave-generator, fs for the flexspline,
and cs for the circular spline.

Additional variables such as model parameters and constants that are used for the testing-
station models are defined in table 3.1. Similarly, table 3.2 lists descriptions of the
variables which will appear in the five different harmonic-drive models to be developed
later. Sporting this notation lifejacket, I will now plunge into the depths of equation
derivation and analysis for five different harmonic-drive models.

In order to accommodate different harmonic-drive models, the equations of motion


for the testing-stations will treat the transmission as a black box with three interacting ports:
the wave-generator, the flexspline, and the circular-spline. Velocities and torques will be
transmitted through these three ports but the testing station models will be blind to the
actual dynamics inside the transmission. Following the complete derivation of the testing-

97
Chapter 3: ModelinR Techniques and Notation Conventions

im current sent to the DC motors by the amplifiers


An input inertia (motor armature and wave-generator)
Jout output inertia (load mounted at harmonic-drive output)
bii linear damping coefficient for input friction
bout linear damping coefficient for output friction
Kt motor torque constant
Kb motor back-EMF constant

N harmonic-drive catalog gear-ratio


Tb constant velocity-independent friction torque in the harmonic-drive
Tb dynamic velocity-dependent friction torque in the harmonic-drive
Tbcyclic friction torque in the harmonic-drive which varies with output position
bconstant value of the velocity-independent friction torque
bi linear damping coefficient
b2 cubic damping coefficient
Ab half-amplitude of the cyclic-friction torque function
4b phase of the cyclic-friction torque function
kj linear stiffness coefficient
k2 cubic stiffness coefficient
A1 half-amplitude of the first kinematic-error component at output
A2 half-amplitude of the second kinematic-error component at output
A3 half-amplitude of the third kinematic-error component at output
i1 phase of the first kinematic-error sinusoid
02 phase of the second kinematic-error sinusoid
03 phase of the third kinematic-error sinusoid
A• Coulomb friction coefficient at the harmonic-drive gear-tooth interface

station models, five different harmonic-drive models will be developed that can be inserted
easily into the overall system models. Since the inertias of the wave-generators are
included with the motor armature inertias, no inertia elements are needed in any of these
harmonic-drive representations. Consequently, the equations of motion for each will
consist solely of algebraic rather than differential equations. These algebraic equations will

98
Chapter 3: Modeline Techniques and Notation Conventions

outline the relationships between the torques and rotations on the three harmonic-drive
ports. In particular, since the inertias in the testing stations dictate the position and velocity
seen at the input and output of the harmonic-drive, equations will be developed to relate
these rotations to the torques experienced by the transmission. Additionally, because these
equations completely characterize the three-port behavior of the harmonic-drive, any two-
port configuration of the transmission can be represewted easily by setting the rotation of
the non-rotating harmonic-drive port to zero.

Due to the complexity of the differential equations generated when the harmonic-
drive models are inserted into the overall system models, analytical solutions describing
dynamic behavior were rarely available. However, using a Runga-Kutta numerical
integration scheme with adaptive step-size control, the dynamic behavior specified by a set
of differential equations could be simulated over a given time period for a specific set of
input conditions. The code which was developed to generate dynamic time-response data
for different harmonic-drive models is listed in Appendix B. In addition to calculating the
forces, positions, and velocities predicted by the differential equations, this simulation code
determines the energy distribution in the system and can be used generate static stiffness
data as well.

To facilitate the development of new harmonic-drive representations in the computer


simulation, the modularity of the different harmonic-drive models was preserved by
collecting the equations for each in a single function. These harmonic-drive functions can
be used to calculate the torque on the three harmonic-drive ports when the corresponding
positions and velocities are specified. If the proper input parameters and variable
definitions are provided, these harmonic-drive functions can be extracted easily from the
code in Appendix B and used in other dynamic simulations.

When executed on a Sun SPARCstation ELC, typical simulation times for a four-
second time-response using the more complex harmonic-drive models were much less than
one minute. Although the exact time for simulation is influenced not only by the
complexity of the dynamic equations but by the desired accuracy and nature of the system
parameters as well, in general, the small computational requirements of the harmonic-drive
models presented below suit them well for rapid numerical simulation. Additionally, it is
likely that simulation performance can be further improved through refinement of the code
which calculates values using the dynamic equations.

99
Chapter 3: Modeling the Experimental Apparatus

3.2 Modeling the Experimental Apparatus


To distinguish the dynamic effects of the harmonic-drive transmission from
dynamic behavior observed in the experimental apparatus, dynamic models of the testing
stations are required. Since, of the three testing assemblies, two different design
configurations exist, two separate dynamic models must be constructed. Once this is done,
different harmonic-drive representations can be inserted into these models, and dynamic
behavior of the aggregate system can be simulated for a range of transmission models.
This section is devoted to describing the two models developed to capture the behavior of
the experimental equipment and deriving the corresponding equations of motion.

3.2.1 Description of Models


As described in section 2.1, two different designs were incorporated into the
harmonic-drive testing facilities in order to observe harmonic-drive behavior in different
operating configurations. On joints 1 and 2, the wave-generator is driven by the input
motor, the circular spline carries the output rotations, and the flexspline is mounted to
ground. On joint 3, the wave-generator is still driven by the input motor, but the output is
conveyed through the harmonic-drive flexspline while the circular spline is attached to
ground. These two different joint designs are illustrated in figures 3.1 and 3.2.

The relative location of important model parameters can be understood from these
figures. First, for both joint configurations, the DC motor applies a torque to the input
inertia which is composed of the motor armature and the harmonic-drive wave-generator.
Additionally, each joint sports an output inertia consisting of a large mass mounted to the
end of the output link on the output port of the transmission. Due to motor damping, a
friction torque can be seen between the motor shaft and the motor housing, and similarly,
the output bearings introduce a finite friction torque between output rotation and ground.
Since, the motor housing on joints 1 and 2 rotates with the circular spline, the absolute
rotation seen by the input inertia is equal to the sum of the input and output rotation. The
input inertia on joint 3, on the other hand, sees the direct rotation of the motor shaft relative
to ground.

100
Chapter 3: Modeling the Experimental Apparatus

input damping
input motor torque
input rotation
input inertia

[DF-harmonic drive

output rotation
output inertiLaL_ýýý
output damping

Figure 3.1: Schernatic of apparatus design for joints 1 and 2

E3

output rotation
output inertia -7:

Fiqure 3.2: Schernatic of apparatus desiqn for joint 3

101
Chapter 3: ModelinR the Experimental Apparatus

Based on this understanding of the motion constraints and operating parameters,


two simple lumped parameter models distilled from the two joint designs are shown in
figures 3.3 and 3.4. As illustrated in these figures, the harmonic-drive model is
represented as a black box with three ports that transmit the torque and rotation seen by the
wave-generator, flexspline, and circular spline. Different models that capture harmonic-
drive behavior in varied levels of detail will be developed later and substituted into this
black box.

-I-

KIM1,,. 0 - 2 *114

102
Chapter 3: ModelinR the Experimental Apparatus

-03

103
Chapter: Modeling the Experimental Apparatus

3.2.2 Derivation of Equations of Motion

Using the lumped-parameter models illustrated and described above, the generation
of dynamic equations is straightforward. The variable names shown for both models in
figures 3.5 and 3.6 will be used throughout this derivation and governed by the notation
conventions itemized in section 3.1. For further clarity, important model parameters were
summarized previously in table 3.1. Using the given notation, naming conventions, and
parameter definitions, the equations of motion for joints 1 and 2 will now be derived
followed by a similar derivation for joint 3.

le., co_., T,,,I :

O,. o,. T,. tb1. = f (O)

0o. T..

Tb-., = f(O)

104
Chapter 3: ModelinR the Experimental Apparatus

Tb Wt= f(w

T,

By applying Newton's Law to the input and output inertias in the model shown in
figure 3.3, the resulting equations of motion for joints 1 and 2 are

Ji()in = Tmn Tbmi - Twg, (3.1)

and

J Tc
t= - Tb_ + Tb in (3.2)

In order to solve these equations, the torques on the right-hand side of each equation must
be expressed in terms of the state variables, OI and Ornt. This can be done readily for the
damping torques by assuming that they are linear functions of velocity:

105
Chapter 3: Modeling the Experimental Apparatus

Tb_in = bin (Oin - eouj, and (3.3)

T ` bout 0
=.out out • (3.4)

Since the motor torque is linearly proportional to the current produced by the motor
amplifiers, Tm can also be determined:

Tm = Kt im, (3.5)

where the amplifier current, ir, can be found from the equations presented in Appendix C
which describe the saturation limits of the amplifiers. The remaining unknown torque
components, Twg and T,,, can be found by specifying the kinematic constraints imposed by
the system on the three harmonic-drive ports and calculating the resulting torques using one
of the harmonic-drive models presented later in this section. Since each port of the
harmonic drive is directly coupled to either ground or one of the inertias, these kinematic
constraints are simply

Own = Oin, (3.6)

0fs =0, and (3.7)

O= Oout - (3.8)

Therefore, given these equations, and any dynamically complete harmonic-drive


representation, the equations of motion are fully defined.

The equations of motion for the joint 3 testing station are very similar to those listed
above for joints 1 and 2. Using figure 3.4, they can be determined readily to be

JinOin =Tm - Tb-in - Twg, and (3.9)

Joutout= - Tfs - TbouLt (3.10)

The output damping torque for this model can still be calculated using equation (3.4)
above, but the input damping torque must be determined from

Tb_in = bin Oin (3.11)

106
Chapter 3: Modeling the Experimental Apparatus

Additionally, the motor torque expression remains the same as equation (3.5) above, but
the kinematic constraints on the harmonic-drive ports are now

Owg = ein, (3.12)

Ofs = Oout, and (3.13)

OCS= 0. (3.14)

Therefore, by substituting these constraints into a harmonic-drive model, calculating the


resulting torques on the harmonic-drive ports, and substituting them into the equations of
motion listed above, the dynamic behavior of the joint 3 testing station is fully defined.

3.2.3 Model Parameter Calculation

Having derived the governing equations for the two different harmonic-drive testing
stations, dynamic response can be simulated once values have been determined for the
given model parameters. First, the input inertia can be found by summing the catalog
inertia values for the wave-generator and the motor armature, and the output inertia can be
calculated from the weight and location of the output mass on each joint. Since all other
output inertia components on each joint were negligible compared to the inertia of the
output mass, they were ignored in the output inertia calculations. All important inertia
values are summarized in table 2.10 and reproduced in table 3.3 below. Second, a value
for the input damping coefficient can be obtained from the DC motor catalog, and the
damping in the output bearings can be found from roller-bearing catalog specifications.

2.e47.6e-5 5.2e-6

0.268 0.056 0.0088

2.3e-7 2.3e-7 1.0e-7

Mga<7.0e-4 < 7.0e-4 < 4.0e-4


1077
0.06 1 0.03 0.04

1.05e-3 5.07e-4 7.08e-4

107
Chapter 3: Modeline the Experimental Apparatus

These values are also listed in table 3.3. Lastly, as mentioned above, the torque produced
by the DC motor is linearly proportional to the current it receives from the amplifiers. This
current is specified by the desired input command and remains true to this value unless high
motu.t velocities cause the current amplifiers to saturate. Using the catalog motor
specifications listed in table 3.3 and the measured motor velocity, appendix C presents a
simple algorithm which can be used to capture saturation behavior. Having developed
representations which describe testing-station operation and determined values for
corresponding model parameters, attention can now be focused directly on the harmonic-
drive transmission.

108
Chapter 3: Harmonic-Drive Model 1

3.3 Harmonic-Drive Model 1:


Ideal Transmission
At a bare minimum, a harmonic-drive model should be able to describe the overall
gear-reduction properties of the transmission. Since the harmonic-drive has three
independent rotational components, equations which describe three-port transmission
behavior must be used. Based on the information provided in manufacturer's catalogs, a
simple three-port harmonic-drive transmission model, as illustrated in figure 3.7, can be
characterized by the following equations:

0wg = (N + 1) Ocs- N Ofs, (3.15)

(owg = (N + 1) oes - N cofs , and (3.16)

Twg= I Tcs = _ Tfs. (3.17)


(N+l1) N

Note that a positive value of Tfs will cause a negative rotation of the flexspline since it is
defined to be positive in the direction opposite to Twg and T, As previously discussed, N
is the catalog gear ratio and the remaining variables are illustrated in figure 3.8. Using
these equations, the positions, velocities, and torques for any harmonic-drive configuration
are completely defined.

When this representation is substituted into the different joint-configuration models


presented above, the input inertia becomes directly coupled to the output inertia creating a
first-order system. Consequently, any step input in motor current should produce an
exponential increase in velocity up to the point where the motor torque matches the dynamic

109
Chapter 3: Harmonic-Drive Model I

damping torque of the motor and output bearings. This behavior is illustrated in the
simulated input velocity responses for the three harmonic-drive testing stations shown in
figures 3.9, 3.10 and 3.11.

By comparing these predicted input-velocity responses to the experimental input-


velocity responses shown in Appendix-D-figures D.1.2, D.2.2, and D.3.2, it can be seen
that the steady-state velocities achieved using the ideal transmission model are several
orders-of-magnitude higher than the actual system. Additionally, the velocity fluctuations
observed in the experimental results do not appear in the model predictions. These two
unsurprising discrepancies can be accounted for by the lack of any frictional losses or

80000
0.....
0.,...
... .......
.....
•.. . . S... . . i.......... .,...
......
...
........ .. ....
. . . . i.. . . . I........
i........... ........
., ,............
....
.......
.........
.....
. . . . . . . . . . . . . . . . i..........
. . . . . . . . . . . . !.. . . . ........
. . . . ........
i........

S60000
. •. . . .......
i...
.....
.......
..i.... .i...
....
....
..i....
.......... . ........ ........ ..
S.... ....
........
........
/........
.....
............... :::
::::
........
:::
. . .. ........ -........ .......... ........
.. .. ... . ........ ........ ........ •....................; .... ...•........,

......
• ...-. .......... ........ ........ ......... ......... ......... , .... ........... ;.. . . ................. ............ ..... .............................. ......... . . . ... . . .
...................

. 20000
" --.-.. ..... ............... .. ........ •........ •.......
........ "........ -........ ........ ........ i........- ....... . . ....i ..... ...-.........i ........i ..... ... -........ •........ ........

0 ...I. . . ....... L................


0 1 2 34
time (seconds)

2000 . 11
..
Chapter 3: Harmonic-Drive Mode! I

..........................

8 00 ....... . . . . . . ........... .................. .. .......... ... ...........

.0000................

20000
. . . . . .
........... . . . .

..... ... . .. . .. .......

> ......... .... . ............. ........ ..................


....... ............. .................. .................-

2*10000 -. . . . . . . . . . . . .

.. S

8 0 0 -... . ...............
.4 . ........................................... .........
4. ..........

600 .. .-
40000-.........
... ....
.... .........----..............
............. ....
.......... ........ .......
0

0 12 3 4
time (seconds)

Fiue 310 on S.a-ioe Snu-el t fo a 1.4 . ste

120000
Chapter 3: Harmonic-Drive Model I

kinematic error in the transmission model. Given this justification for poor model
performance, it can be concluded that the only circumstances where this representation may
prove useful is when harmonic-drive frictional losses are small compared to other losses in
the mechanical system and when velocity and torque fluctuations are unimportant. For
example, under static loading, when dynamic friction is zero, this model can be used to
accurately predict torques when applied loads are significantly greater than the static friction
in the transmission. Additionally, in static positioning applications where the desired
accuracy is lower than the kinematic error in the transmission, this model may be useful to
calculate the rotational displacement of the harmonic-drive ports.

112
Chapter 3: Harmonic-DriveModel 2

3.4 Harmonic-Drive Model 2:


Transmission with Frictional Losses
As concluded from the poor results of the ideal model, energy losses in the
transmission must be acknowledged in order resurrect the simulated velocity response. By
matching the frictional torque in the model to the motor torque resulting from the input
current, accurate recreations of experimental steady-state velocity values can be achieved.
Furthermore, by including a periodic friction function which varies with the position of the
transmission output, the undulations in steady-state velocity observed in the experimental
results can also be replicated. As discussed below, by incorporating these simple
modifications, the response of the ideal transmission model can be improved substantially.

3.4.1 Description of Model 2


The bulk of energy dissipation in harmonic-drives can be blamed on two sources:
(1) losses in the wave-generator bearing and (2) friction due to gear-tooth meshing. Of
these two candidates, it is probable that the majority of the frictional dissipation results
from gear-tooth-rubbing action between the flexspline and circular spline. Based on this
assumption, a new harmonic-drive model is shown in figure 3.12 in which a dissipation
element is included between the flexspline and circular spline. Since the location of these
frictional losses in the model can greatly influence simulated behavior, careful investigation
was performed to justify this representation.

113
Chapter 3: Harmonic-Drive Model 2

In addition to conceptually capturing the rubbing losses between the flexspline and
circular spine gear teeth, the location for the frictional losses shown in figure 3.12 was
selected for several additional reasons. First, as shown in figures D.1.7, D.2.7, and
D.3.7, since torque-sensor readings in experimental dynamic response measurements
display very large fluctuations but virtually no frictional bias torque, it can be concluded
that the torque sensors are blind to any frictional torque present in the harmonic drive. On
joint 1, for example, if the friction losses in the model were placed between the circular
spline and ground, the torque sensor mounted to the flexspline would not only see any
torque fluctuations on the output inertia but would also directly measure the frictional
torque from the transmission losses. By moving these frictional losses to act between the
flexspline and circular-spline, the torque sensors for both joint configurations ignore these
losses and return results that more closely resemble the experimental observations. As
another justification for the selected location of transmission losses, any static friction
included in this dissipation element will be manifested as hysteresis loss in a stiffness
profile collected from either output port of the transmission. On the other hand, if the
friction mechanism occurred between the wave-generator and either output port, hysteresis
loss would appear only in the stiffness profile collected from the output port connected to
that friction element. From this distinction, it seems highly probable that frictional torques
in the harmonic-drive occur primarily between the flexspline and circular spline gear-teeth
and can account for the hysteresis loss observed in experimental stiffness profiles. To
substantiate this claim empirically, results were gathered from models employing different
friction mechanisms and the integrity of the representation derived in this section was
verified.

3.4.2 Derivation of Dynamic Equations


The addition of frictional losses to the ideal transmission model complicates the
dynamic equations only slightly. Since, using this new representation, the torque seen by
the flexspline and circular spline is the combined torque of the ideal transmission element
and the frictional torque, the following equations result:

Tfs = Tn_f$ - Tb, and (3.18)

TCS = Tn-cs - Tb. (3.19)

114
Chapter 3: Harmonic-Drive Model 2

1.T.,T.0)..

0. eTnm i co ft

In these equations, Tb is the aggregate friction-torque function and, as implied by the sign
conventions stated previously, Tnfs is defined to be positive in the opposite direction of
Tn.Cs. The variables used in these equations and the rest of this derivation are illustrated in
figure 3.13. Using the ideal-transmission torque relationship in equation (3.17), the torque
on the wave-generator can be directly related to Tn..f and Tncs:

Tw= gL1 Tncs = 'L T _fs.


(N+ 1) N (3.20)

Given these three equations, the torque constraints on the model are complete,
however, the friction-torque function, Tb, must be defined in order to finish the
representation. As observed in experimental results, harmonic-drive friction typically has
three components: (1) a velocity-independent friction term, (2) a non-linear velocity-
dependent damping function, and (3) a periodic friction torque which varies with output
rotation. Experimental observations also suggest that frictional losses can be greatly
influenced by other parameters such as preload, wave-generator orientation, and operating
temperature. For the sake of model simplicity, these frictional influences will be ignored.
Additionally, experimental results show that harmonic-drives exhibit a substantial static-
friction torque which must be overcome before rotation can occur. Since this stiction
torque is also influenced by several parameters such as preload and input angle, an accurate
model of this property relies heavily on careful experimental characterization. Once this
experimental understanding is complete, a stiction model can be implemented by placing
appropriate constraints on the minimum motor torque required to effect rotation. Although

115
Chapter 3: Harmonic-Drive Model 2

this model was developed in the computer simulation, it will be ignored here since it only
influences dynamic behavior when velocities are close to zero and consequently has little
effect on the experimental and theoretical dynamic response. Given these assumptions, the
friction function which provided optimal results with minimal complexity is defined as

Tb = Tb constant + Tb_dynamic + Tb-cyclic , (3.21)

where

Tb-constant = bconstant (3.22)

Tbjdynamic = bt (O)n_cs - (I)n_fs) + b2 (.n.cs - O)n_fs) 3 , and (3.23)

Tbcyclic = Ab sin ((On-cs - 0 nfs) + Ob) • (3.24)

As equation (3.21) states, this model captures the three facets of friction behavior noticed in
the experimental results. First, the velocity-independent friction component, as described
in equation (3.22), is represented by a single value, bcontn. Second, since experimental
data indicated that velocity-dependent friction could be accurately captured by a cubic
relationship, the dynamic-friction torque defined in equation (3.23) is a cubic function of
the relative velocity between the flexspline and circular spline. In this equation b, and b2
represent the linear and cubic damping coefficients, respectively. Since all observed
experimental behavior indicates that dynamic damping is highly non-linear, a linear
damping representation is likely to cause inaccurate model performance. Third, periodic
variations in the frictional torque are captured in the sinusoidal function in equation (3.24).
As this relationship indicates, frictional torque fluctuations of half-amplitude Ab complete
one cycle every time the circular-spline makes one complete rotation relative to the
flexspline. To match this moel to experimental observations, a phase-shift of Ob is also
included in this equation. Using the experimental results from sections 2.4, 2.5, and 2.6
of this document, values for the friction parameters bconstant, bl,9b2, Ab, and Ob can be
determined readily.

With the given definition of the harmonic-drive friction, the transmission model is
virtually complete. The only remaining task is to realize that the variables 0 nfs, 0 n-cs,
wn_f, and (oncs are identical to the variables Os 0, cofs and wcs respectively, due to the
kinematic constraints in the model. Given this identity, the friction-torque function can be
calculated based on the rotations specified on the harmonic-drive ports and the remaining
torques in the transmission can be found.

116
Chapter 3: Harmonic-Drive Model 2

3.4.3 Evaluation of Simulated Results

Using values for the harmonic-drive friction parameters taken directly from the
experimental observations, several numerical simulations were performed for each
harmonic-drive over a range of current commands. As a sole indicator of model
performance, the resulting input-velocity response for the three different harmonic drives is
illustrated in figures 3.14, 3.15, and 3.16. These three plots can be compared to the
experimental input-velocity response shown in figures D.1.2, D.2.2, and D.3.2 in
Appendix D to evaluate model integrity.

By comparing the theoretical and experimental time-response, it is clear that the


harmonic-drive model which includes frictional losses boasts performance greatly
improved over the ideal transmission representation. In particular, for high velocities,
input velocity predictions are almost identical to experimental observations on each joint.
For all these curves, response is very similar to first order-system response where the time-
constant is dictated by the total system inertia and the steady-state velocity is reached when
the motor torque matches the total friction torque. The only discrepancies between these
high-velocity response curves is in the shape of the velocity fluctuations due to friction
variations with output rotation. By replacing the simple sinusoidal friction in the model
with a more complex function which closely resembles the actual torque variations in the
transmission, it is likely that theoretical predictions could replicate the actual response
almost exactly. Low-velocity response predictions also show promise since theoretical
steady-state velocities and curve shapes show good agreement with experimental results.

Despite these modeling successes, simulation performance plummets around


velocities which excite system resonance. Specifically, the substantial velocity fluctuations
which pervade the experimental velocity response are absent in the theoretical predictions.
These velocity fluctuations can become extreme around resonance and utterly dominate
system behavior. Since the model fails to capture these disturbances, steady-state velocities
and curve-shapes are markedly different from actual results. Additionally, as illustrated in
figures D.1.5, D.2.5, and D.3.5, the more prominent fluctuations in output velocity are
substantial even at high velocities. Since the output-velocity response predicted by the
model, although not shown here, will capture none of this agitated behavior, simulation
accuracy struggles through all ranges of operation. As a final criticism of the virtue of this
harmonic-drive model, the periodic velocity fluctuations due to cyclic friction, as shown in
figure 3.15 in particular, are smaller in amplitude at high velocities than the experimental

117
Chapter 3: Harmonic-Drive Model 2

25000 T TI

. .. .. .6.0 amps

5.0 amps4

20000-

0
0

4.0 amps

0.

-. 3.2 amps

5000

' 32. amps

0 ...... ... ....... ............................... ............ .........


0. .........1...... 3m
2. p4
tim (seconds)....
........
... ....
......... ............

.. ...... .... .... ..... .... ..... ..... ..S.. .. ........... ...

118amp
Chapter 3: Harm onic.Drive Model 2

4.5 amps

3.8 amps

4 0 00 0 . . .... ... ... ................... 1......... ........


...

0
.............. .. ..... ... .... .. ............. .. .. .... ... ...

CD
!D

300003.4 amps

C.2

3.0 amps

.G
..... ... .... .... .... .. . ......... ...

20000

10000.................... .......................

119. ...
..4
...
.. ...
....
Chapter 3: Harmonic-Drive Model 2

50000 T-7-r rr 1

0.60 amps

........
.*.
..........

. . .........

4030000rr.N 02ap

.... 4.4 4 4. . ... .. 4. 4... . ........

0... .... .... ... .... ........ .... ........ ... 0 56 a p


0 ........ 1...
. ...
2........ .... ...... 4...
tim (seconds)...........
.. .... ..S..
. ... ... ... ... ....... .......
SO.. ....... S.......

.........
..............
120.... .......
Chaoter 3: Harmonic-Drive Model 2

results. However, at low velocities, these periodic variations are in closer agreement with
experimental response. This unfortunate behavior indicates that the amplitude of the cyclic
friction function is not constant as anticipated, but may indeed vary with such variables as
rotational velocity.

3.4.4 Model 2 Conclusions

Based on the performance of the harmonic-drive model with frictional losses, if


small velocity fluctuations can be tolerated, it is probable that this model may prove useful
for predicting the dynamic behavior of harmonic-drive systems designed to operate
predominantly at velocities far removed from regions of resonant behavior. However, in
order to ensure the accuracy of this model, a comprehensive experimental friction
characterization is first required. In particular, transmission friction must be measured for a
range of velocities and output orientations under the identical environmental and operating
conditions to be experienced during normal operation. Since the velocity-independent
friction torque looms relatively large at small rotational velocities, accurate characterization
of this value ensures good model performance at low velocities. Conversely, dynamic
friction forces, which become significant at high velocities, govern model performance for
large current inputs. Lastly, careful measurement of experimental cyclic friction is
rewarded by accurate reproduction of the resulting velocity fluctuations. By following
these guidelines, this simple transmission model can be used to make accurate predictions
for a limited range of harmonic-drive systems.

In conclusion, the results of this section illustrate that the harmonic-drive model
with friction performs significantly better than the ideal transmission model. Due to the
incorporation of observed energy dissipation into the model, average steady-state velocities
show fairly close agreement for operating regions where resonant vibration is minimal.
Unfortunately, since the model ignores kinematic position-error variations, theoretical
predictions are devoid of the velocity fluctuations which appear throughout the
experimental response. Additionally, because these velocity fluctuations become intense
during system resonance, theoretical results become very inaccurate over a large portion of
the observed operating range. Based on these shortcomings, it is clear that an accurate
model must capture velocity turbulence and resonance behavior. Since, as discussed
previously, this behavior is spawned from the interaction between kinematic error and

121
Chapter 3: Harmonic-Drive Model 2

transmission compliance, an improved model should acknowledge these two harmonic-


drive properties.

122
Chapter 3: Harmonic-Drive Model 3

3.5 Harmonic-Drive Model 3:


Transmission with Friction and
Compliance
As published research suggests, once frictional behavior is captured, the first
strategy adopted by designers to improve performance of harmonic-drive models is to
include a linear or non-linear compliance in the transmission. Since this compliance
transforms the first-order model into a second-order system, a vibration mode appears and
resonance phenomenon can be anticipated. This section outlines this new model and
demonstrates that, unless large torque loads are present in the representation as well, the
compliant transmission model does little to improve simulation performance over the model
with friction alone.

3.5.1 Description of Model 3

A lumped-parameter schematic illustrating the harmonic-drive model with


compliance and friction is illustrated in figure 3.17. Since, as noted in previous research,
harmonic-drive compliance occurs in the wave-generator as well as the gear-teeth, I chose
to locate the ideal spring on the input side of the gear-reduction in this model. However,
by adjusting the coefficients of the stiffness function appropriately, this compliance can be

123
Chapter 3: Harmonic-Drive Model 3

reflected to either of the other two ports of the transmission with no effect on the dynamic
behavior of the system. Due to the location of the friction element with respect to the
compliance in this model, the stiffness profile measured from either output port of the
transmission will display the characteristic hysteresis loss due to the velocity-independent
friction component in the friction-torque function.

3.5.2 Derivation of Dynamic Equations

Given this simple lumped-parameter model and the notation definitions illustrated in
figure 3.18, the derivation of the equations of motion is straightforward. First, using
force-balance equations in (3.18) and (3.19) as well as the friction function in (3.21), the
torque on the output ports of the harmonic-drive, Tf&and Tcs, can be related to the variables

Tn~f5 and Tn_cs. Second, using the ideal gear-reduction relationship provided in equation
(3.17), these torques can then be equated to the torque across the spring and the torque at
the wave-generator:

Tk = Twg = Tnwg(N 1- - Tn CS T ._s (3.25)


S+1) N

Tk = f()

Tb Z=f( I

124
Chapter 3: Harmonic-Drive Model 3

Given this identity, the torques on all three harmonic-drive ports can be calculated once the
torque across the spring is known.

To calculate the transmission stiffness, several different functions can be used.


Specifically, depending on the exact shape of the stiffness profile for a particular harmonic-
drive, a linear stiffness relationship may suffice. However, as observed in the
experimental stiffness observations, most harmonic-drives, especially under heavy loading,
display distinctly non-linear compliance. Also as seen in the experimental results, this non-
linear behavior can be captured typically by a cubic relationship:

3
Tk = k, (Owg - en_wg) + k 2 (Owg - en-wg) (3.26)

where k, and k2 are the linear and cubic stiffness constants, respectively. To further refine
this stiffness characterization, a more complex equation could be used which includes the
influence of wave-generator orientation and gear-tooth preload on the stiffness profile.
Since, as experimental observations indicate, this influence can cause fluctuations in
stiffness profiles of over thirty percent, a truly accurate stiffness function cannot ignore
these effects. However, since the necessity for this level of detail is unclear, these
influences will be neglected and the simple cubic relationship in (3.26) will be featured
exclusively in the dynamic model.

The derivation of equations for this model can be completed by recognizing that
kinematic constraints dictate 0 n-f$ is equal to Of, and On-,s is equal to 0,,. From these
identities, 0nwg can now be found from the kinematic requirement of the ideal
transmission model in equation (3.15):

0n-wg = (N + 1) Ocs - N Ofs. (3.27)

Given values for Owg, 0 fs, and Ocs, these equations can be used to calculate the resulting
torques on the three ports of the harmonic-drive transmission.

3.5.3 Model 3 Results and Conclusions

To evaluate the validity of the stiffness representation used in this model, two
hallmarks can be employed. First, the stiffness function should replicate the experimental
dynamic behavior observed at system resonance. In particular, resonant frequencies and
vibration amplitudes in the model should coincide with observed experimental behavior.

125
Chapter 3: Harmonic-Drive Model 3

Second, when static stiffness data is generated from the transmission model, it should
closely resemble the experimental stiffness profiles. Specifically, if the interaction between
the model friction and compliance is accurate, the hysteresis loss and curve shape in the
actual stiffness data should be captured. In order to observe the influence of resonant
behavior, both of these criteria will be discussed in light of the harmonic-drive model
which includes kinematic transmission error to be discussed later.

Using experimental stiffness results to determine the stiffness coefficients k, and


k2 , simulated time-response results were collected for this representation. As anticipated,
due to low dynamic loads and relatively high transmission stiffness, dynamic response
behaved almost identically to the response of the ideal transmission model with friction
shown in figures 3.14, 3.15, and 3.16. Consequently, unless high inertial or applied loads
are experienced by the harmonic-drive system, the inclusion of a compliant element in the
transmission model provides no significant advantages over the harmonic-drive
representation with friction alone. However, in harmonic-drive applications designed to
apply forces or experience high acceleration, the compliant behavior of the transmission
cannot be ignored and this model may be useful for predicting system behavior in limited
ranges of operation. Unfortunately, due to kinematic position error, substantial torque
fluctuations are far too common during normal harmonic drive operation. Because of this
menacing transmission property, compliant behavior becomes a major factor in determining
dynamic response and must be addressed for a wide range of harmonic-drive operating
conditions.

126
Chapter 3: Harmonic-Drive Model 4

3.6 Harmonic-Drive Model 4:


Transmission with Friction, Compliance
and Kinematic-Error
As concluded from the performance of the harmonic-drive model with friction
losses, prediction of the velocity fluctuations and resonant behavior in the experimental
response is essential to secure model accuracy in all operating regions. Since velocity
fluctuations result from kinematic position error, this transmission property must be
recognized in an improved representation. Also, since resonance occurs when the natural
frequency of the system, as governed by the inertias and transmission compliance,
coincides with the frequency of kinematic-error disturbances, the interaction between
flexibility and position error must also be captured in the model. Lastly, since the
frequency of kinematic-error fluctuations is directly related to the rotational velocity of the
transmission, accurate frictional losses in the transmission are required to regulate operating
speeds. As presented in this section, a new model which incorporates these three
transmission properties demonstrates improved accuracy over a wider range of system
operation.

3.6.1 Description of Model 4


As illustrated in figure 3.19, the improved harmonic-drive model contains a cyclic
kinematic-error element as well as the transmission compliance and frictional losses
discussed in the previous models. Since the kinematic error in the harmonic-drives is
intimately related to the gear-meshing mechanism tself, it is situated in the model adjacent
to the gear-reduction element. Although I chose to place this cyclic position-error
component on the input side of the transmission, it can be reflected to any port of the
transmission without disturbing simulation performance. This additional component
introduces a cyclic position function into the model which varies as a function of the
transmission rotational position. Since kinematic error results primarily from gear-tooth
placement inaccuracies on the flexspline and circular spline, a strictly accurate
representation of this error would include two separate error functions, one at the gear-
meshing frequency of the flexspline and the other at the gear-meshing frequency of the
circular spline. Since these two disturbance frequencies are almost identical, complexity

127
Chapter 3: Harmonic-Drive Model 4

S * 0 0 Elm0

can be reduced with little penalty on model accuracy by combining these two components
into a single function.

As discussed in section 2.3.2.4 of this document, a separate cyclic-torque


disturbance mechanism exists in harmonic-drives which is independent of torque
fluctuations caused by kinematic error. This phenomenon is caused by radial loads exerted
by the flexspline on the wave-generator which tend to orient the wave-generator along a
preferred axis of alignment. Since this input diametral torque-variation can be observed
when the flexspline is not assembled into the circular spline, it has no relationship to the
kinematic inaccuracies in gear-tooth meshing. In order to represent this phenomenon, a
cyclic input torque acting at the wave-generator was included in the model to capture this
spring-like behavior. However, as simulation results indicated, since the magnitude of this
torque function was small compared to the kinematic-error disturbance, its affect on
dynamic performance could only be observed at slow operating speeds if at all. Based on
this conclusion, this cyclic input torque will be ignored in the model derived in this section,
but should not be forgotten in future models which require enhanced accuracy.

128
Chapter 3: Harmonic-Drive Model 4

3.6.2 Derivation of Dynamic Equations


Using the notation outlined in figure 3.20, the constitutive relationships for the
transmission components that have been described previously can be summarized as
follows. First, as dictated by the position, velocity and torque constraints specified in
equations (3.15), (3.16), and (3.17) the ideal three-port gear-reduction element can be
characterized by three relationships:

0n-wg = (N + 1) 0n-cs - N Onfs , (3.28)

o)n_wg = (N + 1) (O~ncs - N conjs , and (3.29)

Tnwg= N Tnc = - Tnfs• (3.30)

Second, using the non-linear damping function developed in model 2, the constitutive
relationship for the friction element in the model is

Tb = Tb..constant + Tb-dynamic + Tbcyclic , (3.31)

.T,.= f(0)

(•le,,=(e),OZ= _f(0) T

O':j f,•0),,, co..,

IT,= f (o))

129
Chapter 3: Harmonic-Drive Model 4

where the three independent friction-torque functions are defined in equations (3.22),
(3.23) and (3.24). Third, as discussed in the third model and defined in equation (3.26),
the torque function provided by the stiffness element can be described by
3
Tk = ki (Owg - Ok.out) + k 2 (ewg - Okout) (3.32)

Given these definitions for the gear-reduction, frictional, and stiffness properties of the
transmission, the constitutive constraints in the model will be complete once the torque and
rotation behavior of the kinematic-error element is characterized.

As observed in experimental measurements, kinematic po.ition-error signatures in


harmonic drives can occur at many different frequencies. However, as observed in
dynamic response data and verified by model performance, the only frequencies which
influenced the dynamic behavior of the three different harmonic-drive systems occurred at
one, two, and four cycles every wave-generator revolution. The reason for this is twofold:
(1) the magnitude of kinematic error at other frequencies was smaller than these primary
error components, and (2) other frequencies were either too high or too low to excite
system resonance for the observed range of harmonic-drive operating velocities. For other
systems which operate at slower velocities and have lower natural frequencies, for
example, kinematic error at higher harmonics may need to be included. Based on this
understanding, the representation chosen to describe the position error in the harmonic-
drive transmission is a harmonic series of the three error components:

0,,fn = Al sin (ewg + 01) + A 2 sin (2 Owg + 02) +


A3 sin (4 ewg + 3)3). (3.33)

Notice that, in this equation, each term is a sinusoidal function of the wave-generator
rotation, Owg, with a specific amplitude, Ai, and phase, Oi, describing the magnitude and
relative orientation of each error component. Since these error components result from gear
error on the flexspline and circular spline, a strictly accurate representation would have
these functions vary with harmonics of the gear-tooth meshing frequencies. For example,
in joint configuration I where the flexspline is attached to ground, every rotation of the
wave-generator propagates the tooth-engagement zone completely around the flexspline
circumference but fails to reach two teeth on the circular spline. Consequently, the
frequency of the flexspline gear-tooth error components correspond exactly with the
rotational frequency of the wave-generator while the frequency of the circular-spline gear-
error components vary with the difference between the wave-generator and circular spline

130
Chapter 3: Harmonic-Drive Model 4

rotation. However, since the input rotation is much larger that the output rotation in the
transmission, this distinction can be neglected and the aggregate kinematic error can be
varied as a function of the wave-generator rotation alone. In models which desire to
capture the kinematic behavior uf the harmonic drive to a higher level of detail, this
clarification may be important.

Given this representation for the position error in harmonic-drives, the constitutive
relationships for the kinematic-error element in figure 3.20 can be defined. First, using the
error-function, Odn, given in equation (3.33) the position constraint on this element can be
specified as

0 0 (3.34)
n-wg = 0k_out + N erfn

Since the magnitude of the error function is measured in terms of degrees of output
rotation, it must be scaled by the transmission gear-ratio. The velocity constraint on this
element can be defined by taking the derivative of the position constraint:

=- )k-out + N - Oerfn (3.35)


dt
where, given the relationship in (3.33) the derivative of the error function can be defined as

dt 0=erfn =Wwg A1 cos (ewg + 4)1) + 2 wiwg A 2 cos (2 0ws + 02) +


A
4 (Dwg A3 cos (4 0wg + 03) , or (3.36)

dt d erfn= O)wg OWerfn, where (3.37)

~erfn = A1 cos (Owg +41) + 2 A2 cos (2 0wg + 0)2) +


4 A3 cos (4 0wg + 03)). (3.38)

Using this definition, the velocity constraint in equation (3.35) can now be rewritten as

(On-wg =-- k out + N (.)wg c)erfn - (3.39)

By applying the law of power conservation, this velocity constraint can be used to derive
the torque constraint across the position-error element. First, the power at the input port of
the element must always equal the power at the output:

Pin = Pout, or (3.40)

Tk-out (k out = Tn-wg (in-wg • (3.41)

131
Chapter 3: Harmonic-DriveModel 4

By substituting the velocity constraint in (3.39) into this equation, the torque constraint
becomes

Tk_out (')k_out = Tn-wg (O-0jout + N (Owg 0•erfn) • (3.42)

Since the velocity variations across the spring will be small compared to average velocity
values, cOk_,out can be assumed to be identical to wwg and the torque relationship reduces to:

Tkout = Tnwg (1 + N Cerfn) (3.43)

Therefore, using this relationship and the equation for ,efn in (3.38) the torque constraint
required to ensure power conservation across the kinematic-error element is complete.

Having developed the position, velocity, and torque constraints for the position
error in the model, the constitutive relationships governing model performance are
complete, and the equations of motion can be finished by specifying the remaining
kinematic and torque-balance relationships. Specifically, as seen in equations (3.18) and
(3.19), a torque-balance across the output ports of the harmonic-drive yields the
relationships

Tf, = Tn_fs - Tb , and (3.44)

Tcs = Tn-cs - Tb. (3.45)

Also, by performing a similar force balance across the spring on the input of the
transmission the following relationship results:

Twg = Tk = Tk 0out • (3.46)

Lastly, by specifying the kinematic constraints at the output ports of the harmonic-drive,
namely

0n-cs = Ocs , and (3.47)

On fs = Ofs, (3.48)

the equations of motion are complete. Therefore, using the equations presented in this
section, the positions and velocities at the three harmonic-drive ports can be directly related
to the torques across the harmonic-drive.

132
Chapter 3: Harmonic-Drive Model 4

3.6.3 Calculation of Input Parameters

In order to simulate dynamic performance using the equations for model 4,


estimates need to be made for the values of the friction, stiffness and kinematic error in the
harmonic-drives. Using the experimental friction data provided in section 2.5 of this
document, the constant, dynamic, and cyclic friction values required by equation (3.31)
were easily determined. Since these values were extracted directly from dynamic response
observations, they provided accurate and reliable results in the dynamic model.

Estimating the values for the non-linear stiffness element in model 4 proved to be
more complex than capturing friction behavior. In particular, due to the precarious
influence of friction on the static stiffness measurements outlined in section 2.3 of this
document, the resulting stiffness values delivered poor dynamic performance when inserted
into the model. As a more direct method of determining the dynamic stiffness properties of
each transmission, the experimental dynamic-response measurements outlined in section
2.6 were used to identify the resonant frequencies of the three harmonic-drive systems.
From this known frequency and the given inertia values, the linear component of the ideal
stiffness element could be adjusted to match the observed resonance. Given this linear
component, the cubic stiffness coefficient required by equation (3.32) was selected so that
the static stiffness profile generated by the model most closely resembled the experimental
static stiffness behavior. Figures 3.21, 3.22, and 3.23 illustrate the resulting stiffness
profiles used in the three joint-models as compared to experimental data and catalog
predictions. In each of these plots, it can be seen that the theoretical stiffness profiles show
significant deviation for the static stiffness measurements. In particular, the hysteresis loss
in each curve, as dictated by the constant friction component used in the model, Tb_constt,
while producing good dynamic response, is unreliable as a predictor for static hysteresis
loss. Additionally, the shape of the theoretical stiffness profiles required to ensure good
dynamic response in the three harmonic-drive models provides a poor estimate of the
measured static-stiffness profiles. As this comparison illustrates, for all three joints, the
experimental measurements typically yield static stiffness values that are higher than the
actual dynamic stiffness in the drive. This discrepancy is not surprising since Coulomb-
like friction in the transmission can increase the measured torque values during static
stiffness measurement. To address this problem, a new model will be developed later
which predicts these Coulomb-friction effects.

133
Chapter 3: Harmonic-Drive Model 4

0.35 1 1 1 1[ T . i
................ ................
S............... ....... . ............... i.......... . .
I............... ............... "............... .........
~............... .... ...
i...............................
S........ !...............

1
0.3 .-...
............................................................................................... experim ental stiff ness data
.c .......0.5
~j - /- .............. - - i... curve
s0.25 stiffness
standard
S ............................... ................ i.............. ............... ............. ..........
-- optimal
s if e sstiffness
c r e ncurve
mo l

S-
C
.2...............
2................ ./ ........
.-
i. . . . . . . . ...............
. . . . . ..i. . . . . . . . !...
i...
0 .2 . .......... ............... ................ .... ............
. . . . .....
g0.15...
0

0.05
o........
....
........".......
. ...........
i...............
................................
...............
. . . . . . . . ................
.
0 10 20 30 40 50 60 70 80 90 100
Output Torque (N'm)

experimental stiffness data


0-5 - . standard stiffness curve
ptS... u r e.............. .......... ........... 7.......... 1...........
tif e s curve
.m.. l stiffness
optimal
- stiffness curve in model

0.

0.3..... ............ ...........


....... :...
........ .......... . -. :.:.. ...
..
......
.. .. .
..
S013
0 .2 ......
- ..... .
....... .....
.. ..
- '....".......... .. ................
. .. ..i.......... .......... ........................

S0.
0.1 ..-....

0 10 20 30 40 50 60 70
Output Torque (N'm)

134
Chapter 3: Harmonic-Drive Model 4

0.45 o4. ............ ........... .......... .......... ......... ......... .............. ... ..... - ...... ....
. .............. .... .
i ........... ..........
..........
.......... T........... '."
......... ......... ... ......... ....... ......... ......... .........
.0.25 -

0 . .................. ....... .... . tnadsi ..


0 .0 .................
........... ,......... .. •....... .i. ........
.......................
4 ...... .... ....
. .... ........
.. ................. .s .............
,.......... ............ .....................
•..... .. ,......... .
----------.......
.J .. ......... ................ . . . . . . .i ...... :.........
...• ..:.....
........................ .- ......... .
........ .......... i.......
'~0. ...... .... ...... ... ............. ......... ... .......*.......... .. : ......... ......... ................
..... "............
2.....
• 0.315-

2 0 .25 . .. ..... ... ...... ..... .. ..


• . ,,...
....... ..... .. r ...... r......
.........
......
.. • 'i.........
" -. .......
.... .........
.......... ....... ...... ........c.......
rv

... ............
. ness curve in model

0
0
0.5
1 ..... ...... .....
_ _ _ _
10
_ _
exenena
__ _ _ _
stfns
_
S
_ _
data5
15
_

Output Torque (N'm)

Given the friction and stiffness properties, the only remaining parameters that need
to be determined are the magnitudes of the kinematic-error components in equation (3.33).
The amplitudes of the three error components were determined by matching the amplitude
of the dynamic position error predicted by the model to experimental values. In theory, if
kinematic error on the testing apparatus could be measured under truly static conditions,
direct estimates of these error components could be made. However, since data on the

apparatus can only be collected for non-zero operating velocities, dynamic vibrations which
induce transmission compliance contaminate the kinematic-error data. As presented in
section 2.2 of this document, by operating the harmonic-drives at slow velocities where
resonance vibration was minimal, measurements were made of the kinematic error in the
three harmonic drives. In table 3.4, these experimental estimates are compared to the error
values which provided optimal dynamic performance in the theoretical model. By
comparing these results, it can be seen that, in most cases, values near the experimental
measurements provided accurate dynamic response simulations, but, in a few instances,
differences between experimental and theoretical values could deviate by up to a factor of
two. From this discrepancy, two possible conclusions can be drawn: (1) slow operating
velocities can significantly influence the magnitude of the position-error measured in the
experimental apparatus, and (2) the model developed in this section does not fully capture

135
Chanter 3: Harmonic-Drive Model 4

Tabl Kieai-ro
3.4: copnnsinmdl4v .
mesre0ale

(utput ~) (output D) (output 0)

Joint 1: Ahooretlcal 0.000 0.023 0.008


experimental 0.001 0.013 0.007

Joint. 2, theoretical 0.001 0.015 0.006


*xsrmeiti0.001 0.008 0.004

Joint 3., .theoretical 0.005 0.010 0.005


xp ar I menta I 0.007 0.013 0.007

the influence of kinematic error on dynamic vibrations in the transmission. Since additional
dynamic simulations with the theoretical model illustrated that dynamic vibrations could
cause significant amplification of transmission position error at small operating velocities, it
is likely that the first of these two conclusions is most responsible for the difference
between experimental and theoretical parameters.

3.6.4 Evaluation of Simulated Results


The harmonic-drive model developed in this section was inserted into the overall
system models for the two joint configurations and dynamic step-response simulations
were then performed to replicate the experimental results. Using the experimental
parameters for friction, stiffness, and kinematic error discussed previously, time-response
data was collected over a range of motor-current steps for the three harmonic-drive testing-
station models. These simulated results are presented in appendix E in the identical format
used for the experimental time-response results of appendix D. In particular, graphs are
shown which illustrate the position, velocity, and torque response for the observed range
of harmonic-drive operating behavior. Table 3.5 is reproduced from a similar index in
appendix E and summarizes the figure numbers for all of the simulated dynamic -response
plots. By directly comparing these plots to the experimental results in appendix D, the
capacity of the dynamic model to predict actual har-monic-drive behavior can be evaluated.

Based on how accurately the theoretical predictions in appendix E compare to the


experimental results in appendix D, the benefits of this model are summarized below:

WI Position, velocity and torque response in the model shows good agreement to
actual data at operating speeds removed from regions of resonant behavior.

136
Chapter 3: Harmonic-Drive Model 4

Tal
3.5 Sumar of siulte tiersos ltSnapni

n 4o ...
........
t. WrJit 3
E.1.1 E.2.1 E.3.1

InPut E.1.2 E.2.2 E.3.2


. ...... ... "...
" ." " " ' :..... . . ". S......
. . .. ; T ; ;;
Inu urn .. 3 E.2.3 E.3.3

::. :. : ::•:
otlo. . ::
..... :..
...
.......
.: : : •. :•
E.1.4 E.2.4 E.3.4
tyve
fuptVlc E.1.5 E.2.5 E.3.5
VeilocitvIe
-O-tput 2i E.1.6 E.2.6 E.3.6

Outpu "ore '-E.1.7 E.2.7 E.3.7


Po ition Error iiiiiiiiiiii~iiiiii!E.1.8
:Oyn;a":mlc:"':::''EII
! :!!: E.2.8 E .3.8

[] System resonances occur at the same operating velocities and consequently


display the same vibration frequencies as experimental results.

[] Amplitudes of input and output velocity fluctuation near resonance are


relatively close to the experimentally observed amplitudes.

Conversely, by noting the differences between predicted and actual behavior, the
limitations of this model can also be observed:

Wi At current-steps which result in velocities that excite system resonance, model


predictions of operating velocity are typically much higher than observed in
the experimental results.
•] The model also fails to capture the sudden velocity-jump behavior that occurs
when the system breaks through a resonant region.

of output
SAmplitude
torque fluctuation near resonance, especially on joints 1
and 3, is somewhat lower than the experimental torque-fluctuation amplitude.

These limitations on the accuracy of theoretical predictions lend insight into possible areas
for model improvement. First, since the predicted velocities near system resonance are
much higher that the observed velocities, it is clear that this model fails to capture the
enhanced frictional dissipation which appears due to resonant vibration. As discussed in
light of experimental results, this dissipation probably results from a Coulomb-like
frictional torque which increases with the amplitude of torque fluctuations in the

137
Chapter 3: Harmonic-Drive Model 4

transmission. Since, in the three drives tested, the resonance phenomenon dominates
transmission behavior in a wide portion of the observed operating rangei an accurate
harmonic-drive model cannot ignore these resonance losses. As a second consequence of
this resonance-dissipation absence, the velocity jump that occurs in experimental response
when resonance vibrations cease does not appear in the theoretical response.
Consequently, any improved representation which is*able to replicate friction loss at
resonance is likely to show this unusual velocity behavior as well. Furthermore, since a
friction model at resonance is likely to supplement dynamic torque fluctuations with
variations in frictional torque, the low torque-amplitudes observed on the joints 1 and 3 in
this model may also improve. As a final note, the experimental current response on all
three joints displays electrical noise which is not reproduced in the current response of the
model. Since this noise had no effect on the dynamic performance of the actual system, it
was completely ignored in the simulation.

3.6.5 Model 4 Conclusions


The simulated results of the harmonic-drive model presented in this section
demonstrate that, by including the combined effect of friction, compliance, and kinematic
error in the model, performance can be significantly improved over models that do not
acknowledge all three of these transmission properties. In particular, the velocity and
torque fluctuations which appear in the experimental response can now be reproduced due
to the kinematic error in the model. Additionally, due to the interaction of the kinematic
error and compliance, system resonances appear in the theoretical predictions that match the
experimental results. Unfortunately, since the model fails to capture frictional losses which
occur at resonance, simulation accuracy decays at velocities which excite resonance
vibration. Based on these conclusions, it seems likely that this model may be useful for
predicting performance of dynamic systems that typically operate far from regions of
resonant behavior. Since the kinematic-error effects are featured in this model, static
positioning applications which require high accuracy may also benefit from predictions
delivered by this model. However, for any application which requires accurate predictions
of transmission behavior over a wide operating range, an improved harmonic-drive
representation which can predict frictional losses at resonance is required.

Another conclusion which can be made from this model is that reliable
measurements of transmission stiffness are difficult to obtain. In particular, when stiffness

138
Chapter 3: Harmonic-Drive Model 4

curves collected from static measurements were used in the model, the resulting dynamic
response held few similarities to actual behavior. As explained above, this discrepancy can
be blamed on the inaccuracy of static stiffness measurements due to friction in the
harmonic-drive. From the substantial differences between the theoretical and actual static
stiffness profiles discussed previously, it can be concluded that interaction between
stiffness and friction in the actual system is far more complex than the model recognizes.
Based on this result, an improved harmonic-drive model, in addition to improving
predictions at dynamic resonance, should also better represent the static stiffness behavior
in the transmission. In order to improve model performance, dynamic response data had to
be used to isolate the natural frequency of the system and derive the corresponding
transmission flexibility. Although this new stiffness data provided good dynamic results,
slight changes in its value could cause significant shifts in the operating velocities which
excited resonant behavior. This unfortunate result demonstrates that, unless an extremely
accurate model is developed which can reliably predict transmission stiffness from static
measurements, it is likely that static stiffness data will never be useful for accurate
predictions of harmonic-drive dynamic behavior.

Perhaps the most important conclusion that can be drawn from the results in this
section is that accurate harmonic-drive modeling is a very complex task. The scope of the
model presented in this section represents the maximum useful complexity that can be
included in a model that ignores more complex geometric interaction of the harmonic-drive
components. Since the resulting model performance was completely unreliable for large
portions of the harmonic-drive operating ranges, the forecast is gloomy for designers who
wish to make accurate predictions using a simple transmission representation. In a final
attempt to create a model that can make accurate predictions while still containing a
manageable amount of complexity, a representation will be developed below which
incorporates the three transmission properties used in model 4 into a simplified
representation of harmonic-drive gear-tooth interaction.

139
Chavter 3: Harmonic-Drive Model 5

3.7 Harmonic-Drive Model 5:


Transmission Including Gear-Tooth
Geometry
An accurate representation of harmonic-drive behavior cannot exist without
incorporating frictional losses, transmission compliance, and kinematic error. However, as
model 4 illustrated, these three properties are not the only factors which influence
harmonic-drive behavior. Additionally, a mechanism which dissipates energy during
system resonance and influences static friction measurements must also be captured. To
accomplish this task, I have transplanted the friction, compliance, and kinematic error
effects developed in the previous models into a new framework which imitates the gear-
tooth meshing action inside the harmonic drive. As discussed in this section, the increase
in complexity introduced by this new representation is rewarded by a substantial increase in
model performance.

3.7.1 Description of Model 5


In order to develop a model that mimics gear-tooth meshing action in the harmonic
drive, a more intimate understanding of harmonic drive operation is required. Figure 3.24
depicts close-ups of the gear tooth meshing geometry for a section of a harmonic-drive.
For the case where the flexspline is fixed to ground, clockwise rotation of the wave-
generator will cause the flexspline gear teeth to be pushed into the circular spline gear-teeth
along the major axis of the wave-generator. Since the flexspline has two fewer teeth than
the circular spline, the mating gear teeth will be slightly misaligned before meshing.
Consequently, as the flexspline teeth are pushed radially into the circular spline teeth, the
leading, or right-hand-side, face of the flexspline teeth will slide along the trailing, or left-
hand-side, face of the circular-spline teeth during engagement. The forces generated as the
teeth slide against each other will cause the gear teeth in the meshing zone to align and,
consequently, push the circular spline in the clockwise direction. For the case where the
circular spline is fixed to ground, clockwise rotation of the wave-generator still pushes the
flexspline teeth into the circular-spline teeth along its major axis. However, since the
circular spline cannot move, the forces generated as the flexspline teeth slide along the
circular spline teeth result in counterclockwise rotation of the flexspline.

140
Chanter 3: Harmonic-Drive Model 5

Using this understanding of gear-tooth meshing action, assumptions can be made

which reduce the complexity required in a harmonic-drive model which mimics this
behavior. First, by realizing that during normal harmonic-drive operation, anywhere from

141
Chapter 3: Harmonic-Drive Model 5

ten to greater than fifty teeth can be in contact between the circular spline and flexspline, the
effect of individual gear teeth can be ignored in a dynamic model. This assumption was
confirmed by the kinematic error results in section 2.2.2.1.4 which discovered that the
error of individual teeth was not detectable. Consequently, in order to capture the
aggregate effects of gear-tooth meshing, a model which describes sliding on a single
continuous gear-tooth surface should suffice. Second, since the gear-teeth are very small
compared to the pitch-diameter of the transmission, the localized motion of the gear-teeth
during meshing shows little trace of the overall rotational motion. Based on this
assumption, a model which describes this gear-tooth action can be simplified by using
translational rather than rotational motion. Using these two assumptions, a dynamic model
that captures the aggregate effect of the gear-tooth meshing mechanism is illustrated in
figure 3.25.

The simplified gear-tooth meshing model in figure 3.25 consists of a series of


massless inclined planes which embody the wave-generator and gear-tooth geometry of the

wave-generator,

rotation

FiSr
3.5 of haionSdrv Scenai moe Sihga-oohgoe

142
Chapter 3. !Iarmonic-Drive Model 5

actual transmission. These planes are confined to horizontal and vertical motion by a series
of ideal rollers and rigid surfaces. In particular, note that the output ports of the wave-
generator, flexspline, and circular spline are all restricted solely to horizontal motion so
they can be interfaced easily with an overall system model. Although this cannot be
illustrated in the schematic, by assuming that all of the surfaces which constrain motion are
infinitely long, this model can be used to describe all ranges of transmission operation.

By comparing the actual transmission in figure 3.24 to the model in 3.25, several
parallels can be drawn between actual and modeled behavior. First, horizontal motion in
the model corresponds directly to rotation of the harmonic-drive components and vertical
motion in the model corresponds to radial movement in the harmonic drive. Second, the
low-angle plane and inclined bearing surface on the bottom of the model schematic
correspond to the wave-generator in the actual drive. The mechanical advantage and
kinematic properties of the wave-generator eccentricity are captured by the low-angle of this
wedge. Since the wave-generator motion pushes the flexspline gear teeth into the circular
spline, a third parallel can be drawn between the two central wedges and the flexspline in
the actual system. Similarly, the wedge at the top of the model schematic which mates with
the flexspline wedge corresponds directly to the circular-spline in the actual system. So
that this model effectively replicates the gear-tooth rubbing action in the actual
transmission, the angle of both the flexspline and circular spline mating wedges is identical
to the traditional harmonic-drive gear-tooth angle of thirty degrees. The angle of the wave-
generator wedge at the bottom of the schematic can be calculated from the gear-ratio of the
particular harmonic drive as discussed later.

A better understanding of the likeness between the model in figure 3.25 and the
actual transmission can be gained by considering the case where the flexspline is fixed to
ground. Under this condition, as discussed previously, clockwise rotation of the wave-
generator in an actual transmission produces clockwise rotation of the circular spline. This
relative motion results since the wave-generator pushes the flexspline gear teeth .Ito the
circular spline gear teeth, and the forces at the gear-tooth interface drive the circular spline
in the clockwise direction. Identical behavior can be seen in the schematic in figure 3.25 if
the flexspline port is fixed to ground. Specifically, the clockwise rotation of the wave-
generator can be mimicked by sliding the wave-generator wedge in the model horizontally
to the right. Due to this motion, the two flexspline wedges in the model, which are not
allowed to move horizontally, slide vertically upward and push against the circular-spline
wedge. This vertical motion directly parallels the engagement of the gear teeth that occurs
in the actual transmission. Continuing the analogy, the vertical motion of the flexspline

143
Chapter 3: Harmonic-Drive Model 5

wedges in the model causes the circular-spline wedge to move horizontally to the right.
Again, this horizontal motion mimics the clockwise rotation that results in the circular
spline of the actual transmission. By fixing the circular-spline port in this model to ground,
a similar exercise can be performed to relate model behavior to the meshing action in an
actual harmonic drive under a different operating configuration.

Given this geometric framework which describes the motion and force constraints
present in ha:monic drives, remaining dynamic effects can be incorporated by introducing
friction, compliance, and kinematic-error properties. Specifically, since it is likely that
most frictional loss in harmonic-drives is generated from rubbing at the gear-tooth
interface, all friction in this model is localized at the contact surface between the flexspline
and circular spline wedges. However, unlike the previous model, Coulomb friction
properties are also included at this contact surface to provide a mechanism for
demonstrating increased losses at system resonance. Compliant behavior, on the other
hand, is not as easy to pinpoint as friction. In particular, past research has indicated that, in
addition to deflection in both the flexspline and circular spline gear-teeth, significant
deflection may also occur radially in the wave-generator as well. Since no information was
available to supervise the distribution of the overall transmission compliance into these
individual locations, a single stiffness element was included at the flexspline for simplicity.
In order to maximize the influence of friction at the gear-tooth interface on static stiffness
measurements in the model, this spring was oriented vertically rather than horizontally.
Lastly since kinematic error in harmonic drives is caused mainly by gear-tooth
manufacturing errors on both the circular spline and flexspline, two separate error function
should be included which vary the positions of the flexspline and circular-spline gear-tooth
surfaces. However, since the combined effect of these two error elements can be closely
approximated by a single error function, only one kinematic-error element is included in the
model. For the sake of simplicity, this element is located at the flexspline. Also, since
numerical problems can arise if the velocity at the input of this element becomes zero, the
kinematic error is oriented vertically rather than horizontally . If future models require
improved accuracy, this error function can be distributed into different locations in the
model.

As illustrated in experimental dynamic-response results, such as figures D. 1.7,


D.2.7, and D.3.7 in Appendix D, torque variations in harmonic-drives typically fluctuate to
large positive and negative values. From the model schematic in figure 3.25, it can be seen
that, if the normal force at the gear-tooth contact surface becomes negative due to this
alternating torque, the coulomb friction function at that surface becomes undefined. By

144
Chapter 3: Harmonic-Drive Model 5

better understanding how the load is carried by the harmonic-drive gear-teeth during these
torque oscillations, a new model can be developed to capture this behavior. In particular,
as figure 3.26 illustrates, when the driving torque across the gear-teeth is positive, the load
is carried by the gear-teeth surfaces which push the circular spline in the positive direction.

. . *. ... .. .*

.. ....
........

. ....
•.........
...:g" : ............

145
Chapter 3: Harmonic-Drive Model 5

However, when the driving torque becomes negative due to inertial vibrations, the
transmission velocity is still in the same direction but the opposite face of the gear teeth
must bear the resulting load. In order to capture this behavior in a dynamic model, the
representation shown in figure 3.27 can be used whenever the normal force at the gear
tooth interface becomes negative. Since this new model is essentially a mirror image of the
previous one, the normal force at the gear-tooth interface becomes positive and resulting
coulomb friction can be easily determined. Using this representation along with the
previous one, an attempt was made to mimic both positive and negative gear-tooth loading
in the harmonic-drive model by rapidly switching between models during simulation.
Unfortunately, since the numerical simulation used to solve the equations of motion was
not very tolerant of discontinuous changes in the dynamic qvuations, a solution could not
be reached. Instead, the single representation in figure 3.25 was used exclusively, and
whenever the normal force at the gear-tooth surface became negative, the coulomb friction

146
Chapter 3: Harmonic-Drive Model 5

was set to zero. This inaccurate assumption most likely represents the main shortcoming of
this model and identifies an important area for further improvement.

3.7.2 Derivation of Dynamic Equations


Before the derivation of the equations of motion for this system can begin, notation
conventions must first be established. Specifically, the variable names for the positions
and velocities and their corresponding sign conventions are illustrated in figure 3.28. As
this figure illustrates, positions are defined by the symbol 0 and velocities are represented
by the symbol w. Sign conventions for all of the kinematic variables in the model, except
Ofs and (Rffs, are defined to be positive in the direction they will travel when the wave-
generator is moved in the positive direction. Similarly, torque conventions are illustrated in
figure 3.29. For all of these variables the symbol T is used, and positive torque is defined
in the direction it will act when a load is applied in the positive direction on the wave-
generator while the flexspline and circular spine are kept stationary. As illustrated in both
these figures, the geometric angles of both the wave-generator and the gear-teeth in the
model are defined by the symbol (x. These geometric angles should not be confused with
the angular position coordinate, 0.

Given the variable names provided in these two figures, the geometric constraints in
the model will be used to define the kinematic equations governing model motion. First,
due to the inclined face of the wave-generator wedge, the horizontal motion of the wave-
generator and flexspline can be directly related to the vertical motion of the flexspline base
by the equations

0
toothbase - tan awg (Gwg - Of), and (3.49)

O0 tooth-base = tan a (O)wg - (Ofs) • (3.50)

Similarly, due to the gear-tooth angle, the circular-spline and flexspline horizontal motion
can be used to determine the vertical motion of the flexspline tip:

tooth-tip= ttan (ttooth0 (' s - 0f), and (3.51)

h)tooth-tip = 1 (('cs - Ofs). (3.52)


tan Oitooth

147
Chaoter 3: Harmonic-Drive Model S

8
toothaxfmlc bhawac

(X oot

V148
Chapter 3: Harmonic-Drive Model S

Tbh normal

149
Chapter 3: Harmonic-Drive Model 5

Using these equations and the geometry of the model, the equations specifying the motion
at both the wave-generator surface and the gear-tooth surface can be derived:

Owg-surface oXwg ewg +


COS sin cxwg 0 toothbase - COS (Xwg 0fs, (3.53)

( 0wg_surface COS aOwg C0 wg + sin awg (0oooth_base - COS xwg (, fs, (3.54)

Otooth_surface = COS
0 tooth Otooth-tip + sin atooth Ocs - (3.55)
sin aooth Ofs , and

0
W toothsurface = COS atooth Qtoothjtip + sin aO•toh Wcs - (3.56)
sin atooth Cofs.

Now that the kinematic relationships are complete, the angle of the wave-generator wedge
required to reproduce the motion in the actual transmission can be found. Specifically,
given the gear-tooth angle, atoth, and the catalog gear ratio, N, the wave-generator angle
can be determined exactly from the equation:

zwg =arctan((N+ 1) tatooth) (3.57)

If these kinematic constraints are indeed accurate, they should produce the same
relationship between the positions and velocities of the wave-generator, flexspline, and
circular spline as observed in the actual system. As a confirmation of this fact, while
ignoring kinematic error and compliance in the model, equations (3.49), (3.50), (3.51),
(3.52), and (3.57) can be combined to reproduce the ideal three-port transmission
equations presented in section 3.3. Based on this result, the position and velocity
relationships presented above provide a complete and accurate description of the kinematic
behavior of harmonic drives.

Now that the kinematics of the harmonic-drive model with gear-tooth geometry are
better understood, the constitutive relationships which govern the behavior of the individual
model elements will be derived. First, as seen in previous models, the friction at the gear-
tooth interface is composed of (1) a velocity-independent, constant torque, (2) a velocity-
dependent, damping torque, and (3) a cyclic torque function. However, as a new and
important improvement to this model, a Coulomb friction function is also included at the
gear tooth surface. The resulting aggregate friction function is

Tb - Tb consumt + Tb-dynamic + Tbcyclic + Tbcoulomb, (3.58)

150
Chapter 3: Harmonic-DriveModel 5

where

Tb_constan ` bconsta= , (3.59)

Tb.dynanic = b1 Wtotsurface + b2 (Otooth_surfacJ)3 , (3.60)

Tbýcycji = Ab sin ((Ocs - Ofs) + 40b) , and (3.61)

Tbcoulomb = l Ttooth-normal (3.62)

In these equations, g. represents the Coulomb friction coefficient at the gear-tooth interface
and the remaining parameters, as seen before, are defined in table 3.3.

Unlike this friction relationship which contains a new term for the Coulomb losses,
the stiffness equation used in this model resembles closely the cubic relationship seen in
previous models:
3
Tk = k, (0err - Otooth-tip) + k 2 0err - 0tooth-tip) (3.63)

Following the example set by model 4, the kinematic error function used in model 5
will be a harmonic series of three error components. However, slightly different than
model 4, since the kinematic-error function is located on the flexspline, it should vary as a
function of the flexspline gear-tooth meshing position rather than the wave-generator
position. Considering that every tooth on the flexspline will mesh once when the wave-
generator makes one complete revolution relative to the flexspline, the position which
governs the kinematic-error function should be ewg - efs. Adopting the syntax used for
model 4 in equation (3.33), this kinematic error function becomes

Oerfn = Al sin (Owg.rel + 01) + A 2 sin (20wg..rei + 02) +


A 3 sin (4 0wg-rel + dy3 ), (3.64)

where

ewg.rel ` Owg - Of$. (3.65)

Similarly, the derivative of this function can also be defined as

d Oerfn = Cowgrelj Coerfn, where (3.66)


dt

151
Chapter 3: Harmonic-Drive Model 5

co•rfn = A, COS (OwLreI + €1) + 2 A 2 COS ( 2 0wg_rel + 02) +


4 A 3 COS (4 Owg.rel + ¢3) , and (3.67)

WJw..jel = (Owg - Q.fs • (3.68)

Note that, unlike previous models, since the magnitude of the kinematic-error function in
model 5 does not translate directly to rotation of the flexspline or circular spline, the values
of the position-error amplitudes, Al, A2 , and A3 , must be adjusted as discussed later.
Given the position-error function and its derivative, the position, velocity and torque
constraints can be derived as done for model 4. Specifically, by definition, the position
and velocity constraints across the kinematic-error element are

Oer Otooth-base + (erfn , and (3.69)

(Derr - (Otooth_base + O)wgrel Werfn . (3.70)

By requiring that power be conserved, the following equation can also be derived:

Terr-in C)toothbase = Tk 0Werr. (3.71)

Using the kinematic-error relationship in equation (3.70) and the geometric constraint in
equation (3.50), this power relationship can be convened easily into the desired torque
constraint on the kinematic error element:

Terrin
- ' awgI Tkk
I + tan erfn (3.72)

At last, with the torque, velocity, and position relationships for the kinematic error fully
defined, the constitutive relationships required in the model are complete.

Having calculated both the kinematic and constitutive constraints on the model, the
task that remains is to balance the forces across the elements in the transmission. This can
be accomplished by summing the forces separately for the four different geometric shapes
in the model. For the wedge representing the wave-generator, balancing the forces in the
horizontal and vertical directions yields the equations

Twg= Twnormal sin awg , and (3.73)

Tinput_normal = Twg-norm-t cos xw (3.74)

152
Chapter 3: Harmonic-Drive Model 5

Likewise, the equations for the flexspline base are

Tfs = Tfs normal - Twg.normal sin twg , and (3.75)

Trrin = Twgjnormui COS awsg, (3.76)

and the equations for the flexspline tip are

Tfs-normal= Ttoothnormal COS Octooth- Ttooth friction sin actooa, and (3.77)

Tk = Ttooth-normal sin (ttooth + Ttooth-friction COS Ottooth. (3.78)

Using the same procedure, the force-balance equations for the remaining circular-spline
wedge complete the dynamic constraints:

Tcs m Ttooth_jnorma! COS atooth - Ttooth-friction sin otot , and (3.79)

Toutput.normal= Ttooth-normal sin atooth+ Ttooth-friction COS (Xtooth. (3.80)

To solve these equations, (3.74), (3.76), (3.78), and (3.80) can be combined with the
constitutive torque-relationship for the kinematic error element in order to determine
TinpuL normal, Twg.normal, Toutput-normal, and Ttooth_normal in terms of known quantities.
Then, by substituting these values along with equation (3.77) into equations (3.73),
(3.75), and (3.79), the expressions for the torques on the wave-generator, flexspline, and
circular spline can be found. When the positions and velocities of the three harmonic-drive
ports are known, these equations, combined with the kinematic and constitutive
relationships presented above, can be used to calculate all torques experienced by
transmission.

3.7.3 Calculation of Input Parameters


Before the equations in model 5 can be used to simulate dynamic response, values
for friction, stiffness and kinematic-error properties need to be determined. In the case of
friction, experimental measurements presented in section 2.5 provided good results when
used in previous dynamic models. However, in order to use these same values in model 5,
the experimental friction results, which were measured from the input side of the
transmission, need to be reflected to the gear-tooth interface, where they will appear in the
model. The appropriate scaling factor which relates the wave-generator velocity to the

153
Chapter 3: Harmonic-Drive Model 5

gear-tooth surface velocity can be easily found from the kinematic relationships presented
above. On joint configuration 1, for example, this scaling factor is

B= 1 , where (3.81)
(N + 1) sin atooth

(Otooth-surface = B (Owg• (3.82)

Given this scaling factor, the values for the tooth-surface friction coefficients required to
generate the same losses observed experimentally can be calculated readily. By assuming
that any power dissipated by a friction source located at the wave-generator should be
identical to the power dissipated when the friction is located at the gear-tooth interface, the
experimental friction results can be directly related to friction parameters at the gear-tooth
interface. In the case of velocity independent friction, this analysis yields the result

bconstan- =bconstantwg
B (3.82)

where bomumt is the constant friction at the gear-tooth interface from equation (3.59),
bcovmta wg is the constant friction measured at the gear-tooth interface, and B is the scaling
factor presented in equation (3.81). Since the amplitude of the cyclic friction in equation
(3.61) is also independent of velocity, it can be calculated in an identical manner.
However, the dynamic friction coefficients in equation (3.60), since they are linear and
cubic functions of velocity, must be scaled by factors of B2 and B4, respectively.

Since no experimental data were collected to measure the Coulomb friction in the
transmission, the remaining friction equation, (3.62), cannot be calculated using the same
method used to derive the other friction terms. Instead, tabulated handbook values for
typical Coulomb friction coefficients were used. Specifically, for lubricated steel-to-steel
contact, listed values ranged from 0.03 to 0.16, and using this range as a guide, friction
coefficients were then adjusted to optimize model performance. The resulting coefficients
that delivered good model performance were 0.15 for joint 1, 0.05 for joint 2 and 0.10 for
joint 3. However, simulated results illustrated that small changes in these friction values
within the quoted range could greatly influence the dynamic response. This unfortunate
result identifies a serious barrier to accurate harmonic-drive modeling since reliable
Coulomb friction values are notoriously difficult to identify.

Having determined useful values for the friction in the harmonic-drive model, the
second property that needs to be evaluated is transmission flexibility. As was the case in

154
Chanter 3: Harmonic-Drive Model 5

the previous model, static stiffness measurement were of little help in determining the ideal
compliance for the model. Instead, the resonances that appeared in the experimental time-
response data were used to identify the natural frequencies of each harmonic-drive system.
Given these frequencies, the inertias seen by the spring, as reflected through the geometry
of the model, were used to calculate the linear component of the ideal compliance required
to produce the same resonant behavior. With the linear coefficient fixed, the cubic stiffness
coefficient was adjusted to reproduce the curvature in the measured static-stiffness profiles
and provide good dynamic-response behavior around resonance. In particular, cubic-
stiffness values were adjusted to increase or decrease the velocity range over which
vibrations were sustained in each system resonance. Using these stiffness parameters,
static stiffness simulations were performed using the harmonic-drive model, and results are
shown in figures 3.30, 3.31, and 3.32.

By comparing the theoretical stiffness predictions to experimental results and


catalog values, as shown in the three figures, useful insights about model integrity can be
gained. First, since the Coulomb friction introduced in this model influences static
stiffness predictions, the simulated theoretical compliance curves show a stiffer profile than
the ideal stiffness alone would predict. More specifically, under static loading conditions,
in order to effect torsion at the transmission output, both the model stiffness and Coulomb

0.35 1 1 - I .1 .... I
S............... T............... !............... !................ :....... ...
• ............ ...
T ........ - '"- ". .. ....
! .............. .......... ..I
........... ............... ..............................
................. . .. ....................

S............... ............................... .............. ............ e f...............


ss d ata
" 0.5 ............
0.25 ............... ................................
............... ............... . .............. 4A ..........
................. ........
................... .... . .... sa d r tfn s u v
. standard stiffness curve
- 0.2 . ......... ........................--- T -- ............... ........... S~optimal stiffness curve
tfn s n g a -o t mode
0.2../..- ... stiffness in gear-tooth model
... . . . . . . . . . . .i. . . : ... . . . . . .
........
..........
+.. . . . . . . . . . . / ......................
5 . .......
_o.0
0 .1 . ..... ........ ......... ............

00 ............... -.................. :.............................. ......................... .. .--.T.--.


o. 4.' .-........ . ........ .......
..... .. ...........
...................

0
0 10 20 30 40 50 60 70 80 90 100
Output Torque (N*m)

155
Chapter 3: Harmonic-Drive Model 5

experimental stiffness data


0.5 .... standard stiffness curve
0 ................. optimal stiffness curve..................
-stiff ness in gear-tooth model

0 .4" ........... *.. .... .................


S....................... .. ..... .....
.....
" 0.3 .... . ; .....
........ ........ ...
.... ..
.... . . . . . . ...
. . . . . . . . •....
....
.2.............. /...................
..... .............. .....................

0.2 ....i.... . --- -• ...... ........... .......... .........


.....--.... ..
. ---
-

...........
...... ...... . . . ............
............. ..........
...............
.......
..........
.
0

0 10 20 30 40 50 60 70
Output Torque (N'm)
UA)

CL

0
0.35 1 1
S....
........... ............
........... ......'"•
.... ....... ................
..... .... ......... .........
........
E"0.32
01 . . . .....
...........
5.......... . . . . . ..... ................. :.."........i

. ...... .......... i.......... .......


........
....................
0.5....... • : ..
........... • .......... : ... . ......... ,........ .......... ...........
.. ... .........

S 0 .2 . ..... *.......... ...... .......... ......... . ..... .......... .... ...... ............. ..................... i....
--. ......... .
0 ....... ........... ,. .......... ..'... .........-
....... .... ..............
.......... . . . ......
....... .... ..... ........-..
... ............
.. ".. ...... .... .... ....

o. .......
. ... ....- . ... ....
o. 1 ....... ist
n tar
stiffness
l dur
te
~
0.1 ~~ ~ ~
............ .......... optiandr stiffness curve
0.0 ...... ........ ..... .......... ......... i•......... .......... g arto th mo e
...... .. |.......... ........... <.......... ..........
. .... stf
lllll i in i lll l m | I
I.. .aI)lll

0 5 10 15
Output Torque (N~m)

156
Chanter 3: Harmonic-Drive Model 5

friction must be overcome. Since the magnitude of the Coulomb friction force at the gear-
tooth surface increases as the load on the surface increases, the applied load required to
overcome this friction force increases linearly as the load increases. During static stiffness
measurements, this variation in Coulomb-friction force will appear as an increase in the
measured stiffness during joint loading and a decrease in stiffness when the joint is
unloaded. This behavior can be observed in all of the theoretical stiffness profiles in
figures 3.30, 3.31, and 3.32. As illustrated most clearly on joints I and 3, this apparent
increase in stiffness during loading produces theoretical stiffness measurements that more
closely resemble the experimental stiffness profiles. This result is positive evidence that the
gear-tooth mechanism captured in the model more closely mimics the physical behavior in
the actual system. However, since in all cases, the overall shapes of the predicted stiffness
profiles show poor agreement to measured values, the actual friction mechanism in
harmonic drives is probably much more complicated than this model recognizes.

The second hallmark which can be used to evaluate the accuracy of the theoretical
stiffness predictions in hysteresis loss. In the model, hysteresis in the calculated stiffness
profiles is governed by the velocity-independent friction component as well as the Coul )mb
friction at the gear-tooth interface. In particular, the constant friction term provides a fixed-
width difference between the loading and unloading stiffness curves while the Coulomb
friction adds a hysteresis-width component that increases linearly with the applied load.
The combined effect of these two friction factors can be seen in the theoretical stiffness
curves in figures 3.30, 3.31, and 3.32. From the poor agreement between the predicted
and experimental hysteresis loss it can be concluded that, although the specified friction
values provided good dynamic response, the interaction between friction and compliance in
the actual system is more complex that the model acknowledges.

Now that values for the friction and compliance effects in the transmission model
have been isolated, the only parameters that remain unknown are the kinematic-error
amplitudes of equation (3.64). As discussed previously, since low-velocity measurements
of these position-error components proved somewhat unreliable due to dynamic vibrations,
the values were selected in the previous model by matching predicted and experimental
dynamic position-error. In theory, since the resulting values used in model 4 should
describe the absolute kinematic error in the transmission, the same numbers should also
apply to the new harmonic-drive model with gear-tooth geometry. When these kinematic-
error amplitudes were reflected appropriately through the geometry of model 5 and
incorporated into the simulation, however, the resulting dynamic-response predictions fell
short of performance expectations. Specifically, the torque-fluctuation amplitudes that

157
Chapter 3: Harmonic-Drive Model 5

resulted from the given kinematic-error values were much smaller than the experimental
values. Because of these diminished torques, the amount of dissipation at resonance due to
Coulomb friction was lower than observed in the actual system. To remedy this problem,
it was discovered that, with slight adjustments to the calculated kinematic-error values,
model predictions improved greatly. The final values which delivered optimal model
performance are listed in Table 3.6 and compared to the experimental predictions from
section 2.2. Based on this evolution of reliable kinematic-error values, a few useful
conclusions can be derived. First, since the amplitudes which provided good results in
model 4 performed less admirably in model 5, it is clear that the mechanisms used to
introduce kinematic-error effects in both these models are incomplete. For example, as
discussed previously, if the model including gear-tooth geometry could also incorporate the
transmission behavior when the normal force at the gear-tooth interface reverses direction,
it is likely that the influence of kinematic error on dynamic behavior could change
dramatically. Additionally, from the difference between low-velocity measurements and
theoretical values shown in table 3.6, the reliability of kinematic-error measurements which
are not taken under truly static conditions is further questioned. In conclusion, the
unfortunate result which can be derived from these observations is that the accurate
kinematic error estimates are elusive. However, through careful parameter adjustment
based on a good understanding of system dynamic operation, values can be chosen that
deliver relatively good model performance.

Tal 36: Kiemti-ero copnet in mode 5 vs mesue vaue

.... .. ...........

0.000 0.020 0.008


0.001 0.013 0.007

0.003 0.022 0.006


0.001 0.008 0.004

.. 0.003 0.015 0.005


0.007 0.013 0.007

3.7.4 Evaluation of Simulated Results

By inserting the harmonic-drive model developed in this section into the overall
system models for the two joint configurations, dynamic step-response simulations were

158
Chapter 3: Harmonic-DriveModel 5

performed to replicate the experimental results. Using the experimental parameters for
friction, stiffness, and kinematic error discussed previously, time-response data was
collected over a range of motor-current steps for the three harmonic-drive testing-station
models. These simulated results are presented in appendix F in the identical format used
for the experimental time-response results of appendix D and the model 4 simulation results
in appendix E. In particular, graphs are shown which illustrate the position, velocity, and
torque response for the observed range of harmonic-drive operating behavior. Table 3.7 is
extracted from a similar index in appendix F and summarizes the figure numbers for all of
the simulated dynamic-response plots. By directly comparing these plots to the
experimental results in appendix D, the capacity of the dynamic model to predict actual
harmonic-drive behavior can be evaluated. As an explanatory note, the electrical noise
present in current-sensor readings was not reproduced in the model simulation since it had
no influence on the dynamic behavior of the system.

i ii
......
.... --
----------.
.F.1.1 F.2.1 F.3.1
`-`.
':::::x11_ý
.... .................
OF.1.2 F.2.2 F.3.2

Opu •:::•i•eoy ~F.1.3


!!ii ..'..ii................. F.2.3 F.3.3
Ou XX F.1.4 F.2.4 F.3.4
.,,..,. ............ .................., .... ::::::•
... .... : . .. •.

SF. 1. F.2.6 F.3.6


.•;:::!i•"
" - " " :....
' ' "' ...' - • --. • F. . F. . i.
• 0 ... .• !....... i
M......................
...:................ :!i :ii•F .1.8 F.2 .8 F.3 .8

From these results, several performance advantages of the harmonic-drive model


with gear-tooth geometry can be noted:

W Due to Coulomb friction losses at the gear-tooth interface, the steady-state


velocities reached by current-steps which excite system resonance are much
closer to the experimental values than in previous models.

[F] The surprising jumps in velocity that appear in the experimental response
when the velocity exceeds the resonance range are also observed in the
simulated response.

159
Chapter 3: Harmonic-Drive Model 5

Velocities which excite resonance behavior are almost identical between


predicted and actual response.

F4] As seen in previous models, overall predicted response shows good


agreement to experimental data at operating speeds removed from regions of
resonant behavior.

By noting the difference between the experimental and theoretical results, the shortcomings
of this model can be recognized as well:

F On joints 2 and 3, in particular, input currents that could generate velocities


high enough to break through resonait regions were lower than observed in
experimental response.

F21 Compared to experimental response, amplitudes of torque fluctuation were


too low on joint 1 and too high on joints 2 and 3.

F21 -Thepredicted dynamic position error at system resonance was greater than
experimental observations for all three joints.

From the improvements in simulated response shown by this model over its predecessors,
it is clear that gear-tooth geometry and Coulomb friction are essential components for
predicting harmonic-drive behavior during resonance. However, from the discrepancies
between the theoretical and actual response, it also clear that a more detailed representation
is required before reliable predictions of harmonic-drive performance can be made. In
particular, as discussed previously, a model that can accommodate the shift in system
dynamics that occurs when the torque at the gear-teeth changes direction should be able to
improve predicted results. Currently, the model in this section avoids this complication by
setting the Coulomb friction at the gear-tooth interface to zero whenever the normal force
on the gear-tooth surface becomes negative. It is likely that a new model, which captures
more accurately the actual friction behavior at the gear-teeth, will improve predicted
performance by (1) increasing loss at system resonance and (2) limiting dynamic position
error and velocity fluctuations while preserving torque amplitudes. If the new model can
indeed deliver these effects, the model predictions should resemble more closely the actual
dynamic response and, consequently, improve the accuracy and reliability of the
representation.

By analyzing the influence of model parameters on overall dynamic response


behavior, the sensitivity of a few important variables was characterized. First, variations in
transmission compliance, which can influence greatly the natural frequency of vibration,

160
Chapter 3: Harmonic-Drive Model 5

caused substantial deviations in the resulting dynamic response. Since experimental results
illustrate that resonant behavior governs system performance for a wide range of operating
velocities, it is not surprising that small variations in model stiffness can have a profound
effect on dynamic response. Second, variations in the coefficient of Coulomb friction, g.,
were also shown to influence dynamic response especially at system resonance.
Surprisingly, decreasing the value of this coefficient often resulted in increased resonance
losses due to heightened system vibration and torque fluctuations. Lastly, the output
friction included in the system model had a surprisingly important relationship on dynamic
behavior. Because increases in this variable resulted in higher normal-forces at the gear-
tooth interface, resonance losses from Coulomb friction were very dependent on its value.
A model in which Coulomb friction acts for both positive and negative normal torques may
not show this same dependence. These observations emphasize the necessity of accurate
characterization of harmonic-drive stiffness and friction properties for reliable model
performance.

3.7.5 Other Models


In order to evaluate alternative strategies which might improve the performance of
the harmonic-drive model with gear-tooth geometry, additional representations were
developed. First, in order to capture the compliance of the torque sensors on each joint, an
additional spring was included in the model at the grounded port of the transmission.
However, because of the kinematic constraints of this new compliance and the cubic
relationship of the harmonic-drive flexibility, the algebraic equations of motion could not be
solved analytically. To remedy this problem, an additional state variable was introduced
into the model by attaching an inertia to the spring on the grounded port of the
transmission. This additional variable allowed for easy algebraic solution of the resulting
equations, but, since the system was very stiff, numerical solutions were time-consuming.
Results collected from a few simulations, however, indicated that the new inertia and
flexibility on the grounded port of the harmonic-drive had a negligible effect on the
dynamic response of the system. Finally, as mentioned previously, a numerical strategy
was developed to solve simultaneously the two different sets of dynamic equations that
describe harmonic-drive operation for positive and negative torques at the gear-tooth
interface. Unfortunately, since no numerical algorithm was found that could solve the
discontinuous set of equations reliably, I will resign this problem for later research.

161
Chapter3: Harmonic-Drive Model 5

3.7.6 Model 5 Conclusions

The model presented in this section represents a first attempt to incorporate gear-
tooth-rubbing action into a dynamic model of a harmonic drive. As the simulated results
illustrated, since this model included Coulomb friction losses at the gear-tooth interface,
energy dissipation increased during system resonance and dynamic response integrity
improved greatly in these areas. However, even with this new level of detail in the model,
discrepancies between predicted and actual response indicate that the dynamics of
harmonic-drive operation are still even more complex. However, since this is the only
model which can boast even partially describing harmonic-drive response in all ranges of
operation, it may be useful in any application in which understanding harmonic-drive
operation through resonant regions is required. Since the mathematical complexity of this
model is relatively minimal, it is an ideal candidate for making quick estimates of operating
behavior, but, if more accurate information is required, I hope that this model can provide a
template for more complex representations which better capture the subtleties of harmonic-
drive behavior. In the very least, the model presented in this section can prescribe a
definite lower bound on the level of detail required in harmonic-drive models to deliver
reliable results.

One of the most discouraging conclusions that can be drawn from the results in this
section is that accurate characterization of transmission properties can be very difficult but,
unfortunately, also essential for good model performance. In fact, the only way in which
accurate values could be determined for the stiffness and coulomb friction in this model
was through careful measurement of dynamic response over a wide range of operation. By
comparing these dynamic response measurements to the simulated results, the stiffness and
friction values could be painstakingly adjusted to optimize model performance. Static
stiffness tests and catalog predictions provided little guidance in this task. Based on this
result, it seems unlikely that the model in this section, or any similar representation for that
matter, will ever be able to make accurate predictions of dynamic performance using solely
catalog values or simple experimental observations. Consequently, for applications in
which an accurate harmonic-drive model is required,there are no shorcuts around a detailed
experimental analysis of the actual harmonic-drive system.

Perhaps the most useful feature of the model in this section is its intimate conceptual
relationship to the actual behavior in harmonic drives. Since this model depicts the
interaction of the three different transmission components, harmonic-drive properties such
as friction, compliance, and kinematic error can be placed at locations which have a definite

162
Chanter 3: Harmonic-Drive Model 5

physical meaning in relationship to the real system. Furthermore, because of this


conceptual analogy, the model can be improved easily and expanded to incorporate new
properties resulting from future investigation into transmission behavior. Because of these
features, harmonic-drive designers might find this model valuable for collecting quick and
useful information about how adjustments in operating parameters, such as gear-tooth
angle and frictional losses, can influence overali dynamic response. Engineers and
designers, on the other hand, might find this model valuable for fostering an intuitive
understanding of harmonic-drive operating behavior.

163
164
As presented in this document, my research was targeted at understanding the
operating behavior of harmonic-drive transmissions and developing mathematical
representations to describe the observed performance. From my experimental
investigation, several properties of harmonic drives where characterized and related to the
overall dynamic behavior of the transmission. By developing models to simulate the
experimental observations, the importance of many harmonic-drive properties was
categorized and the complexity of the harmonic-drive operating mechanism was exposed.
This section summarizes the important insights gained from both the experimental and
theoretical investigations and presents recommendations for future harmonic-drive research
and implementation.

4.1 Experimental Conclusions


The first set of experimental tests I performed were directed at understanding the
magnitude and origins of kinematic position-error in harmonic drives. From the collected
results, I confirmed past findings which identified primary error components to vary
cyclically at twice the speed of the wave-generator and subsequent harmonics. Further
exploration of kinematic error at higher frequencies demonstrated that the kinematic
signature of individual gear-teeth was too small to be measured. Lastly, by isolating
individual error components at both the circular spline and flexspline gear-meshing
frequency, I confirmed that the dominant source of kinematic inaccuracy in harmonic drives
can be traced to the gear-tooth errors. From evidence discovered through dynamic
modeling analysis, I realized that, due to fluctuating inertial forces which induce
transmission compliance, kinematic-error measurements can be corrupted greatly even at
small operating velocities.

165
Chapter 4: Conclusions

The second experimental voyage I undertook was the accurate characterization of


harmonic-drive stiffness properties. In addition to cataloging the non-linear stiffness
profiles for three harmonic-drives, perhaps the most important insight I gained on this
journey was that stiffness measurements taken under static conditions are highly influenced
by static friction in the transmission. Because of this unfortunate result, static stiffness
measurements were of little use in determining stiffness properties for harmonic-drive
dynamic models. To make matters worse, these stiffness measurements were observed to
deviate from catalog predictions and vary widely with wave-generator angle and gear-tooth
preload. Since the accuracy of harmonic-drive representations developed later was highly
sensitive to stiffness values, the volatile nature of harmonic-drive stiffness identifies a
primary barrier to harmonic-drive modeling efforts.

Static and dynamic friction in harmonic drives were the third suspects to be
experimentally audited. In particular, starting-torque measurements were made on three
harmonic drives which confirmed past results demonstrating that factors such as wave-
generator angle and gear-tooth preload can greatly affect static friction. Next, experimental
tests performed at non-zero velocities illustrated that the dynamic friction in harmonic
drives has three components: (1) a velocity-independent torque probably due to coulomb-
like friction resulting from gear-tooth preload, (2) a non-linear dynamic torque caused by
the lubrication effects in the transmission, and (3) an increased energy loss during system
resonance resulting from high torque fluctuations which increase coulomb-like friction at
the gear-teeth. The increased losses at resonance, in particular, were sighted for causing
unusual and unpredictable behavior during harmonic-drive operation. Lastly, to add an
extra element of complexity, the velocity-independent friction torque was observed to vary
considerably with the output rotation of the transmission.

Using the results collected for harmonic-drive kinematic error, compliance, and
friction properties, the overall dynamic response of the transmission was scrutinized.
From this investigation, several behavior patterns common to the three harmonic drives
tested were identified and related to known transmission properties. First, all dynamic
response showed significant velocity and torque fluctuations due to the kinematic
inaccuracies of the transmission. Second, due to the relatively low stiffness of harmonic
drives, these fluctuations excited dynamic resonances over a substantial range of the
harmonic-drive operating envelope. Torque and velocity oscillations were observed to
increase dramatically in these resonant regions. Third, since coulomb-like friction
increased energy dissipation at resonance, large increases in motor current produced little or
no increase in operating velocity around resonance. Additionally, due to this energy loss at

166
Chapter 4: Conclusions

resonance, dramatic jumps in velocity were observed when the system finally exceeded
these resonant regimes. Fourth, since the harmonic-drive stiffness is non-linear, the
natural frequency of vibration increased with increased torque levels at resonance. This
rise in resonant frequency increased the velocity range which excited system resonance and
accentuated the velocity jump that occurred when these resonance ranges were exceeded.
Lastly, due to friction variation with output rotation, the location of the velocity jump at
resonance exit was observed to vary unpredictably.

If a single conclusion must be derived from the experimental results of my research,


it should be that harmonic-drive properties are very dependent on operating and
environmental conditions. In particular, stiffness and friction investigations demonstrated
that factors such as input orientation, output orientation, gear-tooth preload, and operating
temperature can greatly influence measured values. In an attempt to unify these results, I
propose a final description to explain the observed behavior. Specifically, due to the
slightly different gear-tooth spacing on the circular spline and flexspline, a small amount of
gear-tooth deflection is required to ensure tight meshing. This deflection, in turn, dictates
the necessity for a non-zero preloading force at the gear-tooth interface. As a fortunate
side-effect of this gear-tooth loading, backlash in harmonic-drives is minimal. However,
since this force increases the amount of Coulomb friction during gear-tooth rubbing, the
friction in the transmission is greatly influenced by the tightness-of-fit at the gear teeth.
Similarly, since harmonic-drive stiffness is probably directly proportional to the metal-to-
metal contact area at the gear-tooth interface and a tight gear-tooth fit results in a large
contact are4 ., it is reasonable to assume that harmonic-drive stiffness should vary with gear-
tooth preloading as well. Using this description of the gear tooth mechanism, an
explanation can be made to describe the increases in both stiffness and friction that were
observed it, the experimental results when the preload was increased. Developing this
theory further, the influence of kinematic error on gear-tooth preloading can also be related
to variations in h.r-monic-drive properties. Specifically, as kinematic-error results
demonstrate, geometric inaccuracies exist in the gear-teeth of harmonic drive transmissions.
These inaccuracies are likely to cause variations in the tightness of fit between the circular
spline and flexspline gear teeth when these two components are rotated relative to each
other. Based on this assumption, it is likely that both friction and stiffness in the
transmission should also vary due to this fluctuation in gear-tooth preload that occurs when
either the input or output port of the transmission is rotated. Using this explanation, the
experimental variations in stiffness and friction with input and output orientation can be
justified. Lastly, since other conditions such as gear-tooth wear and operating temperature

167
Chapter 4: Conclusions

can influence the tightness of gear-tooth meshing, stiffness and friction are vulnerable to
these influences as well. In general, using this argument, any variation in an environmental
or operating conditions which can affect loading at tbh- gear-tooth interface will be
manifested in the stiffness and friction of the transmission. I am optimistic that future work
in this area can not only quantify this interdependence of transmission properties but can
also develop mathematical representations to predict experimental measurements under
static and dynamic conditions.

4.2 Theoretical Modeling Conclusions


In my theoretical investigation, five different harmonic-drive models are presented
to illustrate the level of detail required to reproduce actual harmonic-drive behavior to
different degrees of accuracy. Since each of these models boasts three-port behavior, all
possible harmonic-drive operating configurations can be easily reproduced. Additionally,
since none of these models contain inertia terms, simple algebraic equations are adequate to
fully define model performance. Based on the results from my investigation of these five
models, the applicability of different harmonic-drive modeling strategies will now be
summarized.

I began my investigation with an analysis of an ideal transmission model. Not


surprisingly, since this representation failed to capture any of the frictional losses of the
actual system, predicted operating velocities were orders-of-magnitude higher than in
reality. To improve performance, I then included frictional losses into the dynamic
representation. Specifically, dynamic friction, velocity-independent friction, and position-
dependent friction were all appended to the ideal transmission model. As expected, this
model predicted velocities which matched experimental observations in most ranges but
failed to capture the resonant vibration observed in the actual system. Based on these
results, it was concluded that, for systems where resonant behavior does not appear within
the operating envelope of the harmonic drive, this simple representation may suffice.

Unfortunately, in the three transmissions studied, system resonance appeared


frequently and dominated behavior over a substantial range of harmonic-drive operating
velocities. In order to capture these effects, both non-linear compliance and kinematic error
were incorporated into the system model. By using stiffness values estimated from
dynamic observations, the resulting predictions of resonant behavior from the model agreed
closely with the experimental results. Unfortunately, since this improved harmonic-drive

168
Cha•ier 4: Conclusions

model was incapable of describing the losses which occur at system resonance, model
predictions at velocities which excited resonance vibration were still inaccurate. Based on
these results, it was concluded that this model provides a slightly more accurate
representation than it predecessor for describing the dynamic behavior of systems which
experience little resonance vibration.

In a final attempt to improve model performance, a representation was developed


which incorporated a simplified gear-tooth meshing mechanism with Coulomb friction at
the gear-tooth interface. Because of enhanced dissipation from the Coulomb friction at
system resonance, this model better reproduced the actual velocities and torques that
occurred in resonant regimes. In particular, the sudden velocity jumps that were observed
in the experimental response when velocities exceeded resonant regions also appeared in
the simulated response. From these optimistic results, it was concluded that the gear-tooth
meshing mechanism plays a significant role in harmonic-drive operation and cannot be
ignored in an accurate harmonic-drive model. Unfortunately, since some torque levels and
velocity fluctuations predicted by this model differed from experimental observations, the
need for more detailed representations was demonstrated. Nevertheless, it was concluded
that, with careful estimation of input parameters, this model may prove useful in
applications in which understanding harmonic-drive operation through resonant regions is
required.

From the results of the five transmission models, the complexity of the task of
harmonic-drive modeling has been exposed. Not only are friction, compliance, and
kinematic error essential factors for describing harmonic-drive behavior, but the gear-tooth
meshing dynamics also play an essential role in determining the overall performance of the
transmission. Additionally, experimental results indicate that the actual values of these
transmission properties can vary significantly with environmental and operating conditions,
which makes accurate characterization of these effects difficult if not impractical. To make
matters worse, not only are reliable measurements of transmission properties difficult to
obtain, but, for stiffness and coulomb friction in particular, precise estimates are critical for
good model performance. In fact, the only way in which accurate values could be
determined for the parameters in this model was by measuring carefully the dynamic
response over a wide range of operation and adjusting of model parameters to match this
observed response. This unfortunate result reveals that reliable harmonic drive models
cannot be developed unless experimental data from the actual harmonic-drive system are
available. In the face of these modeling obstacles, it seems unlikely that any model which
does not capture the physics of harmonic-drive operation to a much greater level of detail

169
Chapter 4: Conclusions

will ever be able to deliver accurate and reliable performance over all operating regions.
Given this conclusion, I hope the models developed in this investigation .will act as a
springboard from which to launch more detailed future explorations.

4.3 Recommendations
Given the conclusions of my experimental and theoretical investigation, I can offer
a few recommendations to designers wishing to model systems employing harmonic
drives. The first step in understanding the extent to which harmonic-drive dynamics may
influence system performance is it to determine the prominence of resonance vibration
within the operating range of the transmission. Due to the unreliability of static
measurements and catalog predictions of stiffness values, resonance vibration can be
accurately located only during actual system operation. However, an order-of-magnitude
estimate for the natural frequency of the system can be made by using linearized catalog
stiffness values and system inertia measurements. If a harmonic of the rotational velocity
of the wave-generator relative to the flexspline coincides with the estimated natural
frequency of the system at any point in the operating envelope of the transmission, it is
likely that resonant vibration will occur. Since resonant vibration greatly influences
operating behavior and is difficult to model, the best solution to this dilemma is to revise
the machine specifications to avoid these ranges of operation.

For researchers embarking upon experimental investigations of harmonic-drive


behavior, I can make a few suggestions about worthy areas for exploration. Specifically,
in order to provide accurate stiffness data for harmonic-drive models, a reliable method for
removing the friction component from static stiffness measurements would be enormously
valuable. Alternatively, modeling efforts would also benefit from an experimental
procedure that could reliably measure harmonic-drive compliance dynamically. Since
harmonic-drive stiffness and friction can vary considerably with such factors as gear-tooth
preload and wave-generator angle, empirical data describing these variations could be very
beneficial for anticipating ranges of parameter variation in different harmonic drives.
Additionally, since many harmonic-drive properties are influenced by rotational direction,
an experimental investigation in this area could also prove worthwhile. Lastly, since
dynamic representations have been shown to depend strongly on accurate friction
measurements, a method for experimentally separating different friction components

170
Chatier 4: Conclusions

present in harmonic drives would be useful for improving performance of harmonic-drive


models.

Lastly, for future harmonic-drive modelers, I propose a few areas for investigation
that seem most fruitful. In particular, as described in detail previously, a harmonic-drive
representation that can describe the transition that occurs when the torque at the gear teeth
changes direction should show improved results over the models in this document. After
this improvement has been implemented, a model which predicts the influence of gear-tooth
preload on transmission friction and compliance is also likely to improve dynamic
response. Finally, since the kinematic error in harmonic-drives probably influences the
gear-tooth preload itself, a representation which incorporates this behavior will more
accurately represent the actual physical mechanism inside the harmonic-drive transmission.

171
172
This section contains citations for literature referenced in this thesis as well as
citations for related harmonic-drive research. For convenience, the list of references on
harmonic-drive research has been subdivided into categories describing the nature of the
literature and popular areas of study. Papers which could fit reasonably into more than one
category are listed only once.

The references presented below were compiled from International CD-ROM


database searches for harmonic-drive-related literature published in the past ten years.
Additional references were obtained from library literature searches and reference lists from
individual papers. The majority, but not all of these papers were located in the MIT
Libraries.

5.1 Harmonic-Drive-Related References

5.1.1 Manufacturer's Literature


] HarmonicDrive Gearing: PrecisionGearheadsClose Couple Model
HD Systems, Inc., Hauppauge, NY.

F21 HarmonicDrive Gearing: PrecisionDC Servo Actuators,


HD Systems, Inc., Hauppauge, NY.

r] Harmonic Drive Gearing: Cup Type HDUC and HIUC Component Sets,
HiD Systems, Inc., Hauppauge, NY.

173
Chavier 5: Reference List

[41 HarmonicDrive PrecisionReduction GearingDesigners' Manual,


Harmonic Drive Machinery Group, Peabody, MA.

[] The World of Harmonic Drive Gearing,


HD Systems, Inc., Hauppauge, NY.

5.1.2 Reference Textbooks


n6 Ivanov, M. N.,
Harmonic GearTransmissions,
Vysshaya shkola, M., 1981, 184 pages. (Russian)

n-7 Volkov, D. P., et al.,


HarmonicDrives,
Tekhnika, Kiev, 1976, 222 pages. (Russian)

5.1.3 Vibration and Dynamic Behavior


r8] Aliev, N. A.,
Investigationsof Vibrationsof Flexible Gears of HarmonicDrives, Based
on the 2TEM Pipe-StackerWinch Drive,
Thesis, MVTU, Moscow, 1981, 14 pages.

[•] Aliev, N. A.,


"Determination of the Natural Vibration Frequency of a Flexible Gear in a
Harmonic Drive",
Mosstankin,
1983, 5 pages. (Russian)

1i-0" Aliev, N. A.,


"A Study of the Dynamic Behavior of Flexible Gears in Harmonic Drives",
Soviet EngineeringResearck,
Vol. 6, No. 6, June 1986, pp 2-5.

11 Hidaka, T., Ishida, T., Zhang, Y., Sasahara, M., and Y. Tanioka,
"Vibration of a Strain-Wave Gearing in an Industrial Robot"

174
Chapter 5 Reference List

Proceedingsof the 1990 InternationalPowerTransmissionand Gearing


Conference - New Technology Power Transmission,
published by ASME, New York, NY, pp 789-794.

12 Hidaka, Teruaki, Ishida, Takeshi, Zhang, You-lin, Sentoku, Hirofumi,


Sasahara, Masakatsu, and Yoshihiro Tanioka,
"Theoretical Analysis of the Vibration in a Robot due to a Strain Wave
Gearing",
Nihon Kikai Gakkai Ronbunshu,
Part C, Vol. 55, No. 516, August 1989, pp. 1864-1871. (Japanese)

173 Popov, P. K., et al.,


"Calculation of the Critical Speeds of a Drive With Harmonic Gear
Transmission",
Soviet EngineeringResearch,
Vol. 7, No. 3, March 1987, pp 17-18.

1 Ostapski, Wieslaw,
"Analysis of Some Aspects of the Harmonic Drive Dynamic",
Modeling, Simulation & Control A: GeneralPhysics (Matter & Waves),
Electrical& Electronics Engineering,
Vol. 9, No. 1, 1987, pp 21-33.

1F5 Ostapski, Wieslaw,


"Influence of Manufacturing and Assembly Errors on Dynamics of
Harmonic Drive",
Modeling, Simulation & ControlB: Mechanical & Thermal Engineering,
Materials & Resources, Chemistry,
Vol. 10, No. 4, 1987, pp 1-12.

16 Revin, A. I.,
Dynamic Model of a Harmonic GearPower Transrn.ssion,
Proc. of Bauman MHTS (Moscow Higher Technical School), No. 408,
1984, pp 27-32. (Russian)

17 Sabot, J., Bouchareb, A., and Ph. Briere,


"Dynamic Perturbations Induced By Speed Reducing Gears in Robotics",
Proceedingsof the 7th World Congress - Theory of Machines and
Mechanisms,
Vol. 2, pp 1083-1087. (French)

18 Volkov, D. P., and Yu N. Zubkov,


"Vibrations in a Drive With a Harmonic Gear Transmission",

175
Chapter 5: Reference List

Russian EngineeringJournal,
Vol. 58, No. 5, 1978, pp 11-15.

5.1.4 Kinematic Error


19 Ahmadian, M.,
Kinematic Modeling and PositionalErrorAnalysis of Flexible Gears,
Clemson University Research Report Under Grant No. RI-A-86-8, 1987.

20 Emel'yanov, A. F., et al.,


"Calculation of the Kinematic Error of a Harmonic Gear Transmission
Taking into Account the Compliance of Elements",
Soviet Engineering Research,
Vol. 3, No. 7, 1983, pp 7-10.

21 Hsia, Lih-Min,
HarmonicGearDrive PositionErrorAnalysis,
Technical Report, Jet Propulsion Laboratory, August, 1986.

[22 Hsia, Lih-Min,


"The Analysis and Design of Harmonic Gear Drives",
Proceedingsof the 1988 IEEE InternationalConference on Systems, Man,
and Cybernetics,
Vol. 1, 1988, pp 616-619.

[T3 Klypin, A. V., et al.,


"Calculation of the Kinematic Error of a Harmonic Drive On a Computer",
Soviet EngineeringResearch,
Vol. 5, No. 11, November 1986, pp 8-13.

24 Nye, Ted W., and Robert P. Kraml,


"Harmonic Drive Gear Error: Characterization and Compensation for
Precision Pointing and Tracking",
Proceedingsof the 25th Aerospace Mechanisms Symposium,
1991, pp 237-252.

F5 Popov, P. K.,
Investigation of Angular Positioning Errorsof the Output Shaft of a
Harmonic Drive,
Thesis, MVTU, Moscow, 1972, 15 pages. (Russian)

176
Chapter 5: Reference List

26 Popov, P. K., et al.,


A MathematicalModel of the Process of Originationof a Kinematic Errorin
a HarmonicGearTransmission,
Trudy, MVTU, Moscow, No. 287, 1978, pp 50-55. (Russian)

F7 Popov, P. K., and L. 0. Shtripling,


"Dynamic Model of Incidence of Kinematic Error of a Harmonic Gear
Transmission",
Izvestiya vuzov. Mashinostroenie,
No. 1, 1986, pp 46-50. (Russian)

2F8 Yanabe, Shigeo, Ito, Akihiko, Okamoto, Atsushi, Yamaguchi, Toshiaki,


Ikeda, Masaki, and Hiroshi Fujita,
"Rotational Transmission Error of Harmonic Drive Dev ce",
Nihon Kikai Gakkai Ronbunshu,
Part C, Vol. 56, No. 521, January 1990, pp. 148-153. (Japanese)

5.1.5 Torsional Stiffness


2F9 Margulis, M. V., and D. P. Volkov,
"Calculation of the Torsional Rigidity of a Harmonic Power Drive with a
Disc Generator",
Soviet EngineeringResearch,
Vol. 7, No. 6, June 1987, pp 17-19.

F0 Margulis, M. V., and D. P. Volkov,


"Method of Calculating the Radial Stiffness of the Casing of a Large High-
Toruc Harmonic Transmission",
Soviet EngineeringResearch,
Vol. 4, No. 10, 1984, pp. 8-12.

31 Popov, P. K.,
"Torsional Stiffness of a Harmonic Drive",
Russia, M.V.S.S.O., Izvestia V. U. Z. Mashinostroenie,
No. 4, 1972, pp. 43-47. (Russian)

32 Yanabe, Shigeo, Ishizuka, Shinichi, Yamaguchi, Toshiaki, and Masaki


Ikeda,
"Torsional Stiffness of Harmonic Drive Reducers",
Nihon Kikai Gakkai Ronbunshu,
Part C, Vol. 55, No. 509, January 1989, pp. 216-221. (Japanese)

177
Chapter 5: Reference List

5.1.6 Structural Analysis


33 Alfutov, N. A., and S. S. Klenikov,
"Calculation of Forces of Interaction of Harmonic Drive Elastic Elements
By a Step-by-Step Method",
Russian EngineeringJournal,
Vol. 58, No. 7, 1978, pp 16-19.

F34] Ivanov, M. N., and V. V. Sheiko,


"The Deformation Shape of the Elastic Gear in a Harmonic Transmission
with a Generator Featuring Two Large Rollers",
Izvestiya Vysshikh Uchebnykh Zavedenii, Matematika,
No. 11, 1970, pp 32-36.

35 Kosova, N. V., et al.,


"Stress Concentration in Gear Rim of Flexspline of Harmonic Drive",
Soviet EngineeringResearch,
Vol. 2, No. 3, 1982, pp 15-18.

376 Priimakov, A. G., and V. I. Rudnitskii,


"Stress-Strain State and Fatigue Strength of Triple Harmonic Power Drives
with Metal-Polymer Flexsplines",
Soviet EngineeringResearch,
Vol. 4, No. 4, June 1984, pp 20-22.

[7 Shamsutdinov, F. A.,
"The Transverse Stiffness of the Flexible Wheel of a Harmonic Gear
Transmission",
Russia, M.V.S.S.O., Izvestiya V. U. Z. Mashinostroenie,
No. 2, 1984, pp 36-40. (Russian)

f8 Shuvalov, S. A.,
"Calculation of Harmonic Drives with Allowance for Pliancy of the Links",
Russian EngineeringJournal,
Vol. 54, No. 6, 1974, pp 47-52.

3F9 Shuvalov, S. A.,


"Calculation of Forces Acting on Members of a Harmonic Gear Drive",
Russian EngineeringJournal,
Vol. 59, No. 10, 1979, pp 5-9.

178
Chapter 5: Reference List

40 Sinkevich, Yu. B.,


"Effect of Teeth on the Rim Rigidity of the Flexible Gear Wheel of a
Harmonic Drive",
Russian EngineeringJournal,
Vol. 58, No. 7, 1978, pp 19-22.

5.1.7 Robotics Applications Employing Harmonic


Drives
41 Carlson, J. H.,
"Harmonic Drives for Servomechanisms",
Machine Design,
Vol. 57, No. 1, January 10, 1985, pp 102-106.

42 Chapel, J. D., and R. Su,


"Application of H-infinity Control Design Techniques to Improve Dynamics
of Dexterous Manipulation",
Proceedingsof the SPIE - The InternationalSociety for Optical
Engineering,
Vol. 1387, 1991, pp. 284-295.

4 Chiba, Jiro,
"Adaptive Control Cuts Position Servo Vibration",
PCIM,
June 1990.

[ Good, M. C., Sweet, L. M., and K. L. Strobel,


"Dynamic Models for Control System Design of Integrated Robots and
Drive Systems",
Sensors and Controlsfor Automated Manufacturingand Robotics
Published by ASME, New York, NY, 1984, pp. 253-269, or
Transactionsof the ASME - Journalof Dynamic Systems, Measurement,
and Control,
Vol. 107, March 1985, pp 53-59.

455 Hashimoto, Minoru,


"Robot Motion Control Based on Joint Torque Sensing",
IEEE InternationalConference on Robotics and Automation,
Vol. 1, 1989, pp. 256-261.

179
Chapter 5: Reference List

[476 Hewit, J. R.,


"The Control of Robots and Manipulators with Flexible Transmission
Elements",
IEE Colloquium on Recent Advances in Robot Control,
Published by IEE, London, Digest No. 22, 1987, pp 1/1-1/11.

47] Hudoba, M.,


"Harmonic Gear Boxes for Servo Drives",
Automatizace,
Vol. 32, No. 2, February 1989, pp 44-47. (Slovak)

F481 Kalas, D., Kardos, J., and I. Zemanovic,


"Application of a Modified LSSM Structure to the Synthesis of Robust
Servosystems of Robots with a Flexible Reducer",
Electrotechnicky Casopis,
Vol. 41, No. 5, 1990, pp 393-399. (Slovak)

49 Karlen, J. P., Thompson, J. M., Void, H. I., Farrell, J. D., and P. H.


Eismann,
"A Dual-Arm Dexterous Manipulator System With Anthropomorphic
Kinematics",
Proceedingsof the 1990 IEEE InternationalConference on Robotics and
Automation,
Vol. 1, Published by IEEE Computer Society Press, Los Alamitos, CA,
1990, pp 368-373.

F0 Kojima, Hiroyuki, Uesugi, Sasagu, Nezu, Kikuo, and Kenji Sakamoto,


"Path Control of a Horizontal Two-Link Robot Driven by Step Motors",
Nihon Kikai Gakkai Ronbunshu,
Part C, Vol. 56, No. 525, May 1990, pp 1217-1222.

51 Lee, K. Y., de la Torre, A. J., and R. W. Beekman,


"Decoupled Non-linear Robotic Control with Series Compliance and
Bounded Inputs",
Proceedingsof the IEEE Conference on Decision and Control Including The
Symposium on Adaptive Processes,
Vol. 1, 1989, pp 712-715.

572 Marilier, T., and J. A. Richard,


"Non-Linear Mechanic and Electric Behavior of a Robot Axis With a
'Harmonic-Drive' Gear",
Robotics and Computer-IntegratedManufacturing,
Vol. 5, No. 2-3, 1989, pp 129-136.

180
Chapter 5: Reference List

F53 Ostapski, W.,


"Optimization of Harmonic Drive Applied in Industrial Robot",
Modeling Simulation & Control B: Mechanical & Thermal Engineering,
Materials& Resources, Chemistry,
Vol. 17, No. 1, 1988, pp 25-35.

F4 Sakuta, Hiroshi, Yoshitani, Yutaka, and Takihiro Yonezawa,


"Vibration Absorption Control of Robot Arm By Software
Servomechanism",
Nihon Kikai Gakkai Ronbunshu,
Vol. 54, No. 497, January 1988, pp 217-220.

55 Thompson, Bruce R.,


The PHD: A Planar,HarmonicDrive Robotfor Joint Torque Control,
MIT Masters Thesis, Department of Mechanical Engineering, and
MIT Artificial Intelligence Laboratory Technical Report No. 1247,
May 1990.

5.1.8 Gear-Tooth Profile


576 Ishikawa, S.,
"The Gear Geometry of Tooth Engagement in Harmonic Drive",
Proceedingsof the JSME Semi-InternationalSymposium,
1967, pp 97-104.

57 Kiyosawa, Y., Sasahara, M., and S. Ishikawa,


"Performance of a Strain Wave Gearing Using a New Tooth Profile",
Proceedingsof the 1989 InternationalPower Transmissionand Gearing
Conference:New Technologiesfor Power Transmissionsof the 90's",
Published by ASME, New York, NY, 1989, pp 607-612.

F8 Kondo, K., and J. Takada,


"Study on Tooth Profiles of the Harmonic Drive",
Proceedingsof the 1989 InternationalPower Transmissionand Gearing
Conference:New Technologiesfor Power Transmissionsof the 90's",
Published by ASME, New York, NY, 1989, pp 627-634.

59 Peter, J.,
"Investigation of the Engagement of Harmonic Drives - Part II",
Acta Technica Academiae Scientiarum Hungaricae,
Vol. 94, No. 3-4, 1982, pp 223-233.

181
Chapter 5: Reference List

F Shen Yun-Wen,
"On the Profile of the Harmonic Drive Gearing",
Chilun (Gearing),
Vol. 10, No. 4, 1986, pp 51-56. (Chinese)

6F Terplan, Z., and J. Peter,


"Differences Between Harmonic Drives and Epicyclic Gear Drives Based on
Gear Tooth Action",
Proceedingsof the Sixth World Conference on the Theory of Machines and
Mechanisms,
Vol. 2, Published by Halsted Press, New York, NY, 1984, pp 846-849.

-6"2] Xie, Jin-rui, and Lin-zhi Sun,


"Meshing Analysis Method of Harmonic Gear Drive Using Symmetric Disc
Wavegenerator",
Proceedingsof the 1984 InternationalSymposium on Design and
Synthesis",
Published by the Japan Society of Precision Engineers, Tokyo, 1984, pp
270-274.

5.1.9 Operating Life and Tooth-Wear


F3 Abakumov, A. N., and N. I. Tseitlin,
"Effect of the Geometrical Parameters of Flexsplines and of the Load
Transmitted by Them on Their Life",
Soviet EngineeringResearch,
Vol. 2, No. 8, 1982, pp. 43-46.

[64 Ivashov, E. N. and M. 1. Nekrasov,


"Calculation of the Wear of Harmonic Gears",
Soviet EngineeringResearch,
Vol. 4, No. 1, 1984, pp. 18-20.

65 Nye, T. W.,
"Harmonic Drives: Determining Wear Life Based on Stiffness
Considerations",
Proceedingsof the 1989 InternationalPower Transmissionand Gearing
Conference: New Technologiesfor Power Transmission in the 90's,
Published by ASME, New York, NY, 1989, pp 867-877.

182
ChapterS: Reference List

6_6 Volkov, D. P., and M. P. Golovin,


"Endurance of Flexsplines of Harmonic Gear Drives",
Soviet EngineeringResearch,
Vol. 2, No. 8, 1982, pp. 46-48.

5.1.10 Hermetically-Sealed Transmissions


6F7 Abramov, V. A., and 1. S. Kuz'min,
"Sealed Harmonic Drive With Cylindrical Flexspline",
Russian EngineeringJournal,
Vol. 60, No. 1, 1980, pp 20-21.

68 Hayashi, Yuzo, and Toshimi Yamada,


"Development of the Harmonic Drive Rotary Feedthrough",
Vacuum,
Vol. 41, No. 7-9, 1990, pp 1948-1950.

F9 Istomin, S. N.,
"Choosing the Geometrical Parameters of the Flexible Wheel of a
Hermetically Sealed Harmonic Gear Transmission",
Soviet EngineeringResearch,
Vol. 5, No. 7, 1985, pp 15-17.

5.1.11 Other Research on Harmonic Drives


70 Abri'wnov, V. A., and I. S. Kuz'min,
"Machining Harmonic Drive Generator Cams in an NC Milling Machine",
Russian EngineeringJournal,
Vol. 60, No. 2, 1980, pp 33-34.

71 Abrarnov, V. A., and I. S. Kuz'min,


"Adjustable Forced Deformation Generators of a Harmonic Drive",
Russian EngineeringJournal,
Vol. 60, No. 7, 1980, pp 21-22.

7F2 Chesnykh, P. P.,


Investigation of Service Featuresof a Flexible Gear in a High-Power

183
Chapter 5: Reference List

HarmonicDrive,
Thesis, MAT!, Moscow, 1974, 168 pages. (Russian)

73 Diamond, Albert,
"Sizing Harmonic Drives",
Machine Design,
March 22, 1990

74 Emel'yanov, et al.,
"Rig Tests on the Feed Drive of an NC Machine Tool With Harmonic
Gear",
Soviet EngineeringResearch,
Vol. 2, No. 11, 1982, pp 71-73.

7_5 Fichtner, K.,


"Harmonic Drive Units in Precision Engineering",
Feinwerktechnik & Messtechnik,
Vol. 94, No. 2, March 1986, pp 83-84. (German)

76 Finogenov, V. A., and A. E. Vidmaer,


"Internal Heat Exchange in General-Purpose Harmonic Reduction Gear
Drives",
Soviet EngineeringResearch,
Vol. 2, No. 8, 1982, pp 49-51.

77 Gulyas, M.,
"Harmonic Drive in Special Purpose Machines and Materials Handling
Systems",
Proceedingsof the Second Seminaron Single PurposeMachines,
Published by OMIKK-Technoinform, Budapest, 1983, pp 43-55.
(German)

F8 Lasocki, Lech, and Andrzej Dudek,


"Transmission Gears of High Transmission Ratio: Part II",
PrzegladMechaniczny,
Vol. 48, Pt. 1, No. 7, April 1989, pp 14-16. (Polish)

7F9 Margulis, et al.,


"Dimensional-Functional Analysis of Heavily Loaded High-Torque
Harmonic Gearing",
Soviet EngineeringResearch,
Vol. 5, No. 8, 1985, pp 7-12.

184
Chapter 5: Reference List

To] Peter, J.,


"Harmonic Drive and Its Industrial Application in Special Machine Tools
aad Robots",
Proceedingsof the Second Seminar on Single PurposeMachines,
Published by OMIKK-Technoinform, Budapest, 1983, pp 234-247.
(German)

[f Priimakov, A. G., and A. V. Leusenko,


"Introducing Harmonic Gear Units for Power Transmission",
Soviet EngineeringResearch,
Vol. 9, No. 3, 1989, pp 55-57.

[• Priimakov, A. G., and V. I. Rudnitskii,


"Experimental Determination of Temperature Deformations of Metal-
Polymer Flexible Wheels in Harmonic Transmissions",
Soviet EngineeringResearch,
Vol. 7, No. 10, 1987, pp 9-11.

[g] Rubtsov, I. V., Chirov, A. A., and V. M. Zav'yalov,


"Technological Problems of Improving the Durability of Flexible Gears",
Izvestiya Vysshikh Uchebnykh Zavedenii, Mashinostroenie,
No. 8, 1987. pp 62-66. (Russian)

5.2 General References


T Motion ControlProductGuide,
Aerotech, 1990, Pittsburg, PA.

[8] Press, William H., Flannery, Brian P., Teukolsky, Saul A., and William T.
Vetterling,
Numerical Recipies in C: The Art of Scientific Computing,
Published by Cambridge University Press, New York, 1988.

185
186
This appendix describes the calibration procedures and results for all of the
experimental sensors.

A.1 Encoders

Using processing boards to count encoder pulses, encoder measurements were


directly translated into degrees of rotation. In order to make this simple conversion, the
Whedco boards were initialized with the number of lines on each encoder wheel and the
number of counts to extract for each line. These parameters are listed in table A. 1 for each
encoder. The three input encoders directly measured motor rotation, while the output
encoder on joint 1 monitored output rotation through an 8:1 gear reduction.

0. ..
. 0

~~~~~~~~~~~~......
. . . . . . . --- ---- ........

1000 1, 2, or4

2500 1, 2, or 4

1000 1,2.or 4

500 1, 2, or 4

A.2 Resolvers
The resolver position information was returned as a 16-bit number representing a
fraction of a complete rotation of the resolver shaft. Consequently, to convert this signal
into degrees of resolver rotation, the number of resolver counts was multiplied by (360.0

187
Appendix A: Sensor Calibration

degrees / 216 counts). The resulting value was then converted to degrees of output rotation
by factoring in the sensor gear-ratio of 6.66, on joint 2, or 7.2, on joint 3.

The resolver converter electronics could also return an analog voltage proportional
to the resolver velocity. Since this information was never used, the resolver velocity was
not calibrated.

A.3 Tachometers
The tachometers on joint 1 and 2 were calibrated by simultaneously collecting raw
velocity data, measured in A to D counts, and encoder position data, measured in degrees.
The tachometer data was then integrated to yield raw position data which was compared to
the actual encoder position data to derive a calibration factor. Figures A. 1 and A.2 show
the linear fits of integrated tachometer position data versus encoder data for the two
tachometers. The resulting calibration factors and their associated uncertainty are
summarized in table A.2.

18000 S................................................... T
............... ......... i......................... .•.... .............. . .. . . . ..
..
S1 6000
S~.......................... .................................................... ...................... ..... ... .....................................

S14000
• 12000.....

S.................................................... i ........ ............. ...................... .. ................. ........ -..........................

8000 ..........
...

10 0 . . . .............. ............. ............. •............. ........... . ......................... . ......................... , . ......................


S600
82 000
00 ...
............... ..... ..................... i.....
........ ............ •.......................... .........................- ..........................
S......
........... -.... .......................... ! ......................... "......................... .:.......................... .........................

0
0 200 400 600 800 1000 1200

Integrated Tachometer Data (countrseconds)

188
Appvendix A: Sensor Calibration

32000 -

28000 ........... ...... 1


CP 24000.......

CL 20000....

S16000 ...

128000
......... ................ ........................................... .. .... ...

W 00

0 200 400 600 800 1000 1200 1400 1600 1800


Integrated Tachometer Data (count~seconds)

.. . . .. .. .... 0. .. . . . . . . .. . . . . . . . ..

.. ...... 1.504
4 Xi 16853 0.4%

AA4 Current Sensors


The current produced by the amplifiers used to drive the DC motors was monitored
by the A to D board. A to D counts were calibrated against amperes by recording the
number of counts for a range of known currents measured with an ammeter. The resulting
calibration values are summarized in table A.3 for the three joints.

189
Appendix A: Sensor Calibration

Table A.3Current sens or 0.0115inacor

rrent Senso:~ • •)?)???:??i)?l;?~i!?i;?i


}?o3iflt ;2 Cul} 0.0122

Ji n 3 Current Seinso ii;;!i;!!~i;;;i;!!•;;;;;iiii!;i;!;••;i! 0.01 15

A.5 Torque Sensors


Torque sensor signals were processed by a conditioning circuit which returned a
voltage proportional to the torque experienced by the sensor. This voltage was monitored
by a 12-bit A to D channel which read the signal in A to D counts. This A to D reading was
calibrated against actual torque measurements produced by a pre-calibrated, JR-3 six-axis
force gauge. The calibration procedure for all three joints began by rigidly locking the
wave-generator to the circular spline using a specially designed fixture. As illustrated in
figure A.3, the force sensor was mounted on the end of the output link for each joint and a
force was applied in the direction of joint rotation. By multiplying the force reading by the
radius of the applied load, an accurate measurement of the resulting torque was found.
Using this method, torque data was collected from both the JR-3 force sensor and the
uncalibrated torque sensor over a range of applied loads in both directions. This data is
shown in figures A.4 through A.9 for the three sensors in both loading directions. The
calibration factors derived from averaging the linear-fits to this data in both direction are
summarized in table A.4 for each testing station.

JintI torque sens iiiiiiiii


! !or 0.0437 0.3864 0.8 %

sensor iiiiiiiiiiiiiiiiii
Jon 3 torqueii
iii! 0.0065 0.o572 1.8 %

190
Appendix A: Sensor Calibration

800-'- - -

700 .........
................... .............. ....... ....... .......
......

5.....................................
........ ..............................
e

6400 ........... ..... ............


.4...................

100 .......................................................

191 ...
...................
..........
Anvendix A: Sensor Calibration

-00

a-200 ...........................
........... . . . . . . .
0. ...... ....... ......... ........ .............. ............

c'-500

.......... 4.. ...... .. . .. . .. .


.........................
-700.............................................1......
U_-800

-2400 -2000 -1600 -1200 -800 -400 0


Torque Sensor Raw Data (counts)

450
00...
.....4........
...... ...
...............
............
..... ...................
......... .......... ........... ..........

o*300 .......
0
- 2 5 0 ...... ......... .........

C6
2500 ...................... ý ............................ ...........
0 ...... ..... ..... ...... ............ .......................................
LL15 ..... ...........
1 00. ..... .
...... ........
.......... ..... ................
....

0
0 400 800 1200 1600 2000 2400
Torque Sensor Raw Data (counts)

Fiur A.6 Jon 2 toqu seso cairto dat fo psitv loading

192
Appendix A: Sensor Calibration

0
-1
00 ........... ................................ ................ ..... .....
-1 0 ................ ................................ ............. ......... ....
W................................ .......................... ... ...... .. .
...
............. ............. .. ............... ....
....... .......... ....
-2 00 ............................... ................ .............................

CO

1600

12

80
..
........................ ... ...................
................ ... .... .......

00
U.

0 400 800 1200 1600 2000 2400


Torque Sensor Raw Data (counts)

F m A.6 Jon 3 toqu se so cairto 0 fo po itv loadin

193
Appendix A: Sensor Calibration

0
..................................... .....-
60......... ............. ......
I- 20 .............
0 ........................ .......... ..........

06
0....... ....................... ............
2....................-1............0
0).............
-120 ........................ ....
.

2 -2400 2000 -160.100.00.00.

-1194
The computer code that was used to numerically solve the differential equations
describing the dynamic behavior of the different harmonic-drive models is listed in this
appendix. The header-file of variable definitions used by this program is also presented
after the main program listing. In addition, this program relies on a function, not listed
here, which can integrate ordinary differential equations. The function I used was a
Runga-Kutta solver with adaptive stepsize control taken largely from reference (85),
Numerical Recipes in C. During execution, this program reads the input parameters from a
file, calculates and integrates the specified equations of motion, and outputs time-response
data for the variable names specified in another file. I hope that this code can serve as
template for rapid development of future harmonic-drive simulations.

/* This is file hd model.c. It contains the simulation code used to solve a


"* system of differential equations which characterize the behavior of a
"* harmonic drive. Included in this file are two function which calculate
"* equations of motion for the two different joint configurations used for
"* the three harmonic-drive testing stations. The first two joints (shoudler
"* and elbow) use configurationl and the third joint (wrist) uses the second
"* configuration. Additionally, code to calculate the equations for two
"* different harmonic-drive models is also included in this file. This code
"* is located in three separate functions which can be called arbitrarily
"* by any function which calculated the equations of motion of a dynamic
"* system. If desired, this program can also return the energy distribution
"* in the simulation and the stiffness of the given model. /
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#include <string.h>
#include "hd model.h"

/* Declare and initialize the global variables. /


int debug = FALSE;
int calc_energy - FALSE;
int print_energy - FALSE;
int stiffness flag = FALSE;
int stiffnessflag2 = FALSE;
int ideal_flag - FALSE;
int fast-plot;
int plot = FALSE;
int model;
int Joint - JOINT To TEST;

195
Appendix B: Simulation Code

int numselected output_var = 0;


int system-order - ORDER;
int index(NUM OF OUTPUTVAR];
float currenttime;
char graphtitle[NUM OF OUTPUT VAR][50];
char graph_units[NUM OF OUTPUTVAR][50];
char output datafile(NUMOFOUTPUTVAR]{1O0];
char plot datafile[NUMOFOUTPUTVAR][100];

/* Initialize some useful character strings. '1


char gnuplot_filename]] - "plot commands.gnu";
char *Joint_name[NUM OF AXIS] - ("shld", "elb", "wrist");
char outdatapath([ = "/home/me/tut/robot/hd/model/finaImodel/simulation_0ata/";
char indatapath[] f "/home/me/tut/robot/hd/model/final_model/simulationcode/";
char plotdatapath[] - "/home/me/tut/robot/hd/model/final_model/plot data/";
/* Initialize the array of maximum velocity contraints on the non-linear
* damping functions for each model. */
float maxfrictionvel]HDMODELS][NUMOFAXIS} = ((135.0, 300.0, 500.0),
1250.0, 550.0, 1000.0)i;
/* Declare the functions which contain the equations of motion and the
* Runge-Kutta solver function which is defined in the file rkqc.c. "/
void derivs configl(double, double *, double ');
void derivs_config2(double, double *, double ');
extern void rkqc(double *,double -,int,double *,double,
double,double *,double *,double *,void (') ();
/" Declare the functions which calculate the energy for both of the two
* joint configurations and the total system energy. /
void calculate configenergy(double);
void calculatetotal_energy(double *, double *);

/* Declare functions which calculate the total equations of motion for the
"* harmonic-drive system when the transmission is ideal, in this case, the
"* system reduced to a first-order system. */
void derivs idealconfigl(double, double *, double );
void derivs idealconfig2(double, double , double *);

/* Declare a pointer to a function that will hold the appropriate pointer to


* the function which will calculate the equations of motion. "/
void (*ptrderivs) (double, double *, double *);

/* Declare the individual functions which calculate the input parameters, dynamic
* equations and energy values for the different harmonic-drive models.
void calculate rotaryparams(void);
void rotaryhd model(double, double, double, double, double, double,
double *, double *, double *);
void rotary hd energy(double);
void calculategeartoothparams(void);
void gear tooth hd model(double, double, double, double, double, double,
double *, double *, double );
void gear toothnd enerqy(double);

/* Now initialize these functions into arrays of function pointers for


* easy access. -I
void (*calculateparams(HDMODELS]) (void)
- (calculate rotaryparams, calculategeartooth params);
void (*hd model[HD MODELSI) (double, double, double, double, double, double,
double *, double *, double *)
- (rotaryhdmodel, gear_tooth hd model);
void (*hd energy([DHMODELS1) (double)
- (rotaryhd energy, geartoothhd energy);

196
Appendix B: Simulation Code

/* Declare the functions which (1) calculate stiffness data, (2) mooe. the
"* saturation limits of the current amplifiers, and (3) determine tne static
"• and dynamic friction values, respectively. /
void collectstiffnessdata(void);
double iregulate(double, double, double);
double calculatefriction(double, double, double, double, double,
double, double, double, double, double);

/* Declare the rest of the functions. ./


void get_arguments(int argc, char "*argv);
void usage(void);
void read input data(FILE '];
void read input filenames(FILE -);
void printinputparameters(void);
void print variables(void);
void exportvectors(FILE *, double , double ', int, char ');
void generategnuplot_file(char -);

'* Main Program '/

'* This main program opens and reads the input data files, initializes appropriate
* variables and prints/plots the results. */
main(int argc, char **argv)

int h, i, j;
int num of trialsiNUMOFAXIS) = (SHLDNUMOFDATARUNS,
ELBNUMOFDATARUNS,
WRISTNUMOFDATARUNS);
int goodsteps(l], badstepsil];
float input_amps(NUMOFAXIS] (SHLD NUM OF DATARUNS] =
(1.6, 2.0, 2.4, 2.8, 3.2, 3.6, 4.0, 4.4, 5.0, 6.0),
(1.4, 1.8, 2.2, 2.6, 3.0, 3.4, 3.8, 4.5, 0.0, 0.0),
(0.28, 0.36, 0.40, 0.44, 0.48, 0.52, 0.56, 0.60, 0.0, 0.0));
char unix command(200);
char vectorname[lO0);
char 'inputdatafile[NUMOFAXIS) - ("hd_shldinput data.dat",
"hdelbinput_data.dat",
"hd wristinput_data.dat");
FILE *infile;
FILE *outfile[NUM OF OUTPUTVAR];
extern int kount;

/* Read and process the command-line arguments. */


get_arquments(arqc, argv);

/* Open the input data file for the given joint, read the simulation
"* parameters from the file, and then close the input file. '1
open_file(&infile, indatapath, input_datafile(joint]);
read_input_data(infile);
closefile(infile);

/* Calculate necessary parameters for the given model from the values read
* from the input file. */
(*(calculateparams(model])) ();

/* Print out the input data if in debugging mode. */


if (debug)

197
Appendix B: Simulation Code

printinput parameters );

/* Set the pointer to the appropriate function containing the equations 'of
" motion. */
if(joint =- WRIST)

if(ideal_flag)
ptr-derivs = derivsideal config2;
else
ptr-derivs = derivsconfig2;

else

if(idealflag)
ptr derivs = derivsideal configl;
else
ptr-derivs = derivsconfigl;

/* If stiffness data is to be collected, jump to the appropriate function. -/


if(stiffnessflag)
collect stiffness data);
/* Now read in the data from the other input file that provides information
* about what data to output. */
openfile(&infile, indatapath, "hdinput_filenames.dat");
readinput_filenames(infile);
close file(infile);

/* Now if the largest line number in the index[] vector is greater than
"* or equal to the first line of the energy variables in the second
"* input data file, then energy is required as an output, so that the
" energy flag shuuld be set so that energy is calculated. /
if(index[numselected_output_var-li >= TOTALENERGY)
calc energy = TRUE;
/* If the energy is to be calculated, increase the order of the system
"* to ORDER+l in order to accomodate the additional total energy variable
" which is to be integrated as a member of the state variable. /
if(calc_energy)
system-order = ORDER + 1;

/* If the -plot option is not selected, set the number of trials to 1.


1/
if(!plot)
r n oftrials[joint] = 1;

/* Now run the simulation num of trials-times by calling odeint() . Function


" odeint() contains the Runga-Kutta numerical solver which calls tne functions,
" listed below which calculate the equations of motion for the selectea dynamic
"* system. */
for(J - 0; J < numof trials[joint]; j++)

/* Change the value of the requested motor current if necessary.


if(plot)
irequested - inputamps(joint][j);

/* Restore or initialize the xsta~t)1 values. /


for(i - 0; i < (ORDER+l); i++)
xstart[iJ - xstartsav[i];

printf("\n Starting simulation at %f amps .... \n", irequested);


odeint(xstart, system_order, initial time, finaltime, EPS, INITIAL-STEP,
MINIMUMSTEP, goodsteps, bad-steps, ptr_derivs, rkqc);
Printf("\n Simulation complete. \n");

198
Appendix B: Simulatnan Code

if(debug)

printft"\n Number of good steps taken: %d", good steps[Ofl;


printf("\n Number of bad steps taken: %d\n", bad-stepsiOl);

/* :nitialize all output files, export the desired output data to them,
*and close the files. If the -plot option is selected, then save
,the specified data in the plot_data directory with the appropriate
*filename. */
for Ci - 0; 1 < num-selected-output var; i++)

If(plot)

sprintf (plot -datafilelil, "%s.%4.2famps",


output -datafile[i], input_amps1jointJ Ijfl;
create-file(&(outfileli]), plotdatapach, plot datafiletil);
export_vectors(outfileli), time, output data[i+l], kount,
output datafilefil);

else

create-file(&(outfile[iJ), outdatapath, output dataf.-.Ie~il);


export_vectors~outfile[i), time, output_datafi+lI, kount,
output_datafilefil);

close-file(outflletil))

/* NJow plot the results using xgraph, if slow printable plotting is desired,
* or gnuplot, if the fast plot option is selected. "
if(!plot)

if(fast plot)

generate gnuplot file Cgnuplot filename);


sprintf(unix -command, *gnuplot %s%s", oucdatapath, gnuplot-fiiename);
printf("\n Executing the unix command: %s\r.", unix-command);
system(unix-command);

else

for Ci - 0; i < num-selected output var; i1+,i

sprintf(unix -command, "xgraph %slks -t Harmonic_-Drive_-Simulation\


-Y %s-%s -x Time-sec &", outdatapath, output datafilefii,
graph titleri), graph_un3 fl);
printfC"\n Executing the unix cý. _ad: WsWI, unix command);
system(unix command);

I' Functions which describe the dynamics of the two joint configurations.

199
Appendix B: Simulation Code

I* Function derivs -configio) can be used to solve the equations of motion for :ý'c
"*harmonic drive joint configuration in which: (1) the motor drives the wave-
"*generator and is mounted to the circular spline, (2) the flexspline is attached
"*to ground, and (3) the circular spline is the output port. '
void derlvs-configl(t, x, dxdt)
double t;
double x[], dxdtf];

I" Set the global time variable to the current time. ~


current-time = t

/* Set the local variable definitions to the value of the state var.~able
* determined on the previous step. *
v(POSIN] x[POS ININDEX];
v]POSOUT] = x(POSOUTINDEX];
v(VELIN] - x]VELININDEX];
v[VELOUT] = x[VEL OUTINDEX];

1* From these positions and velocities, call the appropriate narmonic drive
* model to calculate the resulting torques. */
(*(hd_model~model]))(v[POS_IN], 0.0, v[POSOUT],
v[VEL_ IN], 0.0, v[VELOUT],
6(v]TORQUE-WGI), 6(v[TORQUEFS]), &)v[TORQUE_CS;));

1* Set the value of torque sensor to the torque read on the flexspline. ~
v[TORQUESENSOR] -v[TORQUEFS];

/* Calculate the motor torque as a function of current:


"*
Note that the current, iactual, is calculated by the function
"*
iregulate() which takes into account the non-linear behavior of the
"*
current amps. Note that v[CURRENTSENSOR] must be initialized to zero.
"*
Recall that the relative velocity of the motor is the absolute motor
"*
velocity minus the absolute output velocity. */
vICURRENTSENSOR] = iregulate(v[CURRENTSENSORI, irequested,
(v[VELIN] - v[VELOUT]));
v[TORQUEMOTOR] = motor-kt * v[CURRENTSENSOR];

/* Calculate the input and output damping. */


v[TORQUE_-B_-IN] = b -in * (v[VEL_-IN] - v[VELOUTI);
v[TORQUEBOUT] = b-out *v]VELOUT];

/* Finally, calculate the equations of motion. ~


dxdt]POS_IN_INDEX] = v]VELIN);
dxdt(VELIN_INDEX] = (1.0 /(CONV *inertia-in)) *(v]TOROUEMOTOR]
v]TORQUEBIN] -
v]TOROUEWG]);
dxdt]POSOUTINDEX] = v(VELOUT);
dxdt]VELOUTINDEX] = (1.0 / (CONV inertia-out)) *(v[TOROUE_-CS]
v]TORQUEBOUT]
v]TORQUEB_ IN]);

1* Now caltulate the values that the sensors actually read. *


v[INPUT POSITIONSENSOR) - v(POSIN] - v[POSOUT];
v]INPUT VELOCITYSENSOR] = v]VEL_-IN] - V]VELOUT];
v[OUTPUTPOSITIONSENSOR] = v]POSOUT];
v]OUTPUTVELOCITYSENSOR] - v(VELOUT];
v(POSITIONERROR] - (v]INPUTPOSITIONSENSOR] / N) - v[OL'TPUTPOSITION SENSOR];

/* If the total energy is selected as an output variable, call


"* the function that calculates the total power and integrates
"* it 'ising the runqa-kutta solver.
if (caic energy)
calculate total energy(x, dxdt);

200
Appendix B: Simulation Code

/* If the debugging option is selected, call the function to print


* out some variables. ~
if (debug)
print-variables 0;

/* Function derivs -config2() can be used to solve the equations of moti~on for
" the
harmonic drive joint configuration in which: (1) the motor drives t-he
"* wave-generator and is mounted to the circular spline, (2) the fIexspllne :s
"* attached to the output link, and (3) the circular spline attached to 9roLuno.
void derivs-config2(t, x, dxdt)
double t;
double K]], dxdtil;

/* Set the global time variable to the current time. ~


current-time - t

/* Set the local variable definitions to the value of the state variable
* determined on the previous step. ~
v[POSIN] - x(POSININDEX];
v]POSOUT] - x[POSOUTINDEX);
v(VELIN] -x(VELININDEX);
v(VEL OUT] x(VELOUTINDEX];

/* From these positions and velocities, call the appropriate harmonic drive
model to calculate the resulting torques. */
*
(*(hd_model~model]))(v[POSIN], v]POSOUT], 0.0,
v(VELIN], v(VEL OUT], 0.0,
&(v(TORQUEWG], &(v]TORQUEFS]), &(v(TOROUE_CS]));

/* Calculate the motor torque as a function of current:


Note that the current, iactual, is calculated by the function
*
*iregulatec) which takes into account the non-linear behavior of the
* current amps. Note that v]CURRENTSENSOR] must be initialized to zero.
v]CURRENT_-SENSOR) = iregulate(v[CURRENT_-SENSOR), irequested, v]VELIN]);
vITORQUEMOTOR) - motor kt *v]CURRENTSENSOR];

/* Calculate the input and output damping./


v]TORQUE_-B_-IN) - b-in *v]VELIN];
vrTORQUE_B_OUT] = b out *v(VELOUT];

/* The torque sensor is mounted between the motor and circular spline and
"*
ground, and therefore sees the reaction torque from the motor, the motor
"*
damping torque, and the circular spline torque. */
v[TORQUESENSOR] = v]TORQUE_CS] - v]TORQUEMOTOR] + v]TORQUEB_ IN];

/* Finally, calculate the equations of motion./


dxdt[POSININDEX] - v]VELIN];
dxdt(VELININDEX] - (1.0 / (CONV *inertia-in)) * (v[TORQUE MOTOR] -
v]TOROUEB IN] -
v]TORQUE-WCJ);
dxdt(POS_-OUT-INDEX] - v(VELOUT];
dxdt(VELOUTINDEX] - (1.0 / (CONy * inertia-out)) * (-v[TORQUE-FS) -
v[TORQUE-BOUT]);

/* Now calculate the values that the sensors actually read. ~


v]INPUTPOSITIONSENSOR] - v1POS IN];
v[INPUT VELOCITYSENSOR] - v]VELIN];
v(OUTPUTPOSITIONSENSOR] - v[POS OUT];
v(OUTPUT VELOCITY SENSOR] - v]VEL OUT];
v(POSITION ERROR] - (v]INPUT POSITION SENSOR] / N) + v(OUTPUT POSITION SENSOR];

201
Ampendix B: Simulaticn Code

/t If the total energy is selected as an output variable, call


"
the function that calculates the total power and integrates
* it using the runga-kutta solver. /
if(calc energy)
calculate totalenergy(x, dxdt);
/* If the debugging option is selected, call the function to print
* out some variables. /
if(debug)
printvariables();

1* Functions which describe the energy of the two joint configurations. -/


/** * ** ***********wwt~t~wem~twwttet w **********/.•w~t......

/* Function calculate total energy() calculates the total power in zhe system
"* of equations presented in derivs configl() or derivs_config2(). This power
"* is determined on every time step and stored in the state vector whicn is
" is solved by the Runge-Kutta solver. This can be used to verify that energy
"* is being conserved in both dynamic models. /
void calculatetotal energy(x, dtdt)
double x[], dxdtf];

double power_b in, powerhd out;


/* First store the integrated power in the total energy variable. "/
v[TOTAL_-NERGY]= x[ENERGY];

/* Now calculate the input damping power loss depending on the joint
* configuration. Also calculate the appropriate torque on the output
* port of the harmonic drive. /
if(joint == WRIST)

power_b_in = v[TORQUE_B_IN] ) (vIVEL IN)[CONV);


power hd out = -v[TORQUEFS] (v[VEL_OUT)*CONV);

else

powerb_in - v[TORQUEBIN] * ((v[VELIN] - v[VELOUTJ]*CONV);


powerhdout = v[TORQUECS) * (v)VELOUT]*CONV);

/* Calculate the total instantaneous power in the system. /


dxdt(ENERGY) - ((v[TORQUEMOTOR) * (v[VELIN)*CONV)) -
(inertia in * (v(VEL INI*CONV) * (dxdt[VEL IN INDEXI-CONV)) -
(inertia out - (v[VELOUTI*CONV) * (dxdt)VEL_OUT INDEXI-CONV)) -
(v[TORQUEWG] ) (v[VELIN]*CONV)) +
(powerhd out) -
(power b in) -
(v[TORQUEB_OUT] * (v[VELOUTJ*CONV)));

/* Function calculate_configenergy() is called by the function odeint() after


* each complete time step. This function takes the current simulation time
* step and uses a simple Euler integration scheme to determine the energy in

202
Appendix B: Simulation Code

" the system, excluding the harmonic drive. Since this function relies on
" values calculated in the harmonic drive energy function, it should be called
" after the specific harmonic-drive energy function is called. Due to the
"* similarities between the equations in derivsconfigl() and derivs_confi92(),
"* this energy function is valid for both models. /
void calculate configenergy(delta t)
double deltat;

double vel in rad, veloutrad;


/* Be sure that all velocities and positions are in radians to ensure
* proper unit-matching. */
vel in_rad = v[VEL IN] * CONV;
veloutrad - v(VELOUT] * CONV;

/* Calculate the energy input by the motor to the system by integrating


"* its power input over time. */
v[MOTORENERGY] = v[MOTOR ENERGY] + (deltat * v[TORQUEMOTOR] * vel in rad);

/* Calculate the kinetic energy of the inertias from (I*(w^2)/2) . */


v[KINETICENERGYIN] (inertiain
( * vel in rad * vel in rad) / 2.0;
v[KINETICENERGYOUT] = (inertiaout - velout_rad * vel outrad) / 2.0;

/* Calculate the damping energy by integrating the power dissipation over


* time. */
if(joint *- WRIST)
v[INPUTDAMPINGENERGY] = (v[INPUTDAMPING ENERGY] +
(deltat * (v[TORQUE _BIN] * vel in rad)});
else
v[INPUTDAMPINGENERGY] - (v[INPUTDAMPING ENERGY] +
(delta t * (v1TORQUEBINI *
(vel in rad - vel out rad))));
v[OUTPUTDAMPINGENERGY] = (v[OUTPUT DAMPING ENERGY] +
(deltat * (v[TORQUE_BOUT] * vel_out_rad)));

/* Now calculate some aggregate quantities. -/


v(TOTAL KINETIC ENERGY] - v[KINETICENERGYIN] + v[KINETICENERGY_OUT];
v[TOTALINPUT ENERGY]) v[MOTOR ENERGY];
v]TOTAL LOST_ENERGY] = (v[INPUTDAMPINGENERGY) +
vIWGFRICTIONENERGY] +
v(TOOTHTIP FRICTION ENERGY] +
v(TOOTHSURFACETOTALLOSSENERGY] *
v[OUTPUTDAMPINGENERGY]);

/* Now print out the energy values if the print energy option is selected. /
if (printenergy)

printf("\n total energy: %25.201f", v[TOTALENERGY]);


printf("\n total kinetic energy: %20.151f", v]TOTALKINETICENERGY]);
printf("\n total potential energy: %20.151f", v[TOTAL POTENTIALENERGY]);
printf("\n total input energy: %20.151f", v(TOTAL_ INPUTENERGY]);
printf("\n total lost energy: %20.151f", v]TOTAL LOST ENERGY]);
printf("\n motor energy: %20.151f", v(MOTORENERGY]);
printf("\n kinetic energy in: %20.151f", v1KINETICENERGY IND);
printf("\n kinetic energy out: %20.151f", v[KINETICENERGY OUT]);
printf("\n spring energy: %20.151f", v[SPRING ENERGY]);
printf("\n cyclic torque energy: %20.151f", vICYCLICENERGY]);
printf("\n delta t: %20.151f", delta ti;
print f ("\n") ;

203
Appendix B: Simulation Code

/4 Functions which describe behavior of system with ideal transmission. :

/* Function derivsidealconfigl() calculates the equations of motion for a


"* configuration-i sytstem that has an ideal harmonic-drive transmi3sion.
void derivsidealconfigl(t, x, dxdt)
double t;
double x[], dx-'[];

/* Set the global time variable to the current time. "/


current-time - t;
/I Set the local variable definitions to the value of the state variable
determined on the previous step. */
*
v(POSIN] - x[POS IN INDEX];
v]POSOUT] - x[POS OUTINDEXI;
v[VELIN] = x[VELININDEX];
v[VEL_OUT] = xiVELOUTINDEX];

/* Calculate the motor torque as a function of current. For the ioea.


* model, assume that the current amps function ideally as well. /
v[CURRENT SENSOR] = irequested;
v[TORQUEMOTOR] - motor kt * v[CURRENTSENSOR];

/* Calculate the input and output damping. */


v[TORQUE BIN] = b_in * (v[VELIN] - v[VELOUT]);
v[TORQUE_B_OUT] = bout * v[VELOUT];

/* Finally, calculate the equations of motion. "/


dxdt[POS IN INDEX] - vjVELIN];
dxdt[VELININDEX] - ((1.0 / (CONV * (inertiain +
(inertiaout/((N+l.0)v(N+1.0))))))
(v[TORQUE MOTOR] - v[TORQUE_B_IN] -
((v[TORQUE_B_OOT] - v[TORQUE_B_IN])/(N+I.O))));
dxdt(POSOUTINDEX] = dxdt[POSININDEX]/(N+1.O);
dxdt]VELOUTINDEX] = dxdt[VELININDEX]/(N+1.0);

/* Now calculate the values that the sensors actually read. */


v(INPUTPOSITIONSENSORI = v[POSINJ - vIPOSOUTI;
v[INPUTVELOCITYSENSOR] - v[VELIN] - v(VELOUT];
v[OUTPUT POSITION SENSOR] = v|POSOUT];
v[OUTPUTVELOCITYSENSOR] = v[VEL_OUT];
v[POSITION ERROR] = (v[INPUTPOSITIONSENSOR] / N) - v[OUTPUTPOSITIONSENSORI;
v[TORQUEFSJ = (-N/(N+1.O)) ; (((CONV * inertiain) *
(dxdt[VEL IN INDEX]/(N+l.0))) +
v[TORQUE_B_OUT] - v[TORQUE_B_INI);
v[TORQUE_SENSOR] - -v[TORQUEFS];

/* Calculate the torques on the remaining harmonic-drive ports. */


v[TORQUE_WG] - (-1.0/N) * v[TORQUEFS];
v[TORQUECS] = (-(N+1.0)/N) * v[TORQUEFS];

/* If the total energy is selected as an output variable, call


"* the function that calculates the total power and integrates
"* it using the runga-kutta solver. */
if(calc_energy)
calculatetotal_energy(x, dxdt);

/* If the debugging option is selected, call the function to print


* out some variables. *1
if(debug)

204
Appendix B: Simulation Code

print variables );

/* Function derivs idealconfig2() calculates the equations of motion for a


* configuration-2 sytstem that has an ideal harmonic-drive transmission. /
void derivsideal config2(t, x, dxdt)
double t;
double x[], dxdtl];

/* Set the global time variable to the current time. */


current-time - t;

/* Set the local variable definitions to the value of the state variabie
* determined on the previous step. /
v[POSIN] = x[POS ININDEX];
v[POS_OUT] - x[POS OUTINDEX];
v[VELIN] = x(VELIN_INDEX];
v[VEL_OUT] - x[VELOUTINDEX];
/* Calculate the motor torque as a function of current. For the ideal
* model, assume that the current amps function ideally as well.
v[CURRENT SENSOR] - irequested;
v[TORQUEMOTOR] = motor_kt * v]CURRENTSENSOR];

/* Calculate the input and output damping. -


v[TORQUE_B_IN] - b in * v[VELIN];
v[TORQUEBOUT] - b out * v[VELOUT];

/* Finally, calculate the equations of motion. -


dxdt(POS IN INDEX] - v[VELIN];
dxdt[VELININDEX] - ((1.0 / (CONV * (inertia in - (inertia_out/(N*N)))f)
(v[TORQUEMOTOR] - v[TORQUE_B IN] -
(v[TORQUE_B_OUT]/N)));
dxdt[POSOUT INDEX] - dxdt[POS IN INDEX] / (-N);
dxdt(VELOUT INDEX] = dxdt(VELININDEX] / (-N);

/* Now calculate the values that the sensors actually read. -/


v[INPUTPOSITIONSENSOR] - v(POSIN] - v(POSOUT];
v[INPUTVELOCITYSENSOR] = v[VELIN] - v[VELOUT];
v[OUTPUTPOSITIONSENSOR] = v[POSOUT];
v(OUTPUTVELOCITY SENSOR] = v[VEL OUT];
v[POSITIONERROR] ) (v[INPUTPOSITIONSENSOR] / N) + v]OUTPUT POSIT7ONSENSORI;
v[TORQUE_FS] - -(((CONV * inertiaout) * (dxdt(VELIN_ INDEXJ/(-N))) -
v[TORQUE_B_OUT]);

/* Calculate the torques on the remaining harmonic-drive ports. '1


v[TORQUEWG] = (-I.0/N) * v[TORQUEFS];
v[TORQUECS) - (-(N+1.0)/N) * vfTORQUEFS];

/* The torque sensor is mounted between the motor and circular spline and
"* ground, and therefore sees the reaction torque from the motor, the motor
"* damping torque, and the circular spline torque. */
v(TORQUESENSOR] - v(TORQUECS] - v(TORQUEMOTOR] + v[TORQUE_B_IN];

/* If the total energy is selected as an output variable, call


"* the function that calculates the total power and integrates
"* it using the runga-kutta solver. V
if(calcenergy)
calculatetotalenergy(x, dxdt);
/* If the debugging option is selected, call the function to print
*out some variables.V

205
Appendix B: Simulation Code

if (debug)
print-variables 0:

/~Functions determining equations for two different harmonic-drive models. '

/* Function rotary -hd -model() calculates the three-port harmonic-drive


* equations for a non-ideal rotational model. *
void rotary_hd_model(pos~wg, pos~fs, po5_Cs,
vel-wg. vel_fs, velCs,
torque wg, torque fs, torque cs)
double pos~wg, pos~fs, pos cs;
double vel -wg, vel_f s, vel-cs;
double *torque_wg, *torque_f 5, *torque cs;

I. Store the velocities and positions and the fs, cs, and wq ports
in the global data vector to begin calculations. ~
*
v[POS_WG] - pos~wg;
v[POS_FSI - pos_fs;
v[POS_CS] - p05 Cs;
vjVEL WG] - vel wg;
v[VELFS) - vel fs;
vfVEL CS] - vel-cs;

1* Calculate the continuity constraint of the cyclic torque. ~


v(POS_K] - v[POSNC]G;
vEVELK] - v[VELWG];

/* Calculate some other continuity constraints.1


v[POSNPS) v[POSP S];
v[VEL_-N_FS] - vfVELPS];
V[POS_N_CS] -v[POS CS);
vIVEL_N_CS] - v[VELCS];

/* Determine the kinematic error function and its derivative such Chat
(d/dt)v[ERFNI - vIVEL._NC]I vtDERF). *
*
v[ERFNI - ((error_amplitudeO Sin(((1.0 * v[POSWG]) + error phase0) *CONy))
(error-amplitudel *Sin(((2.0 * v[POS NC]) + error phasel) *CONV)) +
(error amplitude2 Sin(((4.0 * v[POS WGJ) + error_ohase2) *CONVMl;
v[DERF) - ((1.0 * CONV * error amplitude0 *
Cos(( (.0 * v[POS NC]G) + error phaseOl CONy)) +
(2.0 * CONV * error amplitudel *
Cos(((2.0 * v(POS_-WG]) + error phasel) *CONV)) +
(4.0 * CONV * error amplitude2
CosM(4.0 * v[POSNC]) + error-phase?) *CONy));

/* Now calculate the position and velocity equations imposed by the


* three-port hamonic-drive gear-reduction with position error included.
v[POSNWG] - (MN + 1.0) * v[POS_N_CS]) -
(N * v(POSNPS]) +
(N * v[ERFN]));
v[VELNWG] - (((N + 1.0) * v[VELNCS]) -
(N * v(VELNPS]) +
(N *vIVEL NC] * vIDERFM))

/* Calculate the static, dynamic, and cyclic friction which acts between the
*circular spline and flexspline. */

206
Apnendix B: Simulation Code

v[VEL HD FRICTION) = v(VELN_CS) - VLVEL_N_FS];


vyTORQUE HD FRICTION) -
calculate friction(v(VELHDFRICTIONI,
b hd constant, bhdl, b-hd2,
stictiontorque hd, stictionvelhd,
v[POSOUT),
cyclic friction amp hd, cyclic frictionphaseno,
(max frictionvel[model][joint)));

/* For the sake of continuity in the simulation, ramp the constant friction
"* in the harmonic drive from zero to the desired value if at the
" beginning of the step-response trial. '/
if(!(stiffness flag 11 stiffnessflag2))
if(currenttime < 0.05)
v[TORUEHDFRICTION] - ((((current time - 0.05)/0.05) + 1.0)
v(TORQUEHDFRICTION]);

/* Find the harmonic drive stiffness coefficients: /


v(K1] = (kiconstant +
kl_amplitude - Sin(((2.0 * v[POS_WG]) + kiphase) * CONV));
v[K2] = (k2_constant +
k2_amplitude * Sin(((2.0 * v[POS WG]) + k2_phase) , CONV));

/* Calculate the torque on the spring. */


v[TORQ E_K] - ((v[Kl] * (v(POS_K] - v[POS_NWGI)) +
(v[K2] * Power((v[POS_K) - v[POSN_WG)), 3)));

/* Calculate the compatibility, or torque-balance, requirement. /


v[TORQUEN_WG] = vITORQUE_K];

/* Calculate the cyclic torque. *1


v(TORQUECYCLICI - (cyclicamplitude
Sin(((2.0 * v(POSWG]) + cyclic phase) * CONV));

/* Now apply the torque constraint imposed by the three-port qear-reoucLion


"* with position error included. Note that the torque on the flexspline
"* is defined to be positive in the negative rotation direction. */
v[TORQUE_N_FS] - -((-N / (1.0 - (N * v[DERF]))) * vITORQUEN_WG]);
v[TORQUE_N_CS1 - ((N + 1.0) / (1.0 - (N * v[DERF])]) * v[TORQUE_N_WG);

/* Finally, calculate the torque on all of the harmonic-drive ports. /


v[TORQZ7_WG] - v[TORQUEK] - v[TORQUECYCLIC];
v[TORQUE_FS] = v[TORQUE_N_FS) - vITORQUEHDFRICTIONI;
v[TORQU7E_CS] - v(TORQUE_N_CS] - v[TORQUEHDOFRICTION);

/* Finally, return the torques on the three hd ports. /


*torquewg - v[TORQUEWG];
*torquefs - vfTORQUEFS};
*torque-cs = vITORQUE_CS];

/* Function geartooth hd model() calculates the three-port harmonic-drive


"* equations for the harmonic drive representation which uses inclined planes to
"* simulate the tooth-rubbing behavior inside the drive. */
void gear tooth hd model(poswg, posfs, poscs,
vel wq, vel fs, vel cs,
torquewg, torquefs, torquecs)
double pcs_wq, pos_fs, poscs;
double vel_wq, vel_fs, vel cs;
double 'torque vg, *torque fs, *torquecs;

/* Store the velocities and positions and the fsr cs. and wq ports

207
A~ondi
B:SimlatonCode

in the global data vector to begin calculations.


v(POS_WG] - pos~wg;
v[POSFS1 - postfs;
vIPOSCS] - pos-cs;
v(VELNC) - vel wg;
v[VELFS) - vel fs;
v[VEL_CS! - velcs;

/* First, calculate the continuity (or kinematic) constraints.

*Find the velocity of the wave-generator with respect to the flexspiine. -


v[POSNC_-RELATIVE) - v[POS-WGI - v[POS_FSJ:
v]VELNCRELATIVE) - v[VEL NC] - v[VEL FS];

/* Determine the kinematic error function and its derivative such that
* (d/dt)v(ERFN] v[VELWCRELATIVE] v[DERF]./
v(ERFN) - (N*tanl *((error amplitudec *
SinM1(.0 *v(POS_WC_-RELATIVE]) + error_phaseD) *CONV))
(error amplitudel*
Sin(U2.0 *v[POS - C_-RELATIVE]) + error pnasel) *CONy))
(error_amplitude2*
Sin((4.0 * v(POSNC_-RELATIVE]) error_phase2) * CONVM));
v[DERF] (N*tanl ((.0 * CONV ,error amplitudeD
Cos((C1.0 v[POSNC_-RELATIVE)) + error_phase0) CONV))
(2.0 * CONV *error-amplitudel*
Cos((2.0 * v(POS NCRELATIVE)) + error_phasel) *CONV))+
(4.0 * CONV * error amplitude2 *
Cos((4.0 * v[POSNCRELATIVEI) + error-phase2) *CONV)));

/* Find the radial (vertical) movement of the tooth base. *


v[POSTOOTH_BASE) - tani * vIPOSNC_-RELATIVE];
v[VELTOOTH_BASE) - tanl v(VELNCRELATIVE);

/* Find the radial movement at the output of the position error element.
v[POSERR] - v(POSTOOTHBASE) + v[ERFN);
v[VELERR] - v(VELTOOTHBASE] + (vIVELNCRELATIVE] v[DERF]);

/* Find the radial movement of the tooth tip. */


v[POS_-TOOTH_TIP] - (VIPOS_-CS) - v(POS -FS]) / tan2;
v[VELTOOTHTIP] - (v(VEL_CS) - vjVELFS]) / tan2;

1* Find the velocity at the wave-generator surface./


v(POSNCSURFACE] - ((cosi * v[POSNC]) +
(sini * v[POSTOOTHBASE]) -
(cosi - vIPOSFS)));
v(VELNCSURFACE] - ((cosi v[VELNC)) +
(sini v)VELTOOTHBASE)) -
(cosl v[VELFSI));

I' Find the velocity at the gear-tooth surface. *


viPOSTOOTHSURFACE) - ((cos2 * v]POS_-TOOTH -TIP]) +
(sin2 *v)POSCS]) -
(sin2 *v[POSFS)));
v[VELTOOTHSURFACE] - ((cos2 * v)VELTOOTH TIP)) +
(sin2 * v[VELCS)) -
(sin2 *v[VELFS)));

/* Now, calculate the Constitutive Relationships:

*Find the wave-generator friction. '


v[TORQUENCFRICTION) -
calculate friction (v [VEL NC SURFACE).
b wg constant, b wgl. b wg2.

208
Appendix B: Simulation Code

0.0, 0.0. 0.0, C.0, 0.0, 1000000.0);

/* Find the friction at the tooth tip. /


vITORQUETOOTHTIPFRICTION) -
calculate friction((v[VELTOOTHBASE]- v(VEL TOOTHTIP)),
b toothtipconstant, b_tooth_tipl, btooth_tip2,
0.0, 0.0, 0.0, 0.0, 0.0, 1000000.0);

/* The total friction at the gear-tooth surface is due to the coulomb friction
"* (mu * N), the constant friction (btoothsurface constant), the velocity-
"* dependent friction, and the cyclic friction. Calculate the component due
"* to everything except the coulomb friction. */
v[TORQUE TOOTHSURFACEFRICTION) -
calculate friction(v(VELTOOTHSURFACE],
b tooth surface_constant, btooth_surfacel, btooth_surface2,
stiction torquetooth, stictionvel.tooth,
v(POSOUT],
cyclic friction_amp_tooth, cyclicfrictionphase_tootn,
(maxfriction vellmodel)[joint)));

/* Find the harmonic drive stiffness coefficients: I/


v[K1] - (klconstant +
klamplitude * Sin(((2.0 * v[POSWGRELATIVEI) + k1_phase) - CONV));
v[K2] = (k2_constant +
k2_amplitude * Sin(((2.0 * v(POS WG RELATIVEI)) k2_phase) * CONV));

/* Calculate the torque on the spring. 1/


v(TORQUE_K) - ((v[K1) (vIPOS ERR) - v[POSTOOTHTIP])) +
(v[K2] * Power((v[POSERR] - v(POS TOOTHTIP)), 3)));

/* Calculate the cyclic torque. */


v[TORQUECYCLIC] - (cyclicamplitude
Sin[((2.0 * v[POSWGRELATIVE]) + cyclicphase) * CONV));

/* From the power conservation constraint on the position error element


* calculate the torque seen on the input side. */
v[TORQUE ERRIN] - (1.0 + (v[DERF) / tanl)) * v[TORQUE_K);

/* Set the sign of mu to control the direction of the coulomb friction force
"* along the gear-tooth surface. The sign of mu should be identical to the
"* sign of the surface rubbing-velocity. ./
mu - copysign(mu_save, v[VELTOOTHSURFACEI);
/* If stiffness data is being collected, the friction acts in the opposite
* direction as the joint is being loaded. 1
if(stiffness flag)
mu = -mu save:

/* Now calculate the force/torque compatibility equations:

* Determine the output normal force. */


v(TORQUE OUTPUTNORMAL) = v(TORQUE_K) + v(TORQUETOOTHTIPFRICTION);

/I For the sake of continuity in the simulation, ramp the constant friction
" on the gear-tooth surface from zero to the desired value if at the
"* beginning of the step-response trial. This is a quick fix that should
" be implemented in more general terms for all of the constant friction
* components. */
if(!(stiffnessflag II stiffnessflag2))
if(current time < 0.05)
v(TORQUETOOTH_SURFACEFRICTIONI - ((((currenttime - 0.05)10.05) + 1.0) "
vITORQUE TOOTH SURFACE FRICTION));

209
Appendix B: Simulation Code

/* Find the gear-tooth normal force. Note that this equation might need to
" be calculated iteratively if the velocity is zero since the coulomb
"* friction becomes a different function of the normal force. For now, 1
" will start my simulations at a non-zero initial velocity so that the
" velocity will never be zero. */
vITORQUETOOTHSURFACENORMAL] = ((v[TORQUEOUTPUTNORMAL] -
(cos2 * v[TORQUE TOOTHSURFACEFRICTIONM)) /
(sin2 + (mu , cos2)));

/* If the gear-tooth surface-normal is negative then the mechanism through


"* which the friction acts at the gear-tooth surface changes. In order to
" describe this new mechanism, a different, but similar, model is needed.
"* Unfortunately, changing to the new model at this point in the simulation
" poses significant numerical problems. To avoid this mess, when the normal
"* force becomes negative, I will set the coulomb friction to zero and
"* recalculate the tooth-surface normal force. /
if(v[TORQUETOOTHSURFACENORMAL] < 0.0)

mu - 0.0;
v[TORQUETOOTHSURFACENORMAL] = ((viTORQUEOUTPUT NORMAL] -
(cos2 * v[TORQUE TOOTHSURFACE _FRICTlONIII /
(sin2 + (mu * cos2)));

/* Given this correct tooth-surface normal force, the coulomb friction and
" total friction at the tooth interface can be calculated. */
v]TORQUE TOOTH SURFACECOULOMB] = mu * v(TORQUEY'OOTHSURFACENORMAL];
v[TORQUE TOOTHSURFACETOTALLOSSI = (v(TORQUETOOTH SURFACE COULOMB]
-v[TORQUE TOOTHSURFACEFRICTION]);

/* Calculate the input normal force. */


v[TORQUEINPUTNORMAL] - v[TORQUEERRIN) + v[TORQUETOOTH_TIP_FRICTIONJ;

/* Now determine the normal force on the wave-generator. -/


v[TORQUE WGNORMAL] - (1.0 / cosl) * (v[TORQUEINPUTNORMAL] +
(v(TORQUEWGFRICTION] * sinl));

/* Find the normal force on the tooth tip. -/


v[TORQUE TOOTH TIPNORMAL] - ((cos2 * v[TORQUETOOTH_SURFACE NORMAL]) -
(sin2 * v]TORQUETOOTHSURFACETOTAL LOSS]));

/* Now the torques on the wave-generator, flexspline, and circular spline can
* be determined. */
v(TORQUE-WG] = ((v]TORQUECYCLIC]) +
(v[TORQUEWGFRICTION] * cosl) +
(v[TORQUE WG NORMAL] * sinl));
v[TORQUEFS) - ((v[TORQUE TOOTHTIPNORMAL]) -
(v[TORQUE WG FRICTION] * cosl) -
(v(TORQUE WG NORMAL! * sinl));
v[TORQUE CS] - ((v]TORQUE TOOTHSURFACENORMAL] * cos2) -
(v]TORQUETOOTHSURFACETOTALLOSS] * sin2));

/* Finally, return the torques on the three hd ports. */


*torque_wg - v[TORQUEWG};
*torque-fs = v[TORQUEFS];
*torquecs - v[TORQUECS];

/ *********************************.*******.**t***..............

/* Functions which describe the energy of each harmonic-drive model.


1/ *

210
Appendix B: Simulation Code

./ . ..............
....................

/* Function rotaryhdenergy() calculates the energy for the non-ideai, rotary


"* harmonic-drive model. It is called by the function odeintU after the conooetior
"*of each time step in order to integrate the individual energy components of the
"* harmonic drive model with tooth rubbing. This function takes the current time
"* step of the solver and integrates the energy over that time step using a simple
"* Euler integration scheme. As you might expect, these energy calculations can
"• sometimes have appreciable error, but they are useful, for the most part. "I
void rotaryhd energy(delta t)
double delta t;

double vel_wg_rad, velfs_rad, vel cs rad;


double vel hd friction rad;
static double oldpos_k = 0.0;

/* Be sure that all velocities and positions are in radians to ensure


* proper unit-matching. */
vel_wg_rad - v[VELWG] * CONV;
vel-fs rad - v]VELFS] * CONV;
vel cs rad - v[VEL CS] * CONV;
vel hd friction rad = vIVELHDFRICTION] * CONV;
/* Calculate the potential energy stored in the spring by integrating
* the spring force over the spring displacement. /
v(SPRINGENERGY] - (v(SPRINGENERGY] +
((((v[POS_K] - v[POSNWGC) - oldpos k) * CONV)
v[TORQUE_K]));-

/* Calculate the cyclic torque energy by integrating the power over time. /
v[CYCLICENERGY] = (v[CYCLICENERGY] +
(deltat * velwgrad * (-v(TORQUECYCLIC])));
/* Calculate the energy lost to friction by integrating the power dissipation
* over time. */
v[HDFRICTIONENERGY] - (v[HDFRICTIONENERGY] +
(delta t * (v[TORQUEHD_FRICTION! I vel hd friction rad)));

/* Calculate total potential energy in the system assuming the cyclic torq.e
"* can be treated like a spring. */
v[TOTALPOTENTIALENERGY) = v[SPRINGENERGY) + v]CYCLICENERGY;;

oldpos k - (v[POS_K] - v(POS_N_WGI);

/* Function gear_toothhd energy() calculates the energy for the harmonic-drive


"* model which includes gear-tooth-rubbing effects. It is called by the function
"• odeint() after the completion of each time step in order to integrate the
"• individual energy components of the harmonic drive model with tooth rubbing.
" This function takes the current time step of the solver and integraLes tne
"• energy over that time step using a simple Euler integration scheme. As you
"• might expect, these energy calculations can sometimes have appreciable error,
"* but they are useful, for the most part. /
void gear tooth hd energy(deltat)
double delta-t;

double velwg_rad, vel-fs rad, vel cs rad;


double vel_wg_surfacerad, veltoothsurface rad;
double vel_toothtiprad, vel_toothbase rad;
static double oldpos k - 0.0;

211
Appendix B: Simulation Code

/I Be sure that all velocities ana positions are in radians to ensure


"* proper unit-matching. */
veliwg rad - v[VELWG) * CONV;
velfs rad - v[VELFS] * CONV;
velcs rad - v[VEL CS] * CONV;
velwg surfacerad - v[VELWGSURFACE] * CONV;
vel tooth surface rad = v[VELTOOTH_SURFACE] * CONV;
veltooth tiprad v[VEL TOOTHTIP] * CONV;
vel tooth baserad = v[VELTOOTHBASE] * CONV;
/I Calculate the potential energy stored in the spring by integratinq
* the spring force over the spring displacement. /
v[SPRING_ENERGY) = (v[SPRINGENERGY] +
((((v(POS ERR] - v[POS_TOOTHTIP]) - old_pos_k) - CONV)
v[TORQUEK]));

/* Calculate the cyclic torque energy by integrating the power over time. "/
v]CYCLIC_ENERGY] - (v[CYCLICENERGY] +
(delta t * vel_wg_rad * (-v[TORQUECYCLICI)));
/* Calculate the energy lost to friction by integrating the power dissipation
* over time. */
v[WGFRICTIONENERGY] = (v(WGFRICTION_ENERGY]
(deltat * (v[TORQUE WGFRICTION] * vel_wg_surfacerad)));
v[TOOTHTIPFRICTIONENERGY] = (v[TOOTHTIPFRICTIONENERGY] +
(delta t *
(v]TORQUETOOTHTIPFRICTION]
(veltoothbaserad - veltooth_tip_ rad))));
v[TOOTHSURFACEFRICTIONENERGY] - (v(TOOTHSURFACEFRICTION ENERGYI +
(deltat *
(v[TORQUETOOTHSURFACEFRICTION] *
vel tooth surface rad)));
v[TOOTHSURFACECOULOMBENERGY] = (v[TOOTHSURFACECOULOMBENERGY] +
(delta t *
(v[TORQUETOOTHSURFACECOULOMBI *
vel tooth surface rad)));
v[TOOTH SURFACETOTALLOSSENERGY] = (v[TOOTHSURFACECOULOMBENERGY] +
v(TOOTHSURFACEFRICTIONENERGY]);

/1 Calculate total potential energy in the system assuming the cyclic torque
* can be treated like a spring. -/

v[TOTAL POTENTIALENERGY) = v[SPRINGENERGY] t v[CYCLICENERGY];

oldposk = (v[POSERR] - v(POSTOOTH_T 0 ]});

/* Functions which calculate model parameters based on input values. '/

/* Function calculate rotaryparams() is used to take the input parameter


"*values and determine relevant parameters for the simple non-ideal rotary
"*harmonic-drive model. */
void calculaterotary_params)

double reduction factor;


double frequency;
double templ, temp2;

212
Appendix B: Simulation Code

/* Reflect the non-linear stiffness coefficients as measured from the output


* side of the transmission to the input side. */
klconstant - (kloutputconstant / Power(N, 2));
klamplitude (kloutputamplitude
= / Power(N, 2));
klphase - kl output phase;
k2_constant - (k2_outputconstant / Power(N, 4));
k2_amplitude = (k2_output amplitude / Power(N, 4));
k2_phase - k2 outputphase;

/- Calculate the coulomb friction in the harmonic drive based on the width
* of the hysteresis loop in the harmonic-drive stiffness profile. /
b hd constant = (hysteresiswidth / 2.0);

/* Calculate the reduction ratio between the input rotation and the veiocity
* seen by the friction element mounted between the flexspline and circular
"* spline ports. */
if(joint -- WRIST)
reduction-factor - N;
else
reduction-factor = (N + 1.0);

/* Calculate the dynamic friction coefficients by subtracting the input


"and output
damping components from the total dynamic friction using
"
conservation of power. These coefficients should be positive. */
b_hdl - ((Power(reductionfactor, 2)) (btotall - bin)) - b out;
b_hd2 = ((Power(reductionfactor, 4))) b_total2;

/* Convert the stiction and cyclic friction from input rotation units to
* output rotation. Don't upset the signs of these values. /
stiction torque_hd = reductionfactor * stictiontorque;
stiction vel hd - (stiction vel / .eductionfactor);
cyclic_frictionamp hd - reduction factor * cyclicfriction amplitude;
cyclic_friction phasehd = cyclic frictionphase;

/* Calculate the natural frequency of the non-rigid vibrational mode of the


* two-mass system assuming linear stiffness. */
templ - ((kiconstant / CONV) *
((1.0 /inertiain) +
(1.0 I (inertiaout / (Power(reductionfactor, 2.0))))));
temp2 - (1.0 / (Power(2.0, 1.5) * PI));
frequency - (temp2 * Power((2.0 * tempi), 0.5));
printf("\n\n The natural frequency of the non-rigid vibrational mode\n");
printf(" for a two-mass linear system is: %f Hz.\n", frequency);
printf(" Therefore, resonance vibration should appear at input rotational\n");
printf(" velocities of: %f input deg/s-c.\n", ((frequency * 360.0) / 4.0));
printf(" %f inputoeg/sec.\n", ((frequency * 360.0) / 2.0));
printf(" %f input deg/sec.\n", ((frequency * 360.0) / 1.0));

/* Print out these new parameters if in debugging mode. /


if(debug)

printf("\n b hd constant: %4.201f", bnhd constant);


printf("\n b hdl: %4.201f", b hdl);
printf("\n b hd2: %4.201f", b hd2);
printf("\n kl constant: %4.201f", kMconstant);
printf("\n k2_constant: %4.201f\n", k2_constant);
printf("\n"l);

1* Function calculate gear tooth params() is used to take the input parameter
" values and determine: (1) trigonometric and geometric relationships, (2) the

213
Appendix 8: Simulation Code

"* tooth surface friction coefficients, and (3) the ideal spring stiffness
"*coefficients. */
void calculate geartoothparams()

double stiffness(factorA;
double stiffness factor B;
double wg to tooth factor;
double damping factor A;
double dampingfactorB;
double dampingfactor C;
double dampingfactor D;
double inertia in eff, inertiaout_eff;
double templ, temp2, frequency;

/* Initialize the coulomb friction coefficient. /


mu - mu save;

/* Calculate the gear-tooth trig values. *1


tan2 - tan(CONV * toothangle);
sin2 = sin(CONV * tooth_angle);
cos2 - cos(CONV * toothangle);

/* The wgangle can be found from the gear ratio and the toothangle
* using the relationship: (1/(N+l)) = tanl tan2. */
wg angle - atan(l.0 / (tan2 * (N + 1.0)));
tanl - tan(wg_angle);
sinl - sin(wgangle);
cosl - cos(wgangle);

/* Now calculate the stiffness of the spring that deforms vertically


* from the rotational stiffness provided. */
stiffness factor A - (cos2 + (mu * sin2)) / (sin2 - (mu * cos2));
stiffness factorB - -(1.0 / (tanl - (1.0 / tan2)));
klconstant - (kl output constant *
(stiffness factorB / (stiffnessLactorA - tanl)));
kl_amplitude (kl
3doutput amplitude *
(stiffnessfactor B / (stiffness factorA - tanl)));
kl_phase - kl_output_phase;
k2_constant - (k2_output constant *
(Power(stiffness factorB, 3) / (stiffnessfactorA - tanl)));
k2_amplitude = (k2_output amplitude *
(Power(stiffnessfactorB, 3) / (stiffnessfactor A -tanl)));
k2_phase - k2_outputphaze;

/* From the hysteresis width on the stiffness curve and the values of the
"* other constant friction components in the harmonic drive, determine
"* the appropriate constant friction component on the gear tooth surface. /
btooth surface_constant - ((1.0 / ((stiffnessfactorA * cos2) + sin2))
((hysteresiswidth / 2.0) -
((stiffness_ factor A - tanl) - b_toothtip_constant) -

(((sinl * tanl) + cosl) * b wg-constant)));

/* Scale the stiction torque and cycliý. friction torque from the input
* side (wg) to the gear tooth surface. */
wgto_tooth factor - (1.0 / ((tanl cos2) + (tanl * sin2 * tan2)));
stiction_torque_tooth - wgto_toothfactor * stictiontorque;
stictionvel tooth - (stiction vel / wg to tooth factor);
cyclic_frictionamp tooth - wg-totoothfactor * cyclic friction amplitude;
cyclic_frictionphasetooth - cyclicfrictionphase;

/* By applying conservation of power to the damping components in tne


* model, the linear and cubic coefficients for the gear-tooth-surface
* damping can be found by subtracting the known damping components from
* the total joint damping and matching coefficients. This has to be

214
Appendix B: Simulation Code

"*
done differently for configuration 1 and configuration 2 since the
"*
dampers outside the harmonic drive depend on different velocities./
damping_factorA = ((cos2 / tan2) + sin2);
damping_factorB -(cosi + (sini tanin);
damping_factor_C - (1.0 / (N + 1.0));
damping factor_D - (1.0 + (1.0 / N));
lf(joint -- WRIST)

b-tooth-surfacel =((b-totall -
b-in -
(b~wgl *(Power((damping factor_B damoing factorD), 2M
(b-out *(Power((-1.0 / N), 2))))/
(Powercidamping factorA *(1.0 / N)), 2));
b-tooth-surface2 =((b total? -
(b~wg2 * (Power((damping factor_B * damping factorD), 4M)))

(Power((damping factorA * (1.0 / N)), 4)));

else

b-tooth-surfacel =((b-totall -
b in -
(b~wgl *(Power((damping factor_-B), 2))M
(b-out *(Power((damping factor_-C), 2M)))
(Power((damping_factor_A * damping factor_C), 2));
b-tooth-surface2 =((b-total2 -
(b~wg2 * (Power((damping factor_-B), 4M)))
(Power((damping~factozA *damping factor_C), 4));

/* Calculate the natural frequency of the non-rigid vibrational mode of the


"*
two-mass system assuming linear stiffness. First calculate the effective
"*
input and output inertias seen by the internal spring, then use the
"*
ideal linear stiffness value, with friction removed, to determine the
"*
resulting natural frequency of the linear system. *
inertia -in -eff =(inertia-in / (tani tani));
inertia -out Ieff =(inertia-out tan2 tan2);
templ - ((ki -constant / CONV)
((.0 /inertia -in -eff) + (1.0 /inertia-out-eff)));
temp2 - (1.0 / (Power(2.0, 1.5) * PI)),,
frequency - (temp2 Power((2.0 *tempi), 0.5));
printf("\n\n The natural frequency of the non-rigid vibrational mode\n");
printf(" for a two-mass linear system is: %f Hz.\n', frequency);
printf (" Therefore, resonance vibration should appear at input rotationai\n*);
printf(l velocities of: 'if input deg/sec.\n", ((frequency *360.0) / 4.0));
printf("- %f input deg/sec.\n", ((frequency *360.0) / 2.0));
printf(" %if input deg/sec.\n", ((frequency *360.0) / 1.0));

/* Print out these new parameters if in debugging mode. ~


if (debug)

printf("\n wg~angie: %4.20lf deg", (wg angle / CONV));


printf("\n b tooth surface_constant: %4.201f", b tooth surface_constant-);
printf("\n b tooth surfacel: %4.201f", b tooth surfacel);
prlntt("\n b tooth surface2: %i4.201f", b tooth surface?);
printf("\n )l _constant: 'i4.201fl, ki _constant);
prlntf("\n k2 constant: 'i4.201f\n", k2_constant);
prlntf ("\n*');
printf("\n tooth surface to input scaling factor: 'i4.201f\n",
(1.0 / (damping factorA * damping factor_C)));

215
Appendix B: Simulation Code

/* Functions which model the friction and amplifiers and collect stiffness aata. "/

/* Function irequlate() takes as arguments the present amp current, the requested
* amp current, and the current motor velocity and returns the actual current ::a:
* the amps can produce. */
double iregulatecipresent, irequested, omega)
double ipresent;
double irequested;
double omega;

double voltageupperlimit;
double voltage_lowerlimit;
double current upper limit;
double current lower-limit;
double currentl, current2;
double ireturn;

/* Make sure that the current requested is within the amp's operating range. */
if (irequested > IMAX)

fprintf(stderr, "\n WARNING: requested current is above allowed amp range'\n");


printf("\n Current Time: ");
irequested = IMAX;

else if (irequested < -IMAX)

fprintf(stderr, "\n WARNING: requested current is below allowed amp range!\n");


printf("\n Current Time: ");
irequested - -IMAX;

/* At the present operating current, ipresent, calculate the maximum


* allowable voltage that the amps can provide as calculated from
* the voltage-current curves for the amps in the Aerotech catalog.
SAssume
that, if the current is negative, the maximum voltage trat -ne
Samp voltage, VMAX. Also assume that the
can reach is the saturation
" minimum voltage for negative current is described by a curve similar
* to the voltage-current for positive current and voltage. Lastly, tne
* minimum voltage for positive current is equal to the negative voltage
* threshold of the amp, -VMAX. *1
if(ipresent >= 0)

if(ipresent <= IMAX)


voltage upper_limit = VMAX + VISLOPE * ipresent;
else
voltageupper_limit = VMAX + VISLOPE * IMAX;
voltagelowerlimit - -VMAX;

else

if(ipresent >- -IMAX)


voltagelower limit - -VMAX + VISLOPE * ipresent;
else
voltagelowerlimit - -VMAX ÷ VISLOPE * (-IMAX);
voltage upperlimit - VMAX;

/* Now from this maximum or minimum allowed voltage at present current, calculate

216
Appendix B: Simulation Code

"* the allowable current range thatthe requested current can achieve by assuming
"* that the amp voltage is equal tothe voltage across the motor (- Kb * velocity
" or back EMF) plus the voltage drop due to current flowing through the amp
"* resistance. */
currentl - (voltageupper limit - (motorkb * omega))/amp resistance;
current2 -(voltage_lower_limit - (motor-kb * omega))/amp resistance;
if(currentl < current2)

currentupper limit = current2;


current lower limit = currentl;

else

currentupper limit - currentl;


currentlowerlimit = current2;

/* Now, if the requested current, irequested, is between the upper and lower
* current bounds, return the value, otherwise return the upper or lower
* limit. */

if(irequested <- currentupper limit) && (irequested >- currentlowerlimit)f


ireturn = irequested;
else

if((fabs(current lower limit - irequested)) <


(fabs(current upperlimit - irequested)))
ireturn - currentlowerlimit;
else
ireturn - currentupper limit;

/* Now add a relative damping factor to the current. Make it behave so that
"* the current can't change from the old to the new value instantaneous.y, buL.
"* instead, a part of the new value, ireturn, is averaged with part of tne olo
"* value, ipresent, to create the actual new current somewhere between the two
"* values. This step is necessary to keep the amps current from fluctuating
" rapidly between each subsequent step and possibly going unstable. The AMP
"* DAMPING factor is a number between 0 and 1.0 that represents the amount
"* of damping in the amps current response. Note that since step size can vary
" significantly, and that this damping factor is calculated on every step, tne
"* amount of damping will vary with the changing step size. */
ireturn - (AMPDAMPING * ipresent) + ((1.0 - AMPDAMPING) * ireturn);

/* Give a run-time warning if the current exceeds the amp's allowed range. I/
if ((ireturn > IMAX) II (ireturn < -IMAX))

fprintf(stderr, "\n WARNING: allowable amp current range exceeded!\n");


printf("\n Current Time: ");

return(ireturn);

I* Function calculatefrictiono takes 10 arguments: (1) the velocity at the


"* friction interface, (2,3, and 4) the constant, linear, and cubic veiocity-
"* dependent friction coefficients. (5) the stiction torque, (6) the velocity
"* where the stiction is deactivated, (7) the reference position for the cyclic
"* friction, (8 and 9) the amplitude and phase of a sinusoidal friction function,
"* and (10) the velocity for which the damping curve begins to decrease.
"* This function returns the resulting value of the friction given these
* parameters. Note that the friction amolitude should not be larqer than

217
Appendix B: Simulation Code

"* bconstant or else the resulting friction can become negative. Additionally.
"* if the velocity is very small, this friction model is undefined, and a warning
" message is given. Finally, if the velocity is too large, the cubic term of the
"* velocity-dependent damping may decrease and become negative. To prevent this,
"* the velocity dependent damping is calculated for omega max at all velocities
"* greater than omega max. */
double calculatefrictlon(omega,
b_constant, bl, b2,
stictiontorque, stictionvel,
theta,
friction_amplitude, friction_phase,
omegamax)
double omega;
double b-constant, bl, b2;
double stiction torque, stictionvel;
double theta;
double friction amplitude, frictionphase;
double omegamax;

double friction, damping;

/* Make sure that the velocity is not near zero. /


if (((fabs(omega)) < TINY VEL) &&
((stiction torque + frictionamplitude + bconstant) 0.0) £&
(!stiffness_flag) && (!stiffnessflag2))

fprintf(stderr, "\n ERROR: Function calculate friction().");


fprintf(stderr, "\n Velocity is near zero and the model is
undefined!\n");
return(O.0);

/* If the stiffness data is being collected and the joint is being loaded,
"* return the velocity-independent friction as if the velocity were positive.
"* Note: do not use the stiction torque. *I
if(stiffness flag)

friction = (-bconstant +
(-frictionamplitude
Sin((theta + frictionphase) * CONV)));
return(friction);

/* If stiffness data is being collected and the joint is being unloaded,


* return the velocity-independent friction as if the velocity were positive. /
if(stiffness flag2)

friction - (b constant +
(friction amplitude
Sin((theta + frictionphase) * CONV)));
return(friction);

/* Make sure that the cylic friction amplitude is less than the constant friction
* coefficient. */
if (friction-amplitude > b_constant)

fprintf(stderr, "\n ERROR: Function calculate frictionC).");


fprintf(stderr, "Nn Cyclic friction amplitude too large!\n");

/* Calculate the static and constant friction as follows:


* if the velocity is below the stiction vel, calculate the friction oaseo
* on the linear fit between maximum stiction at zero velocity and b constant

218
Appendix 8: Simulation Code

"* at stiction vel. Otherwise the friction is equal to b constant in the


"* direction opposing the velocity. Add the cylic friction accordingly. "/
if (omega >- stictionvel)
friction = (b constant +
(frictionamplitude
Sin((theta + friction phase) * CC ,f;
else if ((omega > 0.0) && (omega < stictionvel))
friction - (stiction torque +
((stictiontorque - b_constant)/(-stictionvel)) omega);
else if (omega <- (-stiction vel))
friction - ((-bconstant) +
(-friction_amplitude *
Sin((theta + frictionphase) * CONV)));
else
friction - ((-stictiontorque) +
(((-bconstant) - (-stiction torque))/(-stiction-vel)) * omega);

/* Now calculate the velocity-dependent friction. '/


if(fabs(omega) > omega max)
damping = ((bl * copysign(omega_max, omega)) +
(b2 * Power((copysign(omegamax, omega)), 3)));
else
damping = (bl * omega) + (b2 * Power(omeqa, 3));

/* Return the aggregate friction value. '/


return(friction + damping);

I, Function collectstiffness data() can be used to collect a set of output


"* position versus output torque data. This function uses the specified
"* harmonic drive function to calculate the resulting torques when a displacement
"* is applied to the joint output. The joint is configured with the wave
"* generator locked to the circular spline. While the joint is being loaded,
"* data is collected in position increments of pos_increment until the maximum
"* torque is reached. At that point, the harmonic drive model is switched since
"* the friction changes direction and the remaining data is collected. A positive
"* stiffness curve is returned for positive displacement. Assuming directional
"* symmetry in the drive, this curve can be flipped about the x- and y- axes to
"* determine the shape of curve for negative displacements. Be sure to load the
"* drive in the direction that ensures that the gear-tooth-surface normal force
"* remains positive. '/
void collectstiffness data()

int i;
double torque[STIFFNESSPOINTS];
double displacement[STIFFNESSPOINTS);
double pos_increment;
double actual disp, torque wg, torque_fs, torque_cs;
char unixcommand(200J;
int points - STIFFNESS POINTS;
static double maxdisp[NUM OFAXISJ - (0.1, 0.4, 0.35);
static char *stiffness filename(NUMOFAXIS) - ("shld stiffness data.dat",
"elbstiffnessdata.dat",
"wrist stiffnessoata.dat");
FILE *outfile, *gnufile;

/* Calculate the position increment. -/


pos_increment - maxdisp[joint) / ((double) (points/2.0));

/* Begin loading the output link of the joint in compression. /


for(i - 1' 1 < (voints/2). i++)

219
Appendix B: Simulation Code

actual-disp - ((double) CU-1)) *pos increment;

if(joint -- WRIST)

(*(hd_model~rnodel])(0.*0, actual disp, 0.0, 0.0, 0.0, 0.0.


4torque~wg, &torque Es, &torque cs);
torquefi; - torque fs;

else

actual -disp - -actual disp;


(*(hd-model~modelj))(actual_disp, 0.0, actual disp, 0.0, 0.0, 0.0,
6torque-wq, fitorque_fs, &torque cs);
torqueli] - torque cs;

displacement (i] - fabs (actual disp);


if (debug)
print_variables (;

/* Adjust the flags to allow proper friction values to be computed./


st~iffness flag - FALSE;
stiffness flag2 - TRUE;

/* Collect data while unloading. Note the appropriate harmonic drive


* model for the reverse-friction case is selected. *
for(i - ((points/2) + 1); i <- points; i++)

actual-disp -((double) (points - i)) -pos increnlent;

if(joint -- WRIST)

(*(hd_model~modellfl (0.0, actual disp, 0.0, 0.0, 0.0, 0.0,


&torque~wq, &torque Es, &torque_cs);
torquefl] = torque_fs;

else

actual -disp - -actual disp;


(*(hd~modelfmodell)) (actual _dis p, 0.0, a.:tuai-disp, 0.0, 0.0, -C.,
6torque~wq, 6torque_fs, fitorque cs);
torqueli] - torque cs;

displacementliI - fabs~actual-disop;

if(debug)
print_variables (;

I'Now store and print the data. '


create -file(&outfile, outdatapath, stiffness -filename Ijoint i);
export -vectors(outfile, torque, displacement, points, stiffness filename joinL'I
close file(outfile);

if (last plot)

create -file(Agnufile, outdatapath, gnuplot filename);


fprintf(qnufile, "cd ltsl\n", outdatapath);
fprintf(gnufile, "set xlabel 'Torque (N~m) '\n");
fprintf(gnufile, "set ylabel 'Displacement (degl)\nnI;
forintf(anufile, "Set title 'Stiffness Curvel\n");

220
Appendix B: Simulation Code,

fprintf(gnufile. "plot ts'\n", stiffness filename(jointl);


fprintf(gnutile. "pause -1\n");
close_tile (gnufile);
Sprint f(unix_command, "~gnuplot ts%s", outdatapath, gnuplot filename);
printf('\n Executing the unix command: %sWn", Unix-command);
system(unix_command);

else

sprintf(unix command. "xgraph Ists -t StiffnessCurve\


-y Displacement deg -x TorqueN*m 4",
outdatapath, stiffness -filename Ijoint]);
printf("\n Executing the unix command: ts\n"*. unix command);
system(unix_command);

exit (0);

1* Functions which input and output data.

I' Function get arguments() parses the command-line arguments. I/


void get arguments(int argnum, char **args)

mnt arg_index;
for (arg index - 1; arg index < argnum; arg~index++)

if (!strcmp("-debug", args~arg index]))


debug - TRUE;
else if (!strcmp("-energyII, argslarg index]))

print energy -TRUE;


calc_energy -TRUE;

else if (!strcmp("-stiftness', argslarg_index]))


stiffness -flag - TRUE;
else if (!strcmp(II-ideal", argslarg index]))
ideal-flag - TRUE;
else if (!strcmp("-plot", argslarg~indexf))
plot - TRUE;
else if (!strcmp("-h". argstarg index]) 11
!strcmp("-?", argslarg index)) 11
!strcmp("I-help", args ]arg index]))

fprintf(stderr, 11\n Program ts: '.,argsl0J);


usage(4);
exit (0);

else

fprintf(stderr,"\n ERROR while executing ts: arguments are wrong!\n",


args 101);
usage(4);
exit (1);

221
Appendix B: Simulation Code

/* Function usagec) prints out the proper usage of the command-line options. I/
void usage()

fprintf(stderr, 11\n Valid command-line options:\n");


fprintf(st~derr, " -debug :activates debugging mode\n");
fprintf(stderr, " -energy: prints energy during runtime\n");
fprintf(stderr, " -stiffness: collects and plots solely stiffness oata\n");
fprintf(stderr, -ideal: imposes an ideal haromonic-drive mooe_'n-";
fprintf(stderr, " -plot: save plotting data for many input
currents\n");
fprintf(stderr, -h, -?, -help : prints out help message\n");,

/* Function read input datac) parses all of the values in the input data file.
void read-input-datalf-ile pointer)
FILE *file-pointer;

char temp_name(5OI;
double temp_number;

while(fscanf (file pointer, 1%s %lg %*s\n", temp name, &temp_number) !- OF)

if (0 -- strcmp("Iinertia_in", -temp_name))
inertia-in - temp number;
else if (0 -- strcmp("inertia -out", temp name))
inertia out - temp number;
else if (0 __ strcmp(--kl_output_constant"-, temp name))
kl -output_constant - temp number;
else if (0 -- strcmp("kl -output amplitude", temp-name))
kl output amplitude - temp number;
else if (0 -- strcmpt11kl_output phase". temp name))
kl -output-phase - temp number;
else if (0 -- strcmp(*"k2_output -constant", temp name))
k2 -_output constant - temp number;
else if (0 -- strcmp(1'k2_output_amplitude11, temp_name))
k2 -output amplitude - temp number;
else if (0 -- strcmp1"k2_output _phase11, temp name))
Ic?output phase - temp number;
else if (0 -- strcmp(I-hysteresis -width", temp name))
hysteresis_width = temp number;
else if (0 -- strcmp("b-totall", temp name))
b -totall - temp number;
else if (0 -- strcmp("b -total2", temp_name))
b -total2 . temp_number;
else if (0 -- strcmp("lb in", temp name))
b~in - temp number;
else if (0 -- strcmpj11b~wgconstant", temp_name))
b~yq_constant - temp number;
else if (0 -- strcmp("b~wgl", temp name))
b~wql - temp number;
else if (0 -- strcmp("b~wg2", temp name) I
b~wq? - temp number;
else if (0 -- strcmp("b~t 0th tip constant", temp name))
b~tooth_tip_constant - temp number;
else if (0 -= strcmp(I"b -tooth tipi", temp name))
btooth~tipl - temp number;
else if (0 -- strcmp("b tooth tip2", temp name))
b-tooth tip2 - temp number;

222
Avvendsx B: Simuiation Code

else if (0 -- strcmpt"cyclic friction amplitude", temp_name))


cyclic_friction_amplitude = temp num-ber;
else if (0 -- strcmp("lcyclic friction_phase", temp name))
cyclic_friction_phase - temp number;
else if (0 -- strcmp(Istiction~torque", temp name))
stiction -torque - temp number;
else if (0 -- strcmp("stiction~vel", temp name))
stiction vel - temp number;
else if (0 -- strcmp(**b~out". temp name))
b -out - temp number;
else if (0 -- strcmp(I'mu", temp name))
mu save - temp_number;
else if (0 -- strcmp("tooth_angle", temp name))
tooth angle - temp number;
else if (0 -- strcmp("N**, temp name))
N - temp-number;
else if (0 -- strcmp("lcyclic_amplitude", temp name))
cyclic_amplitude - temp number;
else if (0 -- strcmp(Ilcyclic~phase", temp name))
cyclic_phase - temp number;
else if (0 -- strcmpV~error~amplit~ude0'1, temp name))
error amplitudeo = temp number;
else if (0 =- strcmp(Ilerror~phaseol, temp name))
error phaseO - temp number;
else if (0 -- strcmp(I"error~amplitude1'", temp name))
error_amplitudel - temp number;
else if (0 =- strcmp("lerror_phasel", temp name))
error phasel - temp number;
else if (0 -- strcmpCIlerror~amplitude2l, temp name))
error amplitude2 - temp number;
else if (0 -- strcmp("error~phase21, temp name))
error_phase2 - temp number;
else It (0 -- strcmp("motor~kt", temp name))
motor_kt - temp number;
else if (0 -- strcmp("motor~kb", temp name))
motor-kb - temp-number;
else if (0 -- strcmp(I"amp~resistance", temp_name))
amp resistance = temp number;
else if (0 -- strcmp("irequested", temp-name))
irequested - temp_number;

/* Initial conditions, */
else if (0 -= strcmp(I"initial pos in"., temp name))
xstart~sav[POSIN_INDEXI - temp number;
else if (0 -- strcmp(I"initial~pos~out', temp name))
xstart-savIPOS_-OUT_-INDEX] - temp-number;
else if (0 =- strcmp("initial_vel_in", temp-name))
xstart -savIVEL-IN_-INDEX) - temp number;
else if (0 =- strcmp("initial -vel_out", temp name))
xstart sav[VEL-OUT_ INDEX) - temp_number;

/* Time conditions */
else if (0 -= strcmp("initial~time**, temp name))
initial -time - temp number;
else if (0 =-strcmp("final -time", temp_name))
final -time -temp number;
else if (0 -- strcmp("'step*", temp-name))
step = temp number;

/* Fast plotting flag. *


else if (0 =-strcmp("fast_plot", t..mp name))
fast plot =((mc) temp number);

/* Desired harmonic-drive model. '

223
Appendix B: Simulation Code

else if (0 -- strcmp("model", temp_name))


model = ((int) tempnumber);

else

fprintf(stderr,"\n Couldn't parse parameter %s\n", temp name);

/* Function readinputfilenames() reads the data from the second input file
"* as follows. First it checks to see if the first value on each line is 1.
"* If the value is 1, then it stores the line number in the vector index[]
"* so that it can be used later to remember which output variables to store.
"* Additionally, this function also stores the other informaiton from each line
"* that has a I value to be used later for graph titles and output Filenames.
"* As this function steps through each line of the input file, it counts the
"* number of output variables selected and stores the result in the variable
"* numselected outputvar. */
void readinputfilenames(file_pointer)
FILE *file_pointer;

int linenumber - 0;
int tempflag;
char temp title[50];
,char temp units[50];

while(fscanf(file_pointer, "%d %s %s\n", &temp_flag, temp title, temp_units) EOF)

if(temp flag)

indexinum selectedoutput var] - line number;


strcpy(graph title(num selected_output varl, tempt tle);
strcpy(graph units(num selected_output var], temp_ :-its);
sprintf(outputdatafileinum selected outputvar], "%s hd %s.dat",
jointname[joint], temp title);
num selectedoutput_var++;

line-number++;

/* Function print input parameters() prints out the names and vaiues of
* the input parameters. */
void printinputparameters()

printf("\n");
printf(" Model Parameters:\n");
printf(" Input Inertia - %4.101f\n", inertia in);
printf(" Output Inertia = %4.101f\n", inertiaout);
printf(" kl constant - %4.101f\n", kl_outpuc_constant);
printf(" kl amplitude - %4.101f\n, kl_outputamplitude);
printf(" kl phase - %4.10f\n", kl_outputphase);
printf(" k2 constant = %4.10f\n", k2_output constant);
printf(" k2 amplitude - %4.10f\n", k2_output amplitude);
printf(" k2 phase - %4.101f\n", k2_output phase);
printf(" Hysteresis Width - %4.101f\n", hysteresis width);
printf(" b totall - %4.10f\n", b totall);
printf(" b total2 - 14.101f\n", b total2);

224
Appendix B: Simulation Code

printt (" b -in - %4.101f \n", b -in);


printf(" b-wg_constant -%4.l01f\n", b-wg constant);
printf(" b-wql =%4.10lt\n', b wgli;
printf(" b-wg2 - %4.l01f\n", b_wg2);
printf(" b-tooth-tip_constant - %4.l0lf\n,. b-tooth tip constant);
printf(" b tooth_tipi %4.!Olf\n", b-tooth tipi);
printf(" b tooth_tip2 - %4.l0lf\n", b_tooth_tip2);
printf(" Cyclic Friction Amp - %4.l0lf\n', cyclic_friction_amplitude);
printf(" Cyclic Friction Phase - %4.l0lf\n", cyclic_friction_phase);
printt(" Stiction Torque -%4.1Olf\n", stiction torque);
printt(" Stiction Vel -%4.101f\n", stiction veil;
printf(" b -out - %4.10lf\n", b-out);
printf (n Mu - %4.101f\n", mu -save);
printfC' tooth angle - %4.101f\n", tooth_angle);
printf(" Gear Ratio, N - %4.l0lf\n", N);
printf(" Cyclic Amplitdue - %4.10lf\n", cyclic -amplitude);
printf(" Cyclic Phase - %4.l0lf\n", cyclic-phase);
printf(" Error Amplitude 0 - %4.l0lf\n", error_amplitude0);
printf(' Error Amplitude 1 - %4.10lf\n", error_amplitudel);
printt(" Error Amplitude 2 -%4.l0lf\n", error_amplitude2);
printf(" Error Phase ShiftO - %4.10lf\n", error_phaseO);
printf(" Error Phase Shifti - %4.101f\n", error phasel);
printt(" Error Phase Shift2 - %4.10lf\n", error_phase2);
printf C' Motor Torque Kt -%4.10lf\n'. motor kt);
printf(" Motor Back EMF Kb - %4.10lf\n", motor kb);
printfC" Motor Resistance = %4.101f\n", amp resistance);
printf(" Motor Current - %4.101f\n", irequested);
printf C"\n") ;
printf ("Initial Conditions:\n"); -
printf(" Input Position - %4.10lf\n", xstart sav(POS_ IN_-INDEX!);
printf(" Output Position - %4.10lf\n", xstart sav[POSOUT_-INDEX));
printf(" Input Velocity - %4.l0lf\n", xstart sav(VELIN_-INDEX));
printf(" Output Velocity - %4.l0lf\n", xstart-sav[VELOUTINDEX));
printf ("\n");
printf(" Initial Time - %4.l0lf\n", initial time);
printf(" Final Time - %4.l0lf\n", final-time);
printf(" Step Size - %4.101f\n', step);

1* Function print_variables() prints the names and values of some


*important torques, velocities, and positions. ~
void print variables (

printf("\n") ;
printf("\n pos_in: %20.151t"., v[POS IN]);
printt("\n pos_out: %20.151f"l, v(POS OUT]);
printf("\n pos_wg: %20.151f", v(POSWGJ);
printf("\n pos_fs: %20.151fl", v(POSFS]);
printt("\n pos_cs: %20.151f"l, v[POSCSI);
printf("\n pos_n_wg %20.151fll, vIPOSNWGJ);
printt ("\n") ;
printt("\n vel in: %20.151fll, v(VEL_ IN]);
printt("\n vel out: %20.151f"l, v)VELOUTJ);
printf!"\n vel-wg: %20.151fl', viVEL_-WGI);
printf("\n vel fs: %20.151fll, v)VEL FSJ);
printf("\n vel cs: %20.151f", vIVEL CS));
printf C"\n") ;
printf("\n torque-motor: %20.151f", v[TORQUEMOTOR));
printf("\n torque~bin: %20.151lf", v[TORQUE_B_-IN]);
printf("\n torque_b -out: %20.151f", vITORQUE_BOUT));
printf("\n torque wg: %20.151f", v[TORQUE_WGI);
pritt(\ntorue a:%20.151f",- v(TORQUE FSI);

225
Appendix B: Simulation Code

printf("\n torque cs: %20.151f", vITORQUE-CSI);


printfC,"\n torque_k: %20.151f", v[TORQUEKI);
printf("\n torque cyclic: %20.151f", v[TORQUECYCLIC));
printf(--\n tooth surface -friction: %20.151f", v)TORQUETOOTH SURFACE FRICTION));
prlntfQ'\n tooth surf -total -loss: %20.151f", v[TORQUETOOTHSURFACE_TOTAL_LOSS));
printf("\n tooth surface -normal: %20.151f", v)TORQUE_TOOTH_ SURFACE NORMALI);
printf("\n torque_hd-friction: %20.151f", v[TORQUEHD FRICTION));
printf ("\n");
printf("\n current time: %20.151f", current-time);
printf (\"W) ;
fflush (stdout);

/* Function export_vectors() takes a file pointer, two pointers


* to vectors of 'kount' doubles and writes them to a
* file, each line containing an x and y coordinate. If the slow-
* plotting option is selected, the filename will not be printed
* to the first line of the file. */
void export vectors(outfile, xvector, yvector, points, filename)
FILE *outfile;
double *xvector;
double *yvector;
int points;
czhar filenamel);

mnt i;

printf("\n Exporting vector to file....");

ifC!fast_plot)
fprintf(outfile, "1\" %s\n". filename);
for Ci -1; i <- points; i++)
fprintf(outfile. "%12.101f %12.10lf\n", xvectortil, yvectorlil);
printf C"done.\n$);

1* Function generate gnuplot file)) is called when the fast _pIlt OPtLIOr
"* is selected and creates a command file in the data directory Which
"* is executed in gnuplot by a system command./
void generate_gnuplot-file(filename)
char filename));

int 1;
FILE gqnufile;

create-file(&gnufile, outdatapath, filename);

fprintf(gnufile, "cd '%s'\n", outdatapath);


fprintf(gnufile, "set xlabel 'time (sec) '\n");
for~i - 0; i < num-selected_output var; i++)

fprintf(gnutile, "set title '%s'\n11. graph title~il);


fprintf(gnufile, "set ylabel '%s'\n", graph unitsfiJ);
fprintf(gnufile, "plot '%s'\n", output_datafile~i]);
fprintf(gnufile. "pause -l\n")ý;

close file (gnufile);

226
Appendix B: Simulation Code

227
Appendix B: Simulation Code

1* This is file hd model.h.


* It is the header file for program hd model.c. /

/* Define a bunch of constants. */


#define SHOULDER 0
#define ELBOW 1
#define WRIST 2
#define JOINTTO TEST WRIST
#define NUM OF AXIS 3
#define STIFFNESSPOINTS 1000
#define TRUE (1)
#define FALSE (0)
#define TINYVEL (1.0e-20)

/* Constants specifying the position of the local variables


"* in the state vector. */
#define PUS IN INDEX 1
#define PUS OUT INDEX 2
#define VEL IN INDEX 3
#define VEL OUT INDEX 4
#define ENERGY 5

/* The order of the system (number of state variables).


#define ORDER 4

/* Define index numbers for two different harmonic-drive models.


#define ROTARY 0
#define GEARTOOTH 1
#define HDMODELS 2

1* Define the degrees-to-radians conversion factor used in the equations. I


#define PI 3.14159265359
#define CONV (PI/180.0)
/* Define mathematical functions to translate Mathematica's C-formatted
* equations into a form understandable to the compiler.
#define Power(x,y) pow((double) x, (double) y)
#define Sin(x) sin((double) x)
#define Cos(x) cos((double) x)

/* Define the simulation accuracy variable. -/


#define EPS 0.00001

/* Define a arbitrary intial step size and a minimum step size. -/


#define INITIALSTEP 0.0001
#define MINIMUMSTEP 0.0000000000000000001

/* Define constants describing the amplifier voltage-current curve.


#define IMAX 20.0
#define VMAX 40.0
#define VI SLOPE -1.0
#define AMPDAMPING 0.5

1* Define the number of data runs to be made if the -plot option is selected.
tdefine SHLD NUM OF DATA RUNS 10
tdefine ELBNUMOF_DATARUNS 8
#define WRISTNUMOFDATARUNS 8

/* Define the indicies for the vector to hold all variables that can be
* selected for output data plots. */

/* The harmonic drive positions, velocities, and torques. '/

228
Appendix B: Simulation Code

#define POSWG 0
#define POS FS 1
#define POS CS 2
#define POSTOOTHBASE 3
#define PUS ERR 4
#define POSTOOTHTIP 5
#define POSWGSURFACE 6
#define POSTOOTHSURFACE 7
#define POSWGRELATIVE 8
#define POSK 9
#define POS_N_WG 10
#define POS_N_FS 11
#define POS_N_CS 12
#define VEL WG 13
#define VEL FS 14
#define VELCS 15
#define VEL TOOTH BASE 16
#define VELERR 17
#define VEL TOOTH-TIP 18
#define VELWG SURFACE 19
#define VELTOOTH-SURFACE 20
#define VEL WG RELATIVE 21
#define VEL K 22
#define VEL N WG 23
#define VEL N FS 24
#define VEL N CS 25
#define VEL HE FRICTION 26
#define TORQUE WG 27
#define TORQUEFS 28
#define TORQUECS 29
#define TORQUEINPUTNORMAL 30
#define TORQUECYCLIC 31
#define TORQUE WG NORMAL 32
#define TORQUE_WGFRICTION 33
#define TORQUEERRIN 34
#define TORQUEK 35
#define TORQUETOOTHTIP NORMAL 36
#define TORQUETOOTHTIPFRICTION 37
#define TORQUETOOTHSURFACENORMAL 38
#define TORQUETOOTHSURFACETOTALLOSS 39
#define TORQUETOOTHSURFACECOULOMB 40
#define TORQUETOOTHSURFACEFRICTION 41
#define TORQUECYCLIC FRICTION 42
#define TORQUEOUTPUTNORMAL 43
#define TORQUE_N_WG 44
#define TORQUE_N_FS 45
#define TORQUE N CS 46
#define TORQUE-HDFRICTION 47

/* The positions, velocities, and torques outside the harmonic drive.


#define PUS IN 48
#deftne POS OUT 49
#define VEL IN 50
#define VELOUT 51
#define TORQUEMOTOR 52
#define TORQUE_B_IN 53
#define TORQUE_B_OUT 54

/* Sensor variables. */
#define INPUT POSITION SENSOR 55
#define OUTPUT POSITIONSENSOR 56
*define INPUTVELOCITYSENSOR 57
#define OUTPUT VELOCITY SENSOR 58
#define CURRENT SENSOR 59

229
Appendix B: Simulation Code

#define TORQUESENSOR 60
#define POSITIONERROR 61

/* Parameter functions which can be plotted. "I


#define Kl 62
#define K2 63
#define ERFN 64
#define DERF 65

/* Energy Variables. "/


#define TOTAL ENERGY 66
#define TOTALKINETICENERGY 67
#define TOTALPOTENTIALENERGY 68
#define TOTAL INPUTENERGY 69
#define TOTALLOSTENERGY 70
#define MOTORENERGY 71
#define KINETICENERGYIN 72
#define KINETICENERGY-OUT 73
#define SPRINGENERGY 74
#define CYCLIC ENERGY 75
#define INPUTDAMPINGENERGY 76
#define WGFRICTIONENERGY 77
#define TOOTH TIP FRICTIONENERGY 78
#define TOOTHSURFACE TOTAL LOSS ENERGY 79
#define TOOTHSURFACECOULOMB ENERGY 80
#define TOOTHSURFACEFRICTIONENERGY 81
#define HD_FRICTION-ENERGY 82
#define OUTPUTDAMPINGENERGY 83

/* Define the number of variables in the output data vector. */


#define NUMOFOUTPUTVAR 84
/* Declare the variables for the input parameters used in the harmonic drive
* equations. */
double kloutput constant, kloutputamplitude, kloutputphase;
double k2_outputconstant, k2_outputamplitude, k2_outputphase;
double hysteresis-width;
double error_amplitudeO, error phase0;
double error_amplitudel, error phasel;
double error amplitude2, errorphase2;
double cyclic_amplitude, cyclicphase;
double b_wg_constant, b_wgl, b_wg2;
double btooth tipconstant, b tooth_tipl, b-toothtip2;
double cyclic_frictionamplitude, cyclicfriction phase;
double mu, mu_save;
double b totall, btotal2;
double toothangle, N;
double stictiontorque, stictionvel;

/* Declare the variables for the joint parameters. */


double inertia-in, inertia-out;
double b_in, b out;
double motor kt, motorkb, amp_resistance;

/* Requested step in motor current. *I


double irequested;

/* Initial and final time, the stepsize interval to save results


double initialtime, final time, step;

/* Define the initial-condition vectors.*/


double xstart[ORDER+l1, xstartsav[ORDER+11;

I/ Define a vector to hold all of the possible output data values for

230
Appendix B: Simulation Code

Seach simulation time step. /


double v(NUMOFOUTPUTVAR];

/* Define output vectors to be allocated dynamically. */


double **outputdata, *time;

/* Define the parameters that are calculated from the input parameters
* for the rotary harmonic drive model. */
double klconstant, kl_amplitude, kl_phase;
double k2_constant, k2_amplitude, k2_phase;
double stiction torque_hd, stictionvelhd;
double cyclic_frictionamphd, cyclic_frictionphase_hd;
double bhd constant, bhdl, bhd2;

/* Define the parameters that are calculated from the input parameters
* for the tooth-rubbing harmonic drive model. */
double tanl, cosl, sinl, tan2, cos2, sin2;
double wg_angle;
double stiction torquetooth, stiction veltooth;
double cyclic_frictionamp-tooth, cyclic_frictionphase tooth;
double btoothsurfaceconstant, b tooth surfacel, btooth_surface2;

231
232
For most of the operating range of the harmonic-drive testing equipment, the
amplifiers which supply current to the DC motors can sustain current values up to the their
maximum rated current. However, at high motor velocities, back EMF generated by the
motor can saturate the amplifier voltage which results in a reduction of the maximum
current the amplifier can deliver. This saturation behavior can be captured by developing a
few simple equations which incorporate the velocity and current limits of the amplifiers
with some simplified dynamics of the motor-amplifier circuit.

Identical Aerotech model 4020-LS linear current-amplifiers were used for the three
harmonic-drive testing stations. The voltage and current operating range of these amplifiers
is shown in figure C.. Using this plot, the upper and lower voltage limits of the amplifier

i'K

A
...................

233
Appendix C: Motor Amplifier Model

can be calculated for any desired current within the given current range, as illustrated in
figure C.2. Given this upper and lower voltage-bound, an upper and lower current-bound
can also be found by considering the simplified amplifier circuit shown in figure C.3.
Summing the voltage around the circuit yields the equation

Vamp = Vmotor + VR, or (C. )

Vamp = KbOwor + iamp R, (C.2)

where Kb is the back EMF constant of the motor, ct)o or is the motor velocity, and R is the
resistance across the motor terminals. Resistance values which provided good results are
listed in Table C. 1 for the three harmonic-drive testing stations. By solving equation C.2
for the amplifier current, iamp, and substituting the voltage upper and lower-bounds as
determined in figure C.2, an upper and lower bound for the amplifier current can be

2 341 3.1 i m.

234
Appendix C. Motor Amplifier Model

V.

derived:
Vwpp max - KbO)motor and
inWmx-R ,ad(C.3)

imnp rai ff Vwnp rain - KbOrmotor


R (C.4)

Therefore, for a given motor operating speed and a desired current value, the instantaneous
current limit on the amplifiers can be determined simply by (1) using the amplifier operating
specifications to calculate the voltage limits for the requested current, and (2) substituting
these voltage limits into equations (C.3) and (C.4). This model was incorporated
successfully into a numerical simulation which calculated the amplifier current on every
time-step.

235
236
This appendix contains a complete set of all of the dynamic-response plots collected
from the three harmonic-drive testing stations. For each harmonic-drive, input and output
position were measured and used to derive input and output velocity data. The output
torque on each transmission was monitored by the torque sensors while the input torque
was determined from the motor-current sensor. Additionally, from the input and output
position measurements, the dynamic position-error across the transmission was calculated.
A summary of all of the plots shown in this appendix and their corresponding plot numbers
is given in table D.l. For each of the plots listed in this table, except the dynamic position-
error figure, time-response curves are plotted for several different motor-current step-
commands. Depending on the visual appearance of the data, the different response curves
on each of these plots are either plotted on a single axis or plotted on separate axes. For the
sake of clarity, the output-velocity response data for each harmonic drive is plotted in both
of these ways. In the case of the dynamic position-error plots, a single time-response
curve is shown, rather than several, in order to generalize about behavior for different step
inputs. A complete discussion of all of these plots can be found in section 2.6 of this
document.

237
Appendix D: Experimental Data Plots

Table IDA:_ nal___rsp n e d~3pltnu


__ ______fxerm b r

238.....
Appendix D: Experimental Data Plots for Joint I

..........
........
.............. 6.0 am ps

80000

.....................4 *.... ....... ..

...................

440 amps

S4 4 . .4......... ..
............ ... ... ........ ...f............ ... ... .. ...

40000/404 amps

~...............
.... . . . . . . . . . . .

. . . . . . 2.8 am ps
40000 -1..
~~~~~~2.
...............
................
....... ................... amps........

~~~1. ............... ...


.......... am ps.......

. ...
........ ... ...

239. ....
..... 28a p
Appndx
-Exermeta Data Plots for Joint 1

25000 f 1 rT

6.0 amps

20000 -

CD 15000 44ap
4.0 amps

CD

50000

~ 2.4 amps
Pp
. 2.0 amps

50 0 ........ L iz J. L ii J.

0~. 1a2p3s

1. amps

240
A ppendix D: Experimental Data Plots for JointI

.. ........... 6.0 amps


5.0 amps

4.4 amps
, L

E 4.0 amps

3.6 amps

~ 3.2 zmps

210 - 2.0 amps

* * - - -1 .6 amps

0 12 34
time (seconds)

Fiui D..3 Jon 100u-ur se-epne

241
D Exprimetal Data Plots for Joint I
Appenix

....
..... ...6.0 am ps
........................ ....

400 ~ ,........ . . . . .......

I.. .........

C... . . . . . . ....................... ..... ...

...
......
/..
.................
.................
.... 4 . 4..... .............

1 1.40 amps

200 "/....
:....
/ .2 ..... ...
... amps..

0
0... 1 ... ...... 4...
2..... ... 3........
time..
(seconds
.........
....... .. .... * ....

24...........
2.........
...... ......
..............
...
A opendix D: Exp~erimental Data Plots for Joint I

140

120 am.

5. ap
100. .. ...
......
. .......
14 -! - : .......

0 10 ........... 4. 0 a p
....

Z. 80 '"....:-

0
..
....
.

00

40 . . . ....

2.4 amps

20
1.6 amps

0
0 12 3 4
time (seconds)
Fiur D..5 J5ll I I~ t se te po 0Lt(tV

243
Appvendix D: Experimental Data Plots for Joint 1

150.-

.... .. .... ... ..... ..... ....

15 . . ...... J........L..................L .L.....L


........ ± ...... ..... ...
1 A.....

158

Ea .... :.................... .. . ...-.. . . .

158 ± ±

0 --

. 4 ...... 4I.....

Le&
:3 15
....... ... ... ................. ...

E ....
....
...
.... 24...
............. ........ .............. ....
Appendix D: Experimental Data Plots for Joint 1

8.
a I~~4 4 * .............. ........ ........ ...

co

A.i....L. .......
...........................

a.......
1...
......... .... ............. T..... ........
0e1 wua-m rS rrmt~IdA~
V: ......... ........................
...... ... ... ...
I....
... .... 4...

..........

a.............. ....
............ ................. .........
jt

o8

a....... 4 4.. 4. .... .*....


4.... .........
4... 4... 4.... .....

. . . . .. .a. . .
........ ... ..............- .......... ...

- 1 2 3ll 4,
tie(ecns
Y .......... .. ....... .........

.. . . . . . .245. .
Appendfix D: Experimental Data Plots for Joint I

0.1..........................
....
.-
0.1....... . . . . . . ..

-0.15 ---- ........... I...L ...... .. ...........

0 0

246.. ........
Appendix D: Experimental Data Plots for Joint 2

160000 .. 4.5.amp

140000 .........

3.8 amps
100 -. ................ .................................................

0100000 .-......

.. .......

100000-~4

0~

224 amps

........ .......

.............
... ............
247...
..........
......
.. ........
Appendfix D: Experimental Data Plots for Joint 2

50000
.... ?.......... .... 4.
4..4....... ....... .................
....... ..... 4.5 am ps

.... .... ........ -


...... 3.8 am ps

40000

1...4.
i ...... ......... . . . . . . . . . . .

0
3.4 amps

300

300....... ....................
...................... /.........
....... ...

00

.. ..................

. .4.
. ......... 4. 4. ..........
........

10000MI-

2.8 amps
'~ T 1.2 amps

0
0 12 3 4
time (seconds)

248
Appendix D: Experimental Data Plots for Joint 2

10,. 11

0........
..... . ...
... ... . ... .. . ...
.. .. . ..

. . . . . . . . .... .
.. ... ... ... ... . . ... ...

0. .... .. ~.................. .......... . p.........


... ...
.............. .... ... ... .... ........
..... ............
IQ
... .... .............
........ ........ ............. .... ... ............. .... ...

.........-.................................. I

...........-.....

6 .................. .. d....
.. ...
..... ........ ..... ........

......... ....... .T.... ..


......
... ..... ..
... .........
..... ... ....

........ ................. ....


.... .... ........ .........
........ .... ....
0 ....
.... .......
1...........
.... ! ........
.... ... 3...................4...
.... ...
"tMm (scods
........ .S........... ... ... ......... ... ........ ... ... ...

E : :; : : :249
Appendix D: Experimental Data Plots for Joint 2

-~~~~~~ ~-- T T- rr T r! T I ---

........ ... ... ...


.............. .....

90... . . . . ..... ... ... ... ...

800

700..... t .. ....
t....I........ ... ...

..................... ....
....... ... .... ....

1 ...........
0....
0............................................. ......

500

... ......

300-/
....... ....... 30a p
................................

200 2.6 amps

5000
Appendix D: Experimental Data Plots for Joint 2

3500

...... ... ..

a ........

.a ... ... ... ... ...

0. ap
30 1...
:...4.........
..... 2........... 4........j
3....
) ... .....
...... ....
3. amps

250 .. 2.1
Appendix D: Experimental Data Plots for Joint 2

350w-----
...- ...... ... -- ... ... .... .... ...

I. .... . .... ............ ................


4.... 4..............
... ...

+ 4

i ............
35......... .......
.. J ...
......L....
r ;1
..........-
i...-f
-..............
r....j....
............
......... .............
....
...............
...........
...

...
....
.a........ .........
...
.................

358-J- 1 5 4 -

o c 0 .... -..... !-' -....


-.... ... ....
.... ... ---

.............. ........

................

;.... 358..1... 1... .....


............ .......

.4.......
............... 4 -4- 4 - - - .-..

.
..................... -

lip.....
V 358
;_-
....
....
............
T

....
....
.
....
T

........
....
..
..
I7I

3582 -rr r - 1

4...... ... .....

........ .... ...... r *4.... ...

0 12 3 4
time (seconds)

D4. 0ilm
on [tLtV'0~ y ýt' -e, ole

252
Appendix D: Experimental Data Plots for Joint 2

20

±...............................................
. ..

.. .... ... ... ........................

E . .......... .............. ........

- .Q ;........."
7wU.7. .....

..... .... . .

........... ..........................

a 7- 4.... 4... ...............

... ....... .. . 4......... ...... .. .. .

o0 .............
. . . . .....
.............
O

20.. .............
... .....
2 ....
.... ......
.4................
0V
~~ ~
. ~ ...
~ ........
~ ~ ........
tm (seconds)............
........ ........ ....
....
.......

.........T ............
.... .... .... ........ .... ... ... ...

..
....
.... .........25 3
. ....... . ....
.... ....
..
Appendix D: Experimental Data Plots for Joint 2

0.15
.;.
0.1~ ~ *..* .**4
--- . . . . . .. . . .
4)a)............

.....
0..... .....................
. ...... . .............. .................. ..
....... ............ 4.....4.. .4. .

0005

05
Appendix D: Experimental Data Plots for Joint 3

160000 -Y-== ~ r! ! T ~ T

0.60 amps

140000 ................

.... ..... .....

1200 00 -......... ....................... :...


....j..... . ........
........

....
.... ...............
....
......... 0.56 am ps

100000
0 0.52 amps

0
.
.... .... .... .... ............

60000 /........ .4 amp


0..........

:1..................
0.40 amps
00
60
....
---..
.....
i..... .... ....
........
.... .............
..... .. ps....
0......6...am

5............
Appendix D: Experimental Data Plots for Joint 3

50000 -T..-11

....
;....L... ......
................ 4 % ... . ... . f 0.60 amps ..

....... ..... .......


...............................

40 00...
. .. . ... .......- ....
:...

*40000.
................... .

..... .. . .

0..... ....... .... . . . . . . . . . . . .p

....
. ...... 4. ............ ....... ..

0.48 amps

~~~ ~ ......
......
... ~ ... ~ ~ ~ ~ 04
~...........
....................... amps
.~~~...~ .......
~ ~ ~..........
~......
... ~ .......
~ ~......~ ~ 04 amps...
amps
0.28....

0.
0 .... 1...... 2... 4..........
~ ~ ~~~~~tm
.5~ ...
(seconds).... ........
. ... . .6 ..
. .. .... .... .. .. . 8 a p

..........
I... ...... .... ..... .2....56..
Appendix D: Experimental Data Plots for Joint 3

0.8
0L 11,1111"

70.
.. . ......... .

.......
...
0.
-T-a
( U. .- . . .. . . . . ... ... . . .. . . .. ... .. . . . . .. . . .. ..

-CO 0 .1*

0 . ........ .......

E . ....... . . 4.. . . ... .... ......... . ...

0.

CL

0
0... h...
. ....... ... ... . ......
.....-..
.... ...
..... .
.

(U ............ . .
.... I........
..... ..... . .. .
......... ..... . ....
. .

CL ... ... ...


E ....... ... .... .................. ................. .... ... ........
6a . ...... . I4

4Co* ..... .

0. ... . .... .. ... . ..... .....

C25
Appenix
D Exprimetal Data Plots for Joint 3

-200
....
... ....
....
............. .... 0.28 am ps

-400 Ž-. 0.40 amps

-600
..........
..................
. . ...........

i.......
-800. .... ......
... ..... ....... 0...
48..
amps...

a...
* . ....... ...

-12000.52 amps
4 .........
4... ... .. ....

-1800 ............
:................... ...... ....... .......
4........... 4.4.4.. ..... .....

-140 0.60 amps


...................

0.......
1......... 4
..............
.... ....
............
time...........(seconds)
.. ...........

-1600~ ~
........
. .... 0 ....... ...
S...;...O...L....L....L........L...

........
....
....
....
....
....
....
........
258... ............
Appendix D: Experimental Data Plots for Joint 3

.... ... ... ... ... ... ... ....... ........... ... ... ...
....... . ... ... ... ... ... ... ... .. ..
0........ ........

o..........

0.60 amps

.. .... ... .4

-650. J ........ ....


....
....... _ __ __

0 1...
.... 2..
... ...... ....... ......
...... 4......
.....tim (seconds)..
.... ........
...........

0 0.0.0.0.

2259
Appvendix D: Experimental Data Plots for Joint 3

0 ii1t r r.ri-
9.~ ~.4.....I
4warw wn'i*r*4
&.. . . ..........-..
.. ........ - -... .......... ....
............. ....
. 4. . ................. ...
.......... ......... --- 4... 4... 4 4


0C7 .. .. ...t...±......j... ....... .... ...i................. ............. .... I.................

S4..
. ... 4.. .
I.......

E
.-........
L..... .....
... ..... ... ..... .4
............ $
........ .... ....... ..

......... ................. .........


....... ..... ............... .

-70

.... . ......... ......... ..........................


4.........

708K
0-.
. .............. .... ... ... ............ ... ... ........................

E .~~~~ ~ ........ .............J ....... a.....


.... ...L....... L
. ............. ....... .............

6cc

-7038 ?

E.....................4..4.4
708

a........ 4......4. . ..... .... ... . .. 4 .... . . 4..

-260
Appendix D: Experimental Data Plots for Joint 3

......... ........ ... .. ..........

'U.

......
-U---------
.. . ... .. . ................
0. ... ..........;............. ........ ...
E.. ..... 1........
........ ....... ...
..
.. .. ... ... ...
. ............ ..
... . . ... . . .T. . .

0........ ....
T.... ....---
0. .. . ... .... ........ ... .. . ... ... ........ .... .... ........ ...

........ ........ .... ... ... ... ... ........ ... ... ...
. ..... . ... ........ .... .... ........ ... ... ........ ... ... . .
....
E......... .... . .... ...
0... .....
0MP 7 ... ............

...
...
........
........
.a............. ...
....
........
0 ... ............ ... ....
j.... ........ .. ....
.............6............
.... ....
........ ....
.... ...
.... 2....
F~ ~~tm (seconds).....F'7--T-7- ...

...... .... .... ......... .... ....... I.............

2 61.
............
........
............. ............. ....
...
Appendix D: Experimental Data Plots for Joint 3

0.15 .1r r1 r 1

S . . .......... ......

-~~.. 0.......4
. 4

S-0.15.. .....

0
~ 0.15 ....... .. . - . ..
i

-0 .25
0 12 34
time (seconds)

262
This appendix contains a complete collection of all of the dynamic-response plots
generated for each testing station using the harmonic-drive model with friction, compliance,

and kinematic error. This model is derived and these results are discussed in section 3.6 of
this document. The format of these illustrations is identical to the experimental time-
response results presented in appendix D so that direct comparisons can be made easily.
Using the numerical simulation described in section 3. 1, values for the position, velocity,
and torque in the model were calculated, and from the input and output position data, the
dynamic position-error across the transmission was derived. A summary of all of the plots
shown in this appendix and their corresponding plot numbers is given in table E. 1. For
each of the plots listed in this table except the dynamic position-error figure, time-response
curves are plotted for several different motor-current step-commands. Depending on the
visual appearance of the data, the different response curves on each of these plots are either
plotted on a single axis or plotted on separate axes. For the sake of clarity, the output-
velocity response data for each harmonic drive is plotted in both of these ways. In the case
of the dynamic position-error plots, a single time-response curve is shown, rather than
several, from which generalizations about the behavior of dynamic position-error in all
operating ranges are made.

263
Appendix E: Model 4 Simulated Plots

Týible E.1: Summary oll simulated finie-tesponse plot 11LImbers

E.1.i E.2.1 E.3 .1

E.1.2 E.2.2 E.3.2

EA .3 E.2.3 E.3.3

E.1.4 E.2.4 E.3.4

E.1.5 E.2.5 E-3.5

E.1-6 E.2-6 E-3.6

E.1.7 E.2.7 E.3.7

E.i.8 E.2.8 E.3.8


- - .....
--

264
Appendix E: Model 4 Simulated Plots for Joint I

. .. . . . t.. ....... ....... .... 6.. a p


t....I....I...................
.....

80000 6.0 amps

...................................
...... ...
...

80004 4. amps

. . . ...
0~.... ......
..........

. . . . . . . . . . . .
. . .................. 4.. a p

6 0000 ........ I...

............ I........ . ... ....... ... .4 amps


3.

42.8 amps

200003.4 amps

0 ....
40.... ....... . .265......
....................... ...
Appendix E: Model 4 Simulated Plots for Joint 1

25000 ! 1 1 1
. .... ..
..... ....
.......... .......
.... ...........
.......... 6.0 am ps

K 5.0 amps

20000 -.... .

4.4 amps
0
*15000 -

*...
... . .. 4.0 amps

3.6 amps
CL

. ... .................
.. ........
..... 3.2 am ps

hm~mngma~f~h~ifltl~eakm2.8 amps

500.....-
......
.. ......
.........................
IAM I M A.. .......... ........ 2.4.am p
2.0 amps

5 00 * .....
4~--
J... ........ ........
0....i.... ...

266
Appendix E: Model 4 Simulated Plots for Joint I

6.0 amps
5.0 amps

E
* 4 ~4.0 amps

. .- 3.6 amps

0 3.2 amps
E

S- 2.4 amps

2 ~ 2.0 amps

2- 1.6 amps

1............... . .-.......... .... -

o ............... .....I 1. L ....


].........I I A

o 12 34
time (seconds)
Firur
E..3 Jon smlie tprson 0nu-urn

267
Appendix E: Model 4 Simulated Plots for Joint I

..... .-..
. . . . . . .
. .
.oo..).
~~~~~~~....................
. . .
...... ..............
............................. ... 4

~~~~~. . . ....
.......................... .....

S4 ........
4.... ...

S4.4 amps

S .. ............... . .

30:.
. . .

I. . .

...
. .

....
........
.

~~~~~~.
4amps

.........
...... amps........
36...

200 .. ...... /.......... 326 amps


. I
....... . 4 ........

2268
A ppendix E: M ode! 4 Simulated Plots for Joint 1

6.0 amp

5.0 amps

0 4.4 amps
140

010

4.0 amps

40

20

1.6 amps

200

12 3 4
time (seconds)

Fiur E.,5 Jon 1 S~ptvlt siuae steprespnse

269
Appendix E: Model 4 Simulated Plots for Joint 1

150 fuwm~ 4 L tJ~frlP ,r

..................
..........................

U!
t..L. . .......... £...
. ....
....... . .
.... .... .... 1 . ... ........

158i1

E........
1-.NO. .4 .
.............

Ea
A(PP .........
... ...... .. .. ....:................. ......... ........ ... ...

.................. .... ........ ... ............

15

V -....... .....

. . . 4..
...
................... .... .... 4........ .

E
cc

15 ££ j i Lr- -

a. .......... .......
................. .......................
E. .......................
EU ... ..........
0c
NY

0o 1ls I3 4
15e(ecns
... ........................
.......... ... ... ......... ... .... .... 6 ....

.............. ......... ...


0.............
.... .... ;..27
......
Appendix E: Model 4 Simulated Plots for Joint I

T
80 ~ 1 r f 1
.............. ....... ........ ... ...... ......

Co . . . . . . 4........4. i.. 4. . .---

E -- "-- I
-- -I' - . 46LM&A I I

0d

.. .. ........... ..................................... ... ... ..........

v 0.

CL
E0i".-ý~it"A

Oa~~~. I 4 . ..................

cc0.

-8

co~~tm p (seconds)1111
Go
.... ........ * SB
MINTA*S

C~i . . . . . . .271
Appendix E: Model 4 Simulated Plots for Joint I

0.2
...... ......... ............. ..............
.~.. ........ ... .... ................

Z
-0.05

0 ..... .

272
Appendix E: Model 4 Simulated Plots for Joint 2

4.5amps

160000
.. .. .........

140000

..... ............ 3.8 am ps

120000......... . . . ......... ... ...

820000 /..3..0
CO

400

2L
0000 . 18 amps.

.... ... .......


.

S 052.66amps

273..
...
...............
............
...
Appendix E: Model 4 Simulated Plots for Joint 2

4.5 amps

..............
........
.... ............... .... 3.8 am ps
.......

40000

.. ~ I .. . .
.... ...... . 4..
... ....... ... ............... ...

~) 300003.4 amps

20000

10000................ ............... .......

... .... ....


........ ...........
........2...74.. 26 a p
A ppendix E: Model 4 Simulated Plots for Joint 2

S.4......... .... . .*.. .4..


................ .
....... .....
*..--... I................

. .... . . .t..- . .
................. ..
.........-..... .
..... ...

4 .... .....
:---
4 -*- *-4 - ' ~.-..-. 3.8 amps
4.5 amps
.................. .. ....

-- 3.4 amps

E . . ..... i... ... ....... .............. .....................

* ~1~~4 ~2.6 amips

0
E 2.2 amps

1.8 amps

. .. .. . .4. .. .. $ 4....

1.4 amps

1 ....... ....I.4.4....... . .4.


9 ................ 4..*...
..... *......
.............
...

.... . ...... .. .. .... 4 . .

........ ...
.I.4................
4..... .........

o............................. .... .L.................


.....

012 3 4
time (seconds)

E23 eilr
Jon2 nu-m-n iuie tpesposs

275
Appendix E: Model 4 Simulated Plots for Joint 2

45amp

1000

.oo........ ..............
4....---- .....4....... ... ..4. .........
4... *.. . .

.......
4............ 4.... . . ... .... ........ -...

900.. ...... ................ ..........................................

800 /3.8 amps

700..... . ..... .....I. I................................

4 .I ...
I...... /.....

~.
.
.... I .
........ 4. 4....
...... ... ... ... .. . ...... . .... ......... -..

70 .. *.4 ... 4...... . 4..4.... ... 34.amps

..................

.. .............. ........... -

500 /X 30ap

............
4.... ... . .. .
.... .......... 4......... *.. .
..........
II..........
..... 30 a p

.......... ....... 4.... ................... ..

....... 4 . 4 ..... ... ... ...... .... .......

300....................

..... ............. . .... 2 2 amps


200..... ...........

. . . . .276.
Appendix E: Model 4 Simulated Plots for Joint 2

3500

.. . . . .. . .) . 4............... .. ...... ..........

.4 4.... *.*.............

-- 4.5 amps

30

200~~.. 4 ...........
........ ...........
.0............. .......

2 0 .......
:........
aD....... .......
................ .... .. ...

100amp

0 ....... r... .................


... .... ............. .......
0... 1. 2... 3... ........... 4...
............... ....
........... tim (aeconds)......... ...........
T

ISO 277 3.0


Appendix E: Model 4 Simulated Plots for Joint 2

4 ,49 4 ..
..... T ..............-
4........

4......
.............. ....... I........

358 L
Zt2I~'y
1 i J . . ......
... .....
L . .....
L..... ..............

a E.
. . .
4*****
......... ...........................
~.
. .........
.......
4

..... I.
... . I ... I...
....
.............
4

....
..............

..........
-...........

358.......T........j.....TT.
T... I....j..
.. .... t
..............
.. .....
.... t L I T.T.T.T.

......................................

0 . ......... ...
aa ..........L.. . .1 . . . .
.... ...... 1---1--
-- - .... ........

o.. a. ...........
......

3278
Appendix E: Model 4 Simulated Plots for Joint 2

20 ...
...............
.......
.......
....... .......
!.......
........
........ .......
.........
.......
....... .............
........ .......
.......-------
. . . . . ........
.
. . . . . . . ........................ .
........
........
aE .......
.......
cc 0
........ . . . MIIT.T.WT
...
.............
t .......
.......
....... .......
.
................. .......
.......
. ... ........ L.......
........
........ ......... ................
....... .......
....... ........
................
. ......
------------- ......
........................
.........
.......
........
................
........
........
.......
.......
........

.......
................ ........
.......
................... ........
....... .......
....... .......
....... .......
........

. ......
..........
CL
......
a
0

. ....... :.......
...... .......
..................
........ ......
........ ....... ..........
...............
..... ....... ..................
....... .......
.....
.....
........ .........................
........
.
........ .......
....... ........
........ .......
........ ....... .......
........
................
.....
................ .......
.. ........ ....... .........
.......
................
....... ................
.......
.......

.......
........
......... 1 .......
....... ................
........
........
........
....... ........
........
........ ........
........
....... ........
........
.................
.......
.......
........
........
.......
.......
.......
....
........
.........
E ...
Mkb.:ý " .""
cd 0
.....
.......
cr) .......
....... .......
.......
........
.......
.......
......................... .......
....... ......
........
................
:f --...... .......
........ .......
....... .......
........................
.......
......................... ......
.......
.................
--------
-- ....... 7r......
.........
..................................
........
..............
_E .......
.......
.................. ........ .........................
........
........
.......
........
........
........................ .......
.......
........................
v.........................
?L 7.......
...................
....
.......
.........
.....
................. ...............
.......
........ ........
.......
........
........
........
.. ..............

CO) .. .......
.. ......
......... . . ...
. ..
..... 4 .......
4 .......
............... 4 .......
4 ....... 4z.......
t.................
*.......
4 .......
................
............... .......
................
.......
4
.......
............. 6.......
........ t....... ........
....... .......
........ .......
.......
CL T .. ....
.
........... . -I---i .......
......... t .......
I ....... ........
........

0
I ......................
....
............
-*
....
.......... ......... I .......
.......
....................... ....... .. .......
....... ........................
................
r........
...................
.. . ........ ................
...... ..
....
........
.....
. ................
E 0
rMUMMM
cm ........
....... .......
........
............... ........
........
.......
.......
........ ..........
.. ........
.......
.......
I ...
................
....... ....... ......
; ..... ................
.......
........
.................
.......
.....
. . ................
. . ....
. .. .......
........
.......
.......
......

Al . .......
. ....... .......

.......
0
C4 . .......... ....... ........ I .......
......
..... . .........
.......
. ........ .......
................
.............
.... ......... .......
........ ........
............... .......
....... .......
................ . ......

... . ........
. .......
..................... ...............
.......
....... ....... ......
.......

.......
......................
........................
. ....... . ..
. ....... ..........
.........
....... ...

................ .......
............. ................
....... .......
....... ........
................
.......
.......
................
.......
....... .......
......................... .......
............... ........
....... .......
................
.......
.......
.......

0
L........
.............. ........ ........
....... ........ ; .......
.........................
.......
................ .......
. .......
........
....... .......
....... ...
................ .......
.......
.......
................. : .......
.........
....... . .......
........
........
........
.............
....... ........
.....
......... ......
.......
.......

-20 L E I
-- ----- ........................
i i i __L I
0 2 3 4
time (sewnds)

Firpite E 2 7: Joint 2 OtOPLO-t0t(ILle sinitilited step-tesponses

279
Appendix E: Model 4 Simulated Plots for Joint 2

0.3 ! T

. ... ~. -..... ...

.t. . 4 . .4. I.... 4....


.... ..... .-.... .. ....
..... 4. .

0 12 3 4
time (seconds)

280
Appendix E: Model 4 Simulated Plots for Joint 3

140000-
0.560 amps

4 ..... 4...4.......... ...

120000 ............ ...............................

0.48 amps

8000C /...i0.44 amps

60000 ...... i0.40 amps


¶I/~ ~0.36 amps

4000

281........
Appendix E: Model 4 Simulated Plots for Joint 3

50000T T7!] TT 1

0.60 amps

.4.....4.
....... .. . .. . . . . .. ... . . . .. . . . . . ... . .

...... '....
... ... ... ... ... ... ... ....... ... ....... ......

400 . .
..... ......... ................... ........... amps
056..

30000-

t ... ........

0.6 ap
20000.....:
.... .- : : 044; amps:

.
.............. 0 0 a p

...........
............................. 0.28.amps

0 ..... tt ...i .....


....... j . i....j .... j.......... j . . .
0-%
1.. 3mp4 ...P052
........ ~tim (secon..L....ds.)..
....%&. ...
.....
~...~~~~~
...... ~
....... ... ... ... ........ ;....... 0.. ........... 0....

........
....
....
...
28...
2....
...
...
... ...
.......
Appendix E: Model 4 Simulated Plots for Joint 3

0.7 T 1

0.6
0.60 amps
0.56 amps

0.5. ...... ...


........... ... .... ........ .........
... .....
0.48 amps
05 ................... .......
4.... ...
............................. .......

-0.44 amps
.a . .
E 0.4 - -------- -b-----0.40 amps

* -P't-P
9Y-1 Y-1--¶-r.t-r.-,--t-0.36 amrps

0
E 0.3- ..... .......
...... ----- .......... ......................
&L 0.28 amps

0.1

0 -£ 1. 1.... i L ... ... ........


............. L......L.
. .... ...

0 12 3 4
time (seconds)
E13 0I;Lt
Jon0 1P tC rei 111ia~ tpIS OI

283
Appendix E: Model 4 Simulated Plots for Joint 3

0 . r1 7- T1f1

..................
..... 0.28 am ps-

... .... ...


... ....... .-....
...

-600................................. 0.3 amps


........

0.40amp

....
.... ........... 0.44s
. *........ amps

......
o...................... ....... ...... ...... . ...... ..................... 8ap

0.52 amps

-18000
4 . I.....I ....

0 ........ .... ....


... ......... ....
.....
....
....
... 4. ....
.... ... p
a ps.4
0.60.......am

005 1a2p3s

-1284
Appendix E: -Model 4 Simulated Plots for Joint 3

.....
......... ....... ....... .....
........ ....... ...........
...... ... .......... .. .... ....... ....... .....
........ ....... ... ... 28 a....
ps...
................. ... .. ....... ...... .... ...... . . ........ ....... ... ................. .... ...

,. "....4...•.......• ..... .... •... ......


3...4........... • ... 4 " ...... .......
' .......
"•. .....
• ....

-50 .....
.....
. ......... . .
.. . .. . 4.......
..-. ....
..............
....
. ......... . 8 a p

. .... .... .....


...... ...... ....... ...... ..... .

..... ......... ........ .......


....... ...... .......
. .......... ....... .............. ....... ....... ...... ....... ...... ........

g. .. ...... ....... .......... ......... ....... ....... ....... ........ ......... .. ........ ....... ........ ..... ......... .
o0..2 ..................... ...... ...... ....... ....... ....... ....... ....... ...... ...... ........ ...... ...... ....... ......
....-.......- .... -.....-.. ..-....-..... ....... :....... ........ ....... _.......... ..... ...... ..... .. .
.... •
.. ... ......
... ........•,.,..•.•......
.... •...... .....•. ......... ,....•....
. . ..4...... . ...... . . . .. . . ..... . ...... ... ... , ..... • .... ... ......
. . . . .. . . .. . . .. . ... . . .. . . .. . . .
0 .3 a m ps.•...

. ........... "....... ..." ".. ....... .'......."...... ".....


.. -. :...... ...... . ..... ....... r...... •....... .."......
........
:. . ... . ....... ...................... ...... L .......L. ....... ...... .......
÷.......
•......... •......

.......
.
0~~~~~
0 -250
......
.
""".....
..........
..
...
...
... . .....
.. ... ~
"......•.......3 ...... .3......"....... '.......3 .......' .......' ...... ....

.......
"."' ......
:.......
:...... .3...... '. ......-.
... ' ... 3... ... •...

' .......' ....... '........3 ....... ";.......;....... "....

-45 ..............................
............................... ... 56.a..

....
,.....
....
,.....
' . . . ' ...... ........ ....... ....... ....... ....
...
...
...
...
....... ...
.. ...... ...... ...... ....... ....... .'
...... ...... ....... ....... ........ ...... .i....... ....... !....... !...
"I'
' ' .... ...... • ....... '3 .... ...... • ... .. "....... ...... . . .. ...... .•...... .......• .......÷ ....... ....... . ....... ....... ....... ..
-5 0 ."..
.... ....... ..... ...........
............. &.........
.'"..".. ......
.................
..... ...... .... ..
S•.~~~ ~~.....
• .......
. .. ....... ......
.. T...............
....... . ...... ......
T ..............
...... . .-
S.
. .....
. ..; . - . . . . .... . ...
S...•.... ... ... ----..
.... •.... ,... . ... •...... . ....... .. ....... ÷
.... .... " .. - '. ----'-
..
................. 0.52 am ps
...... ....... •...... ....... ..,..... ...... •....... . ...... .,,...... ...... .,
.......• ...... . .......$...... .•...... . ...... .,...... . ...... . ....... ..... .
0.... .....
•.... ...3......'3 ... .... .. ...... ;........ ...... .3......'...... ;...... '3...... ...... -....... "...... ;......;.... ... 3...

S...
....
•.....•.... • .... •-... -. ... ..... .., ...... •....... •....... •....... •....... .i
...... ....... ."•......•. ...... ."•...... .;,....... ......
.... .. ........... ........... .... ..... .... •... .
4650
..
....
..
. ..
...
.. ...4..
..
... . ... ... .... 6 a p
.(...se.c
............... o...n...d........s...
)....
....
.......
... ...

...
.........
... ....
L....
.... ...
....L...
L........
L....
L....
......
..
L.....
..
Appendix E. Model 4 Simulated Plots for Joint 3

r -b . I................ .... .

I............ ... ............


........................................

70o
.75. . . . . . ...
. ...
.. . ........... ....... ... ....... ....
:... ... .. ...
... ......................
............ ... ~..............
............-............. .............

1
....
..... . i .... ... ........
. ... ... . * ..... ....
.... . . .... ...
L.... ....
a 9
E........... .. ...
. TIa - - ..... .....

070

L........ a.........
...
.........
...
..........
........
..................

-7 J
0........... . L....
............... ...... . L......
............................

- .. . ................. 4 ....... ........ ....


...... .
.......... .. 4...
...... .......

.708 .... ... i ..... t........ I


......... ..........
-.... J.. ..... A....... .

708
4 . ... ....... . .... ... ... ........ .... ... ... .... ........

&........ -...
L
9.
....
.......
........... . .
......... .. . 9......

E7
08
-....
.............
> r....r............. . ...r....r.............. ... .

o.. ............ ........ ...


.,.... ........ ........... ........ ........
0 ... 1... 2... .... .... ... 4........
............ (seconds)
time..
.................. ....... ............. ...
S ......... .... ........ ... ... ... .... ... ...

...........
L.......286..
Appendix E: Model 4 Simulated Plots for Joint 3

. . ..... 4 ...........
4 4.4..........

4..4.................. ......... .... . ....

E .................. 4 .

I I.....
... .... 4 .... .... .. ..... ........ ... ... .......

........ . ........ ..................


......... .... . ... .... ......... 4 . . . ....

.-...
0.

CmJ .4 . . . . .... 4.. 4 . . ... ........... .......


U? .... ............. .... .... .........!.............. ... .......
.............
0........ ....... 6........................... ... ... ... .......

I ............. ... . .... .... . ... .......

ED .. . . .4... ..................... ........


IC. .-

... .. . .... . ... ..... . . .... -.-

. I
.4.4........... .4...

S 1. ...... ........ .i.... .....

.4........ 4 . 4

O 4 ~... 4...... . . . .

t..... ....
................ ......

2 E . 141.....

V ........
..ln... . ......
.........

0......-........
F.......r -

.........;.... ............................;...................:-
.
....
0 ... .......... 1......... ................................3 ..................... 4
............ time (seconds)
............. ........ .............. .... ............
E ......... .... ......... ... ..................... ............
S

Cd2-W
Appendix E: Model 4 Simulated Plots for Joint 3

0~0.2-. T-+-r

....- .4... .
i ........

5......... ....... ....

o0.1

0 0.05 . ..1. .....

0 . . ....
4.... ...... .. . ... *....... . . . . . .

time (seconds)

Fi~~~~~~~im " e~~~~ ~I E. 11,,8 0 vi i p s to it 60 r i 14 ý

288
This appendix contains a complete collection of all of the dynamic-response plots
generated for each testing station using the harmonic-drive model including gear-tooth
geometry. This model is derived and these results are discussed in section 3.7 of this
document. The format of these illustrations is identical to the experimental time-response
results presented in appendix D so that direct comparisons can be made easily. Using the
numerical simulation described in section 3.1, values for the position, velocity, and torque
in the model were calculated, and from the input and output position data, the dynamic
position-error across the transmission was derived. A summary of all of the plots shown
in this appendix and their corresponding plot numbers is given in table F. 1. For each of
the plots listed in this table except the dynamic position-error figure, time-response curves
are plotted for several different motor-current step-commands. Depending on the visual
appearance of the data, the different response curves on each of these plots are either
plotted on a single axis or plotted on separate axes. For the sake of clarity, the output-
velocity response data for each harmonic drive is plotted in both of these ways. In the case
of the dynamic position-error plots, a single time-response curve is shown, rather than
several, from which generalizations about the behavior of dynamic position-error in all
operating ranges are made.

289
Appendix F: Model 5 Simulated Plots

Tible F.1: SLImmary Of SIMUlated firne-tesponse plot numbers


.........
....

F.I.1 F.2.1 F.3.1

F.I.2 F.2.2 F.3.2

F.I.3 F.2.3 F.3.3

F.1.4 F.2.4 F.3.4

F. 1.5 F.2.5 F.3.5

F.1.6 F.2.6 F.3.6

F.1.7 F.2.7 F.3.7

F. 1.8 F.2.8 F.3.8

290
Appendix F: Model 5 Simulated Plots for Joint I

6.0 amps

......... ........................
..............................

80000 -7..

0 ..................... ... 4.4 am ps


. ..................

60 0 :
......... / ...
....
.... L.....
....
....
...................
000......... ......... ... .......
... amps.
40..

................
....
..
..
...
........ ...
....... ...
......
...
...
.~~~~
. . 6 amps.

20000.................. ...............

.........
......
291. ... ........ 44 a p
App~endix F: Model 5 Simulated Plots for Joint 1

25000 TI T

~~~
... ............ ... ... .......
........ amps
6.0.....
5.0 amps

...........

150004.4 amps
CID

4.0 amps

3.6 amps
OIMMUM
R... mMuIww 32. amps

2.4 amps

. . . .. amp
~ * ~' -~-~' 2.6 amps

0 .~ . . . . .~ .. H .0 a p

0 12 3 4
time (seconds)

292
Appendix F: Model S Simulated Plots for Joint 1

- - 5.04amps

Cu 4 ~6.0 amps

4.4 amps

o ~ .~.-3.2 amps
E

~ 2.8 amps

2.4 amps

2 2.0 amps

*1.....--'-- -1.6 amps

o0 2 34
time (seconds)

293
Appendix F: Model 5 Simulated Plots for Joint I

I I
4......... 4. 4 ... ............... ... ... .
4...

40 ...................
......... ....
.... I
.....4.............................

............
............. ...... ...

- ... . . . . . . . . .

00 *........ .......... .......... am ps.......


44..
......... .........

4.0 amps

..
...................... ...... 4..........

.............. 28....amps.

100

~ ....-
............... am ps.....
-... 6...

0 ....... ...... L....L....L............ ....... .......... ........ ..


....
0.. 1 2... 3 -- ....
... 4...
4....
........ 4.t..im (seconds)
... .... ....... ...
. .....
...............
..... .... ........-.. . .. . ... ..0 ....... ... .... 0...... .... ... 0

........
........ 29 4 ....
.... .................. ...
A vpendix F: Model S Simulated Plots for Joint 1

160 T1 i1 -- 1 T T r 1

t9~ft$fffff~ffftff 6. amp
6.0 amps

140

120 ...

0)
CD

80
4.4 amps

60 ........ 4. amps....

.............

40

40

295
Appendix F: Model S Simulated Plots for Joint I

150

. .......... ....4....... 4

158mli

01 5

...........-........................
....
...

S4. .
... 4 . 4.... 4. . . 4 . 4......

..... ..... .............. ..... .... .......


....... ..... ... ... ........ ......... . .... . ..... .... . .. .

CL.... 4............
....................... 4..........4
.... ... ...................... ... .........

ccJ
Q .......
1 . ................... i........ ................. ...J...........
..... ..... 1....

158

E ...........

. . . . . . . S..O

C29
Appendix F: Model S Simulated Plots for Joint 1

80

0.......... . . .. . . . .-. ............-.-.. .... ...

...................................... ....-.......

E0 .4 4 4..

ccJ

-80 ..................... ...................... ...........


.. 1 2 3 4
........ ......
time. (seconds) ....
.......... ....
....
.......
........ . ......... 0.. ... ........ ... .... 00...
... ........0...

297 .... ........


........
-Appendix F: Model 5 Simulated Plots for Joint I

0.

-0 0.

S&.0.05 .... .... . ............ ....


?....

0 12 3 4
time (seconds)

Figm 11cnt,jj~tj-j(,-I (yll~mic po~iti n eior it 1.0 imp

298
Appendix F: Model 5 Simulated Plots for Joint 2

4...4.5 amps

. 4... ....
.......
..................
. .....

140000-
.................
........... ..... .... 3.8 am ps

120000........
. ... ... .................

1200

E 0....0........0........-....
0 00 ................. .34..... ... .. .4 aamps....
p

80000 - ......... .............

I.....
......... ...
.... amps.........
30..

26 amp

2E2aps

000
0.. 1....... 2..... ............ 4
(seconds)...
....................
,, 0"0*'.* ..I 0-
..... ... ....... S
0 r ,**T

299amp
Appendix F: Model S Simulated Plots for Joint 2

5000 -

4.5 amps

......................
........... ....... ....... ....... ....... ....... ...... ....... ....... ....... 3 amps..

.... ; ............3.8 am p

............ ......
... 4 ...
. ........................... ............
0t

0........ .......
.......... ........................ ....... ..... ....... ....... ....... .......
4'0000 .... 34 amps..........
a... .. .. .. .. ...........

.
.... ...... .... ..... I. . 4. .. .

.. .. ... ... . ... .. .....

0.

30000 :.......
....
....- .....

3.4 amps

20000
Appendix F: Model S Simulated Plots for Joint 2

.. "....
.. ... ... . ... ........

. .. 3.8 ams
4.5 amps

-- 3.4 amps

. . .
. . . . ... . . . . ...

i3 ~ -3.0 amps

* ~ 2.6 amps

E . . 2.2 amps

2....................................
1.8 amps

........... .. ....4..... ........

1.4 amps

......
..... ....... ... ....
.....................
..... .....
.......... ...............
I.... 4....

o. ............... .... .... .... ......... .................. ...


....... ......J. ........

0 12 3 4
time (seconds)

Fiur F..3 Jon 01P~-~rltsmltdse-epn

301
Appendix F: Model S Simulated Plots for Joint 2

.....
............ .... 4.5 am ps
4 .... ... .-.. 4.4..... . .......

10
0 ..... .4..... .4......... .....

4.4 4.4............4 ...... . . ...

900 ....
4......... ..............

800.......... ........................ .......... ... ... / am ps...


38..
........................ ...... ..... .....
.....
700............ . ......
........-. -. .... 4i.................

........
4... 4.
....... ... .
....... ..... I..4....
....
... ... .... . .... ......

0~~~~.1.-.. ,. ... ... 348 amps

g0 -. . . . . ....................... . . . .

..........................................

a / 3.4amps

...........

30 .........
....
.... m..

100 - ... 4.........

.....
.... 1. amps.
0. ...... ... ... ........... ......
0... 1.. 2... 4....... ....
~~
300 ~ ~ ~ ~ .......
~ tm ........ .. 26a p
.. ......
..............
(seconds)........
........
................ .... .... ...... .... ... .............. ... S...

.. ...
....
........
L....
..... 2........
.....
..... .30
Appendix F. Model 5 Simulated Plots for Joint 2

05
................. ...
0
. . . . .
. . I I .

.0 ... .............
...
0 ......... .
0...t... ........ ....

300 303 4.5


Appendix F: Model 5 Simulated Plots for Joint 2

350 Ir V
I...... ........
....... .1.u......
4 .. . .. .. . .. .

.........................
................. ....... ....... ............. ........ ....

358 I

:.... .... .... . ............. . . .


cc...... .
...... .... . . . .
...... .

...... ....... ................ ........ .......


0........
............................ __ ......_ _ _ _ _

* 358
.4 . ... . .. ... . . .... . ...... .. ... .... . .... .. ... .. . .

E ~ .....~
~~......................
~ ~ ..... L L............

0
.................. ................ ..... . .... ... ...

01
358............
13...
....
....
...
...
....
...
. ..
......-.....
~...a....a ......
.-..
...........
.......
-...............
......
...
....
......
...
...l
E
....
..
...
......
.... ......
... .
- J..
............
............. ....
....
...............
__-Appendix F: Model 5 Simulated Plots for Joint 2

20 ......
....
......
................
.......
......
......
......
...... .......
........ ......
.................
............
.... ........ ....... ...
........
........ ......
....
U) : .... .......
........ ........
.......
........
.................
............... ........ ..................................
........
.......
0. . . . . . . . .
E
cc 0-
........................
..... ....... ........
........
.......
.. .... !........
.........
.........
...............
. .......
...............
...... ........
.......
......................... .......
........
................ ...............
........
...... ........
................
................. ........
...................
........
..........................
......................................... ...
. ..

.......
... .......
.........................
........ .......
.................
........ . ........
.......
......
...
....... .......I.................
........ .......
.......
................
...............
...... ..............
........
................
....
...
...
............
... ........ -
........
......
E .....
fla 0
Cq
.7 ...............
...........
CO ....... ................
........ .......
......... ........
........ .......
.................
...
.......
.........................
.......
.......
.................
.......
.................
.................
.
.......
... *........
............................
.......
....... .........
........
.......
.......
.............................
.4 ........
.......
....... ...... ........
........ ....... .................
.......
. .......................

....... . .......
.... ..... .......
....... ........ i .......
........
........ i ....... ........
........ ....... .......
....... ........

E 0
uilaizd&L SWAMI
-
.... ..........
......... .............
.....
.................
.................................. ..
..............
C6
..... ..........................
.......... ..........
......................
...............
.. ........
........
.............
.......
........
........
........
.......
................
.....................
.......
..........
------

...... .............
................
.......
........
................
.................
........
................
........ -
...............
..
2i ........ ....... ................
................
.................
..............
............................. ....
....
......... ...
.... .................. .......
........ ....
........................
......................
Cr E
cc 0
vi .................
. ................
................... ......... I........
...........................
........
........ ... ....... ........
.......
.......
........
.................
.......
.......
....... -
........
......
CL .t::::. ....
...... ........
........
.......
........ .........
........ ....... ......
........
......
...............................
0 ..............
...... A ......
.... ...
........... ........
............ ..............
................
..........................
................
.......
........ .......
.. .......
........
..........................
. .......
. ...

E
cc Ow
CY ................
....... .........
..

........ .................
.......
......
.
.......
........
.................. ....... .......
................
........
..........................
.................................
1.........
...
...
................
..
.........................
E 0 11 WIN
C4 .....
. .......
.................
........
.......
.............
...........
......
............
........
........ ................

....... ...
....
................
......
.......................... .......
........
........
......
.... I......
.. ...........
.................
........
........
....... ?................
................. ..........
...........
........
..
L .......
........
........
..................
....... ; .......
........... ........
....... .......
........
....................
.......
........
........ .......
.................
................ .............
...........
....... ...
......
E
cc 0 .......
.......
.......
...... - - -- ---
...............
........
.................
.......... ........
....................... ........
...............
................. ........
.......
.......
................
................
........
........
.......
.......
........
........
........
.......
.......
.......
...............
....... I...................
.................
........
................ .......
...............
........
........
..............
........
.......
-20
0 2 3 4
time (seconds)

Figure F.2,7: Joint 2 OIAPLO-torqLle SIMUlated step-responses

305
Appendix F: Model 5 Simulated Plots for Joint 2

0.2

e 0.05...... ..

0 12 3 4
time (seconds)

306
Appendix F: Model.S Simulated Plots for Joint 31

140000
0.560 amps

.... ....

120000.....
.4. ...... 4......4... ............

0.52 amps
100000 ......
.-.......................

.....
.......................
.... ... .... .... .... ... ... 0.48 am ps

r. ...............
....-.... ...

....................
............. ?......04 ap
8OOOC .... 4..... ..... .... .. 4......

0.84.p

..
....... 4.... ...... ....

0.40 amps

40000...........

0360 amps

20000. ..
. ... ............. 028..
amps.......
... .. .. .....
... ....
.. ..... ...........

4000 ...... ...... ...... ......

030
Appendix F: Model 5 Simulated Plots for Joint 3

50000 f1

0.60 amps

S4.........../
40000 ...

......... .............

. 4 . 4...........

g30000-
tt... 7 . 0.52 amps
0.. . . . . . . ..... .. ...... 4 ........ ...... ... ........ ...............

CD

4. .1. . 4. 4. . . 4

CL 0248 amps

.S 20000308
Appvendix F: Model S Simulated Plots for Joint 3

0.7 T1 1T !rff

0.6 I V
NV 0.60 amps

-0.56 amps

-0.52 amps
0.5- ...............
0..45ap

-0.44 amps

E 0.44+ + ~ .I.I *q+#44 0.40 amps

-0.36 amps
3 ........ ..................... ... ... ... ... ...........

0.8.mp

0.1.......................................................

Q...L.....
........ ....... ..... . ....
..... ............
. .... ..........
...

012 3 4
time (seconds)

Fiur F.. Jon0 1PAC1'el SMltdse-epn

309
Appendix F: Mode! S Simulated Plots for Joint 3

00

4......... ...............

-2.0 t-.
.......... . .I

0.56 amps
----

1. I ~
L J... ....
A ........ £

0 ....
.............
1.. 2...
.......... ...
...........
... ~tm
....... .......
.(... ec..
o...
nds).............
-40 ..... ... .... ...

..
....
.....
.... ..... ..
3.0..
. .......
....... ...
.... ..
Appendix F: Model 5 Simulated Plots for Joint 3

-50 "0.28 amps

~0.36 amps

-150.
. ... .....................

...
r .... ...7....-
....

L
L i.......
.......
L.......
.....
L1 .......
.......
.....
.... .. ... ....... ....
...... ....... ........ ..• ..... ........ ....... ÷ ....... ...... .......

...... r....... .r ....


*... ....
...... ....... ....... ...... .......

....
r . ...7 .............. -r....... :....... ...-.....
.

mp

•., .. ......
•[ ...... ...... ......... ........ ...... .t• ...... .!.=.•.....
....... ... ....... •............. ..... 4....... ......

S.i--- d- ...... •....... -...... ..... ,•...... ..... .-.


...... -.......
.....
÷ ÷....... ..... -."....
... •....... •........ ;......

0
CD .... .. 0.48 amps
5D.....
..
....
.....
....
......
..... ... .. .. .. . ....... ........
(D • ~.......
. .. ...... ..T .... .. ....
...................... ...... ...................
... ... .... ......
i.... .... ...... ...... .....
.... ...... -....... ...... •
...... ...... -....... •

.... . ........ ...... .............. ..

..... ........ ..... ..... . ......


- .• ....
... ......... ......
....... ...
.... am p
........ .......................................
..... ... ......
....
., ..... ..... ... ...........

. ..... .. ....
. .....
..
..... ...._.. .....-
......-.....................
. ....... ..... ..........
..... ...... . .. ............ ......
....... ....
..... ..
0 . ... ..... .........
-5 • ......
........ ."...... • ......
......... • ..... •"...... ......• ......• • .............. ....... ....... .......
".......
0--- ...
.......
.,i......
... ,•....
.i......
. ....
.......
, ......
. ...... .......
.....
•.......
•......
.......
.....
i.......
....-

...... ....... ......... ...... ".......•....... ..... . .. ....... ....... ....... ............ ....... ......... ...
....... ....... .......n a n a p
S...•..
...... .... -............
i i ......
• . .....
• ......
i . ...... ....$ ...... ...... ...... ....... i ...... ....... ....... •,....... ...

-4 5 0.. ... ....... .......


....... ....
.... ......... .
....... ....
....
. ...... ............
.3....L....
time....conds)

...
....
......
......
31...1....
...
...
Appendix F: Model S Simulated Plots for Joint 3

U)
EL ..... .... .............. .... . .... . .........

CM

o..... .- . .-.. .............


......... ... ... ... ........ ... ... .......

* -70
*'WON

-70C ............... ...............


t....i..........
a....a
...... ....

4-705 - .. J

di 64
................... r

8 r - f.......11 1 7...... .. ... - ---

C, -0
. . __ ._ ........ ........
......

2... 3 ...
........... 4...
time..(seconds)
0 0 0...... 0....... .... .... .....0... .... .. 0...

E .............. 312.
Appendix F: Model S Simulated Plots for Joint 3

.
.4
................ .. .... ... ........ ...

......... ...... ...


....
........

....... ............
.......................*......
i*..F.. T---

E A N .................... ..............
... ... ... ........ ... ... ........

cm......... ...
........ ........
W0........

.... ......... ........ ........ ........ .... ....*.... ......... ... ... ... .......
05 ........ ............ ... ... ............ ... ... ............ ........ ........
E... ......... ............... .................. .................

E
co

..... . ..... 4. .7.. . . . . . . . .4. .

0 ............ .-. . . ....-. . . . . ...

0. 0 .... ... .... ...... -----

313...........
..
0......... ............. ... .......
Appendix F: -Model 5 Simulated Plots for Joint 3

0.4

OD0. 1 2...4

03.4

You might also like