Vous êtes sur la page 1sur 190

Modelling and control of a

robotic arm actuated by


nonlinear articial 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

Ir. H.C.A. Dirkx

Technische Universiteit Eindhoven


Department of Mechanical Engineering
Dynamics and Control Group

Philips Applied Technologies


Mechatronics
Home robotics project
Eindhoven, 25th January 2007
Abstract
Modern industrial robots are designed according to the principal design rules to con-
struct light and sti. These design rules are not suitable for robots to be used in a
domestic environment. Industrial robots are sti and strong and, for these reasons,
dangerous to humans. To allow for robots to be safe in a domestic environment, they
need 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 use
compliant actuators, for example a McKibben muscle. This is a pneumatic articial
muscle with great resemblance to a biological muscle. A McKibben muscle consists
of a 15 cm piece of bicycle tube, surrounded by a nylon braid of 20 cm. The endings
of the tube and the braid are connected using a tting. Inating the muscle yields a
decrease in muscle length and an increase in diameter and stiness.
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 two
degrees of freedom and is actuated by four McKibben muscles. The research goals
are, rstly, to construct a predictive model of the robotic arm including McKibben
muscles and, secondly, to construct controllers that guarantee accurate motion control
of the robotic arm, using model knowledge on the robotic arm and the muscles.
A predictive model of the McKibben muscle is proposed, which takes into account the
change in muscle shape as well as in stiness. This model is used in the total robotic
arm model, also including the pneumatics and the rigid body dynamics of the arm.
Dedicated experiments are performed to identify the parameters of the muscle model
and the robotic arm model. Other experiments are used to validate whether the
models give a correct prediction of the experimental robotic arm behavior. It appears
that the robotic arm behavior is predicted correctly within a limited pressure range.
The main model error is in the description of the muscle stiness.
The knowledge gained by the experiments and the modelling is used to dene a con-
trol strategy. By driving the muscles in pairs, the robotic arm is stabilized completely
using linear feedback controllers. Each muscle pair requires two controllers: one to
control the robotic arm position and one to control the pressure in both muscles.
The stiness variation as a function of the muscle length of the McKibben muscles is
completely compensated for by applying a notch-lter in the position controller. The
controllers are implemented on both a one- and two-degree-of-freedom variant of the
experimental system. Closed-loop experiments show the eectiveness of the control
strategy, where the feasible bandwidth of this controlled system is 4 Hz.
To improve the predictive capacities of the robotic arm model, future research on the
force balance inside a muscle and the subsequent stiness is required and advised.
i
ii
Samenvatting
Moderne industrile robots zijn ontworpen volgens het principe om licht en stijf con-
strueren. Deze ontwerp principes zijn echter niet geschikt voor huiselijke robots.
Industrile robots zijn stijf en sterk en zijn daarom gevaarlijk; ze staan om die rede
dan ook altijd afgeschermd van mensen. Om de toepassing van robots in een woon-
omgeving mogelijk te maken, zullen deze compliant (minder stijf) moeten zijn zodat
ze meegeven als er tegenaan wordt gestoten. Dit om verwondingen te voorkomen.
Er zijn verschillende manieren om een robot compliant te maken. En mogelijkheid
is om robots aan te drijven met actuatoren die niet stijf zijn, bijvoorbeeld een
McKibben spier. Dit is een kunstmatige pneumatische spier die qua gedrag erg veel
lijkt op een biologische spier. Een McKibben spier bestaat uit 15 cm ets binnenband
met daarom heen een nylon netje van 20 cm. De uiteinden van de band en het netje
zijn aan elkaar bevestigd met een afsluitdop. Door de spier op te blazen wordt deze
korter, dikker en stijver.
Om de toepasbaarheid van McKibben spieren als robot actuatoren te onderzoeken, is
bij Philips Applied Technologies in Eindhoven een robot arm gebouwd. Deze heeft twee
graden van vrijheid en wordt aangedreven door vier McKibben spieren. De onder-
zoeksdoelen zijn, ten eerste, om een voorspellend model van de robot arm inclusief
de McKibben spieren te ontwerpen en, ten tweede, om met kennis van de robot arm
en 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 als
de verandering in stijfheid beschrijft. Dit model is vervolgens gebruikt in het totale
robot 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 in
kaart gebracht. Deze experimenten zijn gebruikt om de parameters in het model af
te schatten en om te veriren of de modellen een realistische beschrijving geven
van de werkelijkheid. Uit validatie experimenten blijkt dat het gedrag van de robot
arm in een beperkt druk goed voorspeld wordt. De grootste model fout zit in het
voorspellen 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, het
mogelijk is om met behulp van eenvoudig lineaire regelaars de robot arm volledig te
stabiliseren. Voor elk paar spieren zijn twee regelaars nodig; n voor de positie van
de robot arm en n voor de druk in beide spieren. Essentieel in het ontwerp van de
positie regelaar is een notch lter, die de variatie in stijfheid van de spieren volle-
dig gecompenseerd. Dit is getest op de robot armvoor zowel een conguratie met n
iii
als voor een conguratie met twee graden van vrijheid. Experimenten aan het gere-
gelde systeem tonen de eectiviteit van de voorgestelde regelstrategie aan, waarbij
de maximale bandbreedte 4 Hz is.
Omhet model van de robot armbeter te laten voorspellen, is verder onderzoek naar
de krachtbalans in de spieren en de daaruit volgende stijfheid nodig en aanbevolen.
iv
Preface
This report describes the results of my graduation project at the Dynamics and
Control group of the Technische Universiteit Eindhoven. The project is carried out
under authority of the Mechatronics department of Philips Applied Technologies
in Eindhoven. During my assignment I received a lot of help and support by many
people. Herewith I would like to show my gratitude.
In the rst place, I would like to thank my coaches Rob Rijs and Bart Dirkx from
Philips Applied Technologies and Nathan van de Wouw and Henk Nijmeijer from
Technische Universiteit Eindhoven for their support, input and critical comments
during my research. I appreciate that very much.
In the second place, but invaluable, I would like to thank the people and students
at 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 show my gratitude towards my parents Marcelle and Wim, for their
great support during almost ten years of studying, and to my girlfriend Esther, for
her patience and comfort.
v
vi
Contents
Abstract i
Samenvatting iii
Preface v
Nomenclature xi
1 Introduction 1
1.1 Problem statement 4
1.2 Report outline 6
2 Description of the robotic arm and the muscles 7
2.1 Setup of the robotic arm 7
2.2 Sensors and control platform 8
2.3 Pneumatics and the binary valves 9
2.4 McKibben muscles 10
2.4.1 Construction 10
2.4.2 Working principle 10
2.5 Contribution of the thesis 12
3 Physical modelling 15
3.1 Robotic arm model 15
3.2 Input signals and the binary valves 18
3.3 Pneumatics 21
3.3.1 Pressure and ow relations 21
3.3.2 Splitter 24
3.3.3 Formulation of the pneumatic model 26
3.4 McKibben muscles 27
3.4.1 Braid kinematics 27
3.4.2 Muscle volume 28
3.4.3 Pressure in the muscle 29
3.4.4 Nominal muscle length 30
3.4.5 Force exerted by the muscle 31
3.4.6 Muscle stiness and damping 32
3.4.7 Formulation of the muscle model 33
vii
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 Identication and model validation 39
4.1 Muscle identication 39
4.2 Validation of the equilibria 45
4.3 Robotic arm identication 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 identication 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 Specications 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 PAMs 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
D Considerations on the pneumatic model 105
D.1 Pneumatic test setup 105
D.2 Flow modelling 107
D.3 Valve modelling 108
D.4 Simulation of the pneumatic test setup 109
D.5 Two DoF pneumatic model 113
E Considerations on the muscle model 117
E.1 The model of Chou Hannaford 117
E.2 The model of Petrovi c 120
E.3 The model for a Shadow McKibben muscle 120
E.4 Analytical solution for the stiness parameters 122
F Derivation of the multibody model 123
F.1 Kinematics of the pneumatic robot arm 126
F.2 Mass and inertial properties 128
F.3 Spring 129
F.4 Muscle forces 131
F.5 Two DoF equation of motion 132
F.6 One DoF equation of motion 135
F.7 Inertial parameters of both bodies 137
F.8 Generalized muscle forces 2 to 6 139
G Derivation of the static muscle parameters 141
H Tuning of the controllers 147
H.1 Controller part denitions 147
H.2 Frequency response functions of the pressure loop 148
H.3 Nichols diagram of the open-loop pressure control 149
H.4 Tuning of the 1DoF angle controller for joint 1 150
H.5 Dual joint control scheme 153
H.6 MIMO system identication 154
H.7 Interaction between the joint angles 156
H.8 Stability of the dual joint controller 157
I Implementation of the robotic arm model 159
Bibliography 169
ix
x
Nomenclature
Variables
A cross-sectional area m
2
A direction cosine matrix
F force N

H angular momentum kg m
2
s
1
J inertia kg m
2
L half muscle bre length m
Q generalized force N m
R
s
specic gas constant kg J s
1
T temperature K
T time interval s
V volume m
3
W work J = N m
b damping N s m
1
c stiness correction parameter
d diameter m
e unit vector
f frequency Hz

f force direction vector


g gravitational constant m s
2
h muscle length m
k stiness N m
1
k PWM sample
l length m
m mass kg
p pressure Pa = Nm
2
q mass ow kg s
1
q generalized coordinate
s open valve time s
r radius m
t time s
u plant input / control signal V
v binary valve signal V
x model state
y model output
z model input / ow control signal V
xi
power spectrum
input or decoupling matrix
output matrix
pneumatic gain
ow resistance factor m
2
lter parameter
braid angle in ChouHannaford model rad
muscle damping parameter
dynamic viscosity Pa s
angle of the robotic arm rad
muscle stiness parameter Pa
muscle stiness parameter
density kg m
3
mean density kg m
3
damping ratio
valve threshold s
biased muscle stiness parameter
natural eigen frequency rad s
1
angular velocity vector rad s
1
( controller
H frequency response function (FRF)
H
OL
open loop FRF
/
I
interaction coecient
/

model linearization of over z

rad V
1
/
p
model linearization of p
AB
over z
p
bar V
1
T

experimentally identied FRF of over z

rad V
1
T
p
experimentally identied FRF of p
AB
over z
p
bar V
1
1 robotic arm
S sensitivity
Subscripts
A muscle A
B muscle B
C muscle C
D muscle D
AB cumulative muscles A and B
CD cumulative muscles C and D
S spring
c capacity
e error
f muscle tting and connector
in ow in
k sample
l low-pass
m muscle
n notch
xii
out ow out
s splitter
sv sensors and valves
th threshold
w working point
0 nominal
Notation
C set of complex numbers
R set of real numbers
x equilibrium of x
x perturbation of x
x estimation of x
x vector x
x column x
X matrix X
Abbreviations
AI articial intelligence
BW bandwidth
CL closed-loop
CM center of mass
DoF degree-of-freedom
FRF frequency response function
MIMO multiple input multiple output
ODE ordinary dierential equation
OL open-loop
PAM pneumatic articial muscle
PID proportional dierentiating integrating controller
PWM pulse width modulation
RL reinforcement learning
SISO single input single output
xiii
xiv
1
Introduction
This thesis considers the modelling and control of a robotic actuator to be used in
a domestic environment. The commonly known robotic actuators are industrial
actuators, which are designed for application in industrial robots. In general, in-
dustrial robots are unsafe for humans and not practically applicable in a domestic
environment.
The dierence between industrial and domestic robotics is a direct consequence of
their specications. A dierentiation in robotics based upon the robots application
is given in [Kara, 2006] and shown in Figure 1.1. Industrial robots are designed to
combine speed and accuracy while domestic robots must be able to be mobile,
interactive
1
and safe. As a result, industrial robots are sti, heavy (except for the
moving parts) and powerful; domestic robots are small and light but less accurate
and less powerful.
One of the issues domestic robot research focusses on, is the actuation. Compared
to industrial actuators, biologic actuators (muscles) have the ideal properties for do-
mestic robots: strong, exible, light and ecient. One type of actuators, approach-
ing the biological muscle properties, are pneumatic articial muscles or PAMs.
The best known PAM is the McKibben muscle
2
, a light and strong actuator with
nonlinear characteristics. A disadvantage is that McKibben muscles are dicult to
control.
Modern industrial motion control
The design of industrial robots is characterized by lightweight and sti structures.
As a result the eigenmodes are located at high frequencies, which directly aects
the feasible bandwidth of a robot. The mechanics are optimized for linearity to
allow for the application of well-known classical linear control techniques.
In Figure 1.2, two examples of modern industrial robots are given. The ABB IRB
is less advanced and general applicable, while the ASML Twinscan is extremely
advanced and dedicated for one specic task.
1
Interactive in the context of a domestic robot has two meanings. Firstly, domestic robots are character-
ized by a higher level of autonomy in a loosely structured operating environment; secondly, domestic
robots must be able to interact on some level (on/o button up to talking) with people.
2
The rst 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.
Robotics
Industrial Robots
automatically controlled
reprogrammable multipurpose
manipulator in three or more
directions
robots for manufacturing
Service Robots
semi or fully autonomous robot
to perform services useful to the
well-being of humans
all but manufacturing robots
Professional Robots
Servicing humans, their
environment and equipment
maintenance, repair,
inspection, surgery
Domestic Robots
home care, entertainment,
disabled assistance, hobby
vacuum cleaners, toys,
wheelchair robots
Figure 1.1: A dierentiation of robotics, as dened 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; striking
are the accelerations and masses involved. One would probably expect this to be
possible due to very complex controllers; in reality straightforward linear feedback
controllers are used. The high performance level is achieved by putting eort into
three areas: robot design, modelling the robot behavior and, in case of the ASML
Twinscan, knowledge of the robot environment.
Modelling the robot dynamics and the internal disturbances enables for a controller
design that is optimized for speed and accuracy and, more important, to apply feed-
forward control. Feedforward tremendously reduces settling times and trajectory
tracking capabilities.
A dry and clean environment is a minimal requirement for each robot. Often a
robot is placed on (active or passive) suspensions to prevent oor vibrations from
entering the robot. If accurate knowledge of the environment is required, the robot
is placed in a cleanroom. In this way, the system behavior is kept constant; for
example 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 been
performed. This research is induced by the expectation that gradually a shift from
robotics 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 compliant
3
actuators.
3
Compliance has two interpretations. The technical denition means the inverse of stiness: weak-
ness. In common language, the meaning of compliance refers to accommodating behavior.
2
Introduction
(a) ABB IRB (b) ASML Twinscan
Figure 1.2: Example of two modern industrial robots. The ABB IRB [ABB, 2006] is a six
axes 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 maximum
payload is 60 kg; the maximum allowable acceleration is 1.5 g. The IRB does not have
special 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 with
an accuracy of 3 nm with 30 ms settling time. The Twinscan can only be used within a
cleanroom.
(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 capable
of having simple conversations [Tanaka, 2004]. QRIO has 38DoF, is 0.58 m high and
weighs 6.5 kg. The Asimo [Honda, 2003] has been introduced in 2000, the height is 1.20
m, it weighs 52 kg, has 26DoF and is capable of walking, running and climbing stairs. The
Partner Robot from Toyota, is 1.20 m high and weighs 35 kg, [Toyota, 2004]. It has soft lips
which enable for playing trumpet. Also a rolling variant of the partner robot exists.
3
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 vivid
research area [Bekey, 2005]. An example of autonomous humanoid is the QRIO as
given 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 based
on that of the human body. The reason to adopt human features for a robot layout
is simple: our world is designed for humans. To have a robot functioning well in
our world, it is desirable to resemble us.
In Figure 1.3, three humanoid examples are given. These humanoids are built
using sti materials and electric actuators, i.e. according to industrial construction
principles. This makes them less suitable for the domestic environment that they
are built for. For safety reasons, it is better not to have industry-like robots in a
human 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 will
move on, conicting serious injury on the person.
To avoid injuries, dierent design rules apply for robots in a domestic environ-
ment: lots of sensors for detecting unsafe situations, less rigid structures with low
moving masses and compliant actuators. This brings us to the third domestic robot
research area: compliant actuators.
In [Bax, 2003], several alternative compliant actuators are considered. One of the
actuators rated with the best suitability for application in a domestic environment
is 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 arm
investigated in this report. In Appendix B.1, the advantages and disadvantages of
McKibben muscles are discussed.
1.1 Problem statement
The problem statement of this thesis project focusses on the modelling and control
of a robotic system, actuated by four pneumatic articial muscles. To investigate
this, 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 is
deliberately not designed according to the principal design rules to construct light
and sti [Koster, 2000]; the dynamics of the joints are coupled and the moving
masses are relatively large compared to the stiness. This is done to resemble a
possible layout of a domestic robot. The robotic arm consists of two revolute joints
which are connected in series. Each joint is driven by a pair of McKibben muscles
in an antagonist setup.
McKibben muscles are known for their nonlinear behavior. Physical modelling of
this behavior is considered to be dicult. Because of such complex dynamics, the
control of robots actuated by McKibben muscles, has focussed on various complex
control strategies. Classical feedback control has never been applied, simply be-
cause a linear approach seemed inadequate to handle the nonlinear characteristics
4
Introduction
of McKibben muscles. This thesis will focus on the classical loop-shaping approach
to design a feedback controller. The problem statement of this thesis is formulated
as follows:
A predictive model for the two DoF robotic arm should be built, based on physi-
cal principles and dedicated experimental identication, where special attention
should be given to the modelling of the articial muscles. This model should be
validated by experiments and used to construct linear feedback controllers, us-
ing a classical feedback approach, allowing for both stabilization and tracking
tasks. Finally, these controllers should be implemented and evaluated on the
experimental setup.
The modelling part of the thesis is started by performing dedicated tests in order
to understand the behavior of the system and the McKibben muscles. Based upon
these experiments and the resulting increased insight, a model based on physical
relations must be formulated. An experimental model must be gained by mea-
suring frequency response functions. Based upon the models and measurement
results, a control strategy is chosen and controllers are designed.
The control part of the thesis starts with a robotic arm with lower complexity. By
xing the rotation in revolute joint 1, the robotic arm is a DoF system, actuated
by 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 reinforcement
learning (RL), are presented. This is an articial intelligence technique, which at-
tempts to stabilize and control the DoF robotic arm by predicting the robotic arm
behavior using an experimental model, generated by reinforcement learning. Part
of 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 1
A
B
joint 1

-
spring
(b)
Figure 1.4: Impression of the DoF and 2DoF robotic arm.
5
(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 are
described. As McKibben muscles are not commonly known actuators, its main
characteristics 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 in
Chapter 3. All aspects determining the behavior of the robotic arm are modeled
individually. To understand the physical principles of every model part, dedicated
experiments are performed. These experiments are also used to verify the model
parts and to identify the model parameters.
The model has multiple purposes. Firstly, it allows for estimating the possible
bandwidth and accuracy of the controlled robotic arm on a model level and it can
be used as part of the control loop (for example in a feedforward or in an input
output linearization control strategy). Secondly, the inuence of every parame-
ter on the behavior can be estimated. In other words, the model can be used for
predicting the robots behavior, which can support domestic robot design using ar-
ticial muscles as actuators.
The model is validated in both the time- and frequency-domain in Chapter 4. The
transient behavior and equilibrium points of the experimental robotic arm and the
model are compared in the time domain, the linear input output behavior is
compared in the frequency domain. The input output behavior is determined by
measuring the frequency response functions of the robotic arm and by simulation
of 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 in
Chapter 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 complexity
increases due to the interaction of the multiple inputs on the outputs. The scaling
from a DoF to a 2DoF system, the MIMO system identication, the control ap-
proach and the control results are discussed. Finally, the model-based controller is
compared 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 in
a domestic environment.
6
2
Description 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 two
solenoid binary valves, so there are eight valves needed to drive the two joints; in
Figure 2.1a, an image of the robotic arm in an outer position is given, in Figure 2.1b
a schematic impression of the pneumatic robot arm in its initial position is given.
The location and designation of the four muscles, 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 case
of the robotic arm, the McKibben muscles act also relatively close to the rotation
points. This makes it dicult to generate a large momentum. On the other hand,
small elongations of the muscle are sucient to generate large rotations of the
joints.
Body 1 rotates in revolute joint 1, driven by muscles C and D . Its rotation is given
by the angle between body 1 and the mounting table surface. Body 1 consists of
two bars: an aluminium and a steel part (blue respectively grey in Figure 2.1b). On
body 1, muscles A and B , four valves and two pressure sensors are mounted.
To support body 1, a spring is mounted between the xed world (green part in
Figure 2.1b) and body 1. This spring functions as a gravity compensator for the
mass imbalance of body 1. Without the spring, muscle D is limited in its working
area 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. The
rotation of body 2 is given by the angle of body 2 with respect to body 1. Body
2 consists of an aluminium bar with a small additional mass on top. Due to the
vertical setup of body 2 and its limited mass, static balance can easily be enforced
by muscles A and B ; no gravity compensation is required here.
In the following section, the functionality of the control platform of the robotic arm
is explained. The setup of the pneumatic system is given in Section 2.3 and the
properties and behavior of McKibben muscles are explained in Section 2.4. This
A
B
D
joint 1
joint 2
power source
air supply
switching board
valves
valves
pressure
sensors
spring
table
r r
r r
@
@
@
r
r
r r

r
r
r
r
!
!
!
!
!
!
!
!
r
r

r
@
@
r
A
A
r
(a)
C
D
A
B
body 1
body 2
joint 1
joint 2
spring

-
`
`
`
(b)
Figure 2.1: The pneumatic robot arm as available at Philips Applied Technologies. The
four muscles are indicated by A , B , C and D . In Figure (a), muscles A and D are com-
pletely inated while muscles muscles B and C are completely stretched. In Figure (b) the
equilibrium position is given, in case the pressure in the muscles is equal in each pair, i.e.
p
A
= p
B
and p
C
= p
D
.
chapter is ended by a review on the consulted literature. More information, pho-
tographs and specications of the robotic arm and its components, can be found
in Appendix A.
2.2 Sensors and control platform
For the control and data acquisition of the robotic arm, a dSPACE

system is
used, [dSPACE, 2000]. The controllers are dened in MATLAB

SIMULINK

,
[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 valves
is embedded on the switching board.
The eight valves applied in the robotic arm are controlled by eight binary signals
from the dSPACE output. On the switching board, the dSPACE output signals are
amplied to 24 V using eld emitting transistors or FETs.
Four pressure sensors are used to measure the pressure in the four muscles. The
angle of both joints is measured using two linear high-quality potentiometers. Only
four analog inputs are available on the dSPACE system, which is less then the six
available analog sensor signals. Two jumpers on the switching board enable to
select which sensor signals are linked to the dSPACE inputs.
The specications of the pressure sensors and the potentiometers are respectively
given in Appendix A.3 and A.4. The electronic scheme of the switching board is
given in Appendix A.5.
8
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 a
number 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 the
ow towards the muscle, the other valve controls the ow from the muscle into the
open. As the valves are placed in series, the ow-in valve is overruled if the ow-out
valve is enabled. In conclusion, the ow towards a muscle has three possible states:
ow in, ow out and no ow.
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 and
two possible states. In Appendix A.2, the specications of the valves are given;
most important is the response time: 2 ms.
The eight valves are driven by four ow-in signals v
in
and four ow-out signals
v
out
. The eight binary control signals are given in matrix notation by:
v =
_
v
in,A
v
in,B
v
in,C
v
in,D
v
out,A
v
out,B
v
out,C
v
out,D
_
T
. (2.1)
The capacity prevents large pressure uctuations in the air supply due to air losses
in the robot pneumatics. The pressure reduction valve ensures the pressure in the
capacity 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 each
muscle.
air in
air out
stop
reduction valve
_
v = 1
_
v = 0
3/2 valve:
capacity
muscle A
sensor A
muscle B
sensor B
muscle C
sensor C
muscle D
sensor D
v
in,A
v
out,A
v
in,B
v
out,B
v
in,C
v
out,C
v
in,D v
out,D
Figure 2.2: Schematic representation of the complete pneumatic system. The eight valves
are depicted for low control signals, i.e. v = 0. The two valves controlling one muscle are
placed in series. As a result, the ow-in valve of muscle i is overruled if v
out,i
= 1.
9
Figure 2.3: A deated McKibben muscle from the Shadow Robot Company as used in the
pneumatic robot arm. Visible are the braid en the two ttings with the air hose connectors.
2.4 McKibben muscles
A deated McKibben muscle as used in the robotic arm is shown in Figure 2.3; it
is produced by the Shadow Robot Company [Shadow, 2006]. Besides this muscle
type, several other types are available. The rst commercially available McKibben
muscle was the Rubbertuator from Bridgestone, shown in Figure 2.6a. It is well
known for its application in a wall climbing robot [Pack, 1996]. A large number of
publications refer to Rubbertuators, unfortunately they are out of production so the
presented results can not be veried.
Festo produces the pneumatic muscle MAS [Festo, 2006]. It has a dierent working
area than the Shadow muscle, consequently it behaves dierently. The pressure
required is between 2 and 6 bar and the stroke is smaller; an image is shown in
Figure 2.6b. Finally, Merlin Robotics [Merlin, 2006] produces a McKibben muscle
which 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 ttings. The ttings serve as gas closures, enable for the
mounting and contain the air hose connectors. The braid consists of nylon threads
woven into a framework of pantographs. The nylon threads have a xed length
and are considered to be sti compared to rubber tube, this means that the nylon
bres do not change in length when the muscle is pressurized or a when external
force is applied to the muscle. As the threads are woven symmetrically, the thread
orientation does not change, i.e. the ttings do not rotate with respect to each other
when 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 bar
1
, the McKibben muscle is deated. The rubber tube and the nylon
braid do not touch; the muscle length is determined by the rubber tube. Inating
1
Pressure relative to the environmental pressure
10
Description of the robotic arm and the muscles
Figure 2.4: Structure of a McKibben muscle: a isobutylene (rubber) tube is surrounded
by a braid. The weaving of the threads is axially symmetric and the separate threads are
not connected to each other. The tube and the braid are xed together at the ends by two
ttings (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 [Mller, 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 and
tube touch, the muscle becomes sti and is able to deliver a force. Further ination
of 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 occurs
due 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 both
must increase. The braids weaving structure forces the diameter to increase. The
0.0 0.3 0.7 1.0
200
185
170
rubber
tube
nylon
braid
tting
t
r
e
n
d
lin
e
p [bar]
h
0
[
m
m
]
Figure 2.5: The shape and length h
0
of an unloaded muscle as function of the relative
pressure p. Inating the muscle causes an increase, followed by a decrease in muscle length.
11
(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 to
the other muscle types, the Shadow muscle is less cylindrically shaped.
braid also determines that an increasing diameter results in a shortening of the
pneumatic muscle. The combination of an increasing diameter and a decreasing
length, shows that the volume of a muscle hardly changes during ination. This
also means that the additional air due to ination, mainly results in an increase in
pressure. The change in shape for a Shadow muscle is shown in Figures 2.6c and
2.6d at respectively 0.3 and 1.0 bar.
The maximum allowable pressure in a Shadow McKibben muscle is 3.5 bar. In
case of the robotic arm, it is chosen to resemble biologic muscle behavior; as the
pressure determines the stiness of the muscles, it is decided to use a working
pressure of 1.0 bar.
The working area of a muscle starts as the tube touches the braid; from this point
on the muscle becomes sti. Normally, the working area starts at 0.3 bar (see Figure
2.5). Applying a pretension to the muscle (by stretching) lowers the pressure at
which the working area starts; an additional advantage is that the energy dissipation
due to friction in the braid is lowered. In the robotic arm, the muscles are mounted
with 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 the
joint 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 in
Appendix B.2. This overview is divided in two parts: the modelling of McKibben
muscle behavior and the control of systems actuated by McKibben muscles.
12
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 literature
review are illustrated:
The active behavior comprehends the change in muscle length, as a function
of the muscle pressure. This type of behavior is particular important in the
pressure range below 1.5 bar. Existing models do not consider the active
behavior explicitly; as a result, their predictive capacities below 1.5 bar is
poor.
The passive behavior describes the stiness and damping of the muscle.
In most cases, the stiness is derived using the ChouHannaford model,
[Chou, 1994]. No explicit relations are found on the damping of McKibben
muscles 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 robotic
arm), a barrel shaped muscle is a more likely description.
Existing McKibben muscle models do not explicitly make a distinction between
these 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 types
of behavior will be derived. The purpose of this model is to gain insight in the
working principles of a McKibben muscle. The new model must also describe the
behavior below 1.5 bar and take into account a dierent muscle shape. The pro-
posed model will be identied using dedicated experiments and will be subjected
to a thorough validation procedure.
Most references on control strategies for robots actuated by PAMs vary fromfuzzy-
logic, gain scheduling, backstepping control, sliding mode control, learning control
to feedforward control. These control strategies are rather exotic, compared to
linear feedback control. In order to apply PAMs on a larger scale, a simple but
eective control strategy is required. In [Pack, 1994; Schrder, 2003], it is proven
that a linear control strategy is possible, although their performance is low.
No references are found on a control strategy for robots with PAMs 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 not
be guaranteed in a non-local sense. Also the required experimental modelling in
the frequency domain might be problematic due to nonlinear behavior. How, we
conjecture that a loop-shaping approach toward designing high-performance con-
trollers for robots with PAMs is very well possible.
The contribution of this thesis is threefold. Firstly, a model is proposed which gives
a better understanding of the observed McKibben muscle behavior. Secondly, it is
proven that good closed-loop performance is possible by using linear controllers;
and thirdly, a decoupling is proposed which maximizes the application range of the
McKibben muscles.
13
14
3
Physical modelling
In this chapter, the modelling of the robotic arm is discussed. The robotic arm
model is divided into four parts: the input conversion, the pneumatic system with
the valves, the McKibben muscles and the robot dynamics. The purpose of the
model is twofold: rstly, understanding the behavior of the McKibben muscles and
of 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 are
elaborated on. This chapter is ended by a discussion.
3.1 Robotic arm model
To gain insight in the robotic arm behavior, it is sucient to consider the DoF
robotic arm (with joint 1 xed). For control purposes, a model describing the 2DoF
robotic arm is required. In this chapter, a model describing the behavior of the
DoF 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 model
parts are indicated by the circles. The arrows refer to the physical input and output
quantities of the respective model parts. The physical quantities are given by four
input signals:
u =
_
u
A
u
B
u
C
u
D

T
, (3.1)
input
conversion
pneumatics
and valves
robot
dynamics
muscle A
model
B
C
D

u v
p
q
F
h
Figure 3.1: Structure of the robotic arm model. The model consists of four parts. As
there are four muscles present in the 2DoF robotic arm, the part describing the muscle
behavior is embedded four times; in case of the DoF robotic arm model, the muscle model
is implemented two times.
four binary valve-in signals and four binary valve-out signals:
v =
_
v
in,A
v
in,B
v
in,C
v
in,D
v
out,A
v
out,B
v
out,C
v
out,D
_
T
, (3.2)
four ows in and four ows out of the muscles:
q =
_
q
s,A
q
s,B
q
s,C
q
s,D
q
out,A
q
out,B
q
out,C
q
out,D
_
T
, (3.3)
four pressures in the four muscles:
p =
_
p
A
p
B
p
C
p
D

T
, (3.4)
four muscles forces:
F =
_
F
A
F
B
F
C
F
D

T
, (3.5)
four muscle lengths:
h =
_
h
A
h
B
h
C
h
D

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 outputs
are given by the two angles in and the four pressures p in the muscles. The state
of the robotic arm model is completely described by nine states:
x = [ x
1
x
2
x
3
x
4
x
5
x
6
x
7
x
8
x
9
]
T
= [ p
c
p
A
p
B

2

2
p
C
p
D

1

1
]
T
,
(3.8)
with

1
and

2
the angular velocities; the pressure in the capacity x
1
= p
c
is dened
in the pneumatic model part.
If revolute joint 1 of the robotic arm is rigidly xed, only revolute joint 2 remains;
this yields the DoF robotic arm. In the DoF robotic arm, only muscles A and B
and joint 2 have a function. When considering Figure 3.1, this means all quantities
indexed by C and D and angle
1
become redundant; i.e. the states of the DoF
robotic arm are given by:
x = [ x
1
x
2
x
3
x
4
x
5
]
T
= [ p
c
p
A
p
B

2

2
]
T
.
(3.9)
The dynamic model of the DoF robotic arm model is given by the following rst-
order dierential equation:
x =
_

_
R
s
T V
1
c
_
q
in
q
s
(u)
_
_
R
s
T
_
q
s,A
(u) q
out,A
(u)
_
x
2

h
A
_
V
h
+
V
d
2
d
2
h
_
A
_
V
1
A
_
R
s
T
_
q
s,B
(u) q
out,B
(u)
_
x
3

h
B
_
V
h
+
V
d
2
d
2
h
_
B
_
V
1
B
x
5
_
Q
A
+ Q
B
+ m
2
g l
12
sin(x
4
)
_ _
J
zz2
+ m
2
l
2
12
_
1
_

_
. (3.10)
16
Physical modelling
In the rst relation of (3.10), V
c
, T and R
s
dene the volume of the capacity, the
absolute temperature and the specic gas constant of air respectively. In (3.10), we
indicate the dependency of the variables on the input u. Let us now also explicate
their dependencies on the states.
The two ows are dened by q
in
= q
in
(x
1
) and q
s
= q
s
(x
1
, x
2
, x
3
, u) respectively.
The ows in the second relation are given by q
s,A
= q
s,A
(x
1
, x
2
, x
3
, u
A
, u
B
) and
q
out,A
= q
out,A
(x
2
, u
A
) and the ows in the third relation are given by
q
s,B
= q
s,B
(x
1
, x
2
, x
3
, u
A
, u
B
) and q
out,B
= q
out,B
(x
3
, u
B
). All ow relations are
dened by the pneumatic model as derived in Section 3.3.
In the second and third relation, d
2
= d
2
(x
4
) represent diameter of the subsequent
muscle and V
A
= V
A
(x
4
) and V
B
= V
B
(x
4
) indicate the muscle volumes. These
relations are dened in the muscle model as derived in Section 3.4. The lengths of
muscles A and B are given by respectively h
A
= h
A
(x
4
) and h
B
= h
B
(x
4
) and these
are dened by the kinematics of the robotic arm as derived in Section 3.5.
In the fth relation, Q
A
= Q
A
(x
2
, x
4
) and Q
B
= Q
B
(x
3
, x
4
) represent the gener-
alized muscle forces depending on the pressure and the length of the subsequent
muscle, these are derived in Section 3.5. The mass of body 2 is given by m
2
and
J
zz2
indicates the inertia of body 2 with respect to its center of mass; l
12
is the dis-
tance of the center of mass of body 2 with respect to joint 2 .
The rst part of the robotic arm model (Figure 3.1), is the input conversion which
converts the input signals u into binary signals v. The binary valves as applied in
the robotic arm have two possible states, i.e. open or closed. As a result, the valves
behave highly nonlinear. By applying a pulse width modulation (PWM) algorithm
to 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 one
muscle i A B C D . In this gure, also the interactions with the pneumatics
and the robot dynamics are indicated. The relation dening the pressure p
i
is con-
sidered to be part of the muscle model. From the muscle pressure p
i
, the stiness
k
i
, damping d
i
and nominal length h
0,i
are derived.
The muscle pressures p are also an input to the pneumatic model; together with
the valve signals v. The pneumatic model is the second part of the robotic arm
model; it considers the ows q towards and out of the muscles and the pressure in
the capacity p
c
. The pressure model is discussed in Section 3.3.
The third part of the robotic arm model, considers the muscle model as presented
in Figure 3.2. The internal variables of muscle i A B C D , are given by the
volume V
i
, the nominal length h
0,i
and stiness k
i
and damping d
i
of the muscle.
In the volumetric behavior, the muscles volume is dened; the passive behavior
denes the muscles stiness and damping. The active behavior gives the nominal
length of the muscle. The nominal length is the length the muscle takes for a given
pressure, if no force is applied to the muscle. Remark that the nominal length in
general does not equal the actual muscle length h
i
.
The state of a muscle is dened by its pressure p
i
and actual length h
i
. The mus-
cles pressure dynamics is given in the second and third relation of (3.10), using the
ow q
i
and the muscles volume V
i
; in Figure 3.2, this is indicated by the pressure
response. The actual muscle length h
i
is not dened by the muscle model, but is
enforced on the muscle by the dynamics of the robotic arm. The muscle model is
derived in Section 3.4.
17
m
u
s
c
l
e
m
o
d
e
l
pneumatics
and valves
pressure
response
active
behavior
passive
behavior
robot
dynamics
volumetric
behavior
force
response
robot
kinematics
k
i
d
i
q
i
p
i
p
i
p
i
h
0,i F
i
h
i
h
i
h
i
V
i

Figure 3.2: The structure of the muscle model and its interaction with the pneumatics and
the robot dynamics, see also Figure 3.1. For clarity, the conversion from the joint angles to
the muscle lengths using the robot kinematics is indicated; remark that the robot kinematics
are also incorporated in the robot dynamics.
The fourth part of the robotic arm model, considers the dynamics of the robotic
arm; these are dened by the equations of motion (EOM). The inputs to the EOM
are the muscle forces F, which are dened in the force response of the muscle
model, as indicated in Figure 3.2. The outputs of the EOM are the revolute joint
angles . Using the kinematic relations, the actual muscle lengths h are derived
from these angles. The EOM of the robotic arm are given in the fourth and fth
relation of (3.10); these are derived in Section 3.5.
The robotic arm is presented in this section. The individual parts as indicated in
Figures 3.1 and 3.2 are derived in Sections 3.2 to 3.5. This chapter is completed by
a brief discussion on the model setup and on the adopted numerical method for
simulation 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 Appendix
A.2, it is shown that the response time of the valves is less then 3 ms. This is very
quick compared to other time constants in the robotic arm. For this reason the
dynamic behavior of the valves is not taken into account, i.e. the change in valve
ow resistance due to a change in valve state is considered to be instantaneous.
18
Physical modelling
The eight binary valves are used to control the four muscle ows. Each valve has
two states, either open (v = 1) or closed (v = 0). The pair of valves controlling the
ow to one muscle, have only three dierent states: ow in, ow out and no ow.
The state of the valves is determined by the valve control signal v(t), see (2.1). The
state of the four valve pairs is determined by the ow control signal:
u(t) =
_
u
A
(t) u
B
(t) u
C
(t) u
D
(t)

T
. (3.11)
The ow control signals are continuous and can be positive and negative (u R
4
).
A positive value means ow into the muscle while a negative value means ow out
of the muscle.
The discrepancy between the continuous signal u(t) and the binary signal v(t) is
xed by applying a pulse width modulation (PWM) algorithm. PWM yields the
binary valves to approximate linear continuous behavior (like servo valves) while in
reality the binary valves behave highly nonlinear. The PWM algorithm makes use
of the fast switching time of the binary valves. Besides, the PWM algorithm is used
to convert a single ow signal u
i
into two valve signals v
in,i
and v
out,i
:
u
i
PWM

_
v
in,i
v
out,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 dening a PWM frequency f
PWM
. Every PWM sample, a pulse is
generated of which the duration depends on the sampled value of u(t).
First, the sampling time t
k
and the threshold v
th
(a saturated
1
sawtooth function)
are dened:
k(t) = t f
PWM
(3.13a)
t
k
(t) =
k(t)
f
PWM
(3.13b)
u
th
(t) = t f
PWM
k(t) (3.13c)
v
th
(t) = sat
{,1}
(u
th
(t)) . (3.13d)
The saturation , as introduced in (3.13d), functions as a dead-zone which takes the
limited valve switching time into account. It is of no use to open the valve for a
time smaller then its switching time, as this will not result in a ow. Besides, this
saturation prevents nervous behavior in an equilibrium point of the controlled
robotic arm.
Next, the sampled time t
k
is used to apply a zero-order-hold to u(t). By applying
two dierent saturation functions, u(t
k
(t)) is divided into a ow in and a ow out
signal:
u
k,in
(t) = sat
{0,1}
(u(t
k
(t))) (3.14a)
u
k,out
(t) = sat
{1,0}
(u(t
k
(t))) . (3.14b)
1
The saturation function y = sat
{a,b}
(x) is dened 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, then
y = a. The implementation of sat
{a,b}
(x) and some examples are given in Appendix C.2.
19
0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4
0
0.5
1
t [s]
v
i
n
,
i
(
t
)
v
th
(t)
u
i
(t)
u
i
(t
k
)

Figure 3.3: Example of the PWM algorithm with f


PWM
= 20 Hz and = 0.05 s.
The valve signals v are derived by comparing both sampled signals u
k,in
(t) and
u
k,out
(t) to the threshold v
th
(t):
v
in
(t) = u
k,in
(t) > v
th
(t) (3.15a)
v
out
(t) = u
k,out
(t) < v
th
(t) (3.15b)
v(t) =
_
v
in
(t) v
out
(t)

. (3.15c)
In Figure 3.3, an example of the PWM algorithm is given. In the upper part of the
gure, the threshold v
th
(t) and the original and the sampled ow control signal
u
i
(t) respectively u
i
(t
k
), are explained graphically. Also the dead-zone introduced
by the switching time saturation is indicated. In the lower part, the resulting
binary valve control signal v
in,i
is shown. It can be seen that if u
i
(t
k
) > v
th
(t),
this yields v
in,i
(t) = 1. The values used in this example are ctitious. The com-
plete derivation and implementation of the PWMalgorithmis given in Appendix C.
Two errors are introduced by the PWM. Firstly, the input signal u(t) is sampled by
a zero-order-hold at times t
k
. This error is linear with f
PWM
. Secondly, the sampled
input signal is saturated by a value . Both errors are corrected for in the control
loop.
Also the ow signal u(t) is saturated between 1 and 1, however this is not an
error introduced by the PWM algorithm. Values of u(t) smaller than 1 or larger
than 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 occurs
if the valve signals are oversteering.
20
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 certain
choices made in the modelling process, the pneumatics of the DoF robotic arm is
treated rst. Next, this model is extended to the 2DoF robotic arm.
No temperature dependency is taken into account in the model, the temperature is
considered to be constant and at 20

C = 293K. The pressure system is modelled
as a series of rst-order systems. No mass eects of the gas ow (like shockwaves)
are taken into account as these process are too quick to play an important role in
the behavior of the robotic arm.
The complete pneumatic model is based on relative pressures; as a reference the
atmospheric pressure p
atm
is taken. This is a rather common approach as most
pressure sensors measure relative pressures only. This choice does not aect the
model as only pressure dierences are important.
The gas medium used in the robotic arm is pressurized air; which is considered to
be an ideal gas. The equation of state describing an ideal gas is known as Boyle-Gay
Lussacs law:
p V = R
s
T m , (3.16)
with p the pressure, V the volume, R
s
the specic 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 p
abs
. This is shown by rewriting (3.16) into:
=
m
V
=
p
abs
R
s
T
. (3.17)
3.3.1 Pressure and ow relations
In Figure 3.4, a graphical interpretation of the DoF pneumatic model is given,
the model lay-out diers from the actual layout, which is given in Figure 2.2. Four
pressures and six ows can be distinguished. The out valves are placed on the other
side of the muscle, this is done to simplify the implementation of the valves in the
model.
Another dierence 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 as
small volumes gives numerical problems in the resulting model. The same holds
for the splitter; it can not be modeled as a small volume with multiple ows to it.
This is solved by combining the valve signals v
in,i
and the splitter into one relation
dening the splitter pressure p
s
. The latter is elaborated on in Section 3.3.2.
Pressures
In Figure 3.5, a volume with an in-going ow q
in
and out-going ow q
out
is de-
picted. The pressure is related to the ow by the time derivative of (3.16):
p
dV
dt
+ V
dp
dt
= R
s
T
dm
dt
. (3.18)
21
p
in
q
in
q
s
splitter
q
s,A
q
s,B
p
c
, V
c
p
A
, V
A
p
B
, V
B
v
out,A
v
out,B
q
out,A
q
out,B
p
s
v
in,A
v
in,B
Figure 3.4: Schematic interpretation of the pneumatic model for the 1DoF model. The
ow directions are indicated by the arrows. The black solid lines represent hoses and the
dotted lines represent binary signals. The following parts can be distinguished: two muscle
systems given in yellow and red, the external inputs given in blue, the splitter is orange and
the capacity is grey.
p , V
q
in
q
out
Figure 3.5: Pressure model.
q
p
1
p
2
Figure 3.6: Flow model.
l
h
2r
h
q
v
Figure 3.7: Laminar Poiseuille ow.
2r
t
q
Figure 3.8: Throttle valve ow.
air supply capacity hose 1 valve hose 2 muscle
q
in
p
in
q
1
q
2
p
c
p
m
p
1
p
2
Figure 3.9: Schematic representation of the pneumatic test setup.
22
Physical modelling
The variation of mass in the volume depends on the air owing in and out:
dm
dt
= q
in
q
out
. (3.19)
Substituting (3.19) in (3.18) and rearranging terms gives a rst-order dierential
equation for the pressure:
p =
_
R
s
T(q
in
q
out
) 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 V
c
= 10 l; this means the
dV
dt
termin relation
(3.20) is equal to zero. In Figure 3.4, the ows towards the capacity are indicated.
The pressure in the capacity is now given by:
p
c
= R
s
T V
1
c
_
q
in
q
s
_
. (3.21)
The pressure in the splitter p
s
is dened in a dierent manner as will be explained
in Section 3.3.2 and the pressures in the muscles are part of the muscle model.
Flows
The ow through a hose depends on the pressure dierence between the two sides
of the hose, as shown in Figure 3.6. Two possible relations are considered in mod-
elling the ow; namely, a laminar Poiseuille ow (Figure 3.7) and the ow through
a throttle valve (Figure 3.8).
In order to determine the type of ow present in the robotic arm, a pneumatic test
setup has been built. The pneumatic test setup is schematically depicted in Figure
3.9. It is used to determine the types of ow through the hoses. Modelling the
pneumatic test setup and comparing the simulations with the measurements has
shown that each ow through a hose can be modelled by the ow through a throttle
valve. This is discussed in more detain in Appendix D.
The ow through a throttle valve according to [Polytech, 1997] is given by:
q = sign (p
1
p
2
)
_
[p
1
p
2
[ . (3.22)
The throttle parameter depends only on the throttle radius r
t
as indicated in
Figure 3.8:
= 0.59

2 r
2
t
. (3.23)
The density of the air depends on the absolute pressure in the hose as dened by
(3.17). As the pressure in the hose is not exactly known, it is estimated by the mean
of the two pressures at each side of the hose:
=
p
1
+ p
2
+ 2 p
atm
2R
s
T
. (3.24)
When considering the robotic arm, the ows being dened by throttle valves can
be understood. For ow q
in
the throttle parameter
in
is dened by the reduction
valve. For q
s
and q
out
the throttle parameters
s
and
out
are dened by the binary
valves. The ows q
s,A
and q
s,B
are dened in Section 3.3.2.
23
It should be remarked that the ows do not depend on the length of the hoses as
is the case in a Poiseuille ow. In the current system setup, the ow behavior is
dominated by the diameter of the valves only. In case the hoses would become very
large, the Poiseuille ow behavior would become dominant.
Using Figure 3.4 and (3.22), the ows can be dened by:
q
in
=
in
sign (p
in
p
c
)
_
[p
in
p
c
[ (3.25)
q
s
=
s
sign (p
in
p
c
)
_
[p
c
p
s
[ . (3.26)
The ows out of the muscles depend on one pressure only: the muscle pressure.
Additionally, the ow out of the muscle depends on the status of the out valves.
This is taken into account by:
q
out,A
= v
out,A

out

p
A
(3.27)
q
out,B
= v
out,B

out

p
B
. (3.28)
3.3.2 Splitter
In the DoF robotic arm, the hose leaving the capacity is split into two hoses, one
to each muscle, see Figure 3.4. As a result, the ow to each muscle depends largely
on the ows towards the other muscle. The most logical way to model this behavior
would be to assume one ow to enter and four ows to leave a small volume. The
splitting of the ow 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 sti dier-
ential equations resulting in numerical problems. Instead of using small volumes
(modelled by rst-order dynamics), it is decided to combine the binary valves and
the splitter into a zeroth-order (algebraic) relation. This means that the pressure in
the 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 pressure
in the capacity. When one of the two valves is opened, the pressure in the splitter
is equal the pressure in the opened muscle. If both valves are opened, the pressure
in the splitter is equal to the lowest of the muscle pressures (as q
s
is determined by
the largest pressure dierence). This behavior is shown in Table 3.1; it can be tted
into a mathematical relation by using v
in,A
and v
in,B
, which are dened in (3.15):
p
s
=
_
1 v
in,A
v
in,A

_
p
c
p
B
p
A
min(p
A
, p
B
)
_ _
1 v
in,B
v
in,B
_
. (3.29)
To determine the ow q
s,i
towards each muscle, a proportionality factor which ful-
lls conservation of mass is required:
q
s
=

i
q
s,i
. (3.30)
24
Physical modelling
p
s
v
in,A
0 1
v
i
n
,
B
0 p
c
p
A
1 p
B
min(p
A
, p
B
)
Table 3.1: The pressure p
s
in the splitter
depends on the air-in signals.
q
s,A
q
s
v
in,A
0 1
v
i
n
,
B
0 0 1
1 0
(p
c
p
A
)
(p
c
p
A
)+(p
c
p
B
)
Table 3.2: The ow from the splitter to
muscle A depends on the air-in signals.
The proportionality is explained for q
s,A
using Table 3.2. In case of v
in,A
= 0, no
ow towards muscle A is possible. In case v
in,A
= 1 while v
in,B
= 0, the ow q
s
is
determined by the pressure in muscle A according to (3.29) and the ow towards
muscle A is given by q
s,A
= q
s
.
In case of v
in,A
= v
in,B
= 1, the muscle with the lowest pressure determines q
s
according to (3.26) and (3.29). The ow q
s
is divided into q
s,A
and q
s,B
proportional
to the pressures p
A
and p
B
. The complete relation dening the owtowards muscle
A is then given by:
q
s,A
=
v
in,A
(p
c
p
A
)
(p
c
p
A
) + v
in,B
(p
c
p
B
)
q
s
. (3.31)
To prevent numerical problems, in the denominator only (p
c
p
B
) is multiplied by
v
in,A
. Consequently, in case v
in,A
= v
in,B
= 0 the denominator will not equal zero.
It is assumed that p
A
will never be equal to p
c
which is a reasonable assumption as
p
c
increases when both valves are closed.
The same reasoning as above applies for muscle B ; i.e. the owq
s,B
towards muscle
B is given by:
q
s,B
=
v
in,B
(p
c
p
B
)
v
in,A
(p
c
p
A
) + (p
c
p
B
)
q
s
. (3.32)
par value par value par value
r
t,in
0.40 mm
in
4.194 10
7
m
2
R
s
287 J kg
1
K
1
r
t,s
0.52 mm
s
7.088 10
7
m
2
T 293 K
r
t,out
0.72 mm
out
1.359 10
6
m
2
V
c
0.01 m
3
Table 3.3: The parameters used in the pneumatic model.
25
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:
p
c
= R
s
T V
1
c
_
q
in
q
s
_
(3.33a)
p
s
=
_
1 v
in,A
v
in,A

_
p
c
p
B
p
A
min(p
A
, p
B
)
_ _
1 v
in,B
v
in,B
_
(3.33b)
q
in
=
in
sign (p
in
p
c
)
_
[p
in
p
c
[ (3.33c)
q
s
=
s
sign (p
c
p
s
)
_
[p
c
p
s
[ (3.33d)
q
s,A
=
v
in,A
(p
c
p
A
)q
s
(p
c
p
A
) + v
in,B
(p
c
p
B
)
(3.33e)
q
s,B
=
v
in,B
(p
c
p
B
)q
s
v
in,A
(p
c
p
A
) + (p
c
p
B
)
(3.33f)
q
out,A
= v
out,A

out

p
A
(3.33g)
q
out,B
= v
out,B

out

p
B
(3.33h)
=
p
1
+ p
2
+ 2p
atm
2R
s
T
. (3.33i)
It might appear that the pressures p
A
and p
B
are forgotten in the above relations.
However, as these are part of the muscle model, they are stated in the muscle model
in Section 3.4.7. The parameters used in the pneumatic model are dened in Table
3.3.
In Appendix D.5, a pneumatic model is proposed for the 2DoF robotic arm. This
model is similar to the model as given in (3.33), where two adjustments are re-
quired:
the splitter is dened in two steps to take the four muscles into account and
this requires the ows towards the muscles q
s,i
to be dened in a slightly
dierent fashion.
Remarks
In case v
in,A
= v
in,B
= 1, it is possible that air ows from the muscle with the
highest pressure to the muscle with the lowest pressure. This behavior is taken
into account in (3.31) and (3.32), however problems may occur if the pressure in
one or both muscles becomes higher than the pressure in the capacity. An increase
in muscle pressure is possible while all valves are closed, due to a changed in length
of the muscle as will be explained in Section 3.4.2.
The relation in (3.29) yields the wrong result for p
s
in one very specic case: if
v
in,A
= v
in,B
= 1 and one or both muscle pressures are higher than the pressure
in the capacity. This is caused by the min(p
A
, p
B
) term in (3.29), it assumes p
c
26
Physical modelling
always to be the largest pressure. Better would be an alternative algorithm for the
case v
in,A
= v
in,B
= 1:
p
s
= p
A
[p
c
p
A
[ > [p
c
p
B
[
p
s
= p
B
[p
c
p
A
[ < [p
c
p
B
[ .
(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 very
specic case hardly occurs.
3.4 McKibben muscles
The muscle model is proposed in Section 3.1, the setup of the model is visualized
in Figure 3.2. The physical meaning of the inputs and outputs of each muscle
model part, is indicated by the arrows; also the interaction with the pneumatics
and the robot dynamics are given. The internal variables in the muscle model are
the nominal length h
0,i
, the muscle volume V
i
, the stiness k
i
and the damping
d
i
; the state of a muscle is given by the muscle pressure p
i
and the actual muscle
length h
i
, 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 to
link the muscle diameter to the muscle length; next the ve aspects of the muscle
model, 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 innitely sti compared to the rubber tube. In Appendix B.4, it is shown
that the nylon braid completely determines the shape of a muscle; the only func-
tion of the rubber tube is to keep the air from owing out of the muscle. Therefore,
only the braids kinematics are taken into account in the muscle model.
Three muscle parameters are dened: half the nylon braid length L, the number of
windings of a thread n and the diameter of the tting d
1
. Due to the symmetrical
weaving, a muscle does not unwind when stretching, i.e. n is constant. Two muscle
variables are introduced: the actual muscle length h and the diameter in the middle
of the muscle d
2
. The muscle kinematics is based on three thought experiments,
visualized in Figures 3.10a to 3.10c and discussed below.
For axial stretching, the stretchforce relation is independent of the shape
of the braid. Whether the braid is barrel shaped, cylindric or (cut open and)
unfolded, the stretchforce relation remains the same. In Figure 3.10b, the
cut 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 and
c. The second step is to note that length c is equal to c = nd
2
. This may
seem odd, as the circumference of the muscle equals d
2
. However, the
threads in the unfolded braid are completely stretched. As each thread makes
n rotations, length c equals nd
2
.
27
(a) (b) (c) (d)
k
r
k
b
k
g
h h
d
1
L
d
2

c c = nd
2
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 d
1
= 25 mm.
The threads of the braid makes up a framework of parallelograms. Since
the number of parallelograms in the braid is constant, the braids behavior
is uniform with the behavior of one single parallelogram, this is shown in
Figure 3.10c.
The muscles 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 length
L. The kinematic relations of this bar mechanism are given by:
c =
_
4L
2
h
2
(3.35)
d
2
=
c
n
=
1
n
_
4L
2
h
2
(3.36)
h =
_
4L
2
(nd
2
)
2
. (3.37)
A muscle is completely stretched if its shape is cylindrical, i.e. if d
2
= d
1
as also
shown in Figure 2.5. As a result, the maximum muscle length h
max
is dened by
the diameter d
1
. This yields h
max
235 mm, which is in accordance with the
muscles 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 unloaded
case.
3.4.2 Muscle volume
In Section 2.5, it is stated that the volume of a Shadow McKibben muscle is best
described by a barrel-shaped volume. Two barrel formulations are considered, an
elliptical and a parabolic shape [Weisstein, 2006]; the elliptical shape is considered
to describe the muscle shape best.
In Figure 3.11, the three parameters describing an elliptical barrel are given. Param-
eter d
1
is the tting diameter, the variable muscle length h equals the barrel length
and the barrel diameter is equal to d
2
. Parameter d
2
is a function of the muscle
28
Physical modelling
h
d
1
d
2
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) , d
2
(h(t))) (3.38)
V =
h
60
_
3 d
2
1
+ 4 d
1
d
2
(h) + 8 d
2
2
(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) dene the volumetric behavior block in the muscle model
of Figure 3.2.
3.4.3 Pressure in the muscle
The pressure in a muscle depends, among other things, on its volume. In Section
3.3, it is shown that the pressure in the muscle satises the following dierential
equation:
p
i
=
_
R
s
T
_
q
s,i
q
out,i
_
p
i
dV
i
dt
_
V
1
i
for i A B C D . (3.40)
Considering the dependency of the barrels volume in (3.38), the pressure in a mus-
cle as dened by (3.40) is rewritten into:
p
i
=
_
R
s
T(q
s,i
q
out,i
) p
i
_
V
h
+
V
d
2
d
2
h
_
i
dh
i
dt
_
V
1
i
, (3.41)
for i A B C D , with
V
h
=

60
_
3 d
2
1
+ 4 d
1
d
2
+ 8 d
2
2
_
(3.42)
V
d
2
=
h
15
_
d
1
+ 4 d
2
_
(3.43)
d
2
h
=
h
n

4L
2
h
2
. (3.44)
The inputs to (3.41) are the ows q
s,i
and q
out,i
dened in Section 3.3 and the mus-
cle volume as dened by the volumetric behavior. Relation (3.41) denes the pres-
sure response block in the muscle model in Figure 3.2.
29
3.4.4 Nominal muscle length
The active behavior of the muscle model denes a relation for the nominal length
of the muscle as a function of the pressure p. In Figure 3.2, this is indicated by
the active behavior block. To construct such a model, a fourth thought experiment
is performed. The nominal length is considered to represent an equilibrium in
the face of three forces working in the muscle. These forces are indicated by three
springs in Figure 3.10d:
The air in the muscle acts like a gas spring. The gas spring stiness k
g
depends on the pressure, an increase in pressure yields an increase in k
g
(p).
As the air pushes from the inside on the rubber tube and braid, it tends to
elongate the muscle.
The nylon threads keep the tube from expanding; as a result it opposes elon-
gation of the muscle. Inating the muscle sharpens the curvature of the
muscle (at the endings yielding the orientation of the nylon threads to change
what is opposed by the braid; i.e. the braid stiness k
b
(p) increases with the
muscle pressure.
The material behavior of the rubber tube is viscoelastic; for the sake of sim-
plicity elastic behavior with stiness k
r
is assumed, which is considered to
be independent of the pressure. The rubber tube opposes elongation.
To model the nominal muscle behavior, it is assumed that the braid and the rubber
tube always touch. This assumption enables for the following boundary condition.
In case the muscle pressure p = 0 bar, the nominal diameter d
20
= 0 mm, yielding
a nominal muscle length h
0
equal to the braid length 2L; i.e. h
0
(p = 0) = 2L.
A relation determining the nominal length equilibrium is proposed, which fulls
the boundary condition and the three phenomena as described above:
h
0

= 2L
k
g
(p)
k
r
+ k
b
(p)
. (3.45)
Extensive research to expressions for k
g
(p), k
b
(p) and k
r
has unfortunately not
resulted in a balanced analytical solution for (3.45). It is decided to adopt (3.45)
and assuming k
g
(p) and k
b
(p) to be linear with the muscle pressure and k
r
to be
constant. The resulting relation is normalized to two parameters: s
1
[m] and s
2
[Pa]. The nominal length for muscle i A B C D is now dened by:
h
0,i
= 2L
s
1
p
i
s
2
+ p
i
. (3.46)
The nominal behavior is experimentally identied by measuring the length and
diameter of ve dierent unloaded muscles. Each muscle is mounted on one side
and unconstrained on the other side; the length and the diameter are measured for
pressures between 0.0 and 1.0 bar. In Figure 3.12, the results of this experiment
are given in three plots h
0
(p), d
20
(p) and d
20
(h
0
).
Based on heuristics, parameters s
1
and s
2
of (3.46) are tted using the experiment
shown in the left part of Figure 3.12; this yields s
1
= 0.117 m and s
2
= 0.232
bar. The model is also plotted in Figure 3.12. The model-based nominal diameter
d
20
is derived by substituting (3.46) into (3.36). Despite the variations between the
several muscles and the model assumptions, the nominal muscle length gives an
accurate t on the experiments. Using the braid kinematics also gives an accurate
t for the nominal diameter.
30
Physical modelling
0 0.2 0.4 0.6 0.8 1 1.2
140
150
160
170
180
190
200
210
0 0.2 0.4 0.6 0.8 1 1.2
38
40
42
44
46
48
50
52
150 160 170 180 190 200 210
38
40
42
44
46
48
50
52
muscle 1
muscle 2
muscle 3
muscle 4
muscle 5
model
p [bar] p [bar] h
0
[mm]
h
0
[
m
m
]
d
2
0
[
m
m
]
d
2
0
[
m
m
]
Figure 3.12: Experimental result for the nominal length h
0
and nominal diameter d
20
as
a function of the pressure p, using ve muscles. These measurements are compared to the
modelled nominal length as given in (3.46), with s
1
= 0.117 m and s
2
= 0.232 bar. The
model based nominal diameter d
20
= d
2
(h
0
) is derived using (3.36) with n = 1.25 and
L = 0.1274 m. The measurements in the left gure show that the rubber tube touches the
braid at approximate 0.3 bar. Also some hysteresis in h
0
can be seen; each measurement
has 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 tube
always touch, is only true for p > 0.3 bar. As a result, the muscle model is only
dened for muscle pressures which exceed 0.3 bar. It is noted that no clear physical
interpretation can be given to s
1
and s
2
. Relation (3.46) denes the active behavior
block 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 F
i
, 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:
F
i
= k(p
i
, h
i
)
_
h
i
(t) h
0
(p
i
)
_
+ d(p
i
)

h
i
(t) , (3.47)
with k(p
i
, h
i
) the stiness and d(p
i
) the damping.
The stiness part of the muscle force is given by k(p
i
, h
i
) and the elongation term
h
i
(t)h
0
(p
i
). The elongation is dened by the dierence between the actual length
and 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(p
i
) and the time derivative of
the muscle length by

h
i
(t). The nominal length or its time derivative plays no direct
role in the damping force as only the actual motion determines the damping. This
is easily understood; imagine a sudden change in pressure. This causes a change
in nominal length and stiness, resulting in a muscle force. The force results
in a motion of the load and a change in muscle length, this motion is subject to
dissipation. Relation (3.47) denes the force response block in the muscle model.
31
3.4.6 Muscle stiffness and damping
The stiness k is a function of the pressure p
i
and the actual muscle length h
i
. In
Appendix E.3, a model describing the stiness of a Shadow McKibben muscle is
derived as:
k(p
i
, h
i
) =
_
+ p
i
_ _

0
+
1
h
i
+
2
h
2
i
_
. (3.48)
The muscle stiness behavior is dened by the pressure and the square of the
actual muscle length. To compensate for the fact that the stiness is only dened
for p > 0.3 bar, a bias on the pressure is introduced.
In Appendices E.1 and E.2, the two stiness models as dened in [Chou, 1996]
and [Petrovi c, 2002a] are given. These two models are used in the derivation of
(3.48). Two reason are given to redene the muscle stiness model:
The new model takes the muscle volume into account by the barrel descrip-
tion and the braid kinematics; existing models assume a cylindrical volume
with xed 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 determined
by the damping in the rubber tube and by the friction in the nylon braid. The latter
increases as the pressure increases. For this reason, a static damping is assumed
with an additional pressure-dependent damping. This is given by:
d(p
i
) =
0
+
1
p
i
. (3.49)
The minor interest in the muscle damping is motivated by the dynamic muscle test
as discussed in Section 4.1 and by the work [Klute, 2002]. The order of magnitude
of the stiness and damping is:
O(k) = 10
4
O(d) = 10
1
.
(3.50)
The force generated by the muscle has a stiness and a damping part: F = F
k
+ F
d
.
The contribution ratio of the stiness and damping depends on the frequency
=

of the angle = sin(t) of the muscle elongation and is given by:
F
d
()
F
k
=
d cos(t)
k sin(t)

d
k
. (3.51)
Remind that in this simple analysis, a linear damping and stiness are assumed. In
order for the damping to play a signicant role, F
d
/F
k
> 0.1. Since k 1000 d the
damping is only signicant if > 20 Hz. As the bandwidth of the robotic arm is
not expected to exceed 10 Hz, the modelling of the damping is not given extensive
attention. Resuming, the contribution of the muscle damping to the behavior of
the robotic arm is minimal.
Still, some damping must be modeled to ensure energy dissipation in the robotic
arm model. The easiest way would be assuming a constant viscous damping of
the muscles; however, a pressure dependant viscous damping as given in (3.49) is
used. Relations (3.48) and (3.49) dene the passive behavior block in the muscle
model of Figure 3.2.
32
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 :
d
2,i
=
1
n
_
4L
2
h
2
i
(3.52a)
V
i
=
h
i
60
_
3 d
2
1
+ 4 d
1
d
2,i
+ 8 d
2,i
2
_
(3.52b)
p
i
=
_
R
s
T
_
q
s,i
q
out,i
_
p
i

h
i
_
V
h
+
V
d
2
d
2
h
_
i
_
V
1
i
(3.52c)
_
V
h
_
i
=

60
_
3 d
2
1
+ 4 d
1
d
2,i
+ 8 d
2,i
2
_
(3.52d)
_
V
d
2
_
i
=
h
i
15
_
d
1
+ 4 d
2,i
_
(3.52e)
_
d
2
h
_
i
=
h
i
n
_
4L
2
h
2
i
(3.52f)
h
0
(p
i
) = 2L
s
1
p
i
s
2
+ p
i
(3.52g)
k(p
i
, h
i
) =
_
+ p
i
_ _

0
+
1
h
i
+
2
h
2
i
_
(3.52h)
d(p
i
) =
0
+
1
p
i
(3.52i)
F
i
= k(p
i
, h
i
)
_
h
i
h
0
(p
i
)
_
+ d(p
i
)

h
i
. (3.52j)
The inputs to this model are the two ows q
s,i
and q
out,i
(resulting from the pneu-
matic model as derived in Section 3.3) and the actual muscle length h
i
(determined
by the robot dynamics which will be derived in Section 3.5). The outputs of the mus-
cle model are the pressure p
i
and the force F
i
. In Chapter 4, the passive muscle
parameters are identied using an experimental setup.
Remarks
In Figure 3.12, two phenomena that are not taken into account in the muscle model
can be seen. Firstly, the ve muscles used in the experiment showa large variability
in their nominal behavior, approximately 10 mm variation in their nominal length.
The variation between muscles is not modelled. By adjusting muscle specic values
for parameters like L and n, the variation might be covered.
Secondly, each muscle experiences hysteresis due to friction in the braid and due to
viscoelastic rubber behavior. The measurements in the left part of Figure 3.12 con-
tain two curves; the dierence between these two curves is caused by the hysteresis.
As the hysteresis gives a length variation of approximately 3 mm, it is concluded
that the variability between the muscles is dominant over the hysteresis. For this
reason, the position error due to hysteresis is not considered either. The energy
dissipation due to the hysteresis is considered as an additional viscous damping
and taken into account in damping parameter
0
.
33
3.5 Equations of motion of the robotic arm
In this section, the equations of motion of the robotic arm are derived, using a
multibody 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 h
0
as shown in
Figure 3.14. Each muscle is modelled by the force law in (3.47). In the multibody
model, the muscles are only considered by means of these forces.
In Appendix F, the complete multibody model is derived for both the DoF and
2DoF robotic arm. In this section, the setup of the multibody model is discussed
and the DoF multibody model is presented. In the derivation of the equations of
motion, the notation as dened in [van de Wouw, 2003] is adopted.
3.5.1 Robot kinematics
The dynamic multibody model describes the motion of the rigid bodies in space
and 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. the
model is in two dimensions. The kinematic relations are required to describe the
position of the rigid bodies with respect to each other.
In Figure 3.15 (see Figure F.1 for an enlarged version) the kinematic relations of
the robotic arm are given. The kinematics are dened in relative coordinates. This
means that the position of each mass is dened relative to the position of the mass
it is connected to. Three vector frames are introduced. The point O indicates the
origin of the xed frame e
0
. In the center of mass of body 1 (CM1), frame e
1
is
introduced 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 origin
O. At C01 and C11 = C12, two revolute joints are located, connecting body 1 to the
xed world and body 2 to body 1 respectively. The dimensions of the robotic arm
are given in Figure F.2 and Table F.1.
A
B
C D S
x
y
body 1
body 2
Figure 3.13: Simple robotic arm model.
k (p, h) d (p)
h
0
(p)
h
Figure 3.14: Muscle dynamics.
34
Physical modelling
CM1
CM2
O = C00
C01
C11 = C12
A
B
C
D S
e
0
1
e
0
2
e
1
1
e
1
2
e
2
1
e
2
2

1
c
0
r
CM1
r
CM2

b
12

b
01

b
11
Figure 3.15: Kinematic relations.
CM1
CM2
O = C00
C01
C11 = C12
F
A

F
A

F
B

F
B

F
C

F
C

F
D

F
D

F
S

F
S

b
1A

b
2A

b
1B

b
2B

b
0C

b
1C

b
0D

b
1D

b
0S

b
1S
_
2 _
3
_
4
_
5
_
6 _
Figure 3.16: Robotic arm forces.
35
3.5.2 Robot dynamics
All forces and their subsequent body-xed vectors are given in Figure 3.16 (see
Figure F.3 for an enlarged version). The spring S connected to body 1 is a purely
elastic element; the spring force

F
S
generated by the spring is a conservative force
and is as such implemented in the multibody model.
The muscle forces

F
i
, for i A B C D , describe the complete muscle behavior.
Using the principle of virtual work, the muscle forces

F
i
are implemented as gen-
eralized forces Q
i
into the Lagrange equations of motion [de Kraker, 2001].
The inertial properties of a rotating body in three dimensional are dened by an
inertia 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 inertial
properties of each body are given by one parameter. The inertia of both bodies are
estimated numerically by constructing a CAD model of the robotic arm (see Figure
1.4). The inertial properties of the body 1 and 2 with respect to respectively CM1
and 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 robotic
arm, such as the pressure sensors, the valves, the electric wiring and the hoses. The
inertia of the hoses and of the muscles are not taken into account. The inertia of the
wiring, sensors and valves mounted on body 1 are implemented in one single point
mass sv. It should be noted that the stiness due to the hoses is not considered.
The equations of motion for the 2DoF robotic arm are given in Appendix F.5. The
equation of motion for the DoF robotic arm is derived in Appendix F.6 and given
by:
_
m
2
l
2
12
+ J
zz2
_

2
m
2
g l
12
sin(
2
) =
F
A
|

f
A
|
(l
12
l
2A
)
_
_
l
11y
l
1A
_
sin(
2
) +
_
l
11x
l
AB
_
cos(
2
)
_
+ (3.53)
F
B
|

f
B
|
(l
12
l
2B
)
_
_
l
11y
+ l
1B
_
sin(
2
) +
_
l
11x
l
AB
_
cos(
2
)
_
.
The inputs to (3.53) are the muscle forces F
A
and F
B
as dened in (3.47); The forces
F
i
are in fact the magnitude of the force vector

F
i
. The direction of the force vector
is given by the vector

f
i

f
i

, with

f
i
the vector between the two mounting points
of muscle i. The gravitational constant is given by g. The numerical values of all
parameters as used in (3.53), are given in Table 3.4; the length parameters of the
2DoF multibody model are given in Table F.1 in Appendix F.
According to Figure 3.1, the actual muscle length h
i
is an output of the robot dy-
namics, which functions as an input to the muscle model. The actual length h
i
of
muscle i is related to the vector

f
i
by:
h
i
= |

f
i
| l
f
AB
for i
_
A B
_
h
i
= |

f
i
| l
f
CD
for i
_
C D
_
,
(3.54)
with l
f
AB
the length of the ttings of muscles A and B and l
f
CD
the length of the
ttings of muscles C and D ; the ttings are always in line with the muscle.
36
Physical modelling
par value par value par value
l
1A
76.0 mm l
11x
453.3 mm m
sv
0.80 kg
l
2A
142.0 mm l
11y
26.3 mm m
1
2.64 kg
l
1B
24.0 mm l
AB
123.3 mm m
2
0.533 kg
l
2B
210.0 mm l
f
AB
140.0 mm J
zz1
89.3 g m
2
l
12
176.0 mm g 9.81 m s
2
J
zz2
5.70 g m
2
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 four
sections, all relations making up the model are elaborated. It can be concluded that
the 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 adopted
numerical method for performing simulations with the model is discussed.
In the muscle model, the nominal behavior is dened using a force balance be-
tween three phenomena. The stiness of the McKibben muscle is dened by ap-
plying the principle of virtual work to the air pushing the rubber tube and the braid
and to the elongation of the muscle. Both types of behavior are related to each other
as they depend on the the same force balance in case the muscle is unloaded. The
relation between these two types of behavior has not become completely clear (as
discussed in Section 3.4.4); this requires for further research.
To prevent the pneumatic model (and the robotic arm model) to be described by a
set of sti dierential equations, the valves and the splitter are dened by analytical
relations. Changes in the valve state are considered to be instantaneous. This is
a reasonable assumption as the volumes of the splitter, valves and hoses are small
compared to the volume of the capacity and the muscles.
The adopted relations for the valves and splitter yield a complex interweaving of
the valve signals v into the pneumatic model. Disadvantage of the instantaneous
pressure change on a changes in valve state is that the model has discontinuous
state evolutions. The interweaving of v in the model can be reduced by modelling
one hose from the capacity to each muscle; this enables for the valves to be taken
into account by the ow control signals u. However, as this also leads to neglecting
the division of the ow in the splitter, it must be investigated whether this is a fair
assumption.
This brings us to the adopted numerical method for solving the robotic arm model.
A consequence of the complex interweaving of the binary valve signals v are the
discontinuous states. A standard solver, such as ODE45, does not handle these in-
stant changes very well. ODE45 decreases its integration time step if states change
rapidly. A dedicated solver for sti dierential equations, such as ODE23s, is no
solution either; these solvers still decrease their integration time step locally.
The only solution for solving the current model eective is to use a xed-step ODE
solver; these solvers handle the discrete valve signals eectively, yielding in a con-
siderable reduction in computation time. Disadvantage is that no relative and ab-
37
solute integration error can be dened. The numerical convergence is veried by
comparing 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 decided
to 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. Both make
use of an ODE3 solver with an integration time step of 1 ms.
38
4
Identication and model
validation
In this chapter, the identication of the McKibben muscles and of the robotic arm
is discussed, together with the validation of the robotic arm model. The validation
of the robotic arm model is threefold: the equilibria, frequency response functions
and time behavior of test setup are compared with the equilibria, linearization and
time-domain simulations of the model.
The setup of this chapter might seem a little odd. The identication of the mus-
cle model and the validation of the equilibria are discussed in Sections 4.1 and 4.2
respectively; the results of these two sections are closely related. Also the identi-
cation of the robotic arm and the validation of the FRFs are closely related as is
discussed in respectively Sections 4.3 and 4.4
The 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.6
gives a discussion on the model validation and the applicability of the model.
4.1 Muscle identication
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-
ned in respectively Tables 3.3 and 3.4. The parameters of the muscle model are
yet to be identied; this is the topic of this section. In Section 3.4.6, a model for the
stiness k and damping d of a McKibben muscle is proposed:
k(p, h) =
_
+ p
_ _

0
+
1
h +
2
h
2
_
. (4.1)
d(p) =
0
+
1
p . (4.2)
The stiness parameters ,
0
,
1
and
2
and the damping parameters
0
and
1
are
identied using dedicated experiments. For this purpose, ve McKibben muscles
are mounted into a MTS810 dynamic tensile test bench. Using dynamic testing
yields a better identication for the stiness 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 in
this way. Images of the dynamic test setup are shown in Figures 4.1 to 4.3.
Figure 4.1: The McKibben muscle with the ttings for the MTS tensile bench.The connec-
tion between the muscle and the tensile bench is rigidly xed, so no rotations of the muscle
are possible.
Figure 4.2: MTS810 tensile test
bench with McKibben muscle muscle
mounted.
force
sensors

`
`
pressure
sensor
`
` `
muscle

-
manual valve
`
position
actuator

Figure 4.3: Close-up of the McKibben


muscle with the pressure and force sen-
sors.
40
Identication and model validation
In the dynamic muscle tests, a length is enforced on the muscle. A low amplitude
vibration is applied by the testing bench and both the force and the muscle length
are measured. The approach for each experiment is given in two steps:
The McKibben muscle is rigidly xed in the MTS810. A given length is im-
posed on the muscle (see Figure 4.4) and the pressure in the muscle is set
to a level, subsequent to one of the equilibrium gridpoints. The valves are
closed in order to keep the air mass inside the muscle constant.
A noise position signal (f [0, 20] Hz) is superimposed on the reference
position. The realized position and the force response of the muscle are
measured. This is repeated ve times in each working point for every muscle.
These tests are performed in the working range with pressures from 0.5 to 1.4
bar and with lengths between 150 to 200 mm. Totally, 40 working points are used
for the measurements, the measurement grid is indicated by the green circles in
Figure 4.4. In this gure, also the measured nominal lengths of ve muscles are
shown (the same results as given in Figure 3.12). Muscle 4 is used as default testing
muscle, the other four muscles are only used in a few points (indicated by the red
dots 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 for
each measurement. Using a FRF t, the muscles stiness k
w
and damping d
w
are
identied in each grid point. This is elaborated on in Appendix G and the results
are given in Figure 4.5. The solid lines represent the stiness and damping for
muscle 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.5
140
150
160
170
180
190
200
210
220
p [bar]
h
[
m
m
]
h
0
muscle 1
h
0
muscle 2
h
0
muscle 3
h
0
muscle 4
h
0
muscle 5
gridpoint muscle 4
gridpoint muscle 1 2 3 5
Figure 4.4: The nominal length h
0
of ve muscles and the measuring grid for the muscle
identication.
41
0.4 0.6 0.8 1 1.2 1.4
2
4
6
8
10
12
14
16
150 160 170 180 190 200
2
4
6
8
10
12
14
16
150 160 170 180 190 200
10
14
18
22
26
30
34
0.4 0.6 0.8 1 1.2 1.4
10
14
18
22
26
30
34
h [mm] h [mm]
p [bar] p [bar]
k
w
[
k
N
m

1
]
k
w
[
k
N
m

1
]
d
w
[
N
s
m

1
]
d
w
[
N
s
m

1
]
0.5 bar
0.6 bar
0.7 bar
0.8 bar
0.9 bar
1.0 bar
1.2 bar
1.4 bar
150 mm
160 mm
170 mm
180 mm
190 mm
200 mm
muscle 1
muscle 2
muscle 3
muscle 5
Figure 4.5: The identied stiness k
w
and damping d
w
as function of the pressure p and
the length h of muscle 4. Remark that the colors used in the upper two gures indicate the
pressure while in the lower two gures the colors indicate the muscle length. The identied
stiness and damping of muscles 1, 2, 3 and 5 are indicated by a symbol for the eight
working points they have been tested in. The color of the symbols refer to the line colors. In
case of the stiness, it appears that the stiness of muscle 4 is in almost all cases below that
of the other muscles. The variation is up to 20%. This gure is similar to Figure G.4.
0.12
0.14
0.16
0.18
0.2
0.22
0.24
0.2
0.5
0.8
1.1
1.4
1.7
0
2
4
6
8
10
12
14
16
18
20
h [m]
p [bar]
k
[
k
N
m

1
]
0.12
0.14
0.16
0.18
0.2
0.22
0.24
0.2
0.5
0.8
1.1
1.4
1.7
0
2
4
6
8
10
12
14
16
18
20
h [m]
p [bar]
k
[
k
N
m

1
]
Figure 4.6: In both gures, the experimentally identied stiness is given by the solid
surface. In the left gure, the analytical solution of the stiness model is given by the mesh,
while in the right gure the mesh represents the t of the experiment on the model. The
stiness in the analytical model is structurally lower than in the experiments and the tted
model. The experimental identied stiness is also shown in the left part of Figure G.5; the
relative error between both models and the experiment is given in Figure G.6.
42
Identication and model validation
The stiness appears to be linear with the pressure and quadratic with the length.
On the other hand, the damping does not showa clear dependency on the pressure;
a slight increase with the length can be seen. Note also the dierence between the
ve muscles, especially in the damping.
The next step is to relate the experimental stiness to the stiness model as dened
in (4.1). Due to the multiplication of h and p in (4.1), it is not possible to use a least
squares t to identify the four muscle parameters directly on the experimental data
k
w
. This is solved by using six parameters for the least squares t, [Kreyszig, 1999].
These six parameters are derived from the original four parameters according to:
k =
_
+ p
_ _

0
+
1
h +
2
h
2
_
(4.3)
k =
_

0
1
+
1
2
h +
2
3
h
2
+
0
4
p +
1
5
p h +
2
6
p h
2
_
. (4.4)
Unfortunately, the least squares t 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 c
0
and c
1
, the model is improved:
k =
_

0
c
0
+
1
c
1
h +
2
h
2
+
0
p +
1
p h +
2
p h
2
_
. (4.5)
In the ideal case (as is the case for the analytical solution), the two correction factors
c
0
and c
1
equal 1. In Table 4.1, the results of the least squares t are given. Also
the analytical values of the four parameters as derived in Appendix E.4 are given.
In Figure 4.6, the stiness as experimentally identied is given in the left and the
right part by the solid surface. In the left part, also the analytical solution of the
parameters as derived in Appendix E.4 is given by the meshed surface. In the right
part of Figure 4.6, also the t of the experimental data on (4.5) is given.
Even though the numerical values of the analytical and the tted experimental pa-
rameters dier a lot, the analytical and the experimental model show similar re-
sults. The main dierence is the stiness length relation. The analytical model
gives only a slight increase in the stiness for increasing length, while according
to the experiments, the stiness increases substantially with the muscle length h.
The large dierence of for the analytical and the experimental model, is a result
of using a least squares t to derive the experimental model. As can be seen in the
right part of Figure 4.6, the minimum of the quadratic relation of the experimental
model 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 mm
seems more realistic. This dierence yields the tted to be higher. This also
explains part of the factor 10 dierence between the experimental and analytical
parameters.
parameter
0

1

2
c
0
c
1

0

1
[bar] [m] [] [m
1
] [] [] [Ns m
1
] [ms]
experiment 3.97 0.442 5.06 12.80 0.82 0.85 9.55 1.94
analytical 0.50 0.055 0.47 1.97 1.00 1.00
Table 4.1: The six stiness parameter values as experimentally identied and tted on (4.5)
are given in the upper row, the analytical solution as derived in Appendix E.4 in the lower
row. Also the experimental damping parameters are given.
43
0.2 0.4 0.6 0.8 1 1.2
0.2
0.4
0.6
0.8
1
1.2

4
0

3
0

2
0

1
0

1
0
0
0
1
0
1
0
20
20
30
30
40
40
0
.
4
0
.
4
0
.
6
0
.
8
1
1
1
.
2
1
.
2
1
.
4
1
.
4
1
.
6
1
.
8
2
p
A
[bar]
p
B
[
b
a
r
]

2
[deg]
p
AB [bar]
Figure 4.7: Solution for

2
= f( p
A
, p
B
). Also the cumulative pressure p
AB
is indicated.
40 30 20 10 0 10 20 30 40
0.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]
p
A
B
[
b
a
r
]
p
A [bar]
p
B [bar]
Figure 4.8: The required pressures p
A
and p
B
for a setpoint given by

2
and p
AB
.
44
Identication and model validation
Considering these results, the linear stiness pressure relation in the model is
good. The quadratic stiness length relation as derived in the model is present
in 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 not
correct, 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 t, the parameters derived by tting the experimental
data 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 tted 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 determine
the damping, the damping is not explicitly accessed by the small perturbations. A
better 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 decided
to estimate the damping using the FRFs from the robotic arm identication; in
this way, the energy dissipation in both the muscles and in the joints of the robotic
arm due to friction, are considered. The current result are just an indication of the
muscle damping.
4.2 Validation of the equilibria
The equilibria of the robotic arm require the valves to be closed, i.e. u = 0 and
v = 0. This is easy to understand by realizing that u is in fact a ow reference
signal. As a result, u aects the time derivatives of the pressures. This is conrmed
by the low frequency 1-slope of the magnitude of the FRF of the robot, as is
presented in next section.
The equilibria of the model are derived by x = 0 and u = 0, with x as dened in
(3.10) and the stiness according to the experimental parameters of Table 4.1. It is
easy to see that the equilibrium values:
x =
_
p
c
p
A
p
B

2
_
T
, (4.6)
are given by:
p
c
= p
in
p
A

_
0 p
in

p
B

_
0 p
in

2
= f( p
A
, p
B
)

2
= 0 .
(4.7)
The parameter p
in
is the supply pressure to the capacity; in our case p
in
= 1.0
bar. The pressures p
A
and p
B
are both manually xed to any value in the interval
[0 , p
in
]. Angle

2
is dened by the two muscle pressures; i.e. any combination of
the p
A
and p
B
results in a stable equilibrium position

2
, where f( p
A
, p
B
) is the
expression for

2
following from the following equilibrium equation:
Q
A
( p
A
,

2
) + Q
B
( p
B
,

2
) + m
2
g l
12
sin(

2
) = 0 . (4.8)
45
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 40
0.2
0.4
0.6
0.8
1
1.2
1.4
1.6
1.8
2
2.2
p
A
[bar]
p
B
[
b
a
r
]

2
[deg]
p
A
B
[
b
a
r
]

2
[deg]
p
AB [bar]
p
A [bar]
p
B [bar]
model model
experiment experiment
Figure 4.9: The equilibrium points of the robotic arm, as predicted by the identied model
and as experimentally veried on the robotic arm. The equilibria are set according to

2
and p
AB
as shown in the left gure, the accompanying pressures p
A
and p
B
are shown in
the right gure. 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 40
0.2
0.4
0.6
0.8
1
1.2
1.4
1.6
1.8
2
2.2
p
A
[bar]
p
B
[
b
a
r
]

2
[deg]
p
A
B
[
b
a
r
]

2
[deg]
p
AB [bar]
p
A [bar]
p
B [bar]
model model
experiment experiment
Figure 4.10: The equilibrium points of the robotic arm, as predicted by the estimated model
and as experimentally veried on the robotic arm. Compared to Figure 4.9, the estimated
stiness parameters are used, instead of the experimentally derived stiness parameters.
Remark that the contour lines do not resemble the contour lines in Figures 4.7, 4.8 and
4.9.
46
Identication and model validation
No analytical solution of (4.8) is presented here. Instead, a graphical interpretation
of

2
= f( p
A
, p
B
) is given in Figure 4.7; in this gure also the cumulative equilib-
rium pressure p
AB
= p
A
+ p
B
is indicated; this will appear to be useful in Chapter
5. In Figure 4.8, the inverse of Figure 4.7 is presented. It shows the required
pressures p
A
and p
B
which yield a desired combination of

2
and p
AB
.
The equilibria, as predicted by the model, are veried on the robotic arm in twenty
equilibria. To simplify these experiments, they are performed in closed-loop. The
use of a controller does not aect the location of the equilibria as in an equilibrium
u = 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 p
AB
) are in-
dicated. These equilibria are realized on the robotic arm (green circle) and in the
model (magenta circle). In the right part of Figure 4.9, the pressures p
A
and p
B
belonging 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 and
as predicted by the model. The model predicts accurately in case

2
[10, 10]
deg and p
AB
[0.4, 1.0] bar.
In an equilibrium, the damping is not important, i.e. the muscle force is equal
to the force due to the stiness. Each equilibrium is determined by the muscle
(stiness) forces and the gravity force, i.e. these forces cause the mismatch between
the model and the experiments:
If the stiness k(p, h) is wrongly predicted in the model, this causes an error
in the muscle force and in the equilibria. The stiness, 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 stiness are performed inbetween 0.5 and 1.4
bar. In the equilibria, the muscle pressure is inbetween 0.2 and 0.9 bar. As
the stiness parameters are tted on the data between 0.5 and 1.4, this tted
model might predict the stiness wrong below 0.5 bar.
The stiness force also depends on the elongation of the muscle h h
0
(p).
The muscle length h is estimated correctly, using the kinematic relations of
the robotic arm. A possibly wrong estimation of the nominal length h
0
(p),
causes errors in the muscle force. In Figure 3.12, the modeled h
0
(p) seems
accurate; however, the muscles show a variation of at least 10 mm in their
nominal length.
The gravity force in the model is expected to be correctly estimated, as this
part involves no doubtful assumptions.
Dry friction in the revolute joints my cause a deadzone, but this is unlikely to
cause an angular shift of 10 degrees in just a specic part of the application
range. Besides, the muscles are under pretension.
In order to check the robotic arm model setup, the experimental results are also
compared to the model, now using the estimated stiness parameters of Table 4.1.
The equilibria of this model are given in Figure 4.10. The match between the model
and experiments is striking. Unfortunately, the estimated stiness is considered to
be too low, but according to this gure the model setup seems correct.
Concluding, the mismatch between the (tted) model and the experiments is prob-
ably caused by an error in the estimate of the nominal length (due to the variation
between individual muscles) and an error in the estimate of the stiness parame-
ters. The latter error is caused by the use of a least squares t over an application
range that does not resemble the application range in the robotic arm.
47
Nominal muscle behavior
A second important indicator to verify the equilibria is the nominal behavior of the
muscles. The nominal behavior of the muscles is explained in Section 3.4.4 and
shown in Figure 3.12. The match between the experimental and modeled nominal
length and diameter is good, although there is much variation between the mus-
cles. The muscle parameters L, n, s
1
and s
2
are very dominant in the solution of
(4.8) and the nominal behavior. The discrepancy of the modeled and experimental
equilibria might be improved by reconsidering the four muscle parameters, but
this will be at the cost of a less accurate match of the nominal behavior.
4.3 Robotic arm identication
In Chapter 5, a control strategy is proposed that stabilizes the robotic arm. Two
reference variables are used in the controlled DoF robotic arm: the angle
2
and
the cumulative pressure p
AB
= p
A
+ p
B
, which are assumed to be completely de-
coupled. To control these two new outputs, an angle input z

and a cumulative
pressure input z
p
are dened. The identication of the robotic arm is given by the
FRF of angle
2
over input z

around an equilibrium (

2
, p
AB
).
The identication is performed in 24 equilibria, which are indicated by circles in
Figure 4.9. Each equilibrium is a dened by an angle

2
and a cumulative pressure
p
AB
. The FRFs are measured in closed-loop to keep the robotic arm from drifting
away from its reference. For the purpose of identication, noise is injected in the

2
loop while the cumulative pressure p
AB
is kept constant.
The general setup of the closed-loop identication procedure is given in Figure 4.11.
A plant H
x
is identied for output x around an equilibrium reference x
ref
, using
a sensitivity analysis on the experimental data. Using the FRF of controller ( and
the power spectra
e
1
and
e
2
of the error signals e
1
and e
2
, H
x
is derived by:
H
x
=

e
1
(
e
2
. (4.9)
The FRF of the plant around an equilibrium (

2
, p
AB
) for the angle
2
, is given by
T

=

2
z

, with z

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


controller ( is performed, this yields two angular error signals e
1
and e
2
. The next
step is to calculate the power spectra
e
1
and
e
2
of these error signals. Finally, the
FRF T

is derived using the power spectra and by eliminating the controller, as is


shown in (4.9).
e
1
n
e
2
z
x x
x
ref
+
+ +

( H
x
Figure 4.11: Schematic representation of a sensitivity analysis of output x over input z
x
,
around equilibrium x. A known disturbance n is introduced in the control-loop, using
controller C. Both error signals e
1
and e
2
are measured and used to derive H
x
=
x
z
x
.
48
Identication and model validation
10
1
10
0
10
1
80
70
60
50
40
30
20
10
0
10
1
10
0
10
1
180
90
0
90
180
10
1
10
0
10
1
10
8
10
6
10
4
10
2
10
0
10
1
10
0
10
1
0
0.2
0.4
0.6
0.8
1
f [Hz] f [Hz]
[
T

[
[
r
a
d
V

1
d
B
]
p
h
a
s
e
(
T

)
[
d
e
g
]
[

[
[
d
B
]
[

2h
F
[
[

]
frequency response function T

=

2
z

power spectra
coherence
T

xx
[V
2
]

yy [rad
2
]

xy [V rad]
Figure 4.12: Experimental sensitivity analysis around equilibrium point:

2
= 0 deg and
p
AB
= 1 bar. The indices x and y are dened by x = C e
2
and y = e
1
. The third-order
transfer function

P

(s) as in (4.10), with = 780, = 6.3 Hz and = 0.05 is tted


on P

=

2
z

.
In Figure 4.12, the result of the sensitivity analysis is shown for the equilibrium
point with

2
= 0 deg and p
AB
= 1.0 bar. The experiment shows a good coherence
between 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-damper
systemis characterized by a constant gain belowthe eigenfrequency and a 2-slope
beyond the eigenfrequency. The additional 1-slope of the robotic armis caused by
the input u, which directly aects the time derivative of the pressure, thereby intro-
ducing an additional integrator. For the moment, we assume that the two muscles
act like a force actuator; the dynamics of the robotic arm around an equilibrium is
modelled by the following third-order transfer function:

(s) =

s
1
s
2
+ 2 s +
2
=

s
3
+ 2 s
2
+
2
s
. (4.10)
The gain depends on the ow (and on the numerical values of the pressure and
the angle); the damping ration is given by . The natural eigenfrequency (in
radians per second) depends on the sum of the stiness of muscles A and B , i.e.
k
AB
= k
A
+ k
B
and on the moment of inertia J
zz2
of body 2 according to:
=
_
k
AB
(l
12
l
2A
)
2
J
1
zz2
, (4.11)
with l
12
l
2A
the distance between the muscle mounting and joint 2 ; this is correct
as muscles A and B are mounted equidistantly from joint 2 , see Table 3.4.
49
1
0

1
1
0
0
1
0
1

8
0

7
0

6
0

5
0

4
0

3
0

2
0

1
0 01
0

1
1
0
0
1
0
1

1
8
0

9
0 0
9
0
1
8
0
f
r
e
q
u
e
n
c
y
r
e
s
p
o
n
s
e
f
u
n
c
t
i
o
n
T

2
z

f
[
H
z
]
[ T

[ [ r a d V
1
d B ]
p h a s e ( T

) [ d e g ]

-
3
0
p
0
.
8

-
1
5
p
0
.
8

0
p
0
.
8

1
5
p
0
.
8

3
0
p
0
.
8

-
3
0
p
1
.
0

-
1
5
p
1
.
0

0
p
1
.
0

1
5
p
1
.
0

3
0
p
1
.
0

-
3
0
p
1
.
2

-
1
5
p
1
.
2

0
p
1
.
2

1
5
p
1
.
2

3
0
p
1
.
2

-
3
0
p
1
.
4

-
1
5
p
1
.
4

0
p
1
.
4

1
5
p
1
.
4

3
0
p
1
.
4

-
1
5
p
1
.
6

0
p
1
.
6

1
5
p
1
.
6

0
p
1
.
8
Figure 4.13: The FRF of P

=

2
z

for 24 equilibrium points of the 1DoF robotic arm. In


the legend, the equilibrium points are given in a short handed way; i.e. -30 p 0.8 indicates

2
= 30 deg, p
AB
= 0.8 bar.
50
Identication and model validation
The model

T

according to (4.10) is tted on the experimental FRF T

. The t is
shown in Figure 4.12; it allows us to estimate the damping ratio of the robotic
arm. The damping in the robotic system is very low: = 0.05. This yields that the
damped and the natural eigenfrequency are approximately equal: = 6.3 Hz.
In Figure 4.13, the resulting FRFs T

are given for the 24 equilibria. Six conclu-


sions can be drawn from this gure:
The FRFs indicate a distinct dierent 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. In
that case, a change in stiness will cause variations in the high-frequency
behavior and a constant low-frequency behavior.
The stiness line (with slope 1 due to the pneumatics) varies with a factor
3 (10 dB). This variation is a result of the variation in muscle stiness and of
the gain . The gain depends on the pressure.
The damping present in the robotic arm is low; the damping ratio varies
inbetween 0.04 and 0.10. The damping ratio is an indication of the energy
dissipation in the robotic arm. Energy is dissipated by damping but also by
friction in the muscles and in the joints. It can be concluded that the dry
friction 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 would
not equal 1.
Increasing the cumulative pressure p
AB
, causes an increase of the eigenfre-
quency due to the increase in stiness. As the muscle is considered to be a
force actuator, this causes the magnitude of T

to decrease. The decrease in


T

magnitude is amplied by the pressure. An increasing cumulative pres-


sure yields the ow to decrease, yielding a decrease in .
Variations in the angle
2
from 0 degrees, hardly aect the behavior of the
robotic arm when being compared to the eect of the cumulative pressure.
The eigenfrequency slightly increases, while the magnitude of T

remains
constant; this means that the gain must increase. This is caused by the
gravity force; in case

2
,= 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 aecting the eigenfrequency. As
p
AB
remains equal, the pressure does not aect the gain via the ow.
The relations given in (4.10) and (4.11) can be used to estimated the stiness from
the robotic arm identication. For the FRF around (

2
, p
AB
) = (0, 1), this is shown
in Figure 4.12; using the parameters as dened in Table 3.4 yields k
AB
= 7.8 kN
m
1
or k
A
= k
B
= 3.9 kN m
1
. Each of the muscles in this equilibrium is given
by p
A
= p
B
= 0.5 bar and h
A
= h
B
= 190 mm; according to the stiness model in
(4.5), this yields k
A
= k
B
= 2.9 kN m
1
. This proves that in the given equilibrium
the model predicts the stiness too low.
51
Repeating this analysis for each of the 24 FRFs in Figure 4.13, will allowfor the ver-
ication of the stiness as identied in Section 4.1. It also gives a proper indication
of the damping present in the muscles and the robotic arm and of the pneumatic
gain. This should be veried in future work.
At the end of Section 4.1, it is stated that we prefer to estimate the damping using
the measured FRF of the robotic arm. By comparing the linearized behavior of
the model with the FRF of the robotic arm, it appears that the muscle damping
as dened in Table 4.1 is indeed too low to describe all energy dissipation in the
robotic 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
, as
introduced in the muscle model in (3.49). Based on the simulations, this yields a
damping 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 of
the model with the frequency response function of the robotic arm. The model of
the robotic arm is given in (3.10). The linearization around an equilibrium point
( x, z) is dened 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 ow is possible, i.e. the input signals are given by
z = [ z

z
p
]
T
= 0.
In order to be able to linearize a model, a continuously dierentiable vectoreld
f(x, z) in (4.13) is required. This is a problem. Due to the strong interweaving
of the binary valve signals v in the model of the robotic arm, linearization is not
possible. The relation determining the binary valve signal consists of a saturation
and binary operators, which makes it not possible to calculate a derivatives of these
functions.
This issue is solved by performing a sensitivity analysis of the closed-loop model
in simulation. The reason to simulate in closed-loop is to avoid the model from
drifting from its equilibrium point. The closed-loop simulations are performed in
a similar fashion as the experimental sensitivity analysis on the robotic arm, as
discussed in the previous section.
The FRF of the angular behavior of the model linearization around the equilibrium
(

2
, p
AB
), is dened as /

=

2
z

, with z

the angular control signal. The model


is simulated in closed-loop, using a simple gain controller, while injecting noise in
the control loop, see Figure 4.11. The noise consists of an increasing and decreasing
sweep signal between 0.1 and 20 Hz. The simulation data is used for a sensitivity
analysis, which is given in (4.9). The FRF of the angular behavior of the linearized
robotic arm model /

can be estimated around every equilibrium dened in (4.7).


52
Identication and model validation
10
1
10
0
10
1
80
70
60
50
40
30
20
10
0
10
1
10
0
10
1
180
90
0
90
180
10
1
10
0
10
1
10
8
10
6
10
4
10
2
10
0
10
1
10
0
10
1
0
0.2
0.4
0.6
0.8
1
f [Hz] f [Hz]
[
H
[
[
r
a
d
V

1
d
B
]
p
h
a
s
e
(
H
)
[
d
e
g
]
[

[
[
d
B
]
[

2x
y
[
[

]
frequency response function H power spectra
coherence
/

xx
[V
2
]

yy [rad
2
]

xy [V rad]
Figure 4.14: The simulated sensitivity analysis around equilibrium (

2
, p
AB
) = (0, 1).
The indices x and y are dened by x = C e
2
and y = e
1
. A third-order transfer
function

M

(s) with = 1150, = 5.8 Hz and = 0.07 is tted on M

. The
estimated experimental FRF

P

as shown in Figure 4.12, is also indicated.


In Figure 4.14, the FRF /

of the model linearization around equilibrium


(

2
, p
AB
) = (0, 1) is shown. In this gure, also the model t

/

on /

is shown;
the model is dened 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 tted FRF

T

as is shown in Figure 4.12;

is dened around the same equilibrium. The model shows a slightly dierent
FRF when being compared to the experiment; from the tted parameters of

T

and

, 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 the
model. In case the owtowards the muscles is modeled larger than the actual
ow, then the response of the muscles and the robotic armis quicker, yielding
a higher gain in the FRF. It must be noted that the ow is very sensitive to
small variations in the parameters in (3.22).
The natural eigenfrequency depends on the inertia properties of body 2 and
the stiness of the muscles. The inertia of body 2 is considered to be correctly
estimated. This means that the stiness is estimated too low. The stiness
depends on the pressure and the muscle length. It is very likely that dier-
ences between the muscles causes the stiness to be estimated too low. The
variation in stiness is approximately 20%, as can be seen in Figure 4.5.
53
10
1
10
0
10
1
80
60
40
20
0
20
10
1
10
0
10
1
180
90
0
90
180
10
1
10
0
10
1
10
6
10
4
10
2
10
0
10
2
10
1
10
0
10
1
0
0.2
0.4
0.6
0.8
1
f [Hz] f [Hz]
[
H
[
[
r
a
d
V

1
d
B
]
p
h
a
s
e
(
H
)
[
d
e
g
]
[

[
[
d
B
]
[

2x
y
[
[

]
frequency response function H power spectra
coherence
/

xx
[V
2
]

yy [rad
2
]

xy [V rad]
Figure 4.15: The simulated sensitivity analysis of the equilibrium (

2
, p
AB
) = (30, 0.8).
The indices x and y are dened by x = C e
2
and y = e
1
. The third-order transfer
function

M

, with
M
= 1900,
M
= 0.07 and
M
= 4.7 Hz, is tted on M

. The
experimental FRF t

P

in this equilibrium is given by


P
= 830,
P
= 0.10 and

P
= 6.4 Hz. Using (4.11) the measured cumulative stiness is k
P
AB
= 8.0 kN m
1
,
while the modeled cumulative stiness is much lower: k
M
AB
= 4.3 kN m
1
.
As the damping ratio in model and measurement are almost equal, there is
no reason to assume errors here.
The model and the experiment in (

2
, p
AB
) = (0, 1) show identical behavior above
6 Hz. The dierence below 6 Hz is approximately 4 dB or 30%. This is acceptable
when considering that the variation in muscle stiness is 20%, see Figure 4.5.
The linearization /

in equilibrium (

2
, p
AB
) = (30, 0.8), together with the tted
FRFs

/

and

T

are given in Figure 4.15. The model and the robotic arm show
a big dierence. The magnitude of the model is approximately 12 dB or a factor 4
higher than the experiment and the eigenfrequency of the model is 4.7 Hz, while
the experiment yields an eigenfrequency of 6.5 Hz. In Section 4.2, it is shown that
the equilibria are not predicted well for [

2
[ > 20 deg. The dynamic behavior in
(

2
, p
AB
) = (30, 0.8) also shows errors.
Based on the error in the eigenfrequency and magnitude in the model, we conjec-
ture that the stiness of the muscles is modeled too low. This is not in accordance
with the conclusion in Section 4.2, which states that the stiness is modeled accu-
rately. Secondly, the gain is modeled too large. This is likely to be due to errors
in relations describing the ows and muscle pressure in the model. Five possible
errors are distinguished:
54
Identication and model validation
The ow is very sensitive to variations in its parameter; a small error in the
restriction diameter has a big impact on the ow.
It is assumed (based on experiments) that the ow through the hoses is de-
ned by the relation for a restriction. This is however not veried on the
robotic arm; a hose description might give a better result for the ow de-
scription in some cases. This should be veried 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 cylindrical
relation for the volume. It appears that the cylindrical volume description
does not yield signicantly dierent behavior compared to the barrel shaped
behavior. Since this does not prove the volume is estimated correctly by the
volumetric behavior in relation (3.39), this should be veried in future work.
It is assumed that the muscle volume only depends on the length of the
muscle. The volumetric behavior is based on the lengthvolume relation
of a muscle with a constant amount of air in the muscle. The pressure is
taken into account in the loop: pressure nominal length muscle force
robot dynamics muscle length volumetric behavior, see Figure 3.2.
This indirect pressurevolume relation is not veried.
In the relation describing the muscle ow, the inuence of the tube and braid
pushing the air out of the muscle, is not modeled explicitly. This behavior is
considered to be taken into account in the nominal behavior, through the
same loop as given in previous item. This indirect nominal length ow
relation is also not veried.
For the simulation in Figure 4.15, the experimental stiness parameters are used.
In Figure 4.10, it is shown that the equilibria of the robotic armmodel using the an-
alytical stiness parameters, yields accurate results. However, the model with the
analytical stiness parameters is unstable. Due to the fact that the analytical sti-
ness is lower, the gravity force becomes dominant over the muscle forces hereby
inducing instability.
4.5 Time domain model validation
In previous sections, it has been shown that the model has a limited pressure range
in which the behavior of the robotic arm is predicted well. The third part of the
validation procedure compares the open-loop time behavior of the robotic arm with
that of the model. As can be expected from previous sections, these results are not
very good. On the other hand, the open-loop validation conrms the conclusions in
the previous sections. The open-loop experiments and simulations are performed
by providing a time-varying input signal u(t) to the robotic arm, the pressures p
A
and p
B
and the angle
2
are measured. An identical input u(t) is applied to the
model.
In Figure 4.16, the match between experiment and simulation is good. As is said
before, the model predicts well in the working area near
2
= 0 deg. If the pressure
in the muscles drops below 0.3 bar, the predictive quality of the model worsens; in
this case the model predicts a low stiness, which causes to gravity to become
slightly more dominant. As a result, the angle increases.
55
0 1 2 3 4 5 6 7
0
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
[
b
a
r
]

2
[
d
e
g
]
u
p
A
experiment
p
B
experiment
p
A
simulation
p
B
simulation
experiment
simulation
u
A
u
B
Figure 4.16: The initial angle of the robotic arm is close to zero degrees and the initial
pressures are identical. The muscles are actuated in opposite directions.
The experiments shown in Figure 4.17, has an input u
A
= 0, i.e. the air mass in
muscle A is constant. Once pressure p
B
starts to increase, the arm is pulled back
towards
2
= 0 deg. As a result, muscle A is elongated. The pressure increase due
to the elongation (which must be caused by a decrease in the volume), is hardly
seen in the simulation. Pressure p
B
gives a realistic result. The angle prediction of

2
is less accurate due to the mismatch of p
A
. The simulation, shown in Figure 4.18,
predicts well up to 4.5 seconds. This is due to the pressure dierence between both
muscles, 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 models
predictive pressure range. In the model, the arm becomes unstable as the gravity
force 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 robotic
arm model, especially in open-loop. Only in a specic working area, the model
appears to predict the behavior correctly. This can be seen in both the equilibria
as in the linearized behavior around these equilibria. The four major points of
concern in this respect are:
Stiness The stiness of the muscles is identied in a separate identication pro-
cedure. Despite the fact that the parameters of the stiness relation are tted
to the results of these experiments and used in the robotic arm model, the
stiness is still considered to be estimated too low.
56
Identication and model validation
0 1 2 3 4 5 6 7
0
0.2
0.4
0.6
0.8
1
0 1 2 3 4 5 6 7
0
10
20
30
40
50
0 1 2 3 4 5 6 7
1
0
1
time [s]
p
[
b
a
r
]

2
[
d
e
g
]
u
p
A
experiment
p
B
experiment
p
A
simulation
p
B
simulation
experiment
simulation
u
A
u
B
Figure 4.17: The initial pressure in the experiment of muscle B is p
B
= 0 bar; this means
that muscle B is deated. As this behavior is not modeled, it is decided to give the model a
stable initial condition;

2
and p
A
are equal to the experiment, p
B
is set to an equilibrium
as shown in Figure 4.9.
Pneumatics The relations determining the pressure and ow are very sensitive too
small errors in the ow parameters. If the muscle pressure is not predicted
accurately, 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 stiness and the ow.
The damping is not physically modeled but is also less important, for this
reason 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 dierent 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 robotic
arm model. Still, the model as presented in Figures 3.1 and 3.2, is considered to
describe the behavior correctly on a phenomenological level. This new model does
give insight of the working principles of the robotic arm, but it unfortunately fails
to give an accurate description on a quantitative level.
The experimental identication of the robotic arm has lead to a lot of insight in the
behavior of the robotic arm and of the muscles. Despite the inherent nonlinear
behavior of the robotic arm, it is shown that the eigenfrequency of the robotic arm
57
0 1 2 3 4 5 6 7
0
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
[
b
a
r
]

2
[
d
e
g
]
u
p
A
experiment
p
B
experiment
p
A
simulation
p
B
simulation
experiment
simulation
u
A
u
B
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 second
important conclusion is that the muscles appear to be force actuators; probably
because they are applied with a certain pretension range in the robotic arm.
The results of the experimental identication of the robotic arm, as discussed in
Section 4.3, are accurate and reliable. It is decided to use the identication and the
gained insight to construct a control strategy for the robotic arm. This is elaborated
on in the following chapter.
58
5
Feedback control of the
robotic arm
This chapter presents the control of the DoF and the 2DoF robotic arm. In Section
5.1, the control strategy used for the DoF robotic arm is discussed. Using this
strategy and the results of the experimental identication, controllers are designed;
this will be explained in Section 5.2.
In case the robotic arm is expanded by the second joint, the control becomes
slightly more complicated due to interference of the feedback loops. Moreover, a
dierent 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 the
controller based on the reinforcement learning, as discussed in [Maas, 2005], is
given. 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 is
identied. The two most important nonlinear contributions in the robotic arm
are the binary valves and the McKibben muscles. By applying a PWM algorithm,
the binary valves approximate linear behavior. The nonlinear McKibben muscle
behavior is accounted for by the control design by ensuring sucient robustness
margins in the application range of the robotic arm.
The input to the PWM of the DoF robotic arm 1
1
, are two mass ow signals u
A
and u
B
. The state x of 1
1
is dened by the joint angle
2
and the two muscle
pressures p
A
and p
B
. In matrix notation, this gives:
u =
_
u
A
u
B

T
(5.1)
x =
_

2
p
A
p
B

T
. (5.2)
0.2 0.4 0.6 0.8 1 1.2
0.2
0.4
0.6
0.8
1
1.2
30 15
0
15
30
40 30 20 10
0
10
20
30
40
p
A
[bar]
p
B
[
b
a
r
]

2
simulation
p
AB
= p
A
+ p
B

2
experiment
Figure 5.1: The equilibrium points of the robotic arm, as predicted by the model and as
experimentally veried on the robotic arm. See also the Figure 4.9.
(

(
p

ref
2
p
ref
AB
PWM
plant T
+
+

z
p
z
p

2
p
AB
p
AB
e

e
p
u v x
1
1

T

T
p
Figure 5.2: The single joint control loop. The plant P is given by two FRF P

=

2
z

and
P
p
=
p
AB
z
p
, which are considered to be decoupled. The error signals e

and e
p
are the input
to the controllers C

and C
p
, which yield the new plant input signals z

and z
p
.
In the lower gure, the decoupling of the 1DoF robotic arm R
1
is depicted, using the
decoupling matrix and the output matrix . The ow control signals u are converted
to binary valve signals v by the PWM, as dened in (3.12), which are the input to R
1
.
60
Feedback control of the robotic arm
The purpose of the robotic arm is to make controlled motions, i.e. to control the
joint angles. For this reason it is decided to use angle
2
as an output of 1
1
. The
angle
2
is aected by the momentum generated by muscles A and B . This mo-
mentum depends on the dierence between the two muscles forces. The easiest
way to generate a momentum with two muscles is by inating one muscle and de-
ating the other muscle for an equal period of time, i.e. u
A
(t) = u
B
(t).
To have a balanced number of inputs and outputs, a second output signal needs to
be dened. 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 aected by u
A
= u
B
; to ensure the second output to be decoupled from
2
, it
must not be aected by u
A
= u
B
.
In case the volume of the muscles is contant and the pressure in both muscles is
0.5 bar, a change in u
A
= u
B
, does not aect the sum of the pressure in the two
muscles. It is decided to use the cumulative pressure as the second output. From
this elaboration, the outputs y are constructed using the state variables (and sensor
signals) x as dened in (5.2) and an output matrix :
y =
_

2
p
AB

T
= x (5.3)
=
_
1 0 0
0 1 1
_
. (5.4)
The output given by the cumulative pressure p
AB
= p
A
+ p
B
is aected if both
muscles are inated for an equal period of time, i.e. u
A
(t) = u
B
(t); this dependency
is the opposite of the dependency given for
2
, and for this reason it is expected that
outputs
2
and p
AB
are decoupled. To verify whether the decoupling is a legitimate
assumption, the equilibria of 1
1
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 p
AB
must be perpendicular in this gure; in that case a change in one output
does not aect the other. For the model simulation, this is only true if

= 0 deg.
For the experiments, however, it can be seen that

2
and p
AB
are approximately per-
pendicular, within the entire application range. For this reason, the outputs y are
considered to be decoupled.
The next step is to dene two new inputs, the angle input z

and the cumulative


pressure input z
p
, which address the decoupled outputs only:
z =
_
z

z
p

T
. (5.5)
Using the previous stated dependencies of the new inputs z on the ow control
signals u yields the decoupling to be dened by:
u
A
= z

+ z
p
u
B
= z

+ z
p
_
u = z (5.6)
=
_
1 1
1 1
_
. (5.7)
61
In Figure 5.2, the control strategy for the DoF robotic arm is presented schemat-
ically. The plant T is dened by two new inputs z and two decoupled outputs y.
The behavior of T is given by the two FRFs:
T

=

2
z

, T
p
=
p
AB
z
p
. (5.8)
The decoupling allows for the application of two SISO controllers on the plant: one
angular controller (

and one cumulative pressure controller (


p
. In the lower part
of Figure 5.2, the conversion of 1
1
to T, using the decoupling matrix and the
output matrix is graphically depicted.
5.2 Single joint control
The controller for the DoF robotic arm consists of two linear controllers (

and
(
p
, as shown in Figure 5.2. These two controllers are designed using the respec-
tive plants T

and T
p
as dened in (5.8). Both controllers are tuned such that the
robotic 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 FRFs of T
p
around seven equilibria with

2
= 0 are given.
The seven FRFs are almost equal, i.e. the cumulative pressure p
AB
hardly aects
the gain of the FRF. The magnitude of the FRF shows a clear 1-slope over the
complete frequency range. This is caused by the input u which directly aects the
time derivative of the pressure.
In Figure 4.13, the FRFs of T

in 24 equilibria are given. This gure shows that


the eigenfrequency of the robotic arm varies between 6 and 7 Hz; This limits the
feasible bandwidth of the controlled robotic arm; namely, the linear controllers
must be able to stabilize the robotic arm in every possible equilibrium.
The servo performance is hampered by two types of disturbances: external and
self-induced disturbances. The latter are due to a number of reasons: interaction
between the two outputs, friction in the muscles and bearings, excitation due to the
switching of the binary valves and the nonlinear stiness 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). This
dead-zone yields that small static errors in both angle and pressure are al-
lowed. This keeps the binary values from continuous actuation and reduces
the amount of disturbances on the robotic arm.
Wide robustness margins are used. A sensitivity margin of 6 dB, a phase
margin of 45 degrees and an amplitude margin of 5 dB with respect to the
most critical FRFs are employed for the open-loop behavior.
The controllers are designed such that the angle and pressure bandwidth are
approximately equal. This gives outputs
2
of p
AB
the same priority.
62
Feedback control of the robotic arm
5.2.1 Angular controller design
In Figure 5.3, the FRFs of 24 measurements T

are given, together with the con-


troller and the open-loop frequency response. Controller (

consists of a lead-lag
lter, a pure notch lter and a second-order low-pass lter, the parameters are given
in Table 5.1. The denition of the lters is given in Appendix H.1.
Essential in the tuning of the controller is the use of the notch lter. By stretching
the notch lter wide and deep (20 dB), the eigenfrequency of the robotic arm in
the entire working area is attenuated by the controller. For stability reasons, the
notch frequency f
n
is a little lower compared to the eigenfrequency. A lead-lag
lter 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. The
amplitude 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 each
equilibrium.
In Figure 5.4, the Nichols diagram is given. To guarantee stability, the H
OL
curve
must 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 seen
that stability and robustness are guaranteed for every equilibrium.
5.2.2 Pressure controller design
In Figure 5.5, the controller (
p
, the pressure FRFs T
p
and the open-loop behavior
are shown. The experimental (
p
data is discussed in Appendix H.2. Controller
(
p
consists of a gain and a rst-order low-pass lter. The two parameters of this
controller 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 sucient 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 below
6 dB. The local stability is also guaranteed; this is proven in the Nichols diagram as
shown in Appendix H.3.
gain lead-lag notch low-pass
p 55 f
1
1 f
n
6.1 f
l
15
f
2
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 controller
consists of a gain with a notch, lead-lag and a second-order low-pass lter. All frequencies
f are given in Hz.
gain low-pass
p 6 f
l
10
Table 5.2: The C
p
controller parameters for the 1DoF robotic arm. The controller consists
of a gain and a rst-order low-pass lter. The low-pass frequency f
l
is given in Hz.
63
10
1
10
0
10
1
100
80
60
40
20
0
20
40
10
1
10
0
10
1
180
90
0
90
180
10
1
10
0
10
1
40
30
20
10
0
10
20
f [Hz]
[
H
[
[
d
B
]
p
h
a
s
e
(
H
)
[
d
e
g
]
[
S
[
[
d
B
]
(

[V rad
1
]
H
OL
[]
T

[rad V
1
]
Figure 5.3: The two upper gures show the magnitude and phase of the controller C

,
plant P

and the open-loop H


OL
= C

. The P

measurements are the 24 FRFs


previously shown in Figure 4.13. The phase margin is indicated by the pink line at 145
dB in the middle gure. The lower gure shows the sensitivity S = (1 +C

)
1
of the
control loop, the sensitivity margin of 6 dB is indicated by the pink line. The bandwidth is
inbetween 1 and 3 Hz, as indicated by the two vertical pink lines.
64
Feedback control of the robotic arm
360 270 180 90 0 90
30
20
10
0
10
20
30
phase(H
OL
) [deg]
[
H
O
L
[
[
d
B
]
Figure 5.4: The Nichols diagram of a number of FRFs. The open-loop H
OL
= C

must cross the origin at (180, 0), at the right if moving fromlowfrequencies (upper right)
towards high frequencies. The phase and gain margin are indicated by the circle around
the origin. The loop in the curve is introduced by the notch, which is overcompensating
some H
OL
curves. The curves in this gure correspond with the curves with the same color
given in Figure 4.13.
65
10
0
10
1
40
30
20
10
0
10
20
30
10
0
10
1
180
90
0
90
180
10
0
10
1
40
30
20
10
0
10
20
f [Hz]
[
H
[
[
d
B
]
p
h
a
s
e
(
H
)
[
d
e
g
]
[
S
[
[
d
B
]
(
p
[V bar
1
]
H
OL
[]
T
p
[bar V
1
]
Figure 5.5: The two upper gures show the magnitude and phase of the controller C
p
, plant
P
p
and the open-loop H
OL
= C
p
P
p
. The phase margin at 145 dB is indicated by the
pink line in the second gure. The lower image shows the sensitivity S = (1 +C
p
P
p
)
1
of
the control loop, the sensitivity margin of 6 dB is indicated by the pink line. The bandwidth
is approximate 3 Hz, as indicated by the two vertical pink lines.
66
Feedback control of the robotic arm
output BW [Hz] t
s
[s] t
r
[s] M
p
e
ss

2
1 3 0.69 0.25 7 deg 0.10 deg
p
AB
3 0.30 0.06 0.01 bar
Table 5.3: The performance indicators for the 1DoF robotic arm, using the controllers as
dened in Tables 5.1 and 5.2. The angle performance is measured for a step of 30 deg, the
pressure performance for a step of 0.5 bar.
5.2.3 Performance
The performance is measured by the bandwidth (BW), the settling time t
s
, the rise
time t
r
, the overshoot M
p
and the static error e
ss
, [Franklin, 2001]. In Table 5.3, the
values of the performance indicators for
2
and p
AB
are given . The bandwidth is
taken from the FRF graphs, while the four time domain indicators are taken from
the step response measurements as given in Figure 5.6.
It is remarkable that the pressure is aected by the step in the angle, while the angle
is not aected by a step in the pressure. At 9.5 seconds, an infeasible setpoint is
oered, the robotic arm stabilizes at a slightly lower angle and pressure.
In Figure 5.7, a third-order angle prole is tracked by the robotic arm, the pressure
reference is constant. Only a small part of the measurement is shown, as it is
highly repeatable. The tracking shows a delay of approximately 0.1 sec and a some
overshoot 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 robotic
arm is good. The robotic arm is not sensitive to external disturbances and errors
are 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 shows
some overshoot for large angles, while the experiment becomes slow. This mis-
match is probably due to the friction (damping), which increases if a muscle is
highly stretched. Still, the simulations shows much resemblance with the exper-
iment. Especially the behavior of p
AB
is predicted accurately by the model. Also
the tracking error of the angle is similar to the experiment. The controller used in
the simulation is slightly dierent from the controller in the experiment, the notch
frequency is set to f
n
= 4.5 Hz.
Before expanding the robotic arm with joint 1, the control strategy as used for the
DoF joint 2 system, is used to control the DoF joint 1 system. The outputs of this
system are the cumulative pressure p
CD
of muscles C and D and the angle
1
. The
pressure controller (
p
is similar to the controller in Table 5.2, a new angular con-
troller (

is designed. This is discussed in detail in Appendix H.4. The bandwidth


of 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 need
to be considered before the designing of the controllers can be discussed. Firstly, a
dierent control strategy must be used due to hardware limitations and, secondly,
the dynamic coupling between the two joints must be considered.
67
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 10
0
0.5
1
1.5
2
time [s]

2
[
d
e
g
]
p
A
B
[
b
a
r
]
reference
experiment
Figure 5.6: Step response or the 1DoF controlled robotic arm. The angle step of 30 deg and
the 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 7
0.7
0.75
0.8
0.85
0.9
0.95
1
1.05
time [s]

2
[
d
e
g
]
p
A
B
[
b
a
r
]
reference
experiment
simulation
Figure 5.7: Simulation and experiment showing the error tracking of respectively the model
and the robotic arm. The angle reference is a third-order continuous prole, the pressure
reference is 1 bar. The used controllers are similar, except for the notch frequency. In case
of the model, f
n
is adjusted to the eigenfrequency of the model.
68
Feedback control of the robotic arm
5.3.1 Dual joint control strategy
The state x of the 2DoF robotic arm1
2
is given by two joint angles and four muscle
pressures. The input to the PWM and 1
2
are four ow control signals u:
u =
_
u
A
u
B
u
C
u
D

T
(5.9)
x =
_

1

2
p
A
p
B
p
C
p
D

T
. (5.10)
Due to hardware limitations, only four of the six state variables x of 1
2
can be
measured. As a result, the control strategy as proposed in Section 5.1 for 1
1
, can
not be used for 1
2
. This makes it also impossible to decouple the outputs of 1
2
.
To be able to control the joint angles accurately, the two angle signals are chosen
as output. This leaves only two pressure signals to be used, one signal for each
joint. It is decided to control the pressure in muscles A and C . The notation as
introduced for 1
1
in Section 5.1, is also adopted for 1
2
. Using the state variables
dened in (5.10), the outputs are dened by:
y =
_

1

2
p
A
p
C

T
= x , (5.11)
with the output matrix:
=
_

_
1 0 0 0 0 0
0 1 0 0 0 0
0 0 1 0 0 0
0 0 0 0 1 0
_

_
. (5.12)
Using the same reasoning as given for angle
2
in the 1
1
case, angles
1
and
2
are aected by adjusting the pressure in respectively muscles C and D and muscles
A 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 are
generated by applying the input matrix according to:
z =
_
z

1
z

2
z
p
A
z
p
C

T
. (5.13)
u = z (5.14)
=
_

_
0 1 1 0
0 1 0 0
1 0 0 1
1 0 0 0
_

_
. (5.15)
In Appendix H.5, the conversion of 1
2
to the plant T
2
is visualized. To control the
outputs y, four controllers are required: (

1
, (

2
, (
p
A
and (
p
C
respectively. The four
inputs z and four outputs y of T
2
are related to each other by:
T

1
=

1
z

1
, T

2
=

2
z

2
, T
p
A
=
p
A
z
p
A
, T
p
C
=
p
C
z
p
C
. (5.16)
It should be noted that the inputs p
A
and
2
are not decoupled; using Figure 5.1, it
can be seen that a change in p
A
also aects
2
and vice-versa. The same reasoning is
also valid for p
C
and
1
. As a result, interference of the two control loops may cause
instability. However, this is not expected, as the two control loops work opposing to
each other for muscle A ; i.e. the control signals z

2
and z
p
A
extinguish each other.
A secondary eect of this is that the settling time of
2
may increase.
The control loops of p
A
and p
C
are decoupled, the coupling between the two angular
control loops for
1
and
2
, is discussed in the following section.
69
10
1
10
0
10
1
80
70
60
50
40
30
20
10
0
10
10
1
10
0
10
1
80
70
60
50
40
30
20
10
0
10
10
1
10
0
10
1
80
70
60
50
40
30
20
10
0
10
10
1
10
0
10
1
80
70
60
50
40
30
20
10
0
10
f [Hz] f [Hz]
[
T

[
[
r
a
d
V

1
d
B
]
[
T

[
[
r
a
d
V

1
d
B
]
T

11
=

1
z

1
T

12
=

2
z

1
T

21
=

1
z

2
T

22
=

2
z

2
p
C
= 0.4 bar
p
C
= 0.6 bar
p
C
= 0.8 bar
Figure 5.8: The four frequency response functions of P

for dierent values of p


C
. The
FRFs are experimentally determined around

1
=

2
= 0 deg. The pressure in muscle A
is kept at p
A
= 0.4 bar in closed-loop.
5.3.2 MIMO system identication
It is expected that the dynamics of the robotic arm are coupled, i.e. if one angle
changes, the dynamics of the robotic arm is changed yielding a new equilibrium
for both angles. In case the coupled dynamics are not considered in the design
of the two angular control loops, the robotic arm might become unstable due to
the fact that the two control loops might interfere. For this reason, a closed-loop
sensitivity identication is used to determine the frequency response functions of
the angles of the 2DoF robotic arm. This is explained in Appendix H.6, using the
theory as given in [Skogestad, 1996; Tousain, 2006]. The results of this analysis
are given in Figure 5.8 for three dierent equilibria. The direct FRFs are given by
T

11
and T

22
, the coupling from the
2
loop to the
1
loop is given by T

12
and
vice-versa by T

21
.
Angle
1
gives a response of approximate [T

12
[ 30 dB to an excitation of
2
.
The response of [T

21
[ 40 dB. The magnitude of T

11
and T

22
are given by
respectively 10 and 20 dB. Using these approximated magnitudes, the inuence
of the coupling on the input-output behavior is considered for joint i, taking into
account the coupling with joint j. This yields that the contribution of the coupling
on the input-output behavior is negligible:
(

i
T

ii
1 +(

i
T

ii

_
(

i
(

j
T

ji
T

ij
_ _
1 +(

j
T

jj
_
1

(

i
T

ii
1 +(

i
T

ii
. (5.17)
The lowcoupling is mainly due to T

21
, joint 2 hardly responses to joint 1 excitation.
In Appendix H.7, the minor coupling is proven, using the interaction coecient.
70
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-loop
system are discussed.
Angular controllers
The angular frequency response functions are given in Figure 5.8. Although the
coupling is of not much importance, it is considered in the loop shaping of (

1
and (

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 lter.
Compared to the DoF case, the controller for
1
is almost similar (see Appendix
H.4). The controller design for (

2
is dierent from the DoF case as is given in
Section 5.2.1. The reason for this is to check whether it is possible to compensate
for the dierentiating behavior of the pneumatics. The lead-lag lter is applied over
a 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.9
and 5.10 for respectively (

1
and (

2
. The bandwidth of the
1
loop is 1 Hz, the
bandwidth of the
2
loop approximately 3.5 Hz
1
. The controller parameters are
given 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, the
phase, amplitude and sensitivity margins are met for both controllers.
gain lead-lag notch low-pass
p 16 f
1
0.2 f
n
1.4 f
l
6
f
2
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 controller
consists of a gain with a notch, lead-lag and a second-order low-pass lter. All frequencies
f are given in Hz.
gain lead-lag notch low-pass
p 5.4 f
1
0.2 f
n
6.1 f
l
12
f
2
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 controller
consists of a gain with a notch, lead-lag and a second-order low-pass lter. All frequencies
f 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. This
is not true, only three FRFs around

2
= 0 deg are considered. In case the FRFs around

= 0 are
also considered, the bandwidth of the 2DoF
2
loop is lower. Also, the eigenfrequency of
2
in the
2DoF case, is slightly lower compared to the DoF case.
71
10
1
10
0
80
60
40
20
0
20
40
10
1
10
0
180
90
0
90
180
10
1
10
0
30
20
10
0
10
20
f [Hz]
[
H
[
[
d
B
]
p
h
a
s
e
(
H
)
[
d
e
g
]
[
S
[
[
d
B
]
(

1
[V rad
1
]
H
OL
[]
T

2
[rad V
1
]
Figure 5.9: The two upper gures show the magnitude and phase of controller C

1
, plant
P

1
and the open-loop H
OL
= C

1
P

1
. The phase margin at 145 dB is indicated by the
pink line in the second gure. 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
Feedback control of the robotic arm
10
1
10
0
10
1
60
40
20
0
20
40
10
1
10
0
10
1
180
90
0
90
180
10
1
10
0
10
1
30
20
10
0
10
20
f [Hz]
[
H
[
[
d
B
]
p
h
a
s
e
(
H
)
[
d
e
g
]
[
S
[
[
d
B
]
(

2
[V bar
1
]
H
OL
[]
T

2
[bar V
1
]
Figure 5.10: The two upper gures show the magnitude and phase of controller C

2
, plant
P

2
and the open-loop H
OL
= C

2
P

2
. The phase margin at 145 dB is indicated by the
pink line in the second gure. 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
Pressure controllers
Both pressure controllers (
p
A
and (
p
C
are equal: a gain with a rst-order low-pass
lter. The gain is lower compared to the (
p
controller as dened for the DoF
robotic arm and the low-pass lter frequency is located at 4 Hz. The reason for this
is simple; to lower the bandwidth of the pressure, yielding a similar bandwidth as
the
1
loop. The settings of the pressure controllers are given in Table 5.6.
gain low-pass
p 5 f
l
4
Table 5.6: The pressure controllers C
p
A
and C
p
C
are identical. The controller consists of a
gain and a rst-order low-pass lter. The low-pass frequency f
l
is given in Hz.
Performance
The performance of the 2DoF system is indicated by the bandwidth (BW), settling
time t
s
, rise time t
r
, overshoot M
p
and static error e
ss
, see Table 5.7. The band-
width is taken from the FRF graphs, while the four time domain indicators are
taken 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 p
C
, while the
setpoint for
2
and p
A
are kept constant. The low coupling between the two joints
is conrmed by
2
and p
A
, which showno sign of such coupling. The behavior of
1
is very undamped, which results in a long settling time. The coupling between
1
and p
C
is indeed present, as was predicted in Section 5.3.1. The coupling is clearly
visible at approximately 20 seconds. Angle
1
is heavily excited by a step in p
C
. The
coupling increases the settling time of p
C
.
In Figure 5.12, similar steps are set to the reference of
2
and p
A
, while the desired

1
and p
C
are kept constant. Again, the two joints appear to be decoupled, while
2
and p
A
are coupled. Most remarkable, however, is the apparently damped behavior
of
2
. Angle
1
does not show this behavior in Figure 5.11. The only dierence
between both joints is the bandwidth: the bandwidths of
1
and p
C
are equal, the
bandwidths of
2
and p
A
are not.
The damped behavior is a result of pressure controller (
p
A
and the used control
strategy. If
2
changes, both p
A
and p
B
are aected. The change of p
A
is opposed by
(
p
A
; i.e. the nal rotation is mainly the result of the change in p
B
. For this reason, it
output BW [Hz] t
s
[s] t
r
[s] M
p
e
ss

1
1 4.7 0.4 7 deg 0.30 deg
p
C
1 3.3 0.3 0.01 bar

2
3 2.8 2.1 0.50 deg
p
A
1 0.7 0.2 0.02 bar
Table 5.7: The performance indicators for the 2DoF robotic arm as derived from the step
excitations, given in Figures 5.11 and 5.12. No overshoot of
2
can be given.
74
Feedback control of the robotic arm
is believed that the coupling between p
A
and
2
will not result in stability problems.
The two opposing controllers (

2
and (
p
A
are counterbalanced due to the input
matrix . This results in a limited energy added to the system, which appears to
be damped behavior of the joint. The reason that this occurs only in joint 2 and
not in joint 1 is the lower bandwidth of p
A
compared to
2
. When the angle error
becomes small, the motion becomes low-frequent; a low-frequent pressure change
is strongly opposed by (
p
A
. It can be concluded that by lowering the bandwidth of
the pressure loop, damping is added to the robotic arm. This will only work for the
2DoF 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) algorithmis proposed to control the
robotic 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. In
every experiment, the neural network is updated; so the neural network learns the
behavior of the robotic arm. The neural network, modelling the robotic arm, uses
the three most recent states as input.
Nine dierent actions are dened as controller output. The controller uses a second
neural network to estimate the implication of each of the nine actions. Based on
the nine estimate results and the endpoint of the p2p motion, one action is selected
and performed.
It can be concluded that the RL controller is a feedforward controller. The current
states are not used to calculate the tracking error, but to make an estimate of the
implication 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 dened. However, three conclusions are given when comparing the
implementation 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%, the
trial is aborted after 100 actions. The feedback controller tracks a trajectory
correctly.
In an equilibrium point, the RL controller suers severely from limit cycling,
while the feedback controller is stable due to the dead-zone in the PWM.
75
0 5 10 15 20 25 30
40
20
0
20
40
0 5 10 15 20 25 30
0
0.5
1
0 5 10 15 20 25 30
40
20
0
20
40
0 5 10 15 20 25 30
0
0.5
1
time [s]

1
[
d
e
g
]
p
C
[
b
a
r
]

2
[
d
e
g
]
p
A
[
b
a
r
]
reference
experiment
Figure 5.11: Step response or the 2DoF controlled robotic arm. The angle step of 15 deg
and the pressure step of 0.25 bar are used to derive the performance indicators in the two
upper rows in Table 5.7. Only
1
and p
C
are excited,
2
and p
A
are kept constant by the
controllers.
76
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 20
0
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 20
0
0.5
1
time [s]

1
[
d
e
g
]
p
C
[
b
a
r
]

2
[
d
e
g
]
p
A
[
b
a
r
]
reference
experiment
Figure 5.12: Step response or the 2DoF controlled robotic arm. The angle step of 15 deg
and the pressure step of 0.25 bar are used to derive the performance indicators in the two
lower rows in Table 5.7. Only
2
and p
A
are excited,
1
and p
C
are kept constant by the
controllers.
77
In the feedback controller, a notch lter is essential. The RL controller must
also generate behavior similar to a notch lter; which seems unlikely as the
RL controller appears to function like a feedforward besides; only three time
samples are considered what is insucient for a notch lter.
The advantage of a black box approach of the RL controller in fact also counts for the
loopshaping approach. In depth dynamic systemknowledge is not required, overall
frequency-domain system identication is sucient. This is less time consuming
than the hundreds of trials required to constructed the model in the RL approach.
The tuning of controllers by loopshaping is simple and eective, even in case of a
nonlinear system with low bandwidth (as proven on the robotic arm).
Using linear control, performance guarantees can be given and the robustness to
certain system changes can be estimated (using the sensitivity and the Nyquist
stability criterion). Based on the advantages and disadvantages, it can be concluded
that 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 bandwidth
is limited. In this discussion some remarks on the two control strategies and the
performance are given.
The proposed control strategy for the DoF robotic arm results in two decoupled
outputs. The proposed control strategy for the 2DoF robotic arm gives two coupled
outputs for each joint. Both strategies stabilize the system correctly. The DoF
strategy results in a maximum performance of the robotic arm, while the 2DoF
allows for adding damping by adjusting the pressure controller. Obviously, the
DoF control strategy can also be used on the 2DoF system by using a dierent
dSPACE system with sucient inputs, so all sensor signals can be used.
The bandwidth of the robotic arm is 3 Hz at best. Considering the system, this is
good. The main performance limiting factors are the working pressure and the low
eigenfrequency of the robotic arm. The nonlinearities, introduced by the McKib-
ben muscles, are handled correctly by the linear feedback controllers and seem no
limitation.
The robotic arm behaves like an integrator at low-frequencies. For this reason, it
is assumed that the static error is a result of the of the dead-zone , as introduced
in the PWM. In order to reduce the static error, experiments are performed with
a smaller dead-zone. This results in nervous behavior and limit-cycling, which
proves that the dead-zone is essential in the control loop.
In the following chapter, the nal conclusions and recommendations of this work
are presented.
78
6
Conclusions and
recommendations
To investigate the applicability of pneumatic articial muscles as actuators for do-
mestic robots, research is performed on the modeling and control of a robotic arm
actuated by McKibben muscles (a type of pneumatic articial 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 identication, where special attention
should be given to the modelling of the articial muscles. This model should be
validated by experiments and used to construct linear feedback controllers, us-
ing a classical feedback approach, allowing for both stabilization and tracking
tasks. Finally, these controllers should be implemented and evaluated on the
experimental setup.
A robotic arm model is proposed, consisting of a pneumatic model (describing
the binary valves, ows and pressures), a newly developed model for the McKib-
ben muscles and a multibody model of the robotic arm dynamics. The pneumatic
model, the muscle stiness and the active muscle behavior are identied using
dedicated experiments; the experimental identication of the robotic armdynamics
is based on frequency-domain experiments. The model is validated by comparing
the equilibria and the dynamic behavior in both the time- and frequency domain of
the model to those of the experimental setup. A control strategy is proposed for the
decoupling of two McKibben muscles in an antagonist setup. Linear controllers are
designed using loop-shaping techniques and implemented on the robotic arm.
This chapter gives the conclusions divided in three parts. Firstly, conclusions are
given with respect to the four model parts: valves, pneumatics, muscles and robot
dynamics. Secondly, conclusions on the entire robotic arm model are drawn and,
nally, conclusions on the control of the robotic arm are given. This chapter is
ended by recommendations for future research.
Valves, pneumatics, muscles and robot dynamics
By applying pulse width modulation to the control signals, the binary behavior of
the valves becomes continuous by approximation. Limit cycling of the binary valves
is prevented by introducing a dead zone in the PWM. The phase shift due to the
PWM is 10 degrees at 5 Hz. As the maximum bandwidth is 4 Hz, the binary
valves are no restriction for the performance of the robotic arm.
The pneumatic model uses straightforward relations to describe the pressures and
the ows. Experimental identication on a test setup shows that the pneumatic
model is accurate. The robotic arm identication 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 environment
is 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 stiness, 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 ow and
muscle length). Three conclusions concerning the muscle model can be given:
The structure of the muscle model allows the muscle to be interpreted as
a force or a position actuator, depending on the load of the muscle. The
robotic arm identication shows that the two antagonist muscles act like a
force actuator; this is conrmed by the simulations of the robotic arm model.
The stiness of a McKibben muscle is identied on a tensile bench; these
dynamic experiments are used to t the parameters of the stiness relation
of the muscle model. The outcome of this t yields a stiness relation which
is not in agreement with the stiness following from the frequency-domain
identication experiments on the robotic arm. Both the muscle identication
and the robotic armidentication are considered to be correct. The mismatch
is caused by errors in the tted stiness relation; these errors are a result of
dierences 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 used
for the muscle identication (0.5 1.4 bar and 150 200 mm).
The muscle model considers the muscle to be barrel shaped. Simulations in
which a cylindrical shaped muscle is assumed have shown that the muscle
shape is of minor importance on the muscle behavior; namely, the relative
volume change is similar in both cases.
A multibody model is used to derive the equations of motion for the DoF and
2DoF robotic arm. This model is considered to be accurate. The length, mass and
inertia parameters are determined using the test setup and Unigraphics (to access
the geometrical data). The friction in the robot joints is not taken into account; this
is compensated for in the muscle model in the form of additional damping.
Robotic arm
The DoF robotic arm model is given by a fth-order nonlinear dierential equa-
tion; the 2DoF model is represented by a ninth-order nonlinear dierential equa-
tion. The modeling has given an increased insight in the functioning of the robotic
arm and the McKibben muscles. Three conclusions are given on the validation of
the robotic arm model:
The main nonlinear contribution to the robotic arm behavior is given by the
muscle stiness.
80
Conclusions and recommendations
Due to errors in the tted muscle stiness relation (which are stated above),
the robotic arm model is only predictive if the pressure dierence between
two 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 factors
in the muscle behavior. This is opposed by the identication experiments
performed in this work, which show that the energy dissipation in the mus-
cle is not signicant for its behavior. The dimensionless damping ratio of
the robotic arm is 0.05 0.02 and, according to the muscle identication,
approximately half the dissipation occurs in the muscles).
Control strategy
A control strategy is proposed, which yields two decoupled inputs. The pressure
dierence 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 are
decoupled. The cumulative pressure is a measure for the robotic armstiness. The
attained decoupling is not perfect, but satisfactory. This allows for the application
of SISO loop-shaping techniques to generate controllers and the following related
conclusions can be drawn:
Anotch lter in the angular controller is indispensable to stabilize the robotic
arm. The eigenfrequencies of the robotic arm are position dependant due
to the nonlinear stiness of the muscles; the range of eigenfrequencies is
compensated for with one notch lter.
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 is
slightly dierent. The two inputs to each joint are chosen dierently, as dierent
outputs are available; these two inputs are not decoupled. This does not lead to
stability problems, but the bandwidth drops to approximately 1 Hz; this is due to
the interaction of two outputs of one joint. The two joints are completely decoupled.
In most literature, complex control strategies are used to control systems actuated
by McKibben muscles. However, this work proves that good results are possible by
using loop shaping techniques to design a linear controller. The presented control
strategy 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 a
larger working area as the tube touches the braid at a lower pressure. Stretch-
ing the muscle with 10 to 15 mm is sucient.
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
To improve the robotic arm model; future research is desirable:
In the McKibben muscle model, the nominal length relation and the sti-
ness relation are derived by two dierent approaches. These two relations
must match, as in an equilibrium the force balance, determining the nomi-
nal length; gives the stiness of the muscle. The physical relation behind the
stiness and nominal length requires further research.
The dedicated muscle stiness measurements and the frequency-domain
identication experiments do not agree, with respect to the muscle stiness.
It is advised to repeat the muscle identication for an application range (mus-
cle lengths and pressures), similar to the application range of the muscles in
the robotic arm.
Experiments show that stretching a muscle while keeping the air mass con-
stant results in a signicant pressure increase; this is caused by a decrease in
volume. The muscle model hardly shows this behavior. This indicates that
the change in muscle volume not only depends on the muscle length, but
also on the pressure (or the nominal muscle length).
Measurements on the muscle volume for a range of lengths and pressures
would be desirable to dene a better volumetric behavior.
The additional value of the muscle model, compared to the existing Chou
Hannaford model, requires additional research. Both models are predictive
in a dierent application range; on the overlapping application range, they
should 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 not
veried. An experimental MIMO analysis would allow for a value judgment
of the decoupling strategy, based on the interaction coecient.
The linear controller is performing well, but there is clearly room for im-
provement. The robotic arm identication 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 would
be interesting to perform research on the increase in performance by using
more advanced control techniques.
Finally, some remarks on the application of McKibben muscles as robot actuators
in a domestic environment will be made. It is questionable whether McKibben
muscles are desirable for this application area; namely, they suer from wear and
friction, no two muscles are identical, their dynamic behavior is complex and pres-
surized air is required. Electric actuators do not suer 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-eector). Whether a
McKibben muscle or electric actuated domestic robot is used, numerous sensors
are required to detect possible unsafe situations.
If electric actuators are applied, it is most important to use a control strategy which
does 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
A
Specications of the
robotic arm parts
This appendix presents additional information on the robotic arm. First, some
robotic arm images are shown. In Appendices A.2 to A.4, the specications of the
binary 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 to
measure the pressure in the muscle.
The robotic arm can serve as a DoF and as a 2DoF system. By xing revolute joint
1 (indicated in Figure 2.1), the robotic arm becomes a DoF system, consisting of
revolute joint 2 and actuated by muscles A and B . The DoF system is shown in
Figure 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 out
of the working plane of the robotic arm are compensated in the bearings. Each
potentiometers has an internal bearing; it is mounted to the revolute joint through
a Koster coupling to avoid over-xation of the sensor, see Figure A.4.
The binary valves in the robotic arm are addressed by the controller. This controller
is implemented in MATLAB

SIMULINK

and uploaded to a dSPACE

system.
Inbetween the dSPACE and the robotic arm, a switching board is mounted, see
Figure 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-
cation. This is realized using eight FETs.
An external power source is implemented to power the switching board itself,
the FETs 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.
Figure A.1: The part of the robotic arm making up the DoF system. Revolute joint 1 is
xed by a beam which is visible in Figure A.3.
Figure A.2: The 2DoF robotic arm in
its initial position.
Figure A.3: The potmeter, 4 valves and
2 pressure sensors of the second DoF.
84
Specications of the robotic arm parts
Figure A.4: Both potentiometers are mounted to the axis using a so called Koster coupling.
This coupling xes DoF (rotation) while it allows motion in the other 5DoF. This is the
revolute joint 1 potentiometer.
Figure A.5: The switching board as implemented inbetween the dSPACE system and the
robotic arm. In Appendix A.5, the electrical scheme is given.
85
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
[
m
A
]
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 specication of the binary valves, [Festo, 2006].
86
Specications of the robotic arm parts
Valve response time measurements
The valve response time is checked by an experiment. The ow response is de-
termined by measuring the pressure directly behind the valve. In Figure A.6, the
current curve in the supply line is given for opening the valve. A similar curve is
measured, as is shown in Figure A.7. The pressure starts increasing after 2 ms, so
the ow response time for opening the valve is also 2 ms. Several measurements
have been performed, yielding similar results.
The ow response time for closing the valve, is given in Figure A.8. The current
shows a drop from 0.1 A to 0.0 A at the moment of switching. The pressure starts
increasing after 3 ms, so the ow response time for closing the valve is given by
approximately 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 this
gure shows great resemblance with the current as shown in the valve specication. On the
x-axis, both the current in Ampere and the pressure in bar is shown. The pressure in the
plot is multiplied by 10, to make the pressure increase it beter visual, this is also indicated
in 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 o the valve. On the x-axis, both
the current in Ampere and the pressure in bar is shown. Remark, the scaling diers from
the scaling in Figure A.7.
87
A.3 Festo SDE1 pressure sensor
Function
1)
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 50C
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, Gor QS-4
Measured variable Relative pressure
Differential pressure
1)
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 Any
2)
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
Specications of the robotic arm parts
A.4 Novotechnik SP2500 potentiometer
89
A.5 Electrical scheme of the switching board
DLP-245PB Page-1
Cor van der Klooster
20-8-2006
switchingboard.vsd
USB / PIC16877
35
C3
DLP-245PB
A0
3
1
A B
Edit
1.12
2
3
4
Brown
White
Black
Blue
+
2
4
V
F
e
s
to
S
D
E
-D
1
0
-G
2
-W
1
8
-L
-P
U
-M
8
Potentiometer
5
6
7
?K
+24V
10K
A1
4
1K8
5V1
BST70A
2
10K
+
2
4
V
1
BYW56
36
C4
BST70A
4
10K
+
2
4
V
3
37
C5
BST70A
6
10K
+
2
4
V
5
38
C6
BST70A
8
10K
+
2
4
V
7
White
Brown
Green
Festo
MHE2-MS1H-3/2
Festo
MHE2-MS1H-3/2
Black
Black
Black
Black
USB Standard USB Cable
PC
USB
Festo
MHE2-MS1H-3/2
Festo
MHE2-MS1H-3/2
Black
Black
Black
Black
BYW56
BYW56
BYW56
8
9
10
11
+
2
4
V
12
13
14
+
5
V
10K
1K8
5V1
A2
5
31
BST70A
10
10K
+
2
4
V
9
BYW56
B0
S
p
a
re
X4
X2
X3
R1
R2
V1
U2
R3
R4
V2
V3 R5
V4
V5 R6
V6
V7 R7
V8
V9 R8
V10
V11 R9
V12
40
21
1
20
FTDI
FT245BM
Microchip
PIC16F877
U
2
U
p
p
e
r v
ie
w
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
2
K
2
+
2
4
V
Gr
2
K
2
+
2
4
V
Gr
2
K
2
+
2
4
V
Gr
2
K
2
+
2
4
V
Gr
2
K
2
+
2
4
V
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
F
e
s
to
S
D
E
-D
1
0
-G
2
-W
1
8
-L
-P
U
-M
8
+15V
100nF
DC/DC Converter 305S 24FR
+5V
22uF
1
13
12
24
11
14
15
10
+
2AT
+24V
+
22uF
24V supply
+5V
+Vout
Common
+Vin
-Vin
INPUT
OUTPUT
1
2
5V / 24V Supply
X1
F1
U1
C1
C2
C3
13
VCC-IO
15
17
40
GND
GND
GND
GND
+5V
1
10
GND
GND
18
EXTVCC +5V
19
100nF 100nF
C4 C5
BST70A
2
10K
+
2
4
V
a
1
BYW56
BST70A
4
10K
+
2
4
V
a
3
BST70A
6
10K
+
2
4
V
a
5
BST70A
8
10K
+
2
4
V
a
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
2
K
2
+
2
4
V
a
Gr
2
K
2
+
2
4
V
a
Gr
2
K
2
+
2
4
V
a
Gr
2
K
2
+
2
4
V
a
Gr
10K
10K
10K
1
A B
Edit
1.12
2
3
4
Brown
White
Black
Blue
+
2
4
V
a
F
e
s
to
S
D
E
-D
1
0
-G
2
-W
1
8
-L
-P
U
-M
8
Potentiometer
5
6
7
10K
1K8
5V1
White
Brown
Green
8
9
10
11
+
2
4
V
a
10K
1K8
5V1
Ye
BYW56
Ye
BYW56
gain
gain
0.83V/Bar
0.83V/Bar
A B
Edit
1.12
Brown
White
Black
Blue
F
e
s
to
S
D
E
-D
1
0
-G
2
-W
1
8
-L
-P
U
-M
8
1
2
3
4
5
6
7
8
9
1
2
3
4
5
6
7
32
C0
33
C1
34
C2
39
C7
6
A3
2
E0
8
A5
+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
A4
7
(2.1 - 4K)
0-5V
0-5V
OUT
OUT
IN
IN
OUT
OUT
IN
IN
90
B
McKibben muscles
properties
This appendix presents some additional information on McKibben muscles. In
Section B.1, the major advantages and disadvantages of McKibben muscles are
given. The results of a literature review is presented in Section B.2, followed by
an example on the application of a McKibben muscle as a robotic actuator. Section
B.4 discusses the contribution of the rubber tube to the muscle behavior.
B.1 Advantages and disadvantages
An advantage of all types of pneumatic articial muscles (PAMs) is the energy to
mass ratio. Compared to conventional actuators (pneumatic, as well as hydraulic
and electric), PAMs excel in this respect [Plettenburg, 2005]. In applications in
which the total amount of mass is highly critical, PAMs might be an alternative.
A second advantage of pneumatic articial muscles is that they can be applied in a
very 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 is
made. In [Klute, 2002], the McKibben muscles are compared to the Hill model, a
model describing the behavior of biological muscles. The similarity is based upon
the length stiness relation of the muscles. The length damping relation is
dierent for McKibben muscles and biological muscles; the damping in McKibben
muscles 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 model
describing the actuator behavior is required in order to have the actuator generating
a required output force, dened by the control signal.
The major disadvantage of McKibben muscles, is that the relations dening its
behavior are nonlinear. Both the stiness and damping depend in a nonlinear
manner on the actual muscle length and the pressure. Besides, McKibben muscles
suer from hysteresis due to friction between the tube and the braid and between
the nylon bres of the braid. In [Chou, 1994], it is shown that the friction in the
braid is dominant.
B.2 Literature on McKibben muscles
In this section, the results of a small literature review are presented. The consulted
literature 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 into
account, 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], a
muscle setup is modeled, including a complex relation for the valve. In most cases
however, 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 [Schrder, 2003].
The most referred model is the ChouHannaford model [Chou, 1994]:
F
m
=
d
2
0
p
m
4
_
3
tan
2

0
(1 )
2

1
sin
2

0
_
, (B.1)
with the muscle force F
m
, the resting diameter d
0
, the muscle pressure p
m
, the
rest braid angle
0
and the elongation . In Appendix E.1, the complete derivation
of the ChouHannaford model is given.
In [Chou, 1996; Colbrunn, 2001] the relation in (B.1) is simplied (by reconsider-
ing the individual terms) to:
F
m
= k
g
(p
m
p
th
) (h h
min
) + k
p
(h h
r
) ; (B.2)
with k
g
a supposed constant gas stiness, k
p
an elastic constant for the shearing
force, the actual length h, the minimal length h
min
, the resting length h
r
and a
threshold pressure p
th
at which the tube and braid touch. According to the deni-
tion of minimal length, the force due to the air in the muscle is zero if the actual
and the minimal length are equal. Equation (B.1) has the two variables p
m
and ,
while (B.2) has the two variables p
m
and h.
The pressure in a McKibben muscle is always modelled by Boyle Gay-Lussacs law,
while the generated force is dened using a force balance. In the following, the
ChouHannaford model and contributions to this model are discussed by con-
sidering the active (elongation), passive (stiness and damping) and volumetric
(change in volume) behavior of McKibben muscles.
92
McKibben muscles properties
Active behavior
The actual muscle length is dened by in (B.1) or by h in (B.2). No denition
or analogy of the (variable) nominal length is found. In (B.2), the minimal length
h
min
is dened as the length where the force generated by the muscle is zero, i.e.
h
min
has a constant value.
In Section 3.4.4, it is shown that the nominal length approximates a constant value
for pressures higher then 2 bar. As a result, in the high-pressure range
1
the Chou
Hannaford denition of minimal length gives the same result as the nominal
length. In the low-pressure range, dierent values of the muscle pressure yield
a dierent muscle length with zero muscle force.
Passive behavior
The passive behavior of the ChouHannaford model is in fact given by (B.1). In
(B.2), the stiness is made more explicit by k
g
and k
p
. In [Petrovi c, 2002a], the
ChouHannaford model is converted into a quadratic stiness relation, which is
more obvious then the approximation made in (B.2).
In [Tondu, 1997; Chou, 1994], the (static) ChouHannaford model is turned a dy-
namic model by modelling a damper parallel to the stiness.
In [Klute, 2000], the ChouHannaford model is extended by a Mooney-Rivlin de-
scription for the visco-elastic behavior of the rubber tube. Compared to the friction
in the braid, the contribution of the rubber tube is rather doubtful. Due to the tight
bonding of the braid on the tube, the deformation of the tube is complex. An ex-
periment with an inating rubber tube, shows that the pressure in the muscle only
depends 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 ChouHannaford model for the concave end-
ings is given. The approximation of cylindrical shaped muscles does not seem to
be a very good approximation when looking at the Shadow McKibben muscles.
The pneumatic muscles used in [Chou, 1996; Tondu, 1997; Colbrunn, 2001] are
all cylindrical shaped muscle types (like Rubbertuators). In Figure 2.6, the shape
of the dierent muscle types can be compared.
Other models
Besides the ChouHannaford model, also other models are dened. In most cases,
the muscle stiness and damping are tted to quasi-static time domain measure-
ments. This approach yields no insight in the working principle of McKibben
muscles and for this reason we omit detailed referencing here. On exception is
the 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 tted in the s-domain to
obtain a transfer function from pressure to joint angle. The results are used to
generate 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
In [Bertetto, 2004], a numerical muscle model is presented. A McKibben muscle
is modelled in the FEM package ANSYS. The rubber is modeled as a hyperelastic
elements with eight nodes and a Mooney-Rivlin behavior; each thread of the braid
is modeled by a single tension bar element with linear elastic behavior. Simulation
on the force - length relation are validate by experiments. No further relations are
derived from the FEM model. This approach might lead to increased insight, but
is not useful in a control loop.
Discussion
The parameters used in (B.2) lack a clear physical interpretation. Also
0
in the
ChouHannaford model is not a well dened parameter, since it is not constant
over 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 fails
in presenting a better relation.
The results of the ChouHannaford 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 application
range is larger then 2 bar. This is a result of the commonly used Rubbertuator,
which is, just like Festos MAS, meant for the high-pressure range.
B.2.2 Control strategies for systems with PAMs
Numerous references can be found about the control of McKibben muscles. The
controllers are based on models and / or on measurements. In this section an
overview of control strategies is given and discussed.
In [Pack, 1994], three control strategies (PID, PID tuned by a fuzzy supervisor and
nonlinear) are compared. A model of two muscles in an antagonist setup is gen-
erated, consisting of the robot dynamics, and the ChouHannaford 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 [Schrder, 2003], an experimental setup of two antagonist muscles is consid-
ered. Instead of the length of force, the torque of both muscles, the joint angle
and the pressure dierence between the muscles is considered. A double loop of
two PI controllers is dened, 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 tted damping relation.
Rather common is the use of some sort of learning control. In [Petrovi c, 2002b] a
predictive fuzzy control approach is used to control a single muscle in simulation.
The predictive fuzzy model is partially based on measurements and partially on the
model given in [Petrovi c, 2002a].
In [van der Smagt, 1996], a neural network is used in a feedback controller; sim-
ulations of a robotic arm model (using the ChouHannaford model) as well as
experiments are used to verify the control strategy.
An adaptive control strategy is proposed by [Caldwell, 1994; Caldwell, 1995]; by
updating an s-domain polynomial every sample, a reconstruction of the robot is
made. The model parameters are used in the controller polynomials, this strategy
is experimentally veried.
94
McKibben muscles properties
In [Maas, 2005] a predictive (neural network) model, based on experiments, is used
in a reinforcement learning control approach
2
. The implementation of this control
strategy 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 scheduling
controller are applied in MATLAB simulations on a data tted muscle model. The
sliding mode and the backstepping controller showthe best error tracking; however
the sliding mode controller gives a chattered response.
In the following two references, simulations of very long McKibben muscles are
considered; long muscles approximate the cylindrical shape best. An antagonist
setup is used by [Lilly, 2005] to apply a sliding mode tracking control approach. A
variation on a sliding mode controller is proposed in [Repperger, 1998] to control
a single muscle. It denes a variable structure controller, which uses a sliding
mode control with a stabilized switching function. For the stabilization, a Lyapunov
distance 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 stiness. Open loop
stiness control is applied on one joint with two muscles. Working points are de-
ned by a xed combination of joint angle and rotation stiness (pressure). No
experimental time responses are given, only the equilibria are experimentally veri-
ed.
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 articial
muscles and binary valves is discussed. A simple feedback (no controller) is de-
ned. 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 actuator
applies a known force on a load, independent of the position; a position actuator
imposes 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 force
actuator. The McKibben muscle is considered to be a non-sti, force generating
actuator.
In Figure B.1, an example is given of a McKibben muscle used as actuator. Two
length denitions are introduced. The actual length h is dened by the length of
a muscle mounted in a robotic setup, i.e. the distance between the two mounting
ttings. The nominal length h
0
is dened as the length the muscle takes as a
function of the muscle pressure p
m
, if no external force is applied.
2
The reinforcement learning control approach in [Maas, 2005] is validated on the same robotic arm as
discussed in this report. Part of this thesis aims to compare the RL controller with a linear control
strategy; this is discussed in Section 5.4.
95
p
in
p
out
q
in
q
out
v
in
v
out
h() m
m
k(p
m
, h)
d(p
m
)
h
0
(p
m
)

F
m
p
m
, V
m
(h)
Figure B.1: A McKibben muscle is mounted between the xed world and a load m. The
pressure system with inlet pressure p
in
and outlet pressure p
out
is connected to the Mc-
Kibben muscle; the ows q
in
and q
out
towards and from the muscle are controlled by
respectively the valves signals v
in
and v
out
. The muscle pressure is given by p
m
and the
volumetric behavior is given by V
m
(h). In the upper part, a mechanical interpretation of
the McKibben muscle is given. The active behavior is indicated by nominal length h
0
and
the passive behavior is given by stiness k and damping d. The actual muscle length h()
depends on angle of load m. The generated muscle force F
m
(k, d, h, h
0
) induces the
acceleration of load m.
Imagine this system to be in a stable equilibrium with p
m
= 0.4 bar and = 0 rad.
Enabling v
in
yields a ow q
in
towards the muscle; as a result the pressure p
m
in the
muscle increases. The increase in p
m
yields three eects:
the ow q
in
decreases;
the nominal length h
0
decreases;
the muscles stiness k and damping d increase.
As the actual length is not instantly altered due to the inertia of the load m, the
actual length is larger than the nominal length, i.e. the muscle is stretched by hh
0
.
The stretched muscle in combination with the stiness k and damping d, results
in a force F
m
. This muscle force works on the load m, resulting in a motion of m
to the left; as a result, the actual muscle length decreases. The decrease in muscle
length h yields three eects:
the muscle force decreases due to a decrease of h h
0
;
96
McKibben muscles properties
the muscle volume V
m
depends on h; as h decreases, V
m
increases;
the stiness k decreases as h decreases.
The change in stiness k and actual length h, aect the muscle force F
m
; the
change in muscle volume V
m
aects the pressure p
m
. These changes, in turn,
aect the nominal length h
0
, the ow q
in
, etc. . . With this exposition, we aim to
clarify 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 inner
tire. 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 derived
in [Mller, 2004]. In Figure B.2a, the typical behavior of inating a spherical bal-
loon is shown. A lot of pressure is required, before the starts to inate. From this
moment on, less pressure is required for further expansion.
Similar behavior is found for cylindrical balloons, as shown in Figure B.2b. The
major dierence is that the pressure has a true maximumhere. Besides, a relatively
high pressure is required before the diameter of the balloon starts to increase. In
Figure B.2c, the variation in length is plotted against the variation in radius. In-
ating the balloon will rst cause an expansion in both diameter and length; in the
end, the length will reach a maximum and only the diameter will increase.
An experiment is performed with an adapted version of the McKibben muscle. The
braid is stripped from the muscle; only the rubber tube and the ttings remain. In
Figure B.3, two photos of the experiment are shown. In both cases, the balloon is
at approximately 0.3 bar, the (big) dierence is the volume of both muscles.
Most interesting is that the pressure in a cylindrical balloon is bounded according
to 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 are
related to each other by Boyle-Gay Lussacs law, see also (3.16). The experiment
shows that the pressure remains constant and that the increased air mass yields
an increase in volume. A McKibben muscle shows dierent behavior; an increase
in air mass yields a minor change in volume and an increase in pressure. For
this reason, it is believed that the ribber tube does not contribute to the pressure
relation of the McKibben muscle and that the volume of the muscle is completely
determined 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 the
rubber tube into account.
97
(a) p() spherical (b) p() cylindrical (c) () cylindrical
Figure B.2: A balloons length stretch ratio is dened by =
l
l
0
, with l the balloons length
and l
0
the balloons resting length. A balloons radius stretch ratio is dened by =
r
r
0
,
with r the balloons radius and r
0
the balloons resting radius. The pressure as function of
strain 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 axis
are of minor interest, the shown behavior is important. Images taken from [Mller, 2004].
170 mm
`

(a)
360 mm
`

(b)
Figure B.3: The rubber tube of a McKibben muscle, before (a) and after (b) inating, the
pressure in both cases is approximately 0.3 bar. The length of the tube is indicated in the
gures.
98
C
Pulse 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 with
value 1 and a variable pulse width. In the robotic arm setup, a distinction is made
between a positive or a negative value of the input signal. A positive input signal
refers to the ow-in valve while a negative input value refers to the ow-out valve.
The PWM algorithm uses a sample frequency f
PWM
. On every sample the value of
the input signal is taken as a reference for the pulse width. The PWM frequency is
based on a comparative assessment of four properties:
A high f
PWM
enlarges the bandwidth of the PWM algorithm, a rule of thumb
is BW =
1
10
f
PWM
.
The number of valve actions every second is equal to f
PWM
, so a high fre-
quency might make the robotic arm act nervously.
The valves have a limited switching frequency (in this case f
v
= 300 Hz). If
f
PWM
approaches f
v
, there is not much variation possible in pulse width.
The use of hoses in the pneumatic system introduces low-pass behavior. A
suciently high f
PWM
smoothens the pulsating air ow.
A test setup, as given in Figure C.1, is used to determine the inuence of f
PWM
on the time behavior of the pressure. In Figures C.2 to C.4, three experiments
with dierent f
PWM
are shown. As can be seen the pressure in the volume p
out
smoothens rather well if f
PWM
= 50 Hz; at f
PWM
= 100 Hz, p
out
hardly shows any
ripple at all. Based on the value of f
PWM
and p
out
, it is decided to set f
PWM
= 50 Hz.
A higher f
PWM
is considered to be too close to f
v
. Notice that f
PWM
does not aect
the pressure rise time.
Due to the choice for f
PWM
, the bandwidth of the PWM algorithm is 5 Hz. This is
in the same range as the expect bandwidth of the robotic arm.
p
in
p
out
p
valve
Figure C.1: Three pressures are measured to determine the inuence of f
PWM
.
0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2
0
0.2
0.4
0.6
0.8
1
t [s]
p
[
b
a
r
]
p
in
p
valve
p
out
Figure C.2: Inating of a constant volume through a binary valve. The valve is controlled
by 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 2
0
0.2
0.4
0.6
0.8
1
t [s]
p
[
b
a
r
]
p
in
p
valve
p
out
Figure C.3: Inating of a constant volume through a valve. The valve is controlled by a
block 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 2
0
0.2
0.4
0.6
0.8
1
t [s]
p
[
b
a
r
]
p
in
p
valve
p
out
Figure C.4: Inating of a constant volume through a valve. The valve is controlled by a
block signal of 100 Hz and the pulse width is 50%.
100
Pulse width modulation
C.1 Formulation of the PWM algorithm
A PWM algorithm samples the input signal by a frequency f
PWM
. This means that
the pulse width is calculated for the value of the input signal at the sample time. It
is decided to use a zero-order hold (ZOH) as this introduces the least phase delay.
For the ZOH, a discrete PWM time t
k
(t) is introduced, the samples are given by
k(t):
k(t) = t f
PWM
(C.1)
t
k
(t) =
k(t)
f
PWM
. (C.2)
The rst 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 performed
by taking u(t
k
) of u(t). The sign splitting is taken into account by applying two
saturations with dierent boundaries on u(t
k
).
u
k,in
(t) = sat
{0,1}
(u(t
k
))
u
k,out
(t) = sat
{1,0}
(u(t
k
)) .
(C.3)
The parameters describing a pulse are shown in Figure C.5, the pulse width is given
by s, where s [0, T
PWM
], with T
PWM
=
1
f
PWM
.
0
1
T
PWM
s
v
in
Figure C.5: Pulse parameters.
The basic property of the PWM algorithm is to keep the power of the input and the
output signal equal. This property is used for the inputs u
k,in
(t) and u
k,out
(t), but
not for the original input u(t). The algorithm is explained for u
k,in
(t). Solving the
integral of u
k,in
(t) and v
in
(t) over one sample time, determines the value of s:
T
PWM
_
0
u
k,in
dt =
T
PWM
_
0
v
in
(t) dt (C.4)
u
k,in
(t) T
PWM
= 1 s +0 (T
PWM
s) (C.5)
u
k,in
(t) T
PWM
= s . (C.6)
101
To ensure the valves to open at t = t
k
and to close t = t
k
+s, a threshold is dened.
The threshold u
th
[0, 1] is a sawtooth function which runs from 0 to 1 every
T
PWM
, as given by:
u
th
(t) = t f
PWM
k(t) . (C.7)
The valves have a limited switching time. It is of no use to demand the valves to
open for a time less than the switching time; namely, this will result in errors and
possible limit cycling of the control loop.
To prevent limit cycling, a saturation is introduced on u
th
:
v
th
(t) = sat
{,1}
(u
th
(t)) , (C.8)
with v
th
[, 1 ]. A rule of thumb for is
=
2
f
v
, (C.9)
where f
v
is the maximum valve switching frequency.
The PWM output signal is given by comparing the threshold v
th
(t) to the sampled
input u
k,in
(t). Finally, the valve signals are derived by comparing the ow signal
u
k,in
(t) with the threshold v
th
(t). This is shown in (C.10) for both v
in
(t) and
v
out
(t); remark the additional minus in the v
out
(t) relation.
v
in
(t) = u
k,in
(t) > v
th
(t)
v
out
(t) = u
k,out
(t) < v
th
(t)
(C.10)
In Figures 3.3 and C.6, the PWM results are shown for two dierent f
PWM
.
In case of the robotic arm, four input signals u(t) are transformed into eight dis-
crete output signals v(t), dened by:
u(t) =
_
u
A
(t) u
B
(t) u
C
(t) u
D
(t)

T
(C.11)
v(t) =
_
v
in,A
(t) v
in,B
(t) v
in,C
(t) v
in,D
(t)
v
out,A
(t) v
out,B
(t) v
out,C
(t) v
out,D
(t)
_
T
(C.12)
Remarks
The main advantage of this algorithm is the use of the threshold v
th
(t) as it allows
for real time implementation in dSPACE.
Errors due to the zero-order hold are not compensated for. As the PWM algorithm
is part of the control loop, errors are corrected directly. Besides, a static error is
introduced by the dead-zone due to the saturation .
102
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
i
n
,
i
(
t
)
v
th
(t)
u
i
(t)
u
i
(t
k
)

Figure C.6: Example of the PWM algorithm with f


PWM
= 50 Hz and = 0.01 s.
C.2 Saturation function
It is assumed that a standard saturation function is dened with the boundaries 1
and 1 as given by:
y = SAT(x)
y = 1 x < 1
y = x 1 x 1
y = 1 x > 1 .
(C.13)
In this thesis, an alternative notation is introduced which enables for a saturation
with variable boundaries:
y = sat
{a,b}
(x)
y = a x < a
y = x a x b
y = 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:
sat
{a,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 dened in (C.14) are
given. In the upper right gure is shown that sat
{1,1}
(x) yields the same result
as SAT(x).
103
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
x x
y
y
y = SAT(x) = sat
{1,1}
(x) y = sat
{1,0}
(x)
y = sat
{0.1,0.9}
(x) y = sat
{1.5,0.3}
(x)
Figure C.7: Example of the used saturation function.
104
D
Considerations on the
pneumatic model
In this appendix, the building and modelling of a pneumatic test setup is discussed.
Based on these results, the model of the pneumatics in the robotic arm are dened.
Two types of behavior are investigated with the pneumatic test setup; the type of
ow 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 Appendix
D.2, two ow descriptions are dened and, in Appendix D.3, the modelling of the
valves is discussed. Finally, in Appendix D.4, simulations will show which ow and
which valve model is preferred.
D.1 Pneumatic test setup
To model the pneumatic system, a simple test setup has been built which resembles
the 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. A
smaller capacity (with a xed volume) is used instead of a muscle. A muscle has a
variable volume which is not desirable in the modelling of the pneumatic system
as the change of volume is not exactly known. A similar solenoid valve as in the
robotic arm is used mounted inbetween the two capacities.
Pressure sensors are mounted on three places: on the two capacities and behind
the valve. A current sensor for the valve is made of several resistances in order to be
able to determine the exact moments of activating the valves. The manual switch
is mounted to release the air from the small capacity.
A signal generator and an amplier are used to direct the solenoid valve. As the
valves in the robotic arm are directed by binary signals, similar signals are used in
the 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 frequency
and the duty-cycle of the pulse can be varied.
Further, a dSPACE system is used for data acquisition. The measurements are
imported into MATLAB for comparison with the simulations.
amplier
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
q
in
p
in
q
1
q
2
p
c
p
m
p
1
p
2
Figure D.2: Schematic representation of the pneumatic test setup; the ows are indicated
by q and the pressures by p.
q
p
1
p
2
Figure D.3: Flow model.
106
Considerations on the pneumatic model
D.2 Flow modelling
Every pneumatic system must fulll mass conservation. For this reason owing
air is described by mass ow, while in general ow velocity is measured. Velocity v
and mass ow q are related to each other by the density and the ow area A:
q =
_
A
v dA . (D.1)
The ow through a hose depends on the pressure dierence between the two sides
of the hose, as shown in Figure D.3. In this section, two relations for q(p
1
, p
2
)
are considered. Flow behavior dominated by the hose geometry and ow behavior
dominated by the geometry of throttle, which is present in the hose.
Laminair ow through a hose
In this case, it is assumed that the ow through the hoses is laminar and that the
hose itself determines the ow, see Figure D.4. A laminar ow through a round
hose is described by the Hagen-Poiseuille law, [Polytech, 1997]. This is the solution
for (D.1) in case of the quadratic velocity prole v:
q =
_
p
1
p
2
_
, (D.2)
with the ow resistance
=
r
4
h
8l
h
, (D.3)
the radius of the hose r
h
, the length of the hose l
h
and the dynamic viscosity of
air . The density of the air is a function of the pressure. As the pressure changes
with the length, the mean of the two pressures p
1
and p
2
as dened in Figure D.3,
is used to derive the density:
=
p
1
+ p
2
+ 2 p
atm
2R
s
T
. (D.4)
Flow through a throttle
In the hoses, valves are present. These valves act as throttles in case the valve
radius is small compared to the hose radius, see Figure D.5. In this case, the ow
l
h
2r
h q
v
Figure D.4: Laminar Poiseuille ow.
2r
t
q
Figure D.5: Throttle valve ow.
107
behavior is determined by the valves. The relation describing the ow through a
throttle valve [Polytech, 1997] is given by:
q =
_
(p
1
p
2
) , (D.5)
with
= 0.59

2 r
2
t
(D.6)
and r
t
the throttle radius. The density is dened by (D.4).
D.3 Valve modelling
The valves used in the robotic armand in the pneumatic test setup are fast-switching
solenoid valves. In Section 3.2, it is shown that the dynamic behavior of the valves is
not important for modelling the robotic behavior. For this reason, a change in valve
state (open or closed) is instantaneous. In that section, two methods for modelling
the 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 rst. A schematic overview of the pneumatic
test setup is already shown in Figure D.2. The pressure in both volumes satisfy
(3.20) and the ow 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 small
volumes 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 small
volumes are dened by the volume in solenoid valve and of the hoses.
A consequence of this approach is that each volume adds one order to the model
as it is described by the dierential equation given in (3.20). When considering
Figure 2.2, it can be noticed that in case of the robotic arm, ve orders would be
added to the model; one volume for the splitter and four volumes for the backside
of the valves.
Zeroth-order valve description
Another way to model the solenoid valve is given in Figure D.7. The valves are
not modeled at all, only the function of the valves is implemented into the hose
between the capacity and the muscle volume. The status v of the solenoid valve
determines whether ow is possible or not. Using this approach, no additional
orders are added to the model as no volumes are introduced. This might be an
advantage in solving the model.
In case of the robotic arm, multiple McKibben muscles and valves are connected to
the capacity, by a single hose which is split into four hoses, see Figure 2.2. Similar
as for the valves, the splitter can not be modeled as a small volume, a dierent
relation is derived for the implementation of the splitter behavior. This is presented
in Section 3.3.2.
108
Considerations on the pneumatic model
p
in
p
c
, V
c
q
1
q
v
, v q
2
p
m
, V
m
p
1
, V
1
p
2
, V
2
capacity muscle
q
in
Figure D.6: Model of the pneumatic test setup with a second-order valve description.
p
in
p
c
, V
c
p
m
, V
m
capacity muscle
q
s
v
q
in
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 ow relations of Appendix D.2 and the two valve relations
of Appendix D.3 are implemented into a model of the pneumatic test setup.
The rst model is called PTS1. It combines the second-order valve model with the
Poiseuille ow. Applying (D.2) for the hoses and (3.20) for the four volumes, gives:
p
c
= R
s
T V
1
c
_
q
in
q
1
_
p
1
= R
s
T V
1
1
_
q
1
q
v
_
p
2
= R
s
T V
1
2
_
q
v
q
2
_
p
m
= R
s
T V
1
m
q
2
,
(D.7)
with the Poiseuille ows given by:
q
in
=
in

in
_
p
in
p
c
_
q
1
=
1

1
_
p
c
p
1
_
q
v
= v
v

v
_
p
1
p
2
_
q
2
=
2

2
_
p
2
p
m
_
.
(D.8)
In the second model (called PTS2), the second-order valve model is combined with
the throttle ows of (D.5). The pressures are also given by (D.7), but the ows are
given by:
q
in
=
in
_

in
(p
in
p
c
)
q
1
=
1
_

1
(p
c
p
1
)
q
v
= v
v
_

v
(p
1
p
2
)
q
2
=
2
_

2
(p
2
p
m
) .
(D.9)
All ows and pressures are indicated in Figure D.6. The ow resistance , the
density and the throttle parameter are dened by respectively (D.3), (D.4) and
(D.6).
109
0 0.5 1 1.5 2 2.5 3 3.5 4
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
t [s]
p
[
b
a
r
]
simulation p
c
simulation p
1
simulation p
2
simulation p
m
experiment p
c
/p
1
experiment p
2
experiment p
m
Figure D.8: Simulation of PTS1 compared to the measurement for instant activation of v.
An ideal t would be if the red (p
m
) and green (p
2
) dashed lines would match the red and
green solid lines. The solid blue lines must be inbetween the dashed blue (p
c
) and black
(p
1
) line.
0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
t [s]
p
[
b
a
r
]
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
Considerations on the pneumatic model
The valve status v is a binary signal; the gas temperature T and the specic gas
constant R
s
are constants. In the pneumatic test setup, v is generated by a signal
generator. Both models are compared with an experiment.
In PTS1, the parameters are dened using the hose dimensions. Unfortunately,
this yields PTS1 to be unstable. To check whether PTS1 will ever be able to yield
a good t, the parameters are tuned to the best possible t between the simula-
tion and the experiment, This is shown in Figure D.8. The dashed lines represent
the model, while the solid lines represent the measurements. As can be seen, the
Poiseuille ow it is not likely to describe the time behavior of the pressure accu-
rately. It can be concluded that the ow is not dominated by Poiseuille behavior
and that the discrepancy between the simulation experiment is not due to errors in
the parameters.
Using the the diameters of the reduction valve and solenoid valve, the parameters
in PTS2 are dened. 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 yielded
no improvement of the simulation as given in Figure D.9. It can be concluded that
the ow in the pneumatic test setup and in the robotic arm, are determined by the
geometry of the reduction valve and the solenoid valves.
In Figure D.10, a second example of PTS2 is shown. The response of PTS2 and
a measurement are compared to each other when v is a pulsating signal at 25 Hz
with 50% duty cycle is given. The match between experiment and simulation is
good.
In Figure D.9, it can be seen that PTS2 becomes slightly unstable after simulating
1.2 seconds. From this point on, the pressures are almost equal to each other. As
a result, numerical errors occur in the simulation. The reason for this is twofold:
cancelation (lost of signicant numbers due to subtraction) combined with sti
dierential equations [Heath, 2002].
Using the second-order valve model, two small volumes are introduced. These
small volumes have a small time constant compared to the relatively large volumes
of the capacity and the muscle yielding a set of sti dierential equations. In Figure
D.11, the ow belonging to the simulation in Figure D.9 is given. As can be seen,
large uctuations occur due to cancelation in q
1
and q
2
.
To prevent numerical errors, it is decided to model the valves using the zeroth-order
model. The third model (called PTS3) combines the zeroth-order valve model with
the throttle ow relation as given by:
p
c
= R
s
T V
1
c
_
q
in
q
s
_
p
m
= R
s
T V
1
m
q
s
q
in
=
in
_

in
(p
in
p
c
)
q
s
= v
s
_

s
(p
c
p
m
) .
(D.10)
The ows and pressures are indicated in Figure D.7. This model has proven to
work in simulations of the robotic arm model. In Figure D.12, a simulation of
PTS3 is given, which proves that this model is accurate and stable.
111
0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
t [s]
p
[
b
a
r
]
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 by
a 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
10
x 10
4
t [s]
q
[
k
g
s

1
]
q
in
q
1
q
2
Figure D.11: The ow belonging to the simulations of PTS2 as given in Figure D.9. No
experimental ow is displayed as the ow is not measured. The numerical errors occur as
the large uctuation in ow starting at approximate 1.25 seconds.
112
Considerations on the pneumatic model
0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
t [s]
p
[
b
a
r
]
simulation pc
simulation pm
experiment pc/p1
experiment p2
experiment pm
Figure D.12: Simulation of PTS3 compared to the measurement for instant activation of
v, this experiment is similar to the experiment given in Figure D.9. The simulation of
PTS3 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 is
shown. The major dierence is the implementation of the splitter. The relations of
the 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 splitter
with four outputs can be considered as two splitters with two outputs, resulting in
two virtual pressures: p
s,AB
and p
s,CD
. The virtual pressure p
s
is now dened by
the lowest of the two virtual pressures:
p
s
= min(p
s,AB
, p
s,CD
) . (D.11)
The relation describing the ow out of the splitter is slightly changed. For the case
of ow q
s,A
, the proportionality factor must take the other three possible ows into
account, according to:
q
s,A
=
v
in,A
(p
c
p
A
) q
s
(p
c
p
A
) + v
in,B
(p
c
p
B
) + v
in,C
(p
c
p
C
) + v
in,D
(p
c
p
D
)
. (D.12)
Similar relations hold for q
s,B
, q
s,C
and q
s,D
.
113
p
in
q
in
q
s
p
s
q
s,A
q
s,B
v
out,A
v
out,B
q
out,A
q
out,B
q
s,C
q
s,D
v
out,C
v
out,D
q
out,C
q
out,D
v
in,A
v
in,B
v
in,C
v
in,D
p
A
, V
A
p
B
, V
B
p
C
, V
C
p
D
, V
D
p
c
, V
c
Figure D.13: Schematic representation of the 2DoF pneumatic model.
114
Considerations on the pneumatic model
The complete pneumatic model for the 2DoF robotic arm is now given by:
p
c
= R
s
T V
1
c
_
q
in
q
s
_
(D.13)
p
s,AB
=
_
1 v
in,A
v
in,A

_
p
c
p
B
p
A
min(p
A
, p
B
)
_ _
1 v
in,B
v
in,B
_
(D.14)
p
s,CD
=
_
1 v
in,C
v
in,C

_
p
c
p
D
p
C
min(p
C
, p
D
)
_ _
1 v
in,D
v
in,D
_
(D.15)
p
s
= min(p
s,AB
, p
s,CD
) (D.16)
q
in
=
in
_
(p
in
p
c
) (D.17)
q
s
=
s
_
(p
c
p
s
) (D.18)
q
out,i
= v
out,i

out
_
(p
i
p
atm
) for i =
_
A B C D

(D.19)
q
s,A
=
v
in,A
(p
c
p
A
)q
s
(p
c
p
A
) + v
in,B
(p
c
p
B
) + v
in,C
(p
c
p
C
) + v
in,D
(p
c
p
D
)
(D.20)
q
s,B
=
v
in,B
(p
c
p
B
)q
s
v
in,A
(p
c
p
A
) + (p
c
p
B
) + v
in,C
(p
c
p
C
) + v
in,D
(p
c
p
D
)
(D.21)
q
s,C
=
v
in,C
(p
c
p
C
)q
s
v
in,A
(p
c
p
A
) + v
in,B
(p
c
p
B
) + (p
c
p
C
) + v
in,D
(p
c
p
D
)
(D.22)
q
s,D
=
v
in,D
(p
c
p
D
)q
s
v
in,A
(p
c
p
A
) + v
in,B
(p
c
p
B
) + v
in,C
(p
c
p
C
) + (p
c
p
D
)
(D.23)
=
p
1
+ p
2
+ 2p
atm
2R
s
T
. (D.24)
115
116
E
Considerations on the
muscle model
In the literature, three models are stated to describe the stiness of a McKibben
muscle. These models are given in [Chou, 1996; Tondu, 1997; Carbonell, 2001].
In these references, the same approach in obtaining the models is adopted; based
on the principle of virtual work, a relation between the length, pressure and force
is determined. The dierence between the three models is that a dierent set of
parameters are used in each reference. However, in [Schrder, 2003], it is stated
that the three models can be transformed into each other. In Section E.1, the Chou
Hannaford model as dened in [Chou, 1996] is explained.
A minor adjustment to the model ChouHannaford is given in [Petrovi c, 2002a].
The Petrovi c model is treated in Section E.2. In Section E.3, a model is stated, that
is similar to the Petrovi c model, but is adapted to the Shadow muscles. This sti-
ness model is used in the model of the McKibben muscles, as presented in Section
3.4.
E.1 The model of Chou Hannaford
The variables introduced in this section, dier from the variables in as dened
in [Chou, 1996], but are chosen according to the nomenclature on page xi. The
muscle is considered as a cylinder with variable length and diameter. The length
of the cylinder is given by h and the diameter by D. Since the diameter of the
cylinder does neither correspond to d
1
nor to d
2
, a new diameter D is introduced.
The length 2L of each shell thread is considered to be constant.
A variable is dened 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 result
of the assumption that the muscle is cylindrical), while in reality it depends on the
position 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
h

nD
2L
1 thread unfold
Figure E.1: Muscle parameters in the ChouHannaford model.
are not taken into account. From Figure E.1, the following relations can be derived:
h = 2Lcos (E.1a)
D =
2L
n
sin (E.1b)
V =

4
D
2
h =
2L
3
n
2
sin
2
cos (E.1c)
In [Carbonell, 2001], it is noticed that the braid angle is dicult to measure. For
this reason, a dierent 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 on
the inner surface of the bladder into a shortening tension.
The virtual input work W
in
is done when gas pushes the bladder surface:
W
in
=
_
S
i
p

I s
i
= p V , (E.2)
with p the relative pressure in the muscle,

I the inner surface virtual displace-


ment, s
i
the area vector, S
i
the total inner surface and V the virtual volume
change.
The virtual output work W
out
is done when the actuator shortens with the volume
change:
W
out
= 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:
W
out
= W
in
(E.4)
F h = p V (E.5)
118
Considerations on the muscle model
This involves two assumptions: no energy is stored in the muscle and there are no
other system losses. Using (E.1), we can write:
V =
2L
3
n
2
_
2 sin cos
2
sin
3

h = 2Lsin .
(E.6)
Substituting of (E.6) in (E.5) and realizing that it should hold for any gives the
ChouHannaford model as:
F = p
V
h
= p
L
2
n
2
_
2 cos
2
sin
2

_
= p
L
2
n
2
_
3 cos
2
1
_
.
(E.7)
This completes the static muscle relation of the ChouHannaford model, 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 = p
L
2
n
2
_
3
tan
2

0
(1 )
2

1
sin
2

0
_
. (E.8)
The newly introduced parameter
0
= 20

is the reference braid angle. In this


reference, it is also noted that (E.8) is similar to the ChouHannaford 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 stiness element.
Its stiness k is proportional to the pressure and the stiness per unit pressure k
g
approximates a constant. The stiness k and the stiness per unit pressure k
g
are
dened according to:
k =
dF
dh
k
g
=
dk
dp
.
(E.9)
As a result, the force can be linearized as:
F = k
g
p (h h
min
) , (E.10)
with h
min
the theoretical minimum muscle length (when F = 0). In order to
taken into account the stored energy in the bladder and shell, a threshold pressure
p
th
is dened for the pressure to overcome the radial elasticity of the bladder for
expanding. This gives
F = k
g
(p p
th
) (h h
min
) if p > p
th
,
F = k
p
(h h
min
) if p p
th
.
(E.11)
This model is compared with measurements as described in [Chou, 1996]. The
tests are quasi-static tests: a slow elongation of the muscle under a given pres-
sure. The model ts the measurements rather well for pressures above 2.0 bar.
Also dynamic tests are performed and some related conclusions are drawn in the
reference:
119
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 Petrovi c
The model in [Petrovi c, 2002a] uses the ChouHannaford model. Petrovi c avoids
the simplication as given by (E.10); it is considered for the following reason. The
force F is a linear function of the pressure p and quadratic with the length h, which
can be seen by substituting cos =
h
2L
as given in (E.1a) into (E.7) and reorganizing
terms:
F = p
3h
2
4L
2
4n
2
= p S(q) (E.12a)
S(q) = s
0
+ s
1
q + s
2
q
2
, (E.12b)
with
q = h h
r
(E.13a)
s
0
=
_
3h
2
r
4L
2
_
4n
2
(E.13b)
s
1
=
3h
r
2n
2
(E.13c)
s
2
=
3
4n
2
, (E.13d)
and h
r
a constant reference length. This simple quadratic relation for S(q) is an
alternative for the gas spring constant k
g
(h h
min
) as derived in (E.10).
E.3 The model for a Shadow McKibben muscle
The derivation of the ChouHannaford model using virtual work, seems very ele-
gant from the authors point of view. For this reason, the simplication as proposed
in (E.10) seems somewhat odd, especially when considering the relation as derived
in (E.12). On the other hand, the model in (E.10), appears to be a good predictor for
the muscle behavior for pressures of 2.0 bar and higher. In this section, a relation
is derived using the muscle properties for the volume V as derived in Section 3.4
and the the Petrovi c model, based on virtual work.
The volume of a Shadow McKibben muscle is dened in (3.39) as:
V (h) =
h
60
_
3 d
2
1
+ 4 d
1
d
2
(h) + 8 d
2
2
(h)
_
. (E.14)
120
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 = p
dV
dh
. (E.17)
Now, the muscles stiness k can be dened as:
k =
dF
dh
= p
d
2
V
dh
2
. (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
d
2
V
dh
2
represents the stiening of the muscle
due to elongation of the muscle. The stiness is linear with the relative pressure p,
however one aspect is missing.
The stiness of the muscle 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 dierently as the braid and
the rubber tube do not touch, see also Figure 2.5. For this reason, the stiness of
the muscle is biased. This bias is implemented by introducing an additional pa-
rameter on the pressure. The change in stiness as a function of the pressure
also appears if p 0; for this reason, the pressure bias is applied directly on the
actual muscle pressure p according to:
k = ( + p)
d
2
V
dh
2
. (E.19)
As the stiening, given by
d
2
V
dh
2
, is rather involved, this function is approximated by
a truncated Taylor series. Simulations with several orders for the Taylor series have
shown that a second-order Taylor series yields satisfying results. The simulations
are compared to experimental stiness data. These experiments are discussed in
Section 4.1. The application of the Taylor series yields:

d
2
V
dh
2

0
+
1
h +
2
h
2
, (E.20)
Combining (E.19) with (E.20), yields the nal relation for the muscle stiness:
k =
_
+ p
_ _

0
+
1
h +
2
h
2
_
. (E.21)
121
E.4 Analytical solution for the stiffness parameters
In the stiness relation in (E.21), four parameters are present. The three param-
eters are derived from the Taylor series of
d
2
V
dh
2
. The exact expression is:
d
2
V
dh
2
=

2
V
h
2
. .
=0
+

2
V
d
2
2
_
d
2
h
_
2
+
V
d
2

2
d
2
h
2
+ 2

2
V
h d
2
d
2
h
. (E.22)
This relation is estimated by a second-order Taylor series around the reference
length h
r
= 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:
d
2
V
dh
2

d
2
V
dh
2

h=h
r
+
d
3
V
dh
3

h=h
r
(h h
r
) +
1
2
d
4
V
dh
4

h=h
r
(h h
r
)
2
.
(E.23)
From this relation, the three Taylor constants s are given by:

0
=
d
2
V
dh
2

h=h
r
= 0.0373 m

1
=
d
3
V
dh
3

h=h
r
= 0.2825

2
=
1
2
d
4
V
dh
4

h=h
r
= 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
d
2
V
dh
2
would be dened as:
d
2
V
dh
2

0
+
1
(h h
r
) +
2
(h h
r
)
2
, (E.25)
while in (E.20), it is stated that:
d
2
V
dh
2

0
+
1
h +
2
h
2
. (E.26)
This discrepancy is solved by rewriting the parameters to parameters:

0
=
0

1
h
r
+
2
h
2
r
= 0.0547 m

1
=
1
2
2
h
r
= 0.4658

2
=
2
= 1.9691 m
1
.
(E.27)
The parameter is approximated using a simple experiment. A mass is attached
to the rubber tube and the static elongation is measured, this yields a stiness of
1.5 kN m
1
. Substituting (E.27) in (E.21) for p = 0 bar and h = h
min
= 160 mm,
yields:
k =
_
+ 0
_ _

0
+ 0.16
1
+ 0.16
2

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 the
order . An interpretation of the four muscle stiness parameter is dicult, as no
physical meaning can be given to the parameters and its values.
122
F
Derivation of the
multibody model
The equations of motion of the robotic arm, will be derived by making use of the
multibody theory. The notation as dened in [van de Wouw, 2003] is adopted in
the 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 of
the robotic arm are given.
In the lower half of Table F.1, three additional lengths are dened which will be
declared in the remainder of this appendix. The length l
S
refers tot the unloaded
spring length. The length of the muscle ttings for respectively muscles A and B
is given by l
f
AB
and the length of the ttings for muscles C and D by l
f
CD
.
The kinematics are dened in relative coordinates. This means that the position of
each mass is dened relative to the mass it is connected to. Three vector frames
are introduced. Point O indicates the origin of the xed frame e
0
. In the center of
mass of body 1 (CM1), the frame e
1
is introduced an in the center of mass of body
2 (CM2), the frame e
2
is located.
Furthermore, three joints are introduced. C00 is rigidly xed to the origin O. C01
and C12 are revolute joints connecting body 1 to the xed world respectively body
2 to body 1. Next, the vectors indicated in Figure F.1 will be explained using the
dimensions as given in Figure F.2.
dim length [mm] dim length [mm] dim length [mm]
l
0
375.0 l
1A
76.0 l
0C
20.0
l
01x
66.7 l
2A
142.0 l
1C
35.0
l
01y
13.7 l
1B
24.0 l
0D
20.0
l
11x
453.3 l
2B
210.0 l
1D
105.0
l
11y
26.3 l
AB
123.3 l
0S
170.0
l
1x
520.0 l
12
176.0 l
1S
185.0
l
1y
40.0 l
svx
110.0 l
svy
26.0
l
S
75.0 l
f
AB
140.0 l
f
CD
180.0
Table F.1: Values of all dimensions as used in the multibody model.
CM1
CM2
O = C00
C01
C11 = C12
A
B
C
D S
e
0
1
e
0
2
e
1
1
e
1
2
e
2
1
e
2
2

1
c
0
r
CM1
r
CM2

b
12

b
01

b
11
Figure F.1: Kinematics of the multibody system.
124
Derivation of the multibody model
CM1
C01
l
svx
l
svy
sv
r
sv

b
sv
c
0
CM1
CM2
O = C00
C01
C11 = C12
l
01x
l
11x
l
01y
l
11y
l
12
l
0
l
1x
l
1y
= l
01y
+ l
11y
l
1A
l
2A
l
1B
l
2B
l
AB
l
0C
l
1C
l
0D
l
1D
l
0S
l
1S
Figure F.2: Dimensions of the multibody system and the point mass sv parameters.
125
F.1 Kinematics of the pneumatic robot arm
The body xed vectors indicating the position of the revolute joints with respect to
the center of mass are given by:

b
01
=
_
l
01x
l
01y

e
1

b
11
=
_
l
11x
l
11y

e
1

b
12
=
_
0 l
12

e
2
.
(F.1)
The generalized coordinates are given by:
q =
_
x
1
y
1

1
x
2
y
2

2

T
. (F.2)
The variables x
1
, y
1
, x
2
and y
2
indicate the constraint vectors:
c
0
=
_
x
1
y
1

e
0
c
1
=
_
x
2
y
2

e
1
,
(F.3)
where c
0
is indicated in Figure F.1 (c
0
= l
0
e
0
2
) and c
1
is the relative position vector
of C12 with respect to C11 (i.e. c
1
=

0). Consequently, the constraint equations
related to the revolute joints are given by:
q
1
= x
1
= 0
q
2
= y
1
= l
0
q
4
= x
2
= 0
q
5
= y
2
= 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:
A
10
=
_
cos(
1
) sin(
1
)
sin(
1
) cos(
1
)
_
A
21
=
_
cos(
2
) sin(
2
)
sin(
2
) cos(
2
)
_
A
20
= A
21
A
10
=
_
cos(
1
+
2
) sin(
1
+
2
)
sin(
1
+
2
) cos(
1
+
2
)
_
,
(F.6)
where
e
1
= A
10
e
0
e
2
= A
20
e
0
= A
21
A
10
e
0
.
(F.7)
Now, the position of the center of mass for body 1 (CM1) is given by:
r
CM1
= c
0

b
01
= r
0
T
CM1
e
0
r
0
CM1
=
_
0 l
0

T
+
_
l
01x
l
01y

A
10
=
_
l
01x
cos(
1
) l
01y
sin(
1
)
l
0
+ l
01x
sin(
1
) + l
01y
cos(
1
)
_
.
(F.8)
126
Derivation of the multibody model
The position of the center of mass for body 2 (CM2) is given by:
r
CM2
= r
CM1
+

b
11
+c
1

b
12
= r
0
T
CM2
e
0
r
0
CM2
= r
0
CM1
+
_
l
11x
l
11y

A
10

_
0 l
12

A
20
=
_
l
1x
cos(
1
) l
1y
sin(
1
) l
12
sin(
1
+
2
)
l
0
+ l
1x
sin(
1
) + l
1y
cos(
1
) + l
12
cos(
1
+
2
)
_
.
(F.9)
In order to dene the velocity of a rigid body in space, the time derivative of the
direction cosine matrices in (F.6) are required.

A
10
=
_

1
sin(
1
)

1
cos(
1
)

1
cos(
1
)

1
sin(
1
)
_

A
21
=
_

2
sin(
2
)

2
cos(
2
)

2
cos(
2
)

2
sin(
2
)
_

A
20
=

A
21
A
10
+ A
21

A
10
=
_
(

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

e
1
= e
1
. The angular velocity vectors are given by:
10
=
_
0 0

e
0
=

1
e
0
3
21
=
_
0 0

e
1
=
_
0 0

e
0
=

2
e
0
3
20
=
_

1
+

2
_
e
0
3
,
(F.11)
where
ij
is the angular velocity vector of frame i with respect to frame j and
e
0
3
= e
0
1
e
0
2
. The angular velocity vector can also be used to derive the time
derivative of the direction cosine matrix by using the Poisson equation; this yields
the same result as (F.10).
The velocity of the center of mass CM1 of body 1 in space is derived by calculating
the time derivative of the position vector:

r
CM1
=
d
dt
_

b
01
_
=
d
dt
_
b
01
1
T
_
e
1
b
01
1
T

e
1
= b
01
1
T

A
10
e
0
= r
0
T
CM1
e
0
r
0
CM1
=
_
l
01x

1
sin(
1
) l
01y

1
cos(
1
)
l
01x

1
cos(
1
) l
01y

1
sin(
1
)
_
.
(F.12)
The simplication
d
dt
(c
0
) = 0 is valid as e
0
is a xed reference frame and c
0
is
a body xed vector. The same can be said for
d
dt
_
b
01
1
_
= 0 as

b
01
is a body xed
vector of body 1.
127
The same approach goes for mass 2:

r
CM2
=
d
dt
_
r
CM1
+

b
11

b
12
_
=

r
CM1
+ b
11
1
T

e
1
b
12
2
T

e
2
= b
01
1
T

A
10
e
0
+ b
11
1
T

A
10
e
0
b
12
2
T

A
20
e
0
=
__
b
11
1
T
b
01
1
T
_

A
10
b
12
2
T

A
20
_
e
0
= r
0
T
CM2
e
0
(F.13)
r
0
CM2
=
_
l
1x

1
sin(
1
) l
1y

1
cos(
1
) l
12
(

1
+

2
) cos(
1
+
2
)
l
1x

1
cos(
1
) l
1y

1
sin(
1
) l
12
(

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 in
the calculation of the inertial properties. The inertia tensors of body 1 and body 2
are determined by modelling the robotic arm in the CAD package Unigraphics; in
Appendix F.7, two output les are given. Each output le shows two types of inertia
parameters: inertia in the revolute joint of the body, indicated by work; and inertia
around the center of mass of the body, indicated by centroidal.
The coordinates indicated by centroid give the location of the center of mass of
each body, these parameters are used in Table F.1. The inertial parameters for body
1 and 2 are given by respectively Ixx and Iyy in their subsequent output le.
Also the principal axes of inertia and the moments of inertia for the principal axes
are calculated. The principal axes of body 1 do not coincide with the axes of e
1
. This
is conrmed by the non-zero products of inertia. In case of body 2 , the principal
axes of inertia do coincide with the axis of e
2
. This yields the inertia matrix to be a
diagonal 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 J
zz
inertial parameter is required. The angular
momentum of both bodies is given by:

H
CM1
= J
zz1

1
e
0
3

H
CM2
= J
zz2
(

1
+

2
) e
0
3
.
(F.14)
Besides the two bodies, a point mass sv is dened representing the four valves, two
pressure sensors and the wiring which are mounted on body 1. In Figure F.2, point
mass sv is indicated. The position and velocity vectors of sv are dened by:
r
sv
= c
0

b
sv
= r
0
sv
e
0

b
sv
=
_
l
svx
l
svy

e
1
r
0
sv
=
_
0 l
0

T
+
_
l
svx
l
svy

A
10
=
_
l
svx
cos(
1
) l
svy
sin(
1
)
l
0
+ l
svx
sin(
1
) + l
svy
cos(
1
)
_
r
0
sv
=
_
l
svx

1
sin(
1
) l
svy

1
cos(
1
)
l
svx

1
cos(
1
) l
svy

1
sin(
1
)
_
.
(F.15)
128
Derivation of the multibody model
All inertias and masses used in the multibody model are given by:
m
sv
= 0.80 kg
m
1
= 2.64 kg
m
2
= 0.533 kg
J
zz1
= 89.3 10
3
kg m
2
J
zz2
= 5.70 10
3
kg m
2
.
(F.16)
The mass of the valves, sensors and wiring are determined experimentally using
a balance. The mass of body 1 and 2 are derived from Appendix F.7. It should
be noted that a number of masses are neglected. The mountings of the muscles
consist of an aluminium part (36 g) and a plastic part (the muscle tting, 10 g). The
muscles 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 robot
arm (
1
=
2
= 0), the unloaded spring length l
S
must fulll l
S
< l
0
S . The vectors
indicating the acting points of the spring are visualized in Figure F.3 and given by:

b
0S
=
_
l
0S
0

e
0

b
1S
=
_
l
1S
l
01y

e
1
.
(F.17)
The spring force vector

F
S
can be dened by the spring direction vector

f
S
, the
unloaded spring length l
S
and the spring stiness k
S
:

F
S
= k
S
_
|

f
S
| l
S
_

f
S
|

f
S
|
, (F.18)
with

f
S
= r
CM1
+

b
1S

b
0S
= c
0

b
0S

b
01
+

b
1S
= f
0
T
S
e
0
f
0
S
=
__
l
0S
l
0

+
_
l
01x
l
1S
0

A
10
_
T
=
_
l
0S
+ (l
01x
l
1S
) cos(
1
)
l
0
+ (l
01x
l
1S
) sin(
1
)
_
.
(F.19)
The spring stiness is experimentally determined on k
S
= 1 kN m
1
.
129
CM1
CM2
O = C00
C01
C11 = C12

F
A

F
A

F
B

F
B

F
C

F
C

F
D

F
D

F
S

F
S

b
1A

b
2A

b
1B

b
2B

b
0C

b
1C

b
0D

b
1D

b
0S

b
1S
_
2 _
3
_
4
_
5
_
6 _
Figure F.3: Force vectors and related acting points of the multibody system.
130
Derivation of the multibody model
F.4 Muscle forces
In Section 3.4, the behavior of the muscles is discussed. In the robot, four muscles
are present. The body xed vectors indicating the muscle mountings are visualized
in Figure F.3. Using Figure F.2, the body xed vectors are dened as:

b
0C
=
_
l
0C
0

e
0

b
0D
=
_
l
0D
0

e
0

b
1A
=
_
l
AB
l
1A

e
1

b
1B
=
_
l
AB
l
1B

e
1

b
1C
=
_
l
1C
l
01y

e
1

b
1D
=
_
l
1D
l
01y

e
1

b
2A
=
_
0 l
2A

e
2

b
2B
=
_
0 l
2B

e
2
.
(F.20)
The muscle forces acting in these points are given by the force vectors

F
i
, as indi-
cated in Figure F.3:

F
i
= F
i

f
i

f
i

for i
_
A B C D
_
. (F.21)
Herein, the muscle forces F
i
are dened by (3.47), the force direction vectors

f
i
are
given by:

f
A
= r
CM2
+

b
2A

_
r
CM1
+

b
1A
_
=

b
11

b
1A

b
12
+

b
2A
= f
0
T
A
e
0
f
0
A
=
__
l
11x
l
AB
l
11y
l
1A

A
10
+
_
0 l
12
l
2A

A
20
_
T
(F.22)
=
_
(l
11x
l
AB
) cos(
1
) (l
11y
l
1A
) sin(
1
) (l
12
l
2A
) sin(
1
+
2
)
(l
11x
l
AB
) sin(
1
) + (l
11y
l
1A
) cos(
1
) + (l
12
l
2A
) cos(
1
+
2
)
_

f
B
= r
CM2
+

b
2B

_
r
CM1
+

b
1B
_
=

b
11

b
1B

b
12
+

b
2B
= f
0
T
B
e
0
f
0
B
=
__
l
11x
l
AB
l
11y
+ l
1B

A
10
+
_
0 l
12
l
2B

A
20
_
T
(F.23)
=
_
(l
11x
l
AB
) cos(
1
) (l
11y
+ l
1B
) sin(
1
) (l
12
l
2B
) sin(
1
+
2
)
(l
11x
l
AB
) sin(
1
) + (l
11y
+ l
1B
) cos(
1
) + (l
12
l
2B
) cos(
1
+
2
)
_

f
C
= r
CM1
+

b
1C

b
0C
= c
0

b
0C

b
01
+

b
1C
= f
0
T
C
e
0
f
0
C
=
__
l
0C
l
0

+
_
l
01x
l
1C

A
10
_
T
(F.24)
=
_
l
0C
+ (l
01x
l
1C
) cos(
1
)
l
0
+ (l
01x
l
1C
) sin(
1
)
_

f
D
= r
CM1
+

b
1D

b
0D
= c
0

b
0D

b
01
+

b
1D
= f
0
T
D
e
0
f
0
D
=
__
l
0D
l
0

+
_
l
01x
l
1D

A
10
_
T
(F.25)
=
_
l
0D
+ (l
01x
l
1D
) cos(
1
)
l
0
+ (l
01x
l
1D
) sin(
1
)
_
.
131
An output fromthe robot dynamics to the muscle model is the actual muscle length
h
i
(t) for i A B C D . This length is derived from the force direction vector

f
i
(t)
as dened above. The force direction vector is the vector between the two muscle
mounting points. This vector replaces the muscle and the ttings. The actual
muscle length is now given by the absolute value of this vector, minus the tting
lengths:
h
i
(t) = |

f
i
(t)| l
f
AB
for i
_
A B
_
h
i
(t) = |

f
i
(t)| l
f
CD
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 arm
are stated. First, the energy equations will be formulated, thereafter the equations
of motion will be derived using the Lagrangian approach.
Kinetic energy
The kinetic energy of the robot arm is given by:
T =
1
2
_
m
sv

r
sv


r
sv
+ m
1

r
CM1


r
CM1
+ m
2

r
CM2


r
CM2
_
+
1
2
_

H
CM1

10
+

H
CM2

20

_
.
(F.27)
Substituting (F.11) to (F.15) in (F.27) and reorganizing terms gives:
T =
1
2
_
m
sv
_
l
2
svx
+ l
2
svy
_
+ m
1
_
l
2
01x
+ l
2
01y
_
+ J
zz1
_

2
1
+
1
2
m
2
_
l
2
1x
+ l
2
1y
_

2
1
+
1
2
_
m
2
l
2
12
+ J
zz2
__

1
+

2
_
2
m
2
l
12

1
_

1
+

2
__
l
1x
sin(
2
) l
1y
cos(
2
)
_
(F.28)
Potential energy
The total potential energy equals the sumof the potential energy of the conservative
forces and the internal energy.
V = V
ex
+ U
in
. (F.29)
The potential energy due to the gravity force is given by
V
ex
= m
sv
g r
sv
m
1
g r
CM1
m
2
g r
CM2
, (F.30)
with the gravity vector dened 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
= m
sv
g
_
l
0
+ l
svx
sin(
1
) + l
svy
cos(
1
)
_
+ m
1
g
_
l
0
+ l
01x
sin(
1
) + l
01y
cos(
1
)
_
+ m
2
g
_
l
0
+ l
1x
sin(
1
) + l
1y
cos(
1
) + l
12
cos(
1
+
2
)
_
.
(F.32)
132
Derivation of the multibody model
The internal energy available in the spring is given by
U
in
=
1
2
k
S
_
|

f
S
| l
S
_
2
. (F.33)
Applying (F.19) to (F.33) gives the internal energy.
U
in
=
1
2
k
S
__
_
l
0S
+ (l
01x
l
1S
) cos(
1
)
_
2
+
_
l
0
(l
01x
l
1S
) sin(
1
)
_
2
_1
2
l
S
_
2
.
(F.34)
Generalized muscle forces
The remaining forces acting on the robotic arm are the muscle forces, as dened in
(F.21). Each muscle consists of a pressure dependent length, stiness and damp-
ing. The generalized muscle forces Q are dened by:
Q =
n
F

j=1
_
r
j
q
_
T


F
j
. (F.35)
In Figure F.3, the six circled numbers indicate the positions at which the muscle
forces act, this means n
F
= 6 in (F.35). The circled numbers correspond with the
number of the generalized muscle forces. The relation between the generalized
muscle forces Q
j
for j 1 2 3 4 5 6 as dened in (F.35) and the muscles forces

F
i
for i A B C D as dened in (F.21), is also given by:
Q
1

F
A
Q
2

F
B
Q
3


F
A
Q
4


F
B
Q
5

F
C
Q
6

F
D
.
(F.36)
The generalized muscle force for j = 1 is given by:
r
1
= r
CM2
+

b
2A
= r
CM2
+
_
0 l
2A

A
21
A
10
e
0
(F.37)
r
0
1
=
_
l
1x
cos(
1
) l
1y
sin(
1
) a
1
l
0
+ l
1x
sin(
1
) + l
1y
cos(
1
) + b
1
_
(F.38)
a
1
= (l
12
l
2A
) sin(
1
+
2
)
b
1
= (l
12
l
2A
) cos(
1
+
2
)
r
0
1
q
=
_
l
1x
sin(
1
) l
1y
cos(
1
) b
1
b
1
l
1x
cos(
1
) l
1y
sin(
1
) a
1
a
1
_
(F.39)
Q
1
=
F
A
|

f
A
|
_
r
0
1
q
_
T
f
0
A
. (F.40)
The derivation of Q
i
for i = 2 . . . 6 is given in Appendix F.8.
133
Equations of motion
d
dt
_
T
, q
_
T
,q
+ V
,q
=
n
F

i=1
Q
nc
i
T
(F.41)
As all individual terms of the equations of motion are rather involved, the complete
equations will not be stated. Each term is given below.
T
, q
=
_

_
_
m
sv
_
l
2
svx
+ l
2
svy
_
+ m
1
_
l
2
01x
+ l
2
01y
_
+ J
zz1
_

1
+ m
2
_
l
2
1x
+ l
2
1y
_

1
+
_
m
2
l
2
12
+ J
zz2
__

1
+

2
_
m
2
l
12
_
2

1
+

2
__
l
1x
sin(
2
) l
1y
cos(
2
)
_
_
m
2
l
2
12
+ J
zz2
__

1
+

2
_
m
2
l
12

1
_
l
1x
sin(
2
) l
1y
cos(
2
)
_
_

_
T
(F.42)
d
dt
_
T
, q
_
=
_

_
_
m
sv
_
l
2
svx
+ l
2
svy
_
+ m
1
_
l
2
01x
+ l
2
01y
_
+ J
zz1
_

1
+ m
2
_
l
2
1x
+ l
2
1y
_

1
+
_
m
2
l
2
12
+ J
zz2
__

1
+

2
_
m
2
l
12
_
2

1
+

2
__
l
1x
sin(
2
) l
1y
cos(
2
)
_
m
2
l
12
_
2

1
+

2
__
l
1x

2
cos(
2
) + l
1y

2
sin(
2
)
_
_
m
2
l
2
12
+ J
zz2
__

1
+

2
_
m
2
l
12

1
_
l
1x
sin(
2
) l
1y
cos(
2
)
_
m
2
l
12

1
_
l
1x

2
cos(
2
) + l
1y

2
sin(
2
)
_
_

_
T
(F.43)
T
,q
=
_
_
0
m
2
l
12

1
_

1
+

2
__
l
1x
cos(
2
) + l
1y
sin(
2
)
_
_
_
T
(F.44)
V
,q
=
_

_
m
sv
g
_
l
svx
cos(
1
) l
svy
sin(
1
)
_
+ m
1
g
_
l
01x
cos(
1
) l
01y
sin(
1
)
_
+ m
2
g
_
l
1x
cos(
1
) l
1y
sin(
1
) l
12
sin(
1
+
2
)
_
k
S
_
1
l
S

f
S

_
_
l
01x
l
1S
__
l
0S
sin(
1
) + l
0
cos(
1
)
_
m
2
g l
12
sin(
1
+
2
)
_

_
T
(F.45)
134
Derivation of the multibody model
F.6 One DoF equation of motion
In case the rst joint at C01 is xed at
1
= 0, muscle C and D and the spring
become redundant. The position vectors given in (F.8) and (F.9) can be simplied
to the rather obvious relations:
r
CM1
=
_
l
01x
l
0
+ l
01y
_
T
e
0
(F.46)
r
CM2
=
_
l
1x
l
12
sin(
2
)
l
0
+ l
1y
+ l
12
cos(
2
)
_
T
e
0
(F.47)
r
0
CM2
=
_
l
12

2
cos(
2
)
l
12

2
sin(
2
)
_
. (F.48)
The muscle force vectors (F.22) and (F.23) can be rewritten to respectively:

f
A
=
_
l
11x
l
AB
(l
12
l
2A
) sin(
2
)
l
11y
l
1A
+ (l
12
l
2A
) cos(
2
)
_
T
e
0
(F.49)

f
B
=
_
l
11x
l
AB
(l
12
l
2B
) sin(
2
)
l
11y
+ l
1B
+ (l
12
l
2B
) cos(
2
)
_
T
e
0
. (F.50)
Only two generalized muscle forces are present in the DoF system:
f
0
A
=
_
l
11x
l
AB
(l
12
l
2A
) sin(
2
)
l
11y
l
1A
+ (l
12
l
2A
) cos(
2
)
_
(F.51)
r
0
1
=
_
l
1x
(l
12
l
2A
) sin(
2
)
l
0
+ l
1y
+ (l
12
l
2A
) cos(
2
)
_
(F.52)
r
0
1
q
=
_
(l
12
l
2A
) cos(
2
)
(l
12
l
2A
) sin(
2
)
_
(F.53)
Q
1
=
F
A
|

f
A
|
_
r
0
1
q
_
T
f
0
A
(F.54)
=
F
A
|

f
A
|
(l
12
l
2A
)
_
_
l
11y
l
1A
_
sin(
2
) +
_
l
11x
l
AB
_
cos(
2
)
_
,
135
f
0
B
=
_
l
11x
l
AB
(l
12
l
2B
) sin(
2
)
l
11y
+ l
1B
+ (l
12
l
2B
) cos(
2
)
_
(F.55)
r
0
2
=
_
l
1x
(l
12
l
2B
) sin(
2
)
l
0
+ l
1y
+ (l
12
l
2B
) cos(
2
)
_
(F.56)
r
0
2
q
=
_
(l
12
l
2B
) cos(
2
)
(l
12
l
2B
) sin(
2
)
_
(F.57)
Q
2
=
F
B
|

f
B
|
_
r
0
2
q
_
T
f
0
B
(F.58)
=
F
B
|

f
B
|
(l
12
l
2B
)
_
_
l
11y
+ l
1B
_
sin(
2
) +
_
l
11x
l
AB
_
cos(
2
)
_
.
The terms in the Lagrange equation related to the kinematic and potential energy
are simplied to:
T =
1
2
_
m
2
l
2
12
+ J
zz2
_

2
2
(F.59)
T
, q
=
_
m
2
l
2
12
+ J
zz2
_

2
(F.60)
d
dt
_
T
, q
_
=
_
m
2
l
2
12
+ J
zz2
_

2
(F.61)
T
,q
= 0 (F.62)
V
ex
= m
2
g
_
l
0
+ l
1y
+ l
12
cos(
2
)
_
(F.63)
U
in
= 0 (F.64)
V
,q
= m
2
g l
12
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
Q
j
T
(F.66)
_
m
2
l
2
12
+ J
zz2
_

2
m
2
g l
12
sin(
2
) =
F
A
|

f
A
|
(l
12
l
2A
)
_
_
l
11y
l
1A
_
sin(
2
) +
_
l
11x
l
AB
_
cos(
2
)
_
+ (F.67)
F
B
|

f
B
|
(l
12
l
2B
)
_
_
l
11y
+ l
1B
_
sin(
2
) +
_
l
11x
l
AB
_
cos(
2
)
_
.
136
Derivation of the multibody model
F.7 Inertial parameters of both bodies
Using Unigraphics, the mass, center of mass position and the inertial parameters
are estimated. Two output les for respectively body 1 and 2 are given.
The values indicated with Work give the inertial parameters with respect to the
working point of the body. The working point is chosen according to the revolute
joint the body rotates in. The values indicated with Centroidal give the inertial
parameters 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 Values
Volume = 555797.462344 mm^3
Area = 99441.694269 mm^2
Mass = 2.638858 kg
Radius of Gyration = 184.085874 mm
Centroid = -0.000000, 66.694511, 13.749857 mm
============================================================
Detailed Mass Properties
Analysis calculated using accuracy of 0.990000
Information Units Grams - Millimeters
Density = 0.00474788
Volume = 555797.46234368
Area = 99441.69426889
Mass = 2638.85946627
First Moments
Mxc, Myc, Mzc = -0.00000000, 175997.44173566, 36283.94065550
Center of Mass
Xcbar, 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 Axes
Xp(X), Xp(Y), Xp(Z) = 1.00000000, 0.00000000, -0.00000004
Yp(X), Yp(Y), Yp(Z) = 0.00000004, -0.08076016, 0.99673356
Zp(X), Zp(Y), Zp(Z) = -0.00000000, -0.99673356, -0.08076016
Principal Moments
Ixxp, Iyyp, Izzp = 89307997.30881111, 88704163.69514164, 837115.34959304
============================================================
137
The inertial parameter of body 2 is given by Iyy = 5697561...
============================================================
Measurement Mass Properties
Displayed Mass Property Values
Volume = 118335.121191 mm^3
Area = 37374.670265 mm^2
Mass = 0.533309 kg
Radius of Gyration = 104.107195 mm
Centroid = 0.000000, -0.000000, 175.950872 mm
============================================================
Detailed Mass Properties
Analysis calculated using accuracy of 0.990000
Information Units Grams - Millimeters
Density = 0.00450677
Volume = 118335.12119085
Area = 37374.67026454
Mass = 533.30934225
First Moments
Mxc, Myc, Mzc = 0.00000000, -0.00000000, 93836.24369690
Center of Mass
Xcbar, 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 Axes
Xp(X), Xp(Y), Xp(Z) = 1.00000000, 0.00000000, 0.00000000
Yp(X), Yp(Y), Yp(Z) = 0.00000000, 1.00000000, 0.00000000
Zp(X), Zp(Y), Zp(Z) = 0.00000000, 0.00000000, 1.00000000
Principal Moments
Ixxp, Iyyp, Izzp = 5741176.65130608, 5697561.62007675, 121603.69416256
============================================================
138
Derivation of the multibody model
F.8 Generalized muscle forces 2 to 6
Muscle force 2:
r
2
= r
CM2
+

b
2B
= r
CM2
+
_
0 l
2B

A
21
A
10
e
0
(F.68a)
r
0
2
=
_
l
1x
cos(
1
) l
1y
sin(
1
) a
2
l
0
+ l
1x
sin(
1
) + l
1y
cos(
1
) + b
2
_
(F.68b)
a
2
= (l
12
l
2B
) sin(
1
+
2
)
b
2
= (l
12
l
2B
) cos(
1
+
2
)
r
0
2
q
=
_
l
1x
sin(
1
) l
1y
cos(
1
) b
2
b
2
l
1x
cos(
1
) l
1y
sin(
1
) a
2
a
2
_
(F.68c)
Q
2
=
F
B
|

f
B
|
_
r
0
2
q
_
T
f
0
B
. (F.68d)
Muscle force 3:
r
3
= r
CM1
+

b
1A
= r
CM1
+
_
l
AB
l
1A

A
10
e
0
(F.69a)
r
0
3
=
_
(l
01x
+ l
AB
) cos(
1
) (l
01y
+ l
1A
) sin(
1
)
l
0
+ (l
01x
+ l
AB
) sin(
1
) + (l
01y
+ l
1A
) cos(
1
)
_
(F.69b)
r
0
3
q
=
_
(l
01x
+ l
AB
) sin(
1
) (l
01y
+ l
1A
) cos(
1
) 0
(l
01x
+ l
AB
) cos(
1
) (l
01y
+ l
1A
) sin(
1
) 0
_
(F.69c)
Q
3
=
F
A
|

f
A
|
_
r
0
3
q
_
T
f
0
A
. (F.69d)
Muscle force 4:
r
4
= r
CM1
+

b
1B
= r
CM1
+
_
l
AB
l
1B

A
10
e
0
(F.70a)
r
0
4
=
_
(l
01x
+ l
AB
) cos(
1
) (l
01y
l
1B
) sin(
1
)
l
0
+ (l
01x
+ l
AB
) sin(
1
) + (l
01y
l
1B
) cos(
1
)
_
(F.70b)
r
0
4
q
=
_
(l
01x
+ l
AB
) sin(
1
) (l
01y
l
1B
) cos(
1
) 0
(l
01x
+ l
AB
) cos(
1
) (l
01y
l
1B
) sin(
1
) 0
_
(F.70c)
Q
4
=
F
B
|

f
B
|
_
r
0
4
q
_
T
f
0
B
. (F.70d)
139
Muscle force 5:
r
5
= r
CM1
+

b
1C
= r
CM1
+
_
l
1C
l
01y

A
10
e
0
(F.71a)
r
0
5
=
_
(l
01x
l
1C
) cos(
1
)
l
0
+ (l
01x
l
1C
) sin(
1
)
_
(F.71b)
r
0
5
q
=
_
(l
01x
l
1C
) sin(
1
) 0
(l
01x
l
1C
) cos(
1
) 0
_
(F.71c)
Q
5
=
F
C
|

f
C
|
_
r
0
5
q
_
T
f
0
C
=
F
C
|

f
C
|
_
(l
01x
l
1C
)
_
l
0
cos(
1
) + l
0C
sin(
1
)
_
0
_
. (F.71d)
Muscle force 6:
r
6
= r
CM1
+

b
1D
= r
CM1
+
_
l
1D
l
01y

A
10
e
0
(F.72a)
r
0
6
=
_
(l
01x
l
1D
) cos(
1
)
l
0
+ (l
01x
l
1D
) sin(
1
)
_
(F.72b)
r
0
6
q
=
_
(l
01x
l
1D
) sin(
1
) 0
(l
01x
l
1D
) cos(
1
) 0
_
(F.72c)
Q
6
=
F
D
|

f
D
|
_
r
0
6
q
_
T
f
0
D
=
F
D
|

f
D
|
_
(l
01x
l
1D
)
_
l
0
cos(
1
) l
0D
sin(
1
)
_
0
_
. (F.72d)
140
G
Derivation of the static
muscle parameters
The identication of the muscles is performed in 40 working points, see Figure
4.4. A working point w = (h
w
, p
w
) is dened by a length h which is imposed by
the tensile bench and a pressure p which is imposed manually using a valve. This
means that a working point is not necessarily an equilibrium of the muscle, i.e. the
muscle might generate a force in a working point.
Before each measurement, a working point w is imposed on the muscle. During
the measurement a perturbation

h(f) is imposed on the length h
w
. The perturba-
tion

h(f) is a noise signal, containing all frequencies f between 0 and 20 Hz. In
order to access the low-frequency behavior of the muscle, each measurement takes
60 seconds. In each working point ve measurements are performed; this yields
5 40 data sets for muscle 4. The ve FRFs in each working point are used to
estimate the force over length FRF:
H
w
(f) =
F
w
(f)
h
w
(f)
, (G.1)
with F
w
the muscle force. The FRF H
w
is estimated by

H
w
, which is derived using
the power spectra of the sensor signals, [de Kraker, 2000]:
H
1,w
(f) =

hF,w
(f)

hh,w
(f)
H
2,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-power
spectrum of h and
FF,w
(f) the auto-power spectrum of F. By applying the Welch
estimating technique on H
1,w
(f) and H
2,w
(f), H
w
is estimated.
Besides

H
w
, also the coherence
2
hF
(f) of each measurement is calculated using
the power spectra. The coherence is a measure for the linearity of the inputoutput
behavior in the measurement. The coherence can be assessed by:

2
hF,w
(f) =
H
1,w
(f)
H
2,w
(f)
. (G.3)
10
0
10
1
10
2
10
5
0
5
10
15
20
10
0
10
1
10
2
180
90
0
90
180
10
0
10
1
10
2
10
4
10
2
10
0
10
2
10
0
10
1
10
2
0
0.2
0.4
0.6
0.8
1
f [Hz] f [Hz]
[

H
w
[
[
N
m

1
d
B
]
p
h
a
s
e
(

H
w
)
[
d
e
g
]
[

[
[
d
B
]

2h
F
[

]
frequency response function

H
w
power spectra
coherence

hh
[m
2
]

FF
[N
2
]

hF
[N m]
Figure G.1: FRF

H
w
in w = (017, 0.8). The upper and lower left picture give the
magnitude and phase of

H
w
. The power spectra are given in the upper right gure. The
coherence in the lower right gure shows that data up to 18 Hz is reliable.
In Figure G.1, the estimate

H
w
is given in the working point w = (0.17, 0.8). It
shows three power spectra, the coherence and the phase and magnitude of

H
w
(f).
This analysis is repeated for the 40 working points of muscle 4, the resulting
FRFs are given in Figure G.2. Each analysis shows an excellent coherence up
to f = 18 Hz. Remarkable is that the magnitude of the FRF increases slightly with
the frequency. This phenomena, the so-called stiening, is probably caused by
friction 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 stiness
and viscous damping; the next step is to t the stiness k
w
and damping d
w
:
H
w
(f) = k
w
+ j 2f d
w
, (G.4)
on te experimental data

H
w
. The results of this t for ve working points with
p
w
= 0.9 bar,is given in Figure G.3. The stiness is easy to plot and gives a reliable
result. The damping is rather dicult to identify, as it is hardly present in the
measurements (see also Figure G.1). The non-zero phase at f 0 Hz and the
slight increase in [H
w
[ due to the stiening complicate the damping t further.
Nevertheless, (G.4) is used to derive k
w
and d
w
and is believed to give an accurate
and meaningful value, especially on the stiness.
Finally, the stiness k
w
and damping d
w
are given as a function of the working
points w in Figure G.4 and as a surface plot in Figure G.5. Besides the experiments
on 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
Derivation of the static muscle parameters
Comparing the stiffness and damping models with the measurements
In Section 4.1, the identied stiness is tted on the muscle stiness model given
in (4.1). The relative error between the analytical stiness model and the identied
stiness, is given in the left part of Figure G.6. In the right part, the relative error
between the experimental stiness model and the identied stiness is given. The
relative error of the experimental model has a maximum of 5%, while the relative
error of the analytical model is up to 60%.
In Figure G.7, the t and the relative error of the experimental damping and the
experimental damping model is given. The relative error has a maximum of 30%.
From this gure, it can be concluded the experiments do not give an clear view on
the damping and that the damping in the muscles is almost constant and low. For
this reason, the model is considered to be satisfactory.
0 5 10 15 20
0
5
10
15
0 5 10 15 20
0
5
10
15
0 5 10 15 20
0
5
10
15
0 5 10 15 20
0
5
10
15
0 5 10 15 20
0
5
10
15
0 5 10 15 20
0
5
10
15
0 5 10 15 20
0
5
10
15
0 5 10 15 20
0
5
10
15
0 5 10 15 20
0
5
10
15
0 5 10 15 20
0
5
10
15
0 5 10 15 20
0
5
10
15
0 5 10 15 20
0
5
10
15
1
5
0
m
m
1
6
0
m
m
1
7
0
m
m
1
8
0
m
m
1
9
0
m
m
2
0
0
m
m
0.5 bar
0.6 bar
0.7 bar
0.8 bar
0.9 bar
1.0 bar
1.2 bar
1.4 bar
p
h
a
s
e
(

H
w
)
[
d
e
g
]
[

H
w
[
[
N
m

1
d
B
]
f [Hz] f [Hz]
Figure G.2: The magnitude and phase of the 40 measured FRFs from muscle 4. Each
gure on the left gives the magnitude of

H
w
, for one muscle length. The gures on the right
give the phase for one muscle length. The color of each line, refers to a pressure level. As
can be seen, the magnitude |

H
w
| increases with the pressure and with the muscle length.
143
0 5 10 15 20
5
5.5
6
6.5
k = 5.69 kN/m
0 5 10 15 20
0
10
20
d = 15.7 Ns/m
0 5 10 15 20
5
6
7
k = 5.93 kN/m
0 5 10 15 20
0
10
20
d = 14.8 Ns/m
0 5 10 15 20
5
6
7
8
k = 6.45 kN/m
0 5 10 15 20
0
10
20
d = 14.1 Ns/m
0 5 10 15 20
7
7.5
8
8.5
k = 7.71 kN/m
0 5 10 15 20
0
10
20
d = 14.7 Ns/m
0 5 10 15 20
9.5
10
10.5
11
k = 10.2 kN/m
0 5 10 15 20
0
10
20
d = 16.6 Ns/m
1
5
0
m
m
1
6
0
m
m
1
7
0
m
m
1
8
0
m
m
1
9
0
m
m
f [Hz] f [Hz]
p
h
a
s
e
(
H
w
)
[
d
e
g
]
[
H
w
[
[
N
m

1
d
B
]
Figure G.3: The magenta lines are the experimentally estimated FRF

H
w
in ve working
points w = (h
w
, 0.9) with h
w
{0.15, . . . , 0.19} m. The black lines represent H
w
with the tted stiness k
w
and damping d
w
as dened in (G.4). The left gures give the
magnitude and the right gures the subsequent phase. The tted stiness k
w
is given in
the magnitude plot and the damping d
w
in the phase plot.
As the bandwidth of the robotic arm is not likely to exceed 10 Hz, only the experimental
data up to 10 Hz is considered to t the stiness and damping. This hardly aects the
value of k
w
, but the damping is not very well estimated using this kind of experiment.
144
Derivation of the static muscle parameters
0.4 0.6 0.8 1 1.2 1.4
2
4
6
8
10
12
14
16
150 160 170 180 190 200
2
4
6
8
10
12
14
16
150 160 170 180 190 200
10
14
18
22
26
30
34
0.4 0.6 0.8 1 1.2 1.4
10
14
18
22
26
30
34
h
w
[mm] h
w
[mm]
p
w
[bar] p
w
[bar]
k
w
[
k
N
m

1
]
k
w
[
k
N
m

1
]
d
w
[
N
s
m

1
]
d
w
[
N
s
m

1
]
0.5 bar
0.6 bar
0.7 bar
0.8 bar
0.9 bar
1.0 bar
1.2 bar
1.4 bar
150 mm
160 mm
170 mm
180 mm
190 mm
200 mm
Figure G.4: The stiness k
w
and damping d
w
as function of the pressure p
w
and the length
h
w
of muscle 4. Remark that the use of colors in the two upper gures indicate a pressure
while in the two lower gures the use of colors indicates the muscle length.
0.12
0.14
0.16
0.18
0.2
0.22
0.24
0.2
0.5
0.8
1.1
1.4
1.7
0
5
10
15
20
h
w
[m]
p
w
[bar]
k
w
[
k
N
m

1
]
0.12
0.14
0.16
0.18
0.2
0.22
0.24
0.2
0.5
0.8
1.1
1.4
1.7
12
14
16
18
20
22
24
h
w
[m]
p
w
[bar]
d
w
[
N
s
m

1
]
Figure G.5: Surface plot of the results given in Figure G.4. It can be seen that the stiness
shows a quadratic dependency on the length, while it shows a linear dependency on the
pressure. This is in accordance with the stiness model given in (4.1). The damping does
not show a clear dependency on either the pressure or the length.
145
0.15 0.16 0.17 0.18 0.19 0.2
0.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
[
b
a
r
]
0.15 0.16 0.17 0.18 0.19 0.2
0.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
[
b
a
r
]
Figure G.6: The relative error between the analytical stiness model and the identied sti-
ness (left gure) and between the experimental stiness model and the identied stiness
(right gure). The match between the models and the measurements is given in Figure
4.6.
0.12
0.14
0.16
0.18
0.2
0.22
0.24
0.2
0.5
0.8
1.1
1.4
1.7
12
14
16
18
20
22
24
h
w
[m]
p
w
[bar]
d
w
[
N
s
m

1
]
0.15 0.16 0.17 0.18 0.19 0.2
0.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
[
b
a
r
]
Figure G.7: The damping as derived from the muscle experiments, is given by the solid
surface in the left gure. The experiments do not give a clear picture of the damping, as
function of the pressure and muscle length. This is mainly due to the type of experiment.
The damping model as dened in (3.49), is tted on the data and shown by the mesh
surface in the left gure. In the right gure, the relative error between the identied and
the experimental damping model is given.
146
H
Tuning of the controllers
This appendix presents additional information on the design of controllers. First,
the implementation of the controllers using lters is given. In appendix H.2, sev-
eral frequency response functions of the pressure behavior T
p
are given. In Ap-
pendix H.1, the stability of the DoF pressure controller (
p
is proven, using the
Nichols diagram. In the remaining parts of this appendix, the identication and
stability of the 2DoF robotic arm are discussed.
H.1 Controller part denitions
The linear controllers consists of a gain with one or more additional lters. Below,
the general purpose and implementation of the ve used lters is given. See also
[Franklin, 2001].
Gain The gain of the feedback loop, with s C:
P(s) = p . (H.1)
Lead-lag lter A lead-lag lter is used to gain phase lead within a certain fre-
quency range. A lead lter is also called a tame d-action:
L(s) =
1
2f
1
s + 1
1
2f
2
s + 1
. (H.2)
Notch lter Anotch lter is used to eliminate certain frequencies for the contoller.
A pure notch lter has equal frequency parameters f
n
1
= f
n
2
, while a tilted notch
lter has unequal frequency parameters f
n
1
,= f
n
2
. The depth of the notch lter
is dened by

1

2
; the width is related to the relative damping of the lter (which is
dened by
2
):
N(s) =
1
(2f
n
1
)
2
s
2
+
2
1
2f
n
1
s + 1
1
(2f
n
2
)
2
s
2
+
2
2
2f
n
2
s + 1
. (H.3)
First order low-pass lter Eliminate frequencies above f
l
:
F
1
(s) =
1
1
2f
l
s + 1
. (H.4)
Second order low-pass lter Eliminate frequencies above f
l
. Depending on the
parameter
l
, the lter is more or less sharp:
F
2
(s) =
1
1
(2f
l
)
2
s
2
+
2
l
2f
l
s + 1
. (H.5)
The controllers as dened in this work, all consist of a gain P(s), combined with
one or more lters. If for example a controller consisting of a gain P(s) with lead-
lag lter L(s), notch lter N(s), the implementation is given by dening the lters
according to (H.1), (H.2) and (H.3); the lters are transformed to the z-domain and
implementing in SIMULINK blocks. These blocks are applied to the error signal one
by one in a SIMULINK model, the model is build and implemented in the dSPACE.
H.2 Frequency response functions of the pressure loop
10
0
10
1
40
30
20
10
0
10
20
10
0
10
1
180
90
0
90
180
frequency response function T
p
=
p
AB
z
p
f [Hz]
[
T
p
[
[
b
a
r
V

1
d
B
]
p
h
a
s
e
(
T
p
)
[
d
e
g
]
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 P
p
=
p
AB
z
p
in four equilibria with varying p
AB
and
2
= 0 deg. In
the legend, the equilibria are given short handed. As can be seen, additional experiments
are performed to identify the behavior below 1 Hz. All FRFs are approximately identical.
148
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(H
OL
) [deg]
[
H
O
L
[
[
d
B
]
Figure H.2: The Nichols diagram of the open-loop H
OL
= C
p
P
p
, with P
p
=
p
AB
z
p
. 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.
149
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 similar
way as presented for joint 2 . In this section, the identication of T

around joint 1
and the design of (

for joint 1 is presented.


During the identication and control of
1
, muscles A and B are constantly fully
inated. This yields the angle of joint 2 ,
2
, to be 0 deg, with a maximum stiness
of muscles A and B . This way, the dynamic coupling between revolute joints 1 and
2 is minimized.
The frequency response functions of T

=

1
z

around several working points are


indicated in green in Figure H.3. Using these FRFs a controller (

is designed
consisting of a gain with a lead-lag, notch and second-order low-pass lter. The
parameters of this controller are given in Table H.1.
The bandwidth of the controlled system is approximately 0.5 and 1 Hz. This is
indicated by the vertical pink lines in Figure H.3.
In this gure, 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 these
gures, it can be seen that all robustness margins are met.
The pressure controller (
p
is designed using a gain with a rst-order low-pass lter,
such that the bandwidth is approximately 1 Hz, similar to the bandwidth of
1
.
gain lead-lag notch low-pass
p 6 f
1
0.1 f
n
1.4 f
l
6
f
2
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 controller
consists of a gain with a notch, lead-lag and a second-order low-pass lter. All frequencies
f are given in Hz.
150
Tuning of the controllers
10
1
10
0
80
60
40
20
0
20
40
10
1
10
0
180
90
0
90
180
10
1
10
0
40
30
20
10
0
10
20
f [Hz]
[
H
[
[
d
B
]
p
h
a
s
e
(
H
)
[
d
e
g
]
[
S
[
[
d
B
]
(

[V bar
1
]
H
OL
[]
T

[bar V
1
]
Figure H.3: The two upper gures show the magnitude and phase of the controller C

,
plant P

=

1
z

and the open-loop H


OL
= C

for joint 1. The lower image shows


the sensitivity S = (1 +C

)
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
360 270 180 90 0 90
30
20
10
0
10
20
30
phase(H
OL
) [deg]
[
H
O
L
[
[
d
B
]
Figure H.4: The Nichols diagram of the open-loop H
OL
= C

for joint 1, with


P

=

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
Tuning of the controllers
H.5 Dual joint control scheme
The control strategy for the 2DoF robotic arm 1
2
is shown in Figure H.5. The
implementation shows much resemblance with the control strategy for 1
1
as pre-
sented in Section 5.1 and Figure 5.2.
The gure below is not complete, the coupling between the dierent inputs and
outputs are not shown. It is believed that p
A
and p
C
are not coupled. As a result,
it is also assumed that the coupling between
1
and p
C
and between
1
and p
C
is
absent.
The coupling between
1
and
2
can be neglected as is shown in Appendix H.7.
Finally, the coupling between
1
and p
A
and between
2
and p
C
is taken for granted
as it is believed that this will not result in stability problems.

ref
1

ref
2
p
ref
A
p
ref
C
e

1
e

2
e
p
A
e
p
C
z

1
1
z

2
2
z
p
A
p
A
z
p
C
p
C
(

1
T

1
(

2
T

2
(
p
A
T
p
A
(
p
C
T
p
C
PWM 1
2

z x u
y
v
plant T
2
Figure H.5: The embedding of the 2DoF robotic arm R
2
in the control loop, yielding the
plant P
2
. The input matrix and the output matrix are dened in Section 5.3.1.
153
H.6 MIMO system identication
In a MIMO system identication, the plant is identied by determining the input
and process sensitivity experimentally. The theory of MIMO system analysis and
control is treated in [Tousain, 2006; Skogestad, 1996].
In Figure H.6, the input-output relations of a 2DoF MIMO system are given. Also
the three types of signals are indicated, the outputs , the noise n and the error
signals e. The controllers, frequency response functions and signals are stored in
matrices:
(

=
_
(

1
0
0 (

2
_
(H.6)
T

=
_
T

11
T

12
T

21
T

22
_
(H.7)
n =
_
n
1
n
2

T
(H.8)
e =
_
e
1
e
2

T
(H.9)
=
_

1

2

T
. (H.10)
The input sensitivity S
I
is derived from e and n by:
e = (I +(

)
1
n
S
I
= (I +(

)
1
,
(H.11)
while the process sensitivity S
P
is derived using and n according to:
= T

(I +(

)
1
n
S
P
= T

(I +(

)
1
.
(H.12)
Multiplying the process and the inverse input sensitivity yields the plant T

:
T

= S
P
S
1
I
. (H.13)
Essential in the experimental identication is that the noise signals are not injected
simultaneous. First, noise in n
1
is injected and e
(1)
and
(1)
are measured. Using
the power spectra of n
1
, e
(1)
and
(1)
, the input and process sensitivity terms
depending on n
1
are calculated for each frequency
i
of the power spectra:
S
I
(
i
) =
_

e
(1)
1
n
1
(
i
)

n
1
(
i
)
. . .

e
(1)
2
n
1
(
i
)

n
1
(
i
)
. . .
_

_
(H.14)
S
P
(
i
) =
_

(1)
1
n
1
(
i
)

n
1
(
i
)
. . .

(1)
2
n
1
(
i
)

n
1
(
i
)
. . .
_

_
. (H.15)
154
Tuning of the controllers
+
+
+
+
+
+
+
+

1
(

2
e
1
e
2
n
1
n
2
T

11
T

12
T

21
T

22
Figure H.6: The input-output relations as present in a coupled 2DoF MIMO system. The
identication is performed in closed-loop, using the controllers C

1
and C

2
The direct
frequency response functions are given by P

11
and P

22
, the frequency response functions
determining the coupling are given by P

12
and P

21
. Noise is injected in either n
1
or n
2
;
the error signals e
1
and e
2
and the output signals
1
and
2
are measured.
Next, noise is injected in n
2
and e
(2)
and
(2)
are measured. The parts of the input
and process sensitivity depending on n
2
are calculated, using the power spectra
of n
2
, e
(2)
and
(2)
:
S
I
(
i
) =
_

e
(1)
1
n
1
(
i
)

n
1
(
i
)

e
(2)
1
n
2
(
i
)

n
2
(
i
)

e
(1)
2
n
1
(
i
)

n
1
(
i
)

e
(2)
2
n
2
(
i
)

n
2
(
i
)
_

_
(H.16)
S
P
(
i
) =
_

(1)
1
n
1
(
i
)

n
1
(
i
)

(2)
1
n
2
(
i
)

n
2
(
i
)

(1)
2
n
1
(
i
)

n
1
(
i
)

(2)
2
n
2
(
i
)

n
2
(
i
)
_

_
. (H.17)
Finally, the plant T

is estimated by a frequency-wise matrix manipulation of the


process and input sensitivity:
T

(
i
) = S
P
(
i
) S
1
I
(
i
) . (H.18)
155
H.7 Interaction between the joint angles
A measure for the interaction between two coupled outputs, is the interaction co-
ecient /
I
which is dened by:
/
I
() =
H
12
H
21
H
11
H
22
, (H.19)
with H = T

, as dened in Figure 5.8.


In Figure H.7, the interaction coecient for coupling between the two joint angles
is 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 controlled
robotic arm.
10
1
10
0
10
1
80
70
60
50
40
30
20
10
0
10
20
f [Hz]
[
/
I
[
[
d
B
]
p
C
= 0.4 bar
p
C
= 0.6 bar
p
C
= 0.8 bar
Figure H.7: The four frequency response functions of P

for dierent values of p


C
. The
FRFs are experimentally determined around

1
=

2
= 0 deg. The pressure in muscle A
is kept at p
A
= 0.4 bar in closed loop.
156
Tuning of the controllers
H.8 Stability of the dual joint controller
270 180 90 0
20
10
0
10
20
30
phase(H
OL
) [deg]
[
H
O
L
[
[
d
B
]
Figure H.8: The Nichols diagram of the open-loop H
OL
= C

1
P

1
for joint 1, with
P

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
270 180 90 0
20
10
0
10
20
30
phase(H
OL
) [deg]
[
H
O
L
[
[
d
B
]
Figure H.9: The Nichols diagram of the open-loop H
OL
= C

2
P

2
for joint 2 , with
P

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
I
Implementation of the
robotic arm model
Main le for simulating the robotic arm model
% Model of pneumatics and one muscle
% Masters project Stef van den Brink
% Philips AppTech
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Set simulation parameters
fpwm = 50 ;% sample frequency PWM
fs = 1000 ;% controller frequency
fvalve = 300 ;% Valve frequency limit (acceptable error band)
tend = 20 ;% end time of simulink simulation
Tpwm = 1/fpwm ;% pwm sample time
Ts = 1/fs ;% controller sample time
% Set simulation parameters
[air,beta] = presparameters ;% load pneumatic parameters
par = nominalbehav ;% load robot and muscleparameters
Pin = [1e5 1] ;% [Pa] air supply and outer pressure
% Initial condition and excitation
x0 = [1e5 .5e5 NaN 0 0] ;% [Pa Pa Pa deg rad/s] Starting conditions
x0(4) = x0(4)*(pi/180) ;%
x0(3) = equilibria(x0(4),x0(2),par) ;%
%-------------------------------------------------------------------
% Solve ODE for pressure
t=0:Ts:tend;
x=ode3(@PneuTwoMuscleModelDV,t,x0,air,beta,par,fpwm,Pin,exc);
% Recap system values
n=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
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Setting the pneumatic parameters
function [air,beta]=presparameters;
% Pneumatic model parameters
% Masters 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 CO2
air.M_frac = [28.013 31.999 39.948 44.01] ;% [kg/kmol] fractions N2 O2 Ar CO2
air.M = air.frac*air.M_frac/sum(air.frac) ;% [kg/kmol] molecular mass air
air.R = 8314.51 ;% [J/(kmol K)] universal gas constant
air.Rs = air.R/air.M ;% [J/(kg K)] specific gas constant air
air.T = 293 ;% [K] temperature
air.eta = 17.1e-6 ;% [Pa s] dynamic viscosity air
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Robot pneumatics parameters
R.vonce = 7.2e-4 ;% [m] radius of one valve
R.vtwice = 5.2e-4 ;% [m] radius of two serial valves
R.reduc = 4e-4 ;% [m] radius of reduction valve
beta.reduc = 0.59*sqrt(2)*pi*R.reduc^2 ;% [m^2] restriction gain reduction valve
beta.vsingle = 0.59*sqrt(2)*pi*R.vonce^2 ;% [m^2] restriction gain valves
beta.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
% Masters project Stef van den Brink
% Philips AppTech
%
% par=nominalbehav
equil = 1 ;% [0 1] calculate equilibrium points
comp = 1 ;% [0 1] compare equilibria with experiments
obs = 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.533
par.J = 5.7e-3 ;% [kg m^2] 5.697561e-3
par.L12 = 0.176 ;% [m] 0.17595
par.LfA = 0.14 ;% [m] length of muscle A fitting
par.LfB = par.LfA ;% [m] length of muscle B fitting
par.d1 = 0.025 ;% [m] fitting diameter
par.n = 1.25 ;% [-] number of windings of one thread
par.L = 0.1274 ;% [m] thread length
par.s1 = 0.117 ;% [m] muscle parameter 1
par.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
Implementation of the robotic arm model
Derive the passive muscle parameters from the experimental identication
function [kd,mdl]=FitMuscleModel
% The function FitMuscleModel fits the stiffness
% model on experimentally identified muscle stiffness.
% Masters project Stef van den Brink
% Philips AppTech
%
% Usage: [kd,mdl]=FitMuscleModel
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% load measured data
if ~exist(S,var);
load([base,\MuscleFit\S10.mat]);
end
%--------------------------------------------------------------------------
% set figure options if plot is required
if nargout==0;
dis=1 ; clc
else
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
else
K=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
end
end
%--------------------------------------------------------------------------
% generate the least squares fit matrix with input values
if 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 % damping
A = [ones(size(ydata)) xdata1];
elseif z==3
A=1; ydata=1;
end
% calculate the parameters using a least squares fit
ATA=A*A;
ATb=A*ydata;
%--------------------------------------------------------------------------
% normalize model to 5 parameters
if z==1
161
% fitted stiffness parameters
kpar=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 parameters
dpar=ATA\ATb;
elseif z==3
% estimated stiffness parameters
op0 = 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);
end
clear A ydata
end
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Set equilibrium
function [pB,er]=equilibria(varargin)
% Equilibria of muscle test setup
% Masters 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 = varargin{1};
pA = varargin{2};
par = varargin{3};
if nargin>3; chck=varargin{4}; else; chck=0; end
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%% Determine equilibrium %%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
162
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 chck
if 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
end
end
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%% Damping and stiffness of the muscles %%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
if nargout<2
return
else
h0A = 2*par.L - par.s1*pA/(par.s2+pA) ;% [m] nominal length of muscle A
h0B = 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 A
FB = kB*(hB-h0B) ;% [N] force generated by muscle B
QA = FA*A ;% [N] Non-conservative force of muscle A
QB = FB*B ;% [N] Non-conservative force of muscle B
er = QB + QA + Fz ;% [N] check, should be zero.
end
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
163
Kinematic relations
function [hA,hB,dhA,dhB,A,B]=kinematics(phi,dphi,par);
% Kinematics of muscle test setup
% Masters 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 links
LfA = 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 matrix
A21 = [cos(phi) sin(phi) ; -sin(phi) cos(phi)];
dA21 = dphi*[-sin(phi) cos(phi) ; -cos(phi) -sin(phi)];
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Muscle orientation and velocity vectors
fA = [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 vectors
if strcmp(class(phi),sym)
nfA = sqrt(fA*fA.);
nfB = sqrt(fB*fB.);
dfA = eval(dfA);
dfB = eval(dfB);
else
nfA = norm(fA);
nfB = norm(fB);
end
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Muscle length
hA = nfA-LfA;
hB = nfB-LfB;
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Muscle velocity
164
Implementation of the robotic arm model
dhA = norm(dfA)*sign(dfA(1));
dhB = norm(dfB)*sign(dfB(1));
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Non-conservative force multiplication parameters
A = (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
% Masters 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 t
k = floor((t+eps)*fpwm) ;% PWM counter
tk = k/fpwm ;% [s] Sampled time
uth = t*fpwm - k ;% [-] threshold value; range 0 - 1
tau = 3e-3 ;% [s] saturation level
% Apply saturation to uth
if 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 system
if exc
u = presref(tk) ;% [kg/s] control signal from zero order hold
u(1) = 0 ;% u(1) block function ; u(2) sinus function
FF=0 ;% [N] no external excitation
else
u = [0 0] ;% [kg/s] no valve signal
FF= 6*sin(pi*t) ;% [N] external force excitation
end
% Determine valve signals
xinA = u(1) > uth ;% muscle A air in signal
xoutA = u(1) < -uth ;% muscle A air out signal
165
xinB = u(2) > uth ;% muscle B air in signal
xoutB = 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 A
d2A = sqrt(4*par.L^2-hA^2)/(par.n*pi) ;% [m] actual diameter d2 for muscle A
VA = pi/60*hA*(3*par.d1^2+4*par.d1*d2A+8*d2A^2) ;% [m^3] actual volume of muscle A
dVdhA = 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 B
d2B = sqrt(4*par.L^2-hB^2)/(par.n*pi) ;% [m] actual diameter d2 for muscle B
VB = pi/60*hB*(3*par.d1^2+4*par.d1*d2B+8*d2B^2) ;% [m^3] actual volume of muscle B
dVdhB = 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 line
Ps = [1-xinA xinA]*[x(1) x(3) ; x(2) min(x(2:3))]*[1-xinB ; xinB];
% Air density
rho = ([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 volumes
dP = [(P0(1) - x(1))
(x(1) - Ps)
(xoutA*(x(2) - P0(2)))
(xoutB*(x(3) - P0(2)))
];
% Flow in hoses
qin = beta.reduc * sqrt(rho(1)*abs(dP(1))) * sign(dP(1)) ;% to capacity
qs = beta.vdouble * sqrt(rho(2)*abs(dP(2))) * sign(dP(2)) ;% to valves
qsA = qs * (xinA * (x(1)-x(2))) / (x(1) - x(2) + xinB*(x(1)-x(3))) ;% to muscle A
qsB = qs * (xinB * (x(1)-x(3))) / (xinA*(x(1)-x(2)) + x(1) - x(3)) ;% to muscle B
qoutA = beta.vsingle * sqrt(rho(3)*abs(dP(3))) * sign(dP(3)) ;% out muslce A
qoutB = 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 A
FB = kB*(hB-h0B) + dB*dhdtB ;% [N] force generated by muscle B
QA = FA*A ;% [N] Non-conservative force of muscle A
QB = FB*B ;% [N] Non-conservative force of muscle B
Fz = par.m*9.81*par.L12*sin(x(4)) ;% [N] gravity force on the beam
166
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 ) / VB
x(5)
(QA + QB + Fz + FF) / (par.J + par.m*par.L12^2 )
];
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%% capture all outputs %%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
else
xdot = 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
168
Bibliography
[ABB, 2006] ABB Robotics (url visited November 2006). Technical data
IRB 4400 Industrial Robot. http://www.abb.com/robotics.
[ASML, 2006] ASML (url visited November 2006). Technical data
Twinscan step and scan dual-stage lithographic tool.
http://www.asml.com.
[Bax, 2003] Mike Bax (2003). Investigations into novel actuators. Bach-
elors thesis, Hogeschool Utrecht.
[Bekey, 2005] George A. Bekey (2005). Autonomous robots: from biological
inspiration to implementation and control. Intelligent robotics
and autonomous agents. MIT press. ISBN 0-262-02578-7.
[Bertetto, 2004] A. Manuello Bertetto and M. Ruggiu (2004). Charactization
and modeling of air muscles. Elsevier Mechanics Research
communications, 31: 185 194.
[Caldwell, 1994] D.G. Caldwell, G.A. Medrano-Cerda and M. Goodwin
(1994). Characteristics and adaptive control of pneumatic
muscle 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 muscle
actuator system. Control Applications, pages 167172.
[Chou, 1994] Ching-Ping Chou and Blake Hannaford (1994). Static and
dynamic characteristics of McKibben pneumatic articial
muscles. Robotics and Automation, pages 281286.
[Chou, 1996] Ching-Ping Chou and Blake Hannaford (1996). Measure-
ment and modeling of McKibben pneumatic articial mus-
cles. Robotics and Automation, 12(1): 90102.
[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 and
systems, 4: 1964 1970.
[Daerden, 1999] Frank Daerden (1999). Concept and realization of pleated
pneumatic articial muscles and their use as compliant actua-
tor elements. PhD thesis, Vrije universiteit Brussel.
[Daerden, 2002] Frank Daerden and Dirk Lefeber (2002). Pneumatic arti-
cial muscles: actuators for robotics and automation. Eu-
ropean journal of mechanical and environmental engineering,
47(1): 1021.
[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 control
board with ControlDesk interface, Paderborn, Germany.
http://www.dspace.de.
[Festo, 2006] Festo AG & Co. KG (url visited may 2006). Fluidic Muscle
MAS. 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. Springer
Tracts in Advanced Robotics, 15.
[Heath, 2002] Michael T. Heath (2002). Scientic 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 and
http://www.honda-robots.com.
[Kara, 2006] Dan Kara (2006). Presentation: Global Trends
in the Consumer Robotics Market. RoboticsTrends.
http://www.roboticstrends.com.
[Klute, 1999] G.K. Klute, J.M. Czerniecki and B. Hannaford (1999). McK-
ibben articial muscles: pneumatic actuators with biome-
chanical intelligence. International conference on advanced
intelligent mechatronics.
170
Bibliography
[Klute, 2002] G.K. Klute, J.M. Czerniecki and B. Hannaford (2002). Ar-
ticial muscles: Actuators for biorobotic systems. Interna-
tional journal of robotics research, 21: 295309.
[Klute, 2000] G.K. Klute and B. Hannaford (2000). Accounting for elas-
tic energy storage in McKibben articial muscle actuators.
Journal of dynamic systems, measurements, and control, pages
386388.
[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 for
pneumatic muscle actuators in opposing pair congura-
tion. IEEE transactions on control systems technology, 13(4):
550558.
[Maas, 2005] Sander Maas (2005). Control of a pneumatic robot arm by
means of reinforcement learning. Masters 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.
[Mller, 2004] I. Mller and P. Strehlow (2004). Rubber and rubber bal-
loons, Paradigms of thermodynamics. Number 637 in Lecture
notes 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 paralyzed
hand. Journal of Bone and Joint Surgery, 45(5): 933952.
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 exible
rubbertuator-based robot joint. International Fuzzy Systems
and Intelligent Control Conference, pages 361370.
[Pack, 1996] R.T. Pack, M. Iskarous and K. Kawamura
(1996). Climber robot. US Patent: 5,551,525.
http://www.freepatentsonline.com/5551525.html.
[Petrovi c, 2002a] Petar B. Petrovi c (2002a). Modeling and control of an artif-
cial muscle, part one: Model building. Buletinul stiintic al
universit atii politehnica din Timisoara, Transactions on me-
chanics, 47(61). X-th conference on mechanical vibrations.
171
[Petrovi c, 2002b] Petar B. Petrovi c (2002b). Modeling and control of an ar-
tifcial muscle, part two: Model verication. Buletinul sti-
intic al universit atii politehnica din Timisoara, Transactions
on mechanics, 47(61). X-th conference on mechanical vibra-
tions.
[Plettenburg, 2005] Dick H. Plettenburg (2005). Pneumatic actuators: a com-
parison of energytomass ratios. Proceedings of the 2005
IEEE 9th International Conference on Rehabilitation Robotics,
Chicago, IL, USA, pages 545 549.
[Polytech, 1997] Polytech (1997). P.H.H. Leijendeckers, J.B. Fortuin, F. van
Herwijnen and H. Leegwater, Polytechnisch zakboekje, vol-
ume 48. Koninklijke PBNA.
[Repperger, 1998] D.W. Repperger, K.R. Johnson and C.A. Phillips (1998). A
VSC position tracking system involving a large scale pneu-
matic muscle actuator. IEEE conference on decision and con-
trol, 4: 43024307.
[Reynolds, 2003] D.B. Reynolds, D.W. Repperger, C.A. Phillips and
G. Bandry (2003). Modeling the dynamic characteristics
of pneumatic muscle. Annuals of biomedical engineering, 31:
310317.
[Sabe, 2005] Kohtaro Sabe (2005). Development of entertainment robot
and its future. IEEE Symposium on VLSI circuits, pages 25.
http://www.sony.net/SonyInfo/QRIO.
[Schrder, 2003] Joachim Schrder, Duygun Erol, Kazuhiko Kawamura and
Rdiger Dillmann (2003). Dynamic pneumatic actuator
model for a model-based torque controller. IEEE interna-
tional symposium on computational intelligence in robotics and
automation, 1: 342347.
[Shadow, 2006] Shadow Robot Company (url visited may 2006). Pneumatic
air 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 and M. Fujita (2004). Associ-
ated emotion and its expression in an entertainment robot
QRIO. 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 for
control application in an IMA framework. American control
conference, Arlington, Virginia.
172
Bibliography
[Tondu, 1997] Bertrand Tondu and Pierre Lopez (1997). The McKibben
muscle and its use in actuating robot-arms showing simi-
larities with human arm behaviour. Industrial Robot, 24(6):
432439.
[Tondu, 2000] Bertrand Tondu and Pierre Lopez (2000). Modeling and
control of McKibben articial muscle robot actuators. IEEE
Control Systems Magazine, 20(2): 1538.
[Tousain, 2006] Rob Tousain (2006). MIMO identication. Slides. PATO
course 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, actuation
and control of an anthropomorphic robot arm. Mechanism
and machine theory, 35: 945962.
[UNECE, 2004] UNECE (2004). World robotics 2004 Statistics, Market Anal-
ysis, Forecasts, Case Studies and Protability 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): 433440.
[van Ham, 2003] Ronald van Ham, Frank Daerden, Bjrn Verrelst and Dirk
Lefeber (2003). Control of a joint actuated by two pneu-
matic articial muscles with fast switching on-o valves.
6th National congress on theoretical and applied mechanics, 75.
[Weisstein, 2006] Eric W. Weisstein (url visited April 2006). Barrel. Wolfram
MathWorld. http://mathworld.wolfram.com/Barrel.html.
173
174

Vous aimerez peut-être aussi