IN DEGREE PROJECT MECHANICAL ENGINEERING,SECOND CYCLE, 30 CREDITS
, STOCKHOLM SWEDEN 2020
Online Variable Recruitment for Pneumatic Artificial Muscles with Springs
ANTHONY LOCCISANO
KTH ROYAL INSTITUTE OF TECHNOLOGYSCHOOL OF INDUSTRIAL ENGINEERING AND MANAGEMENT
ii
iii
Examensarbete TRITA-ITM-EX 2020:430
Variabel Rekrytering under Drift av Pneumatiska,
Artificiella Muskler med Fjädrar
Anthony Loccisano
Godkänt
2020-07-24
Examinator
Lei Feng
Handledare
Qinglei Ji
Uppdragsgivare
KTH
Kontaktperson
Elena Gutierrez-Farewik
Sammanfattning Pneumatiska artificiella muskler (PAM) har fått uppmärksamhet inom området för mjuk robotik
för deras höga effekt-/viktförhållande, låga tillverkningskostnader, låg vikt och relativt enkla att
implementera. Detta gör dem till bra kandidater för exoskelett. Ett område inom ny forskning
innefattar variabel rekrytering, en process där man successivt aktiverar enskilda PAM i ett
system bestående av flera sådana, för att förbättra den totala systemeffektiviteten. Medan några
simulerings- och kvasistatiska studier existerar, har väldigt lite forskning undersökt
realtidskoppling med ett fysiskt system. I de kvasistatiska studierna har knäckningen av icke-
aktiverade PAM: er varit en konsekvent fråga. I detta projekt är en uppsättning av sex parallella
PAM-serier anslutna seriellt till enskilda fjädrar för att förhindra att icke-aktiverade PAM-skivor
knäcks under sammandragning. Systemet körs genom både en "batch-" och en "orderly-"open-
loop-rekryteringscykel för att bättre förstå övergångseffekter och energiförbrukning. Det visade
sig att batchmetoden använder mer energi och är mer benägen att påverkas av att störningar
under övergångar. Fjädrarna förhindrar dock knäckning på bekostnad av individuell
rekryteringsnivå. Rekommendationer för att implementera omkopplingsstrategierna och hur man
använder fjädrar ges.
iv
v
Master of Science Thesis TRITA-ITM-EX 2020:430
Online Variable Recruitment for Pneumatic Artificial Muscles with Springs
Anthony Loccisano
Approved
2020-07-24
Examiner
Lei Feng
Supervisor
Qinglei Ji
Commissioner
KTH
Contact person
Elena Gutierrez-Farewik
Abstract Pneumatic artificial muscles (PAMs) have gained attention in the realm of soft robotics for their
high power to weight ratio, low manufacturing cost, low weight, and relatively high compliance.
This makes them appear as a great candidate for exoskeletons. An area of recent research involves
variable recruitment, the process of successively activating individual PAMs from a set to improve
overall system efficiency. While a few simulation and quasi-static studies exist, very little research
has investigated real time switching with a physical system. In the quasi-static studies, the buckling
of non-activated PAMs has been a consistent issue. In this thesis, a set of six parallel PAMs are
connected serially to individual springs to prevent non-activated PAMs from buckling during
contraction. The system is run through both a batch and orderly, open loop recruitment cycle to
better understand transition effects and energy consumption. It was found that the batch method
uses more energy and is prone to disturbances during transitions. The serial elastic elements do
prevent buckling at the cost of individual recruitment level movement capability.
Recommendations for implementing the switching strategies and how to use springs are given.
vi
vii
FOREWORD
This project would have been impossible if not for the support of my friends and colleagues.
I would like to express my very great appreciation to Professor Elena Gutierrez-Farewik, the
project champion who believed in me and provided the opportunity to work on something unique
and close to my heart.
I would also like to thank my supervisor, Qinglei Ji for always making time for questions and
others in the mechatronics department, Björn Möller and Staffan Qvarnström, for providing me
with space and equipment to carry out the study. Vicki Derbyshire especially, was invaluable for
her support in managing the administrative hurdles that occurred throughout the year from housing
to residency.
I would like to acknowledge Lasse Hässler, Anton Boström and others from the KTH Prototype
Center for their assistance constructing some of the components and showing me how to use the
prototyping equipment. It was most appreciated. A special shoutout goes to workshop manager,
Tomas Östberg for bearing with my Swedish and machining everything I asked for.
I am grateful to the KTH Solid Mechanics lab manager, Martin Öberg for his patience and
flexibility regarding the work to get the quasi-static test data for the PAMs as well as Magnus at
Hydroscand AB for doing something unconventional.
To my friends and classmates, especially Alejandro Kuratomi, Kayla Kearns, Nils Jörgensen,
Stefan Ionescu, and Gustav Sten, thank you for your endless encouragement, service as sounding
boards and carrying my workstation between rooms multiple times. You all rock.
Anthony Loccisano
Stockholm, July 2020
viii
ix
NOMENCLATURE
Notations
Symbol Description Units
EIn Input Fluid Energy J
EOut Output Mass Potential Energy J
ESpring Spring Potential Energy J
F0 Initial Spring Tension N
FDes Desired Force N
FMax Maximum Motor Unit Force N
FT Total External Force N
g Acceleration due to Gravity m/s2
k Spring Constant N/m
LPo Original PAM Length m
LPC PAM Contraction Length m
LSo Original Spring Length m
M Mass of Load kg
nMU-Act Number of Active Motor Units -
nMU-T Number of Total Motor Units -
Ps System Air Supply Pressure Pa
Qs System Air Supply Flow Rate m3/s
rL Moment Arm of Cable m
rP Pulley Diameter m
R Arm Length m
S Samples per Period -
ts Sample Time s
x Spring Extension/Contraction m
xT Cumulative Spring Extension m
y Floating Plate Translation m
η Efficiency %
θ Arm Angle deg
x
Abbreviations
ADC Analog to Digital Converter
CR Contraction Ratio
DAC Digital to Analog Converter
FAM Fluid Artificial Muscle
HAM Hydraulic Artificial Muscle
ID Inside Diameter
MU Motor Unit
OD Outside Diameter
PAM Pneumatic Artificial Muscle
RL
SD
Recruitment Level
Standard Deviation
SEM Single Equivalent Muscle
SOTA State of the Art
xi
TABLE OF CONTENTS
SAMMANFATTNING (SWEDISH) iii
ABSTRACT iv
FOREWORD vii
NOMENCLATURE ix
TABLE OF CONTENTS xi
1 INTRODUCTION 1
1.1 Background 1
1.2 Frame of Reference 2
1.3 Purpose 4
1.4 Delimitations 4
1.5 Method 5
1.6 Ethical Considerations 5
2 PAM DEVELOPMENT 7
2.1 PAM Research and Manufacture 7
2.2 PAM Testing 8
3 IMPLEMENTATION 11
3.1 Test System and Components 11
3.2 Spring Specification 13
3.3 Switching Logic 15
3.4 Experiment 17
4 RESULTS 19
4.1 Smoothness 19
xii
4.2 Energy and Efficiency 20
4.3 Spring Results and Observations 23
5 DISCUSSION 25
5.1 Smoothness 25
5.2 Energy and Efficiency 25
5.3 Spring System 26
5.4 Limitations 27
6 FINAL THOUGHTS 29
6.1 Conclusions 29
6.2 Recommendations 29
6.3 Future Work 30
7 REFERENCES 33
APPENDIX A: BILL OF MATERIALS 35
APPENDIX B: PAM DEAD BAND 38
APPENDIX C: ELECTRICAL SCHEMATIC 39
APPENDIX D: ARDUINO CODE 40
APPENDIX E: SPRING EQUATIONS 44
APPENDIX F: SIMULINK SWITCHING LOGIC 45
1
1 INTRODUCTION
This chapter describes the background, purpose, and scope for the thesis. A general overview of
the methodology along with ethical considerations are also presented.
1.1 Background
The McKibben muscle was developed by Joseph L. McKibben in the 1950’s. In its most basic
form, this artificial muscle consists of an elastomeric bladder surrounded by a mesh. When a fluid
source pressurizes the bladder, radial expansion is checked by the mesh and results in an overall
axial contraction [1][2]. The single action tension force and radial expansion have a strong surface
similarity to natural skeletal muscle. Figure 1 illustrates the above explanation. Note that for
subsequent illustrations the muscle meshes will be excluded.
Figure 1. PAM inflation and contraction.
These types of artificial muscles have been further characterized and referred to in more detail as
Pneumatic Artificial Muscles (PAMs) for use with air and Hydraulic Artificial Muscles (HAMs)
for liquids. Naturally there also exist more general Fluid Artificial Muscles (FAMs). Their main
benefits are their force to weight ratio, ease of construction, low cost and natural compliance [3][4].
This makes them appealing for human-interaction and rehabilitation devices. Indeed, some more
interesting highlights of their use are in a contracting elastomeric sleeve [5] and posture assisting
vest [6] where PAMs are used as a textile.
There are, however, disadvantages and limitations to using these types of artificial muscles in
general. They require antagonistic pairing for bi-directional actuation and exhibit highly non-linear
behavior [2][7]. They also usually need a reservoir and compressor. Nevertheless, as wearable
robotics becomes more popular, McKibben type actuators are considered a safe and new
alternative [7] and have been used in different exoskeleton designs [8]-[10]. Some examples are
shown in Figure 2.
Elastic Bladder
Braided SleeveEnd Fittings
Atmospheric Pressure
Fully Pressurized
2
Figure 2. PAM use examples, as a posture assisting vest (left) [6] and in an exoskeleton (right) [10].
1.2 Frame of Reference
While there are many research efforts involving McKibben type actuators, this proposal will focus
on an actuation strategy called variable recruitment. In biological muscle, groups of muscle fibers
that are innervated by a single motor neuron are dubbed a motor unit (MU) [11]. The muscle fibers
are composed of myofibrils arranged in parallel, which are then composed of sarcomeres (single
contractile/force units) arranged in series. Force is said to derive from how many total sarcomeres
are acting in parallel, while velocity is said to stem from how many total sarcomeres are acting in
series [11].
Researchers have begun to use the ideas of variable recruitment in their designs. Thinking of a
single PAM as a muscle fiber, and a group of PAMs as a MU, the contraction behavior can be
based on the firing rate (pressure) to the MU and the number of active MUs [12]. Recruitment
patterns usually start with the slowest/weakest, indefatigable fibers (Type I) and lead up to the
fastest/strongest, fatigable fibers (Type II) [11][12].
The main driver for this type of research has been efficiency. A set of smaller muscles, such as in
Figure 3, selectively acting in parallel is said to be more efficient than a single equivalent muscle
(SEM) of equal cross-sectional area in the low pressure, force range [12]. By better matching the
force, or the number and size of the PAMs, to the load, the more efficient the actuation system
becomes as a whole [13].
Figure 3. SEM becoming three PAM MUs, not necessarily to scale.
For example, a small load may only require the use of MU1 and using the SEM would be overkill.
However, if the load were to increase, the system may require a force in the upper range of the
SEM and call for a higher recruitment level (RL), activating all the MUs. Thus, efficiency is tied
to recruiting the appropriate number or types of MUs for the task at hand.
SEM
MU3
MU2
MU1
Single Equivalent Muscle Motor Units
Single Equivalent Muscle Motor Units
MU1
MU3
MU2SEM
3
There are two variable recruitment strategies, called batch and orderly, that have received the most
attention in the literature. In a batch process, each RL commissions a certain number of PAMs that
all operate at the same control pressure. In an orderly process, successive RLs commission
successive PAMs to operate at the control pressure. Previously activated PAMs remain at max
pressure while non-activated PAMs remain at rest [3]. Figure 4 illustrates the two strategies
moving from RL1 to RL2. In practice, this means that a batch system would only require one
pressure control valve and however many on/off switches as there are MUs, whereas an orderly
system would require a pressure control valve for each MU.
Figure 4. Batch vs orderly RL transitions.
The area of research surrounding variable recruitment is relatively small, with only a handful of
studies and a lot of collaboration between authors. An overview is described and concludes with a
summary in Table 1.
Bryant et al. [13] found that by varying MU size and activation, greater efficiencies could be
obtained at lower force operating conditions. Robinson et al. [12] modeled three identical MUs in
parallel and showed in simulation and quasi-static experiments that variable recruitment can
increase efficiency compared to a SEM and that fewer active muscles produce greater force for a
given compressed air mass.
Jenkins et al. [3] simulated batch and orderly and found that the batch method, where all active
MUs utilized the same applied system pressure, had less desirable transition effects.
In the work of Meller et al. [14], a state machine was used to switch between three RLs as one
would change gears in a vehicle transmission. Each RL had a different gain in its PI controller.
The end result was an increased average efficiency of 46% but transitions were not tracked
smoothly. While it was claimed to be an orderly process, because each active PAM received the
same pressure signal, the strategy was a batch process, albeit with gain scheduling.
DeLaHunt et al. [15] highlighted PAM uniformity and found similar efficiency results using
miniature PAMs. And most recently, Chapman et al. [4] has looked at the entire electrohydraulic
system and found that efficiency advantages with variable recruitment exist over SEMs only when
the source motor/pump is restarted. Variable recruitment still had benefits with continuous
operation of the pump regarding bandwidth.
Both FAMs [3][4][14], and PAMs [12][13][15] were used in the studies. Most studies used a quasi-
static approach or tested different recruitment methods by switching offline to validate their model
[12][13][15]. A couple used simulations [3][4], but only one performed dynamic RL switching
online [14]. Many studies cite the buckling of non-recruited FAMs or PAMs as an issue since this
creates a delay in force application once they are brought online or adds resistance to the active
PAMs [12]-[15].
Batch Orderly
End RL1
Mid RL2
End RL2
5
[7] Jenkins, et al, 2016.
Resting
Fully Contracted
4
This represents the current State of the Art (SOTA) for variable recruitment in McKibben type
actuators. This thesis will focus on the gaps of the literature base, explained more in Section 1.3.
Table 1. Variable recruitment literature summary.
A study unrelated to variable recruitment utilized springs to add a passive element to PAMs and
make them more akin to natural muscle [16]. Adding a passive element is hypothesized to
potentially help with the buckling issue previously mentioned. Previous mitigation attempts
include pre-stretching the FAMs or an embedding process [13]. The embedding process resulted
in decreased contraction ability and force output while the pre-stretch is believed to potentially
accelerate actuator fatigue [12]. In any case, alternative methods of mitigation are desired.
1.3 Purpose
The main purpose of this study was to demonstrate and compare the batch and orderly recruitment
paradigms online, as most work thus far has been conducted via simulation or quasi-static
scenarios for the batch process. The batch process used in the only physical system with online
switching lacked adequate trajectory tracking, especially during transitions [14] and it has been
suggested from simulations that orderly switching offers better transition effects [3]. PAMs were
used as the muscle of choice to address the gap dealing with a compressible medium, as both the
physical system [14] and simulation [3] looked at HAMs. Notably, the simulation also specified
that a compressible fluid could exacerbate transition effects [3].
These three design parameters: online switching, a compressible medium, and switching strategy,
were combined with a physical system to highlight areas needed for further research and help
round out the literature base. Springs serving as serial-elastic elements like in Wolfen [16] were
used to address the buckling issue as a secondary investigation and may transfer the burden of pre-
stretch from FAMs to an external component.
The research questions for this thesis are then stated as:
1. How do physical batch and orderly recruitment strategies compare to each other and
simulations reported in the literature in terms of energy efficiency and transition smoothness?
2. How does the inclusion of series elastic elements impact system performance in terms of
buckling, response, and range of motion?
1.4 Delimitations
This research focused on the physical implementation of variable recruitment strategies and their
effects on transition smoothness and energy consumption for PAMs with springs. Therefore, not
everything in the system was optimized and compared.
Study Switching Medium System Switching Method Date
Bryant et al. [13] Offline Pneumatic Physical Batch Jun 2014
Robinson et al. [12] Offline Pneumatic Physical Batch Aug 2015
Meller et al.[14] Online Hydraulic Physical Batch Nov 2016
Jenkins et al. [3] Online Hydraulic Simulation Batch & Orderly Nov 2016
Loccisano Online Pneumatic Physical Batch & Orderly Jun 2020
5
PAM manufacturing was documented and based on available materials, recommendations from
the literature and surface observations but a complete SOTA PAM was not investigated or
developed. The experimental design did not compare different materials or geometries for PAMs.
PAMs were manufactured to the level necessary to complete the study and are assumed identical.
A single PAM bundle was used for controlling the flexion of a single degree of freedom mock
elbow joint under load. Antagonistic pairs or bi-directional motion was not included in this project.
The arrangement of the PAM bundle was held constant. Variations in number of PAMs in parallel
or in series, their diameter, braiding pattern, elasticity, etc. was not included at this time but could
be another area for future work.
Only one set of springs was tested and all springs were assumed to be identical. Open loop control
was used in this thesis due to time constraints. The research questions can still be adequately
answered without closed loop control or a working model of the PAMs.
Other assumptions are presented as they become relevant.
1.5 Method
A case study methodology was chosen as the most appropriate for answering the research
questions because it is the most direct. It can be used to test if simulation results could be replicated
via a physical system and to highlight other factors that would need to be included in a future
model or simulation for better accuracy.
The smoothness results were evaluated qualitatively while energy and efficiency were evaluated
quantitatively. The latter are more directly measurable and widely reported [3][4][12]-[15] while
smoothness can be subjective to the end user. Observations about the springs were documented
throughout the process, as were other general findings.
A single degree of freedom joint was used as the plant, mocking the elbow, thereby making the
PAM bundle akin to the biceps brachii. This follows setups used in the literature [3][14]. Because
this study focused on the performance of a physical system, equipment necessary for batch and
orderly control was procured and installed including test frame, compressed air source and
pneumatic regulation/measurement equipment and all electronic components. The PAMs were
fabricated and tested to ensure sufficient performance for the study. This includes quasi-static
testing and comparison to the literature.
The system was run in an open-loop trajectory that ensured all RLs would be triggered. Three
cycles for both batch and orderly were performed.
1.6 Ethical Considerations
This thesis is based in part on existing simulations from the literature with known results.
Therefore, a bias risk exists and was acknowledged.
In the grand scheme, the use of this technology is geared towards the development a product that
is fully controlled and functional for the end user in their everyday life. Care should be taken to
follow this technology into the public sector and continually monitor it for potential safety and
security pitfalls as these cannot always be fully taken into account, even with clinical testing.
6
7
2 PAM DEVELOPMENT
This chapter covers how the PAMs were made and evaluated for use. PAMs were not optimized
further than necessary to function for the research questions. The properties presented here have
major implications for system performance.
2.1 PAM Research and Manufacture
First, a small summary of PAM fabrication materials and methods was collated from the literature
[6][12][13][15][17]-[25].
Operating pressure, bladder and braid material, outside diameter (OD), inside diameter (ID),
thickness and length, and braid angle were recorded if available. In general, bladder materials were
found to be silicone or natural rubber/latex and braid materials were Kevlar, Nylon or PET. It
seemed that wall thickness affects dead band pressure while shore hardness (A) affects contraction
ratio (CR) [12][24]. Therefore, a large OD-wall thickness ratio and soft bladder material was
prioritized while searching through local materials. Available onsite air pressure was 6 bar and in
agreement with typical pressures used in the above studies.
In the end, a latex bladder of OD/ID 14/10 mm and a 15-30 mm diameter PET expandable braided
cable sleeve were chosen. Part numbers can be found in Appendix A and can be seen in Figure 5.
A braid with a smaller initial ID than bladder OD would eliminate delay between bladder inflation
and contraction. Here the 1 mm difference is acceptable. The braid frays easily when cut so to
prevent unraveling, the ends were melted with a soldering iron. The PAMs had an average length
of 527.5 mm which was chosen based on the CR and explained further in Section 3.2. Initial braid
angle, the angle the braid forms with the longitudinal axis, was ~22.75º averaged from several
measurements with a goniometer.
Figure 5. PAM materials including latex bladder and PET braided cable sleeve.
This size of PAM was also chosen due to availability of standard fittings, making use of 10mm-
3/8” barbed hose connectors. Originally hose clamps and super glue were used to secure the fittings
but proved to create asymmetries during inflation and could not withstand the high forces
generated. The asymmetry can be seen in Figure 6. Eventually, the barb fittings were secured by
crimping them. This was done by Hydroscand AB, using their equipment for making hydraulic
hose. They cautioned that latex rubber is not a normal candidate for this process as the material
for hydraulic hose is harder and has a metal coil inside that interacts with the crimped fitting better.
Nevertheless, the resulting PAMs were more robust than those using hose clamps and super glue.
8
Figure 6. Hose clamp asymmetries during inflation (left) and crimp vs hose clamp fastening for PAMs (right).
2.2 PAM Testing
Quasi-static testing was performed on the PAMs, as well as tests to determine the blocked force
and free strain, as these parameters are common for initial characterization. The blocked force is
the maximum amount of force a PAM can exert at a given pressure and occurs when the PAM is
not allowed to contract. The free strain is the maximum contraction a PAM experiences with no
load under a certain pressure [4][13][25].
Quasi-static testing is used to generate a force-strain curve for PAMs at a specified pressure and
measures the force produced at different levels of strain. To obtain this curve, a set of two PAMs
was tested using an MTS axial-torque load cell, model 662.024-01 with a 22.5T capacity at the
KTH Solid Mechanics Lab. The load cell was oversized but had the largest available stroke
capability at 130 mm. A set of two PAMs was used because each motor unit would consist of a
pair of PAMs, explained later in Section 3.1. The set up can be seen below in Figure 7.
Figure 7. PAM testing set up, resting (left) and pressurized (right).
Hose clamp
& super glue
Hydraulic hose
crimp
9
The quasi-static testing was performed at 1, 2, & 3 bar to start as the capabilities of the PAMs were
unknown. Each pressure was tested a total of three times in a randomized order. Then three tests
at 4 bar were performed. The quasi-static data was obtained by setting the PAM in a blocked force
condition and pressurizing. The machine then allowed the PAMs to contract at a rate of 1 mm/s
until they reached a reading of 0 N, which is its free strain position. After this, the machine returned
to the original position at the same speed. The sample rate for the load was 20 Hz and the results
are shown in Figure 8. The strain is calculated from the average PAM length of 527.5 mm.
Figure 8. Force-Strain curve for PAM pairs at given pressures. The “Actual (mm)” label represents physical PAM
contraction from testing. Blocked force and free strain information can be observed from this plot as well.
Blocked force was then recorded for pressures at 0.5 bar increments. At 5 bar, a PAM popped but
the initial force was recorded at around 1300 N or roughly 66 kg per PAM. Therefore, 60 kg was
used as the max tensile load for these PAMs. The blocked force can be seen in Figure 9.
Figure 9. PAM pair blocked force. A single PAM at 3 bar can produce a maximum of just under 400 N.
0
200
400
600
800
1000
1200
1400
0 1 2 3 4 5 6
Forc
e (
N)
Pressure (Bar)
PAM Pair Blocked Force
0 0.03 0.06 0.09 0.12 0.15 0.18 0.21 0.24 0.27 0.3
0
200
400
600
800
1000
1200
0 20 40 60 80 100 120 140 160
Strain
Forc
e (
N)
Actual (mm)
PAM Pair Max Force at Contraction
4 Bar
3 Bar
2 Bar
1 Bar
10
The free strain was measured on a separate test bench by recording PAM length as pressure was
increased by increments of 0.1 bar. In this case, PAMs did not share a terminal and were measured
individually, shown as PAM E and PAM W in Figure 10. The curve is sigmoidal with an inflection
occurring around 1.58 bar. No dead band was observed in this process and more details about dead
band can be found in Appendix B.
Figure 10. Free strain for two individual PAMs (East & West designation). The test could be performed to 6 bar
because PAMs were not loaded.
As seen in the literature, blocked force is linear and there is a hysteresis in the force-strain curve,
with higher forces being recorded for an eccentric contraction. The hysteresis is typical of PAM
behavior and is thought to come from bladder elasticity and friction [12][26]. The curves also are
more non-linear towards the beginning of the contraction, which is similar to results seen in the
literature [12][13]. The plots confirm that the PAMs manufactured behave in accordance with the
literature and are suitable for use to answer the research questions.
0
20
40
60
80
100
120
140
160
180
0 1 2 3 4 5 6
Contr
action (
mm
)
Pressure (Bar)
Free Strain
PAM E
PAM W
11
3 IMPLEMENTATION
This chapter reviews the test system for the experiment and how the variable recruitment strategies
were implemented.
3.1 Test System and Components
The test rig is set up similar to Meller et al. [14]. An anchor plate was drilled to hold both the
incoming pneumatic fittings on one side and the hydraulic fittings of the PAMs on the other, seen
in Figure 11. There are six PAMs for a total of three MUs, with each pair symmetrically arranged
around a circle and connected to one proportional valve each. As explained previously in Section
1.2, having a proportional valve for each MU allows a true orderly process to be conducted [3].
Each MU is assumed to be identical and represents one RL, giving a total of three RL’s.
Figure 11. Anchor plate showing connection of PAM hydraulic fittings. MU1 is highlighted in purple, MU2 in green
and MU3 in orange. These also represent the RLs.
The other side of each PAM was fitted with an adapter that sealed the PAM and connected it to a
spring. All the springs terminated on a single floating plate, hence dubbed the “plate”, which then
connected to the arm via wire rope and pulley. These items are highlighted in Figure 12.
Figure 12. Specific component views. From left to right: arm and load, floating plate, PAM adapters.
3
2 3
1
2
1
12
Figures 13 and 14 show the system as whole. Only three PAMs and springs are shown in Figure
13 but each represents a pair. The pairs and the symmetrical arrangement are assumed to eliminate
moments on the plate.
Figure 13. Overall test set up diagram.
Figure 14. Overall test set up. Pneumatic equipment not shown. The system is in the end of RL2.
A Kubler KIH40 incremental encoder was used to track angular position and could also be used
for velocity. The angular position would be the ultimate variable under closed loop control in a
feedback system, if implemented. Since this study only used open loop control, recording the
actual angle in real time did not matter as long as the initial position was known; the change in
angular position was all that was needed. The initial angle was measured at the start of each test
cycle and added to the recorded angle, which always started measuring from 0º.
1
kg
Arduino
PC
Regulated
Air Supply
Load Cell
EncoderProportional
Valves
Pressure SensorFlow
Meter
Angle, ϴ
PAM’s Springs
13
A Tedea Huntleigh 500kg S-Type load cell was used to record the tension in the wire cable. A
HX711 breakout board by Sparkfun was used to filter and amplify the load cell signals. The load
cell could be used in future work to trigger RL switches. Here it served as a reference and was also
used in validating the energy output.
Pneumatic components were obtained from Festo, including three 6 bar VEAB proportional
valves, a 100 L/min SFAH flow meter and a 6 bar SPTW pressure sensor. All devices run on a 24
V power supply and output 0-10 V signals; in addition to regulating pressure, the proportional
valves also send back the actual pressure values. These signals were passed through a voltage
divider to a 16-bit ADS1115 Analog-Digital Converter (ADC) breakout board.
Two of these ADCs were used to handle five incoming sensor signals, as each ADC had only four
channels. The proportional valves’ pressure signals were all handled by one ADC while the
pressure and flow readings were handled by the other.
The flow meter and pressure sensor were used to calculate energy input, explained later in Section
3.4. The proportional valves regulated the pressure in the PAMs in proportion to the voltage
received. The setpoint range varied from 0-10 V and was achieved by amplifying a 0-5 V signal
sent from a 12 bit MCP4725 Digital-Analog Converter (DAC) breakout board from Adafruit via
an LM358 operational amplifier with a gain of 2.
Three DACs were required to handle the proportional valves' pressure setpoints established in
Simulink. As there are only two addresses possible on each DAC, a TCA9548 multiplexer
breakout board from Adafruit was used to manage I2C communications between these boards and
the Arduino Mega 2560 microcontroller. Each DAC used the same address and signals were routed
via switching in the multiplexer. A full wiring diagram can be found in Appendix C and more
details on the components can be found in Appendix A.
All readings were sent via serial communication to Simulink for logging with a sample time of 20
ms. Simulink also generated the input signal for batch or orderly switching and is explained more
in Section 3.3. The setpoints for the proportional valves were then sent from Simulink back to the
Arduino via serial. The Arduino code used can be found in Appendix D. Simulink can also handle
future controllers for benchtop applications.
3.2 Spring Specification
In this setup, the individual PAMs and springs are each assumed to be identical and the PAMs are
assumed to be stiff, that is they do not stretch under load. For PAM-Spring muscle units, Wolfen
used an optimization method for obtaining the spring constant generally based on the PAMs
contraction gradient at its most nonlinear point, assuming no boundary conditions [16]. In this
case, the boundary conditions were used to specify the springs.
The first two conditions considered were the initial resting state, i, and a contracted state in RL3
for an orderly system. The following equations represent these two states in a static condition,
𝑅 cos 𝜃𝑖 𝑀𝑔
𝑟𝐿= 6𝑘𝑥𝑖 (1)
𝑅 cos 𝜃 𝑀𝑔
𝑟𝐿= 4𝑘(𝑥𝑖 − 𝑦 + 𝐿𝑃𝐶) + 2𝑘 (𝑥𝑖 − 𝑦 +
𝐿𝑃𝐶
3) (2)
14
where R is the arm length, rL is the moment arm of the wire cable (which takes into account the
thickness of the cable) M is load mass, g is acceleration due to gravity, k is the spring constant, xi
is the initial stretch of the springs, y is the movement of the plate and LPC is the contraction of the
PAM, which is assumed to result in a spring extension of equal magnitude. Figure 15 gives an
illustration of the variables, where 𝐿𝑃𝑜, 𝐿𝑃,𝑅𝐿1, and 𝐿𝑆𝑜
are the nominal PAM pair length, contracted
PAM pair length of RL1, and nominal spring length respectively.
Figure 15. Coefficient definitions. The top system represents the initial state while the bottom system represents the
end of RL1 / beginning of RL2.
The numerical coefficients in Equations (1) & (2) represent the number of PAMs in the conditions.
For the initial state in Equation (1) all six PAMs are at rest with their springs extended by the load.
The state represented by Equation (2) was intentionally limited to a third of the PAM pair’s
contraction to build a buffer. In the event the load was increased the remaining two-thirds could
be used, but the final target load was originally set to require only a third of orderly RL3’s capacity.
The orderly paradigm was chosen because it more clearly highlights the contraction and force
range for a single MU at the highest loading condition.
By solving both Equations (1) and (2) for k and then setting them equal, the contraction of the
PAM, LPC, and thus the final extension of the spring, could be solved for. Plugging these values
back into either equation would yield the spring constant. This process was iterated in MATLAB
through a given set of parameters including mass, initial angle, desired plate movement and desired
initial spring stretch.
The initial stretch in the springs was set to be 10 mm larger than the desired overall movement of
the plate to ensure that there would always be some extension in the springs to keep inactive PAMs
in tension and prevent them from buckling. The exact value of 10 mm was arbitrary but could be
optimized to prevent a certain amount of catenary. The plate movement was based on the angle of
the arm and assumed no slip in the pulley or stretch in the wire cable. The relation is shown in
Equation (3) where rP is the pulley radius.
𝜃 = 𝜃𝑖 −𝑦
𝑟𝑃
180
𝜋 (3)
PAM contractions from the set generated in MATLAB were screened to ensure they were within
the physical limitations identified in the quasi-static testing. The PAMs can only provide so much
force at certain contractions. Of the remaining parameter combinations, the final set was selected
to maximize the initial angle, initial spring stretch and overall plate motion for the widest range of
masses.
LPo LSo xi
LP,RL1 LPC LSo x y
FT
FT
15
From this final set, the available spring constants were between 0.56-1.35 N/mm. Available
springs were then screened based on maximum allowable extension and resting length. These
boundaries are set by the worst-case scenarios for each constraint. For spring extension this is the
end of RL1, when one MU has fully contracted and the remaining MUs are at rest. The worst case
for buckling is the end of RL2, where two MUs have fully contracted and the remaining one is at
rest with the plate having moved the majority of its path. The nominal length of the spring had to
be short enough to ensure it would still be in extension in this case.
Ultimately, the springs chosen had a nominal spring constant of 0.75 N/mm and initial tension of
33 N. The springs were tested upon delivery and found to have an average spring constant of 0.76
N/mm with a standard deviation (SD) of 0.03 N/mm and were assumed identical.
In this study, the PAMs were assumed to be stiff. Their measured spring constant in the initial load
state was around 11.5-15.5 N/mm but was highly variable and later changed depending on the
pressure. As this is at least an order of magnitude above the spring constant used for the springs,
the assumption was deemed acceptable.
Interestingly, overall plate motion, y, is not directly dependent on the spring constant. Instead, it
is only influenced by the initial stretch of the springs. Plate motion is given by Equation (4) and
the full derivation can be found in Appendix E.
𝑦 =𝑛𝑀𝑈𝐴𝑐𝑡
𝑛𝑀𝑈𝑇
(𝐿𝑃𝑜)(𝐶𝑅) (4)
In this system, plate motion is based on the CR, original length of the PAM and the ratio of active
MUs to total MUs, 𝑛𝑀𝑈𝐴𝑐𝑡 and 𝑛𝑀𝑈𝑇
, respectively. The spring constant and load force affect the
boundary conditions. This makes sense looking at Equation (1), which can be rearranged to solve
for the initial stretch, leading to initial position. If a constant force is assumed, say with a cammed
pulley, having all the PAMs contract will cause the plate to move but the springs will still have the
same stretch they did at the start. The whole system will simply have shifted. However, if the load
force is not constant, the boundary conditions change and the plate motion will be affected.
Equation (4) was used to size the PAM length such that a sufficient plate motion could be obtained.
This phenomenon not only has physical set up ramifications but dictates the overall amount of
plate movement possible before buckling will occur. Assuming identical springs and a constant
load force, FT, the cumulative total initial stretch of all the springs, xT, in the system must be greater
than the product of PAM contraction and the total number of MUs. Otherwise buckling will occur.
This design constraint is given by Equation (5).
𝐹𝑇
𝑘= 𝑥𝑇 ≥ 𝑛𝑀𝑈𝑇
(𝐿𝑃𝑜)(𝐶𝑅) (5)
3.3 Switching Logic
The following formulae for determination of RL and setpoints were adapted from [3] and are
shown below in Equations (6)-(8). Because the system utilized an open loop configuration and no
feedback, the forces were artificially constructed and are symbolic. It should also be noted that this
study assumed a linear relationship between PAM pressure and force for convenience. Because
only transition effects were under study, an accurate pressure-force model was not necessary but
could be a source for better tracking ability.
16
𝑅𝐿 = 𝑐𝑒𝑖𝑙𝑖𝑛𝑔 (𝐹𝐷𝑒𝑠
𝐹𝑀𝑎𝑥) (6)
𝐵𝑎𝑡𝑐ℎ 𝑆𝑒𝑡𝑝𝑜𝑖𝑛𝑡 =𝐹𝐷𝑒𝑠
𝑅𝐿 (7)
𝑂𝑟𝑑𝑒𝑟𝑙𝑦 𝑆𝑒𝑡𝑝𝑜𝑖𝑛𝑡 = {
𝐹𝑀𝑎𝑥
𝑟𝑒𝑚𝑎𝑖𝑛𝑑𝑒𝑟 (𝐹𝐷𝑒𝑠
𝐹𝑀𝑎𝑥)
0
< 𝑅𝐿𝐴𝑐𝑡
𝑅𝐿𝐴𝑐𝑡 (𝐹𝐷𝑒𝑠
𝐹𝑀𝑎𝑥)
> 𝑅𝐿𝐴𝑐𝑡
(8)
FMax represents the maximum force a MU can produce and in this study is represented by the PAM
pressure of 3 bar, or in Simulink its corresponding bit value. FDes normally represents the force a
controller would call for, a desired force. For the open loop configuration it was simply the
setpoint, which was a sine wave scaled to ensure all three RLs would be activated and is further
described in Section 3.4. For the orderly setpoint, previously activated MUs from lower RLs are
left on full power while non-activated MUs are set to 0. Appendix F shows the Simulink block
diagrams for the switching. The resulting control signals are shown in Figure 16.
Figure 16. Setpoint trajectory for batch (top) and orderly (bottom). Graphs are scaled to pressure but the actual
setpoints from Simulink were bit values.
0
0.5
1
1.5
2
2.5
3
3.5
0 100 200 300
Pre
ssure
(bar)
Time (s)
Orderly Control Signal
MU1
MU2
MU3
-0.5
0
0.5
1
1.5
2
2.5
3
3.5
0 100 200 300
Pre
ssure
(bar)
Time (s)
Batch Control Signal
MU1
MU2
MU3
17
3.4 Experiment
The main experiment will move a load of 12 kg through one lift-release cycle. A discrete sine
wave was generated in Simulink to serve as the input signal with an amplitude of 1. The sine wave
was then multiplied by a little under three times the theoretical pressure required for FMax of a
SEM, in this case 9 bar. In this way, the system would call from 0 to roughly three times a single
MU’s capacity and go back down to 0. All three RLs would be triggered and required to activate.
The reference signal was time based and used a frequency of 0.0104666 Hz and sample time, ts,
of 500 ms. This gives 1200 samples per period, S, and a half cycle 0 to π, of 300 s. The test cycle
is intentionally slow to highlight transition effects as momentum from faster motions could mask
the transitions [3]. This would also help the actual pressure to closely follow the control signal.
As the PAMs contracted and the mass moved, the angle change was recorded by the encoder. The
force in the wire cable was measured by the load cell and used to validate the expected force. The
change of height of the mass would be used as the output energy, EOut, and system air flow, QS,
and pressure, PS, would be used for the input energy, EIn. While spring energy, ESpring, was included
in the overall efficiency, η, it does not perform useful work. This follows the virtual work model
used in the literature [3][12][14]. Data was recorded in Simulink simulation time, which was
slower than real time. The energies were thus calculated by,
𝐸𝐼𝑛 = ∑ 𝑃𝑆(𝑖)𝑄𝑆(𝑖)
𝑆 2⁄
𝑖=𝑡
𝑡𝑠 (9)
𝐸𝑂𝑢𝑡 = ∫ 𝑅𝑀𝑔 cos 𝜃
𝜃𝑓
𝜃𝑖
𝑑𝜃 (10)
𝜂 =𝐸𝑂𝑢𝑡
𝐸𝐼𝑛∗ 100% (11)
For Equation (10), EOut was calculated per lifting cycle for the positive work range, corresponding
to the initial and final angle, θi and θf, of the lifts, respectively. Otherwise, as the mass returned to
its original position the energy would be 0 J. The exact energy change of the springs is not directly
measurable during the experiment and omitted for energy efficiency.
18
19
4 RESULTS
Results are presented here. Analysis takes place in Chapter 5. Some observations are also
documented in this chapter. All graphs and data utilize Simulink simulation time and not actual
time.
4.1 Smoothness
As the load moves through one cycle, its trajectory is presented in Figure 17 as a measure of angle
change. The cycle starts in RL1 and the first two “Switches” represent an upshift in RL- to RL2
and then to RL3. The last two “Switches” are the reverse, moving from RL3 → RL2 → RL1. The
load starts in a position hanging below the horizontal of 0º. A sample of the cycle trial results are
shown in Figure 18.
Figure 17. Angle change for batch and orderly lifting cycle 3.
Figure 18. Angle change for batch and orderly cycles.
-50
-40
-30
-20
-10
0
10
600 650 700 750 800 850 900
Angle
(deg)
Time (s)
Angle Smoothness
Orderly
Batch
Switches
-50
-40
-30
-20
-10
0
10
0 200 400 600 800
Angle
(deg)
Time (s)
Orderly & Batch Cycles
Orderly
Batch
20
Smoothness can also be seen when comparing the control signal to the actual pressure for each
switching method and RL, as shown in Figure 19.
Figure 19. Control pressure vs actual pressure for batch and orderly.
4.2 Energy and Efficiency
Energy is calculated from Equations (9) & (10) using measured values. Input energy fluctuations
are shown throughout the main cycle in Figure 20. It closely follows the air supply flow rate. Both
the input and output energy are each summed cumulatively from start to finish for the main cycle
and shown in Figure 21. Switches are the same as described in Section 4.1. Note the order of
magnitude for the y-axis of each graph.
0
0.5
1
1.5
2
2.5
3
3.5
0 50 100 150 200 250 300
Pre
ssure
(bar)
Time (s)
Orderly Control Signal vs Actual Pressure
MU1
MU2
MU3
Actual MU1
Actual MU2
Actual MU3
-0.5
0
0.5
1
1.5
2
2.5
3
3.5
0 50 100 150 200 250 300
Pre
ssure
(bar)
Time (s)
Batch Control Signal vs Actual Pressure
MU1
MU2
MU3
Actual MU1
Actual MU2
Actual MU3
21
Figure 20. Input fluid energy for batch and orderly lifting cycle 3.
Figure 21. Energy plots for batch and orderly lifting cycle 3. Cumulative fluid energy input (top) and cumulative
gravitational potential output energy of the load (bottom).
Total input energy for lifting cycle 3 and average total efficiency for all lifting cycles are shown
in Figures 22 & 23 respectively. Error bars represent one SD. Figure 22 highlights the impact of
transition events.
0
20
40
60
80
100
120
140
600 650 700 750 800 850 900
Energ
y (J
)
Time (s)
Input Energy
Orderly
Batch
Switches
0
500
1000
1500
2000
2500
600 650 700 750 800 850 900
Energ
y (J
)
Time (s)
Cumulative Input Energy
Orderly
Batch
Switches
0
5
10
15
20
25
30
600 650 700 750 800 850 900
Energ
y (J
)
Time (s)
Cumulative Output Energy
Orderly
Batch
Switches
22
Figure 22. Total input fluid energy for batch and orderly lifting cycle 3 demonstrating proportion of transitions.
Figure 23. Average efficiency for all batch and orderly lifting cycles.
The transitions are further highlighted in Table 2, which breaks down the timing for both batch
and orderly. Time denotes a duration for each RL and not the time stamp. Transitions are only
applicable for the batch process and are defined as the point active MUs began working in parallel
after a switch. In other words, the time it took for the previously active MU(s) to deflate and match
the pressure of the inflating MU.
0
500
1000
1500
2000
2500
Orderly Batch
Energ
y (J
)
Total Input Energy
Transitions
0%
2%
4%
6%
8%
10%
12%
14%
Orderly Batch
Average Total Efficiency
23
Table 2. RL times for batch and orderly.
4.3 Spring Results and Observations
Plate displacement and load change as shown in Table 3 are derived from the change in angle and
load cell readings during individual RLs from the main experiment. The load change refers to the
increase in force measured.
Table 3. Load and plate movement changes by RL for batch and orderly. SD’s are in parentheses.
Springs did keep PAMs engaged throughout the entire motion. In previous tests where PAMs were
inflated at full throttle, oscillations were observed in both the lifting and lowering of the load. It
was also noted that previously activated MUs in the orderly scheme contracted when approaching
the end of the subsequent RL.
Recruitment Time (s)
Level Orderly Batch
1 (Lift) 33.00 33.00
Transition 3.67
2 (Lift) 37.33 33.67
Transition 2.67
3 (Lift) 79.83 77.17
3 (Lower) 80.83 80.83
Transition 4.33
2 (Lower) 37.17 32.83
Transition 3.17
1 (Lower) 32.17 29.00
TOTAL 300.33 300.33
Transitions 13.83
S.D. 0.29 0.29
Recruitment Plate Displacement (mm) Load Change (N)
Level Orderly Batch Orderly Batch
1 8.09 (0.02) 8.04 (0.02) 87.53 (0.48) 87.53 (0.64)
Transition -1.85 (0.19) -18.91 (0.56)
2 10.86 (0.10) 12.73 (0.13) 83.61 (0.61) 102.73 (0.38)
Transition -1.60 (0.65) -10.16 (0.81)
3 19.75 (0.18) 20.78 (0.68) 63.51 (0.73) 75.20 (1.17)
TOTAL 38.69 38.09 234.65 236.39
Transitions -3.45 -29.07
24
25
5 DISCUSSION
A discussion of the results and some recommendations are presented in this chapter, along with
limitations for the thesis.
5.1 Smoothness
Looking at the angle data from Figure 17 a few things are apparent. The first is that both the batch
and orderly paths are identical for RL1, which is to be expected since they both use only MU1.
The shape for this contraction resembles the free strain “S” shape showed previously in Figure 10.
The next thing to note is that this “S” shape is consistent for each RL for the orderly process, most
likely due to each RL having only one active MU. On the other hand, the batch path has 2 or 3
MUs contracting and the “S” shape is less pronounced or even eliminated altogether. This is
important for the batch strategy because it indicates that an overall smoother trajectory can occur
given better transitions.
Indeed, the most obvious observation is that for the batch switching, the transitions are
accompanied by sharp jerks and disruptions to the overall motion. The cycle was originally set to
be slow to highlight these transition effects and the transitions occur much faster than the
contractions. From Table 2 the transition times were an order of magnitude smaller than the
contraction times. It may be possible to better tune the switching points so that they are not
targeting a theoretical equivalent pressure.
Both batch and orderly were smoother than physical online transitions in [14] and this is most
likely due to the addition of the springs. As in the simulations performed in [3], batch does have
propensity to drop or jerk during transitions and while a complete delay does not exist during
transitions for orderly, the contraction rate does decrease. In this experiment, no dead band was
observed. The angular position shown in Figure 17 always increased during the lifting cycle and
while the rate of increase did vary it was never zero, indicating that no dead band was present. The
ramp rate was too slow for the inertia to mask the transition. If dead band is a concern, perhaps
having all non-active PAMs at a low standby pressure of 0.5 bar could alleviate delays.
Looking at Figure 19, it becomes apparent that the batch method could not obtain the desired
pressures quickly enough, especially during the lowering half of the cycle for both deflation and
inflation. The batch method requires better understanding of PAM dynamics and their inclusion in
the control scheme for smooth transitions.
Overall, batch had less desirable transition effects as expected from the simulation results in the
literature [3]. The effects were consistent across multiple trials as evidenced by Figure 18.
5.2 Energy and Efficiency
The cumulative energy output shown in Figure 21 matches the shape of the angle in Figure 17
because the energy is directly related to the height of the load.
Looking at the cumulative energy input from Figure 21, a key difference is the increase in energy
consumption for batch at transitions vs a drop-off for orderly. Less energy is used for orderly when
commissioning a new MU, as flow increases towards the middle of PAM inflation. Inflating more
26
PAMs uses more air and therefore more energy than keeping other PAMs charged and inflating a
single new set. Even discounting the transitions, the batch process still required more energy for
the same motion.
The transition energies are highlighted in Figures 20 and 22 with the large spikes for the batch
process, further exacerbated because the system was bringing on the new MU as quickly as
possible. This effect was so great that the transitions for batch alone almost matched the entirety
of the orderly process. The energy consumption profile then goes on to match orderly later through
the contraction.
The next metric to consider is efficiency. Both batch and orderly are relatively inefficient overall.
PAMs themselves tend to be inefficient as they use air, which has a low bulk modulus, and a lot
of the energy is used in overcoming bladder elasticity [12][26]. Robinson et al. achieved
efficiencies of between 15-35% and similar results were obtained here, if considering that the
spring energy was not included in Equations (10) & (11); its inclusion would only increase the
efficiency.
A major factor for efficiency is that batch requires air and energy input even on the relaxation of
the muscle. Going from RL3 to RL2 still requires inflation or active work, whereas for orderly it
is strictly a deflation process. Most studies have not looked at the energy for lowering the load,
only studying the positive work from contraction [12][14]. This leads to an underestimation of
overall energy requirements for a system if the batch process will need air for both contraction and
relaxation.
In the simulations performed by Jenkins et al., the differences between batch and orderly efficiency
were “nearly imperceptible” but the authors cautioned a compressible working fluid may highlight
differences [3] and this has proven true. Robinson et al. notes that simulations predict efficiency
increases with a decrease in number of active MUs, which helps explain why the batch process
resulted in more energy loss [12].
The difference in efficiency becomes more obvious in Figure 23, which only accounted for the
lifting portion of the cycles. While a statistical analysis was not performed, it is readily apparent
that orderly is more efficient. However, it should be noted that efficiency differences may diminish
if cycle speed were increased.
5.3 Spring System
In general, a system using springs kept the inactive PAMs engaged and immediately ready for
work. However, while the buckling phenomena was removed it came with several tradeoffs that
must be understood and evaluated before adopting such a system.
First, dividing the maximum recorded load of 720 N between the MUs and using Figure 24 (a
modified version of Figure 8) gives the PAMs estimated contraction at roughly 70 mm at Point A.
Yet the overall plate motion was only around 38 mm. Using Equation (1) with the initial and final
angles of -42º and 4º, respectively, from Figure 17 and solving for x, we see that the stretch of the
springs at the final position (with the higher load) is 39 mm longer than the initial stretch at the
start of the test. This 39 mm was taken away from the full contraction capability of the PAM and
resulted in only 38 mm of plate movement. Without the springs, the PAMs could have moved the
load much further.
27
Figure 24. Force-Strain curve for PAM pairs highlighting the effects of springs. Modified from Figure 8.
Second, the system required all PAMs be fully contracted to move the load this 38 mm. Referring
again to Figure 24, moving the load this distance of 38 mm without springs would only take two
MUs at a pressure of 3 bar, Point B. Not only would RL3 not be activated but the pressure required
for RL2 would be lower. As previously shown and demonstrated in the literature, the greater the
number of PAMs activated and the more air used, the lower the efficiency [12][13].
The benefits of variable recruitment are inhibited because RL1 cannot cycle through the PAM’s
whole range of motion. Following Equation (4), all MUs must be activated to achieve a single
PAM’s full contraction range, thus making the system behave like a SEM. To prevent this, the
PAMs were made longer than necessary. Targeting a 38 mm displacement with a similar load, a
system without springs would use PAMs of roughly 190 mm. The 527.5 mm PAMs used for this
study were almost three times what would be necessary if not using springs. It would be interesting
to compare the energy needs and efficiency of the spring system and that of a no-spring equivalent
SEM.
Theoretically, all RLs contribute equally to displacement and a full contraction of an additional
MU would only move the system an additional fraction of the total number of MUs relative to
the PAMs CR. However, the results from Table 3 show that the contribution between RLs was
not equal. This is in part due to the nature of the load being tied to cosθ and that its rate of
increase tapered off towards the end of the cycle as can be seen by the load change decreasing.
But also, RL3 occurred when the springs were at their most stretched, allowing more of the
PAM’s contraction to directly impact the plates motion.
Surprisingly, previously activated MUs contracted when currently active MUs reached a certain
point, highlighting the compliant nature of PAMs and implying that the equilibrium of forces
between all MUs changes within the RLs themselves. This resulted in a smaller force for the
previously activated MU, allowing the same pressure to further contract the PAMs.
As described at the end of Section 3.2, springs are passive elements and allow the starting position
of the load to change. The limitations of Equation (5) make the resulting system unsuitable for an
application requiring a wide range of loads and motions.
Overall, for specific applications, PAMs of the right length and CR can prevent buckling and
provide smooth transitions with the properly sized springs for a specified load. This may come
with a higher production costs and energy expenditure.
A
B
0
100
200
300
400
500
600
700
800
900
0 20 40 60 80 100 120 140
Forc
e (
N)
Contraction (mm)
PAM Pair Max Force at Contraction
3 Bar
28
5.4 Limitations
There are many limitations to this study that also serve as areas of future work. Different speeds,
spring constants or loading conditions were not tested making this study only a snapshot of the
factors involved with the inclusion of a serial elastic element.
It can be seen in Figure 18 that each cycle was not identical. Tests run on different days also had
differences in the exact energy values. Part of this is due to the manual process of establishing
the initial angle but another part is that different ambient conditions can have large impacts on
air dynamics. While no gross changes were seen over the course of testing, implying the PAMs’
and system’s repeatability, subsequent runs over multiple days were not performed. Similar
results can be reasonably expected but exact values are suspect.
The sample time for this study was quite large at 0.5 seconds. This time was needed to align the
Simulink model with the real-time data acquisition although a small delay was still present. If
real-time was ignored and a smaller sample time used in Simulink, the same patterns for angle
and energy were observed, albeit with a large physical delay. The delay is believed to come from
running and processing the I/O through the Arduino vs sending signals directly to Simulink.
Since there was no comparison to an SEM or system without springs, the claims for these
systems made in the previous sections of Chapter 5 have not been fully validated.
A sine function was chosen arbitrarily as the input signal over a linear ramp. This could have
impacted overall stability considering that the load changed as a function of cosine. Other ramp
profiles would be of further interest.
The equipment used to measure the angle, load, flow and pressure is another limiting factor.
Especially for the flow meter and to a lesser extent the load cell, the experiment employed the
devices at the low end of their respective ranges.
29
6 FINAL THOUGHTS
In this chapter, recommendations on more detailed solutions and future work in this field are
presented. The conclusions summarize the analysis & answer questions presented in Chapter 1.
6.1 Conclusions
In this study, a set of PAMs were arranged with serial elastic elements to raise a mechanical arm
to its horizontal position using two variable recruitment approaches- batch and orderly. The
research questions from Section 1.3 are re-stated and answered below:
1. How do physical batch and orderly recruitment strategies compare to each other and
simulations reported in the literature in terms of energy efficiency and transition smoothness?
The batch method showed a greater number of discontinuities through the motion and consumed
more air for the same motion compared to the orderly method, resulting in a lower efficiency. The
first result was expected from the literature [3] while the second was a new finding.
2. How does the inclusion of series elastic elements impact system performance in terms of
buckling, response, and range of motion?
The springs prevented non-activated PAMs from buckling, allowing them to apply force as soon
as they were brought online during a RL shift. However, springs also shifted the range of motion
for the PAMs and tied overall motion to RL, thereby limiting the advantages of variable
recruitment or requiring oversized PAMs.
For PAMs, or other FAMs using a compressible media, transition effects for both batch and orderly
are not negligible. Deflation and inflation are not instantaneous and must be accounted for in the
control scheme, whether it be a state machine or another kind of advanced controller.
6.2 Recommendations
In Section 5.1 it is mentioned that better tuning for the batch transitions may provide an overall
smoother profile than orderly. In this experiment the transitions were set to trigger at equivalent
pressure values but did not consider the inflation and deflation dynamics. Not aiming for a quick
synch between MUs using full throttle inflation and deflation and instead building in the time it
would take to switch from one RL to another may solve this problem. Careful consideration would
have to be given to the ramp rates of both inflation and deflation such that inflation of the newly
recruited MU would start earlier than the equivalent pressure point and be high enough to continue
the trajectory even as the previously activated MU(s) deflate.
The system gets more complicated if a change in setpoint occurs during the transition time. The
orderly process may have less innate smoothness during a RL contraction but the transitions are
naturally more seamless. Therefore, it is recommended to straighten the “S” curve with a controller
rather than try to manage the transitions for a batch process.
Meller et al. built hysteresis into the switching states to avoid chatter and also mentions that once
a RL threshold is reached “another motor unit is excited at its base activation rate. The first
active motor unit’s maximum firing rate is achieved after the next motor unit is added.” This is
seen as applicable advice for an orderly process [14].
30
Batch is also not recommended due to its energy intensity. As mentioned in Section 5.2, the
switching method used was disastrous for downshifting RLs. One way to remedy this would be to
make the batch process deflate from its current RL and not switch when releasing the load, so no
transitions would occur for relaxing. If the load is in the realm of RL1 when it is deflating all
previously activated MUs, say from RL3, and a signal to contract is sent, the controller should
automatically switch to RL1 for inflation and continue deflating the nonactive MUs. This creates
a more complicated state machine that also considers whether or not the system is contracting or
relaxing.
It is important not to completely discount batch though. Since this system requires all MUs to be
active for achieving the maximum displacement, the batch method becomes faster than orderly.
This is because orderly must travel through each RL, successively activating MUs, whereas
batch can activate all MUs at once and jump to RL3. In this case a hybrid system of batch and
orderly may be the most useful. If speed becomes important or the load is known ahead of time
and energy efficiency is not a factor, the system can operate in batch.
As PAMs produce the most force at the start of their contraction and springs stretch the most at
the start of their extension, the two are mismatched. Designing a system such that the most force
is required at the beginning of motion while also not making the springs so stiff that they fail to
prevent buckling at the end of motion is advised.
It was shown that RLs are not always equivalent and, especially with a changing load, MU
behavior can change while in a single RL. A future controller should consider these changes
between and within RLs. One option is to continue pressurizing a PAM after it no longer contracts
for expected gains later on. Another option is trying to always match the MU pressure with desired
contraction and shift all active and previously active MUs during RL transitions. In any case, there
are many choices available to the designer. Especially for orderly, the previously activated MUs
displacement will change while the active MU is doing work.
Furthermore, the ability of PAMs to stretch or contract with changes in external load makes them
more akin to passive, non-linear springs than actuators. Viewing PAMs this way is not new [28].
It is recommended to use the free strain value of a pressurized PAM as its “resting state”. The
“extension” of the PAM from its free strain position by the force applied is then based on its
“spring constant”, which is a function of pressure. By changing the pressure of the PAM, and
thereby its spring constant, both new resting lengths and possible force-strain values are obtained.
Ultimately, it is recommended to use HAMs or FAMs with an incompressible fluid as they have
been shown to be more efficient [3][26]. If using PAMs, use of larger fittings, ideally as large as
the nominal ID, would allow for much faster inflation and deflation times. In this case, the VEAB
proportional valves from Festo required 4mm tubing and restricted air flow.
Springs should be paired with some sort of damping mechanism if used. Springs can be used to
prevent buckling if initial load position is not a factor and smoothness is vital. Finally, as long as
a reservoir is needed for FAMs they are not recommended for exoskeletons.
6.3 Future Work
There are many opportunities for future work. First, comparison to a system without springs is
vital, as well as to an SEM with and without springs. Second would be to close the control loop
with feedback, as has been performed previously [3][12][14]. Setting transition effects with
hysteresis and before theoretical equivalencies would help with chatter [14] and smoothness.
31
Next would be a study of the inflation and deflation dynamics. A full step analysis is proposed
for each RL, varying load and spring constant for both batch and orderly. Batch is included for
its predicted advantages in speed and possible inclusion in a hybrid approach.
In general, different FAM materials, serial elastic elements and clutch mechanisms, are also worth
investigating, as are varying the RLs themselves with different types, sizes and numbers of FAMs.
Other interesting studies could look at which switching paradigm best responds to random set point
changes, cycle fatigue and if there are redundancies in displacement-contraction patterns.
32
33
7 REFERENCES
[1] Tondu, Bertrand, and Pierre Lopez. “Modeling and Control of McKibben Artificial
Muscle Robot Actuators.” IEEE Control Systems, vol. 20, no. 2, Apr. 2000, pp.
15–38., doi:10.1109/37.833638.
[2] Tondu, Bertrand. “Modelling of the McKibben Artificial Muscle: A Review.” Intelligent
Material Systems and Structures, vol. 23, no. 3, 29 Mar. 2012, pp. 225–253.,
doi:10.1177/1045389X11435435.
[3] Jenkins, Tyler E, et al. “Bio-Inspired Online Variable Recruitment Control of Fluidic
Artificial Muscles.” Smart Materials and Structures, vol. 25, 11 Nov.2016,
doi:10.1088/0964-1726/25/12/125016.
[4] Chapman, Edward M, et al. “Design and Analysis of Electrohydraulic Pressure Systems
for Variable Recruitment in Fluidic Artificial Muscles.” Smart Materials and
Structures, vol. 27, no. 10, 2018, p. 105024., doi:10.1088/1361-665x/aadbff.
[5] Park, Yong-Lae, et al. “Active Modular Elastomer Sleeve for Soft Wearable Assistance
Robots.” 2012 IEEE/RSJ International Conference on Intelligent Robots and
Systems, Oct. 2012, doi:10.1109/iros.2012.6386158.
[6] Abe, Tomoki, et al. “Muscle Textile to Implement Soft Suit to Shift Balancing Posture of
the Body.” 2018 IEEE International Conference on Soft Robotics (RoboSoft),
Apr. 2018, doi:10.1109/robosoft.2018.8405387.
[7] Huo, Weiguang, et al. “Lower Limb Wearable Robots for Assistance and Rehabilitation:
A State of the Art.”IEEE Systems Journal, vol. 10, no. 3, 20 Oct. 2014, pp. 1068–
1081., doi:10.1109/JSYST.2014.2351491.
[8] Hussain, Shahid, et al. “Robust Nonlinear Control of an Intrinsically Compliant Robotic
Gait Training Orthosis.” IEEE Transactions on Systems, Man, and Cybernetics:
Systems, vol. 43, no. 3, IEEE, 2013, pp. 655–65,
doi:10.1109/TSMCA.2012.2207111.
[9] Wehner, Michael, et al. “A Lightweight Soft Exosuit for Gait Assistance.” Proceedings -
IEEE International Conference on Robotics and Automation, IEEE, 2013, pp.
3362–69, doi:10.1109/ICRA.2013.6631046.
[10] Ferris, Daniel P., and Cara L. Lewis. “Robotic Lower Limb Exoskeletons Using
Proportional Myoelectric Control.” 2009 Annual International Conference of the
IEEE Engineering in Medicine and Biology Society, IEEE, 2013, pp. 2119–24,
doi:10.1109/IEMBS.2009.5333984.
[11] Hamill, Joseph, et al. Biomechanical Basis of Human Movement. Wolters Kluwer Health,
2015.
[12] Robinson, Ryan M., et al. “Variable Recruitment Testing of Pneumatic Artificial Muscles
for Robotic Manipulators.” IEEE/ASME Transactions on Mechatronics, vol. 20,
no. 4, 2015, pp. 1642–1652., doi:10.1109/tmech.2014.2341660.
[13] Bryant, Matthew, et al. “Variable Recruitment Fluidic Artificial Muscles: Modeling and
Experiments.” Smart Materials and Structures, vol. 23, no. 7, 2014, p.
074009., doi:10.1088/0964-1726/23/7/074009.
34
[14] Meller, Michael, et al. “Improving Actuation Efficiency through Variable Recruitment
Hydraulic McKibben Muscles: Modeling, Orderly Recruitment Control, and
Experiments.” Bioinspiration & Biomimetics, vol. 11, no. 6, 2016, p. 065004.,
doi:10.1088/1748-3190/11/6/065004.
[15] DeLaHunt, Sylvie Adams. “VARIABLE RECRUITMENT OF MINIATURE
PNEUMATIC ARTIFICIAL MUSCLES AND SPACE QUALIFIED
PNEUMATIC ARTIFICIAL MUSCLES.” University of Maryland, College Park,
2016.
[16] Wolfen, Simon, et al. Bioinspired Pneumatic Muscle Spring Units Mimicking the Human
Motion Apparatus : Benefits for Passive Motion Range and Joint Stiffness
Variation in Antagonistic Setups. 2018, doi:10.1109/M2VIP.2018.8600913.
[17] Wakimoto, Shuichi, et al. “Flexible Artificial Muscle by Bundle of McKibben Fiber
Actuators.” 2011 IEEE/ASME International Conference on Advanced Intelligent
Mechatronics (AIM), July 2011, doi:10.1109/aim.2011.6027056.
[18] Funabora, Yuki. “Prototype of a Fabric Actuator with Multiple Thin Artificial Muscles
for Wearable Assistive Devices.” SII 2017 - 2017 IEEE/SICE International
Symposium on System Integration, vol. 2018-Janua, 2018, pp. 356–61,
doi:10.1109/SII.2017.8279238.
[19] Suzumori, Koichi, et al. “Index Finger of a Human-Like Robotic Hand Using Thin Soft
Muscles.” IEEE Robotics and Automation Letters, vol. 3, no. 1, IEEE, 2017, pp.
92–99, doi:10.1109/lra.2017.2732059.
[20] Endo, Gen, et al. “Braiding Thin McKibben Muscles to Enhance Their Contracting
Abilities.” IEEE Robotics and Automation Letters, vol. 3, no. 4, IEEE, 2018, pp.
3240–46, doi:10.1109/lra.2018.2851025.
[21] Chen, Yijin, et al. “Structural Design and Analysis of Morphing Skin Embedded with
Pneumatic Muscle Fibers.” Smart Materials and Structures, vol. 20, no. 8, 2011,
doi:10.1088/0964-1726/20/8/085033.
[22] De Volder, M., et al. “Fabrication and Control of Miniature McKibben Actuators.”
Sensors and Actuators, A: Physical, vol. 166, no. 1, Elsevier B.V., 2011, pp. 111–
16, doi:10.1016/j.sna.2011.01.002.
[23] Hocking, Erica G., and Norman M. Wereley. “Analysis of Nonlinear Elastic Behavior in
Miniature Pneumatic Artificial Muscles.” Smart Materials and Structures, vol.
22, no. 1, 2013, doi:10.1088/0964-1726/22/1/014016.
[24] Pillsbury, Thomas E., et al. “Effect of Bladder Wall Thickness on Miniature Pneumatic
Artificial Muscle Performance.” Bioinspiration and Biomimetics, vol. 10, no. 5,
IOP Publishing, 2015, doi:10.1088/1748-3190/10/5/055006.
[25] Vocke, Robert D., et al. “Design and Testing of a High-Specific Work Actuator Using
Miniature Pneumatic Artificial Muscles.” Journal of Intelligent Material Systems
and Structures, vol. 23, no. 3, 2012, pp. 365–78,
doi:10.1177/1045389X11431743.
[26] Meller, Michael A., et al. “Reconsidering the McKibben Muscle: Energetics, Operating
Fluid, and Bladder Material.” Journal of Intelligent Material Systems and
Structures, vol. 25, no. 18, 2014, pp. 2276–93, doi:10.1177/1045389X14549872.
[27] Ching-Ping Chou; Hannaford, Blake. “Measurement and Modeling of McKibben
Pneumatic Artificial Muscles.” IEEE Transactions on Robotics and Automation,
vol. 12, no. 1, 1996, doi:10.1093/ndt/gfm531.
35
APPENDIX A: BILL OF MATERIALS
No. Section Name Manufacturer Model Number QTY Unit Description & Notes
1 Air System 4mm PU Tubing Festo PUN-H-4X0,75-SW 5 m
2 Air System 4mm Push In Ball Valve Festo 153483 QH-QS-4 5 ea
3 Air System G1/4" Push In Connector Festo 190644 10 ea
4 Air System 4mm Push In Y Festo 153148 QSY-4 8 ea
5 Air System Proportional Valve Festo VEAB-L-26-D9-Q4-V1-1R1 3 ea Includes pressure sensor and vent to atmosphere
6 Air System M8 Electrical Cable Festo NEBU-M8G4-K-2.5-LE4 4 ea For proportional valves & flow sensor
7 Air System Flow Meter Festo SFAH-100U-G14FS-PNLK-PNVBA-M8 1 ea For volume of air used in energy calculation
8 Air System Pressure Sensor Festo SPTW-P6R-G14-VD-M12 1 ea For pressure of air used in energy calculation
9 Air System M12 Electrical Cable Festo NEBU-M12G5-K-2.5-LE4 1 ea For pressure sensor
10 Air System Thread Lock Loctite 542 1 ea Sealing all threaded components
11 Air System Filter Regulator SMC EAW2000-F02D 1 ea Maintains air supply pressure at 4bar
12 Air System Acrylic Pegboard KTH Custom 1 ea 20x20mm spaced 4mm holes
13 Air System Proportional Valve Mount KTH Custom 2 ea 3D printed mounting piece for proportional valves
14 Air System Flow Sensor Mount KTH Custom 1 ea 3D printed mounting piece for flow sensor
15 Muscle 10x14mm Latex Hose Kuntze 124-1014 4 m PAM bladder
16 Muscle 15-30mm OD Cable Sleeve Elfa RND 465-00757 4 m PET, PAM braid
17 Muscle 3/8"-10mm Barb Fitting Hydroscand Custom 12 ea Steel, hydraulically pressed
18 Muscle Coupler KTH Custom 6 ea See drawing. Could be shorter
19 Muscle 5x50 Snap Hook Bauhaus 2801651A 12 ea Connects spring to PAM and plate, WL > 70-80kg
20 Muscle M8x80 Eye Bolt Bauhaus 2801687A 6 ea Attaches to plate for spring. Trimmed down
21 Muscle 3x30x200 Extension Spring Lesjofors 3529 6 ea K = 0.75
22 Transmission Star Plate KTH Custom 1 See Drawing. Groups PAM-Springs
23 Transmission 4mm 7x19 Wire Cable Clas Ohlson 31-865-3 2 m 1000kg load
24 Transmission 4mm Wire Grip Bauhaus 2801647A 3 ea For cable
25 Transmission 4mm Thimble Bauhaus 2801642A 3 ea For cable
26 Transmission 500kg S-Type Load Cell Tedea Huntleigh 616 1 ea Measures both tension and compression. Stainless Steel
27 Transmission 6mm Swivel Pin Bauhaus 2801671A 1 ea Connects shaft to load cell
28 Transmission 1/2"-20 UNF Eye Bolt McMaster 3014T118 2 ea Trimmed down for load cell
36
No. Section Name Manufacturer Model Number QTY Unit Description & Notes
29 Transmission 8x80 Carabiner Bauhaus 2801654A 1 ea Rated for 800kg working load
30 Transmission M12x15 Eye Bolt RS Components 673-642 1 ea Carbon Steel. 400kg load
31 Joint Pulley KTH Custom 1 ea
32 Joint Pulley Attachment KTH Custom 1 ea Barrel wire cable terminator
33 Joint Incremental Encoder Kubler 8.KIH40.5462.2048 1 ea 2048 PPR, RS422, Optical
34 Joint Encoder Plate KTH Custom 1 ea Encoder mounting plate
35 Joint Bearing Blocks KTH Custom 1 ea
36 Joint Pulley Bushing RS Components 477-7029 1 ea Locks pulley to shaft
37 Joint Pillow Block Bearings RS Components 750-8964 2 ea
38 Joint 30x450mm Shaft KTH Custom 1 ea h7 Tolerance. Steel. With 8x45mm step
39 Arm Arm KTH Custom 2 ea See drawing. Aluminum.
40 Arm 1.5 & 2.5kg Weights Unknown Unknown 6 ea 4x1.5kg, 2x2.5kg
41 Arm 25x265mm Steel Bar KTH Custom 1 ea Holds weights and weighs roughly 1kg
42 Arm 25mm Bar Clips HE Fitness 244 2 ea Pin weights to bar
43 Arm Cushion KTH Custom 1 m Foam pad for protecting arm and floor
44 Frame Steel Anchor Plate Bromma Steel Custom 1 ea See Drawing. Air supply manifold
45 Frame Angle Bracket 8 160x160 AluFlex 0.0.619.56 2 ea Connects anchor plate
46 Frame Fastening Set Angle Bracket AluFlex 0.0.479.96 2 ea
47 Frame Profile 8 40x40 - 310mm AluFlex 0.0.026.03 0.6 m Frame material, cross beams
48 Frame Profile 8 40x40 - 1500mm AluFlex 0.0.026.03 3 m Frame material, main beams
49 Frame Profile 8 40x40 - 1000mm AluFlex 0.0.026.03 2 m Frame material, extenders
50 Frame Angle Bracket 8 40x40 Zn AluFlex 0.0.411.15 8 ea Chipped off one guide flange on each
51 Frame T-Slot Nut 8 St M8, HD AluFlex 0.0.420.83 12 ea 4 for bearing plate, 8 for pillow supports
52 Frame T-Slot Nut 8 St M8 AluFlex 0.0.480.48 16 ea For 4 x 2x2 plates
53 Frame Mounting Brackets KTH Custom 4 ea See Drawing
37
No. Section Name Manufacturer Model Number QTY Unit Description & Notes
54 Electronics Load Cell Amplifier SparkFun HX711 1 ea Conditions signal from load cell
55 Electronics Arduino Mega2560 Arduino A000067 1 ea Microcontroller
56 Electronics Breadboard K&H MB-85 1 ea
57 Electronics Jumper Cables RND Components RND 255-00013 1 ea Male female
58 Electronics Jumper Cables RND Components RND 255-00015 2 ea Male male
59 Electronics ADC Adafruit 1085 2 ea ADS1115 16 bit breakout
60 Electronics DAC Adafruit 935 3 ea MACP4725 12bit breakout
61 Electronics Multiplexer Adafruit 2717 1 ea TCA9548A breakout, Connects multiple DAC's w/ same address
62 Electronics OpAmp Texas Instruments LM358N/NOPB 2 ea Amplifies signal from DAC
63 Electronics Power Supply RND Components RND 320-KD3005D 3 ea 5V, 12V and 2V. Could substitute for more compact device
64 Electronics Breadboard RND Components 1 ea
65 Electronics Female Screw Terminals Phoenix Contact 1725672 5 ea For pneumatics cable termination
66 Electronics Load Cell Cable PCB KTH Custom 1 ea Terminates cable for use with breadboard
67 Electronics Encoder Cable PCB KTH Custom 1 ea Terminates cable for use with breadboard
68 Electronics Pneumatics PCB KTH Custom 1 ea Organizes all peripheral I/O's and power supplies
Unused
69 Transmission 30mm Shaft Collar RS Components 174-6739 2 ea Couples shaft and round plate & acts as stop
70 Transmission Linear Bearing AluFlex TE85–830 1 ea For 30mm shaft
71 Transmission Linear Bearing Plate KTH Custom 1 ea Mounting plate for linear bearing
72 Transmission Rubber Gasket KTH Custom 1 ea Prevents stop collar from damaging linear bearing
73 Transmission 30x400mm Shaft AluFlex W30 1 ea h6 Tolerance. Steel. With M12 Thread 1 side, 24mm deep
38
APPENDIX B: PAM DEAD BAND
A single MU, or pair of two PAMs, was arranged in a blocked force condition with roughly 7.75kg
of initial tension. The MU was then pressurized in increments of 5 bits to see when force would
occur and what the dead band pressure was. Dead band is defined as the range for when increased
pressure performs no work and is thought to come from the amount of pressure required to
pressurize the air already inside the PAM and overcome the resistance of the elastic bladder [24].
The DAC used was 12-bit and triggered a 0-5V signal that was passed through an operational
amplifier of gain two. This controlled the VEAB proportional valve that required a 0-10V signal.
Theoretical pressure is simply a scaling of the bit value. The recorded pressure comes from the
VEAB output signal of 0-10V, which was passed through a 12.5-17.5Ω voltage divider into a 16-
bit ADC and scaled back to bar.
Table 3. Dead band pressure test results.
An offset between the theoretical value and measured pressure value of roughly 0.045 bar carried
through the rest of the pressure range up to at least 2 bar, at which point the experiment was
terminated. The VEAB proportional valve’s regulation range is specified from 0.03-6 bar.
Considering the relatively large force increase as pressure is first recorded compared with the
smaller force increase as the pressure is incremented, it is likely that the limitation of the PAM to
produce force is due to the valve’s ability to regulate pressure or the electronics setup to provide
enough of a signal for the valve to open. Therefore, it is believed that no practical dead band exists
for the PAM or that it is overshadowed by the capability of the valve.
Bit Value
(0 - 4096)
Theoretical
Pressure (bar)
Recorded
Pressure (bar)
Load (kg) Force (N)
0 0 -0.012 7.75 76.03
5 0.007324 -0.012 7.75 76.03
10 0.014648 -0.012 7.75 76.03
15 0.021973 -0.012 7.75 76.03
20 0.029297 -0.012 7.75 76.03
25 0.036621 -0.012 7.75 76.03
30 0.043945 -0.012 7.75 76.03
35 0.051270 0.005 8.50 83.39
40 0.058594 0.015 8.62 84.56
45 0.065918 0.020 8.71 85.45
50 0.073242 0.028 8.80 86.33
39
APPENDIX C: ELECTRICAL SCHEMATIC
40
APPENDIX D: ARDUINO CODE
/* Sketch handles I/O for PAM Test Rig
*
* Sketch pulls code from Robin's Tutorials https://forum.arduino.cc/index.php?topic=288234.0
* Sketch pulls code from Adafruit Manuals for DAC MCP4725, TCA9548A, ADS1015
* Sketch pulls code from SparkFun Examples HX711 Load Cell Breakout
*
* Encoder:
* Pin 2 = B
* Pin 3 = A
*
* Load Cell:
* Pin 6 = Clock
* Pin 7 = Data
* Always rezeroes itself upon running Simulink
*
* ADC Reminder:
* Default gain is 2/3, scale is +/- 6.144V or 0.188mV/bit
* 8ms conversion delay
* SPS can be modified if necessary from 8-860
*/
#include <Wire.h>
#include <Adafruit_ADS1015.h> // ADC
#include <Adafruit_MCP4725.h> // DAC
#define TCAADDR 0x70 // Set clock frequency for the DAC to 100kHz to match ADC
#include "HX711.h" // Load Cell
#define calibration_factor -8800.0 // Value obtained using SparkFun_HX711_Calibration sketch
#define DOUT 7
#define CLK 6
Adafruit_ADS1115 ads1115A; // Construct ads1115 at default address: 0x48, ADR to GND
Adafruit_ADS1115 ads1115B(0x49); // Construct ads1115 at address 0x49, ADR to VDD
Adafruit_MCP4725 dac; // Initialize DAC
HX711 scale; // Initialize Load Cell
// Set up variables
// DAC Variables
int Vali1 = 0;
int Vali2 = 0;
int Vali3 = 0;
// ADC Variables
float VA0; // Flow Sensor
float VA1; // Pressure Sensor
float VB0; // Prop Valve 1, MU1
float VB1; // Prop Valve 2, MU2
float VB2; // Prop Valve 3, MU3
int16_t adcA0, adcA1, adcB0, adcB1, adcB2; // Compatible with all boards (_t)
// Load Cell Variables
float load;
// Encoder Variables
float enc_count = 0; // Variable stores "events" to calculate pos & vel
int enc_val = 0; // Auxiliary variable to calculate current position
float currVelocity;
//Velocity calculation variables
float pos;
float prev;
float vel_enc;
float velocity;
int count = 0;
// Interrupt for velocity calculation
ISR (TIMER5_OVF_vect)
{
TCNT5 = 53036;
vel_enc = (pos - prev)*20;
velocity = vel_enc*31416/10000000;
prev = pos;
}
41
// ISR called for every event in the channels
void encoder_isr()
{
static int8_t lookup_table[] = {0,-1,1,0,1,0,0,-1,-1,0,0,1,0,1,-1,0};
enc_val = enc_val << 2;
enc_val = enc_val | ((PINE & 0b110000) >> 4);
enc_count = enc_count + lookup_table[enc_val & 0b1111];
pos = enc_count;
count = count + pos;
}
// Set up for the serial sample time
int period = 500; // ms value
unsigned long time_now = 0; // Holder
// Set up for receiving serial from Simulink
const byte numBytes = 32; // Number of bytes. 32 is overkill but fine for now
byte receivedBytes[numBytes]; // An array to store the received data
byte numReceived = 0; // Must match # of bytes sent by Simulink, 4/float, x/int
boolean newData = false; // Has new data arrived?
static boolean recvInProgress = false; // Flag
static byte ndx = 0; // Index counter
char startMarker = '<'; // Simulink header treats all as character
char endMarker = '>'; // 0x0D = cr
byte rb; // Stores each incoming byte individually
// Unions are used for binary/byte conversion to integer
union {
byte byt[2]; // Doesn't need to be size 2 but it is more accurate
int i;
} u1 ;
union {
byte byt[2];
int i;
} u2 ;
union {
byte byt[2];
int i;
} u3 ;
void setup() {
// Encoder
interrupts();
attachInterrupt(digitalPinToInterrupt(2),encoder_isr,CHANGE); //Set interrupt encoder ch B
attachInterrupt(digitalPinToInterrupt(3),encoder_isr,CHANGE); //Set interrupt encoder ch A
DDRE &= 0b11001111; // Set port E as input
prev = 0; // Initialize previous position storage variable
TCCR5A = 0; // Setting counter for velocity calculation
TCCR5B = 0;
TCNT5 = 53036;
TCCR5B |= (1 << CS51)| (1 << CS50); // 64 pre-scaler
TIMSK5 |= (1 << TOIE5); // Enable timer overflow interrupt
// Serial
Serial.begin(9600); // Baud's between Simulink and Arduino must match
ads1115A.begin(); // Initialize ads1115
ads1115B.begin();
dac.begin(0x62); // Setting up the DAC's
// Load Cell
scale.begin(DOUT, CLK);
scale.set_scale(calibration_factor);
scale.tare(); // Tares the scale
}
void loop() {
// DAC Receiving Data from Simulink
recData();
getData();
// ADC Reading
42
adcA0 = ads1115A.readADC_SingleEnded(0); // Reading Analog input on channel A0
adcA1 = ads1115A.readADC_SingleEnded(1); // Reading Analog input on channel A1
adcB0 = ads1115B.readADC_SingleEnded(0); // Reading Analog input on channel B0
adcB1 = ads1115B.readADC_SingleEnded(1); // Reading Analog input on channel B1
adcB2 = ads1115B.readADC_SingleEnded(2); // Reading Analog input on channel B2
// Scaling in Simulink
// Voltage Float = ADC Integer*.000188*2.38;
VA0 = adcA0;
VA1 = adcA1;
VB0 = adcB0;
VB1 = adcB1;
VB2 = adcB2;
/* DAC Signal. Channels available are 0, 3 and 7
* Voltages are sent out 0-5 and then to gain 2 OpAmp
* For Reference:
* .25V - .5V = 205
* .5V -> 1V = 410
* 1V -> 2V = 819 (1.2 Bar)
* 1.7V -> 3.4V = 1392 (2.04 Bar)
* 2V -> 4V = 1638 (2.4 Bar)
* 2.5V -> 5V = 2096 (3 Bar)
* 3.3V -> 6.6V = 2730 (4 Bar)
* 5V -> 10V = 4095 (6 bar)
*/
tcaselect(0); // Prop Valve 1
dac.setVoltage(Vali1, false); // Boolean is yes/no for EEPROM
tcaselect(3); // Prop Valve 2
dac.setVoltage(Vali2, false); // Vali is in range from 0-4095, done in Simulink
tcaselect(7); // Prop Valve 3
dac.setVoltage(Vali3, false);
// Load Cell
load = scale.get_units();
// Synch serial sample time with Simulink
if((unsigned long)(millis() - time_now) > period){
time_now = millis();
Serial.write((const char*)&VA0, 4);
Serial.write((const char*)&VA1, 4);
Serial.write((const char*)&VB0, 4);
Serial.write((const char*)&VB1, 4);
Serial.write((const char*)&VB2, 4);
Serial.write((const char*)&load, 4);
Serial.write((const char*)&enc_count, 4);
}
currVelocity = velocity;
}
void recData() {
while (Serial.available() > 0 && newData == false) {
rb = Serial.read(); // Reads one byte at a time
if (recvInProgress == true) { // Start marker received
if (rb != endMarker) { // Only if end marker not reached
receivedBytes[ndx] = rb; // Stores each byte in the array
ndx++;
if (ndx >= numBytes) {
ndx = numBytes - 1;
}
}
else { // End marker received
receivedBytes[ndx] = '\0'; // Terminate the string
recvInProgress = false;
numReceived = ndx; // Test
ndx = 0;
newData = true; // A new data set is ready
}
}
else if (rb == startMarker) { // Incoming data noticed
recvInProgress = true;
}
43
}
}
void getData() {
if (newData == true) {
// Parse the incoming serial data
for (byte n = 0; n < 2; n++) { // 2 bytes per 16 bit int value
u1.byt[n] = receivedBytes[n]; // Simulink sends them in continuous set
u2.byt[n] = receivedBytes[n + 2];
u3.byt[n] = receivedBytes[n + 4];
}
Vali1 = u1.i;
Vali2 = u2.i;
Vali3 = u3.i;
newData = false; // Reset flag
}
}
void tcaselect(uint8_t i) { // Selects Multiplexer channel
if (i > 7) return;
Wire.beginTransmission(TCAADDR);
Wire.write(1 << i);
Wire.endTransmission();
}
44
APPENDIX E: SPRING EQUATIONS
Here, the derivation for Equation (4) is shown. The illustration helps define the variables. With all
springs assumed to be identical, the total external force, FT, is given by Equation (5) where xT is
the total spring displacement and defined by Equation (12). The number of active MUs vs the
number of total MUs are denoted by 𝑛𝑀𝑈𝐴𝑐𝑡 and 𝑛𝑀𝑈𝑇
, respectively. All a PAM's contraction is
assumed to be transformed into stretching the spring and is represented by Equation (13). With no
active MUs at the initial resting state, the total displacement of the springs is shown in Equation
(14) and is simply an extension of Equation (5) for a certain number of MUs. The plate movement,
y, is given by the total length, LT, for the initial resting state minus that after RL1 and is represented
by Equation (15). Plugging in Equation (14) for xi and combining Equations (5) & (12) and then
rearranging for x, a new expression for plate motion, Equation (16), is found. Terms fall out and
reveal that plate movement is independent of spring constant and that it scales with each additional
MU and the contraction ratio, CR, of the PAM. CR is represented by a percentage.
Assumptions
• Assuming constant total external force, FT
• Springs are identical, s.t. 𝑘1 = 𝑘2 = ⋯ = 𝑘𝑛𝑀𝑈𝑇
• PAMs act as pure translation devices, that is they
will reach their final position dependent on the
contraction ratio, CR, and generate no force.
• The entire PAM contraction goes to spring
extension or plate movement.
• PAMs are stiff, do not stretch under load and do
not have catenary or slack
• Springs have no initial tension
𝐹𝑇 = 𝑘𝑥𝑇 (5)
𝑥𝑇 = 𝑛𝑀𝑈𝐴𝑐𝑡(𝐿𝑃𝑜
)(𝐶𝑅) + 𝑛𝑀𝑈𝑇(𝑥) (12)
𝐿𝑃𝐶 = 𝐿𝑃𝑜(𝐶𝑅), 𝐿𝑃𝑅𝐿1
= 𝐿𝑃𝑜− 𝐿𝑃𝐶 (13)
𝑥𝑇𝑖= 𝑛𝑀𝑈𝐴𝑐𝑡
(𝐿𝑃𝑜)(𝐶𝑅) + 𝑛𝑀𝑈𝑇(𝑥) → 𝑥𝑖 =
𝑥𝑇𝑖
𝑛𝑀𝑈𝑇
=𝐹𝑇
𝑘(𝑛𝑀𝑈𝑇) (14)
𝑦 = 𝐿𝑇𝑜− 𝐿𝑇𝑅𝐿1
= (𝑥𝑖 + 𝐿𝑃𝑜+ 𝐿𝑆𝑜
) − (𝑥 + 𝐿𝑃𝑅𝐿1+ 𝐿𝑃𝐶 + 𝐿𝑆𝑜
) = 𝑥𝑖 − 𝑥 (15)
𝑦 = (𝐹𝑇
𝑘(𝑛𝑀𝑈𝑇)
) − (𝐹𝑇
𝑘(𝑛𝑀𝑈𝑇)
−𝑛𝑀𝑈𝐴𝑐𝑡
𝑛𝑀𝑈𝑇
(𝐿𝑃𝑜)(𝐶𝑅)) (16)
𝑦 =𝑛𝑀𝑈𝐴𝑐𝑡
𝑛𝑀𝑈𝑇
(𝐿𝑃𝑜)(𝐶𝑅) (4)
LPo LSo xi
LP,RL1 LPC LSo x y
FT
FT
45
APPENDIX F: SIMULINK SWITCHING LOGIC
Simulink Switching for Batch
The PAM Max value represents the bit signal sent to the Arduino and equates to 3 bar of pressure.
The Total Max is slightly under three times the PAM Max and serves as the reference for the input.
It is less than the true maximum to prevent a discontinuity at the peak value. Here MU1 is always
activated and uses the scaled output value. MU2 and MU3 are brought online as the RL increases
above 1 and 2, respectively. The input is detailed in Sections 3.3 and 34. Switching blocks were
inspired by Meller et al. [14].
Simulink Switching for Orderly
Here the Remainder is passed through to control activated MUs while previously activated MUs
are set to the bit value of 2096 and non-activated MUs are held at 0. Note that for MU1 the RL
must be greater than 1 to switch to passing through the PAM Max value, as the RL is always at
least 1 or more.
TRITA ITM-EX 2020:430
www.kth.se