Top Banner
Eindhoven University of Technology MASTER Modelling and control of a robotic arm actuated by nonlinear artificial muscles van den Brink, S.N. Award date: 2007 Link to publication Disclaimer This document contains a student thesis (bachelor's or master's), as authored by a student at Eindhoven University of Technology. Student theses are made available in the TU/e repository upon obtaining the required degree. The grade received is not published on the document as presented in the repository. The required complexity or quality of research of student theses may vary by program, and the required minimum study period may vary in duration. General rights Copyright and moral rights for the publications made accessible in the public portal are retained by the authors and/or other copyright owners and it is a condition of accessing publications that users recognise and abide by the legal requirements associated with these rights. • Users may download and print one copy of any publication from the public portal for the purpose of private study or research. • You may not further distribute the material or use it for any profit-making activity or commercial gain
190

Modelling and control of a robotic arm actuated by ...

Apr 26, 2022

Download

Documents

dariahiddleston
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Modelling and control of a robotic arm actuated by ...

Eindhoven University of Technology

MASTER

Modelling and control of a robotic arm actuated by nonlinear artificial muscles

van den Brink, S.N.

Award date:2007

Link to publication

DisclaimerThis document contains a student thesis (bachelor's or master's), as authored by a student at Eindhoven University of Technology. Studenttheses are made available in the TU/e repository upon obtaining the required degree. The grade received is not published on the documentas presented in the repository. The required complexity or quality of research of student theses may vary by program, and the requiredminimum study period may vary in duration.

General rightsCopyright and moral rights for the publications made accessible in the public portal are retained by the authors and/or other copyright ownersand it is a condition of accessing publications that users recognise and abide by the legal requirements associated with these rights.

• Users may download and print one copy of any publication from the public portal for the purpose of private study or research. • You may not further distribute the material or use it for any profit-making activity or commercial gain

Page 2: Modelling and control of a robotic arm actuated by ...

Modelling and control of a

robotic arm actuated by

nonlinear artificial muscles

S.N. van den Brink

DCT 2007.002

Master of Science Thesis

Committee: Prof. Dr. H. Nijmeijer ‡

Dr. Ir. N. van de Wouw ‡

Dr. Ir. A.G. de Jager ‡

Coaches: Ir. R.M.G. Rijs z

Ir. H.C.A. Dirkx z

‡ Technische Universiteit EindhovenDepartment of Mechanical EngineeringDynamics and Control Group

z Philips Applied TechnologiesMechatronicsHome robotics project

Eindhoven, 25th January 2007

Page 3: Modelling and control of a robotic arm actuated by ...

Abstract

Modern industrial robots are designed according to the principal design rules to con-struct light and stiff. These design rules are not suitable for robots to be used in adomestic environment. Industrial robots are stiff and strong and, for these reasons,dangerous to humans. To allow for robots to be safe in a domestic environment, theyneed to be compliant. So, in case a domestic robot comes in contact with a human,this does not lead to injuries.Several options are available to make robots compliant. One option is to usecompliant actuators, for example a McKibben muscle. This is a pneumatic artificialmuscle with great resemblance to a biological muscle. A McKibben muscle consistsof a 15 cm piece of bicycle tube, surrounded by a nylon braid of 20 cm. The endingsof the tube and the braid are connected using a fitting. Inflating the muscle yields adecrease in muscle length and an increase in diameter and stiffness.

To perform research on the applicability of McKibben muscles as robotic actuators,a robotic arm is constructed at Philips Applied Technologies in Eindhoven. It has twodegrees of freedom and is actuated by four McKibben muscles. The research goalsare, firstly, to construct a predictive model of the robotic arm including McKibbenmuscles and, secondly, to construct controllers that guarantee accuratemotion controlof the robotic arm, using model knowledge on the robotic arm and the muscles.A predictive model of the McKibbenmuscle is proposed, which takes into account thechange in muscle shape as well as in stiffness. This model is used in the total roboticarm model, also including the pneumatics and the rigid body dynamics of the arm.Dedicated experiments are performed to identify the parameters of the muscle modeland the robotic arm model. Other experiments are used to validate whether themodels give a correct prediction of the experimental robotic arm behavior. It appearsthat the robotic arm behavior is predicted correctly within a limited pressure range.The main model error is in the description of the muscle stiffness.

The knowledge gained by the experiments and the modelling is used to define a con-trol strategy. By driving the muscles in pairs, the robotic arm is stabilized completelyusing linear feedback controllers. Each muscle pair requires two controllers: one tocontrol the robotic arm position and one to control the pressure in both muscles.The stiffness variation as a function of the muscle length of the McKibben muscles iscompletely compensated for by applying a notch-filter in the position controller. Thecontrollers are implemented on both a one- and two-degree-of-freedom variant of theexperimental system. Closed-loop experiments show the effectiveness of the controlstrategy, where the feasible bandwidth of this controlled system is 4 Hz.To improve the predictive capacities of the robotic arm model, future research on theforce balance inside a muscle and the subsequent stiffness is required and advised.

i

Page 4: Modelling and control of a robotic arm actuated by ...

ii

Page 5: Modelling and control of a robotic arm actuated by ...

Samenvatting

Moderne industriële robots zijn ontworpen volgens het principe om licht en stijf con-strueren. Deze ontwerp principes zijn echter niet geschikt voor huiselijke robots.Industriële robots zijn stijf en sterk en zijn daarom gevaarlijk; ze staan om die rededan ook altijd afgeschermd van mensen. Om de toepassing van robots in een woon-omgeving mogelijk te maken, zullen deze compliant (minder stijf) moeten zijn zodatze meegeven als er tegenaan wordt gestoten. Dit om verwondingen te voorkomen.Er zijn verschillende manieren om een robot compliant te maken. Eén mogelijkheidis om robots aan te drijven met actuatoren die niet stijf zijn, bijvoorbeeld eenMcKibben spier. Dit is een kunstmatige pneumatische spier die qua gedrag erg veellijkt op een biologische spier. Een McKibben spier bestaat uit 15 cm fiets binnenbandmet daarom heen een nylon netje van 20 cm. De uiteinden van de band en het netjezijn aan elkaar bevestigd met een afsluitdop. Door de spier op te blazen wordt dezekorter, dikker en stijver.

Om de toepasbaarheid van McKibben spieren als robot actuatoren te onderzoeken, isbij Philips Applied Technologies in Eindhoven een robot arm gebouwd. Deze heeft tweegraden van vrijheid en wordt aangedreven door vier McKibben spieren. De onder-zoeksdoelen zijn, ten eerste, om een voorspellend model van de robot arm inclusiefde McKibben spieren te ontwerpen en, ten tweede, om met kennis van de robot armen van de spieren, regelaars te ontwerpen die gecontroleerde bewegingen van de ro-bot arm garanderen.Een model voor de McKibben spieren is bedacht, dat zowel de vorm verandering alsde verandering in stijfheid beschrijft. Dit model is vervolgens gebruikt in het totalerobot model, inclusief pneumatiek en de dynamica van de robot arm.Met behulp van experimenten is het gedrag van de spieren en van de robot arm inkaart gebracht. Deze experimenten zijn gebruikt om de parameters in het model afte schatten en om te verifiëren of de modellen een realistische beschrijving gevenvan de werkelijkheid. Uit validatie experimenten blijkt dat het gedrag van de robotarm in een beperkt druk goed voorspeld wordt. De grootste model fout zit in hetvoorspellen van de stijfheid van de McKibben spieren.

De kennis, verworven door de metingen en het model, is gebruikt om een regelstra-tegie te formuleren. Het blijkt dat, als de spieren in paren worden aangestuurd, hetmogelijk is om met behulp van eenvoudig lineaire regelaars de robot arm volledig testabiliseren. Voor elk paar spieren zijn twee regelaars nodig; één voor de positie vande robot arm en één voor de druk in beide spieren. Essentieel in het ontwerp van depositie regelaar is een ”notch” filter, die de variatie in stijfheid van de spieren volle-dig gecompenseerd. Dit is getest op de robot arm voor zowel een configuratie met één

iii

Page 6: Modelling and control of a robotic arm actuated by ...

als voor een configuratie met twee graden van vrijheid. Experimenten aan het gere-gelde systeem tonen de effectiviteit van de voorgestelde regelstrategie aan, waarbijde maximale bandbreedte 4 Hz is.Om het model van de robot arm beter te laten voorspellen, is verder onderzoek naarde krachtbalans in de spieren en de daaruit volgende stijfheid nodig en aanbevolen.

iv

Page 7: Modelling and control of a robotic arm actuated by ...

Preface

This report describes the results of my graduation project at the Dynamics andControl group of the Technische Universiteit Eindhoven. The project is carried outunder authority of the Mechatronics department of Philips Applied Technologiesin Eindhoven. During my assignment I received a lot of help and support by manypeople. Herewith I would like to show my gratitude.

In the first place, I would like to thank my coaches Rob Rijs and Bart Dirkx fromPhilips Applied Technologies and Nathan van de Wouw and Henk Nijmeijer fromTechnische Universiteit Eindhoven for their support, input and critical commentsduring my research. I appreciate that very much.In the second place, but invaluable, I would like to thank the people and studentsat the Mechatronics department of Philips Applied Technologies for numerous dis-cussions, pleasure and for showing me the true capabilities of engineering.Finally, I like to showmy gratitude towards my parents Marcelle andWim, for theirgreat support during almost ten years of studying, and to my girlfriend Esther, forher patience and comfort.

v

Page 8: Modelling and control of a robotic arm actuated by ...

vi

Page 9: Modelling and control of a robotic arm actuated by ...

Contents

Abstract i

Samenvatting iii

Preface v

Nomenclature xi

1 Introduction 11.1 Problem statement 41.2 Report outline 6

2 Description of the robotic arm and the muscles 72.1 Setup of the robotic arm 72.2 Sensors and control platform 82.3 Pneumatics and the binary valves 92.4 McKibben muscles 10

2.4.1 Construction 102.4.2 Working principle 10

2.5 Contribution of the thesis 12

3 Physical modelling 153.1 Robotic arm model 153.2 Input signals and the binary valves 183.3 Pneumatics 21

3.3.1 Pressure and flow relations 213.3.2 Splitter 243.3.3 Formulation of the pneumatic model 26

3.4 McKibben muscles 273.4.1 Braid kinematics 273.4.2 Muscle volume 283.4.3 Pressure in the muscle 293.4.4 Nominal muscle length 303.4.5 Force exerted by the muscle 313.4.6 Muscle stiffness and damping 323.4.7 Formulation of the muscle model 33

vii

Page 10: Modelling and control of a robotic arm actuated by ...

3.5 Equations of motion of the robotic arm 34

3.5.1 Robot kinematics 34

3.5.2 Robot dynamics 36

3.6 Discussion 37

4 Identification and model validation 39

4.1 Muscle identification 39

4.2 Validation of the equilibria 45

4.3 Robotic arm identification 48

4.4 Validation of the linearized model 52

4.5 Time domain model validation 55

4.6 Discussion 56

5 Feedback control of the robotic arm 59

5.1 Single joint control strategy 59

5.2 Single joint control 62

5.2.1 Angular controller design 63

5.2.2 Pressure controller design 63

5.2.3 Performance 67

5.3 Dual joint control 67

5.3.1 Dual joint control strategy 69

5.3.2 MIMO system identification 70

5.3.3 Loop shaping of the controller 71

5.4 Feedback control versus reinforcement learning 75

5.5 Discussion 78

6 Conclusions and recommendations 79

A Specifications of the robotic arm parts 83

A.1 Additional photos of the robotic arm 83

A.2 Binary valves 86

A.3 Festo SDE1 pressure sensor 88

A.4 Novotechnik SP2500 potentiometer 89

A.5 Electrical scheme of the switching board 90

B McKibben muscles properties 91

B.1 Advantages and disadvantages 91

B.2 Literature on McKibben muscles 92

B.2.1 McKibben muscle models 92

B.2.2 Control strategies for systems with PAM’s 94

B.3 Example of a McKibben muscle used as actuator 95

B.4 The tube of a McKibben muscle 97

C Pulse width modulation 99

C.1 Formulation of the PWM algorithm 101

C.2 Saturation function 103

viii

Page 11: Modelling and control of a robotic arm actuated by ...

D Considerations on the pneumatic model 105D.1 Pneumatic test setup 105D.2 Flow modelling 107D.3 Valve modelling 108D.4 Simulation of the pneumatic test setup 109D.5 Two DoF pneumatic model 113

E Considerations on the muscle model 117E.1 The model of Chou – Hannaford 117E.2 The model of Petrovic 120E.3 The model for a Shadow McKibben muscle 120E.4 Analytical solution for the stiffness parameters 122

F Derivation of the multibody model 123F.1 Kinematics of the pneumatic robot arm 126F.2 Mass and inertial properties 128F.3 Spring 129F.4 Muscle forces 131F.5 Two DoF equation of motion 132F.6 One DoF equation of motion 135F.7 Inertial parameters of both bodies 137F.8 Generalized muscle forces 2 to 6 139

G Derivation of the static muscle parameters 141

H Tuning of the controllers 147H.1 Controller part definitions 147H.2 Frequency response functions of the pressure loop 148H.3 Nichols diagram of the open-loop pressure control 149H.4 Tuning of the 1DoF angle controller for joint 1 150H.5 Dual joint control scheme 153H.6 MIMO system identification 154H.7 Interaction between the joint angles 156H.8 Stability of the dual joint controller 157

I Implementation of the robotic arm model 159

Bibliography 169

ix

Page 12: Modelling and control of a robotic arm actuated by ...

x

Page 13: Modelling and control of a robotic arm actuated by ...

Nomenclature

Variables

A cross-sectional area m2

A direction cosine matrix –F force N~H angular momentum kg m2 s−1

J inertia kg m2

L half muscle fibre length mQ generalized force N mRs specific gas constant kg J s−1

T temperature KT time interval sV volume m3

W work J = N m

b damping N s m−1

c stiffness correction parameter –d diameter m~e unit vector –f frequency Hz~f force direction vector –g gravitational constant m s−2

h muscle length mk stiffness N m−1

k PWM sample –l length mm mass kgp pressure Pa = Nm−2

q mass flow kg s−1

q generalized coordinate –s open valve time sr radius mt time su plant input / control signal Vv binary valve signal Vx model statey model outputz model input / flow control signal V

xi

Page 14: Modelling and control of a robotic arm actuated by ...

Φ power spectrumΨ input or decoupling matrix –Ω output matrix –

α pneumatic gain –β flow resistance factor m2

β filter parameter –γ braid angle in Chou–Hannaford model radζ muscle damping parameterη dynamic viscosity Pa sθ angle of the robotic arm radλ muscle stiffness parameter Paξ muscle stiffness parameter density kg m−3

ρ mean density kg m−3

ς damping ratio –τ valve threshold sψ biased muscle stiffness parameterω natural eigen frequency rad s−1

~ω angular velocity vector rad s−1

C controllerH frequency response function (FRF)HOL open loop FRF –KI interaction coefficient –Mθ model linearization of θ over zθ rad V−1

Mp model linearization of pAB over zp bar V−1

Pθ experimentally identified FRF of θ over zθ rad V−1

Pp experimentally identified FRF of pAB over zp bar V−1

R robotic armS sensitivity –

Subscripts

A muscle AB muscle BC muscle CD muscle DAB cumulative muscles A and BCD cumulative muscles C and DS spring

c capacitye errorf muscle fitting and connectorin flow ink samplel low-passm musclen notch

xii

Page 15: Modelling and control of a robotic arm actuated by ...

out flow outs splittersv sensors and valvesth thresholdw working point0 nominal

Notation

C set of complex numbersR set of real numbers

x equilibrium of xx perturbation of xx estimation of x~x vector xx column xX matrix X

Abbreviations

AI artificial intelligenceBW bandwidthCL closed-loopCM center of massDoF degree-of-freedomFRF frequency response functionMIMO multiple input – multiple outputODE ordinary differential equationOL open-loopPAM pneumatic artificial musclePID proportional differentiating integrating controllerPWM pulse width modulationRL reinforcement learningSISO single input – single output

xiii

Page 16: Modelling and control of a robotic arm actuated by ...

xiv

Page 17: Modelling and control of a robotic arm actuated by ...

1Introduction

This thesis considers the modelling and control of a robotic actuator to be used ina domestic environment. The commonly known robotic actuators are industrialactuators, which are designed for application in industrial robots. In general, in-dustrial robots are unsafe for humans and not practically applicable in a domesticenvironment.

The difference between industrial and domestic robotics is a direct consequence oftheir specifications. A differentiation in robotics based upon the robot’s applicationis given in [Kara, 2006] and shown in Figure 1.1. Industrial robots are designed tocombine speed and accuracy while domestic robots must be able to be mobile,interactive1 and safe. As a result, industrial robots are stiff, heavy (except for themoving parts) and powerful; domestic robots are small and light but less accurateand less powerful.

One of the issues domestic robot research focusses on, is the actuation. Comparedto industrial actuators, biologic actuators (muscles) have the ideal properties for do-mestic robots: strong, flexible, light and efficient. One type of actuators, approach-ing the biological muscle properties, are pneumatic artificial muscles or PAM’s.The best known PAM is the McKibben muscle2, a light and strong actuator withnonlinear characteristics. A disadvantage is that McKibben muscles are difficult tocontrol.

Modern industrial motion control

The design of industrial robots is characterized by lightweight and stiff structures.As a result the eigenmodes are located at high frequencies, which directly affectsthe feasible bandwidth of a robot. The mechanics are optimized for linearity toallow for the application of well-known classical linear control techniques.

In Figure 1.2, two examples of modern industrial robots are given. The ABB IRBis less advanced and general applicable, while the ASML Twinscan is extremelyadvanced and dedicated for one specific task.

1 Interactive in the context of a domestic robot has twomeanings. Firstly, domestic robots are character-ized by a higher level of autonomy in a loosely structured operating environment; secondly, domesticrobots must be able to interact on some level (on/off button up to talking) with people.

2 The first known application of a McKibben muscle is in a orthotic device for a polio patients, devel-oped by J.L. McKibben, see [Nickel, 1963] for details.

Page 18: Modelling and control of a robotic arm actuated by ...

Robotics

Industrial Robotsautomatically controlled

reprogrammable multipurposemanipulator in three or more

directionsrobots for manufacturing

Service Robotssemi or fully autonomous robotto perform services useful to the

well-being of humansall but manufacturing robots

Professional RobotsServicing humans, their

environment and equipmentmaintenance, repair,inspection, surgery

Domestic Robotshome care, entertainment,disabled assistance, hobby

vacuum cleaners, toys,wheelchair robots

Figure 1.1: A differentiation of robotics, as defined by [Kara, 2006]. Examples of the appli-cation area of each group are indicated in italic font.

With both robots, high accuracies and short settling times can be achieved; strikingare the accelerations and masses involved. One would probably expect this to bepossible due to very complex controllers; in reality straightforward linear feedbackcontrollers are used. The high performance level is achieved by putting effort intothree area’s: robot design, modelling the robot behavior and, in case of the ASMLTwinscan, knowledge of the robot environment.

Modelling the robot dynamics and the internal disturbances enables for a controllerdesign that is optimized for speed and accuracy and, more important, to apply feed-forward control. Feedforward tremendously reduces settling times and trajectorytracking capabilities.A dry and clean environment is a minimal requirement for each robot. Often arobot is placed on (active or passive) suspensions to prevent floor vibrations fromentering the robot. If accurate knowledge of the environment is required, the robotis placed in a cleanroom. In this way, the system behavior is kept constant; forexample dilatation due to changes in temperature, pressure or humidity are pre-vented.

Robots in a domestic environment

In the last decades, a vast amount of research regarding domestic robotics has beenperformed. This research is induced by the expectation that gradually a shift fromrobotics from an industrial environment to a domestic environment is happening[UNECE, 2004]. The main research focus is on three areas: autonomous behavior,(human) functionality and compliant3 actuators.

3 Compliance has two interpretations. The technical definition means the inverse of stiffness: weak-ness. In common language, the meaning of compliance refers to accommodating behavior.

2

Page 19: Modelling and control of a robotic arm actuated by ...

Introduction

(a) ABB IRB (b) ASML Twinscan

Figure 1.2: Example of two modern industrial robots. The ABB IRB [ABB, 2006] is a sixaxes industrial robot, which can be used for a variety of tasks (painting, assembly, mate-rial handling, palletizing, etc). Its weight is approximately 1000 kg and its maximumpayload is 60 kg; the maximum allowable acceleration is 1.5 g. The IRB does not havespecial requirements concerning the environment it is used in.The ASML Twinscan [ASML, 2006] is a lithographic system for semiconductor produc-tion. The mass of the reticle stage is 20 kg, it is accelerated up to 10 g and positioned withan accuracy of 3 nm with 30 ms settling time. The Twinscan can only be used within acleanroom.

(a) QRIO (b) Asimo (c) Partner robot

Figure 1.3: Three modern humanoids. The QRIO [Sabe, 2005; Fujita, 2005] is a hu-manoid entertainment robot; it remembers people, learns, shows emotions and is capableof having simple conversations [Tanaka, 2004]. QRIO has 38DoF, is 0.58 m high andweighs 6.5 kg. The Asimo [Honda, 2003] has been introduced in 2000, the height is 1.20m, it weighs 52 kg, has 26DoF and is capable of walking, running and climbing stairs. ThePartner Robot from Toyota, is 1.20 m high and weighs 35 kg, [Toyota, 2004]. It has soft lipswhich enable for playing trumpet. Also a rolling variant of the partner robot exists.

3

Page 20: Modelling and control of a robotic arm actuated by ...

First, ”autonomous” in the given context means that a robot is capable of perform-ing one or several tasks independently; an example is autonomous vacuum clean-ers. ”Autonomy” can also be considered in a wider perspective, by taking into ac-count the ability to interact with humans and learning capabilities; this is a vividresearch area [Bekey, 2005]. An example of autonomous humanoid is the QRIO asgiven in Figure 1.3a.Secondly, the functionality research focusses on possible domestic robot layouts.Well known are humanoids, robots with the overall appearance and behavior basedon that of the human body. The reason to adopt human features for a robot layoutis simple: our world is designed for humans. To have a robot functioning well inour world, it is desirable to resemble us.In Figure 1.3, three humanoid examples are given. These humanoids are builtusing stiff materials and electric actuators, i.e. according to industrial constructionprinciples. This makes them less suitable for the domestic environment that theyare built for. For safety reasons, it is better not to have industry-like robots in ahuman environment. Imagine a person crossing the path of an industrial robot.Since this robot is unable to detect the person and act accordingly, the robot willmove on, conflicting serious injury on the person.To avoid injuries, different design rules apply for robots in a domestic environ-ment: lots of sensors for detecting unsafe situations, less rigid structures with lowmoving masses and compliant actuators. This brings us to the third domestic robotresearch area: compliant actuators.

In [Bax, 2003], several alternative compliant actuators are considered. One of theactuators rated with the best suitability for application in a domestic environmentis a PAM. An extensive overview of several PAM types, is given in [Daerden, 2002].Two well-known muscle types are the pleated pneumatic muscle [Daerden, 1999]and the McKibben muscle. In [Tondu, 2000] a small historic overview of the Mc-Kibben muscles is given. McKibben muscles are the actuators of the robotic arminvestigated in this report. In Appendix B.1, the advantages and disadvantages ofMcKibben muscles are discussed.

1.1 Problem statement

The problem statement of this thesis project focusses on the modelling and controlof a robotic system, actuated by four pneumatic artificial muscles. To investigatethis, a two-degree-of-freedom (2DoF) robotic arm is built at Philips Applied Tech-nologies in Eindhoven; an impression is given in Figure 1.4. The robotic arm isdeliberately not designed according to the principal design rules to construct lightand stiff [Koster, 2000]; the dynamics of the joints are coupled and the movingmasses are relatively large compared to the stiffness. This is done to resemble apossible layout of a domestic robot. The robotic arm consists of two revolute jointswhich are connected in series. Each joint is driven by a pair of McKibben musclesin an antagonist setup.McKibben muscles are known for their nonlinear behavior. Physical modelling ofthis behavior is considered to be difficult. Because of such complex dynamics, thecontrol of robots actuated by McKibben muscles, has focussed on various complexcontrol strategies. Classical feedback control has never been applied, simply be-cause a linear approach seemed inadequate to handle the nonlinear characteristics

4

Page 21: Modelling and control of a robotic arm actuated by ...

Introduction

of McKibbenmuscles. This thesis will focus on the classical loop-shaping approachto design a feedback controller. The problem statement of this thesis is formulatedas follows:

A predictive model for the two DoF robotic arm should be built, based on physi-cal principles and dedicated experimental identification, where special attentionshould be given to the modelling of the artificial muscles. This model should bevalidated by experiments and used to construct linear feedback controllers, us-ing a classical feedback approach, allowing for both stabilization and trackingtasks. Finally, these controllers should be implemented and evaluated on theexperimental setup.

The modelling part of the thesis is started by performing dedicated tests in orderto understand the behavior of the system and the McKibben muscles. Based uponthese experiments and the resulting increased insight, a model based on physicalrelations must be formulated. An experimental model must be gained by mea-suring frequency response functions. Based upon the models and measurementresults, a control strategy is chosen and controllers are designed.The control part of the thesis starts with a robotic arm with lower complexity. Byfixing the rotation in revolute joint 1, the robotic arm is a DoF system, actuatedby muscles A and B ; see Figure 1.4a. If the DoF robotic arm is successfully con-trolled, it is expanded with the second joint as shown in Figure 1.4b.

In [Maas, 2005], the results of a complex control strategy, called reinforcementlearning (RL), are presented. This is an artificial intelligence technique, which at-tempts to stabilize and control the DoF robotic arm by predicting the robotic armbehavior using an experimental model, generated by reinforcement learning. Partof the current thesis is to compare the (black box) RL control approach with the

muscle A

£££°

muscle B¢¢¢

body 2¾

joint 2

­­­À

(a)

C

D

body 1A

B

joint 1

¢¢

¢®

spring

(b)

Figure 1.4: Impression of the DoF and 2DoF robotic arm.

5

Page 22: Modelling and control of a robotic arm actuated by ...

(model based) feedback control approach. To be able to make a fair comparison,improving the robotic arm is not in the focus of the assignment.

1.2 Report outline

In Chapter 2, the robotic arm and the pneumatic and electronic components aredescribed. As McKibben muscles are not commonly known actuators, its maincharacteristics and working principles are explained in detail in the second chapter.The physical model for both the DoF as for the 2DoF robotic arm is presented inChapter 3. All aspects determining the behavior of the robotic arm are modeledindividually. To understand the physical principles of every model part, dedicatedexperiments are performed. These experiments are also used to verify the modelparts and to identify the model parameters.The model has multiple purposes. Firstly, it allows for estimating the possiblebandwidth and accuracy of the controlled robotic arm on a model level and it canbe used as part of the control loop (for example in a feedforward or in an input– output linearization control strategy). Secondly, the influence of every parame-ter on the behavior can be estimated. In other words, the model can be used forpredicting the robots behavior, which can support domestic robot design using ar-tificial muscles as actuators.

The model is validated in both the time- and frequency-domain in Chapter 4. Thetransient behavior and equilibrium points of the experimental robotic arm and themodel are compared in the time domain, the linear input – output behavior iscompared in the frequency domain. The input – output behavior is determined bymeasuring the frequency response functions of the robotic arm and by simulationof the model.In Chapter 5, the control approach and results of both the DoF and 2DoF con-trolled system are presented. The frequency response functions as measured inChapter 4, are used to determine the lay-out of the controllers. By taking the sec-ond DoF into account, the system changes from SISO to MIMO. The complexityincreases due to the interaction of the multiple inputs on the outputs. The scalingfrom a DoF to a 2DoF system, the MIMO system identification, the control ap-proach and the control results are discussed. Finally, the model-based controller iscompared with the black-box AI controller.The conclusions and recommendations of this thesis are presented in Chapter 6.Propositions are made for future work considering the motion control of robots ina domestic environment.

6

Page 23: Modelling and control of a robotic arm actuated by ...

2Description of the robotic

arm and the muscles

2.1 Setup of the robotic arm

The robotic arm consists of two revolute joints. Both joints are driven by two Mc-Kibben muscles which work in an antagonist setup. Each muscle is driven by twosolenoid binary valves, so there are eight valves needed to drive the two joints; inFigure 2.1a, an image of the robotic arm in an outer position is given, in Figure 2.1ba schematic impression of the pneumatic robot arm in its initial position is given.The location and designation of the fourmuscles, an additional spring, eight valves,four pressure sensors and the two joints are indicated.

In biological systems, the muscles act relatively close to the rotation point. In caseof the robotic arm, the McKibben muscles act also relatively close to the rotationpoints. This makes it difficult to generate a large momentum. On the other hand,small elongations of the muscle are sufficient to generate large rotations of thejoints.

Body 1 rotates in revolute joint 1, driven by muscles C and D . Its rotation is givenby the angle between body 1 and the mounting table surface. Body 1 consists oftwo bars: an aluminium and a steel part (blue respectively grey in Figure 2.1b). Onbody 1, muscles A and B , four valves and two pressure sensors are mounted.

To support body 1, a spring is mounted between the fixed world (green part inFigure 2.1b) and body 1. This spring functions as a gravity compensator for themass imbalance of body 1. Without the spring, muscle D is limited in its workingarea as a relatively large force is required to keep body 1 in position.

Body 2 is mounted at the end of body 1, where revolute joint 2 is located. Therotation of body 2 is given by the angle of body 2 with respect to body 1. Body2 consists of an aluminium bar with a small additional mass on top. Due to thevertical setup of body 2 and its limited mass, static balance can easily be enforcedby muscles A and B ; no gravity compensation is required here.

In the following section, the functionality of the control platform of the robotic armis explained. The setup of the pneumatic system is given in Section 2.3 and theproperties and behavior of McKibben muscles are explained in Section 2.4. This

Page 24: Modelling and control of a robotic arm actuated by ...

A

B

D

joint 1

joint 2

power source

air supply

switching board

valves

valves

pressuresensors

spring

table

rr

rr

@@@

r

r

r r

¡¡¡r

r

rr

!!!!!!!!r

r

¡¡r

@@ r

AA r

(a)

C

D

A

B

body 1

body 2

joint 1

joint 2spring

¢¢

¢®

JJJ]

(b)

Figure 2.1: The pneumatic robot arm as available at Philips Applied Technologies. Thefour muscles are indicated by A , B , C and D . In Figure (a), muscles A and D are com-pletely inflated while muscles muscles B and C are completely stretched. In Figure (b) theequilibrium position is given, in case the pressure in the muscles is equal in each pair, i.e.pA = pB and pC = pD .

chapter is ended by a review on the consulted literature. More information, pho-tographs and specifications of the robotic arm and its components, can be foundin Appendix A.

2.2 Sensors and control platform

For the control and data acquisition of the robotic arm, a dSPACEr system isused, [dSPACE, 2000]. The controllers are defined in MATLABr SIMULINKr,[Mathworks, 2005] and uploaded to the dSPACE system.A switching board is built to enable the communication between the dSPACE sys-tem and the robotic arm. Moreover, the power supply to the sensors and the valvesis embedded on the switching board.The eight valves applied in the robotic arm are controlled by eight binary signalsfrom the dSPACE output. On the switching board, the dSPACE output signals areamplified to 24 V using field emitting transistors or FET’s.Four pressure sensors are used to measure the pressure in the four muscles. Theangle of both joints is measured using two linear high-quality potentiometers. Onlyfour analog inputs are available on the dSPACE system, which is less then the sixavailable analog sensor signals. Two jumpers on the switching board enable toselect which sensor signals are linked to the dSPACE inputs.The specifications of the pressure sensors and the potentiometers are respectivelygiven in Appendix A.3 and A.4. The electronic scheme of the switching board isgiven in Appendix A.5.

8

Page 25: Modelling and control of a robotic arm actuated by ...

Description of the robotic arm and the muscles

2.3 Pneumatics and the binary valves

The pneumatic system, required for driving the McKibben muscles, consists of anumber of hoses, a pressure reduction valve, a capacity of 10 liter and the valves.To control the pressure in a muscle, two valves are required: one valve controls theflow towards the muscle, the other valve controls the flow from the muscle into theopen. As the valves are placed in series, the flow-in valve is overruled if the flow-outvalve is enabled. In conclusion, the flow towards a muscle has three possible states:flow in, flow out and no flow.In Figure 2.2, a schematic overview of the complete pneumatic system is shown.As can be seen, eight 3/2-valves are used; i.e. each valve has three connectors andtwo possible states. In Appendix A.2, the specifications of the valves are given;most important is the response time: 2 ms.The eight valves are driven by four flow-in signals vin and four flow-out signalsvout. The eight binary control signals are given in matrix notation by:

v =

[vin,A vin,B vin,C vin,D

vout,A vout,B vout,C vout,D

]T

. (2.1)

The capacity prevents large pressure fluctuations in the air supply due to air lossesin the robot pneumatics. The pressure reduction valve ensures the pressure in thecapacity to be maximally 1 bar. The original supply pressure is approximately 6 bar.The air hose leaving the capacity is split into four hoses, one hose towards eachmuscle.

air in

air out

stop

reduction valve

v = 1v = 0

3/2 valve:

capacity

muscle A

sensor A

muscle B

sensor B

muscle C

sensor C

muscle D

sensor D

vin,A vout,A

vin,B vout,B

vin,C vout,C

vin,D vout,D

Figure 2.2: Schematic representation of the complete pneumatic system. The eight valvesare depicted for low control signals, i.e. v = 0. The two valves controlling one muscle areplaced in series. As a result, the flow-in valve of muscle i is overruled if vout,i = 1.

9

Page 26: Modelling and control of a robotic arm actuated by ...

Figure 2.3: A deflated McKibben muscle from the Shadow Robot Company as used in thepneumatic robot arm. Visible are the braid en the two fittings with the air hose connectors.

2.4 McKibben muscles

A deflated McKibben muscle as used in the robotic arm is shown in Figure 2.3; itis produced by the Shadow Robot Company [Shadow, 2006]. Besides this muscletype, several other types are available. The first commercially available McKibbenmuscle was the Rubbertuator from Bridgestone, shown in Figure 2.6a. It is wellknown for its application in a wall climbing robot [Pack, 1996]. A large number ofpublications refer to Rubbertuators, unfortunately they are out of production so thepresented results can not be verified.Festo produces the pneumatic muscle MAS [Festo, 2006]. It has a different workingarea than the Shadow muscle, consequently it behaves differently. The pressurerequired is between 2 and 6 bar and the stroke is smaller; an image is shown inFigure 2.6b. Finally, Merlin Robotics [Merlin, 2006] produces a McKibben musclewhich is almost similar to the Shadow muscle.

2.4.1 Construction

A McKibben muscle consists of four parts, a rubber tube surrounded by a braid(see Figure 2.4) and two fittings. The fittings serve as gas closures, enable for themounting and contain the air hose connectors. The braid consists of nylon threadswoven into a framework of pantographs. The nylon threads have a fixed lengthand are considered to be stiff compared to rubber tube, this means that the nylonfibres do not change in length when the muscle is pressurized or a when externalforce is applied to the muscle. As the threads are woven symmetrically, the threadorientation does not change, i.e. the fittings do not rotate with respect to each otherwhen the muscle is being pressurized or extended.

2.4.2 Working principle

In Figure 2.5, the form of a McKibben muscle is shown as a function of the pres-sure. At 0.0 bar1, the McKibben muscle is deflated. The rubber tube and the nylonbraid do not touch; the muscle length is determined by the rubber tube. Inflating

1 Pressure relative to the environmental pressure

10

Page 27: Modelling and control of a robotic arm actuated by ...

Description of the robotic arm and the muscles

Figure 2.4: Structure of a McKibben muscle: a isobutylene (rubber) tube is surroundedby a braid. The weaving of the threads is axially symmetric and the separate threads arenot connected to each other. The tube and the braid are fixed together at the ends by twofittings (not shown). Image from [Shadow, 2006].

the muscle, results in an increase in muscle length, while the tube diameter re-mains constant; this is typical behavior for cylindrical balloons, see [Müller, 2004].The maximum muscle length is reached when the tube touches the braid com-pletely at the lowest possible pressure, this is at approximately 0.3 bar. If braid andtube touch, the muscle becomes stiff and is able to deliver a force. Further inflationof the muscle results in a decrease in length and an increase in muscle diameter.This is a typical behavior for all PAM types. The shortening of the muscle occursdue to the structure of the braid. Pressurizing the muscle forces the tube to in-crease in volume. To increase the volume, either the diameter, the length or bothmust increase. The braids weaving structure forces the diameter to increase. The

0.0 0.3 0.7 1.0

200

185

170

rubbertube

nylonbraid

fitting

trend line

p [bar]

h0[m

m]

Figure 2.5: The shape and length h0 of an unloaded muscle as function of the relativepressure p. Inflating the muscle causes an increase, followed by a decrease in muscle length.

11

Page 28: Modelling and control of a robotic arm actuated by ...

(a) (b) (c) (d)

Figure 2.6: In Figures (a) and (b), respectively, a Rubbertuator and a MAS [Festo, 2006]are shown. Figures (c) and (d) show a Shadow muscle at respectively 0.3 and 1.0 bar.Clearly visible is the increase in diameter and decrease in length at 1.0 bar. Compared tothe other muscle types, the Shadow muscle is less cylindrically shaped.

braid also determines that an increasing diameter results in a shortening of thepneumatic muscle. The combination of an increasing diameter and a decreasinglength, shows that the volume of a muscle hardly changes during inflation. Thisalso means that the additional air due to inflation, mainly results in an increase inpressure. The change in shape for a Shadow muscle is shown in Figures 2.6c and2.6d at respectively 0.3 and 1.0 bar.The maximum allowable pressure in a Shadow McKibben muscle is 3.5 bar. Incase of the robotic arm, it is chosen to resemble biologic muscle behavior; as thepressure determines the stiffness of the muscles, it is decided to use a workingpressure of 1.0 bar.The working area of a muscle starts as the tube touches the braid; from this pointon themuscle becomes stiff. Normally, the working area starts at 0.3 bar (see Figure2.5). Applying a pretension to the muscle (by stretching) lowers the pressure atwhich the working area starts; an additional advantage is that the energy dissipationdue to friction in the braid is lowered. In the robotic arm, the muscles are mountedwith pretension and, consequently, the working area starts at approximately 0.2 bar.A larger working area of the muscles is useful as this allows for the control of thejoint angle of the robotic arm over its entire range.

2.5 Contribution of the thesis

An overview of the consulted literature concerning McKibben muscles, is given inAppendix B.2. This overview is divided in two parts: the modelling of McKibbenmuscle behavior and the control of systems actuated by McKibben muscles.

12

Page 29: Modelling and control of a robotic arm actuated by ...

Description of the robotic arm and the muscles

An example of a McKibben muscle used as robot actuator is given in Appendix B.3.In this example, the three types of muscle behavior as discussed in the literaturereview are illustrated:

• The active behavior comprehends the change in muscle length, as a functionof the muscle pressure. This type of behavior is particular important in thepressure range below 1.5 bar. Existing models do not consider the activebehavior explicitly; as a result, their predictive capacities below 1.5 bar ispoor.

• The passive behavior describes the stiffness and damping of the muscle.In most cases, the stiffness is derived using the Chou–Hannaford model,[Chou, 1994]. No explicit relations are found on the damping of McKibbenmuscles and in most some cases, viscous damping is assumed.

• The volumetric behavior describes the change in muscle volume. In exist-ing models, the volumetric behavior is based on cylindrical shaped muscles.When considering the Shadow muscles (which are applied in the roboticarm), a barrel shaped muscle is a more likely description.

Existing McKibben muscle models do not explicitly make a distinction betweenthese three types of behavior. In this work, an alternative model describing the be-havior of McKibben muscles will be proposed. Explicit relations for the three typesof behavior will be derived. The purpose of this model is to gain insight in theworking principles of a McKibben muscle. The new model must also describe thebehavior below 1.5 bar and take into account a different muscle shape. The pro-posed model will be identified using dedicated experiments and will be subjectedto a thorough validation procedure.

Most references on control strategies for robots actuated by PAM’s vary from fuzzy-logic, gain scheduling, backstepping control, slidingmode control, learning controlto feedforward control. These control strategies are rather ”exotic”, compared tolinear feedback control. In order to apply PAM’s on a larger scale, a simple buteffective control strategy is required. In [Pack, 1994; Schröder, 2003], it is proventhat a linear control strategy is possible, although their performance is low.No references are found on a control strategy for robots with PAM’s based on loop-shaping. This is probably due to the nonlinear behavior of the muscles: a lin-ear control approach may not seem to represent a good option as stability can notbe guaranteed in a non-local sense. Also the required experimental modelling inthe frequency domain might be problematic due to nonlinear behavior. How, weconjecture that a loop-shaping approach toward designing high-performance con-trollers for robots with PAM’s is very well possible.

The contribution of this thesis is threefold. Firstly, a model is proposed which givesa better understanding of the observed McKibben muscle behavior. Secondly, it isproven that good closed-loop performance is possible by using linear controllers;and thirdly, a decoupling is proposed which maximizes the application range of theMcKibben muscles.

13

Page 30: Modelling and control of a robotic arm actuated by ...

14

Page 31: Modelling and control of a robotic arm actuated by ...

3Physical modelling

In this chapter, the modelling of the robotic arm is discussed. The robotic armmodel is divided into four parts: the input conversion, the pneumatic system withthe valves, the McKibben muscles and the robot dynamics. The purpose of themodel is twofold: firstly, understanding the behavior of the McKibben muscles andof the robotic arm; secondly, to support the control design. In Section 3.1, the com-plete robotic model is presented; in Sections 3.2 to 3.5, the four model parts areelaborated on. This chapter is ended by a discussion.

3.1 Robotic arm model

To gain insight in the robotic arm behavior, it is sufficient to consider the DoFrobotic arm (with joint 1 fixed). For control purposes, a model describing the 2DoFrobotic arm is required. In this chapter, a model describing the behavior of theDoF robotic arm is presented, but the scaling to a 2DoF model is kept in mind.

The structure of the robotic arm model is visualized in Figure 3.1; the four modelparts are indicated by the circles. The arrows refer to the physical input and outputquantities of the respective model parts. The physical quantities are given by fourinput signals:

u =[

uA uB uC uD]T

, (3.1)

inputconversion

pneumaticsand valves

robotdynamics

muscle Amodel

BCD

θu v

p

q F

h

Figure 3.1: Structure of the robotic arm model. The model consists of four parts. Asthere are four muscles present in the 2DoF robotic arm, the part describing the musclebehavior is embedded four times; in case of the DoF robotic arm model, the muscle modelis implemented two times.

Page 32: Modelling and control of a robotic arm actuated by ...

four binary valve-in signals and four binary valve-out signals:

v =

[vin,A vin,B vin,C vin,D

vout,A vout,B vout,C vout,D

]T

, (3.2)

four flows in and four flows out of the muscles:

q =

[qs,A qs,B qs,C qs,D

qout,A qout,B qout,C qout,D

]T

, (3.3)

four pressures in the four muscles:

p =[

pA pB pC pD]T

, (3.4)

four muscles forces:

F =[

FA FB FC FD]T

, (3.5)

four muscle lengths:

h =[

hA hB hC hD]T

, (3.6)

and two angles of the robotic arm:

θ =[

θ1 θ2

]T. (3.7)

The inputs to the 2DoF robotic arm are the four control signals in u. The outputsare given by the two angles in θ and the four pressures p in the muscles. The stateof the robotic arm model is completely described by nine states:

x = [ x1 x2 x3 x4 x5 x6 x7 x8 x9 ]T

= [ pc pA pB θ2 θ2 pC pD θ1 θ1 ]T ,(3.8)

with θ1 and θ2 the angular velocities; the pressure in the capacity x1 = pc is definedin the pneumatic model part.

If revolute joint 1 of the robotic arm is rigidly fixed, only revolute joint 2 remains;this yields the DoF robotic arm. In the DoF robotic arm, only muscles A and Band joint 2 have a function. When considering Figure 3.1, this means all quantitiesindexed by C and D and angle θ1 become redundant; i.e. the states of the DoFrobotic arm are given by:

x = [ x1 x2 x3 x4 x5 ]T

= [ pc pA pB θ2 θ2 ]T .(3.9)

The dynamic model of the DoF robotic arm model is given by the following first-order differential equation:

x =

Rs T V −1c

(qin − qs(u)

)(Rs T

(qs,A (u) − qout,A (u)

)− x2 hA

(∂V∂h

+ ∂V∂d2

∂d2

∂h

)

A

)V −1A

(Rs T

(qs,B (u) − qout,B (u)

)− x3 hB

(∂V∂h

+ ∂V∂d2

∂d2

∂h

)

B

)V −1B

x5(QA + QB + m2 g l12 sin(x4)

) (Jzz2 + m2 l 2

12

)−1

. (3.10)

16

Page 33: Modelling and control of a robotic arm actuated by ...

Physical modelling

In the first relation of (3.10), Vc, T and Rs define the volume of the capacity, theabsolute temperature and the specific gas constant of air respectively. In (3.10), weindicate the dependency of the variables on the input u. Let us now also explicatetheir dependencies on the states.The two flows are defined by qin = qin(x1) and qs = qs(x1, x2, x3, u) respectively.The flows in the second relation are given by qs,A = qs,A (x1, x2, x3, uA , uB ) andqout,A = qout,A (x2, uA ) and the flows in the third relation are given byqs,B = qs,B (x1, x2, x3, uA , uB ) and qout,B = qout,B (x3, uB ). All flow relations aredefined by the pneumatic model as derived in Section 3.3.In the second and third relation, d2 = d2(x4) represent diameter of the subsequentmuscle and VA = VA (x4) and VB = VB (x4) indicate the muscle volumes. Theserelations are defined in the muscle model as derived in Section 3.4. The lengths ofmuscles A and B are given by respectively hA = hA (x4) and hB = hB (x4) and theseare defined by the kinematics of the robotic arm as derived in Section 3.5.In the fifth relation, QA = QA (x2, x4) and QB = QB (x3, x4) represent the gener-alized muscle forces depending on the pressure and the length of the subsequentmuscle, these are derived in Section 3.5. The mass of body 2 is given by m2 andJzz2 indicates the inertia of body 2 with respect to its center of mass; l12 is the dis-tance of the center of mass of body 2 with respect to joint 2 .

The first part of the robotic arm model (Figure 3.1), is the input conversion whichconverts the input signals u into binary signals v. The binary valves as applied inthe robotic arm have two possible states, i.e. open or closed. As a result, the valvesbehave highly nonlinear. By applying a pulse width modulation (PWM) algorithmto the valves (which is possible due to their fast switching time), the valves approxi-mate linear continuous behavior. For this reason, PWM is added to the robotic arm(and to the model); this is explained in Section 3.2.

In Figure 3.2, a new muscle model is proposed that describes the behavior of onemuscle i ∈ A B C D . In this figure, also the interactions with the pneumaticsand the robot dynamics are indicated. The relation defining the pressure pi is con-sidered to be part of the muscle model. From the muscle pressure pi, the stiffnesski, damping di and nominal length h0,i are derived.The muscle pressures p are also an input to the pneumatic model; together withthe valve signals v. The pneumatic model is the second part of the robotic armmodel; it considers the flows q towards and out of the muscles and the pressure inthe capacity pc. The pressure model is discussed in Section 3.3.The third part of the robotic arm model, considers the muscle model as presentedin Figure 3.2. The internal variables of muscle i ∈ A B C D , are given by thevolume Vi, the nominal length h0,i and stiffness ki and damping di of the muscle.In the volumetric behavior, the muscle’s volume is defined; the passive behaviordefines the muscle’s stiffness and damping. The active behavior gives the nominallength of the muscle. The nominal length is the length the muscle takes for a givenpressure, if no force is applied to the muscle. Remark that the nominal length ingeneral does not equal the actual muscle length hi.The state of a muscle is defined by its pressure pi and actual length hi. The mus-cle’s pressure dynamics is given in the second and third relation of (3.10), using theflow qi and the muscle’s volume Vi; in Figure 3.2, this is indicated by the pressureresponse. The actual muscle length hi is not defined by the muscle model, but isenforced on the muscle by the dynamics of the robotic arm. The muscle model isderived in Section 3.4.

17

Page 34: Modelling and control of a robotic arm actuated by ...

musclemodel

pneumaticsand valves

pressureresponse

activebehavior

passivebehavior

robotdynamics

volumetricbehavior

forceresponse

robotkinematics

ki di

qi

pi

pi

pi

h0,i Fi

hi

hi

hi

Vi

θ

Figure 3.2: The structure of the muscle model and its interaction with the pneumatics andthe robot dynamics, see also Figure 3.1. For clarity, the conversion from the joint angles tothe muscle lengths using the robot kinematics is indicated; remark that the robot kinematicsare also incorporated in the robot dynamics.

The fourth part of the robotic arm model, considers the dynamics of the roboticarm; these are defined by the equations of motion (EOM). The inputs to the EOMare the muscle forces F , which are defined in the force response of the musclemodel, as indicated in Figure 3.2. The outputs of the EOM are the revolute jointangles θ. Using the kinematic relations, the actual muscle lengths h are derivedfrom these angles. The EOM of the robotic arm are given in the fourth and fifthrelation of (3.10); these are derived in Section 3.5.

The robotic arm is presented in this section. The individual parts as indicated inFigures 3.1 and 3.2 are derived in Sections 3.2 to 3.5. This chapter is completed bya brief discussion on the model setup and on the adopted numerical method forsimulation of the model, see Section 3.6.

3.2 Input signals and the binary valves

The binary valves used in the robotic arm are fast-switching valves. In AppendixA.2, it is shown that the response time of the valves is less then 3 ms. This is veryquick compared to other time constants in the robotic arm. For this reason thedynamic behavior of the valves is not taken into account, i.e. the change in valveflow resistance due to a change in valve state is considered to be instantaneous.

18

Page 35: Modelling and control of a robotic arm actuated by ...

Physical modelling

The eight binary valves are used to control the four muscle flows. Each valve hastwo states, either open (v = 1) or closed (v = 0). The pair of valves controlling theflow to one muscle, have only three different states: flow in, flow out and no flow.The state of the valves is determined by the valve control signal v(t), see (2.1). Thestate of the four valve pairs is determined by the flow control signal:

u(t) =[

uA (t) uB (t) uC (t) uD (t)]T

. (3.11)

The flow control signals are continuous and can be positive and negative (u ∈ R4).A positive value means flow into the muscle while a negative value means flow outof the muscle.The discrepancy between the continuous signal u(t) and the binary signal v(t) isfixed by applying a pulse width modulation (PWM) algorithm. PWM yields thebinary valves to approximate linear continuous behavior (like servo valves) while inreality the binary valves behave highly nonlinear. The PWM algorithm makes useof the fast switching time of the binary valves. Besides, the PWM algorithm is usedto convert a single flow signal ui into two valve signals vin,i and vout,i:

uiPWM−−−→

[vin,i vout,i

]for i ∈

A B C D

. (3.12)

The PWM algorithm yields an output with equal power compared to the input.This is realized by defining a PWM frequency fPWM. Every PWM sample, a pulse isgenerated of which the duration depends on the sampled value of u(t).First, the sampling time tk and the threshold vth (a saturated1 sawtooth function)are defined:

k(t) = ⌊t fPWM⌋ (3.13a)

tk(t) =k(t)

fPWM

(3.13b)

uth(t) = t fPWM − k(t) (3.13c)

vth(t) = satτ,1−τ (uth(t)) . (3.13d)

The saturation τ , as introduced in (3.13d), functions as a dead-zone which takes thelimited valve switching time into account. It is of no use to open the valve for atime smaller then its switching time, as this will not result in a flow. Besides, thissaturation prevents ”nervous behavior” in an equilibrium point of the controlledrobotic arm.

Next, the sampled time tk is used to apply a zero-order-hold to u(t). By applyingtwo different saturation functions, u(tk(t)) is divided into a flow in and a flow outsignal:

uk,in(t) = sat0,1 (u(tk(t))) (3.14a)

uk,out(t) = sat−1,0 (u(tk(t))) . (3.14b)

1 The saturation function y = sata,b (x) is defined as x being saturated by the boundary values a

and b. If x ∈ [a, b] the saturation function yields y = x, if x > b, then y = b and if x < a, theny = a. The implementation of sata,b (x) and some examples are given in Appendix C.2.

19

Page 36: Modelling and control of a robotic arm actuated by ...

0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4

0

0.5

1

t [s]

v in

,i(t

)vth(t)

ui(t)

ui(tk)

τ

τ

Figure 3.3: Example of the PWM algorithm with fPWM = 20 Hz and τ = 0.05 s.

The valve signals v are derived by comparing both sampled signals uk,in(t) anduk,out(t) to the threshold vth(t):

vin(t) = uk,in(t) > vth(t) (3.15a)

vout(t) = uk,out(t) < −vth(t) (3.15b)

v(t) =[

vin(t) vout(t)]

. (3.15c)

In Figure 3.3, an example of the PWM algorithm is given. In the upper part of thefigure, the threshold vth(t) and the original and the sampled flow control signalui(t) respectively ui(tk), are explained graphically. Also the dead-zone introducedby the switching time saturation τ is indicated. In the lower part, the resultingbinary valve control signal vin,i is shown. It can be seen that if ui(tk) > vth(t),this yields vin,i(t) = 1. The values used in this example are fictitious. The com-plete derivation and implementation of the PWM algorithm is given in Appendix C.

Two errors are introduced by the PWM. Firstly, the input signal u(t) is sampled bya zero-order-hold at times tk. This error is linear with fPWM. Secondly, the sampledinput signal is saturated by a value τ . Both errors are corrected for in the controlloop.

Also the flow signal u(t) is saturated between −1 and 1, however this is not anerror introduced by the PWM algorithm. Values of u(t) smaller than −1 or largerthan 1 will result in an opened valve for the complete duration of the PWM sample.As such, this saturation is part of the pneumatic system and the saturation occursif the valve signals are oversteering.

20

Page 37: Modelling and control of a robotic arm actuated by ...

Physical modelling

3.3 Pneumatics

The general setup of the pneumatic system is explained in Section 2.3; in this sec-tion a model describing the pneumatic behavior is discussed. To explain certainchoices made in the modelling process, the pneumatics of the DoF robotic arm istreated first. Next, this model is extended to the 2DoF robotic arm.No temperature dependency is taken into account in the model, the temperature isconsidered to be constant and at 20 C = 293K. The pressure system is modelledas a series of first-order systems. No mass effects of the gas flow (like shockwaves)are taken into account as these process are too quick to play an important role inthe behavior of the robotic arm.The complete pneumatic model is based on relative pressures; as a reference theatmospheric pressure patm is taken. This is a rather common approach as mostpressure sensors measure relative pressures only. This choice does not affect themodel as only pressure differences are important.The gas medium used in the robotic arm is pressurized air; which is considered tobe an ideal gas. The equation of state describing an ideal gas is known as Boyle-GayLussac’s law:

p V = Rs T m , (3.16)

with p the pressure, V the volume, Rs the specific gas constant of (in this case) air,T the absolute temperature and m the mass of air in the volume.Air is a compressible gas and, therefore, the density depends largely on the abso-lute pressure pabs. This is shown by rewriting (3.16) into:

=m

V=

pabs

Rs T. (3.17)

3.3.1 Pressure and flow relations

In Figure 3.4, a graphical interpretation of the DoF pneumatic model is given,the model lay-out differs from the actual layout, which is given in Figure 2.2. Fourpressures and six flows can be distinguished. The out valves are placed on the otherside of the muscle, this is done to simplify the implementation of the valves in themodel.Another difference between the actual pneumatics and the model is that the air-in valves are not shown. In Appendix D, it is shown that modelling the valves assmall volumes gives numerical problems in the resulting model. The same holdsfor the splitter; it can not be modeled as a small volume with multiple flows to it.This is solved by combining the valve signals vin,i and the splitter into one relationdefining the splitter pressure ps. The latter is elaborated on in Section 3.3.2.

Pressures

In Figure 3.5, a volume with an in-going flow qin and out-going flow qout is de-picted. The pressure is related to the flow by the time derivative of (3.16):

pdV

dt+ V

dp

dt= Rs T

dm

dt. (3.18)

21

Page 38: Modelling and control of a robotic arm actuated by ...

pin qin qs

splitter

qs,A

qs,B

pc , Vc

pA , VA

pB , VB

vout,A

vout,B

qout,A

qout,B

ps

vin,A vin,B

Figure 3.4: Schematic interpretation of the pneumatic model for the 1DoF model. Theflow directions are indicated by the arrows. The black solid lines represent hoses and thedotted lines represent binary signals. The following parts can be distinguished: two musclesystems given in yellow and red, the external inputs given in blue, the splitter is orange andthe capacity is grey.

p , V

qin qout

Figure 3.5: Pressure model.

q

p1 p2

Figure 3.6: Flow model.

lh

2rhq v

Figure 3.7: Laminar Poiseuille flow.

2rt

q

Figure 3.8: Throttle valve flow.

air supply capacity hose 1 valve hose 2 muscle

qinpin q1 q2

pc pm

p1 p2

Figure 3.9: Schematic representation of the pneumatic test setup.

22

Page 39: Modelling and control of a robotic arm actuated by ...

Physical modelling

The variation of mass in the volume depends on the air flowing in and out:

dm

dt= qin − qout . (3.19)

Substituting (3.19) in (3.18) and rearranging terms gives a first-order differentialequation for the pressure:

p =

(Rs T (qin − qout) − p

dV

dt

)V −1. (3.20)

From this relation the pressures in the muscles and the capacity will be derived.

The capacity has a constant volume of Vc = 10 l; this means the dVdt

term in relation(3.20) is equal to zero. In Figure 3.4, the flows towards the capacity are indicated.The pressure in the capacity is now given by:

pc = Rs T V −1c

(qin − qs

). (3.21)

The pressure in the splitter ps is defined in a different manner as will be explainedin Section 3.3.2 and the pressures in the muscles are part of the muscle model.

Flows

The flow through a hose depends on the pressure difference between the two sidesof the hose, as shown in Figure 3.6. Two possible relations are considered in mod-elling the flow; namely, a laminar Poiseuille flow (Figure 3.7) and the flow througha throttle valve (Figure 3.8).In order to determine the type of flow present in the robotic arm, a pneumatic testsetup has been built. The pneumatic test setup is schematically depicted in Figure3.9. It is used to determine the types of flow through the hoses. Modelling thepneumatic test setup and comparing the simulations with the measurements hasshown that each flow through a hose can be modelled by the flow through a throttlevalve. This is discussed in more detain in Appendix D.

The flow through a throttle valve according to [Polytech, 1997] is given by:

q = β sign (p1 − p2)√

ρ |p1 − p2| . (3.22)

The throttle parameter β depends only on the throttle radius rt as indicated inFigure 3.8:

β = 0.59√

2 πr2t . (3.23)

The density ρ of the air depends on the absolute pressure in the hose as defined by(3.17). As the pressure in the hose is not exactly known, it is estimated by the meanof the two pressures at each side of the hose:

ρ =p1 + p2 + 2 patm

2Rs T. (3.24)

When considering the robotic arm, the flows being defined by throttle valves canbe understood. For flow qin the throttle parameter βin is defined by the reductionvalve. For qs and qout the throttle parameters βs and βout are defined by the binaryvalves. The flows qs,A and qs,B are defined in Section 3.3.2.

23

Page 40: Modelling and control of a robotic arm actuated by ...

It should be remarked that the flows do not depend on the length of the hoses asis the case in a Poiseuille flow. In the current system setup, the flow behavior isdominated by the diameter of the valves only. In case the hoses would become verylarge, the Poiseuille flow behavior would become dominant.

Using Figure 3.4 and (3.22), the flows can be defined by:

qin = βin sign (pin − pc)√

ρ |pin − pc| (3.25)

qs = βs sign (pin − pc)√

ρ |pc − ps| . (3.26)

The flows out of the muscles depend on one pressure only: the muscle pressure.Additionally, the flow out of the muscle depends on the status of the out valves.This is taken into account by:

qout,A = vout,A βout

√ρ pA (3.27)

qout,B = vout,B βout

√ρ pB . (3.28)

3.3.2 Splitter

In the DoF robotic arm, the hose leaving the capacity is split into two hoses, oneto each muscle, see Figure 3.4. As a result, the flow to each muscle depends largelyon the flows towards the other muscle. The most logical way to model this behaviorwould be to assume one flow to enter and four flows to leave a small volume. Thesplitting of the flow would be given by a pressure relation as given by (3.20).

In Appendix D, it is shown that modelling such small volumes leads to stiff differ-ential equations resulting in numerical problems. Instead of using small volumes(modelled by first-order dynamics), it is decided to combine the binary valves andthe splitter into a zeroth-order (algebraic) relation. This means that the pressure inthe splitter changes instantaneously upon a change in the valve state.

When both in-valves are closed, the pressure in the spitter is equal to the pressurein the capacity. When one of the two valves is opened, the pressure in the splitteris equal the pressure in the opened muscle. If both valves are opened, the pressurein the splitter is equal to the lowest of the muscle pressures (as qs is determined bythe largest pressure difference). This behavior is shown in Table 3.1; it can be fittedinto a mathematical relation by using vin,A and vin,B , which are defined in (3.15):

ps =[

1 − vin,A vin,A

] [pc pBpA min(pA , pB )

] [1 − vin,B

vin,B

]. (3.29)

To determine the flow qs,i towards each muscle, a proportionality factor which ful-fills conservation of mass is required:

qs =∑

i

qs,i . (3.30)

24

Page 41: Modelling and control of a robotic arm actuated by ...

Physical modelling

ps

vin,A

0 1

vin

,B

0 pc pA

1 pB min(pA , pB )

Table 3.1: The pressure ps in the splitterdepends on the air-in signals.

qs,A

qs

vin,A

0 1

vin

,B

0 0 1

1 0 (pc−pA )(pc−pA )+(pc−pB )

Table 3.2: The flow from the splitter tomuscle A depends on the air-in signals.

The proportionality is explained for qs,A using Table 3.2. In case of vin,A = 0, noflow towards muscle A is possible. In case vin,A = 1 while vin,B = 0, the flow qs isdetermined by the pressure in muscle A according to (3.29) and the flow towardsmuscle A is given by qs,A = qs.

In case of vin,A = vin,B = 1, the muscle with the lowest pressure determines qs

according to (3.26) and (3.29). The flow qs is divided into qs,A and qs,B proportionalto the pressures pA and pB . The complete relation defining the flow towards muscleA is then given by:

qs,A =vin,A (pc − pA )

(pc − pA ) + vin,B (pc − pB )qs . (3.31)

To prevent numerical problems, in the denominator only (pc −pB ) is multiplied byvin,A . Consequently, in case vin,A = vin,B = 0 the denominator will not equal zero.It is assumed that pA will never be equal to pc which is a reasonable assumption aspc increases when both valves are closed.

The same reasoning as above applies for muscle B ; i.e. the flow qs,B towardsmuscleB is given by:

qs,B =vin,B (pc − pB )

vin,A (pc − pA ) + (pc − pB )qs . (3.32)

par value par value par value

rt,in 0.40 mm βin 4.194 · 10−7 m2 Rs 287 J kg−1 K−1

rt,s 0.52 mm βs 7.088 · 10−7 m2 T 293 Krt,out 0.72 mm βout 1.359 · 10−6 m2 Vc 0.01 m3

Table 3.3: The parameters used in the pneumatic model.

25

Page 42: Modelling and control of a robotic arm actuated by ...

3.3.3 Formulation of the pneumatic model

The formulation of the complete DoF pneumatic model is given by combining(3.21) – (3.32) into:

pc = Rs T V −1c

(qin − qs

)(3.33a)

ps =[

1 − vin,A vin,A

] [pc pBpA min(pA , pB )

] [1 − vin,B

vin,B

](3.33b)

qin = βin sign (pin − pc)√

ρ |pin − pc| (3.33c)

qs = βs sign (pc − ps)√

ρ |pc − ps| (3.33d)

qs,A =vin,A (pc − pA )qs

(pc − pA ) + vin,B (pc − pB )(3.33e)

qs,B =vin,B (pc − pB )qs

vin,A (pc − pA ) + (pc − pB )(3.33f)

qout,A = vout,A βout

√ρ pA (3.33g)

qout,B = vout,B βout

√ρ pB (3.33h)

ρ =p1 + p2 + 2patm

2Rs T. (3.33i)

It might appear that the pressures pA and pB are forgotten in the above relations.However, as these are part of themuscle model, they are stated in themuscle modelin Section 3.4.7. The parameters used in the pneumatic model are defined in Table3.3.In Appendix D.5, a pneumatic model is proposed for the 2DoF robotic arm. Thismodel is similar to the model as given in (3.33), where two adjustments are re-quired:

• the splitter is defined in two steps to take the four muscles into account and

• this requires the flows towards the muscles qs,i to be defined in a slightlydifferent fashion.

Remarks

In case vin,A = vin,B = 1, it is possible that air flows from the muscle with thehighest pressure to the muscle with the lowest pressure. This behavior is takeninto account in (3.31) and (3.32), however problems may occur if the pressure inone or both muscles becomes higher than the pressure in the capacity. An increaseinmuscle pressure is possible while all valves are closed, due to a changed in lengthof the muscle as will be explained in Section 3.4.2.The relation in (3.29) yields the wrong result for ps in one very specific case: ifvin,A = vin,B = 1 and one or both muscle pressures are higher than the pressurein the capacity. This is caused by the min(pA , pB ) term in (3.29), it assumes pc

26

Page 43: Modelling and control of a robotic arm actuated by ...

Physical modelling

always to be the largest pressure. Better would be an alternative algorithm for thecase vin,A = vin,B = 1:

ps = pA ∀ |pc − pA | > |pc − pB |ps = pB ∀ |pc − pA | < |pc − pB | . (3.34)

For the sake of simplicity (3.29) is used in the pneumatic model instead of algo-rithm (3.34). During simulations this did not result in any problems as this veryspecific case hardly occurs.

3.4 McKibben muscles

The muscle model is proposed in Section 3.1, the setup of the model is visualizedin Figure 3.2. The physical meaning of the inputs and outputs of each musclemodel part, is indicated by the arrows; also the interaction with the pneumaticsand the robot dynamics are given. The internal variables in the muscle model arethe nominal length h0,i, the muscle volume Vi, the stiffness ki and the dampingdi; the state of a muscle is given by the muscle pressure pi and the actual musclelength hi, for i ∈ A B C D .An example on the working principle of McKibben muscles and the internal vari-ables is given in Appendix B.3. Let us now revert to the mathematical modelling.First, we construct a relation using the geometric properties of the nylon braid tolink the muscle diameter to the muscle length; next the five aspects of the musclemodel, as indicated in Figure 3.2, are derived.

3.4.1 Braid kinematics

The braid consists of nylon threads with a constant length. These threads are con-sidered infinitely stiff compared to the rubber tube. In Appendix B.4, it is shownthat the nylon braid completely determines the shape of a muscle; the only func-tion of the rubber tube is to keep the air from flowing out of the muscle. Therefore,only the braid’s kinematics are taken into account in the muscle model.

Three muscle parameters are defined: half the nylon braid length L, the number ofwindings of a thread n and the diameter of the fitting d1. Due to the symmetricalweaving, a muscle does not unwind when stretching, i.e. n is constant. Twomusclevariables are introduced: the actual muscle length h and the diameter in the middleof the muscle d2. The muscle kinematics is based on three thought experiments,visualized in Figures 3.10a to 3.10c and discussed below.

• For axial stretching, the stretch–force relation is independent of the shapeof the braid. Whether the braid is barrel shaped, cylindric or (cut open and)unfolded, the stretch–force relation remains the same. In Figure 3.10b, thecut open and unfolded braid of the muscle in Figure 3.10a is given.

• The sides of the unfolded braid are given by the two variable lengths h andc. The second step is to note that length c is equal to c = πnd2. This mayseem odd, as the circumference of the muscle equals πd2. However, thethreads in the unfolded braid are completely stretched. As each threadmakesn rotations, length c equals πnd2.

27

Page 44: Modelling and control of a robotic arm actuated by ...

(a) (b) (c) (d)

kr kb

kg

h h

d1

L

d2

γ

cc = πnd2

Figure 3.10: The derivation of the muscle kinematics. The parameters of the Shadow Mc-Kibben muscles are given by L = 127.4 mm, n = 1.25 and d1 = 25 mm.

• The threads of the braid makes up a framework of parallelograms. Sincethe number of parallelograms in the braid is constant, the braid’s behavioris uniform with the behavior of one single parallelogram, this is shown inFigure 3.10c.

The muscle’s kinematics can be seen as a bar mechanism consisting of four bars,forming a parallelogram. The length of each bar equals half the nylon thread lengthL. The kinematic relations of this bar mechanism are given by:

c =√

4L2 − h2 (3.35)

d2 =c

πn=

1

πn

√4L2 − h2 (3.36)

h =√

4L2 − (πnd2)2 . (3.37)

A muscle is completely stretched if its shape is cylindrical, i.e. if d2 = d1 as alsoshown in Figure 2.5. As a result, the maximum muscle length hmax is defined bythe diameter d1. This yields hmax ≈ 235 mm, which is in accordance with themuscle’s maximum length.

It should be noted that the kinematic relations do not directly depend on the pres-sure in the muscle, i.e. they can be used for both the stretched and the unloadedcase.

3.4.2 Muscle volume

In Section 2.5, it is stated that the volume of a Shadow McKibben muscle is bestdescribed by a barrel-shaped volume. Two barrel formulations are considered, anelliptical and a parabolic shape [Weisstein, 2006]; the elliptical shape is consideredto describe the muscle shape best.

In Figure 3.11, the three parameters describing an elliptical barrel are given. Param-eter d1 is the fitting diameter, the variable muscle length h equals the barrel lengthand the barrel diameter is equal to d2. Parameter d2 is a function of the muscle

28

Page 45: Modelling and control of a robotic arm actuated by ...

Physical modelling

h

d1d2

Figure 3.11: Three barrel parameters.

length h(t), as given by (3.36). The volume of an elliptic barrel is given by:

V = V (h(t) , d2(h(t))) (3.38)

V =π h

60

(3 d2

1 + 4 d1 d2(h) + 8 d22(h)

). (3.39)

The actual muscle length h(t) is enforced on the muscle by the robot dynamics. Re-lations (3.39) and (3.36) define the volumetric behavior block in the muscle modelof Figure 3.2.

3.4.3 Pressure in the muscle

The pressure in a muscle depends, among other things, on its volume. In Section3.3, it is shown that the pressure in the muscle satisfies the following differentialequation:

pi =

(Rs T

(qs,i − qout,i

)− pi

dVi

dt

)V −1

i for i ∈ A B C D . (3.40)

Considering the dependency of the barrel’s volume in (3.38), the pressure in a mus-cle as defined by (3.40) is rewritten into:

pi =

(Rs T (qs,i − qout,i) − pi

(∂V

∂h+

∂V

∂d2

∂d2

∂h

)

i

dhi

dt

)V −1

i , (3.41)

for i ∈ A B C D , with

∂V

∂h=

π

60

(3 d2

1 + 4 d1 d2 + 8 d22

)(3.42)

∂V

∂d2=

π h

15

(d1 + 4 d2

)(3.43)

∂d2

∂h= − h

π n√

4L2 − h2. (3.44)

The inputs to (3.41) are the flows qs,i and qout,i defined in Section 3.3 and the mus-cle volume as defined by the volumetric behavior. Relation (3.41) defines the pres-sure response block in the muscle model in Figure 3.2.

29

Page 46: Modelling and control of a robotic arm actuated by ...

3.4.4 Nominal muscle length

The active behavior of the muscle model defines a relation for the nominal lengthof the muscle as a function of the pressure p. In Figure 3.2, this is indicated bythe active behavior block. To construct such a model, a fourth thought experimentis performed. The nominal length is considered to represent an equilibrium inthe face of three forces working in the muscle. These forces are indicated by threesprings in Figure 3.10d:

• The air in the muscle acts like a gas spring. The gas spring stiffness kg

depends on the pressure, an increase in pressure yields an increase in kg(p).As the air pushes from the inside on the rubber tube and braid, it tends toelongate the muscle.

• The nylon threads keep the tube from expanding; as a result it opposes elon-gation of the muscle. Inflating the muscle sharpens the curvature of themuscle (at the endings yielding the orientation of the nylon threads to changewhat is opposed by the braid; i.e. the braid stiffness kb(p) increases with themuscle pressure.

• The material behavior of the rubber tube is viscoelastic; for the sake of sim-plicity elastic behavior with stiffness kr is assumed, which is considered tobe independent of the pressure. The rubber tube opposes elongation.

To model the nominal muscle behavior, it is assumed that the braid and the rubbertube always touch. This assumption enables for the following boundary condition.In case the muscle pressure p = 0 bar, the nominal diameter d20 = 0 mm, yieldinga nominal muscle length h0 equal to the braid length 2L; i.e. h0(p = 0) = 2L.A relation determining the nominal length equilibrium is proposed, which fulfilsthe boundary condition and the three phenomena as described above:

h0∼= 2L − kg(p)

kr + kb(p). (3.45)

Extensive research to expressions for kg(p), kb(p) and kr has unfortunately notresulted in a balanced analytical solution for (3.45). It is decided to adopt (3.45)and assuming kg(p) and kb(p) to be linear with the muscle pressure and kr to beconstant. The resulting relation is normalized to two parameters: s1 [m] and s2

[Pa]. The nominal length for muscle i ∈ A B C D is now defined by:

h0,i = 2L − s1 pi

s2 + pi

. (3.46)

The nominal behavior is experimentally identified by measuring the length anddiameter of five different unloaded muscles. Each muscle is mounted on one sideand unconstrained on the other side; the length and the diameter are measured forpressures between 0.0 and 1.0 bar. In Figure 3.12, the results of this experimentare given in three plots h0(p), d20(p) and d20(h0).Based on heuristics, parameters s1 and s2 of (3.46) are fitted using the experimentshown in the left part of Figure 3.12; this yields s1 = 0.117 m and s2 = 0.232bar. The model is also plotted in Figure 3.12. The model-based nominal diameterd20 is derived by substituting (3.46) into (3.36). Despite the variations between theseveral muscles and the model assumptions, the nominal muscle length gives anaccurate fit on the experiments. Using the braid kinematics also gives an accuratefit for the nominal diameter.

30

Page 47: Modelling and control of a robotic arm actuated by ...

Physical modelling

0 0.2 0.4 0.6 0.8 1 1.2140

150

160

170

180

190

200

210

0 0.2 0.4 0.6 0.8 1 1.238

40

42

44

46

48

50

52

150 160 170 180 190 200 21038

40

42

44

46

48

50

52

muscle 1muscle 2muscle 3muscle 4muscle 5model

p [bar]p [bar] h0 [mm]

h0[m

m]

d20[m

m]

d20[m

m]

Figure 3.12: Experimental result for the nominal length h0 and nominal diameter d20 asa function of the pressure p, using five muscles. These measurements are compared to themodelled nominal length as given in (3.46), with s1 = 0.117 m and s2 = 0.232 bar. Themodel based nominal diameter d20 = d2(h0) is derived using (3.36) with n = 1.25 andL = 0.1274 m. The measurements in the left figure show that the rubber tube touches thebraid at approximate 0.3 bar. Also some hysteresis in h0 can be seen; each measurementhas two lines, one for increasing pressure (upper line) and one for decreasing pressure.

In Figure 2.5, it can be seen that the assumption, that the braid and the rubber tubealways touch, is only true for p > 0.3 bar. As a result, the muscle model is onlydefined for muscle pressures which exceed 0.3 bar. It is noted that no clear physicalinterpretation can be given to s1 and s2. Relation (3.46) defines the active behaviorblock in the muscle model of Figure 3.2.

3.4.5 Force exerted by the muscle

From the robotic arm point of view, a muscle behaves like a spring – damper sys-tem. In the dynamics of the robotic arm, this spring – damper behavior is consid-ered to generate a force Fi, which implemented for each muscle i ∈ A B C D .The force response of muscle i combines the active and the passive muscle behav-ior and is given by:

Fi = k(pi, hi)(hi(t) − h0(pi)

)+ d(pi) hi(t) , (3.47)

with k(pi, hi) the stiffness and d(pi) the damping.

The stiffness part of the muscle force is given by k(pi, hi) and the elongation termhi(t)−h0(pi). The elongation is defined by the difference between the actual lengthand the nominal length of the muscle. Herewith, the active muscle behavior (re-lated to the pressure as described in previous section) enters the muscle force rela-tion.

The damping part of the muscle force is given by d(pi) and the time derivative ofthemuscle length by hi(t). The nominal length or its time derivative plays no directrole in the damping force as only the actual motion determines the damping. Thisis easily understood; imagine a sudden change in pressure. This causes a changein nominal length and stiffness, resulting in a muscle force. The force resultsin a motion of the load and a change in muscle length, this motion is subject todissipation. Relation (3.47) defines the force response block in the muscle model.

31

Page 48: Modelling and control of a robotic arm actuated by ...

3.4.6 Muscle stiffness and damping

The stiffness k is a function of the pressure pi and the actual muscle length hi. InAppendix E.3, a model describing the stiffness of a Shadow McKibben muscle isderived as:

k(pi, hi) =(λ + pi

) (ξ0 + ξ1 hi + ξ2 h2

i

). (3.48)

The muscle stiffness behavior is defined by the pressure and the square of theactual muscle length. To compensate for the fact that the stiffness is only definedfor p > 0.3 bar, a bias λ on the pressure is introduced.In Appendices E.1 and E.2, the two stiffness models as defined in [Chou, 1996]and [Petrovic, 2002a] are given. These two models are used in the derivation of(3.48). Two reason are given to redefine the muscle stiffness model:

• The new model takes the muscle volume into account by the barrel descrip-tion and the braid kinematics; existing models assume a cylindrical volumewith fixed diameter.

• The new model is adjusted for pressures below 1.5 bar by introducing a biasλ, the existing models are only predictive for pressures exceeding 1.5 bar.

No further research on modelling the damping d using other models has been per-formed in this work. It is assumed that the damping in the muscle is determinedby the damping in the rubber tube and by the friction in the nylon braid. The latterincreases as the pressure increases. For this reason, a static damping is assumedwith an additional pressure-dependent damping. This is given by:

d(pi) = ζ0 + ζ1 pi . (3.49)

The minor interest in the muscle damping is motivated by the dynamic muscle testas discussed in Section 4.1 and by the work [Klute, 2002]. The order of magnitudeof the stiffness and damping is:

O(k) = 104

O(d) = 101 .(3.50)

The force generated by themuscle has a stiffness and a damping part: F = Fk + Fd.The contribution ratio of the stiffness and damping depends on the frequencyω = θ of the angle θ = sin(θt) of the muscle elongation and is given by:

Fd(ω)

Fk

=dω cos(θt)

k sin(θt)≈ dω

k. (3.51)

Remind that in this simple analysis, a linear damping and stiffness are assumed. Inorder for the damping to play a significant role, Fd/Fk > 0.1. Since k ≈ 1000 d thedamping is only significant if ω > 20 Hz. As the bandwidth of the robotic arm isnot expected to exceed 10 Hz, the modelling of the damping is not given extensiveattention. Resuming, the contribution of the muscle damping to the behavior ofthe robotic arm is minimal.Still, some damping must be modeled to ensure energy dissipation in the roboticarm model. The easiest way would be assuming a constant viscous damping ofthe muscles; however, a pressure dependant viscous damping as given in (3.49) isused. Relations (3.48) and (3.49) define the passive behavior block in the musclemodel of Figure 3.2.

32

Page 49: Modelling and control of a robotic arm actuated by ...

Physical modelling

3.4.7 Formulation of the muscle model

Combining relations in this section, gives the muscle model for i ∈ A B C D :

d2,i =1

πn

√4L2 − h2

i (3.52a)

Vi =π hi

60

(3 d2

1 + 4 d1 d2,i + 8 d2,i2)

(3.52b)

pi =

Rs T

(qs,i − qout,i

)− pi hi

(∂V

∂h+

∂V

∂d2

∂d2

∂h

)

i

V −1

i

(3.52c)(∂V

∂h

)

i

60

(3 d2

1 + 4 d1 d2,i + 8 d2,i2)

(3.52d)

(∂V

∂d2

)

i

=π hi

15

(d1 + 4 d2,i

)(3.52e)

(∂d2

∂h

)

i

= − hi

π n√

4L2 − h2i

(3.52f)

h0(pi) = 2L − s1 pi

s2 + pi

(3.52g)

k(pi, hi) =(λ + pi

) (ξ0 + ξ1 hi + ξ2 h2

i

)(3.52h)

d(pi) = ζ0 + ζ1 pi (3.52i)

Fi = k(pi, hi)(hi − h0(pi)

)+ d(pi) hi . (3.52j)

The inputs to this model are the two flows qs,i and qout,i (resulting from the pneu-matic model as derived in Section 3.3) and the actual muscle length hi (determinedby the robot dynamics which will be derived in Section 3.5). The outputs of themus-cle model are the pressure pi and the force Fi. In Chapter 4, the passive muscleparameters are identified using an experimental setup.

Remarks

In Figure 3.12, two phenomena that are not taken into account in the muscle modelcan be seen. Firstly, the five muscles used in the experiment show a large variabilityin their nominal behavior, approximately 10 mm variation in their nominal length.The variation betweenmuscles is not modelled. By adjustingmuscle specific valuesfor parameters like L and n, the variation might be covered.Secondly, each muscle experiences hysteresis due to friction in the braid and due toviscoelastic rubber behavior. The measurements in the left part of Figure 3.12 con-tain two curves; the difference between these two curves is caused by the hysteresis.As the hysteresis gives a length variation of approximately 3 mm, it is concludedthat the variability between the muscles is dominant over the hysteresis. For thisreason, the position error due to hysteresis is not considered either. The energydissipation due to the hysteresis is considered as an additional viscous dampingand taken into account in damping parameter ζ0.

33

Page 50: Modelling and control of a robotic arm actuated by ...

3.5 Equations of motion of the robotic arm

In this section, the equations of motion of the robotic arm are derived, using amultibody model. The model of the robotic arm dynamics is shown in Figure 3.13.A muscle is given by a spring k, a damper d and an active part h0 as shown inFigure 3.14. Each muscle is modelled by the force law in (3.47). In the multibodymodel, the muscles are only considered by means of these forces.

In Appendix F, the complete multibody model is derived for both the DoF and2DoF robotic arm. In this section, the setup of the multibody model is discussedand the DoF multibody model is presented. In the derivation of the equations ofmotion, the notation as defined in [van de Wouw, 2003] is adopted.

3.5.1 Robot kinematics

The dynamic multibody model describes the motion of the rigid bodies in spaceand time, by taking into account the forces and moments acting on these bodies.Only the x and y dimensions, as indicated in Figure 3.13, are of interest, i.e. themodel is in two dimensions. The kinematic relations are required to describe theposition of the rigid bodies with respect to each other.

In Figure 3.15 (see Figure F.1 for an enlarged version) the kinematic relations ofthe robotic arm are given. The kinematics are defined in relative coordinates. Thismeans that the position of each mass is defined relative to the position of the massit is connected to. Three vector frames are introduced. The point O indicates theorigin of the fixed frame ~e 0. In the center of mass of body 1 (CM1), frame ~e 1 isintroduced and, in the center of mass of body 2 (CM2), frame ~e 2 is located.

Furthermore, three joints are introduced. The point C00 coincides with the originO. At C01 and C11 = C12, two revolute joints are located, connecting body 1 to thefixed world and body 2 to body 1 respectively. The dimensions of the robotic armare given in Figure F.2 and Table F.1.

A

B

CDS

x

y

body 1body 2

Figure 3.13: Simple robotic arm model.

k (p, h) d (p)

h0 (p)

h

Figure 3.14: Muscle dynamics.

34

Page 51: Modelling and control of a robotic arm actuated by ...

Physical modelling

CM1

CM2

O = C00

C01

C11 = C12

A

B

CDS

~e 01

~e 02

~e 11

~e 12

~e 21

~e 22

−θ2

θ1

~c0

~rCM1

~rCM2

~b12

~b01

~b11

Figure 3.15: Kinematic relations.

CM1

CM2

O = C00

C01

C11 = C12~FA

−~FA

~FB

−~FB

~FC

−~FC

~FD

−~FD

~FS

−~FS

~b1A

~b2A

~b1B

~b2B

~b0C

~b1C

~b0D

~b1D

~b0S

~b1S

©

2©3©

4©5©6©

Figure 3.16: Robotic arm forces.

35

Page 52: Modelling and control of a robotic arm actuated by ...

3.5.2 Robot dynamics

All forces and their subsequent body-fixed vectors are given in Figure 3.16 (seeFigure F.3 for an enlarged version). The spring S connected to body 1 is a purely

elastic element; the spring force ~FS generated by the spring is a conservative forceand is as such implemented in the multibody model.

The muscle forces ~Fi, for i ∈ A B C D , describe the complete muscle behavior.

Using the principle of virtual work, the muscle forces ~Fi are implemented as gen-eralized forces Qi into the Lagrange equations of motion [de Kraker, 2001].

The inertial properties of a rotating body in three dimensional are defined by aninertia tensor. In the robotic arm, only two dimensions (x and y) are considered.As a result, only the rotation in the x − y plane is considered; now, the inertialproperties of each body are given by one parameter. The inertia of both bodies areestimated numerically by constructing a CADmodel of the robotic arm (see Figure1.4). The inertial properties of the body 1 and 2 with respect to respectively CM1and CM2 and with respect to respectively C01 and C12, are given in Appendix F.7.Besides these two bodies, a number of other masses are present on the roboticarm, such as the pressure sensors, the valves, the electric wiring and the hoses. Theinertia of the hoses and of the muscles are not taken into account. The inertia of thewiring, sensors and valves mounted on body 1 are implemented in one single pointmass sv. It should be noted that the stiffness due to the hoses is not considered.The equations of motion for the 2DoF robotic arm are given in Appendix F.5. Theequation of motion for the DoF robotic arm is derived in Appendix F.6 and givenby:

(m2 l212 + Jzz2

)θ2 − m2 g l12 sin(θ2) =

FA

‖ ~fA ‖(l12 − l2A )

(l11y − l1A

)sin(θ2) +

(l11x − lAB

)cos(θ2)

+ (3.53)

FB

‖ ~fB ‖(l12 − l2B )

(l11y + l1B

)sin(θ2) +

(l11x − lAB

)cos(θ2)

.

The inputs to (3.53) are the muscle forces FA and FB as defined in (3.47); The forces

Fi are in fact the magnitude of the force vector ~Fi. The direction of the force vector

is given by the vector~fi

‖~fi‖, with ~fi the vector between the two mounting points

of muscle i. The gravitational constant is given by g. The numerical values of allparameters as used in (3.53), are given in Table 3.4; the length parameters of the2DoF multibody model are given in Table F.1 in Appendix F.

According to Figure 3.1, the actual muscle length hi is an output of the robot dy-namics, which functions as an input to the muscle model. The actual length hi of

muscle i is related to the vector ~fi by:

hi = ‖~fi‖ − lfAB for i ∈A B

hi = ‖~fi‖ − lfCD for i ∈C D

,

(3.54)

with lfAB the length of the fittings of muscles A and B and lfCD the length of thefittings of muscles C and D ; the fittings are always in line with the muscle.

36

Page 53: Modelling and control of a robotic arm actuated by ...

Physical modelling

par value par value par value

l1A 76.0 mm l11x 453.3 mm msv 0.80 kgl2A 142.0 mm l11y 26.3 mm m1 2.64 kgl1B 24.0 mm lAB 123.3 mm m2 0.533 kgl2B 210.0 mm lfAB 140.0 mm Jzz1 89.3 g m2

l12 176.0 mm g 9.81 m s−2 Jzz2 5.70 g m2

Table 3.4: Parameter values of the 1DoF equation of motion.

3.6 Discussion

In Section 3.1, the complete robotic arm model is stated and in the following foursections, all relations making up the model are elaborated. It can be concluded thatthe robotic arm model is rather involved. In this section, some possible improve-ments to the model are given. In advance of the following chapter, the adoptednumerical method for performing simulations with the model is discussed.

In the muscle model, the nominal behavior is defined using a force balance be-tween three phenomena. The stiffness of the McKibben muscle is defined by ap-plying the principle of virtual work to the air pushing the rubber tube and the braidand to the elongation of the muscle. Both types of behavior are related to each otheras they depend on the the same force balance in case the muscle is unloaded. Therelation between these two types of behavior has not become completely clear (asdiscussed in Section 3.4.4); this requires for further research.

To prevent the pneumatic model (and the robotic arm model) to be described by aset of stiff differential equations, the valves and the splitter are defined by analyticalrelations. Changes in the valve state are considered to be instantaneous. This isa reasonable assumption as the volumes of the splitter, valves and hoses are smallcompared to the volume of the capacity and the muscles.

The adopted relations for the valves and splitter yield a complex interweaving ofthe valve signals v into the pneumatic model. Disadvantage of the instantaneouspressure change on a changes in valve state is that the model has discontinuousstate evolutions. The interweaving of v in the model can be reduced by modellingone hose from the capacity to each muscle; this enables for the valves to be takeninto account by the flow control signals u. However, as this also leads to neglectingthe division of the flow in the splitter, it must be investigated whether this is a fairassumption.

This brings us to the adopted numerical method for solving the robotic armmodel.A consequence of the complex interweaving of the binary valve signals v are thediscontinuous states. A standard solver, such as ODE45, does not handle these in-stant changes very well. ODE45 decreases its integration time step if states changerapidly. A dedicated solver for stiff differential equations, such as ODE23s, is nosolution either; these solvers still decrease their integration time step locally.

The only solution for solving the current model effective is to use a fixed-step ODEsolver; these solvers handle the discrete valve signals effectively, yielding in a con-siderable reduction in computation time. Disadvantage is that no relative and ab-

37

Page 54: Modelling and control of a robotic arm actuated by ...

solute integration error can be defined. The numerical convergence is verified bycomparing the solution of ODE2, ODE3, ODE4 and ODE5 with the ODE45 solution;also several integration time steps are considered. based on such comparative eval-uation of these numerical schemes and the results of the simulations, it is decidedto use a ODE3 solver with a time step of 1 ms.The robotic arm model is implemented in MATLAB code as well as in a SIMULINK

model. The MATLAB code implementation is given in Appendix I. The SIMULINK

implementation and the MATLAB implementation give identical results. Bothmakeuse of an ODE3 solver with an integration time step of 1 ms.

38

Page 55: Modelling and control of a robotic arm actuated by ...

4Identification and model

validation

In this chapter, the identification of the McKibben muscles and of the robotic armis discussed, together with the validation of the robotic arm model. The validationof the robotic arm model is threefold: the equilibria, frequency response functionsand time behavior of test setup are compared with the equilibria, linearization andtime-domain simulations of the model.The setup of this chapter might seem a little odd. The identification of the mus-cle model and the validation of the equilibria are discussed in Sections 4.1 and 4.2respectively; the results of these two sections are closely related. Also the identi-fication of the robotic arm and the validation of the FRF’s are closely related as isdiscussed in respectively Sections 4.3 and 4.4The third and last part of the validation is given in Section 4.5, in which the open-loop time behavior of the model and the robotic arm are compared. Section 4.6gives a discussion on the model validation and the applicability of the model.

4.1 Muscle identification

The model as proposed in the previous chapter, contains a number of parameters.The parameters of the pneumatic model and the dynamic model are already de-fined in respectively Tables 3.3 and 3.4. The parameters of the muscle model areyet to be identified; this is the topic of this section. In Section 3.4.6, a model for thestiffness k and damping d of a McKibben muscle is proposed:

k(p, h) =(λ + p

) (ξ0 + ξ1 h + ξ2 h2

). (4.1)

d(p) = ζ0 + ζ1 p . (4.2)

The stiffness parameters λ, ξ0, ξ1 and ξ2 and the damping parameters ζ0 and ζ1 areidentified using dedicated experiments. For this purpose, five McKibben musclesare mounted into a MTS810 dynamic tensile test bench. Using dynamic testingyields a better identification for the stiffness instead of using merely static tests.Identifying damping always requires dynamic or quasi-dynamic testing. Also pos-sible frequency dependant behavior of the McKibben muscle will be determined inthis way. Images of the dynamic test setup are shown in Figures 4.1 to 4.3.

Page 56: Modelling and control of a robotic arm actuated by ...

Figure 4.1: The McKibben muscle with the fittings for the MTS tensile bench.The connec-tion between the muscle and the tensile bench is rigidly fixed, so no rotations of the muscleare possible.

Figure 4.2: MTS810 tensile testbench with McKibben muscle musclemounted.

forcesensors

-

QQs

pressuresensor

BBM

muscle

­­À

manual valve

AUpositionactuator

¾

Figure 4.3: Close-up of the McKibbenmuscle with the pressure and force sen-sors.

40

Page 57: Modelling and control of a robotic arm actuated by ...

Identification and model validation

In the dynamic muscle tests, a length is enforced on the muscle. A low amplitudevibration is applied by the testing bench and both the force and the muscle lengthare measured. The approach for each experiment is given in two steps:

• The McKibben muscle is rigidly fixed in the MTS810. A given length is im-posed on the muscle (see Figure 4.4) and the pressure in the muscle is setto a level, subsequent to one of the equilibrium gridpoints. The valves areclosed in order to keep the air mass inside the muscle constant.

• A noise position signal (f ∈ [0, 20] Hz) is superimposed on the referenceposition. The realized position and the force response of the muscle aremeasured. This is repeated five times in each working point for every muscle.

These tests are performed in the working range with pressures from 0.5 to 1.4bar and with lengths between 150 to 200 mm. Totally, 40 working points are usedfor the measurements, the measurement grid is indicated by the green circles inFigure 4.4. In this figure, also the measured nominal lengths of five muscles areshown (the same results as given in Figure 3.12). Muscle 4 is used as default testingmuscle, the other four muscles are only used in a few points (indicated by the reddots in Figure 4.4) and serve to verify the muscle 4 measurements.

This experiment yields 5 × 40 data sets; the force over position FRF is derived foreach measurement. Using a FRF fit, the muscle’s stiffness kw and damping dw areidentified in each grid point. This is elaborated on in Appendix G and the resultsare given in Figure 4.5. The solid lines represent the stiffness and damping formuscle 4, the symbols give the results of the four reference muscles.

0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 1.1 1.2 1.3 1.4 1.5140

150

160

170

180

190

200

210

220

p [bar]

h[m

m]

h0 muscle 1h0 muscle 2h0 muscle 3h0 muscle 4h0 muscle 5gridpoint muscle 4gridpoint muscle 1 2 3 5

Figure 4.4: The nominal length h0 of five muscles and the measuring grid for the muscleidentification.

41

Page 58: Modelling and control of a robotic arm actuated by ...

0.4 0.6 0.8 1 1.2 1.42

4

6

8

10

12

14

16

150 160 170 180 190 2002

4

6

8

10

12

14

16

150 160 170 180 190 20010

14

18

22

26

30

34

0.4 0.6 0.8 1 1.2 1.410

14

18

22

26

30

34

h [mm]h [mm]

p [bar]p [bar]

kw

[kNm

−1]

kw

[kNm

−1]

dw

[Nsm

−1]

dw

[Nsm

−1]

0.5 bar0.6 bar0.7 bar0.8 bar0.9 bar1.0 bar1.2 bar1.4 bar

150 mm160 mm170 mm180 mm190 mm200 mm

muscle 1muscle 2muscle 3muscle 5

Figure 4.5: The identified stiffness kw and damping dw as function of the pressure p andthe length h of muscle 4. Remark that the colors used in the upper two figures indicate thepressure while in the lower two figures the colors indicate the muscle length. The identifiedstiffness and damping of muscles 1, 2, 3 and 5 are indicated by a symbol for the eightworking points they have been tested in. The color of the symbols refer to the line colors. Incase of the stiffness, it appears that the stiffness of muscle 4 is in almost all cases below thatof the other muscles. The variation is up to 20%. This figure is similar to Figure G.4.

0.12 0.14 0.16 0.18 0.2 0.22 0.24

0.20.5

0.81.1

1.41.7

0

2

4

6

8

10

12

14

16

18

20

h [m]

p [bar]

k[kNm

−1]

0.12 0.14 0.16 0.18 0.2 0.22 0.24

0.20.5

0.81.1

1.41.7

0

2

4

6

8

10

12

14

16

18

20

h [m]

p [bar]

k[kNm

−1]

Figure 4.6: In both figures, the experimentally identified stiffness is given by the solidsurface. In the left figure, the analytical solution of the stiffness model is given by the mesh,while in the right figure the mesh represents the fit of the experiment on the model. Thestiffness in the analytical model is structurally lower than in the experiments and the fittedmodel. The experimental identified stiffness is also shown in the left part of Figure G.5; therelative error between both models and the experiment is given in Figure G.6.

42

Page 59: Modelling and control of a robotic arm actuated by ...

Identification and model validation

The stiffness appears to be linear with the pressure and quadratic with the length.On the other hand, the damping does not show a clear dependency on the pressure;a slight increase with the length can be seen. Note also the difference between thefive muscles, especially in the damping.

The next step is to relate the experimental stiffness to the stiffness model as definedin (4.1). Due to the multiplication of h and p in (4.1), it is not possible to use a leastsquares fit to identify the four muscle parameters directly on the experimental datakw. This is solved by using six parameters for the least squares fit, [Kreyszig, 1999].These six parameters are derived from the original four parameters according to:

k =(λ + p

) (ξ0 + ξ1 h + ξ2 h2

)(4.3)

k =(λ ξ0

1

+λ ξ1

2

h + λ ξ2

3

h2 + ξ0

4

p + ξ1

5

p h + ξ2

6

p h2)

. (4.4)

Unfortunately, the least squares fit yields no exact solution for the four parametersλ, ξ0, ξ1 and ξ2; i.e. the six parameters in (4.4) cannot be written into four parame-ters. By adding two corrections parameters c0 and c1, the model is improved:

k =(λ ξ0 c0 + λ ξ1 c1 h + λ ξ2 h2 + ξ0 p + ξ1 p h + ξ2 p h2

). (4.5)

In the ideal case (as is the case for the analytical solution), the two correction factorsc0 and c1 equal 1. In Table 4.1, the results of the least squares fit are given. Alsothe analytical values of the four parameters as derived in Appendix E.4 are given.In Figure 4.6, the stiffness as experimentally identified is given in the left and theright part by the solid surface. In the left part, also the analytical solution of theparameters as derived in Appendix E.4 is given by the meshed surface. In the rightpart of Figure 4.6, also the fit of the experimental data on (4.5) is given.Even though the numerical values of the analytical and the fitted experimental pa-rameters differ a lot, the analytical and the experimental model show similar re-sults. The main difference is the stiffness – length relation. The analytical modelgives only a slight increase in the stiffness for increasing length, while accordingto the experiments, the stiffness increases substantially with the muscle length h.The large difference of λ for the analytical and the experimental model, is a resultof using a least squares fit to derive the experimental model. As can be seen in theright part of Figure 4.6, the minimum of the quadratic relation of the experimentalmodel is located at approximately h = 160 mm (see also Figure G.6). When con-sidering the experimental data (solid surface), a minimum around h = 100 mmseems more realistic. This difference yields the fitted λ to be higher. This alsoexplains part of the factor 10 difference between the experimental and analytical ξparameters.

parameter λ ξ0 ξ1 ξ2 c0 c1 ζ0 ζ1

[bar] [m] [–] [m−1] [–] [–] [N sm−1] [m s]

experiment 3.97 0.442 −5.06 12.80 0.82 0.85 9.55 1.94analytical 0.50 0.055 −0.47 1.97 1.00 1.00 – –

Table 4.1: The six stiffness parameter values as experimentally identified and fitted on (4.5)are given in the upper row, the analytical solution as derived in Appendix E.4 in the lowerrow. Also the experimental damping parameters are given.

43

Page 60: Modelling and control of a robotic arm actuated by ...

0.2 0.4 0.6 0.8 1 1.2

0.2

0.4

0.6

0.8

1

1.2

−40

−30

−20

−10

−10

0

0

10

1020

2030

3040

40

0.4

0.4

0.60.8

1

1

1.2

1.2

1.4

1.4

1.6

1.8

2

pA [bar]

pB[bar]

θ2 [deg]

pAB [bar]

Figure 4.7: Solution for θ2 = f(pA , pB ). Also the cumulative pressure pAB is indicated.

−40 −30 −20 −10 0 10 20 30 400.2

0.4

0.6

0.8

1

1.2

1.4

1.6

1.8

2

2.2

0.2

0.3

0.3

0.4

0.4

0.5

0.5

0.6

0.6

0.7

0.8

0.9

1

0.2

0.3

0.3

0.4

0.4

0.5

0.5

0.6

0.6

0.7

0.8

0.9

1

θ2 [deg]

pAB[bar]

pA [bar]

pB [bar]

Figure 4.8: The required pressures pA and pB for a setpoint given by θ2 and pAB .

44

Page 61: Modelling and control of a robotic arm actuated by ...

Identification and model validation

Considering these results, the linear stiffness – pressure relation in the model isgood. The quadratic stiffness – length relation as derived in the model is presentin the muscles, although it is hardly present when using the analytical parameters.This might indicate that the volume – length relation in the muscle model is notcorrect, as the ξ parameters are derived from this relation. Concluding, relation(4.1) seems promising but the volume – length relation needs reconsideration.Based on the most accurate fit, the parameters derived by fitting the experimentaldata to (4.5) are used in the remainder of this work; i.e. the upper row in Table 4.1.

The dynamic experiments are also used to determine the damping in the muscles,see Appendix G. The measurements are fitted to the model as given in (4.2), yield-ing the two ζ parameters as given in Table 4.1 (and shown in Figure G.7).It should be noted that the dynamic muscle test is not very suitable to determinethe damping, the damping is not explicitly accessed by the small perturbations. Abetter method to measure the damping directly, is by using a quasi-dynamic test;an indirect method is to use the FRF of a load attached to the muscle. It is decidedto estimate the damping using the FRF’s from the robotic arm identification; inthis way, the energy dissipation in both the muscles and in the joints of the roboticarm due to friction, are considered. The current result are just an indication of themuscle damping.

4.2 Validation of the equilibria

The equilibria of the robotic arm require the valves to be closed, i.e. u = 0 andv = 0. This is easy to understand by realizing that u is in fact a flow referencesignal. As a result, u affects the time derivatives of the pressures. This is confirmedby the low frequency −1-slope of the magnitude of the FRF of the robot, as ispresented in next section.The equilibria of the model are derived by x = 0 and u = 0, with x as defined in(3.10) and the stiffness according to the experimental parameters of Table 4.1. It iseasy to see that the equilibrium values:

x =[

pc pA pB θ2¯θ2

]T

, (4.6)

are given by:

pc = pin

pA ∈[

0 pin

]

pB ∈[

0 pin

]

θ2 = f(pA , pB )¯θ2 = 0 .

(4.7)

The parameter pin is the supply pressure to the capacity; in our case pin = 1.0bar. The pressures pA and pB are both manually fixed to any value in the interval[0 , pin]. Angle θ2 is defined by the two muscle pressures; i.e. any combination ofthe pA and pB results in a stable equilibrium position θ2, where f(pA , pB ) is theexpression for θ2 following from the following equilibrium equation:

QA (pA , θ2) + QB (pB , θ2) + m2 g l12 sin(θ2) = 0 . (4.8)

45

Page 62: Modelling and control of a robotic arm actuated by ...

0.2 0.4 0.6 0.8 1 1.2

0.2

0.4

0.6

0.8

1

1.2

−40 −20 0 20 400.2

0.4

0.6

0.8

1

1.2

1.4

1.6

1.8

2

2.2

pA [bar]

pB[bar]

θ2 [deg]

pAB[bar]

θ2 [deg]

pAB [bar]

pA [bar]

pB [bar]

model model

experiment experiment

Figure 4.9: The equilibrium points of the robotic arm, as predicted by the identified modeland as experimentally verified on the robotic arm. The equilibria are set according to θ2

and pAB as shown in the left figure, the accompanying pressures pA and pB are shown inthe right figure. See also the Figures 4.7 and 4.8.

0.2 0.4 0.6 0.8 1 1.2

0.2

0.4

0.6

0.8

1

1.2

−40 −20 0 20 400.2

0.4

0.6

0.8

1

1.2

1.4

1.6

1.8

2

2.2

pA [bar]

pB[bar]

θ2 [deg]

pAB[bar]

θ2 [deg]

pAB [bar]

pA [bar]

pB [bar]

modelmodel

experimentexperiment

Figure 4.10: The equilibrium points of the robotic arm, as predicted by the estimated modeland as experimentally verified on the robotic arm. Compared to Figure 4.9, the estimatedstiffness parameters are used, instead of the experimentally derived stiffness parameters.Remark that the contour lines do not resemble the contour lines in Figures 4.7, 4.8 and4.9.

46

Page 63: Modelling and control of a robotic arm actuated by ...

Identification and model validation

No analytical solution of (4.8) is presented here. Instead, a graphical interpretationof θ2 = f(pA , pB ) is given in Figure 4.7; in this figure also the cumulative equilib-rium pressure pAB = pA + pB is indicated; this will appear to be useful in Chapter5. In Figure 4.8, the ”inverse” of Figure 4.7 is presented. It shows the requiredpressures pA and pB which yield a desired combination of θ2 and pAB .The equilibria, as predicted by the model, are verified on the robotic arm in twentyequilibria. To simplify these experiments, they are performed in closed-loop. Theuse of a controller does not affect the location of the equilibria as in an equilibriumu = 0; i.e. the controller only guarantees that both pressures are met.In the left part of Figure 4.9, the twenty equilibria (given by θ2 and pAB ) are in-dicated. These equilibria are realized on the robotic arm (green circle) and in themodel (magenta circle). In the right part of Figure 4.9, the pressures pA and pBbelonging to the equilibrium setpoints are given. As can be seen, there is a dis-crepancy, indicated by the black line, between the pressures in the robotic arm andas predicted by the model. The model predicts accurately in case θ2 ∈ [−10, 10]deg and pAB ∈ [0.4, 1.0] bar.In an equilibrium, the damping is not important, i.e. the muscle force is equalto the force due to the stiffness. Each equilibrium is determined by the muscle(stiffness) forces and the gravity force, i.e. these forces cause themismatch betweenthe model and the experiments:

• If the stiffness k(p, h) is wrongly predicted in the model, this causes an errorin the muscle force and in the equilibria. The stiffness, however, is experi-mentally determined and for this reason considered to be reliable; namely,the FRF data as discussed in Appendix G show to be reliable. The experi-ments to identify the muscle stiffness are performed inbetween 0.5 and 1.4bar. In the equilibria, the muscle pressure is inbetween 0.2 and 0.9 bar. Asthe stiffness parameters are fitted on the data between 0.5 and 1.4, this fittedmodel might predict the stiffness wrong below 0.5 bar.

• The stiffness force also depends on the elongation of the muscle h − h0(p).The muscle length h is estimated correctly, using the kinematic relations ofthe robotic arm. A possibly wrong estimation of the nominal length h0(p),causes errors in the muscle force. In Figure 3.12, the modeled h0(p) seemsaccurate; however, the muscles show a variation of at least 10 mm in theirnominal length.

• The gravity force in the model is expected to be correctly estimated, as thispart involves no doubtful assumptions.

• Dry friction in the revolute joints my cause a deadzone, but this is unlikely tocause an angular shift of 10 degrees in just a specific part of the applicationrange. Besides, the muscles are under pretension.

In order to check the robotic arm model setup, the experimental results are alsocompared to the model, now using the estimated stiffness parameters of Table 4.1.The equilibria of this model are given in Figure 4.10. Thematch between themodeland experiments is striking. Unfortunately, the estimated stiffness is considered tobe too low, but according to this figure the model setup seems correct.Concluding, the mismatch between the (fitted) model and the experiments is prob-ably caused by an error in the estimate of the nominal length (due to the variationbetween individual muscles) and an error in the estimate of the stiffness parame-ters. The latter error is caused by the use of a least squares fit over an applicationrange that does not resemble the application range in the robotic arm.

47

Page 64: Modelling and control of a robotic arm actuated by ...

Nominal muscle behavior

A second important indicator to verify the equilibria is the nominal behavior of themuscles. The nominal behavior of the muscles is explained in Section 3.4.4 andshown in Figure 3.12. The match between the experimental and modeled nominallength and diameter is good, although there is much variation between the mus-cles. The muscle parameters L, n, s1 and s2 are very dominant in the solution of(4.8) and the nominal behavior. The discrepancy of the modeled and experimentalequilibria might be improved by reconsidering the four muscle parameters, butthis will be at the cost of a less accurate match of the nominal behavior.

4.3 Robotic arm identification

In Chapter 5, a control strategy is proposed that stabilizes the robotic arm. Tworeference variables are used in the controlled DoF robotic arm: the angle θ2 andthe cumulative pressure pAB = pA + pB , which are assumed to be completely de-coupled. To control these two new outputs, an angle input zθ and a cumulativepressure input zp are defined. The identification of the robotic arm is given by theFRF of angle θ2 over input zθ around an equilibrium (θ2, pAB ).The identification is performed in 24 equilibria, which are indicated by circles inFigure 4.9. Each equilibrium is a defined by an angle θ2 and a cumulative pressurepAB . The FRF’s are measured in closed-loop to keep the robotic arm from driftingaway from its reference. For the purpose of identification, noise is injected in theθ2 loop while the cumulative pressure pAB is kept constant.The general setup of the closed-loop identification procedure is given in Figure 4.11.A plant Hx is identified for output x around an equilibrium reference xref, usinga sensitivity analysis on the experimental data. Using the FRF of controller C andthe power spectra Φe1

and Φe2of the error signals e1 and e2,Hx is derived by:

Hx = − Φe1

C Φe2

. (4.9)

The FRF of the plant around an equilibrium (θ2, pAB ) for the angle θ2, is given byPθ = θ2

zθ, with zθ the control signal. First, a sensitivity analysis, using a simple gain

controller C is performed, this yields two angular error signals e1 and e2. The nextstep is to calculate the power spectra Φe1

and Φe2of these error signals. Finally, the

FRF Pθ is derived using the power spectra and by eliminating the controller, as isshown in (4.9).

e1

ne2

zx xxref

+

++

−C Hx

Figure 4.11: Schematic representation of a sensitivity analysis of output x over input zx,around equilibrium x. A known disturbance n is introduced in the control-loop, usingcontroller C. Both error signals e1 and e2 are measured and used to deriveHx = x

zx.

48

Page 65: Modelling and control of a robotic arm actuated by ...

Identification and model validation

10−1

100

101

−80

−70

−60

−50

−40

−30

−20

−10

0

10−1

100

101

−180

−90

0

90

180

10−1

100

101

10−8

10−6

10−4

10−2

100

10−1

100

101

0

0.2

0.4

0.6

0.8

1

f [Hz]f [Hz]

|Pθ|[radV−

1dB]

phase(P θ

)[deg]

|Φ|[dB]

|γ2 hF|[–]

frequency response function Pθ = θ2

zθpower spectra Φ

coherence

Φxx [V2]Φyy [rad2]Φxy [V rad]

Figure 4.12: Experimental sensitivity analysis around equilibrium point: θ2 = 0 deg andpAB = 1 bar. The indices x and y are defined by x = −C e2 and y = e1. The third-order

transfer function Pθ(s) as in (4.10), with α = 780, ω = 6.3 Hz and ς = 0.05 is fittedon Pθ = θ2

zθ.

In Figure 4.12, the result of the sensitivity analysis is shown for the equilibriumpoint with θ2 = 0 deg and pAB = 1.0 bar. The experiment shows a good coherencebetween f = 0.2 Hz and f = 10 Hz and is considered to be reliable in this range.The FRF is characterized by a low-frequency −1-slope, an eigenfrequency at ap-proximately 6 Hz and a high-frequent −3-slope. A standard spring-mass-dampersystem is characterized by a constant gain below the eigenfrequency and a−2-slopebeyond the eigenfrequency. The additional−1-slope of the robotic arm is caused bythe input u, which directly affects the time derivative of the pressure, thereby intro-ducing an additional integrator. For the moment, we assume that the two musclesact like a force actuator; the dynamics of the robotic arm around an equilibrium ismodelled by the following third-order transfer function:

Pθ(s) =α

s

1

s2 + 2 ς ω s + ω2=

α

s3 + 2 ς ω s2 + ω2 s. (4.10)

The gain α depends on the flow (and on the numerical values of the pressure andthe angle); the damping ration is given by ς . The natural eigenfrequency ω (inradians per second) depends on the sum of the stiffness of muscles A and B , i.e.kAB = kA + kB and on the moment of inertia Jzz2 of body 2 according to:

ω =

√kAB (l12 − l2A )2 J −1

zz2 , (4.11)

with l12− l2A the distance between the muscle mounting and joint 2 ; this is correctas muscles A and B are mounted equidistantly from joint 2 , see Table 3.4.

49

Page 66: Modelling and control of a robotic arm actuated by ...

10−

110

010

1−

80

−70

−60

−50

−40

−30

−20

−100 10

−1

100

101

−18

0

−90090180

frequen

cyresponse

functionP θ

=θ2

f[H

z]

|Pθ|[radV−1

dB] phase(Pθ)[deg]

θ-3

0p

0.8

θ-1

5p

0.8

θ0

p0.

8

θ15

p0.

8

θ30

p0.

8

θ-3

0p

1.0

θ-1

5p

1.0

θ0

p1.

0

θ15

p1.

0

θ30

p1.

0

θ-3

0p

1.2

θ-1

5p

1.2

θ0

p1.

2

θ15

p1.

2

θ30

p1.

2

θ-3

0p

1.4

θ-1

5p

1.4

θ0

p1.

4

θ15

p1.

4

θ30

p1.

4

θ-1

5p

1.6

θ0

p1.

6

θ15

p1.

6

θ0

p1.

8

Figure 4.13: The FRF of Pθ = θ2zθ

for 24 equilibrium points of the 1DoF robotic arm. Inthe legend, the equilibrium points are given in a short handed way; i.e. θ -30 p 0.8 indicatesθ2 = −30 deg, pAB = 0.8 bar.

50

Page 67: Modelling and control of a robotic arm actuated by ...

Identification and model validation

The model Pθaccording to (4.10) is fitted on the experimental FRF Pθ. The fit isshown in Figure 4.12; it allows us to estimate the damping ratio ς of the roboticarm. The damping in the robotic system is very low: ς = 0.05. This yields that thedamped and the natural eigenfrequency are approximately equal: ω = 6.3 Hz.

In Figure 4.13, the resulting FRF’s Pθ are given for the 24 equilibria. Six conclu-sions can be drawn from this figure:

• The FRF’s indicate a distinct different behavior in each equilibrium point;this proves that the robotic arm behaves in a nonlinear manner.

• The mass line (with slope −3) is identical in each equilibrium. As a result,it can be concluded that the muscles act like a force actuator. This is in ac-cordance with the assumption of the third-order transfer function in (4.10).If the muscles would act like a position actuator, the actuator part in relation(4.10) would have been modelled with ω2 in the numerator, instead of 1. Inthat case, a change in stiffness will cause variations in the high-frequencybehavior and a constant low-frequency behavior.

• The stiffness line (with slope −1 due to the pneumatics) varies with a factor3 (10 dB). This variation is a result of the variation in muscle stiffness and ofthe gain α. The gain α depends on the pressure.

• The damping present in the robotic arm is low; the damping ratio ς variesinbetween 0.04 and 0.10. The damping ratio is an indication of the energydissipation in the robotic arm. Energy is dissipated by damping but also byfriction in the muscles and in the joints. It can be concluded that the dryfriction in the muscles is low. This conclusion is supported by the good co-herence as shown in the sensitivity analysis of Figure 4.12. In case of a non-linear phenomena such as dry friction in the muscles, the coherence wouldnot equal 1.

• Increasing the cumulative pressure pAB , causes an increase of the eigenfre-quency ω due to the increase in stiffness. As the muscle is considered to be aforce actuator, this causes the magnitude of Pθ to decrease. The decrease inPθ magnitude is amplified by the pressure. An increasing cumulative pres-sure yields the flow to decrease, yielding a decrease in α.

• Variations in the angle θ2 from 0 degrees, hardly affect the behavior of therobotic arm when being compared to the effect of the cumulative pressure.The eigenfrequency ω slightly increases, while the magnitude of Pθ remainsconstant; this means that the gain α must increase. This is caused by thegravity force; in case θ2 6= 0 deg, the gravity force becomes part of the equi-librium, which requires to be compensated for by the muscles. This addi-tional force yields a higher gain, without affecting the eigenfrequency. AspAB remains equal, the pressure does not affect the gain via the flow.

The relations given in (4.10) and (4.11) can be used to estimated the stiffness fromthe robotic arm identification. For the FRF around (θ2, pAB ) = (0, 1), this is shownin Figure 4.12; using the parameters as defined in Table 3.4 yields kAB = 7.8 kNm−1 or kA = kB = 3.9 kN m−1. Each of the muscles in this equilibrium is givenby pA = pB = 0.5 bar and hA = hB = 190 mm; according to the stiffness model in(4.5), this yields kA = kB = 2.9 kN m−1. This proves that in the given equilibriumthe model predicts the stiffness too low.

51

Page 68: Modelling and control of a robotic arm actuated by ...

Repeating this analysis for each of the 24 FRF’s in Figure 4.13, will allow for the ver-ification of the stiffness as identified in Section 4.1. It also gives a proper indicationof the damping present in the muscles and the robotic arm and of the pneumaticgain. This should be verified in future work.

At the end of Section 4.1, it is stated that we prefer to estimate the damping usingthe measured FRF of the robotic arm. By comparing the linearized behavior ofthe model with the FRF of the robotic arm, it appears that the muscle dampingas defined in Table 4.1 is indeed too low to describe all energy dissipation in therobotic arm, the additional damping is probably due to dissipation in the bearings.It is to decided to take all damping into account in the damping parameter ζ0, asintroduced in the muscle model in (3.49). Based on the simulations, this yields adamping parameter:

ζ0 = 40 Ns m−1 . (4.12)

In the remainder of this report, this value will be used in the robotic arm model.

4.4 Validation of the linearized model

The second part of the model validation is to compare the linearized behavior ofthe model with the frequency response function of the robotic arm. The model ofthe robotic arm is given in (3.10). The linearization around an equilibrium point(x, z) is defined by:

˙x =∂f(x, z)

∂x

∣∣∣∣x,z

x +∂f(x, z)

∂z

∣∣∣∣x,z

z , (4.13)

with x = x + x and z = z + z and where x and z are small perturbations. Re-mark that in an equilibrium, no flow is possible, i.e. the input signals are given byz = [zθ zp]

T = 0.

In order to be able to linearize a model, a continuously differentiable vectorfieldf(x, z) in (4.13) is required. This is a problem. Due to the strong interweavingof the binary valve signals v in the model of the robotic arm, linearization is notpossible. The relation determining the binary valve signal consists of a saturationand binary operators, which makes it not possible to calculate a derivatives of thesefunctions.This issue is solved by performing a sensitivity analysis of the closed-loop modelin simulation. The reason to simulate in closed-loop is to avoid the model fromdrifting from its equilibrium point. The closed-loop simulations are performed ina similar fashion as the experimental sensitivity analysis on the robotic arm, asdiscussed in the previous section.The FRF of the angular behavior of the model linearization around the equilibrium(θ2, pAB ), is defined as Mθ = θ2

zθ, with zθ the angular control signal. The model

is simulated in closed-loop, using a simple gain controller, while injecting noise inthe control loop, see Figure 4.11. The noise consists of an increasing and decreasingsweep signal between 0.1 and 20 Hz. The simulation data is used for a sensitivityanalysis, which is given in (4.9). The FRF of the angular behavior of the linearizedrobotic armmodelMθ can be estimated around every equilibrium defined in (4.7).

52

Page 69: Modelling and control of a robotic arm actuated by ...

Identification and model validation

10−1

100

101

−80

−70

−60

−50

−40

−30

−20

−10

0

10−1

100

101

−180

−90

0

90

180

10−1

100

101

10−8

10−6

10−4

10−2

100

10−1

100

101

0

0.2

0.4

0.6

0.8

1

f [Hz]f [Hz]

|H|[radV−

1dB]

phase(H

)[deg]

|Φ|[dB]

|γ2 xy|[–]

frequency response functionH power spectra Φ

coherence

Φxx [V2]Φyy [rad2]Φxy [V rad]

Figure 4.14: The simulated sensitivity analysis around equilibrium (θ2, pAB ) = (0, 1).The indices x and y are defined by x = −C e2 and y = e1. A third-order transfer

function Mθ(s) with α = 1150, ω = 5.8 Hz and ς = 0.07 is fitted on Mθ . The

estimated experimental FRF Pθ as shown in Figure 4.12, is also indicated.

In Figure 4.14, the FRF Mθ of the model linearization around equilibrium

(θ2, pAB ) = (0, 1) is shown. In this figure, also the model fit Mθ on Mθ is shown;the model is defined in (4.10). This allows us to estimate the natural eigenfre-quency, the damping ratio and the gain; i.e. ω = 5.8 Hz, ς = 0.07 and α = 1150.

The third FRF shown in Figure 4.14, is the fitted FRF Pθ as is shown in Figure 4.12;

Pθ is defined around the same equilibrium. The model shows a slightly different

FRF when being compared to the experiment; from the fitted parameters of Pθ and

Mθ, it can be seen that ω is too low and α is too high in the model:

• The gain error is probably due to model errors in the pneumatic part of themodel. In case the flow towards themuscles is modeled larger than the actualflow, then the response of themuscles and the robotic arm is quicker, yieldinga higher gain in the FRF. It must be noted that the flow is very sensitive tosmall variations in the β parameters in (3.22).

• The natural eigenfrequency depends on the inertia properties of body 2 andthe stiffness of the muscles. The inertia of body 2 is considered to be correctlyestimated. This means that the stiffness is estimated too low. The stiffnessdepends on the pressure and the muscle length. It is very likely that differ-ences between the muscles causes the stiffness to be estimated too low. Thevariation in stiffness is approximately 20%, as can be seen in Figure 4.5.

53

Page 70: Modelling and control of a robotic arm actuated by ...

10−1

100

101

−80

−60

−40

−20

0

20

10−1

100

101

−180

−90

0

90

180

10−1

100

101

10−6

10−4

10−2

100

102

10−1

100

101

0

0.2

0.4

0.6

0.8

1

f [Hz]f [Hz]

|H|[radV−

1dB]

phase(H

)[deg]

|Φ|[dB]

|γ2 xy|[–]

frequency response functionH power spectra Φ

coherence

Φxx [V2]Φyy [rad2]Φxy [V rad]

Figure 4.15: The simulated sensitivity analysis of the equilibrium (θ2, pAB ) = (30, 0.8).The indices x and y are defined by x = −C e2 and y = e1. The third-order transfer

function Mθ , with αM = 1900, ζM = 0.07 and ωM = 4.7 Hz, is fitted on Mθ . The

experimental FRF fit Pθ in this equilibrium is given by αP = 830, ζP = 0.10 andωP = 6.4 Hz. Using (4.11) the measured cumulative stiffness is kP

AB= 8.0 kN m−1,

while the modeled cumulative stiffness is much lower: kM

AB= 4.3 kN m−1.

• As the damping ratio in model and measurement are almost equal, there isno reason to assume errors here.

The model and the experiment in (θ2, pAB ) = (0, 1) show identical behavior above6 Hz. The difference below 6 Hz is approximately 4 dB or 30%. This is acceptablewhen considering that the variation in muscle stiffness is 20%, see Figure 4.5.

The linearization Mθ in equilibrium (θ2, pAB ) = (30, 0.8), together with the fitted

FRF’s Mθ and Pθ are given in Figure 4.15. The model and the robotic arm showa big difference. The magnitude of the model is approximately 12 dB or a factor 4higher than the experiment and the eigenfrequency of the model is 4.7 Hz, whilethe experiment yields an eigenfrequency of 6.5 Hz. In Section 4.2, it is shown thatthe equilibria are not predicted well for |θ2| > 20 deg. The dynamic behavior in(θ2, pAB ) = (30, 0.8) also shows errors.Based on the error in the eigenfrequency and magnitude in the model, we conjec-ture that the stiffness of the muscles is modeled too low. This is not in accordancewith the conclusion in Section 4.2, which states that the stiffness is modeled accu-rately. Secondly, the gain α is modeled too large. This is likely to be due to errorsin relations describing the flows and muscle pressure in the model. Five possibleerrors are distinguished:

54

Page 71: Modelling and control of a robotic arm actuated by ...

Identification and model validation

• The flow is very sensitive to variations in its β parameter; a small error in therestriction diameter has a big impact on the flow.

• It is assumed (based on experiments) that the flow through the hoses is de-fined by the relation for a restriction. This is however not verified on therobotic arm; a hose description might give a better result for the flow de-scription in some cases. This should be verified in future work.

• The muscle volume might be estimated inaccurately by the barrel descrip-tion. This has been checked by simulating the model using a cylindricalrelation for the volume. It appears that the cylindrical volume descriptiondoes not yield significantly different behavior compared to the barrel shapedbehavior. Since this does not prove the volume is estimated correctly by thevolumetric behavior in relation (3.39), this should be verified in future work.

• It is assumed that the muscle volume only depends on the length of themuscle. The volumetric behavior is based on the length–volume relationof a muscle with a constant amount of air in the muscle. The pressure istaken into account in the loop: pressure → nominal length → muscle force→ robot dynamics → muscle length → volumetric behavior, see Figure 3.2.This indirect pressure–volume relation is not verified.

• In the relation describing the muscle flow, the influence of the tube and braidpushing the air out of the muscle, is not modeled explicitly. This behavior isconsidered to be taken into account in the nominal behavior, through thesame loop as given in previous item. This indirect nominal length – flowrelation is also not verified.

For the simulation in Figure 4.15, the experimental stiffness parameters are used.In Figure 4.10, it is shown that the equilibria of the robotic armmodel using the an-alytical stiffness parameters, yields accurate results. However, the model with theanalytical stiffness parameters is unstable. Due to the fact that the analytical stiff-ness is lower, the gravity force becomes dominant over the muscle forces herebyinducing instability.

4.5 Time domain model validation

In previous sections, it has been shown that the model has a limited pressure rangein which the behavior of the robotic arm is predicted well. The third part of thevalidation procedure compares the open-loop time behavior of the robotic arm withthat of the model. As can be expected from previous sections, these results are notvery good. On the other hand, the open-loop validation confirms the conclusions inthe previous sections. The open-loop experiments and simulations are performedby providing a time-varying input signal u(t) to the robotic arm, the pressures pAand pB and the angle θ2 are measured. An identical input u(t) is applied to themodel.

In Figure 4.16, the match between experiment and simulation is good. As is saidbefore, the model predicts well in the working area near θ2 = 0 deg. If the pressurein the muscles drops below 0.3 bar, the predictive quality of the model worsens; inthis case the model predicts a low stiffness, which causes to gravity to becomeslightly more dominant. As a result, the angle increases.

55

Page 72: Modelling and control of a robotic arm actuated by ...

0 1 2 3 4 5 6 70

0.2

0.4

0.6

0.8

1

0 1 2 3 4 5 6 7−10

−5

0

5

10

15

0 1 2 3 4 5 6 7−1

0

1

time [s]

p[bar]

θ 2[deg]

upA experimentpB experimentpA simulationpB simulation

experimentsimulation

uAuB

Figure 4.16: The initial angle of the robotic arm is close to zero degrees and the initialpressures are identical. The muscles are actuated in opposite directions.

The experiments shown in Figure 4.17, has an input uA = 0, i.e. the air mass inmuscle A is constant. Once pressure pB starts to increase, the arm is pulled backtowards θ2 = 0 deg. As a result, muscle A is elongated. The pressure increase dueto the elongation (which must be caused by a decrease in the volume), is hardlyseen in the simulation. Pressure pB gives a realistic result. The angle prediction ofθ2 is less accurate due to themismatch of pA . The simulation, shown in Figure 4.18,predicts well up to 4.5 seconds. This is due to the pressure difference between bothmuscles, which is similar for the model and the experiment. After 4.5 seconds,the pressure in the muscles is to below 0.3 bar, which is not part of the model’spredictive pressure range. In the model, the arm becomes unstable as the gravityforce is stronger than the muscles forces; the arm is pulled out of position.

4.6 Discussion

The major conclusion of this chapter is the limited predictive impact of the roboticarm model, especially in open-loop. Only in a specific working area, the modelappears to predict the behavior correctly. This can be seen in both the equilibriaas in the linearized behavior around these equilibria. The four major points ofconcern in this respect are:

Stiffness The stiffness of the muscles is identified in a separate identification pro-cedure. Despite the fact that the parameters of the stiffness relation are fittedto the results of these experiments and used in the robotic arm model, thestiffness is still considered to be estimated too low.

56

Page 73: Modelling and control of a robotic arm actuated by ...

Identification and model validation

0 1 2 3 4 5 6 70

0.2

0.4

0.6

0.8

1

0 1 2 3 4 5 6 70

10

20

30

40

50

0 1 2 3 4 5 6 7−1

0

1

time [s]

p[bar]

θ 2[deg]

upA experimentpB experimentpA simulationpB simulation

experimentsimulation

uAuB

Figure 4.17: The initial pressure in the experiment of muscle B is pB = 0 bar; this meansthat muscle B is deflated. As this behavior is not modeled, it is decided to give the model astable initial condition; θ2 and pA are equal to the experiment, pB is set to an equilibriumas shown in Figure 4.9.

Pneumatics The relations determining the pressure and flow are very sensitive toosmall errors in the flow parameters. If the muscle pressure is not predictedaccurately, this yields errors in almost every other part of the model.

Model errors The muscle model is considered to describe the muscle behavior ac-curately. Concerns exist in the relations describing the stiffness and the flow.The damping is not physically modeled but is also less important, for thisreason viscous damping is an appropriate assumption.

Muscles The muscles show a large variation when being compared to each other.No two single muscles are identical, or yield identical behavior. These varia-tions result in for example a different nominal length, which is very impor-tant in predicting the exact muscle force.

The combination of these four factors, limit the predictive capacities of the roboticarm model. Still, the model as presented in Figures 3.1 and 3.2, is considered todescribe the behavior correctly on a phenomenological level. This new model doesgive insight of the working principles of the robotic arm, but it unfortunately failsto give an accurate description on a quantitative level.

The experimental identification of the robotic arm has lead to a lot of insight in thebehavior of the robotic arm and of the muscles. Despite the inherent nonlinearbehavior of the robotic arm, it is shown that the eigenfrequency of the robotic arm

57

Page 74: Modelling and control of a robotic arm actuated by ...

0 1 2 3 4 5 6 70

0.2

0.4

0.6

0.8

1

0 1 2 3 4 5 6 7−20

0

20

40

60

0 1 2 3 4 5 6 7−1

0

1

time [s]

p[bar]

θ 2[deg]

upA experimentpB experimentpA simulationpB simulation

experimentsimulation

uAuB

Figure 4.18: In this experiment, the initial pressures and angle are similar for the experi-ment and the model. Both muscles are actuated in similar ways.

are located in a rather narrow band between approximately 6 and 7 Hz. A secondimportant conclusion is that the muscles appear to be force actuators; probablybecause they are applied with a certain pretension range in the robotic arm.The results of the experimental identification of the robotic arm, as discussed inSection 4.3, are accurate and reliable. It is decided to use the identification and thegained insight to construct a control strategy for the robotic arm. This is elaboratedon in the following chapter.

58

Page 75: Modelling and control of a robotic arm actuated by ...

5Feedback control of the

robotic arm

This chapter presents the control of the DoF and the 2DoF robotic arm. In Section5.1, the control strategy used for the DoF robotic arm is discussed. Using thisstrategy and the results of the experimental identification, controllers are designed;this will be explained in Section 5.2.

In case the robotic arm is expanded by the second joint, the control becomesslightly more complicated due to interference of the feedback loops. Moreover, adifferent control strategy is required for the 2DoF robotic arm due to hardware lim-itations; only a limited number of sensor signals can be redirected to the dSPACE

system. The 2DoF control strategy and the controller design are discussed in Sec-tion 5.3.

In Section 5.4, an evaluation of the linear control strategy proposed here and thecontroller based on the reinforcement learning, as discussed in [Maas, 2005], isgiven. This chapter is ended by a discussion on the control results.

5.1 Single joint control strategy

In the introduction, it is stated that to control the robotic arm linear feedback con-trollers will be used. In Section 4.3, the nonlinear nature of the robotic arm isidentified. The two most important nonlinear contributions in the robotic armare the binary valves and the McKibben muscles. By applying a PWM algorithm,the binary valves approximate linear behavior. The nonlinear McKibben musclebehavior is accounted for by the control design by ensuring sufficient robustnessmargins in the application range of the robotic arm.

The input to the PWM of the DoF robotic arm R1, are two mass flow signals uAand uB . The state x of R1 is defined by the joint angle θ2 and the two musclepressures pA and pB . In matrix notation, this gives:

u =[

uA uB]T

(5.1)

x =[

θ2 pA pB]T

. (5.2)

Page 76: Modelling and control of a robotic arm actuated by ...

0.2 0.4 0.6 0.8 1 1.2

0.2

0.4

0.6

0.8

1

1.2

−30 −150

15

30

−40 −30 −20 −10

0

10

20

30

40

pA [bar]

pB[bar]

θ2 simulation

pAB = pA + pB

θ2 experiment

Figure 5.1: The equilibrium points of the robotic arm, as predicted by the model and asexperimentally verified on the robotic arm. See also the Figure 4.9.

Cp

θ ref2

p refAB

PWM

plant P+

+

zp

zp

θ2

θ2

pAB

pAB

ep

u v xR1Ψ Ω

Pp

Figure 5.2: The single joint control loop. The plant P is given by two FRF Pθ = θ2zθ

and

Pp = pABzp

, which are considered to be decoupled. The error signals eθ and ep are the input

to the controllers Cθ and Cp, which yield the new plant input signals zθ and zp.In the lower figure, the decoupling of the 1DoF robotic arm R1 is depicted, using thedecoupling matrix Ψ and the output matrix Ω. The flow control signals u are convertedto binary valve signals v by the PWM, as defined in (3.12), which are the input toR1.

60

Page 77: Modelling and control of a robotic arm actuated by ...

Feedback control of the robotic arm

The purpose of the robotic arm is to make controlled motions, i.e. to control thejoint angles. For this reason it is decided to use angle θ2 as an output of R1. Theangle θ2 is affected by the momentum generated by muscles A and B . This mo-mentum depends on the difference between the two muscles forces. The easiestway to generate a momentum with two muscles is by inflating one muscle and de-flating the other muscle for an equal period of time, i.e. uA (t) = −uB (t).

To have a balanced number of inputs and outputs, a second output signal needs tobe defined. It would be most convenient to have an output that is decoupled fromθ2, as this would allow for a control strategy using two SISO controllers. Output θ2

is affected by uA = −uB ; to ensure the second output to be decoupled from θ2, itmust not be affected by uA = −uB .

In case the volume of the muscles is contant and the pressure in both muscles is0.5 bar, a change in uA = −uB , does not affect the sum of the pressure in the twomuscles. It is decided to use the cumulative pressure as the second output. Fromthis elaboration, the outputs y are constructed using the state variables (and sensorsignals) x as defined in (5.2) and an output matrix Ω:

y =[

θ2 pAB]T

= Ω x (5.3)

Ω =

[1 0 00 1 1

]. (5.4)

The output given by the cumulative pressure pAB = pA + pB is affected if bothmuscles are inflated for an equal period of time, i.e. uA (t) = uB (t); this dependencyis the opposite of the dependency given for θ2, and for this reason it is expected thatoutputs θ2 and pAB are decoupled. To verify whether the decoupling is a legitimateassumption, the equilibria of R1 are considered.

In Section 4.2, the equilibria are determined for both the model and the experi-mental setup, see also Figure 5.1. In case the outputs are decoupled, the lines of θ2

and pAB must be perpendicular in this figure; in that case a change in one outputdoes not affect the other. For the model simulation, this is only true if θ = 0 deg.For the experiments, however, it can be seen that θ2 and pAB are approximately per-pendicular, within the entire application range. For this reason, the outputs y areconsidered to be decoupled.

The next step is to define two new inputs, the angle input zθ and the cumulativepressure input zp, which address the decoupled outputs only:

z =[

zθ zp

]T. (5.5)

Using the previous stated dependencies of the new inputs z on the flow controlsignals u yields the decoupling to be defined by:

uA = zθ + zp

uB = −zθ + zp

→ u = Ψ z (5.6)

Ψ =

[1 1

−1 1

]. (5.7)

61

Page 78: Modelling and control of a robotic arm actuated by ...

In Figure 5.2, the control strategy for the DoF robotic arm is presented schemat-ically. The plant P is defined by two new inputs z and two decoupled outputs y.The behavior of P is given by the two FRF’s:

Pθ =θ2

, Pp =pABzp

. (5.8)

The decoupling allows for the application of two SISO controllers on the plant: oneangular controller Cθ and one cumulative pressure controller Cp. In the lower partof Figure 5.2, the conversion of R1 to P , using the decoupling matrix Ψ and theoutput matrix Ω is graphically depicted.

5.2 Single joint control

The controller for the DoF robotic arm consists of two linear controllers Cθ andCp, as shown in Figure 5.2. These two controllers are designed using the respec-tive plants Pθ and Pp as defined in (5.8). Both controllers are tuned such that therobotic arm is locally stable around each of the measured equilibria. We will show(not prove) that this control strategy also stabilizes the nonlinear system.

In Appendix H.2, the FRF’s of Pp around seven equilibria with θ2 = 0 are given.The seven FRF’s are almost equal, i.e. the cumulative pressure pAB hardly affectsthe gain of the FRF. The magnitude of the FRF shows a clear −1-slope over thecomplete frequency range. This is caused by the input u which directly affects thetime derivative of the pressure.

In Figure 4.13, the FRF’s of Pθ in 24 equilibria are given. This figure shows thatthe eigenfrequency of the robotic arm varies between 6 and 7 Hz; This limits thefeasible bandwidth of the controlled robotic arm; namely, the linear controllersmust be able to stabilize the robotic arm in every possible equilibrium.

The servo performance is hampered by two types of disturbances: external andself-induced disturbances. The latter are due to a number of reasons: interactionbetween the two outputs, friction in the muscles and bearings, excitation due to theswitching of the binary valves and the nonlinear stiffness change of the muscles.To avoid instability, four precautions are taken:

• The controllers are designed for the worst case scenario, the open-loop be-havior in every equilibrium point is used to design stable controllers.

• In the PWM algorithm, a dead-zone value τ is introduced, see (3.13d). Thisdead-zone yields that small static errors in both angle and pressure are al-lowed. This keeps the binary values from continuous actuation and reducesthe amount of disturbances on the robotic arm.

• Wide robustness margins are used. A sensitivity margin of 6 dB, a phasemargin of 45 degrees and an amplitude margin of 5 dB with respect to themost critical FRF’s are employed for the open-loop behavior.

• The controllers are designed such that the angle and pressure bandwidth areapproximately equal. This gives outputs θ2 of pAB the same priority.

62

Page 79: Modelling and control of a robotic arm actuated by ...

Feedback control of the robotic arm

5.2.1 Angular controller design

In Figure 5.3, the FRF’s of 24 measurements Pθ are given, together with the con-troller and the open-loop frequency response. Controller Cθ consists of a lead-lagfilter, a pure notch filter and a second-order low-pass filter, the parameters are givenin Table 5.1. The definition of the filters is given in Appendix H.1.Essential in the tuning of the controller is the use of the notch filter. By stretchingthe notch filter wide and deep (−20 dB), the eigenfrequency of the robotic arm inthe entire working area is attenuated by the controller. For stability reasons, thenotch frequency fn is a little lower compared to the eigenfrequency. A lead-lagfilter is placed on top of the notch to prevent loss of phase margin.The bandwidth is inbetween 1 and 3 Hz, as indicated by the vertical pink lines. Theamplitude and phase margin are met in every case. In the lower part of Figure 5.3,it can be seen that the sensitivity is below 6 dB for almost every frequency in eachequilibrium.In Figure 5.4, the Nichols diagram is given. To guarantee stability, the HOL curvemust keep the origin (−180, 0) at the left if moving from low to high frequencies.The robustness criteria are indicated by the circle around the origin. It can be seenthat stability and robustness are guaranteed for every equilibrium.

5.2.2 Pressure controller design

In Figure 5.5, the controller Cp, the pressure FRF’s Pp and the open-loop behaviorare shown. The experimental Cp data is discussed in Appendix H.2. ControllerCp consists of a gain and a first-order low-pass filter. The two parameters of thiscontroller are given in Table 5.2.This controller is rather simple. A controller yielding a better performance is pos-sible. However, the bandwidth of this pressure loop is now approximately 3 Hz,which is sufficient as it is equal to the bandwidth of the angular control loop.The phase and amplitude margins are both met and the sensitivity is always below6 dB. The local stability is also guaranteed; this is proven in the Nichols diagram asshown in Appendix H.3.

gain lead-lag notch low-pass

p 55 f1 1 fn 6.1 fl 15f2 15 β1 0.05 βl 0.7

β2 5

Table 5.1: The Cθ controller parameters for joint 2 of the 1DoF robotic arm. The controllerconsists of a gain with a notch, lead-lag and a second-order low-pass filter. All frequenciesf are given in Hz.

gain low-pass

p 6 fl 10

Table 5.2: The Cp controller parameters for the 1DoF robotic arm. The controller consistsof a gain and a first-order low-pass filter. The low-pass frequency fl is given in Hz.

63

Page 80: Modelling and control of a robotic arm actuated by ...

10−1

100

101

−100

−80

−60

−40

−20

0

20

40

10−1

100

101

−180

−90

0

90

180

10−1

100

101

−40

−30

−20

−10

0

10

20

f [Hz]

|H|[dB]

phase(H

)[deg]

|S|[dB]

Cθ [V rad−1]

HOL [–]

Pθ [rad V−1]

Figure 5.3: The two upper figures show the magnitude and phase of the controller Cθ ,plant Pθ and the open-loop HOL = Cθ Pθ . The Pθ measurements are the 24 FRF’spreviously shown in Figure 4.13. The phase margin is indicated by the pink line at −145dB in the middle figure. The lower figure shows the sensitivity S = (1 + Cθ Pθ)

−1 of thecontrol loop, the sensitivity margin of 6 dB is indicated by the pink line. The bandwidth isinbetween 1 and 3 Hz, as indicated by the two vertical pink lines.

64

Page 81: Modelling and control of a robotic arm actuated by ...

Feedback control of the robotic arm

−360 −270 −180 −90 0 90−30

−20

−10

0

10

20

30

phase(HOL) [deg]

|HO

L|[dB]

Figure 5.4: The Nichols diagram of a number of FRF’s. The open-loop HOL = Cθ Pθ

must cross the origin at (−180, 0), at the right if moving from low frequencies (upper right)towards high frequencies. The phase and gain margin are indicated by the circle aroundthe origin. The loop in the curve is introduced by the notch, which is overcompensatingsomeHOL curves. The curves in this figure correspond with the curves with the same colorgiven in Figure 4.13.

65

Page 82: Modelling and control of a robotic arm actuated by ...

100

101

−40

−30

−20

−10

0

10

20

30

100

101

−180

−90

0

90

180

100

101

−40

−30

−20

−10

0

10

20

f [Hz]

|H|[dB]

phase(H

)[deg]

|S|[dB]

Cp [V bar−1]

HOL [–]

Pp [bar V−1]

Figure 5.5: The two upper figures show the magnitude and phase of the controller Cp, plantPp and the open-loop HOL = Cp Pp. The phase margin at −145 dB is indicated by thepink line in the second figure. The lower image shows the sensitivity S = (1 + Cp Pp)−1 ofthe control loop, the sensitivity margin of 6 dB is indicated by the pink line. The bandwidthis approximate 3 Hz, as indicated by the two vertical pink lines.

66

Page 83: Modelling and control of a robotic arm actuated by ...

Feedback control of the robotic arm

output BW [Hz] ts [s] tr [s] Mp ess

θ2 1 − 3 0.69 0.25 7 deg 0.10 degpAB ≈ 3 0.30 0.06 − 0.01 bar

Table 5.3: The performance indicators for the 1DoF robotic arm, using the controllers asdefined in Tables 5.1 and 5.2. The angle performance is measured for a step of 30 deg, thepressure performance for a step of 0.5 bar.

5.2.3 Performance

The performance is measured by the bandwidth (BW), the settling time ts, the risetime tr, the overshoot Mp and the static error ess, [Franklin, 2001]. In Table 5.3, thevalues of the performance indicators for θ2 and pAB are given . The bandwidth istaken from the FRF graphs, while the four time domain indicators are taken fromthe step response measurements as given in Figure 5.6.It is remarkable that the pressure is affected by the step in the angle, while the angleis not affected by a step in the pressure. At 9.5 seconds, an infeasible setpoint isoffered, the robotic arm stabilizes at a slightly lower angle and pressure.In Figure 5.7, a third-order angle profile is tracked by the robotic arm, the pressurereference is constant. Only a small part of the measurement is shown, as it ishighly repeatable. The tracking shows a delay of approximately 0.1 sec and a someovershoot can be seen around θ = 0 degrees.It must be noted, that despite a lot of model uncertainties, non-linear characteris-tics and a non-perfect decoupling, the motion control performance of the roboticarm is good. The robotic arm is not sensitive to external disturbances and errorsare corrected accurately; this is tested by pulling the arm out of position.

In Figure 5.7, also a simulation of the experiment is shown. The simulation showssome overshoot for large angles, while the experiment becomes slow. This mis-match is probably due to the friction (damping), which increases if a muscle ishighly stretched. Still, the simulations shows much resemblance with the exper-iment. Especially the behavior of pAB is predicted accurately by the model. Alsothe tracking error of the angle is similar to the experiment. The controller used inthe simulation is slightly different from the controller in the experiment, the notchfrequency is set to fn = 4.5 Hz.

Before expanding the robotic arm with joint 1, the control strategy as used for theDoF joint 2 system, is used to control the DoF joint 1 system. The outputs of thissystem are the cumulative pressure pCD of muscles C and D and the angle θ1. Thepressure controller Cp is similar to the controller in Table 5.2, a new angular con-troller Cθ is designed. This is discussed in detail in Appendix H.4. The bandwidthof the DoF joint 1 system is between 0.5 and 1 Hz.

5.3 Dual joint control

Expanding the robotic arm with the second joint has two implications, which needto be considered before the designing of the controllers can be discussed. Firstly, adifferent control strategy must be used due to hardware limitations and, secondly,the dynamic coupling between the two joints must be considered.

67

Page 84: Modelling and control of a robotic arm actuated by ...

0 1 2 3 4 5 6 7 8 9 10−40

−20

0

20

40

0 1 2 3 4 5 6 7 8 9 100

0.5

1

1.5

2

time [s]

θ 2[deg]

pAB[bar]

reference

experiment

Figure 5.6: Step response or the 1DoF controlled robotic arm. The angle step of 30 deg andthe pressure step of 0.5 bar are used to derive the performance indicators in Table 5.3.

0 1 2 3 4 5 6 7−40

−30

−20

−10

0

10

20

30

40

50

0 1 2 3 4 5 6 70.7

0.75

0.8

0.85

0.9

0.95

1

1.05

time [s]

θ 2[deg]

pAB[bar]

referenceexperimentsimulation

Figure 5.7: Simulation and experiment showing the error tracking of respectively the modeland the robotic arm. The angle reference is a third-order continuous profile, the pressurereference is 1 bar. The used controllers are similar, except for the notch frequency. In caseof the model, fn is adjusted to the eigenfrequency of the model.

68

Page 85: Modelling and control of a robotic arm actuated by ...

Feedback control of the robotic arm

5.3.1 Dual joint control strategy

The state x of the 2DoF robotic armR2 is given by two joint angles and four musclepressures. The input to the PWM and R2 are four flow control signals u:

u =[

uA uB uC uD]T

(5.9)

x =[

θ1 θ2 pA pB pC pD]T

. (5.10)

Due to hardware limitations, only four of the six state variables x of R2 can bemeasured. As a result, the control strategy as proposed in Section 5.1 for R1, cannot be used forR2. This makes it also impossible to decouple the outputs ofR2.To be able to control the joint angles accurately, the two angle signals are chosenas output. This leaves only two pressure signals to be used, one signal for eachjoint. It is decided to control the pressure in muscles A and C . The notation asintroduced for R1 in Section 5.1, is also adopted for R2. Using the state variablesdefined in (5.10), the outputs are defined by:

y =[

θ1 θ2 pA pC]T

= Ω x , (5.11)

with the output matrix:

Ω =

1 0 0 0 0 00 1 0 0 0 00 0 1 0 0 00 0 0 0 1 0

. (5.12)

Using the same reasoning as given for angle θ2 in the R1 case, angles θ1 and θ2

are affected by adjusting the pressure in respectively muscles C and D and musclesA and B in an opposing manner. To control the pressure in muscles A and C ,only the subsequent inputs are used. To control the outputs y, four new inputs aregenerated by applying the input matrix Ψ according to:

z =[

zθ1zθ2

zpA zpC

]T. (5.13)

u = Ψ z (5.14)

Ψ =

0 −1 1 00 1 0 0

−1 0 0 11 0 0 0

. (5.15)

In Appendix H.5, the conversion ofR2 to the plant P2 is visualized. To control theoutputs y, four controllers are required: Cθ1

, Cθ2, CpA and CpC respectively. The four

inputs z and four outputs y of P2 are related to each other by:

Pθ1=

θ1

zθ1

, Pθ2=

θ2

zθ2

, PpA =pAzpA

, PpC =pCzpC

. (5.16)

It should be noted that the inputs pA and θ2 are not decoupled; using Figure 5.1, itcan be seen that a change in pA also affects θ2 and vice-versa. The same reasoning isalso valid for pC and θ1. As a result, interference of the two control loops may causeinstability. However, this is not expected, as the two control loops work opposing toeach other for muscle A ; i.e. the control signals zθ2

and zpA extinguish each other.A secondary effect of this is that the settling time of θ2 may increase.The control loops of pA and pC are decoupled, the coupling between the two angularcontrol loops for θ1 and θ2, is discussed in the following section.

69

Page 86: Modelling and control of a robotic arm actuated by ...

10−1

100

101

−80

−70

−60

−50

−40

−30

−20

−10

0

10

10−1

100

101

−80

−70

−60

−50

−40

−30

−20

−10

0

10

10−1

100

101

−80

−70

−60

−50

−40

−30

−20

−10

0

10

10−1

100

101

−80

−70

−60

−50

−40

−30

−20

−10

0

10

f [Hz] f [Hz]

|Pθ|[radV−

1dB]

|Pθ|[radV−

1dB]

Pθ11= θ1

zθ1Pθ12

= θ2

zθ1

Pθ21= θ1

zθ2Pθ22

= θ2

zθ2

pC = 0.4 bar

pC = 0.6 bar

pC = 0.8 bar

Figure 5.8: The four frequency response functions of Pθ for different values of pC . TheFRF’s are experimentally determined around θ1 = θ2 = 0 deg. The pressure in muscle Ais kept at pA = 0.4 bar in closed-loop.

5.3.2 MIMO system identification

It is expected that the dynamics of the robotic arm are coupled, i.e. if one anglechanges, the dynamics of the robotic arm is changed yielding a new equilibriumfor both angles. In case the coupled dynamics are not considered in the designof the two angular control loops, the robotic arm might become unstable due tothe fact that the two control loops might interfere. For this reason, a closed-loopsensitivity identification is used to determine the frequency response functions ofthe angles of the 2DoF robotic arm. This is explained in Appendix H.6, using thetheory as given in [Skogestad, 1996; Tousain, 2006]. The results of this analysisare given in Figure 5.8 for three different equilibria. The direct FRF’s are given byPθ11

and Pθ22, the coupling from the θ2 loop to the θ1 loop is given by Pθ12

andvice-versa by Pθ21

.Angle θ1 gives a response of approximate |Pθ12

| ≈ −30 dB to an excitation of θ2.The response of |Pθ21

| ≈ −40 dB. The magnitude of Pθ11and Pθ22

are given byrespectively−10 and−20 dB. Using these approximatedmagnitudes, the influenceof the coupling on the input-output behavior is considered for joint i, taking intoaccount the coupling with joint j. This yields that the contribution of the couplingon the input-output behavior is negligible:

CθiPθii

1 + CθiPθii

−(Cθi

CθjPθji

Pθij

) (1 + Cθj

Pθjj

)−1 ≈ CθiPθii

1 + CθiPθii

. (5.17)

The low coupling ismainly due toPθ21, joint 2 hardly responses to joint 1 excitation.

In Appendix H.7, the minor coupling is proven, using the interaction coefficient.

70

Page 87: Modelling and control of a robotic arm actuated by ...

Feedback control of the robotic arm

5.3.3 Loop shaping of the controller

The 2DoF robotic arm requires four controllers, which are all based on loop shap-ing. In this section the designed controllers and the performance of the closed-loopsystem are discussed.

Angular controllers

The angular frequency response functions are given in Figure 5.8. Although thecoupling is of not much importance, it is considered in the loop shaping of Cθ1

and Cθ2. The structure of the angular controllers is similar to angular controller as

discussed in Section 5.2.1: a gain is combined with a lead-lag, notch and second-order low-pass filter.Compared to the DoF case, the controller for θ1 is almost similar (see AppendixH.4). The controller design for Cθ2

is different from the DoF case as is given inSection 5.2.1. The reason for this is to check whether it is possible to compensatefor the differentiating behavior of the pneumatics. The lead-lag filter is applied overa larger frequency range. This requires the gain to be lower.The result of the loop shaping of the angular controllers is given in Figures 5.9and 5.10 for respectively Cθ1

and Cθ2. The bandwidth of the θ1 loop is 1 Hz, the

bandwidth of the θ2 loop approximately 3.5 Hz1. The controller parameters aregiven in respectively Tables 5.4 and 5.5.In the lower part of Figures 5.9 and 5.10, the input sensitivity S is given. In Ap-pendix H.8, the accompanying Nichols diagrams are shown. As can be seen, thephase, amplitude and sensitivity margins are met for both controllers.

gain lead-lag notch low-pass

p 16 f1 0.2 fn 1.4 fl 6f2 8 β1 0.1 βl 0.8

β2 4

Table 5.4: The Cθ1 controller parameters for joint 1 of the 2DoF robotic arm. The controllerconsists of a gain with a notch, lead-lag and a second-order low-pass filter. All frequenciesf are given in Hz.

gain lead-lag notch low-pass

p 5.4 f1 0.2 fn 6.1 fl 12f2 18 β1 0.06 βl 0.8

β2 2

Table 5.5: The Cθ2 controller parameters for joint 2 of the 2DoF robotic arm. The controllerconsists of a gain with a notch, lead-lag and a second-order low-pass filter. All frequenciesf are given in Hz.

1 It might seem that the bandwidth of joint 2 in the 2DoF case is higher then in the DoF case. Thisis not true, only three FRF’s around θ2 = 0 deg are considered. In case the FRF’s around θ 6= 0 arealso considered, the bandwidth of the 2DoF θ2 loop is lower. Also, the eigenfrequency of θ2 in the2DoF case, is slightly lower compared to the DoF case.

71

Page 88: Modelling and control of a robotic arm actuated by ...

10−1

100

−80

−60

−40

−20

0

20

40

10−1

100

−180

−90

0

90

180

10−1

100

−30

−20

−10

0

10

20

f [Hz]

|H|[dB]

phase(H

)[deg]

|S|[dB]

Cθ1[V rad−1]

HOL [–]

Pθ2[rad V−1]

Figure 5.9: The two upper figures show the magnitude and phase of controller Cθ1 , plantPθ1 and the open-loopHOL = Cθ1 Pθ1 . The phase margin at−145 dB is indicated by thepink line in the second figure. The lower image shows the sensitivity S = (1 + Cθ1 Pθ1)

−1

of the control loop, the sensitivity margin of 6 dB is indicated by the pink line. The band-width is approximately 1 Hz, as indicated by the vertical pink line.

72

Page 89: Modelling and control of a robotic arm actuated by ...

Feedback control of the robotic arm

10−1

100

101

−60

−40

−20

0

20

40

10−1

100

101

−180

−90

0

90

180

10−1

100

101

−30

−20

−10

0

10

20

f [Hz]

|H|[dB]

phase(H

)[deg]

|S|[dB]

Cθ2[V bar−1]

HOL [–]

Pθ2[bar V−1]

Figure 5.10: The two upper figures show the magnitude and phase of controller Cθ2 , plantPθ2 and the open-loopHOL = Cθ2 Pθ2 . The phase margin at−145 dB is indicated by thepink line in the second figure. The lower image shows the sensitivity S = (1 + Cθ2 Pθ2)

−1

of the control loop, the sensitivity margin of 6 dB is indicated by the pink line. The band-width is approximately 1 Hz, as indicated by the vertical pink line.

73

Page 90: Modelling and control of a robotic arm actuated by ...

Pressure controllers

Both pressure controllers CpA and CpC are equal: a gain with a first-order low-passfilter. The gain is lower compared to the Cp controller as defined for the DoFrobotic arm and the low-pass filter frequency is located at 4 Hz. The reason for thisis simple; to lower the bandwidth of the pressure, yielding a similar bandwidth asthe θ1 loop. The settings of the pressure controllers are given in Table 5.6.

gain low-pass

p 5 fl 4

Table 5.6: The pressure controllers CpA and CpC are identical. The controller consists of again and a first-order low-pass filter. The low-pass frequency fl is given in Hz.

Performance

The performance of the 2DoF system is indicated by the bandwidth (BW), settlingtime ts, rise time tr, overshoot Mp and static error ess, see Table 5.7. The band-width is taken from the FRF graphs, while the four time domain indicators aretaken from the step responses measurement as given in Figures 5.11 and 5.12.

In Figure 5.11, steps are given in the desired trajectory of θ1 and pC , while thesetpoint for θ2 and pA are kept constant. The low coupling between the two jointsis confirmed by θ2 and pA , which show no sign of such coupling. The behavior of θ1

is very undamped, which results in a long settling time. The coupling between θ1

and pC is indeed present, as was predicted in Section 5.3.1. The coupling is clearlyvisible at approximately 20 seconds. Angle θ1 is heavily excited by a step in pC . Thecoupling increases the settling time of pC .In Figure 5.12, similar steps are set to the reference of θ2 and pA , while the desiredθ1 and pC are kept constant. Again, the two joints appear to be decoupled, while θ2

and pA are coupled. Most remarkable, however, is the apparently damped behaviorof θ2. Angle θ1 does not show this behavior in Figure 5.11. The only differencebetween both joints is the bandwidth: the bandwidths of θ1 and pC are equal, thebandwidths of θ2 and pA are not.

The damped behavior is a result of pressure controller CpA and the used controlstrategy. If θ2 changes, both pA and pB are affected. The change of pA is opposed byCpA ; i.e. the final rotation is mainly the result of the change in pB . For this reason, it

output BW [Hz] ts [s] tr [s] Mp ess

θ1 1 4.7 0.4 7 deg 0.30 degpC 1 3.3 0.3 − 0.01 barθ2 3 2.8 2.1 − 0.50 degpA 1 0.7 0.2 − 0.02 bar

Table 5.7: The performance indicators for the 2DoF robotic arm as derived from the stepexcitations, given in Figures 5.11 and 5.12. No overshoot of θ2 can be given.

74

Page 91: Modelling and control of a robotic arm actuated by ...

Feedback control of the robotic arm

is believed that the coupling between pA and θ2 will not result in stability problems.The two opposing controllers Cθ2

and CpA are counterbalanced due to the inputmatrix Ψ. This results in a limited energy added to the system, which appears tobe damped behavior of the joint. The reason that this occurs only in joint 2 andnot in joint 1 is the lower bandwidth of pA compared to θ2. When the angle errorbecomes small, the motion becomes low-frequent; a low-frequent pressure changeis strongly opposed by CpA . It can be concluded that by lowering the bandwidth ofthe pressure loop, damping is added to the robotic arm. This will only work for the2DoF control strategy; in the DoF strategy, the angle and pressure are decoupled.

5.4 Feedback control versus reinforcement learning

In [Maas, 2005], a reinforcement learning (RL) algorithm is proposed to control therobotic arm. This controller is capable of tracking a constant setpoint. An experi-mental model of the robotic arm is constructed in the form of a neural network. Inevery experiment, the neural network is updated; so the neural network learns thebehavior of the robotic arm. The neural network, modelling the robotic arm, usesthe three most recent states as input.Nine different actions are defined as controller output. The controller uses a secondneural network to estimate the implication of each of the nine actions. Based onthe nine estimate results and the endpoint of the p2p motion, one action is selectedand performed.It can be concluded that the RL controller is a feedforward controller. The currentstates are not used to calculate the tracking error, but to make an estimate of theimplication of a certain action. The advantages and disadvantages are listed below:

Advantages

• No dynamic system knowledge is required to design the controller;

• The RL controller is robust to small and slow system changes.

Disadvantages

• The controller is a black box, i.e. its behavior can not be predicted;

• The controller must be ”learned” on the robotic arm, which requires hun-dreds of trials.

When comparing the results of RL control and feedback control, no standard per-formance indicators (i.e. bandwidth, robustness margins, settling time, overshoot,etc) can be defined. However, three conclusions are given when comparing theimplementation and result of both controllers:

• The current RL controller is not suitable for trajectory tracking. In case of set-point tracking, in 90% of the cases the target is tracked. In the other 10%, thetrial is aborted after 100 actions. The feedback controller tracks a trajectorycorrectly.

• In an equilibrium point, the RL controller suffers severely from limit cycling,while the feedback controller is stable due to the dead-zone in the PWM.

75

Page 92: Modelling and control of a robotic arm actuated by ...

0 5 10 15 20 25 30−40

−20

0

20

40

0 5 10 15 20 25 300

0.5

1

0 5 10 15 20 25 30−40

−20

0

20

40

0 5 10 15 20 25 300

0.5

1

time [s]

θ 1[deg]

pC[bar]

θ 2[deg]

pA[bar]

reference

experiment

Figure 5.11: Step response or the 2DoF controlled robotic arm. The angle step of 15 degand the pressure step of 0.25 bar are used to derive the performance indicators in the twoupper rows in Table 5.7. Only θ1 and pC are excited, θ2 and pA are kept constant by thecontrollers.

76

Page 93: Modelling and control of a robotic arm actuated by ...

Feedback control of the robotic arm

0 2 4 6 8 10 12 14 16 18 20−40

−20

0

20

40

0 2 4 6 8 10 12 14 16 18 200

0.5

1

0 2 4 6 8 10 12 14 16 18 20−40

−20

0

20

40

0 2 4 6 8 10 12 14 16 18 200

0.5

1

time [s]

θ 1[deg]

pC[bar]

θ 2[deg]

pA[bar]

reference

experiment

Figure 5.12: Step response or the 2DoF controlled robotic arm. The angle step of 15 degand the pressure step of 0.25 bar are used to derive the performance indicators in the twolower rows in Table 5.7. Only θ2 and pA are excited, θ1 and pC are kept constant by thecontrollers.

77

Page 94: Modelling and control of a robotic arm actuated by ...

• In the feedback controller, a notch filter is essential. The RL controller mustalso generate behavior similar to a notch filter; which seems unlikely as theRL controller appears to function like a feedforward besides; only three timesamples are considered what is insufficient for a notch filter.

The advantage of a black box approach of the RL controller in fact also counts for theloopshaping approach. In depth dynamic system knowledge is not required, overallfrequency-domain system identification is sufficient. This is less time consumingthan the hundreds of trials required to constructed the model in the RL approach.The tuning of controllers by loopshaping is simple and effective, even in case of anonlinear system with low bandwidth (as proven on the robotic arm).Using linear control, performance guarantees can be given and the robustness tocertain system changes can be estimated (using the sensitivity and the Nyquiststability criterion). Based on the advantages and disadvantages, it can be concludedthat the control strategy as proposed in this thesis is preferred.

5.5 Discussion

Both the DoF and 2DoF robotic arm are stabilized using linear feedback con-trollers. The robot is able to follow desired trajectories, although the bandwidthis limited. In this discussion some remarks on the two control strategies and theperformance are given.

The proposed control strategy for the DoF robotic arm results in two decoupledoutputs. The proposed control strategy for the 2DoF robotic arm gives two coupledoutputs for each joint. Both strategies stabilize the system correctly. The DoFstrategy results in a maximum performance of the robotic arm, while the 2DoFallows for adding damping by adjusting the pressure controller. Obviously, theDoF control strategy can also be used on the 2DoF system by using a differentdSPACE system with sufficient inputs, so all sensor signals can be used.The bandwidth of the robotic arm is 3 Hz at best. Considering the system, this isgood. The main performance limiting factors are the working pressure and the loweigenfrequency of the robotic arm. The nonlinearities, introduced by the McKib-ben muscles, are handled correctly by the linear feedback controllers and seem nolimitation.The robotic arm behaves like an integrator at low-frequencies. For this reason, itis assumed that the static error is a result of the of the dead-zone τ , as introducedin the PWM. In order to reduce the static error, experiments are performed witha smaller dead-zone. This results in nervous behavior and limit-cycling, whichproves that the dead-zone is essential in the control loop.

In the following chapter, the final conclusions and recommendations of this workare presented.

78

Page 95: Modelling and control of a robotic arm actuated by ...

6Conclusions and

recommendations

To investigate the applicability of pneumatic artificial muscles as actuators for do-mestic robots, research is performed on the modeling and control of a robotic armactuated by McKibben muscles (a type of pneumatic artificial muscles). To this ex-tent, three questions are formulated in the problem statement:

A predictive model for the two DoF robotic arm should be built, based on physi-cal principles and dedicated experimental identification, where special attentionshould be given to the modelling of the artificial muscles. This model should bevalidated by experiments and used to construct linear feedback controllers, us-ing a classical feedback approach, allowing for both stabilization and trackingtasks. Finally, these controllers should be implemented and evaluated on theexperimental setup.

A robotic arm model is proposed, consisting of a pneumatic model (describingthe binary valves, flows and pressures), a newly developed model for the McKib-ben muscles and a multibody model of the robotic arm dynamics. The pneumaticmodel, the muscle stiffness and the active muscle behavior are identified usingdedicated experiments; the experimental identification of the robotic arm dynamicsis based on frequency-domain experiments. The model is validated by comparingthe equilibria and the dynamic behavior in both the time- and frequency domain ofthe model to those of the experimental setup. A control strategy is proposed for thedecoupling of twoMcKibbenmuscles in an antagonist setup. Linear controllers aredesigned using loop-shaping techniques and implemented on the robotic arm.This chapter gives the conclusions divided in three parts. Firstly, conclusions aregiven with respect to the four model parts: valves, pneumatics, muscles and robotdynamics. Secondly, conclusions on the entire robotic arm model are drawn and,finally, conclusions on the control of the robotic arm are given. This chapter isended by recommendations for future research.

Valves, pneumatics, muscles and robot dynamics

By applying pulse width modulation to the control signals, the binary behavior ofthe valves becomes continuous by approximation. Limit cycling of the binary valvesis prevented by introducing a dead zone in the PWM. The phase shift due to the

Page 96: Modelling and control of a robotic arm actuated by ...

PWM is −10 degrees at 5 Hz. As the maximum bandwidth is 4 Hz, the binaryvalves are no restriction for the performance of the robotic arm.The pneumatic model uses straightforward relations to describe the pressures andthe flows. Experimental identification on a test setup shows that the pneumaticmodel is accurate. The robotic arm identification has shown that the supply pres-sure is the performance limiting factor in the robotic arm.

Existing McKibben muscle models appear to be inadequate for describing the ob-served behavior, as the interaction of the muscle with its mechanical environmentis generally not taken into account. This yields a wrong description of the McKib-ben muscle in the pressure application range below 2 bar. A new model is pro-posed, which takes into account the variation in stiffness, damping and volume,depending on the muscle length and pressure. The output of the model is a force,which is a result of the interaction with the environment (in terms of the flow andmuscle length). Three conclusions concerning the muscle model can be given:

• The structure of the muscle model allows the muscle to be interpreted asa force or a position actuator, depending on the load of the muscle. Therobotic arm identification shows that the two antagonist muscles act like aforce actuator; this is confirmed by the simulations of the robotic armmodel.

• The stiffness of a McKibben muscle is identified on a tensile bench; thesedynamic experiments are used to fit the parameters of the stiffness relationof the muscle model. The outcome of this fit yields a stiffness relation whichis not in agreement with the stiffness following from the frequency-domainidentification experiments on the robotic arm. Both the muscle identificationand the robotic arm identification are considered to be correct. Themismatchis caused by errors in the fitted stiffness relation; these errors are a result ofdifferences between the application range of the muscles in the robotic arm(pressure: 0.3 − 1.0 bar; muscle length: 168 − 213 mm) and the range usedfor the muscle identification (0.5 − 1.4 bar and 150 − 200 mm).

• The muscle model considers the muscle to be barrel shaped. Simulations inwhich a cylindrical shaped muscle is assumed have shown that the muscleshape is of minor importance on the muscle behavior; namely, the relativevolume change is similar in both cases.

A multibody model is used to derive the equations of motion for the DoF and2DoF robotic arm. This model is considered to be accurate. The length, mass andinertia parameters are determined using the test setup and Unigraphics (to accessthe geometrical data). The friction in the robot joints is not taken into account; thisis compensated for in the muscle model in the form of additional damping.

Robotic arm

The DoF robotic arm model is given by a fifth-order nonlinear differential equa-tion; the 2DoF model is represented by a ninth-order nonlinear differential equa-tion. The modeling has given an increased insight in the functioning of the roboticarm and the McKibben muscles. Three conclusions are given on the validation ofthe robotic arm model:

• The main nonlinear contribution to the robotic arm behavior is given by themuscle stiffness.

80

Page 97: Modelling and control of a robotic arm actuated by ...

Conclusions and recommendations

• Due to errors in the fitted muscle stiffness relation (which are stated above),the robotic arm model is only predictive if the pressure difference betweentwo antagonist muscles is below 0.5 bar.

• Three types of energy dissipation are distinguished: damping in the mus-cles, friction in the muscle braid and friction in the robot joints. In literature,the friction in the muscle is considered to be one of the dominant factorsin the muscle behavior. This is opposed by the identification experimentsperformed in this work, which show that the energy dissipation in the mus-cle is not significant for its behavior. The dimensionless damping ratio ofthe robotic arm is 0.05 ± 0.02 and, according to the muscle identification,approximately half the dissipation occurs in the muscles).

Control strategy

A control strategy is proposed, which yields two decoupled inputs. The pressuredifference between two muscles of a muscle pair is used for generating a torque,while the cumulative pressure is used as an additional input; these two inputs aredecoupled. The cumulative pressure is a measure for the robotic arm stiffness. Theattained decoupling is not perfect, but satisfactory. This allows for the applicationof SISO loop-shaping techniques to generate controllers and the following relatedconclusions can be drawn:

• A notch filter in the angular controller is indispensable to stabilize the roboticarm. The eigenfrequencies of the robotic arm are position dependant dueto the nonlinear stiffness of the muscles; the range of eigenfrequencies iscompensated for with one notch filter.

• A bandwidth of approximately 4 Hz is achieved. The robotic arm is experi-mentally proven to be stable around each equilibrium.

Due to hardware restrictions, the control strategy used for the 2DoF robotic arm isslightly different. The two inputs to each joint are chosen differently, as differentoutputs are available; these two inputs are not decoupled. This does not lead tostability problems, but the bandwidth drops to approximately 1 Hz; this is due tothe interaction of two outputs of one joint. The two joints are completely decoupled.In most literature, complex control strategies are used to control systems actuatedby McKibben muscles. However, this work proves that good results are possible byusing loop shaping techniques to design a linear controller. The presented controlstrategy has proven to give better results than an AI approach, see [Maas, 2005].

Recommendations

Two recommendations concerning the robotic arm are given:

• It is advisable to apply a McKibben muscles with pre-stress. This yields alarger working area as the tube touches the braid at a lower pressure. Stretch-ing the muscle with 10 to 15 mm is sufficient.

• It is recommended to use a higher working pressure, while keeping the max-imum muscle pressure at approximately 1 bar. This would increase the per-formance while the muscles remain compliant.

81

Page 98: Modelling and control of a robotic arm actuated by ...

To improve the robotic arm model; future research is desirable:

• In the McKibben muscle model, the nominal length relation and the stiff-ness relation are derived by two different approaches. These two relationsmust match, as in an equilibrium the force balance, determining the nomi-nal length; gives the stiffness of the muscle. The physical relation behind thestiffness and nominal length requires further research.

• The dedicated muscle stiffness measurements and the frequency-domainidentification experiments do not agree, with respect to the muscle stiffness.It is advised to repeat the muscle identification for an application range (mus-cle lengths and pressures), similar to the application range of the muscles inthe robotic arm.

• Experiments show that stretching a muscle while keeping the air mass con-stant results in a significant pressure increase; this is caused by a decrease involume. The muscle model hardly shows this behavior. This indicates thatthe change in muscle volume not only depends on the muscle length, butalso on the pressure (or the nominal muscle length).

• Measurements on the muscle volume for a range of lengths and pressureswould be desirable to define a better volumetric behavior.

• The additional value of the muscle model, compared to the existing Chou–Hannaford model, requires additional research. Both models are predictivein a different application range; on the overlapping application range, theyshould give similar results.

Considering the control strategy for McKibben muscle actuated robots, two recom-mendations for future research are given:

• The decoupling between the joint angle and the cumulative pressure is notverified. An experimental MIMO analysis would allow for a value judgmentof the decoupling strategy, based on the interaction coefficient.

• The linear controller is performing well, but there is clearly room for im-provement. The robotic arm identification can be used to generate a non-linear model. Based on such a model, techniques such as input-output lin-earization, feedforward design and gain scheduling can be used. It wouldbe interesting to perform research on the increase in performance by usingmore advanced control techniques.

Finally, some remarks on the application of McKibben muscles as robot actuatorsin a domestic environment will be made. It is questionable whether McKibbenmuscles are desirable for this application area; namely, they suffer from wear andfriction, no two muscles are identical, their dynamic behavior is complex and pres-surized air is required. Electric actuators do not suffer from these disadvantages.The compliance of McKibben muscles might be an advantage in a domestic en-vironment, but also electric actuators can be made compliant (for example by in-troducing a compliant element between the actuator and end-effector). Whether aMcKibben muscle or electric actuated domestic robot is used, numerous sensorsare required to detect possible unsafe situations.If electric actuators are applied, it is most important to use a control strategy whichdoes not focus on performance, but on a human friendly behavior, i.e. low band-width and no strong feedback. In any case (electric of McKibben muscle actuated),the trajectories must be smooth, quiet and friendly.

82

Page 99: Modelling and control of a robotic arm actuated by ...

ASpecifications of the

robotic arm parts

This appendix presents additional information on the robotic arm. First, somerobotic arm images are shown. In Appendices A.2 to A.4, the specifications of thebinary valves, pressure sensors and potentiometers are given.

A.1 Additional photos of the robotic arm

In Figure A.1, it is shown that each McKibben muscle has two air hose connectors;one connector is used as air in and outlet while the other connector is used tomeasure the pressure in the muscle.The robotic arm can serve as a DoF and as a 2DoF system. By fixing revolute joint1 (indicated in Figure 2.1), the robotic arm becomes a DoF system, consisting ofrevolute joint 2 and actuated by muscles A and B . The DoF system is shown inFigure A.1, the 2DoF system in Figure A.2. A close up of the valves and sensors,required for the revolute joint 2 , is shown in Figure A.3.All revolute joints and muscle hinges are mounted in bearings, joint forces outof the working plane of the robotic arm are compensated in the bearings. Eachpotentiometers has an internal bearing; it is mounted to the revolute joint througha Koster coupling to avoid over-fixation of the sensor, see Figure A.4.The binary valves in the robotic arm are addressed by the controller. This controlleris implemented in MATLABr SIMULINKr and uploaded to a dSPACEr system.Inbetween the dSPACE and the robotic arm, a switching board is mounted, seeFigure A.5. The switching board matches the hardware interfaces of the dSPACE,the sensors and the valves; it has three additional functions:

• The communication between the dSPACE board and the valves needs ampli-fication. This is realized using eight FET’s.

• An external power source is implemented to power the switching board itself,the FET’s and the pressure sensors.

• The used dSPACE board has four inputs; there are six sensor signals available.Two jumpers determine which four inputs are directed towards the dSPACE.

The electrical scheme of the switching board is given in Appendix A.5.

Page 100: Modelling and control of a robotic arm actuated by ...

Figure A.1: The part of the robotic arm making up the DoF system. Revolute joint 1 isfixed by a beam which is visible in Figure A.3.

Figure A.2: The 2DoF robotic arm inits initial position.

Figure A.3: The potmeter, 4 valves and2 pressure sensors of the second DoF.

84

Page 101: Modelling and control of a robotic arm actuated by ...

Specifications of the robotic arm parts

Figure A.4: Both potentiometers are mounted to the axis using a so called Koster coupling.This coupling fixes DoF (rotation) while it allows motion in the other 5DoF. This is therevolute joint 1 potentiometer.

Figure A.5: The switching board as implemented inbetween the dSPACE system and therobotic arm. In Appendix A.5, the electrical scheme is given.

85

Page 102: Modelling and control of a robotic arm actuated by ...

A.2 Binary valves

Festo MHE2 solenoid fast-switching valve

Electrical data

Operating voltage [V DC] 5 ±10%, 12 ±10% or 24 ±10%

Connection type Plug vanes or moulded-in cable

Power consumption

With fast-switching electronics [W] 5 for 3 ms approx. (pull 1 A), then 2.88 W

Without fast-switching electronics [W] 2.88

Protection class to EN 60 529

With moulded-in cable IP65

With plug socket with cable KMYZ-3 IP65

With plug socket with cable KMYZ-3 and plug M8 IP65

With plug socket with cable KMYZ-4 IP40

Response times and switching frequencies

With fast-switching electronics

Response time on/off [ms] 2 ±10% (from 1 Hz)

Switching frequency [Hz] 150

Without fast-switching electronics

Response time on/off [ms] 7 ±10% (from 1 Hz)

Switching frequency [Hz] 50

Current curve

t [ms]

I[mA]

Current in the coil

Current in the supply line

1 Capacitor charging

2 Controlled coil current 1 A

3 Drop to holding current

4 Controlled holding current

0.5 A

Figure A.6: The specification of the binary valves, [Festo, 2006].

86

Page 103: Modelling and control of a robotic arm actuated by ...

Specifications of the robotic arm parts

Valve response time measurements

The valve response time is checked by an experiment. The flow response is de-termined by measuring the pressure directly behind the valve. In Figure A.6, thecurrent curve in the supply line is given for opening the valve. A similar curve ismeasured, as is shown in Figure A.7. The pressure starts increasing after 2 ms, sothe flow response time for opening the valve is also 2 ms. Several measurementshave been performed, yielding similar results.The flow response time for closing the valve, is given in Figure A.8. The currentshows a drop from 0.1 A to 0.0 A at the moment of switching. The pressure startsincreasing after 3 ms, so the flow response time for closing the valve is given byapproximately 3 ms.

0 1 2 3 4 5 6 7 8 9 10−0.5

0

0.5

1

1.5

2

2.5

t [ms]

I [A]p [0.1 bar]

Figure A.7: Current and pressure behavior for switching on the valve. The current in thisfigure shows great resemblance with the current as shown in the valve specification. On thex-axis, both the current in Ampere and the pressure in bar is shown. The pressure in theplot is multiplied by 10, to make the pressure increase it beter visual, this is also indicatedin the legend.

0 1 2 3 4 5 6 7 8 9 10−0.05

0

0.05

0.1

0.15

t [ms]

I [A]p [bar]

Figure A.8: Current and pressure behavior for switching off the valve. On the x-axis, boththe current in Ampere and the pressure in bar is shown. Remark, the scaling differs fromthe scaling in Figure A.7.

87

Page 104: Modelling and control of a robotic arm actuated by ...

A.3 Festo SDE1 pressure sensor

Function1)

1) For example with 1 switch output PNP and

0 … 10 V analogue

-P- Voltage

15 … 30 V DC

-L- Pressure

–1 … +10 bar

-Q- Temperature range

0 … 50°C

General technical data

Pressure measuring range [bar] 0 … –1 –1 … +1 0 … 2 0 … 6 0 … 10

Mechanical

Method of measurement Piezoresistive pressure sensor with display

Pneumatic connection R, R, G or QS-4

Measured variable Relative pressure

Differential pressure1)

Accuracy ±2% of the measuring range final value

Reproducibility of switching point 0.3%

Electrical connection Plug M8x1 or M12x1, round design to EN 60 947-5-2

Type of mounting Front panel mounting or on service unit, H-rail or adapter plate

Mounting position Any2)

Electrical

Operating voltage range [V DC] 15 … 30

Max. output current [mA] 150

Protection against short circuit Pulsed

Protection against polarity reversal For all electrical connections

Switch output PNP or NPN

CE symbol 89/336/EEC (EMC)

1) Variants with push-in fitting QS-4

2) The collection of condensate in the sensor should be prevented.

Dimensions – H-rail, wall or surface mounting

Pneumatic connection G

1 Plug M8x1 or M12x1 to

EN 60 947-5-2

2 LCD display

3 Pneumatic connection G

4 Connection socket, straight

5 Connection socket, angled

6 Adapter plate for wall mounting

7 Centre with H-rail mounting

Type B1 D1 D2 H1 H2 L1 L2 L3 L4 L5

SDE1-…-W18-…-M8

SDE1-…-H18-…-M8

32.3 G M8 35.2 3.5 78 70 107 89 33

SDE1-…-W18-…-M12

SDE1-…-H18-…-M12

32.3 G M12 35.2 3.5 87 70 125 104 33

88

Page 105: Modelling and control of a robotic arm actuated by ...

Specifications of the robotic arm parts

A.4 Novotechnik SP2500 potentiometer

89

Page 106: Modelling and control of a robotic arm actuated by ...

A.5 Electrical scheme of the switching board

DLP-245PB Page-1

Cor van der Klooster

20-8-2006

switchingboard.vsd

USB / PIC16877

35C3

DLP-245PB

A03

1

A B

Edit

1.12

234

Brown

White

Black

Blue

+24V

Festo

SDE-D10-G

2-W

18-L-PU-M

8

Potentiometer

567

?K

+24V

10K

A14

1K8

5V1

BST70A

210K

+24V

1

BYW56

36C4

BST70A

410K

+24V

3

37C5

BST70A

610K

+24V

5

38C6

BST70A

810K

+24V

7

White

Brown

Green

Festo

MHE2-MS1H-3/2

Festo

MHE2-MS1H-3/2

Black

Black

Black

Black

USBStandard USB Cable

PC

USB

Festo

MHE2-MS1H-3/2

Festo

MHE2-MS1H-3/2

Black

Black

Black

Black

BYW56

BYW56

BYW56

891011

+24V

121314

+5V

10K

1K8

5V1

A25

31

BST70A

1010K

+24V

9

BYW56

B0

Spare

X4

X2

X3

R1

R2

V1

U2

R3

R4

V2

V3R5

V4

V5R6

V6

V7R7

V8

V9R8

V10

V11R9

V12

40

21

1

20

FTDI

FT245BM

Microchip

PIC16F877

U2 Upper view

DLP-245PB

USB

CN1

JP3

5 1

JP3

Programming

Header

1 MCLR/n

2 RB6

3 SWVCC

4 GND

5 RB7

CN1

USB Conn.

1 PORTVCC

2 USBDM

3 USBDP

4 GND

CN1

JP3

Spare

2K2

+24V

Gr

2K2

+24V

Gr

2K2

+24V

Gr

2K2

+24V

Gr

2K2

+24V

Gr

Ye

BYW56

Ye

BYW56

R10

R11

R12

R13

R14

B1

B2

B3

B4

B5

B6

B7

For schematics and source:

www.dlpdesign.com/dnlda

gain

gain

S

G

D

BST70A

Bottom View

0.83V/Bar

0.83V/Bar

10K

10K

10K

10K

10K

R15

R16

R17

R18

R19

A B

Edit

1.12

Brown

White

Black

Blue

Festo

SDE-D10-G

2-W

18-L-PU-M

8

+15V100nF

DC/DC Converter 305S 24FR

+5V

22uF

1

1312

24

1114

1510

+

2AT

+24V

+

22uF

24V supply

+5V+Vout

Common

+Vin

-Vin

INPUT

OUTPUT1

2

5V / 24V Supply

X1F1

U1

C1

C2

C3

13

VCC-IO

15

17

40

GND

GND

GND

GND

+5V

1

10GND

GND

18

EXTVCC+5V19

100nF100nF

C4 C5

BST70A

210K

+24Va

1

BYW56

BST70A

410K

+24Va

3

BST70A

610K

+24Va

5

BST70A

810K

+24Va

7

Festo

MHE2-MS1H-3/2

Festo

MHE2-MS1H-3/2

Black

Black

Black

Black

Festo

MHE2-MS1H-3/

Festo

MHE2-MS1H-3/2

Black

Black

Black

Black

BYW56

BYW56

BYW56

2K2

+24Va

Gr

2K2

+24Va

Gr

2K2

+24Va

Gr

2K2

+24Va

Gr

10K

10K

10K

1

A B

Edit

1.12

234

Brown

White

Black

Blue

+24Va

Festo

SDE-D10-G

2-W

18-L-PU-M

8

Potentiometer

567

10K

1K8

5V1

White

Brown

Green

891011

+24Va

10K

1K8

5V1

Ye

BYW56

Ye

BYW56

gain

gain

0.83V/Bar

0.83V/Bar

A B

Edit

1.12

Brown

White

Black

Blue

Festo

SDE-D10-G

2-W

18-L-PU-M

8

1

2

3

4

5

6

7

8

9

1

2

3

4

5

6

7

32C0

33C1

34C2

39C7

6A3

2E0

8A5

+5V

+24V

10

+24Va

+5Va

8

9

10

Remarks:

- Circuit board in Eddystone box

- U1 / U2 in IC-sockets

- Preferably use SMD resistors on the track side of the board

- X1 - X4 are screw terminals (orange)

- F1 is a glass fuse

5K6

5V6

3K65

5V6

+24Va

Port C2

Port C1

Port C7

Port C0

Port C3

Port C4

Port C5

Port C6

Port A0

Port A2

Port A1

Port A5

Port E0

Port A3

10K

A47

(2.1 - 4K)

0-5V

0-5V

OUT

OUT

IN

IN

OUT

OUT

IN

IN

90

Page 107: Modelling and control of a robotic arm actuated by ...

BMcKibben muscles

properties

This appendix presents some additional information on McKibben muscles. InSection B.1, the major advantages and disadvantages of McKibben muscles aregiven. The results of a literature review is presented in Section B.2, followed byan example on the application of a McKibben muscle as a robotic actuator. SectionB.4 discusses the contribution of the rubber tube to the muscle behavior.

B.1 Advantages and disadvantages

An advantage of all types of pneumatic artificial muscles (PAM’s) is the energy tomass ratio. Compared to conventional actuators (pneumatic, as well as hydraulicand electric), PAM’s excel in this respect [Plettenburg, 2005]. In applications inwhich the total amount of mass is highly critical, PAM’s might be an alternative.

A second advantage of pneumatic artificial muscles is that they can be applied in avery dusty, humid or wet environment. This is contradictory to conventual (electri-cal, mechanical or pneumatic) actuators, which must be kept clean and dry.

McKibben muscles show great similarity with biological muscles. In [Klute, 1999],a comparison, based on experiments, between pneumatic and biological muscles ismade. In [Klute, 2002], the McKibben muscles are compared to the Hill model, amodel describing the behavior of biological muscles. The similarity is based uponthe length – stiffness relation of the muscles. The length – damping relation isdifferent for McKibben muscles and biological muscles; the damping in McKibbenmuscles is much lower.

The compliance of the McKibben muscle is an advantage from domestic applica-tion point of view, but a disadvantage from control theory point of view. A modeldescribing the actuator behavior is required in order to have the actuator generatinga required output force, defined by the control signal.

The major disadvantage of McKibben muscles, is that the relations defining itsbehavior are nonlinear. Both the stiffness and damping depend in a nonlinearmanner on the actual muscle length and the pressure. Besides, McKibben muscles

Page 108: Modelling and control of a robotic arm actuated by ...

suffer from hysteresis due to friction between the tube and the braid and betweenthe nylon fibres of the braid. In [Chou, 1994], it is shown that the friction in thebraid is dominant.

B.2 Literature on McKibben muscles

In this section, the results of a small literature review are presented. The consultedliterature comprehends the modelling of McKibben muscle behavior and the con-trol of systems actuated by McKibben muscles.

B.2.1 McKibben muscle models

The muscle behavior depends largely on the surrounding dynamics and the pres-sure supply. In every literature source, some kind of dynamic load is taken intoaccount, in most cases a known mass is lifted. In [Chou, 1996; van Ham, 2003],the pneumatics are taken into account in the modelling. In [Colbrunn, 2001], amuscle setup is modeled, including a complex relation for the valve. In most caseshowever, the pressure is considered as an input to the system.

Three models describing the behavior of McKibben muscles can be distinguished,see [Chou, 1994; Tondu, 1997; Colbrunn, 2001]. These three models do not use ex-actly the same parameters, but can be transformed into each other [Schröder, 2003].The most referred model is the Chou–Hannaford model [Chou, 1994]:

Fm =π d2

0 pm

4

(3

tan2 ξ0(1 − ε)2 − 1

sin2 ξ0

), (B.1)

with the muscle force Fm, the resting diameter d0, the muscle pressure pm, therest braid angle ξ0 and the elongation ε. In Appendix E.1, the complete derivationof the Chou–Hannaford model is given.

In [Chou, 1996; Colbrunn, 2001] the relation in (B.1) is simplified (by reconsider-ing the individual terms) to:

Fm = kg (pm − pth) (h − hmin) + kp (h − hr) ; (B.2)

with kg a supposed constant gas stiffness, kp an elastic constant for the shearingforce, the actual length h, the minimal length hmin, the resting length hr and athreshold pressure pth at which the tube and braid touch. According to the defini-tion of minimal length, the force due to the air in the muscle is zero if the actualand the minimal length are equal. Equation (B.1) has the two variables pm and ε,while (B.2) has the two variables pm and h.

The pressure in a McKibben muscle is always modelled by Boyle Gay-Lussac’s law,while the generated force is defined using a force balance. In the following, theChou–Hannaford model and contributions to this model are discussed by con-sidering the active (elongation), passive (stiffness and damping) and volumetric(change in volume) behavior of McKibben muscles.

92

Page 109: Modelling and control of a robotic arm actuated by ...

McKibben muscles properties

Active behavior

The actual muscle length is defined by ε in (B.1) or by h in (B.2). No definitionor analogy of the (variable) nominal length is found. In (B.2), the minimal lengthhmin is defined as the length where the force generated by the muscle is zero, i.e.hmin has a constant value.In Section 3.4.4, it is shown that the nominal length approximates a constant valuefor pressures higher then 2 bar. As a result, in the high-pressure range1 the Chou–Hannaford definition of minimal length gives the same result as the nominallength. In the low-pressure range, different values of the muscle pressure yielda different muscle length with zero muscle force.

Passive behavior

The passive behavior of the Chou–Hannaford model is in fact given by (B.1). In(B.2), the stiffness is made more explicit by kg and kp. In [Petrovic, 2002a], theChou–Hannaford model is converted into a quadratic stiffness relation, which ismore obvious then the approximation made in (B.2).In [Tondu, 1997; Chou, 1994], the (static) Chou–Hannaford model is turned a dy-namic model by modelling a damper parallel to the stiffness.In [Klute, 2000], the Chou–Hannaford model is extended by a Mooney-Rivlin de-scription for the visco-elastic behavior of the rubber tube. Compared to the frictionin the braid, the contribution of the rubber tube is rather doubtful. Due to the tightbonding of the braid on the tube, the deformation of the tube is complex. An ex-periment with an inflating rubber tube, shows that the pressure in the muscle onlydepends on the braid, see Appendix B.4.

Volumetric behavior

The variable volume of the muscle is required to model the pressure in the mus-cle correctly. In most cases the muscle is considered to be cylindrically shaped.In [Chou, 1996], a correction of the Chou–Hannaford model for the concave end-ings is given. The approximation of cylindrical shaped muscles does not seem tobe a very good approximation when looking at the Shadow McKibben muscles.The pneumatic muscles used in [Chou, 1996; Tondu, 1997; Colbrunn, 2001] areall cylindrical shaped muscle types (like Rubbertuators). In Figure 2.6, the shapeof the different muscle types can be compared.

Other models

Besides the Chou–Hannaford model, also other models are defined. In most cases,the muscle stiffness and damping are fitted to quasi-static time domain measure-ments. This approach yields no insight in the working principle of McKibbenmuscles and for this reason we omit detailed referencing here. On exception isthe frequency-domain modelling given in [Thongchai, 2001]. A stepped sine exci-tation is injected at 0.5, 1.0, 5.0, 10.0 and 15.0 Hz and fitted in the s-domain toobtain a transfer function from pressure to joint angle. The results are used togenerate a model-based fuzzy controller.

1 The low-pressure range are pressures below 1.5 bar while pressures above 1.5 bar are in the high-pressure range. The pressures used in the robotic arm are in the low-pressure range.

93

Page 110: Modelling and control of a robotic arm actuated by ...

In [Bertetto, 2004], a numerical muscle model is presented. A McKibben muscleis modelled in the FEM package ANSYS. The rubber is modeled as a hyperelasticelements with eight nodes and a Mooney-Rivlin behavior; each thread of the braidis modeled by a single tension bar element with linear elastic behavior. Simulationon the force - length relation are validate by experiments. No further relations arederived from the FEM model. This approach might lead to increased insight, butis not useful in a control loop.

Discussion

The parameters used in (B.2) lack a clear physical interpretation. Also ξ0 in theChou–Hannaford model is not a well defined parameter, since it is not constantover the length of the muscle and it is hard to measure. This is subscribed by[Reynolds, 2003]; it criticizes the absence of a phenomenological model, but failsin presenting a better relation.

The results of the Chou–Hannaford model are good in the high-pressure range.In the low-pressure range, the muscle force is wrongly predicted. The Chou–Hannaford model is commonly used, as in most cases the pressure applicationrange is larger then 2 bar. This is a result of the commonly used Rubbertuator,which is, just like Festo’s MAS, meant for the high-pressure range.

B.2.2 Control strategies for systems with PAM’s

Numerous references can be found about the control of McKibben muscles. Thecontrollers are based on models and / or on measurements. In this section anoverview of control strategies is given and discussed.

In [Pack, 1994], three control strategies (PID, PID tuned by a fuzzy supervisor andnonlinear) are compared. A model of two muscles in an antagonist setup is gen-erated, consisting of the robot dynamics, and the Chou–Hannaford muscle model.Simulations of the joint angle show that the PID controller gives a slow response,while the best response is given by the nonlinear state feedback controller.

In [Schröder, 2003], an experimental setup of two antagonist muscles is consid-ered. Instead of the length of force, the torque of both muscles, the joint angleand the pressure difference between the muscles is considered. A double loop oftwo PI controllers is defined, one loop controls the torque, the other the pressure.The torque is reconstructed by a model describing both muscles; it uses the Chou–Hannaford model extended a by fitted damping relation.

Rather common is the use of some sort of learning control. In [Petrovic, 2002b] apredictive fuzzy control approach is used to control a single muscle in simulation.The predictive fuzzy model is partially based on measurements and partially on themodel given in [Petrovic, 2002a].

In [van der Smagt, 1996], a neural network is used in a feedback controller; sim-ulations of a robotic arm model (using the Chou–Hannaford model) as well asexperiments are used to verify the control strategy.

An adaptive control strategy is proposed by [Caldwell, 1994; Caldwell, 1995]; byupdating an s-domain polynomial every sample, a reconstruction of the robot ismade. The model parameters are used in the controller polynomials, this strategyis experimentally verified.

94

Page 111: Modelling and control of a robotic arm actuated by ...

McKibben muscles properties

In [Maas, 2005] a predictive (neural network) model, based on experiments, is usedin a reinforcement learning control approach2. The implementation of this controlstrategy allows only track step responses; this is validated by experiments. No track-ing guarantees can not be given.

Three nonlinear control strategies are compared by simulation in [Carbonell, 2001].A robust backstepping controller, a sliding mode controller and a gain schedulingcontroller are applied in MATLAB simulations on a data fitted muscle model. Theslidingmode and the backstepping controller show the best error tracking; howeverthe sliding mode controller gives a chattered response.In the following two references, simulations of very long McKibben muscles areconsidered; long muscles approximate the cylindrical shape best. An antagonistsetup is used by [Lilly, 2005] to apply a sliding mode tracking control approach. Avariation on a sliding mode controller is proposed in [Repperger, 1998] to controla single muscle. It defines a variable structure controller, which uses a slidingmode control with a stabilized switching function. For the stabilization, a Lyapunovdistance function is used. Experimental data is used to generate the controller.The design and control of a 4DoF anthropomorphic arm is discussed in[Tuijthof, 2000]. The arm is driven by changes in muscle stiffness. Open loopstiffness control is applied on one joint with two muscles. Working points are de-fined by a fixed combination of joint angle and rotation stiffness (pressure). Noexperimental time responses are given, only the equilibria are experimentally veri-fied.

Finally, some remarks on the use of binary valves. In the above mentioned ar-ticles servo valves are used. In the robotic arm, eight binary valves are used.In [van Ham, 2003], experiments with a robotic arm actuated by pleated artificialmuscles and binary valves is discussed. A simple feedback (no controller) is de-fined. Two data conversions to drive the binary valves are considered: a bang –bang algorithm (using the sign of the error as valve signal) and a PWM algorithm.The PWM algorithm yields the best results.

B.3 Example of a McKibben muscle used as actuator

Commonly used actuators are either position or force actuators. A force actuatorapplies a known force on a load, independent of the position; a position actuatorimposes a displacement on a load, independent of the required force. The com-pliance of a McKibben muscle indicates that it is neither a position, nor a forceactuator. The McKibben muscle is considered to be a non-stiff, force generatingactuator.

In Figure B.1, an example is given of a McKibben muscle used as actuator. Twolength definitions are introduced. The actual length h is defined by the length ofa muscle mounted in a robotic setup, i.e. the distance between the two mountingfittings. The nominal length h0 is defined as the length the muscle takes as afunction of the muscle pressure pm, if no external force is applied.

2 The reinforcement learning control approach in [Maas, 2005] is validated on the same robotic arm asdiscussed in this report. Part of this thesis aims to compare the RL controller with a linear controlstrategy; this is discussed in Section 5.4.

95

Page 112: Modelling and control of a robotic arm actuated by ...

pin pout

qin qout

vin vout

h(θ) m

m

k(pm, h)

d(pm)

h0(pm)

θ

Fm

pm , Vm(h)

Figure B.1: A McKibben muscle is mounted between the fixed world and a load m. Thepressure system with inlet pressure pin and outlet pressure pout is connected to the Mc-Kibben muscle; the flows qin and qout towards and from the muscle are controlled byrespectively the valves signals vinand vout. The muscle pressure is given by pm and thevolumetric behavior is given by Vm(h). In the upper part, a mechanical interpretation ofthe McKibben muscle is given. The active behavior is indicated by nominal length h0 andthe passive behavior is given by stiffness k and damping d. The actual muscle length h(θ)depends on angle θ of load m. The generated muscle force Fm(k, d, h, h0) induces theacceleration of load m.

Imagine this system to be in a stable equilibrium with pm = 0.4 bar and θ = 0 rad.Enabling vinyields a flow qin towards the muscle; as a result the pressure pm in themuscle increases. The increase in pm yields three effects:

• the flow qin decreases;

• the nominal length h0 decreases;

• the muscle’s stiffness k and damping d increase.

As the actual length is not instantly altered due to the inertia of the load m, theactual length is larger than the nominal length, i.e. themuscle is stretched by h−h0.The stretched muscle in combination with the stiffness k and damping d, resultsin a force Fm. This muscle force works on the load m, resulting in a motion of mto the left; as a result, the actual muscle length decreases. The decrease in musclelength h yields three effects:

• the muscle force decreases due to a decrease of h − h0;

96

Page 113: Modelling and control of a robotic arm actuated by ...

McKibben muscles properties

• the muscle volume Vm depends on h; as h decreases, Vm increases;

• the stiffness k decreases as h decreases.

The change in stiffness k and actual length h, affect the muscle force Fm; thechange in muscle volume Vm affects the pressure pm. These changes, in turn,affect the nominal length h0, the flow qin, etc. . .With this exposition, we aim toclarify the complex behavior of the McKibben muscle.

B.4 The tube of a McKibben muscle

The rubber tube of a Shadow McKibben muscle is in fact a piece of a bicycle innertire. The rubber type is isobutylene, which has an excellent airtightness property.The stress at fracture is up to 700% [Stiomak, 1997].

Relations describing the behavior of spherical and cylindrical balloons are derivedin [Müller, 2004]. In Figure B.2a, the typical behavior of inflating a spherical bal-loon is shown. A lot of pressure is required, before the starts to inflate. From thismoment on, less pressure is required for further expansion.Similar behavior is found for cylindrical balloons, as shown in Figure B.2b. Themajor difference is that the pressure has a truemaximum here. Besides, a relativelyhigh pressure is required before the diameter of the balloon starts to increase. InFigure B.2c, the variation in length is plotted against the variation in radius. In-flating the balloon will first cause an expansion in both diameter and length; in theend, the length will reach a maximum and only the diameter will increase.

An experiment is performed with an adapted version of the McKibben muscle. Thebraid is stripped from the muscle; only the rubber tube and the fittings remain. InFigure B.3, two photos of the experiment are shown. In both cases, the balloon isat approximately 0.3 bar, the (big) difference is the volume of both muscles.Most interesting is that the pressure in a cylindrical balloon is bounded accordingto Figure B.2b. More air into the balloon will only lead to an increasing volume,and not to an increase in pressure. Similar behavior is found during the experi-ment. The expansion of the rubber tube starts at approximately 0.4 bar; afterwards,the pressure remains inbetween 0.3 and 0.4 bar, independent of the amount of air.

As air is an ideal gas; the pressure, volume and air mass in the rubber tube arerelated to each other by Boyle-Gay Lussac’s law, see also (3.16). The experimentshows that the pressure remains constant and that the increased air mass yieldsan increase in volume. A McKibben muscle shows different behavior; an increasein air mass yields a minor change in volume and an increase in pressure. Forthis reason, it is believed that the ribber tube does not contribute to the pressurerelation of the McKibben muscle and that the volume of the muscle is completelydetermined by the nylon braid.The rubber tube, however, is still likely to contribute to the passive and active be-havior of the McKibben muscle. This is also shown in [Klute, 2000]; the Chou–Hannaford model is extended by visco-elastic relations, to take the behavior of therubber tube into account.

97

Page 114: Modelling and control of a robotic arm actuated by ...

(a) p(µ) spherical (b) p(µ) cylindrical (c) λ(µ) cylindrical

Figure B.2: A balloon’s length stretch ratio is defined by µ = l

l0, with l the balloon’s length

and l0 the balloon’s resting length. A balloon’s radius stretch ratio is defined by λ = r

r0,

with r the balloon’s radius and r0 the balloon’s resting radius. The pressure as function ofstrain for a spherical balloon, Figure (a) and a cylindrical balloon, Figure (b). The length- radius ratio for a cylindrical balloon is shown in Figure (c). The values along the axisare of minor interest, the shown behavior is important. Images taken from [Müller, 2004].

170 mm

6

?

(a)

360 mm

6

?

(b)

Figure B.3: The rubber tube of a McKibben muscle, before (a) and after (b) inflating, thepressure in both cases is approximately 0.3 bar. The length of the tube is indicated in thefigures.

98

Page 115: Modelling and control of a robotic arm actuated by ...

CPulse width modulation

Pulse width modulation is applied to convert a continuous input signal into a dis-crete output signal with equal power. The output signal consists of pulses withvalue 1 and a variable pulse width. In the robotic arm setup, a distinction is madebetween a positive or a negative value of the input signal. A positive input signalrefers to the flow-in valve while a negative input value refers to the flow-out valve.

The PWM algorithm uses a sample frequency fPWM. On every sample the value ofthe input signal is taken as a reference for the pulse width. The PWM frequency isbased on a comparative assessment of four properties:

• A high fPWM enlarges the bandwidth of the PWM algorithm, a rule of thumbis BW = 1

10fPWM.

• The number of valve actions every second is equal to fPWM, so a high fre-quency might make the robotic arm act nervously.

• The valves have a limited switching frequency (in this case fv = 300 Hz). IffPWM approaches fv , there is not much variation possible in pulse width.

• The use of hoses in the pneumatic system introduces low-pass behavior. Asufficiently high fPWM smoothens the pulsating air flow.

A test setup, as given in Figure C.1, is used to determine the influence of fPWM

on the time behavior of the pressure. In Figures C.2 to C.4, three experimentswith different fPWM are shown. As can be seen the pressure in the volume pout

smoothens rather well if fPWM = 50 Hz; at fPWM = 100 Hz, pout hardly shows anyripple at all. Based on the value of fPWM and pout, it is decided to set fPWM = 50 Hz.A higher fPWM is considered to be too close to fv . Notice that fPWM does not affectthe pressure rise time.Due to the choice for fPWM, the bandwidth of the PWM algorithm is 5 Hz. This isin the same range as the expect bandwidth of the robotic arm.

pin pout

pvalve

Figure C.1: Three pressures are measured to determine the influence of fPWM.

Page 116: Modelling and control of a robotic arm actuated by ...

0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 20

0.2

0.4

0.6

0.8

1

t [s]

p[bar]

pinpvalvepout

Figure C.2: Inflating of a constant volume through a binary valve. The valve is controlledby a block signal of 25 Hz and the pulse width is 50%.

0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 20

0.2

0.4

0.6

0.8

1

t [s]

p[bar]

pinpvalvepout

Figure C.3: Inflating of a constant volume through a valve. The valve is controlled by ablock signal of 50 Hz and the pulse width is 50%.

0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 20

0.2

0.4

0.6

0.8

1

t [s]

p[bar]

pinpvalvepout

Figure C.4: Inflating of a constant volume through a valve. The valve is controlled by ablock signal of 100 Hz and the pulse width is 50%.

100

Page 117: Modelling and control of a robotic arm actuated by ...

Pulse width modulation

C.1 Formulation of the PWM algorithm

A PWM algorithm samples the input signal by a frequency fPWM. This means thatthe pulse width is calculated for the value of the input signal at the sample time. Itis decided to use a zero-order hold (ZOH) as this introduces the least phase delay.For the ZOH, a discrete PWM time tk(t) is introduced, the samples are given byk(t):

k(t) = ⌊t fPWM⌋ (C.1)

tk(t) =k(t)

fPWM

. (C.2)

The first step in the algorithm is to apply the saturation, sign splitting and sam-pling on the input signal u(t), this is shown in (C.3). The sampling is performedby taking u(tk) of u(t). The sign splitting is taken into account by applying twosaturations with different boundaries on u(tk).

uk,in(t) = sat0,1 (u(tk))

uk,out(t) = sat−1,0 (u(tk)) .(C.3)

The parameters describing a pulse are shown in Figure C.5, the pulse width is givenby s, where s ∈ [0, TPWM], with TPWM = 1

fPWM.

0

1

TPWM

s

vin

Figure C.5: Pulse parameters.

The basic property of the PWM algorithm is to keep the power of the input and theoutput signal equal. This property is used for the inputs uk,in(t) and uk,out(t), butnot for the original input u(t). The algorithm is explained for uk,in(t). Solving theintegral of uk,in(t) and vin(t) over one sample time, determines the value of s:

TPWM∫

0

uk,in dt =

TPWM∫

0

vin(t) dt (C.4)

uk,in(t) TPWM = 1 · s + 0 · (TPWM − s) (C.5)

uk,in(t) TPWM = s . (C.6)

101

Page 118: Modelling and control of a robotic arm actuated by ...

To ensure the valves to open at t = tk and to close t = tk +s, a threshold is defined.The threshold uth ∈ [0, 1] is a sawtooth function which runs from 0 to 1 everyTPWM, as given by:

uth(t) = t fPWM − k(t) . (C.7)

The valves have a limited switching time. It is of no use to demand the valves toopen for a time less than the switching time; namely, this will result in errors andpossible limit cycling of the control loop.To prevent limit cycling, a saturation τ is introduced on uth:

vth(t) = satτ,1−τ (uth(t)) , (C.8)

with vth ∈ [τ, 1 − τ ]. A rule of thumb for τ is

τ =2

fv

, (C.9)

where fv is the maximum valve switching frequency.

The PWM output signal is given by comparing the threshold vth(t) to the sampledinput uk,in(t). Finally, the valve signals are derived by comparing the flow signaluk,in(t) with the threshold vth(t). This is shown in (C.10) for both vin(t) andvout(t); remark the additional minus in the vout(t) relation.

vin(t) = uk,in(t) > vth(t)

vout(t) = uk,out(t) < −vth(t)(C.10)

In Figures 3.3 and C.6, the PWM results are shown for two different fPWM.

In case of the robotic arm, four input signals u(t) are transformed into eight dis-crete output signals v(t), defined by:

u(t) =[

uA (t) uB (t) uC (t) uD (t)]T

(C.11)

v(t) =

[vin,A (t) vin,B (t) vin,C (t) vin,D (t)vout,A (t) vout,B (t) vout,C (t) vout,D (t)

]T

(C.12)

Remarks

The main advantage of this algorithm is the use of the threshold vth(t) as it allowsfor real time implementation in dSPACE.Errors due to the zero-order hold are not compensated for. As the PWM algorithmis part of the control loop, errors are corrected directly. Besides, a static error isintroduced by the dead-zone due to the saturation τ .

102

Page 119: Modelling and control of a robotic arm actuated by ...

Pulse width modulation

0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4

0

0.5

1

t [s]

v in

,i(t

)vth(t)

ui(t)

ui(tk)

τ

τ

Figure C.6: Example of the PWM algorithm with fPWM = 50 Hz and τ = 0.01 s.

C.2 Saturation function

It is assumed that a standard saturation function is defined with the boundaries−1and 1 as given by:

y = SAT (x)

y = −1 ∀ x < −1y = x ∀ − 1 ≤ x ≤ 1y = 1 ∀ x > 1 .

(C.13)

In this thesis, an alternative notation is introduced which enables for a saturationwith variable boundaries:

y = sata,b (x)

y = a ∀ x < ay = x ∀ a ≤ x ≤ by = b ∀ x > b ,

(C.14)

with a the lower boundary and b the upper boundary. The implementation of (C.14)is given as a function of (C.13) according to:

sata,b (x) = β SAT

(x − α

β

)+ α , (C.15)

with

α =a + b

2(C.16)

β =b − a

2. (C.17)

In Figure C.7, four examples of the saturation function as defined in (C.14) aregiven. In the upper right figure is shown that sat−1,1 (x) yields the same resultas SAT (x).

103

Page 120: Modelling and control of a robotic arm actuated by ...

−2 −1 0 1 2−2

−1

0

1

2

−2 −1 0 1 2−2

−1

0

1

2

−2 −1 0 1 2−2

−1

0

1

2

−2 −1 0 1 2−2

−1

0

1

2

xx

yy

y = SAT (x) = sat−1,1 (x) y = sat−1,0 (x)

y = sat0.1,0.9 (x) y = sat−1.5,0.3 (x)

Figure C.7: Example of the used saturation function.

104

Page 121: Modelling and control of a robotic arm actuated by ...

DConsiderations on the

pneumatic model

In this appendix, the building andmodelling of a pneumatic test setup is discussed.Based on these results, the model of the pneumatics in the robotic arm are defined.Two types of behavior are investigated with the pneumatic test setup; the type offlow through the hoses and how to implement the valves in the model.In Appendix D.1, the setup of the pneumatic test setup discussed. In AppendixD.2, two flow descriptions are defined and, in Appendix D.3, the modelling of thevalves is discussed. Finally, in Appendix D.4, simulations will show which flow andwhich valve model is preferred.

D.1 Pneumatic test setup

Tomodel the pneumatic system, a simple test setup has been built which resemblesthe pneumatics for one muscle in the robotic arm, see Figure D.1 and Figure D.2.The test setup consists of a capacity connected to the pressure from the wall. Asmaller capacity (with a fixed volume) is used instead of a muscle. A muscle has avariable volume which is not desirable in the modelling of the pneumatic systemas the change of volume is not exactly known. A similar solenoid valve as in therobotic arm is used mounted inbetween the two capacities.Pressure sensors are mounted on three places: on the two capacities and behindthe valve. A current sensor for the valve is made of several resistances in order to beable to determine the exact moments of activating the valves. The manual switchis mounted to release the air from the small capacity.A signal generator and an amplifier are used to direct the solenoid valve. As thevalves in the robotic arm are directed by binary signals, similar signals are used inthe test setup. Two types of signals are used:

• The response of the system for instant opening of the valve is measured,

• The response of the system using a pulsating valve signal. The frequencyand the duty-cycle of the pulse can be varied.

Further, a dSPACE system is used for data acquisition. The measurements areimported into MATLAB for comparison with the simulations.

Page 122: Modelling and control of a robotic arm actuated by ...

amplifier

signal generator

current sensor

pressure in

capacity

muscle

valve

hose 1

hose 2

sensor 1

sensor 2

sensor 3

manual switch

Figure D.1: Pneumatic test setup.

air supply capacity hose 1 valve hose 2 muscle

qinpin q1 q2

pc pm

p1 p2

Figure D.2: Schematic representation of the pneumatic test setup; the flows are indicatedby q and the pressures by p.

q

p1 p2

Figure D.3: Flow model.

106

Page 123: Modelling and control of a robotic arm actuated by ...

Considerations on the pneumatic model

D.2 Flow modelling

Every pneumatic system must fulfill mass conservation. For this reason flowingair is described by mass flow, while in general flow velocity is measured. Velocity vand mass flow q are related to each other by the density ρ and the flow area A:

q =

A

ρ v dA . (D.1)

The flow through a hose depends on the pressure difference between the two sidesof the hose, as shown in Figure D.3. In this section, two relations for q(p1, p2)are considered. Flow behavior dominated by the hose geometry and flow behaviordominated by the geometry of throttle, which is present in the hose.

Laminair flow through a hose

In this case, it is assumed that the flow through the hoses is laminar and that thehose itself determines the flow, see Figure D.4. A laminar flow through a roundhose is described by the Hagen-Poiseuille law, [Polytech, 1997]. This is the solutionfor (D.1) in case of the quadratic velocity profile v:

q = γ ρ(p1 − p2

), (D.2)

with the flow resistance

γ =πr4

h

8ηlh, (D.3)

the radius of the hose rh, the length of the hose lh and the dynamic viscosity ofair η. The density of the air is a function of the pressure. As the pressure changeswith the length, the mean of the two pressures p1 and p2 as defined in Figure D.3,is used to derive the density:

ρ =p1 + p2 + 2 patm

2Rs T. (D.4)

Flow through a throttle

In the hoses, valves are present. These valves act as throttles in case the valveradius is small compared to the hose radius, see Figure D.5. In this case, the flow

lh

2rhq v

Figure D.4: Laminar Poiseuille flow.

2rt

q

Figure D.5: Throttle valve flow.

107

Page 124: Modelling and control of a robotic arm actuated by ...

behavior is determined by the valves. The relation describing the flow through athrottle valve [Polytech, 1997] is given by:

q = β√

ρ (p1 − p2) , (D.5)

with

β = 0.59√

2 πr2t (D.6)

and rt the throttle radius. The density is defined by (D.4).

D.3 Valve modelling

The valves used in the robotic arm and in the pneumatic test setup are fast-switchingsolenoid valves. In Section 3.2, it is shown that the dynamic behavior of the valves isnot important for modelling the robotic behavior. For this reason, a change in valvestate (open or closed) is instantaneous. In that section, two methods for modellingthe valves (taking its status in account) are considered.

In order to explain the two valve implementations, the general setup of the pneu-matic test setup model is discussed first. A schematic overview of the pneumatictest setup is already shown in Figure D.2. The pressure in both volumes satisfy(3.20) and the flow in the hoses is given by either (D.2) or (D.5).

Second-order valve description

One way to model the solenoid valve in Figure D.2, is to consider it as two smallvolumes which are interconnected by a short hose. Depending on the valve sta-tus, the short hose is open or closed. This is visualized in Figure D.6. The smallvolumes are defined by the volume in solenoid valve and of the hoses.

A consequence of this approach is that each volume adds one order to the modelas it is described by the differential equation given in (3.20). When consideringFigure 2.2, it can be noticed that in case of the robotic arm, five orders would beadded to the model; one volume for the splitter and four volumes for the backsideof the valves.

Zeroth-order valve description

Another way to model the solenoid valve is given in Figure D.7. The valves arenot modeled at all, only the function of the valves is implemented into the hosebetween the capacity and the muscle volume. The status v of the solenoid valvedetermines whether flow is possible or not. Using this approach, no additionalorders are added to the model as no volumes are introduced. This might be anadvantage in solving the model.

In case of the robotic arm, multiple McKibben muscles and valves are connected tothe capacity, by a single hose which is split into four hoses, see Figure 2.2. Similaras for the valves, the splitter can not be modeled as a small volume, a differentrelation is derived for the implementation of the splitter behavior. This is presentedin Section 3.3.2.

108

Page 125: Modelling and control of a robotic arm actuated by ...

Considerations on the pneumatic model

pin pc, Vc q1 qv, v q2 pm, Vm

p1, V1 p2, V2

capacity muscle

qin

Figure D.6: Model of the pneumatic test setup with a second-order valve description.

pin pc, Vc pm, Vm

capacity muscle

qsvqin

Figure D.7: Model of the pneumatic test setup with a zeroth-order valve description.

D.4 Simulation of the pneumatic test setup

In this section, the two flow relations of Appendix D.2 and the two valve relationsof Appendix D.3 are implemented into a model of the pneumatic test setup.

The first model is called PTS1. It combines the second-order valve model with thePoiseuille flow. Applying (D.2) for the hoses and (3.20) for the four volumes, gives:

pc = Rs T V −1c

(qin − q1

)

p1 = Rs T V −11

(q1 − qv

)

p2 = Rs T V −12

(qv − q2

)

pm = Rs T V −1m q2 ,

(D.7)

with the Poiseuille flows given by:

qin = γin ρin

(pin − pc

)

q1 = γ1 ρ1

(pc − p1

)

qv = v γv ρv

(p1 − p2

)

q2 = γ2 ρ2

(p2 − pm

).

(D.8)

In the second model (called PTS2), the second-order valve model is combined withthe throttle flows of (D.5). The pressures are also given by (D.7), but the flows aregiven by:

qin = βin

√ρin (pin − pc)

q1 = β1

√ρ1 (pc − p1)

qv = v βv

√ρv (p1 − p2)

q2 = β2

√ρ2 (p2 − pm) .

(D.9)

All flows and pressures are indicated in Figure D.6. The flow resistance γ, thedensity ρ and the throttle parameter β are defined by respectively (D.3), (D.4) and(D.6).

109

Page 126: Modelling and control of a robotic arm actuated by ...

0 0.5 1 1.5 2 2.5 3 3.5 40

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1

t [s]

p[bar]

simulation pc

simulation p1simulation p2simulation pm

experiment pc/p1experiment p2experiment pm

Figure D.8: Simulation of PTS1 compared to the measurement for instant activation of v.An ideal fit would be if the red (pm) and green (p2) dashed lines would match the red andgreen solid lines. The solid blue lines must be inbetween the dashed blue (pc) and black(p1) line.

0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.60

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1

t [s]

p[bar]

simulation pc

simulation p1

simulation p2

simulation pm

experiment pc/p1

experiment p2

experiment pm

Figure D.9: Simulation of PTS2 compared to the measurement for instant activation of v.

110

Page 127: Modelling and control of a robotic arm actuated by ...

Considerations on the pneumatic model

The valve status v is a binary signal; the gas temperature T and the specific gasconstant Rs are constants. In the pneumatic test setup, v is generated by a signalgenerator. Both models are compared with an experiment.

In PTS1, the γ parameters are defined using the hose dimensions. Unfortunately,this yields PTS1 to be unstable. To check whether PTS1 will ever be able to yielda good fit, the γ parameters are tuned to the best possible fit between the simula-tion and the experiment, This is shown in Figure D.8. The dashed lines representthe model, while the solid lines represent the measurements. As can be seen, thePoiseuille flow it is not likely to describe the time behavior of the pressure accu-rately. It can be concluded that the flow is not dominated by Poiseuille behaviorand that the discrepancy between the simulation experiment is not due to errors inthe parameters.Using the the diameters of the reduction valve and solenoid valve, the parameters βin PTS2 are defined. in Figure D.9 the simulation is compared to the experiment.In this case, the model shows a good resemblance with the experiment. Also simu-lations with combinations of (D.8) and (D.9) are performed, although this yieldedno improvement of the simulation as given in Figure D.9. It can be concluded thatthe flow in the pneumatic test setup and in the robotic arm, are determined by thegeometry of the reduction valve and the solenoid valves.In Figure D.10, a second example of PTS2 is shown. The response of PTS2 anda measurement are compared to each other when v is a pulsating signal at 25 Hzwith 50% duty cycle is given. The match between experiment and simulation isgood.

In Figure D.9, it can be seen that PTS2 becomes slightly unstable after simulating1.2 seconds. From this point on, the pressures are almost equal to each other. Asa result, numerical errors occur in the simulation. The reason for this is twofold:cancelation (lost of significant numbers due to subtraction) combined with stiffdifferential equations [Heath, 2002].Using the second-order valve model, two small volumes are introduced. Thesesmall volumes have a small time constant compared to the relatively large volumesof the capacity and the muscle yielding a set of stiff differential equations. In FigureD.11, the flow belonging to the simulation in Figure D.9 is given. As can be seen,large fluctuations occur due to cancelation in q1 and q2.

To prevent numerical errors, it is decided tomodel the valves using the zeroth-ordermodel. The third model (called PTS3) combines the zeroth-order valve model withthe throttle flow relation as given by:

pc = Rs T V −1c

(qin − qs

)

pm = Rs T V −1m qs

qin = βin

√ρin (pin − pc)

qs = v βs

√ρs (pc − pm) .

(D.10)

The flows and pressures are indicated in Figure D.7. This model has proven towork in simulations of the robotic arm model. In Figure D.12, a simulation ofPTS3 is given, which proves that this model is accurate and stable.

111

Page 128: Modelling and control of a robotic arm actuated by ...

0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.60

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1

t [s]

p[bar]

simulation pc

simulation p1

simulation p2

simulation pm

experiment pc/p1

experiment p2

experiment pm

Figure D.10: Simulation of PTS2 compared to the measurement. The valve is excitated bya block signal at 25 Hz with a 50% duty cycle.

0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6−4

−2

0

2

4

6

8

10x 10

−4

t [s]

q[kgs−

1]

qinq1q2

Figure D.11: The flow belonging to the simulations of PTS2 as given in Figure D.9. Noexperimental flow is displayed as the flow is not measured. The numerical errors occur asthe large fluctuation in flow starting at approximate 1.25 seconds.

112

Page 129: Modelling and control of a robotic arm actuated by ...

Considerations on the pneumatic model

0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.60

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1

t [s]

p[bar]

simulation pc

simulation pm

experiment pc/p1

experiment p2

experiment pm

Figure D.12: Simulation of PTS3 compared to the measurement for instant activation ofv, this experiment is similar to the experiment given in Figure D.9. The simulation ofPTS3 returns only two pressures, see Figure D.7, which are stable from 1.25 s on.

D.5 Two DoF pneumatic model

Given the DoF pneumatic model in (3.33), the 2DoF pneumatic model can be de-rived. In Figure D.13, a schematic representation of the 2DoF pneumatic model isshown. The major difference is the implementation of the splitter. The relations ofthe other parts are derived similarly as in Section 3.3.

The virtual pressure in a splitter with two outputs is described by (3.29). A splitterwith four outputs can be considered as two splitters with two outputs, resulting intwo virtual pressures: ps,AB and ps,CD . The virtual pressure ps is now defined bythe lowest of the two virtual pressures:

ps = min(ps,AB , ps,CD ) . (D.11)

The relation describing the flow out of the splitter is slightly changed. For the caseof flow qs,A , the proportionality factor must take the other three possible flows intoaccount, according to:

qs,A =vin,A (pc − pA ) qs

(pc − pA ) + vin,B (pc − pB ) + vin,C (pc − pC ) + vin,D (pc − pD ). (D.12)

Similar relations hold for qs,B , qs,C and qs,D .

113

Page 130: Modelling and control of a robotic arm actuated by ...

pin qin qs

ps

qs,A

qs,B

vout,A

vout,B

qout,A

qout,B

qs,C

qs,D

vout,C

vout,D

qout,C

qout,D

vin,A vin,B

vin,C vin,D

pA , VA

pB , VB

pC , VC

pD , VD

pc , Vc

Figure D.13: Schematic representation of the 2DoF pneumatic model.

114

Page 131: Modelling and control of a robotic arm actuated by ...

Considerations on the pneumatic model

The complete pneumatic model for the 2DoF robotic arm is now given by:

pc = Rs T V −1c

(qin − qs

)(D.13)

ps,AB =[

1 − vin,A vin,A

] [pc pBpA min(pA , pB )

] [1 − vin,B

vin,B

](D.14)

ps,CD =[

1 − vin,C vin,C

] [pc pDpC min(pC , pD )

] [1 − vin,D

vin,D

](D.15)

ps = min(ps,AB , ps,CD ) (D.16)

qin = βin

√ρ (pin − pc) (D.17)

qs = βs

√ρ (pc − ps) (D.18)

qout,i = vout,i βout

√ρ (pi − patm) for i =

[A B C D

]

(D.19)

qs,A =vin,A (pc − pA )qs

(pc − pA ) + vin,B (pc − pB ) + vin,C (pc − pC ) + vin,D (pc − pD )

(D.20)

qs,B =vin,B (pc − pB )qs

vin,A (pc − pA ) + (pc − pB ) + vin,C (pc − pC ) + vin,D (pc − pD )

(D.21)

qs,C =vin,C (pc − pC )qs

vin,A (pc − pA ) + vin,B (pc − pB ) + (pc − pC ) + vin,D (pc − pD )

(D.22)

qs,D =vin,D (pc − pD )qs

vin,A (pc − pA ) + vin,B (pc − pB ) + vin,C (pc − pC ) + (pc − pD )

(D.23)

ρ =p1 + p2 + 2patm

2Rs T. (D.24)

115

Page 132: Modelling and control of a robotic arm actuated by ...

116

Page 133: Modelling and control of a robotic arm actuated by ...

EConsiderations on the

muscle model

In the literature, three models are stated to describe the stiffness of a McKibbenmuscle. These models are given in [Chou, 1996; Tondu, 1997; Carbonell, 2001].In these references, the same approach in obtaining the models is adopted; basedon the principle of virtual work, a relation between the length, pressure and forceis determined. The difference between the three models is that a different set ofparameters are used in each reference. However, in [Schröder, 2003], it is statedthat the three models can be transformed into each other. In Section E.1, the Chou–Hannaford model as defined in [Chou, 1996] is explained.

A minor adjustment to the model Chou–Hannaford is given in [Petrovic, 2002a].The Petrovic model is treated in Section E.2. In Section E.3, a model is stated, thatis similar to the Petrovic model, but is adapted to the Shadow muscles. This stiff-ness model is used in the model of the McKibben muscles, as presented in Section3.4.

E.1 The model of Chou – Hannaford

The variables introduced in this section, differ from the variables in as definedin [Chou, 1996], but are chosen according to the nomenclature on page xi. Themuscle is considered as a cylinder with variable length and diameter. The lengthof the cylinder is given by h and the diameter by D. Since the diameter of thecylinder does neither correspond to d1 nor to d2, a new diameter D is introduced.The length 2L of each shell thread is considered to be constant.

A variable γ is defined which is a measure for the angle characterizing the orienta-tion of the thread, see Figure E.1. This angle is considered to be constant (a resultof the assumption that the muscle is cylindrical), while in reality it depends on theposition along the muscle. The number of windings of one thread is given by n.

From these parameters, it can be seen that the thickness of the braid and the tube

Page 134: Modelling and control of a robotic arm actuated by ...

h

γ

nπD

2L1 thread unfold

Figure E.1: Muscle parameters in the Chou–Hannaford model.

are not taken into account. From Figure E.1, the following relations can be derived:

h = 2L cos γ (E.1a)

D =2L

nπsin γ (E.1b)

V =π

4D2h =

2L3

πn2sin2 γ cos γ (E.1c)

In [Carbonell, 2001], it is noticed that the braid angle γ is difficult to measure. Forthis reason, a different set of parameters is introduced.

The static physical relations are derived by considering the pneumatic to mechan-ical energy conversion. This conversion is realized by transferring the pressure onthe inner surface of the bladder into a shortening tension.

The virtual input work δWin is done when gas pushes the bladder surface:

δWin =

Si

p δ~I · ~si = p δV , (E.2)

with p the relative pressure in the muscle, δ~I the inner surface virtual displace-ment, ~si the area vector, Si the total inner surface and δV the virtual volumechange.

The virtual output work δWout is done when the actuator shortens with the volumechange:

δWout = −F δh , (E.3)

with F the force performed by the muscle and δh the virtual length change. Appli-cation of the principle of virtual work for a system in a static equilibrium gives:

δWout = δWin (E.4)

−F δh = p δV (E.5)

118

Page 135: Modelling and control of a robotic arm actuated by ...

Considerations on the muscle model

This involves two assumptions: no energy is stored in the muscle and there are noother system losses. Using (E.1), we can write:

δV =2L3

πn2

(2 sin γ cos2 γ − sin3 γ

)δγ

δh = −2L sin γ δγ .

(E.6)

Substituting of (E.6) in (E.5) and realizing that it should hold for any δγ gives theChou–Hannaford model as:

F = −pδV

δh= p

L2

πn2

(2 cos2 γ − sin2 γ

)

= pL2

πn2

(3 cos2 γ − 1

).

(E.7)

This completes the static muscle relation of the Chou–Hannafordmodel, in [Chou, 1994]almost the same theory is discussed.

In [Tondu, 1997] a similar relation for the muscle force F is derived, but as a func-tion of the muscle contraction ratio ε.

F = pL2

πn2

(3

tan2 γ0(1 − ε)2 − 1

sin2 γ0

). (E.8)

The newly introduced parameter γ0 = 20 is the reference braid angle. In thisreference, it is also noted that (E.8) is similar to the Chou–Hannaford model.

In order to simplify the model, the tension is considered as a function of the pres-sure and the length. This means that the muscle is like a variable stiffness element.Its stiffness k is proportional to the pressure and the stiffness per unit pressure kg

approximates a constant. The stiffness k and the stiffness per unit pressure kg aredefined according to:

k =dF

dh

kg =dk

dp.

(E.9)

As a result, the force can be linearized as:

F = kg p (h − hmin) , (E.10)

with hmin the theoretical minimum muscle length (when F = 0). In order totaken into account the stored energy in the bladder and shell, a threshold pressurepth is defined for the pressure to overcome the radial elasticity of the bladder forexpanding. This gives

F = kg (p − pth) (h − hmin) if p > pth ,

F = kp (h − hmin) if p ≤ pth .(E.11)

This model is compared with measurements as described in [Chou, 1996]. Thetests are quasi-static tests: a slow elongation of the muscle under a given pres-sure. The model fits the measurements rather well for pressures above 2.0 bar.Also dynamic tests are performed and some related conclusions are drawn in thereference:

119

Page 136: Modelling and control of a robotic arm actuated by ...

• The tension - length behavior is velocity independent at low velocities;

• The hysteresis is history dependant;

• The velocity independent hysteresis is most likely due to Coulomb friction,which dominates the total friction of the actuator.

E.2 The model of Petrovic

The model in [Petrovic, 2002a] uses the Chou–Hannaford model. Petrovic avoidsthe simplification as given by (E.10); it is considered for the following reason. Theforce F is a linear function of the pressure p and quadratic with the length h, whichcan be seen by substituting cos γ = h

2Las given in (E.1a) into (E.7) and reorganizing

terms:

F = p3h2 − 4L2

4πn2= p S(q) (E.12a)

S(q) = s0 + s1q + s2q2 , (E.12b)

with

q = h − hr (E.13a)

s0 =

(3h2

r − 4L2)

4πn2(E.13b)

s1 =3hr

2πn2(E.13c)

s2 =3

4πn2, (E.13d)

and hr a constant reference length. This simple quadratic relation for S(q) is analternative for the gas spring constant kg(h − hmin) as derived in (E.10).

E.3 The model for a Shadow McKibben muscle

The derivation of the Chou–Hannaford model using virtual work, seems very ele-gant from the authors point of view. For this reason, the simplification as proposedin (E.10) seems somewhat odd, especially when considering the relation as derivedin (E.12). On the other hand, the model in (E.10), appears to be a good predictor forthe muscle behavior for pressures of 2.0 bar and higher. In this section, a relationis derived using the muscle properties for the volume V as derived in Section 3.4and the the Petrovic model, based on virtual work.

The volume of a Shadow McKibben muscle is defined in (3.39) as:

V (h) =π h

60

(3 d2

1 + 4 d1 d2(h) + 8 d22(h)

). (E.14)

120

Page 137: Modelling and control of a robotic arm actuated by ...

Considerations on the muscle model

In (E.5), the result of the virtual work is given by:

F = −pδV

δh(E.15)

Assuming the muscle to be in an stable equilibrium; δV is rewritten to:

δV =dV

dhδh . (E.16)

Substituting (E.16) into (E.15) yields:

F = −pdV

dh. (E.17)

Now, the muscle’s stiffness k can be defined as:

k =dF

dh= −p

d2V

dh2. (E.18)

In this relation, the pressure is considered to be an input; as such, it is not a func-

tion of the length h. The derivative d2Vdh2 represents the stiffening of the muscle

due to elongation of the muscle. The stiffness is linear with the relative pressure p,however one aspect is missing.

The stiffness of themuscle is biased. For p = 0 bar, relation (E.18) returns k = 0 Nm−1.This is not correct. Below 0.3 bar, the muscle behaves differently as the braid andthe rubber tube do not touch, see also Figure 2.5. For this reason, the stiffness ofthe muscle is biased. This bias is implemented by introducing an additional pa-rameter λ on the pressure. The change in stiffness as a function of the pressurealso appears if p ≈ 0; for this reason, the pressure bias λ is applied directly on theactual muscle pressure p according to:

k = − (λ + p)d2V

dh2. (E.19)

As the stiffening, given by d2Vdh2 , is rather involved, this function is approximated by

a truncated Taylor series. Simulations with several orders for the Taylor series haveshown that a second-order Taylor series yields satisfying results. The simulationsare compared to experimental stiffness data. These experiments are discussed inSection 4.1. The application of the Taylor series yields:

− d2V

dh2≈ ξ0 + ξ1h + ξ2h

2 , (E.20)

Combining (E.19) with (E.20), yields the final relation for the muscle stiffness:

k =(λ + p

) (ξ0 + ξ1h + ξ2h

2)

. (E.21)

121

Page 138: Modelling and control of a robotic arm actuated by ...

E.4 Analytical solution for the stiffness parameters

In the stiffness relation in (E.21), four parameters are present. The three ξ param-

eters are derived from the Taylor series of d2Vdh2 . The exact expression is:

d2V

dh2=

∂2V

∂h2︸ ︷︷ ︸=0

+∂2V

∂d22

(∂d2

∂h

)2

+∂V

∂d2

∂2d2

∂h2+ 2

∂2V

∂h ∂d2

∂d2

∂h. (E.22)

This relation is estimated by a second-order Taylor series around the referencelength hr = 0.19 m. This value is given by the muscle length h in case the an-gle of joint 1 of the robotic arm is equal to θ = 0 deg. The Taylor series for (E.22)is:

d2V

dh2≈ d2V

dh2

∣∣∣∣h=hr

+d3V

dh3

∣∣∣∣h=hr

(h − hr) +1

2

d4V

dh4

∣∣∣∣h=hr

(h − hr)2 .

(E.23)

From this relation, the three Taylor constants s are given by:

ψ0 =d2V

dh2

∣∣∣∣h=hr

= 0.0373 m

ψ1 =d3V

dh3

∣∣∣∣h=hr

= 0.2825

ψ2 =1

2

d4V

dh4

∣∣∣∣h=hr

= 1.9691 m−1 .

(E.24)

The numerical values of ψ0, ψ1 and ψ2 are determined in MATLAB. Making use of

these three parameters, the relation for d2Vdh2 would be defined as:

d2V

dh2≈ ψ0 + ψ1(h − hr) + ψ2(h − hr)

2 , (E.25)

while in (E.20), it is stated that:

d2V

dh2≈ ξ0 + ξ1h + ξ2h

2 . (E.26)

This discrepancy is solved by rewriting the ψ parameters to ξ parameters:

ξ0 = ψ0 − ψ1hr + ψ2h2r = 0.0547 m

ξ1 = ψ1 − 2ψ2hr = −0.4658

ξ2 = ψ2 = 1.9691 m−1 .

(E.27)

The parameter λ is approximated using a simple experiment. A mass is attachedto the rubber tube and the static elongation is measured, this yields a stiffness of1.5 kN m−1. Substituting (E.27) in (E.21) for p = 0 bar and h = hmin = 160 mm,yields:

k =(λ + 0

) (ξ0 + 0.16 ξ1 + 0.162 ξ2

)= 1500 N m−1

λ = 0.5 bar. (E.28)

This numerical value is a coarse estimate, but it is a good order estimate of theorder λ. An interpretation of the four muscle stiffness parameter is difficult, as nophysical meaning can be given to the parameters and its values.

122

Page 139: Modelling and control of a robotic arm actuated by ...

FDerivation of the

multibody model

The equations of motion of the robotic arm, will be derived by making use of themultibody theory. The notation as defined in [van de Wouw, 2003] is adopted inthe following derivation. In Figure F.1, the setup of the multibody model is given;in Figure F.2 and in the upper half of Table F.1 the accompanying dimensions ofthe robotic arm are given.In the lower half of Table F.1, three additional lengths are defined which will bedeclared in the remainder of this appendix. The length lS refers tot the unloadedspring length. The length of the muscle fittings for respectively muscles A and Bis given by lfAB and the length of the fittings for muscles C and D by lfCD .

The kinematics are defined in relative coordinates. This means that the position ofeach mass is defined relative to the mass it is connected to. Three vector framesare introduced. Point O indicates the origin of the fixed frame ~e 0. In the center ofmass of body 1 (CM1), the frame ~e 1 is introduced an in the center of mass of body2 (CM2), the frame ~e 2 is located.Furthermore, three joints are introduced. C00 is rigidly fixed to the origin O. C01and C12 are revolute joints connecting body 1 to the fixed world respectively body2 to body 1. Next, the vectors indicated in Figure F.1 will be explained using thedimensions as given in Figure F.2.

dim length [mm] dim length [mm] dim length [mm]

l0 375.0 l1A 76.0 l0C 20.0l01x 66.7 l2A 142.0 l1C 35.0l01y 13.7 l1B 24.0 l0D 20.0l11x 453.3 l2B 210.0 l1D 105.0l11y 26.3 lAB 123.3 l0S 170.0l1x 520.0 l12 176.0 l1S 185.0l1y 40.0 lsvx 110.0 lsvy 26.0

lS 75.0 lfAB 140.0 lfCD 180.0

Table F.1: Values of all dimensions as used in the multibody model.

Page 140: Modelling and control of a robotic arm actuated by ...

CM1

CM2

O = C00

C01

C11 = C12

A

B

CDS

~e 01

~e 02

~e 11

~e 12

~e 21

~e 22

−θ2

θ1

~c0

~rCM1

~rCM2

~b12

~b01

~b11

Figure F.1: Kinematics of the multibody system.

124

Page 141: Modelling and control of a robotic arm actuated by ...

Derivation of the multibody model

CM1

C01

lsvx

lsvy

sv

~rsv

~bsv

~c0

CM1

CM2

O = C00

C01

C11 = C12l01x

l11x

l01y

l11y

l12

l0

l1x

l1y = l01y + l11y

l1A

l2A

l1B

l2BlAB

l0C

l1C

l0D

l1D

l0S

l1S

Figure F.2: Dimensions of the multibody system and the point mass sv parameters.

125

Page 142: Modelling and control of a robotic arm actuated by ...

F.1 Kinematics of the pneumatic robot arm

The body fixed vectors indicating the position of the revolute joints with respect tothe center of mass are given by:

~b01 =[−l01x −l01y

]~e 1

~b11 =[

l11x l11y

]~e 1

~b12 =[

0 −l12]~e 2 .

(F.1)

The generalized coordinates are given by:

q =[

x1 y1 θ1 x2 y2 θ2

]T. (F.2)

The variables x1, y1, x2 and y2 indicate the constraint vectors:

~c0 =[

x1 y1

]~e 0

~c1 =[

x2 y2

]~e 1 ,

(F.3)

where ~c0 is indicated in Figure F.1 (~c0 = l0~e02 ) and ~c1 is the relative position vector

of C12 with respect to C11 (i.e. ~c1 = ~0). Consequently, the constraint equationsrelated to the revolute joints are given by:

q1 = x1 = 0q2 = y1 = l0q4 = x2 = 0q5 = y2 = 0 .

(F.4)

Applying the constraint equations to (F.2) leaves only two unconstrained general-ized coordinates:

q =[

θ1 θ2

]T. (F.5)

The direction cosine matrices, linking the three frames to each other are given by:

A10 =

[cos(θ1) sin(θ1)− sin(θ1) cos(θ1)

]

A21 =

[cos(θ2) sin(θ2)− sin(θ2) cos(θ2)

]

A20 = A21A10 =

[cos(θ1 + θ2) sin(θ1 + θ2)− sin(θ1 + θ2) cos(θ1 + θ2)

],

(F.6)

where

~e 1 = A10 ~e 0

~e 2 = A20 ~e 0 = A21 A10 ~e 0 .(F.7)

Now, the position of the center of mass for body 1 (CM1) is given by:

~rCM1 = ~c0 −~b01 = r0T

CM1 ~e 0

r0CM1 =

[0 l0

]T+

[l01x l01y

]A10

=

[l01x cos(θ1) − l01y sin(θ1)

l0 + l01x sin(θ1) + l01y cos(θ1)

].

(F.8)

126

Page 143: Modelling and control of a robotic arm actuated by ...

Derivation of the multibody model

The position of the center of mass for body 2 (CM2) is given by:

~rCM2 = ~rCM1 +~b11 + ~c1 −~b12 = r0T

CM2 ~e 0

r0CM2 = r0

CM1 +[

l11x l11y

]A10 −

[0 −l12

]A20

=

[l1x cos(θ1) − l1y sin(θ1) − l12 sin(θ1 + θ2)

l0 + l1x sin(θ1) + l1y cos(θ1) + l12 cos(θ1 + θ2)

].

(F.9)

In order to define the velocity of a rigid body in space, the time derivative of thedirection cosine matrices in (F.6) are required.

A10

=

[−θ1 sin(θ1) θ1 cos(θ1)

−θ1 cos(θ1) −θ1 sin(θ1)

]

A21

=

[−θ2 sin(θ2) θ2 cos(θ2)

−θ2 cos(θ2) −θ2 sin(θ2)

]

A20

= A21

A10 + A21A10

=

[−(θ1 + θ2) sin(θ1 + θ2) (θ1 + θ2) cos(θ1 + θ2)

−(θ1 + θ2) cos(θ1 + θ2) −(θ1 + θ2) sin(θ1 + θ2)

].

(F.10)

The angular velocity of a frame is given by the angular velocity vector ~ω according

to ~e1

= ~ω × ~e 1. The angular velocity vectors are given by:

10~ω =[

0 0 θ1

]~e 0 = θ1 ~e 0

3

21~ω =[

0 0 θ2

]~e 1 =

[0 0 θ2

]~e 0 = θ2 ~e 0

3

20~ω =(θ1 + θ2

)~e 03 ,

(F.11)

where ij~ω is the angular velocity vector of frame i with respect to frame j and~e 03 = ~e 0

1 × ~e 02 . The angular velocity vector can also be used to derive the time

derivative of the direction cosine matrix by using the Poisson equation; this yieldsthe same result as (F.10).

The velocity of the center of mass CM1 of body 1 in space is derived by calculatingthe time derivative of the position vector:

~rCM1 = − ddt

(~b01

)= d

dt

(b01

1T)

~e 1 − b011T

~e1

= −b011T

A10

~e 0 = r0T

CM1 ~e 0

r0CM1 =

[−l01x θ1 sin(θ1) − l01y θ1 cos(θ1)

l01x θ1 cos(θ1) − l01y θ1 sin(θ1)

].

(F.12)

The simplification ddt

(~c0) = 0 is valid as ~e 0 is a fixed reference frame and ~c0 is

a body fixed vector. The same can be said for ddt

(b01

1)

= 0 as ~b01 is a body fixedvector of body 1.

127

Page 144: Modelling and control of a robotic arm actuated by ...

The same approach goes for mass 2:

~rCM2 = ddt

(~rCM1 +~b11 −~b12

)

= ~rCM1 + b111T

~e1 − b12

2T

~e2

= −b011T

A10

~e 0 + b111T

A10

~e 0 − b122T

A20

~e 0

=((

b111T − b01

1T)

A10 − b12

2T

A20

)~e 0 = r0T

CM2 ~e 0

(F.13)

r0CM2 =

[−l1x θ1 sin(θ1) − l1y θ1 cos(θ1) − l12 (θ1 + θ2) cos(θ1 + θ2)

l1x θ1 cos(θ1) − l1y θ1 sin(θ1) − l12 (θ1 + θ2) sin(θ1 + θ2)

].

F.2 Mass and inertial properties

Both bodies have a a steel and a aluminium part; this is taken into account inthe calculation of the inertial properties. The inertia tensors of body 1 and body 2are determined by modelling the robotic arm in the CAD package Unigraphics; inAppendix F.7, two output files are given. Each output file shows two types of inertiaparameters: inertia in the revolute joint of the body, indicated by work; and inertiaaround the center of mass of the body, indicated by centroidal.The coordinates indicated by centroid give the location of the center of mass ofeach body, these parameters are used in Table F.1. The inertial parameters for body1 and 2 are given by respectively Ixx and Iyy in their subsequent output file.Also the principal axes of inertia and the moments of inertia for the principal axesare calculated. The principal axes of body 1 do not coincide with the axes of ~e 1. Thisis confirmed by the non-zero products of inertia. In case of body 2 , the principalaxes of inertia do coincide with the axis of ~e 2. This yields the inertia matrix to be adiagonal matrix: the three moments of inertia equal zero.

The robotic arm allows only for rotation around the z axis (i.e. in the x − y plane,see Figure F.1). As a result only the Jzz inertial parameter is required. The angularmomentum of both bodies is given by:

~HCM1 = Jzz1 θ1 ~e 03

~HCM2 = Jzz2 (θ1 + θ2) ~e 03 .

(F.14)

Besides the two bodies, a point mass sv is defined representing the four valves, twopressure sensors and the wiring which are mounted on body 1. In Figure F.2, pointmass sv is indicated. The position and velocity vectors of sv are defined by:

~rsv = ~c0 −~bsv = r0sv ~e 0

~bsv =[−lsvx −lsvy

]~e 1

r0sv =

[0 l0

]T+

[lsvx lsvy

]A10

=

[lsvx cos(θ1) − lsvy sin(θ1)

l0 + lsvx sin(θ1) + lsvy cos(θ1)

]

r0sv =

[−lsvx θ1 sin(θ1) − lsvy θ1 cos(θ1)

lsvx θ1 cos(θ1) − lsvy θ1 sin(θ1)

].

(F.15)

128

Page 145: Modelling and control of a robotic arm actuated by ...

Derivation of the multibody model

All inertias and masses used in the multibody model are given by:

msv = 0.80 kgm1 = 2.64 kgm2 = 0.533 kg

Jzz1 = 89.3 · 10−3 kg m2

Jzz2 = 5.70 · 10−3 kg m2 .

(F.16)

The mass of the valves, sensors and wiring are determined experimentally usinga balance. The mass of body 1 and 2 are derived from Appendix F.7. It shouldbe noted that a number of masses are neglected. The mountings of the musclesconsist of an aluminium part (36 g) and a plastic part (the muscle fitting, 10 g). Themuscles are also neglected.

F.3 Spring

On body 1, a spring is mounted to compensate for the momentum due to the ef-fective mass unbalance around C01. In the initial position of the pneumatic robotarm (θ1 = θ2 = 0), the unloaded spring length lS must fulfill lS < l0S . The vectorsindicating the acting points of the spring are visualized in Figure F.3 and given by:

~b0S =[−l0S 0

]~e 0

~b1S =[−l1S −l01y

]~e 1 .

(F.17)

The spring force vector ~FS can be defined by the spring direction vector ~fS , theunloaded spring length lS and the spring stiffness kS :

~FS = kS

(‖~fS ‖ − lS

) ~fS

‖~fS ‖, (F.18)

with

~fS = ~rCM1 +~b1S −~b0S = ~c0 −~b0S −~b01 +~b1S = f0T

S~e 0

f0

S=

([l0S l0

]+

[l01x − l1S 0

]A10

)T

=

[l0S + (l01x − l1S ) cos(θ1)l0 + (l01x − l1S ) sin(θ1)

].

(F.19)

The spring stiffness is experimentally determined on kS = 1 kN m−1.

129

Page 146: Modelling and control of a robotic arm actuated by ...

CM1

CM2

O = C00

C01

C11 = C12~FA

−~FA

~FB

−~FB

~FC

−~FC

~FD

−~FD

~FS

−~FS

~b1A

~b2A

~b1B

~b2B

~b0C

~b1C

~b0D

~b1D

~b0S

~b1S

©

2©3©

5©6©

Figure F.3: Force vectors and related acting points of the multibody system.

130

Page 147: Modelling and control of a robotic arm actuated by ...

Derivation of the multibody model

F.4 Muscle forces

In Section 3.4, the behavior of the muscles is discussed. In the robot, four musclesare present. The body fixed vectors indicating the muscle mountings are visualizedin Figure F.3. Using Figure F.2, the body fixed vectors are defined as:

~b0C =[

l0C 0]~e 0

~b0D =[−l0D 0

]~e 0

~b1A =[

lAB l1A]~e 1

~b1B =[

lAB −l1B]~e 1

~b1C =[−l1C −l01y

]~e 1

~b1D =[−l1D −l01y

]~e 1

~b2A =[

0 −l2A]~e 2

~b2B =[

0 −l2B]~e 2 .

(F.20)

The muscle forces acting in these points are given by the force vectors ~Fi, as indi-cated in Figure F.3:

~Fi = Fi~fi

‖~fi‖for i ∈

A B C D

. (F.21)

Herein, the muscle forces Fi are defined by (3.47), the force direction vectors ~fi aregiven by:

~fA = ~rCM2 +~b2A −(~rCM1 +~b1A

)= ~b11 −~b1A −~b12 +~b2A = f0T

A~e 0

f0

A=

([l11x − lAB l11y − l1A

]A10 +

[0 l12 − l2A

]A20

)T(F.22)

=

[(l11x − lAB ) cos(θ1) − (l11y − l1A ) sin(θ1) − (l12 − l2A ) sin(θ1 + θ2)(l11x − lAB ) sin(θ1) + (l11y − l1A ) cos(θ1) + (l12 − l2A ) cos(θ1 + θ2)

]

~fB = ~rCM2 +~b2B −(~rCM1 +~b1B

)= ~b11 −~b1B −~b12 +~b2B = f0T

B~e 0

f0

B=

([l11x − lAB l11y + l1B

]A10 +

[0 l12 − l2B

]A20

)T(F.23)

=

[(l11x − lAB ) cos(θ1) − (l11y + l1B ) sin(θ1) − (l12 − l2B ) sin(θ1 + θ2)(l11x − lAB ) sin(θ1) + (l11y + l1B ) cos(θ1) + (l12 − l2B ) cos(θ1 + θ2)

]

~fC = ~rCM1 +~b1C −~b0C = ~c0 −~b0C −~b01 +~b1C = f0T

C~e 0

f0

C=

([−l0C l0

]+

[l01x − l1C

]A10

)T(F.24)

=

[−l0C + (l01x − l1C ) cos(θ1)l0 + (l01x − l1C ) sin(θ1)

]

~fD = ~rCM1 +~b1D −~b0D = ~c0 −~b0D −~b01 +~b1D = f0T

D~e 0

f0

D=

([l0D l0

]+

[l01x − l1D

]A10

)T(F.25)

=

[l0D + (l01x − l1D ) cos(θ1)l0 + (l01x − l1D ) sin(θ1)

].

131

Page 148: Modelling and control of a robotic arm actuated by ...

An output from the robot dynamics to themuscle model is the actual muscle length

hi(t) for i ∈ A B C D . This length is derived from the force direction vector ~fi(t)as defined above. The force direction vector is the vector between the two musclemounting points. This vector replaces the muscle and the fittings. The actualmuscle length is now given by the absolute value of this vector, minus the fittinglengths:

hi(t) = ‖~fi(t)‖ − lfAB for i ∈A B

hi(t) = ‖~fi(t)‖ − lfCD for i ∈C D

.

(F.26)

F.5 Two DoF equation of motion

The necessary inputs to state the equations of motion for the pneumatic robot armare stated. First, the energy equations will be formulated, thereafter the equationsof motion will be derived using the Lagrangian approach.

Kinetic energy

The kinetic energy of the robot arm is given by:

T = 12

(msv ~rsv · ~rsv + m1 ~rCM1 · ~rCM1 + m2 ~rCM2 · ~rCM2

)

+ 12

(~HCM1 · 10~ω + ~HCM2 · 20~ω

).

(F.27)

Substituting (F.11) to (F.15) in (F.27) and reorganizing terms gives:

T = 12

(msv

(l2svx + l2svy

)+ m1

(l201x + l201y

)+ Jzz1

)θ21

+ 12 m2

(l21x + l21y

)θ21 + 1

2

(m2 l212 + Jzz2

)(θ1 + θ2

)2

− m2 l12 θ1

(θ1 + θ2

) (l1x sin(θ2) − l1y cos(θ2)

)(F.28)

Potential energy

The total potential energy equals the sum of the potential energy of the conservativeforces and the internal energy.

V = V ex + U in . (F.29)

The potential energy due to the gravity force is given by

V ex = −msv ~g · ~rsv − m1 ~g · ~rCM1 − m2 ~g · ~rCM2 , (F.30)

with the gravity vector defined by

~g =[

0 −g]~e 0 . (F.31)

Application of (F.15), (F.8), (F.9) and (F.31) to (F.30) gives the gravitational energy:

V ex = msv g(l0 + lsvx sin(θ1) + lsvy cos(θ1)

)

+ m1 g(l0 + l01x sin(θ1) + l01y cos(θ1)

)

+ m2 g(l0 + l1x sin(θ1) + l1y cos(θ1) + l12 cos(θ1 + θ2)

).

(F.32)

132

Page 149: Modelling and control of a robotic arm actuated by ...

Derivation of the multibody model

The internal energy available in the spring is given by

U in =1

2kS

(‖~fS ‖ − lS

)2

. (F.33)

Applying (F.19) to (F.33) gives the internal energy.

U in = 12 kS

((l0S + (l01x − l1S ) cos(θ1)

2

+l0 − (l01x − l1S ) sin(θ1)

2) 1

2 − lS

)2

.(F.34)

Generalized muscle forces

The remaining forces acting on the robotic arm are the muscle forces, as defined in(F.21). Each muscle consists of a pressure dependent length, stiffness and damp-ing. The generalized muscle forces Q are defined by:

Q =

nF∑

j=1

(∂~rj

∂q

)T

· ~Fj . (F.35)

In Figure F.3, the six circled numbers indicate the positions at which the muscleforces act, this means nF = 6 in (F.35). The circled numbers correspond with thenumber of the generalized muscle forces. The relation between the generalizedmuscle forces Q

jfor j ∈ 1 2 3 4 5 6 as defined in (F.35) and the muscles forces

~Fi for i ∈ A B C D as defined in (F.21), is also given by:

Q1

→ −~FA

Q2

→ −~FB

Q3

→ ~FA

Q4

→ ~FB

Q5

→ −~FC

Q6

→ −~FD .

(F.36)

The generalized muscle force for j = 1 is given by:

~r1 = ~rCM2 +~b2A = ~rCM2 +[

0 −l2A]A21A10~e 0 (F.37)

r01 =

[l1x cos(θ1) − l1y sin(θ1) − a1

l0 + l1x sin(θ1) + l1y cos(θ1) + b1

](F.38)

a1 = (l12 − l2A ) sin(θ1 + θ2)

b1 = (l12 − l2A ) cos(θ1 + θ2)

∂r01

∂q=

[−l1x sin(θ1) − l1y cos(θ1) − b1 −b1

l1x cos(θ1) − l1y sin(θ1) − a1 −a1

](F.39)

Q1

= − FA

‖ ~fA ‖

(∂r0

1

∂q

)T

f0

A. (F.40)

The derivation of Qifor i = 2 . . . 6 is given in Appendix F.8.

133

Page 150: Modelling and control of a robotic arm actuated by ...

Equations of motion

d

dt

(T,q

)− T,q + V,q =

nF∑

i=1

Qnc

i

T

(F.41)

As all individual terms of the equations of motion are rather involved, the completeequations will not be stated. Each term is given below.

T,q =

(msv

(l2svx + l2svy

)+ m1

(l201x + l201y

)+ Jzz1

)θ1

+ m2

(l21x + l21y

)θ1 +

(m2 l212 + Jzz2

)(θ1 + θ2

)

− m2 l12

(2θ1 + θ2

) (l1x sin(θ2) − l1y cos(θ2)

)

(m2 l212 + Jzz2

)(θ1 + θ2

)

− m2 l12 θ1

(l1x sin(θ2) − l1y cos(θ2)

)

T

(F.42)

d

dt

(T,q

)=

(msv

(l2svx + l2svy

)+ m1

(l201x + l201y

)+ Jzz1

)θ1

+ m2

(l21x + l21y

)θ1 +

(m2 l212 + Jzz2

)(θ1 + θ2

)

− m2 l12

(2θ1 + θ2

)(l1x sin(θ2) − l1y cos(θ2)

)

− m2 l12

(2θ1 + θ2

) (l1x θ2 cos(θ2) + l1y θ2 sin(θ2)

)

(m2 l212 + Jzz2

) (θ1 + θ2

)

− m2 l12 θ1

(l1x sin(θ2) − l1y cos(θ2)

)

− m2 l12 θ1

(l1x θ2 cos(θ2) + l1y θ2 sin(θ2)

)

T

(F.43)

T,q =

0

− m2 l12 θ1

(θ1 + θ2

) (l1x cos(θ2) + l1y sin(θ2)

)

T

(F.44)

V,q =

msv g(lsvx cos(θ1) − lsvy sin(θ1)

)

+ m1 g(l01x cos(θ1) − l01y sin(θ1)

)

+ m2 g(l1x cos(θ1) − l1y sin(θ1) − l12 sin(θ1 + θ2)

)

− kS

(1 − lS

‖~fS ‖

) (l01x − l1S

)(l0S sin(θ1) + l0 cos(θ1)

)

−m2 g l12 sin(θ1 + θ2)

T

(F.45)

134

Page 151: Modelling and control of a robotic arm actuated by ...

Derivation of the multibody model

F.6 One DoF equation of motion

In case the first joint at C01 is fixed at θ1 = 0, muscle C and D and the springbecome redundant. The position vectors given in (F.8) and (F.9) can be simplifiedto the rather obvious relations:

~rCM1 =

[l01x

l0 + l01y

]T

~e 0 (F.46)

~rCM2 =

[l1x − l12 sin(θ2)

l0 + l1y + l12 cos(θ2)

]T

~e 0 (F.47)

r0CM2 =

[−l12 θ2 cos(θ2)

−l12 θ2 sin(θ2)

]. (F.48)

The muscle force vectors (F.22) and (F.23) can be rewritten to respectively:

~fA =

[l11x − lAB − (l12 − l2A ) sin(θ2)l11y − l1A + (l12 − l2A ) cos(θ2)

]T

~e 0 (F.49)

~fB =

[l11x − lAB − (l12 − l2B ) sin(θ2)l11y + l1B + (l12 − l2B ) cos(θ2)

]T

~e 0 . (F.50)

Only two generalized muscle forces are present in the DoF system:

f0

A=

[l11x − lAB − (l12 − l2A ) sin(θ2)l11y − l1A + (l12 − l2A ) cos(θ2)

](F.51)

r01 =

[l1x − (l12 − l2A ) sin(θ2)

l0 + l1y + (l12 − l2A ) cos(θ2)

](F.52)

∂r01

∂q=

[−(l12 − l2A ) cos(θ2)−(l12 − l2A ) sin(θ2)

](F.53)

Q1 = − FA

‖ ~fA ‖

(∂r0

1

∂q

)T

f0

A(F.54)

=FA

‖ ~fA ‖(l12 − l2A )

(l11y − l1A

)sin(θ2) +

(l11x − lAB

)cos(θ2)

,

135

Page 152: Modelling and control of a robotic arm actuated by ...

f0

B=

[l11x − lAB − (l12 − l2B ) sin(θ2)l11y + l1B + (l12 − l2B ) cos(θ2)

](F.55)

r02 =

[l1x − (l12 − l2B ) sin(θ2)

l0 + l1y + (l12 − l2B ) cos(θ2)

](F.56)

∂r02

∂q=

[−(l12 − l2B ) cos(θ2)−(l12 − l2B ) sin(θ2)

](F.57)

Q2

= − FB

‖ ~fB ‖

(∂r0

2

∂q

)T

f0

B(F.58)

=FB

‖ ~fB ‖(l12 − l2B )

(l11y + l1B

)sin(θ2) +

(l11x − lAB

)cos(θ2)

.

The terms in the Lagrange equation related to the kinematic and potential energyare simplified to:

T =1

2

(m2 l212 + Jzz2

)θ22 (F.59)

T,q =(m2 l212 + Jzz2

)θ2 (F.60)

d

dt

(T,q

)=

(m2 l212 + Jzz2

)θ2 (F.61)

T,q = 0 (F.62)

V ex = m2 g(l0 + l1y + l12 cos(θ2)

)(F.63)

U in = 0 (F.64)

V,q = −m2 g l12 sin(θ2) . (F.65)

Finally, the equation of motion for the DoF system is given by:

d

dt

(T,q

)− T,q + V,q =

2∑

j=1

QjT (F.66)

(m2 l212 + Jzz2

)θ2 − m2 g l12 sin(θ2) =

FA

‖ ~fA ‖(l12 − l2A )

(l11y − l1A

)sin(θ2) +

(l11x − lAB

)cos(θ2)

+ (F.67)

FB

‖ ~fB ‖(l12 − l2B )

(l11y + l1B

)sin(θ2) +

(l11x − lAB

)cos(θ2)

.

136

Page 153: Modelling and control of a robotic arm actuated by ...

Derivation of the multibody model

F.7 Inertial parameters of both bodies

Using Unigraphics, the mass, center of mass position and the inertial parametersare estimated. Two output files for respectively body 1 and 2 are given.The values indicated with Work give the inertial parameters with respect to theworking point of the body. The working point is chosen according to the revolutejoint the body rotates in. The values indicated with Centroidal give the inertialparameters with respect to the center of mass of the body.

The inertial parameter of body 1 is given by Ixx = 89307997...

============================================================Measurement Mass Properties

Displayed Mass Property ValuesVolume = 555797.462344 mm^3Area = 99441.694269 mm^2Mass = 2.638858 kgRadius of Gyration = 184.085874 mmCentroid = -0.000000, 66.694511, 13.749857 mm

============================================================Detailed Mass PropertiesAnalysis calculated using accuracy of 0.990000Information Units Grams - Millimeters

Density = 0.00474788Volume = 555797.46234368Area = 99441.69426889Mass = 2638.85946627

First MomentsMxc, Myc, Mzc = -0.00000000, 175997.44173566, 36283.94065550

Center of MassXcbar, Ycbar, Zcbar = -0.00000000, 66.69451101, 13.74985713

Moments of Inertia (Work)Ixxw, Iyyw, Izzw = 101544959.62521537, 1909101.10982269, 99869140.25131625

Moments of Inertia (Centroidal)Ixx, Iyy, Izz = 89307997.30881111, 1410202.10958365, 88131076.93515104

Moments of Inertia (Spherical)I = 89424638.17677291

Products of Inertia (Work)Pyzw, Pxzw, Pxyw = 9492917.38440122, 0.02202123, 0.00000000

Products of Inertia (Centroidal)Pyz, Pxz, Pxy = 7072977.70474444, 0.02202123, 0.00000000

Radii of Gyration (Work)Rxgw, Rygw, Rzgw = 196.16478856, 26.89715427, 194.53937866

Radii of Gyration (Centroidal)Rxg, Ryg, Rzg = 183.96577916, 23.11705727, 182.74958837

Radii of Gyration (Spherical)R = 184.08587437

Principal AxesXp(X), Xp(Y), Xp(Z) = 1.00000000, 0.00000000, -0.00000004Yp(X), Yp(Y), Yp(Z) = 0.00000004, -0.08076016, 0.99673356Zp(X), Zp(Y), Zp(Z) = -0.00000000, -0.99673356, -0.08076016

Principal MomentsIxxp, Iyyp, Izzp = 89307997.30881111, 88704163.69514164, 837115.34959304

============================================================

137

Page 154: Modelling and control of a robotic arm actuated by ...

The inertial parameter of body 2 is given by Iyy = 5697561...

============================================================Measurement Mass Properties

Displayed Mass Property ValuesVolume = 118335.121191 mm^3Area = 37374.670265 mm^2Mass = 0.533309 kgRadius of Gyration = 104.107195 mmCentroid = 0.000000, -0.000000, 175.950872 mm

============================================================Detailed Mass PropertiesAnalysis calculated using accuracy of 0.990000Information Units Grams - Millimeters

Density = 0.00450677Volume = 118335.12119085Area = 37374.67026454Mass = 533.30934225

First MomentsMxc, Myc, Mzc = 0.00000000, -0.00000000, 93836.24369690

Center of MassXcbar, Ycbar, Zcbar = 0.00000000, -0.00000000, 175.95087178

Moments of Inertia (Work)Ixxw, Iyyw, Izzw = 22251745.53414509, 22208130.50291576, 121603.69416256

Moments of Inertia (Centroidal)Ixx, Iyy, Izz = 5741176.65130608, 5697561.62007675, 121603.69416256

Moments of Inertia (Spherical)I = 5780170.98277269

Products of Inertia (Work)Pyzw, Pxzw, Pxyw = -0.00000000, 0.00000000, -0.00000000

Products of Inertia (Centroidal)Pyz, Pxz, Pxy = 0.00000000, 0.00000000, -0.00000000

Radii of Gyration (Work)Rxgw, Rygw, Rzgw = 204.26428898, 204.06400440, 15.10023786

Radii of Gyration (Centroidal)Rxg, Ryg, Rzg = 103.75543588, 103.36057572, 15.10023786

Radii of Gyration (Spherical)R = 104.10719541

Principal AxesXp(X), Xp(Y), Xp(Z) = 1.00000000, 0.00000000, 0.00000000Yp(X), Yp(Y), Yp(Z) = 0.00000000, 1.00000000, 0.00000000Zp(X), Zp(Y), Zp(Z) = 0.00000000, 0.00000000, 1.00000000

Principal MomentsIxxp, Iyyp, Izzp = 5741176.65130608, 5697561.62007675, 121603.69416256

============================================================

138

Page 155: Modelling and control of a robotic arm actuated by ...

Derivation of the multibody model

F.8 Generalized muscle forces 2 to 6

Muscle force 2:

~r2 = ~rCM2 +~b2B = ~rCM2 +[

0 −l2B]A21A10~e 0 (F.68a)

r02 =

[l1x cos(θ1) − l1y sin(θ1) − a2

l0 + l1x sin(θ1) + l1y cos(θ1) + b2

](F.68b)

a2 = (l12 − l2B ) sin(θ1 + θ2)

b2 = (l12 − l2B ) cos(θ1 + θ2)

∂r02

∂q=

[−l1x sin(θ1) − l1y cos(θ1) − b2 −b2

l1x cos(θ1) − l1y sin(θ1) − a2 −a2

](F.68c)

Q2

= − FB

‖ ~fB ‖

(∂r0

2

∂q

)T

f0

B. (F.68d)

Muscle force 3:

~r3 = ~rCM1 +~b1A = ~rCM1 +[

lAB l1A]A10~e 0 (F.69a)

r03 =

[(l01x + lAB ) cos(θ1) − (l01y + l1A ) sin(θ1)

l0 + (l01x + lAB ) sin(θ1) + (l01y + l1A ) cos(θ1)

](F.69b)

∂r03

∂q=

[−(l01x + lAB ) sin(θ1) − (l01y + l1A ) cos(θ1) 0(l01x + lAB ) cos(θ1) − (l01y + l1A ) sin(θ1) 0

](F.69c)

Q3

=FA

‖ ~fA ‖

(∂r0

3

∂q

)T

f0

A. (F.69d)

Muscle force 4:

~r4 = ~rCM1 +~b1B = ~rCM1 +[

lAB −l1B]A10~e 0 (F.70a)

r04 =

[(l01x + lAB ) cos(θ1) − (l01y − l1B ) sin(θ1)

l0 + (l01x + lAB ) sin(θ1) + (l01y − l1B ) cos(θ1)

](F.70b)

∂r04

∂q=

[−(l01x + lAB ) sin(θ1) − (l01y − l1B ) cos(θ1) 0(l01x + lAB ) cos(θ1) − (l01y − l1B ) sin(θ1) 0

](F.70c)

Q4

=FB

‖ ~fB ‖

(∂r0

4

∂q

)T

f0

B. (F.70d)

139

Page 156: Modelling and control of a robotic arm actuated by ...

Muscle force 5:

~r5 = ~rCM1 +~b1C = ~rCM1 +[−l1C −l01y

]A10~e 0 (F.71a)

r05 =

[(l01x − l1C ) cos(θ1)

l0 + (l01x − l1C ) sin(θ1)

](F.71b)

∂r05

∂q=

[− (l01x − l1C ) sin(θ1) 0(l01x − l1C ) cos(θ1) 0

](F.71c)

Q5

= − FC

‖ ~fC ‖

(∂r0

5

∂q

)T

f0

C

= − FC

‖ ~fC ‖

[(l01x − l1C )

(l0 cos(θ1) + l0C sin(θ1)

)

0

]. (F.71d)

Muscle force 6:

~r6 = ~rCM1 +~b1D = ~rCM1 +[−l1D −l01y

]A10~e 0 (F.72a)

r06 =

[(l01x − l1D ) cos(θ1)

l0 + (l01x − l1D ) sin(θ1)

](F.72b)

∂r06

∂q=

[− (l01x − l1D ) sin(θ1) 0(l01x − l1D ) cos(θ1) 0

](F.72c)

Q6

= − FD

‖ ~fD ‖

(∂r0

6

∂q

)T

f0

D

= − FD

‖ ~fD ‖

[(l01x − l1D )

(l0 cos(θ1) − l0D sin(θ1)

)

0

]. (F.72d)

140

Page 157: Modelling and control of a robotic arm actuated by ...

GDerivation of the static

muscle parameters

The identification of the muscles is performed in 40 working points, see Figure4.4. A working point w = (hw, pw) is defined by a length h which is imposed bythe tensile bench and a pressure p which is imposed manually using a valve. Thismeans that a working point is not necessarily an equilibrium of the muscle, i.e. themuscle might generate a force in a working point.Before each measurement, a working point w is imposed on the muscle. Duringthe measurement a perturbation h(f) is imposed on the length hw. The perturba-tion h(f) is a noise signal, containing all frequencies f between 0 and 20 Hz. Inorder to access the low-frequency behavior of the muscle, each measurement takes60 seconds. In each working point five measurements are performed; this yields5 × 40 data sets for muscle 4. The five FRF’s in each working point are used toestimate the force over length FRF:

Hw(f) =Fw(f)

hw(f), (G.1)

with Fw the muscle force. The FRFHw is estimated by Hw, which is derived usingthe power spectra of the sensor signals, [de Kraker, 2000]:

H1,w(f) =ΦhF,w(f)

Φhh,w(f)

H2,w(f) =ΦFF,w(f)

ΦhF,w(f),

(G.2)

with ΦhF,w(f) the cross-power spectrum of h and F , Φhh,w(f) the auto-powerspectrum of h and ΦFF,w(f) the auto-power spectrum of F . By applying the Welchestimating technique on H1,w(f) and H2,w(f), Hw is estimated.

Besides Hw, also the coherence γ2hF (f) of each measurement is calculated using

the power spectra. The coherence is a measure for the linearity of the input–outputbehavior in the measurement. The coherence can be assessed by:

γ2hF,w(f) =

H1,w(f)

H2,w(f). (G.3)

Page 158: Modelling and control of a robotic arm actuated by ...

100

101

102

−10

−5

0

5

10

15

20

100

101

102

−180

−90

0

90

180

100

101

102

10−4

10−2

100

102

100

101

102

0

0.2

0.4

0.6

0.8

1

f [Hz]f [Hz]

|Hw|[Nm

−1dB]

phase(H

w)[deg]

|Φ|[dB]

γ2 hF[–]

frequency response function Hw power spectra Φ

coherence

Φhh [m2]ΦFF [N2]ΦhF [N m]

Figure G.1: FRF Hw in w = (017, 0.8). The upper and lower left picture give the

magnitude and phase of Hw. The power spectra are given in the upper right figure. Thecoherence in the lower right figure shows that data up to 18 Hz is reliable.

In Figure G.1, the estimate Hw is given in the working point w = (0.17, 0.8). It

shows three power spectra, the coherence and the phase and magnitude of Hw(f).This analysis is repeated for the 40 working points of muscle 4, the resultingFRF’s are given in Figure G.2. Each analysis shows an excellent coherence upto f = 18 Hz. Remarkable is that the magnitude of the FRF increases slightly withthe frequency. This phenomena, the so-called stiffening, is probably caused byfriction and by the rubber behavior. Also note the non-zero phase at f = 0 Hz.It is assumed that the muscle behavior in a working point is given by a stiffnessand viscous damping; the next step is to fit the stiffness kw and damping dw:

Hw(f) = kw + j 2πf dw , (G.4)

on te experimental data Hw. The results of this fit for five working points withpw = 0.9 bar,is given in Figure G.3. The stiffness is easy to plot and gives a reliableresult. The damping is rather difficult to identify, as it is hardly present in themeasurements (see also Figure G.1). The non-zero phase at f ≈ 0 Hz and theslight increase in |Hw| due to the stiffening complicate the damping fit further.Nevertheless, (G.4) is used to derive kw and dw and is believed to give an accurateand meaningful value, especially on the stiffness.Finally, the stiffness kw and damping dw are given as a function of the workingpoints w in Figure G.4 and as a surface plot in Figure G.5. Besides the experimentson muscle 4, also eight reference measurements are performed on four other mus-cles, see Figure 4.4. The results of these measurements are given in Figure 4.5.

142

Page 159: Modelling and control of a robotic arm actuated by ...

Derivation of the static muscle parameters

Comparing the stiffness and damping models with the measurements

In Section 4.1, the identified stiffness is fitted on the muscle stiffness model givenin (4.1). The relative error between the analytical stiffness model and the identifiedstiffness, is given in the left part of Figure G.6. In the right part, the relative errorbetween the experimental stiffness model and the identified stiffness is given. Therelative error of the experimental model has a maximum of 5%, while the relativeerror of the analytical model is up to 60%.In Figure G.7, the fit and the relative error of the experimental damping and theexperimental damping model is given. The relative error has a maximum of 30%.From this figure, it can be concluded the experiments do not give an clear view onthe damping and that the damping in the muscles is almost constant and low. Forthis reason, the model is considered to be satisfactory.

0 5 10 15 200

5

10

15

0 5 10 15 200

5

10

15

0 5 10 15 200

5

10

15

0 5 10 15 200

5

10

15

0 5 10 15 200

5

10

15

0 5 10 15 200

5

10

15

0 5 10 15 200

5

10

15

0 5 10 15 200

5

10

15

0 5 10 15 200

5

10

15

0 5 10 15 200

5

10

15

0 5 10 15 200

5

10

15

0 5 10 15 200

5

10

15

150mm

160mm

170mm

180mm

190mm

200mm

0.5 bar0.6 bar0.7 bar0.8 bar0.9 bar1.0 bar1.2 bar1.4 bar

phase(H

w)[deg]

|Hw|[Nm

−1dB]

f [Hz]f [Hz]

Figure G.2: The magnitude and phase of the 40 measured FRF’s from muscle 4. Each

figure on the left gives the magnitude of Hw, for one muscle length. The figures on the rightgive the phase for one muscle length. The color of each line, refers to a pressure level. As

can be seen, the magnitude |Hw| increases with the pressure and with the muscle length.

143

Page 160: Modelling and control of a robotic arm actuated by ...

0 5 10 15 205

5.5

6

6.5

k = 5.69 kN/m

0 5 10 15 200

10

20

d = 15.7 Ns/m

0 5 10 15 205

6

7

k = 5.93 kN/m

0 5 10 15 200

10

20

d = 14.8 Ns/m

0 5 10 15 205

6

7

8

k = 6.45 kN/m

0 5 10 15 200

10

20

d = 14.1 Ns/m

0 5 10 15 207

7.5

8

8.5

k = 7.71 kN/m

0 5 10 15 200

10

20

d = 14.7 Ns/m

0 5 10 15 209.5

10

10.5

11

k = 10.2 kN/m

0 5 10 15 200

10

20

d = 16.6 Ns/m

150mm

160mm

170mm

180mm

190mm

f [Hz]f [Hz]

phase(H

w)[deg]

|Hw|[Nm

−1dB]

Figure G.3: The magenta lines are the experimentally estimated FRF Hw in five workingpoints w = (hw, 0.9) with hw ∈ 0.15, . . . , 0.19 m. The black lines represent Hw

with the fitted stiffness kw and damping dw as defined in (G.4). The left figures give themagnitude and the right figures the subsequent phase. The fitted stiffness kw is given inthe magnitude plot and the damping dw in the phase plot.As the bandwidth of the robotic arm is not likely to exceed 10 Hz, only the experimentaldata up to 10 Hz is considered to fit the stiffness and damping. This hardly affects thevalue of kw, but the damping is not very well estimated using this kind of experiment.

144

Page 161: Modelling and control of a robotic arm actuated by ...

Derivation of the static muscle parameters

0.4 0.6 0.8 1 1.2 1.42

4

6

8

10

12

14

16

150 160 170 180 190 2002

4

6

8

10

12

14

16

150 160 170 180 190 20010

14

18

22

26

30

34

0.4 0.6 0.8 1 1.2 1.410

14

18

22

26

30

34

hw [mm]hw [mm]

pw [bar]pw [bar]

kw[kNm

−1]

kw[kNm

−1]

dw[Nsm

−1]

dw[Nsm

−1]

0.5 bar0.6 bar0.7 bar0.8 bar0.9 bar1.0 bar1.2 bar1.4 bar

150 mm160 mm170 mm180 mm190 mm200 mm

Figure G.4: The stiffness kw and damping dw as function of the pressure pw and the lengthhw of muscle 4. Remark that the use of colors in the two upper figures indicate a pressurewhile in the two lower figures the use of colors indicates the muscle length.

0.120.14

0.160.18

0.20.22

0.24

0.2

0.5

0.8

1.1

1.4

1.70

5

10

15

20

hw [m]pw [bar]

kw[kNm

−1]

0.120.14

0.160.18

0.20.22

0.24

0.2

0.5

0.8

1.1

1.4

1.712

14

16

18

20

22

24

hw [m]pw [bar]

dw[N

sm

−1]

Figure G.5: Surface plot of the results given in Figure G.4. It can be seen that the stiffnessshows a quadratic dependency on the length, while it shows a linear dependency on thepressure. This is in accordance with the stiffness model given in (4.1). The damping doesnot show a clear dependency on either the pressure or the length.

145

Page 162: Modelling and control of a robotic arm actuated by ...

0.15 0.16 0.17 0.18 0.19 0.20.5

0.6

0.7

0.8

0.9

1

1.1

1.2

1.3

1.4

−0.6 −0.55 −0.5 −0.45 −0.4 −0.35 −0.3

h [m]

p[bar]

0.15 0.16 0.17 0.18 0.19 0.20.5

0.6

0.7

0.8

0.9

1

1.1

1.2

1.3

1.4

−0.04 −0.02 0 0.02 0.04 0.06

h [m]p[bar]

Figure G.6: The relative error between the analytical stiffness model and the identified stiff-ness (left figure) and between the experimental stiffness model and the identified stiffness(right figure). The match between the models and the measurements is given in Figure4.6.

0.120.14

0.160.18

0.20.22

0.24

0.2

0.5

0.8

1.1

1.4

1.712

14

16

18

20

22

24

hw [m]pw [bar]

dw[N

sm

−1]

0.15 0.16 0.17 0.18 0.19 0.20.5

0.6

0.7

0.8

0.9

1

1.1

1.2

1.3

1.4

−0.3 −0.2 −0.1 0 0.1 0.2

h [m]

p[bar]

Figure G.7: The damping as derived from the muscle experiments, is given by the solidsurface in the left figure. The experiments do not give a clear picture of the damping, asfunction of the pressure and muscle length. This is mainly due to the type of experiment.The damping model as defined in (3.49), is fitted on the data and shown by the meshsurface in the left figure. In the right figure, the relative error between the identified andthe experimental damping model is given.

146

Page 163: Modelling and control of a robotic arm actuated by ...

HTuning of the controllers

This appendix presents additional information on the design of controllers. First,the implementation of the controllers using filters is given. In appendix H.2, sev-eral frequency response functions of the pressure behavior Pp are given. In Ap-pendix H.1, the stability of the DoF pressure controller Cp is proven, using theNichols diagram. In the remaining parts of this appendix, the identification andstability of the 2DoF robotic arm are discussed.

H.1 Controller part definitions

The linear controllers consists of a gain with one or more additional filters. Below,the general purpose and implementation of the five used filters is given. See also[Franklin, 2001].

Gain The gain of the feedback loop, with s ∈ C:

P (s) = p . (H.1)

Lead-lag filter A lead-lag filter is used to gain phase lead within a certain fre-quency range. A lead filter is also called a tame d-action:

L(s) =

1

2πf1s + 1

1

2πf2s + 1

. (H.2)

Notch filter A notch filter is used to eliminate certain frequencies for the contoller.A pure notch filter has equal frequency parameters fn1

= fn2, while a tilted notch

filter has unequal frequency parameters fn16= fn2

. The depth of the notch filteris defined by β1

β2; the width is related to the relative damping of the filter (which is

defined by β2):

N(s) =

1

(2πfn1)2

s2 +2β1

2πfn1

s + 1

1

(2πfn2)2

s2 +2β2

2πfn2

s + 1

. (H.3)

Page 164: Modelling and control of a robotic arm actuated by ...

First order low-pass filter Eliminate frequencies above fl:

F1(s) =1

1

2πfl

s + 1. (H.4)

Second order low-pass filter Eliminate frequencies above fl. Depending on theparameter βl, the filter is more or less sharp:

F2(s) =1

1

(2πfl)2s2 +

2βl

2πfl

s + 1

. (H.5)

The controllers as defined in this work, all consist of a gain P (s), combined withone or more filters. If for example a controller consisting of a gain P (s) with lead-lag filter L(s), notch filter N(s), the implementation is given by defining the filtersaccording to (H.1), (H.2) and (H.3); the filters are transformed to the z-domain andimplementing in SIMULINK blocks. These blocks are applied to the error signal oneby one in a SIMULINK model, the model is build and implemented in the dSPACE.

H.2 Frequency response functions of the pressure loop

100

101

−40

−30

−20

−10

0

10

20

100

101

−180

−90

0

90

180

frequency response function Pp = pABzp

f [Hz]

|Pp|[bar

V−

1dB]

phase(P p

)[deg]

θ 0 p 0.8θ 0 p 0.8θ 0 p 1.0θ 0 p 1.0θ 0 p 1.2θ 0 p 1.2θ 0 p 1.4

Figure H.1: The FRF of Pp = pABzp

in four equilibria with varying pAB and θ2 = 0 deg. In

the legend, the equilibria are given short handed. As can be seen, additional experimentsare performed to identify the behavior below 1 Hz. All FRF’s are approximately identical.

148

Page 165: Modelling and control of a robotic arm actuated by ...

Tuning of the controllers

H.3 Nichols diagram of the open-loop pressure control

−360 −270 −180 −90 0 90−30

−20

−10

0

10

20

30

phase(HOL) [deg]

|HO

L|[dB]

Figure H.2: The Nichols diagram of the open-loop HOL = Cp Pp, with Pp = pABzp

. The

phase and gain margin are indicated by the circle around the origin (−180, 0). As can beseen, the controller yields a stable closed loop system.

149

Page 166: Modelling and control of a robotic arm actuated by ...

H.4 Tuning of the 1DoF angle controller for joint 1

Before the 2DoF robotic arm is controlled, we aim to control joint 1 in a similarway as presented for joint 2 . In this section, the identification of Pθ around joint 1and the design of Cθ for joint 1 is presented.During the identification and control of θ1, muscles A and B are constantly fullyinflated. This yields the angle of joint 2 , θ2, to be 0 deg, with a maximum stiffnessof muscles A and B . This way, the dynamic coupling between revolute joints 1 and2 is minimized.

The frequency response functions of Pθ = θ1

zθaround several working points are

indicated in green in Figure H.3. Using these FRF’s a controller Cθ is designedconsisting of a gain with a lead-lag, notch and second-order low-pass filter. Theparameters of this controller are given in Table H.1.The bandwidth of the controlled system is approximately 0.5 and 1 Hz. This isindicated by the vertical pink lines in Figure H.3.In this figure, also the sensitivity of the closed-loop system is given. In Figure H.4,the stability of the closed loop system is proven in a Nichols diagram. Using thesefigures, it can be seen that all robustness margins are met.

The pressure controller Cp is designed using a gain with a first-order low-pass filter,such that the bandwidth is approximately 1 Hz, similar to the bandwidth of θ1.

gain lead-lag notch low-pass

p 6 f1 0.1 fn 1.4 fl 6f2 6 β1 0.1 βl 0.8

β2 3.5

Table H.1: The Cθ controller parameters for joint 1 of the 1DoF robotic arm. The controllerconsists of a gain with a notch, lead-lag and a second-order low-pass filter. All frequenciesf are given in Hz.

150

Page 167: Modelling and control of a robotic arm actuated by ...

Tuning of the controllers

10−1

100

−80

−60

−40

−20

0

20

40

10−1

100

−180

−90

0

90

180

10−1

100

−40

−30

−20

−10

0

10

20

f [Hz]

|H|[dB]

phase(H

)[deg]

|S|[dB]

Cθ [V bar−1]

HOL [–]

Pθ [bar V−1]

Figure H.3: The two upper figures show the magnitude and phase of the controller Cθ ,plant Pθ = θ1

zθand the open-loop HOL = Cθ Pθ for joint 1. The lower image shows

the sensitivity S = (1 + Cθ Pθ)−1. The sensitivity margin of 6 dB is indicated by the pink

line. The bandwidth is inbetween 0.5 and 1 Hz, as indicated by the two vertical pink lines.

151

Page 168: Modelling and control of a robotic arm actuated by ...

−360 −270 −180 −90 0 90−30

−20

−10

0

10

20

30

phase(HOL) [deg]

|HO

L|[dB]

Figure H.4: The Nichols diagram of the open-loop HOL = Cθ Pθ for joint 1, withPθ = θ1

zθ. The phase and gain margin are indicated by the circle around the origin

(−180, 0). As can be seen, the controller yields a stable closed-loop system.

152

Page 169: Modelling and control of a robotic arm actuated by ...

Tuning of the controllers

H.5 Dual joint control scheme

The control strategy for the 2DoF robotic arm R2 is shown in Figure H.5. Theimplementation shows much resemblance with the control strategy for R1 as pre-sented in Section 5.1 and Figure 5.2.

The figure below is not complete, the coupling between the different inputs andoutputs are not shown. It is believed that pA and pC are not coupled. As a result,it is also assumed that the coupling between θ1 and pC and between θ1 and pC isabsent.The coupling between θ1 and θ2 can be neglected as is shown in Appendix H.7.Finally, the coupling between θ1 and pA and between θ2 and pC is taken for grantedas it is believed that this will not result in stability problems.

+

-

+

-

+

-

+

-

θ ref1

θ ref2

p refA

p refC

eθ1

eθ2

epA

epC

zθ1 θ1

zθ2 θ2

zpA pA

zpC pC

Cθ1 Pθ1

Cθ2 Pθ2

CpA PpA

CpC PpC

PWM R2Ψ Ωz xu yv

plant P2

Figure H.5: The embedding of the 2DoF robotic arm R2 in the control loop, yielding theplant P2. The input matrix Ψ and the output matrix Ω are defined in Section 5.3.1.

153

Page 170: Modelling and control of a robotic arm actuated by ...

H.6 MIMO system identification

In a MIMO system identification, the plant is identified by determining the inputand process sensitivity experimentally. The theory of MIMO system analysis andcontrol is treated in [Tousain, 2006; Skogestad, 1996].

In Figure H.6, the input-output relations of a 2DoF MIMO system are given. Alsothe three types of signals are indicated, the outputs θ, the noise n and the errorsignals e. The controllers, frequency response functions and signals are stored inmatrices:

Cθ =

[Cθ1

00 Cθ2

](H.6)

Pθ =

[Pθ11

Pθ12

Pθ21Pθ22

](H.7)

n =[

n1 n2

]T(H.8)

e =[

e1 e2

]T(H.9)

θ =[

θ1 θ2

]T. (H.10)

The input sensitivity SI is derived from e and n by:

e = (I + Cθ Pθ)−1

n

SI = (I + Cθ Pθ)−1

,(H.11)

while the process sensitivity SP is derived using θ and n according to:

θ = Pθ (I + Cθ Pθ)−1

n

SP = Pθ (I + Cθ Pθ)−1

.(H.12)

Multiplying the process and the inverse input sensitivity yields the plant Pθ:

Pθ = SP S−1I . (H.13)

Essential in the experimental identification is that the noise signals are not injected

simultaneous. First, noise in n1 is injected and e(1) and θ(1) are measured. Using

the power spectra Φ of n1, e(1) and θ(1), the input and process sensitivity termsdepending on n1 are calculated for each frequency ωi of the power spectra:

SI(ωi) =

Φe(1)1 n1

(ωi)

Φn1(ωi)

. . .

Φe(1)2 n1

(ωi)

Φn1(ωi)

. . .

(H.14)

SP(ωi) =

Φθ(1)1 n1

(ωi)

Φn1(ωi)

. . .

Φθ(1)2 n1

(ωi)

Φn1(ωi)

. . .

. (H.15)

154

Page 171: Modelling and control of a robotic arm actuated by ...

Tuning of the controllers

+

+

+

+

+

+

+

+

− Cθ1

Cθ2

θ1

θ2

e1

e2

n1

n2

Pθ11

Pθ12

Pθ21

Pθ22

Figure H.6: The input-output relations as present in a coupled 2DoF MIMO system. Theidentification is performed in closed-loop, using the controllers Cθ1 and Cθ2 The directfrequency response functions are given by Pθ11 and Pθ22 , the frequency response functionsdetermining the coupling are given by Pθ12 and Pθ21 . Noise is injected in either n1 or n2;the error signals e1 and e2 and the output signals θ1 and θ2 are measured.

Next, noise is injected in n2 and e(2) and θ(2) are measured. The parts of the inputand process sensitivity depending on n2 are calculated, using the power spectra Φ

of n2, e(2) and θ(2):

SI(ωi) =

Φe(1)1 n1

(ωi)

Φn1(ωi)

Φe(2)1 n2

(ωi)

Φn2(ωi)

Φe(1)2 n1

(ωi)

Φn1(ωi)

Φe(2)2 n2

(ωi)

Φn2(ωi)

(H.16)

SP(ωi) =

Φθ(1)1 n1

(ωi)

Φn1(ωi)

Φθ(2)1 n2

(ωi)

Φn2(ωi)

Φθ(1)2 n1

(ωi)

Φn1(ωi)

Φθ(2)2 n2

(ωi)

Φn2(ωi)

. (H.17)

Finally, the plant Pθ is estimated by a frequency-wise matrix manipulation of theprocess and input sensitivity:

Pθ(ωi) = SP(ωi) S−1I (ωi) . (H.18)

155

Page 172: Modelling and control of a robotic arm actuated by ...

H.7 Interaction between the joint angles

A measure for the interaction between two coupled outputs, is the interaction co-efficient KIwhich is defined by:

KI(ω) =H12 H21

H11 H22, (H.19)

withH = Pθ, as defined in Figure 5.8.

In Figure H.7, the interaction coefficient for coupling between the two joint anglesis given. As can be seen, is the interaction below −20 dB up to 4 Hz. So it is legiti-mate to consider the two joints as decoupled within the bandwidth of the controlledrobotic arm.

10−1

100

101

−80

−70

−60

−50

−40

−30

−20

−10

0

10

20

f [Hz]

|KI|[dB]

pC = 0.4 bar

pC = 0.6 bar

pC = 0.8 bar

Figure H.7: The four frequency response functions of Pθ for different values of pC . TheFRF’s are experimentally determined around θ1 = θ2 = 0 deg. The pressure in muscle Ais kept at pA = 0.4 bar in closed loop.

156

Page 173: Modelling and control of a robotic arm actuated by ...

Tuning of the controllers

H.8 Stability of the dual joint controller

−270 −180 −90 0−20

−10

0

10

20

30

phase(HOL) [deg]

|HO

L|[dB]

Figure H.8: The Nichols diagram of the open-loop HOL = Cθ1 Pθ1 for joint 1, withPθ1 = θ1

zθ1. The phase and gain margin are indicated by the circle around the origin

(−180, 0). As can be seen, Cθ1 yields a stable closed-loop system.

157

Page 174: Modelling and control of a robotic arm actuated by ...

−270 −180 −90 0−20

−10

0

10

20

30

phase(HOL) [deg]

|HO

L|[dB]

Figure H.9: The Nichols diagram of the open-loop HOL = Cθ2 Pθ2 for joint 2 , withPθ2 = θ2

zθ2. The phase and gain margin are indicated by the circle around the origin

(−180, 0). As can be seen, Cθ2 yields a stable closed-loop system.

158

Page 175: Modelling and control of a robotic arm actuated by ...

IImplementation of the

robotic arm model

Main file for simulating the robotic arm model

% Model of pneumatics and one muscle% Master’s project Stef van den Brink% Philips AppTech

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

% Set simulation parametersfpwm = 50 ;% sample frequency PWMfs = 1000 ;% controller frequencyfvalve = 300 ;% Valve frequency limit (acceptable error band)tend = 20 ;% end time of simulink simulationTpwm = 1/fpwm ;% pwm sample timeTs = 1/fs ;% controller sample time

% Set simulation parameters[air,beta] = presparameters ;% load pneumatic parameterspar = nominalbehav ;% load robot and muscleparametersPin = [1e5 1] ;% [Pa] air supply and outer pressure

% Initial condition and excitationx0 = [1e5 .5e5 NaN 0 0] ;% [Pa Pa Pa deg rad/s] Starting conditionsx0(4) = x0(4)*(pi/180) ;%x0(3) = equilibria(x0(4),x0(2),par) ;%

%-------------------------------------------------------------------

% Solve ODE for pressuret=0:Ts:tend;x=ode3(@PneuTwoMuscleModelDV,t,x0,air,beta,par,fpwm,Pin,exc);

% Recap system valuesn=length(t); Q=zeros(n,6); HH=Q; vv=zeros(n,5); KK=zeros(n,4);FF=KK; U=zeros(n,2); DD=U; VV=U; PS=zeros(n,1);for i=1:n

[xdot,q,u,v,Ps,K,F,H,D,V]=PneuTwoMuscleModelDV(t(i),x(i,:),air,beta,par,fpwm,Pin,exc);% [hA,hB,dhA,dhB]=kinematics(x(i,4),x(i,5));

Q(i,:)=q; U(i,:)=u; PS(i,:)=Ps; HH(i,:)=H; vv(i,:)=v;DD(i,:)=D; VV(i,:)=V; KK(i,:)=K; FF(i,:)=F;

end

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

Page 176: Modelling and control of a robotic arm actuated by ...

Setting the pneumatic parameters

function [air,beta]=presparameters;% Pneumatic model parameters% Master’s project Stef van den Brink% Philips AppTech

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

% Constants & Air properties (Polytechnisch zakboekje table 1.23 on page E1/24)air.frac = [78.09 20.95 0.93 0.03] ;% [-] fractions N2 O2 Ar CO2air.M_frac = [28.013 31.999 39.948 44.01] ;% [kg/kmol] fractions N2 O2 Ar CO2air.M = air.frac*air.M_frac’/sum(air.frac) ;% [kg/kmol] molecular mass airair.R = 8314.51 ;% [J/(kmol K)] universal gas constantair.Rs = air.R/air.M ;% [J/(kg K)] specific gas constant airair.T = 293 ;% [K] temperatureair.eta = 17.1e-6 ;% [Pa s] dynamic viscosity air

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

% Robot pneumatics parametersR.vonce = 7.2e-4 ;% [m] radius of one valveR.vtwice = 5.2e-4 ;% [m] radius of two serial valvesR.reduc = 4e-4 ;% [m] radius of reduction valve

beta.reduc = 0.59*sqrt(2)*pi*R.reduc^2 ;% [m^2] restriction gain reduction valvebeta.vsingle = 0.59*sqrt(2)*pi*R.vonce^2 ;% [m^2] restriction gain valvesbeta.vdouble = 0.59*sqrt(2)*pi*R.vtwice^2 ;% [m^2] restriction gain valves

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

Setting the robotic arm parameters

function par=nominalbehav% Determine nominal behavior of muscle% Master’s project Stef van den Brink% Philips AppTech%% par=nominalbehav

equil = 1 ;% [0 1] calculate equilibrium pointscomp = 1 ;% [0 1] compare equilibria with experimentsobs = 0 ;% [0 1] observability (comp=1 required)

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

% Set parameters

par.Vc = 10e-3 ;% [m^3] capacity volume (10 l)par.m = 0.533 ;% [kg] 0.533par.J = 5.7e-3 ;% [kg m^2] 5.697561e-3par.L12 = 0.176 ;% [m] 0.17595par.LfA = 0.14 ;% [m] length of muscle A fittingpar.LfB = par.LfA ;% [m] length of muscle B fittingpar.d1 = 0.025 ;% [m] fitting diameterpar.n = 1.25 ;% [-] number of windings of one threadpar.L = 0.1274 ;% [m] thread lengthpar.s1 = 0.117 ;% [m] muscle parameter 1par.s2 = 0.232e5 ;% [Pa] muscle parameter 2

%-------------------------------------------------------------------

% Stiffness and damping[kd,mdl] = FitMuscleModel ;% load passive parameters%kd = mdl ;% use modeled stiffness

par.k = [kd.p0*kd.k0*kd.c0 kd.p0*kd.k1*kd.c1 kd.p0*kd.k2...kd.p1*kd.k0 kd.p1*kd.k1 kd.p1*kd.k2]’;

par.d = [40 kd.d1]’;

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

160

Page 177: Modelling and control of a robotic arm actuated by ...

Implementation of the robotic arm model

Derive the passive muscle parameters from the experimental identification

function [kd,mdl]=FitMuscleModel% The function FitMuscleModel fits the stiffness% model on experimentally identified muscle stiffness.% Master’s project Stef van den Brink% Philips AppTech%% Usage: [kd,mdl]=FitMuscleModel

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

% load measured dataif ~exist(’S’,’var’);

load([base,’\MuscleFit\S10.mat’]);end

%--------------------------------------------------------------------------

% set figure options if plot is requiredif nargout==0;

dis=1 ; clcelse

dis=0;end

%--------------------------------------------------------------------------

for z = 1:3% select data for least squares fit and store in columns

%--------------------------------------------------------------------------

if z<3;K=real(S(:,:,z))*1000 ;% convert form mm to m

elseK=real(S(:,:,1))*1000 ;% convert form mm to m

end

ydata=[]; xdata1=[]; xdata2=[];xP = [0.5 0.6 0.7 0.8 0.9 1.0 1.2 1.4] ;% [bar]xL = .15:.01:.2 ;% [m]for n = 1:size(K,1) ;% store K in vector

for m = 1:size(K,2)if ~isnan(K(n,m)) ;% filter NaN values in K

ydata = [ydata;K(n,m)];xdata1 = [xdata1;xP(n)];

xdata2 = [xdata2;xL(m)];end

endend

%--------------------------------------------------------------------------

% generate the least squares fit matrix with input valuesif z==1 % stiffness

A = [ones(size(ydata)) xdata2 xdata2.^2];A = [A A(:,1).*xdata1 A(:,2).*xdata1 A(:,3).*xdata1];%A = A(:,[1 4 5 6]);

elseif z==2 % dampingA = [ones(size(ydata)) xdata1];

elseif z==3A=1; ydata=1;

end

% calculate the parameters using a least squares fitATA=A’*A;ATb=A’*ydata;

%--------------------------------------------------------------------------

% normalize model to 5 parameters

if z==1

161

Page 178: Modelling and control of a robotic arm actuated by ...

% fitted stiffness parameterskpar=ATA\ATb;kold = kpar;

p1 = -1e5;k0 = kpar(4)/p1;k1 = kpar(5)/p1;k2 = kpar(6)/p1;p0 = kpar(3)/k2;c0 = kold(1)/k0/p0;c1 = kold(2)/k1/p0;kpar = [p0*k0*c0 p0*k1*c1 p0*k2 p1*k0 p1*k1 p1*k2]’;

elseif z==2% fitted damping parametersdpar=ATA\ATb;

elseif z==3% estimated stiffness parametersop0 = 0.5e5;op1 = 1e5;ok0 = 0.0547;ok1 = -0.4658;ok2 = 1.9691;opar = [op0*ok0 op0*ok1 op0*ok2 op1*ok0 op1*ok1 op1*ok2]’;

kd.p0=p0; kd.p1=p1; kd.k0=k0; kd.k1=k1; kd.k2=k2;kd.c0=c0; kd.c1=c1; kd.d0=dpar(1); kd.d1=dpar(2);mdl.p0=op0; mdl.p1=op1; mdl.k0=ok0; mdl.k1=ok1; mdl.k2=ok2;mdl.c0=1; mdl.c1=1; mdl.d0=dpar(1); mdl.d1=dpar(2);

endclear A ydata

end

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

Set equilibrium

function [pB,er]=equilibria(varargin)% Equilibria of muscle test setup% Master’s project Stef van den Brink% Philips AppTech%% [pB,er] = equilibria(phi,pA,par,chck)%% input:% phi [rad] angle of the robotic arm% pA [Pa] pressure in muscle A% par [struct] (optional) stiffness parameters% chck [0 1] (0 default) check pB value%% output% pB [Pa] pressure in muscle B% er [Nm] resuming momentum in equilibrium%

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Set or load parameters %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

phi = varargin1;pA = varargin2;par = varargin3;

if nargin>3; chck=varargin4; else; chck=0; end

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Determine equilibrium %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

162

Page 179: Modelling and control of a robotic arm actuated by ...

Implementation of the robotic arm model

syms pB

[hA hB dhA dhB A B] = kinematics(phi,0,par);

KA1 = [1 hA hA^2] * par.k(1:3) ;% [N/m]KB1 = [1 hB hB^2] * par.k(1:3) ;% [N/m]KA2 = [pA pA*hA pA*hA^2] * par.k(4:6)*1e-5 ;% [N/m]KB2 = [pB pB*hB pB*hB^2] * par.k(4:6)*1e-5 ;% [N/m]KA = KA1+KA2 ;% [N/m]KB = KB1+KB2 ;% [N/m]Fz = par.m*9.81*par.L12*sin(phi) ;% [N]h0A = (2*par.L-(par.s1*pA)/(par.s2+pA)) ;% [m]h0B = (2*par.L-(par.s1*pB)/(par.s2+pB)) ;% [m]

Z1 = A*KA*(hA-h0A) + B*KB*(hB-h0B) + Fz;

Y=eval(solve(Z1,pB));pB=Y(2);if imag(pB)~=0 | pB<0; pB=NaN; end

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

if chckif pB>1e5;

ButtonName=questdlg([’Pressure in muscle B = ’,n2s(pB*1e-5,3),’ bar, continue?’], ...’Unrealistic output’, ...’Yes’,’No’,’No’);

switch ButtonName,case ’Yes’;

disp([’Pressure in muscle B = ’,n2s(pB*1e-5,3),’ bar’])case ’No’;

error(’Simulation aborted by user.’)end

endend

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Damping and stiffness of the muscles %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

if nargout<2return

else

h0A = 2*par.L - par.s1*pA/(par.s2+pA) ;% [m] nominal length of muscle Ah0B = 2*par.L - par.s1*pB/(par.s2+pB) ;% [m] nominal length of muscle B

PA = pA*1e-5;PB = pB*1e-5;

kA = [1 hA hA^2 PA PA*hA PA*hA^2] * par.k ;% [N/m]kB = [1 hB hB^2 PB PB*hB PB*hB^2] * par.k ;% [N/m]

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Forces acting on the robot dynamics %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

FA = kA*(hA-h0A) ;% [N] force generated by muscle AFB = kB*(hB-h0B) ;% [N] force generated by muscle B

QA = FA*A ;% [N] Non-conservative force of muscle AQB = FB*B ;% [N] Non-conservative force of muscle B

er = QB + QA + Fz ;% [N] check, should be zero.

end

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

163

Page 180: Modelling and control of a robotic arm actuated by ...

Kinematic relations

function [hA,hB,dhA,dhB,A,B]=kinematics(phi,dphi,par);% Kinematics of muscle test setup% Master’s project Stef van den Brink% Philips AppTech%% [hA hB dhA dhB A B] = kinematics(phi,dphi)%% input:% phi [rad] angle of the robotic arm% dphi [rad/s] angular velocity of robot arm% par [struct] robotic arm parameters%% output% hA [m] length of muscle A% hB [m] length of muslce B% dhA [m/s] velocity of muscle tip A% dhB [m/s] velocity of muscle tip B% A [-] multiplication parameter to transfer muscle force FA into Qnc% B [-] multiplication parameter to transfer muscle force FA into Qnc

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

% Length of robot arm linksLfA = par.LfA ;% [m]LfB = par.LfB ;% [m]L12 = par.L12 ;% [m]

L11x = 460.0e-3 ;% [m]L11y = 26.0e-3 ;% [m]L1A = 76.0e-3 ;% [m]L2A = 142.0e-3 ;% [m]L1B = 24.0e-3 ;% [m]L2B = 210.0e-3 ;% [m]LAB = 130.0e-3 ;% [m]

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

% Direction cosine matrixA21 = [cos(phi) sin(phi) ; -sin(phi) cos(phi)];dA21 = dphi*[-sin(phi) cos(phi) ; -cos(phi) -sin(phi)];

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

% Muscle orientation and velocity vectorsfA = [L11x-LAB L11y-L1A] + [0 L12-L2A]*A21;fB = [L11x-LAB L11y+L1B] + [0 L12-L2B]*A21;dfA = [0 L12-L2A]*dA21;dfB = [0 L12-L2B]*dA21;

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

% Norm of muscle vectorsif strcmp(class(phi),’sym’)

nfA = sqrt(fA*fA.’);nfB = sqrt(fB*fB.’);dfA = eval(dfA);dfB = eval(dfB);

elsenfA = norm(fA);nfB = norm(fB);

end

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

% Muscle lengthhA = nfA-LfA;hB = nfB-LfB;

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

% Muscle velocity

164

Page 181: Modelling and control of a robotic arm actuated by ...

Implementation of the robotic arm model

dhA = norm(dfA)*sign(dfA(1));dhB = norm(dfB)*sign(dfB(1));

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

% Non-conservative force multiplication parametersA = (L12-L2A)*((L11y-L1A)*sin(phi) + (L11x-LAB)*cos(phi))/nfA;B = (L12-L2B)*((L11y+L1B)*sin(phi) + (L11x-LAB)*cos(phi))/nfB;

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

The robotic arm model

function [xdot,q,u,v,Ps,K,F,H,D,V]=...PneuMuscleModelDV(t,x,air,beta,par,fpwm,P0,exc)

% Analytical pneumatic model% Master’s project Stef van den Brink% Philips AppTech%% [xdot,q,P,u,v,K,F,H,D,V] =% PneuMuscleModelDV(t,x,air,beta,par,kpar,dpar,fpwm,P0,C,exc)%% input:% t [s] time% x [Pa Pa Pa m m/s] state variables: Pc PA PB h dhdt% air,alfa,beta,kpar,dpar,fpwm,P0,C,exc system parameters%% output:% xdot [Pa/s] pressure gradient% q [m^3/s] air flow in hoses% u input to the system (control signal)% v [I/O] PWM signals to the valves% Ps [Pa] pressure in splitter% K [N/m ; Ns/m] stiffness and damping of muscles A and B% F [N] Forces acting on the dynamics; sum of Qnc and Fz% H [m] length, nominal length and change in length of the muscles% D [m] diameter of the muscles% V [m^3] volume of muscles A and B

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% PWM model and input %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

% Determine threshold and sawtooth value for tk = floor((t+eps)*fpwm) ;% PWM countertk = k/fpwm ;% [s] Sampled timeuth = t*fpwm - k ;% [-] threshold value; range 0 - 1tau = 3e-3 ;% [s] saturation level

% Apply saturation to uthif uth < tau ;% filter very small values

uth = tau;elseif 1-uth < tau ;% filter values of almost 1

uth = 1-tau;end

% Input u to the systemif exc

u = presref(tk) ;% [kg/s] control signal from zero order holdu(1) = 0 ;% u(1) block function ; u(2) sinus functionFF=0 ;% [N] no external excitation

elseu = [0 0] ;% [kg/s] no valve signalFF= 6*sin(pi*t) ;% [N] external force excitation

end

% Determine valve signalsxinA = u(1) > uth ;% muscle A air in signalxoutA = u(1) < -uth ;% muscle A air out signal

165

Page 182: Modelling and control of a robotic arm actuated by ...

xinB = u(2) > uth ;% muscle B air in signalxoutB = u(2) < -uth ;% muscle B air out signal

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Volume change %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

[hA hB dhdtA dhdtB A B] = kinematics(x(4),x(5),par) ;% apply kinematic relations to get muscle variables

h0A = 2*par.L - par.s1*x(2)/(par.s2+x(2)) ;% [m] nominal length of muscle Ad2A = sqrt(4*par.L^2-hA^2)/(par.n*pi) ;% [m] actual diameter d2 for muscle AVA = pi/60*hA*(3*par.d1^2+4*par.d1*d2A+8*d2A^2) ;% [m^3] actual volume of muscle AdVdhA = pi/20*par.d1^2 + ...

par.d1/15/par.n*(4*par.L^2-hA^2)^(1/2) + ...8/15/par.n^2/pi*par.L^2 - 2/5/par.n^2/pi*hA^2 - ...par.d1/15*hA^2*par.d1/par.n/(4*par.L^2-hA^2)^(1/2) ;% [m^2] volume change per length change

h0B = 2*par.L - par.s1*x(3)/(par.s2+x(3)) ;% [m] nominal length of muscle Bd2B = sqrt(4*par.L^2-hB^2)/(par.n*pi) ;% [m] actual diameter d2 for muscle BVB = pi/60*hB*(3*par.d1^2+4*par.d1*d2B+8*d2B^2) ;% [m^3] actual volume of muscle BdVdhB = pi/20*par.d1^2 + ...

par.d1/15/par.n*(4*par.L^2-hB^2)^(1/2) + ...8/15/par.n^2/pi*par.L^2 - 2/5/par.n^2/pi*hB^2 - ...par.d1/15*hB^2*par.d1/par.n/(4*par.L^2-hB^2)^(1/2) ;% [m^2] volume change per length change

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Pneumatic model for two muscles and capacity %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

% Pressure in supply linePs = [1-xinA xinA]*[x(1) x(3) ; x(2) min(x(2:3))]*[1-xinB ; xinB];

% Air densityrho = ([P0(1)+x(1) ; x(1)+Ps ; x(2)+P0(2) ; x(3)+P0(2)]/2 + 1.01325)/(air.Rs*air.T);

% Pressure change in volumesdP = [(P0(1) - x(1))

(x(1) - Ps)(xoutA*(x(2) - P0(2)))(xoutB*(x(3) - P0(2)))

];

% Flow in hosesqin = beta.reduc * sqrt(rho(1)*abs(dP(1))) * sign(dP(1)) ;% to capacityqs = beta.vdouble * sqrt(rho(2)*abs(dP(2))) * sign(dP(2)) ;% to valvesqsA = qs * (xinA * (x(1)-x(2))) / (x(1) - x(2) + xinB*(x(1)-x(3))) ;% to muscle AqsB = qs * (xinB * (x(1)-x(3))) / (xinA*(x(1)-x(2)) + x(1) - x(3)) ;% to muscle BqoutA = beta.vsingle * sqrt(rho(3)*abs(dP(3))) * sign(dP(3)) ;% out muslce AqoutB = beta.vsingle * sqrt(rho(4)*abs(dP(4))) * sign(dP(4)) ;% out muscle B

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Damping and stiffness of the muscles %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

pA = x(2)*1e-5;pB = x(3)*1e-5;

kA = [1 hA hA^2 pA pA*hA pA*hA^2] * par.k ;% [N/m]dA = [1 pA] * par.d ;% [Ns/m]kB = [1 hB hB^2 pB pB*hB pB*hB^2] * par.k ;% [N/m]dB = [1 pB] * par.d ;% [Ns/m]

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Forces acting on the robot dynamics %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

FA = kA*(hA-h0A) + dA*dhdtA ;% [N] force generated by muscle AFB = kB*(hB-h0B) + dB*dhdtB ;% [N] force generated by muscle B

QA = FA*A ;% [N] Non-conservative force of muscle AQB = FB*B ;% [N] Non-conservative force of muscle BFz = par.m*9.81*par.L12*sin(x(4)) ;% [N] gravity force on the beam

166

Page 183: Modelling and control of a robotic arm actuated by ...

Implementation of the robotic arm model

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Differential equation for capacity and muscle pressure %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

if nargout<3

xdot = [ air.Rs*air.T/par.Vc * (qin - qs)(air.Rs*air.T*(qsA - qoutA) - x(2)*dhdtA*dVdhA ) / VA(air.Rs*air.T*(qsB - qoutB) - x(3)*dhdtB*dVdhB ) / VBx(5)

(QA + QB + Fz + FF) / (par.J + par.m*par.L12^2 )];

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% capture all outputs %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

elsexdot = 0;q = [qin qs qsA qsB qoutA qoutB];v = [xinA xoutA xinB xoutB tk];% A = [AA AB];K = [kA kB dA*200 dB*200];F = [QA QB QA+QB Fz];H = [hA hB h0A h0B dhdtA dhdtB];D = [d2A d2B];V = [VA VB];

end

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% END %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

167

Page 184: Modelling and control of a robotic arm actuated by ...

168

Page 185: Modelling and control of a robotic arm actuated by ...

Bibliography

[ABB, 2006] ABB Robotics (url visited November 2006). Technical dataIRB 4400 Industrial Robot. http://www.abb.com/robotics.

[ASML, 2006] ASML (url visited November 2006). Technical dataTwinscan step and scan dual-stage lithographic tool.http://www.asml.com.

[Bax, 2003] Mike Bax (2003). Investigations into novel actuators. Bach-elor’s thesis, Hogeschool Utrecht.

[Bekey, 2005] George A. Bekey (2005). Autonomous robots: from biologicalinspiration to implementation and control. Intelligent roboticsand autonomous agents. MIT press. ISBN 0-262-02578-7.

[Bertetto, 2004] A.Manuello Bertetto andM. Ruggiu (2004). Charactizationand modeling of air muscles. Elsevier Mechanics – Researchcommunications, 31: 185 – 194.

[Caldwell, 1994] D.G. Caldwell, G.A. Medrano-Cerda and M. Goodwin(1994). Characteristics and adaptive control of pneumaticmuscle actuators for a robotic elbow. IEEE international con-ference on robotics and automation, 4: 3558 – 3563.

[Caldwell, 1995] D.G. Caldwell, G.A. Medrano-Cerda and M. Goodwin(1995). Control of pneumatic muscle actuators. IEEE con-trol systems magazine, 15(1): 40 – 48.

[Carbonell, 2001] Pablo Carbonell, Zhong-Ping Jiang and Daniel W. Rep-perger (2001). Nonlinear control of a pneumatic muscleactuator system. Control Applications, pages 167–172.

[Chou, 1994] Ching-Ping Chou and Blake Hannaford (1994). Static anddynamic characteristics of McKibben pneumatic artificialmuscles. Robotics and Automation, pages 281–286.

[Chou, 1996] Ching-Ping Chou and Blake Hannaford (1996). Measure-ment and modeling of McKibben pneumatic artificial mus-cles. Robotics and Automation, 12(1): 90–102.

Page 186: Modelling and control of a robotic arm actuated by ...

[Colbrunn, 2001] R.W. Colbrunn, G.M. Nelson and R.D. Quinn (2001). Mod-eling of braided pneumatic actuators for robotic control.IEEE/RSJ international conference on intelligent robots andsystems, 4: 1964 – 1970.

[Daerden, 1999] Frank Daerden (1999). Concept and realization of pleatedpneumatic artificial muscles and their use as compliant actua-tor elements. PhD thesis, Vrije universiteit Brussel.

[Daerden, 2002] Frank Daerden and Dirk Lefeber (2002). Pneumatic arti-ficial muscles: actuators for robotics and automation. Eu-ropean journal of mechanical and environmental engineering,47(1): 10–21.

[de Kraker, 2000] Bram de Kraker (2000). A numerical experimantal ap-proach in structural dynamics. Lecture notes 4784,Technische Universiteit Eindhoven, faculteit werktuig-bouwkunde. Course number 4J560.

[de Kraker, 2001] Bram de Kraker and Dick H. van Campen (2001). Mechan-ical Vibrations. Shaker Publishing. ISBN 90-423-0165-1.

[dSPACE, 2000] dSPACE GmbH (2000). dSPACE DS1102 controlboard with ControlDesk interface, Paderborn, Germany.http://www.dspace.de.

[Festo, 2006] Festo AG & Co. KG (url visited may 2006). Fluidic MuscleMAS. http://www.festo.com.

[Franklin, 2001] Gene F. Franklin, J. David Powell and Abbas Emami-Naeini(2001). Feedback control of dynamic systems. Prentice Hall,4th edition. ISBN 0-13-032393-4.

[Fujita, 2005] M. Fujita, K. Sabe et al. (2005). SDR-4X II: A small hu-manoid as an entertainer in home environment. SpringerTracts in Advanced Robotics, 15.

[Heath, 2002] Michael T. Heath (2002). Scientific computing, an intro-ductory survey. McGraw-Hill, second edition. ISBN 0-07-239910-4. http://www.cse.uiuc.edu/heath/scicomp.

[Honda, 2003] American Honda Motor Co., Inc. (2003). Asimo:The Honda humanoid robot. http://asimo.honda.com andhttp://www.honda-robots.com.

[Kara, 2006] Dan Kara (2006). Presentation: Global Trendsin the Consumer Robotics Market. RoboticsTrends.http://www.roboticstrends.com.

[Klute, 1999] G.K. Klute, J.M. Czerniecki and B. Hannaford (1999). McK-ibben artificial muscles: pneumatic actuators with biome-chanical intelligence. International conference on advancedintelligent mechatronics.

170

Page 187: Modelling and control of a robotic arm actuated by ...

Bibliography

[Klute, 2002] G.K. Klute, J.M. Czerniecki and B. Hannaford (2002). Ar-tificial muscles: Actuators for biorobotic systems. Interna-tional journal of robotics research, 21: 295–309.

[Klute, 2000] G.K. Klute and B. Hannaford (2000). Accounting for elas-tic energy storage in McKibben artificial muscle actuators.Journal of dynamic systems, measurements, and control, pages386–388.

[Koster, 2000] M.P. Koster and W. van der Hoek (2000). Construc-tieprincipes voor het nauwkeurig bewegen en positioneren.Twente University Press, third edition. ISBN 90-365-1456-8.

[Kreyszig, 1999] Erwin Kreyszig (1999). Advanced engineering mathematics.John Wiley & Sons, Inc, 8th edition. ISBN 0-471-33328-X.

[Lilly, 2005] J.H. Lilly and L. Yang (2005). Sliding mode tracking forpneumatic muscle actuators in opposing pair configura-tion. IEEE transactions on control systems technology, 13(4):550–558.

[Maas, 2005] Sander Maas (2005). Control of a pneumatic robot arm bymeans of reinforcement learning. Master’s thesis, Technis-che universiteit Eindhoven.

[Mathworks, 2005] The Mathworks (2005). Using Matlab 7 (Release 14), Natick,United States of America. http://www.mathworks.com.

[Merlin, 2006] Merlin Robotics (url visited may 2006). Air Muscle Actua-tors. http://www.merlinrobotics.co.uk.

[Müller, 2004] I. Müller and P. Strehlow (2004). Rubber and rubber bal-loons, Paradigms of thermodynamics. Number 637 in Lecturenotes in physics. Springer Verlag. ISBN 3-540-20244-7.

[Nickel, 1963] V.L. Nickel, J. Perry and A.L. Garrett (1963). De-velopment of useful function in the severely paralyzedhand. Journal of Bone and Joint Surgery, 45(5): 933–952.http://www.ejbjs.org/cgi/reprint/45/5/933.

[Pack, 1994] R.T. Pack, M. Iskarous and K. Kawamura (1994). Compari-son of fuzzy and nonlinear control techniques for a flexiblerubbertuator-based robot joint. International Fuzzy Systemsand Intelligent Control Conference, pages 361–370.

[Pack, 1996] R.T. Pack, M. Iskarous and K. Kawamura(1996). Climber robot. US Patent: 5,551,525.http://www.freepatentsonline.com/5551525.html.

[Petrovic, 2002a] Petar B. Petrovic (2002a). Modeling and control of an artif-cial muscle, part one: Model building. Buletinul stiintific aluniversitatii ”politehnica” din Timisoara, Transactions on me-chanics, 47(61). X-th conference on mechanical vibrations.

171

Page 188: Modelling and control of a robotic arm actuated by ...

[Petrovic, 2002b] Petar B. Petrovic (2002b). Modeling and control of an ar-tifcial muscle, part two: Model verification. Buletinul sti-intific al universitatii ”politehnica” din Timisoara, Transactionson mechanics, 47(61). X-th conference on mechanical vibra-tions.

[Plettenburg, 2005] Dick H. Plettenburg (2005). Pneumatic actuators: a com-parison of energy–to–mass ratio’s. Proceedings of the 2005IEEE 9th International Conference on Rehabilitation Robotics,Chicago, IL, USA, pages 545 – 549.

[Polytech, 1997] Polytech (1997). P.H.H. Leijendeckers, J.B. Fortuin, F. vanHerwijnen and H. Leegwater, Polytechnisch zakboekje, vol-ume 48. Koninklijke PBNA.

[Repperger, 1998] D.W. Repperger, K.R. Johnson and C.A. Phillips (1998). AVSC position tracking system involving a large scale pneu-matic muscle actuator. IEEE conference on decision and con-trol, 4: 4302–4307.

[Reynolds, 2003] D.B. Reynolds, D.W. Repperger, C.A. Phillips andG. Bandry (2003). Modeling the dynamic characteristicsof pneumatic muscle. Annuals of biomedical engineering, 31:310–317.

[Sabe, 2005] Kohtaro Sabe (2005). Development of entertainment robotand its future. IEEE Symposium on VLSI circuits, pages 2–5.http://www.sony.net/SonyInfo/QRIO.

[Schröder, 2003] Joachim Schröder, Duygun Erol, Kazuhiko Kawamura andRüdiger Dillmann (2003). Dynamic pneumatic actuatormodel for a model-based torque controller. IEEE interna-tional symposium on computational intelligence in robotics andautomation, 1: 342–347.

[Shadow, 2006] Shadow Robot Company (url visited may 2006). Pneumaticair muscles. http://www.shadowrobot.com/airmuscles.

[Skogestad, 1996] Sigurd Skogestad and Ian Postlethwaite (1996). Multivari-able feedback control, analysis and design. john Wiley & sons.ISBN 0-471-94277-4.

[Stiomak, 1997] Stiomak (1997). Materiaalkeuze in de werktuigbouwkunde.Stam Techniek. ISBN 90-401-0288-0.

[Tanaka, 2004] F. Tanaka, K. Noda, T. Sawada andM. Fujita (2004). Associ-ated emotion and its expression in an entertainment robotQRIO. Third international conference on entertainment com-puting. ISBN 3-540-22947-7.

[Thongchai, 2001] S. Thongchai, M. Goldfarb, N. Sarkar and K. Kawamura(2001). A frequency modeling method of Rubbertuators forcontrol application in an IMA framework. American controlconference, Arlington, Virginia.

172

Page 189: Modelling and control of a robotic arm actuated by ...

Bibliography

[Tondu, 1997] Bertrand Tondu and Pierre Lopez (1997). The McKibbenmuscle and its use in actuating robot-arms showing simi-larities with human arm behaviour. Industrial Robot, 24(6):432–439.

[Tondu, 2000] Bertrand Tondu and Pierre Lopez (2000). Modeling andcontrol of McKibben artificial muscle robot actuators. IEEEControl Systems Magazine, 20(2): 15–38.

[Tousain, 2006] Rob Tousain (2006). MIMO identification. Slides. PATOcourse 9b.

[Toyota, 2004] Toyota Motor Cooperation (2004). Partner Robots.http://www.toyota.co.jp/en/special/robot/index.html.

[Tuijthof, 2000] G.J.M. Tuijthof and J.L. Herder (2000). Design, actuationand control of an anthropomorphic robot arm. Mechanismand machine theory, 35: 945–962.

[UNECE, 2004] UNECE (2004). World robotics 2004 – Statistics, Market Anal-ysis, Forecasts, Case Studies and Profitability of Robot Invest-ment. United Nations Economic Commission for Europe.ISBN 92-1-101084-5.

[van de Wouw, 2003] Nathan van de Wouw (2003). Multibody dynamica. Lec-ture notes 4816, Technische Universiteit Eindhoven, facul-teit werktuigbouwkunde. Course number 4J400.

[van der Smagt, 1996] P. van der Smagt, F. Groen and K. Schulten (1996). Analy-sis and control of a rubbertuator arm. Biological Cybernetics,75(5): 433–440.

[van Ham, 2003] Ronald van Ham, Frank Daerden, Björn Verrelst and DirkLefeber (2003). Control of a joint actuated by two pneu-matic artificial muscles with fast switching on-off valves.6th National congress on theoretical and applied mechanics, 75.

[Weisstein, 2006] Eric W. Weisstein (url visited April 2006). Barrel. WolframMathWorld. http://mathworld.wolfram.com/Barrel.html.

173

Page 190: Modelling and control of a robotic arm actuated by ...

174