**6. Modeling and control of flexible fluidic actuators**

From the control point of view, FFAs represent a complex dynamic system of high nonlinearity. In contrast to conventional fluidic actuators, FFAs posess some important properties, which are essential with respect to modeling and control problems:


Due to restricted volume of this section, the modeling and parameter identification approaches as well as different control concepts will be presented briefly. More details can be found in the related references.

### **6.1. Modeling**

Generally, the model of FFA as a torque source consists of a model of actuator mechanics and pressure dynamic model. The modeling process includes the experimental investigation of the basic actuator characteristics with following data fitting.

#### *6.1.1. Mechanical model*

Using FFAs, a compliant robotic joint of rotary type can be realized either as an antagonistic set up with two working chambers (Fig. 22a) or as a unit with one working chamber and a retraction spring (Fig. 22a). Fig. 22 shows mechanical schematics of the both joint types.

**Figure 22.** Working principle of a fluidic actuated rotary robotic joint

As shown in previous sections by means of experimental investigations (static load tests), the static torque characteristics of the FFA are in general nonlinear functions not only of the operating pressure *p* only, but also of the working angle *q*. This is a basic feature of FFAs, in contrast to conventional fluidic actuators like pneumatic and/or hydraulic cylinders or vane actuators and the source of inherent compliancy of FFAs. Taking into account this basic feature, the total torque for the compliant robotic joint with antagonistic set-up can be determined as

$$
\pi \left( q\_{\prime} \dot{q}\_{\prime} p\_1, p\_2 \right) = \tau\_1 \left( q\_{\prime} p\_1 \right) - \tau\_2 \left( q\_{\prime} p\_2 \right) - \tau\_{\text{loss}} \left( q\_{\prime} \dot{q}\_{\prime} p\_1, p\_2 \right) \tag{1}
$$

or as

$$
\pi \left( q, \dot{q}, p \right) = \pi\_1 \left( q, p \right) - \pi\_2 \left( q \right) - \pi\_{\text{loss}} \left( q, \dot{q}, p \right) \tag{2}
$$

for the joint with one flexible chamber and a retraction spring. Here *τ*<sup>1</sup> and *τ*<sup>2</sup> represent static actuator torques acting in positive and negative directions respectively, *τloss* represents the torque losses like viscous friction (damping) and can include also tourque/angle hysteresis. These effects are typical for soft fluidic actuators (including linear pneumatic muscles) and are an inevitable consequence of using viscoelastic materials in the chamber. The results of experimental investigations of basic characteristics and dynamic modelling of compliant fluidic robotic joint operated by gaseous as well as liquid working media, was reported in [86, 87] and summarized in [85], whereby the torque losses *τloss* was measured in first approximation in the experiments at constant velocities. The hysteresis was measured, performing the torque measurements in opposite angle directions. The torque characteristic *τ<sup>i</sup>* (*q*, *pi*) of an individual chamber *i*, experimentally determined during static load tests, can be analytically described by means of a third-order polynomial with angle *q* as independent variable, as

$$
\pi\_i\left(q\_i.p\_i\right) = \kappa\_3\left(p\_i\right) \cdot q^3 + \kappa\_2\left(p\_i\right) \cdot q^2 + \kappa\_1\left(p\_i\right) \cdot q + \kappa\_0\left(p\_i\right),
\tag{3}
$$

where the polynomial coefficients *κ*3...*κ*<sup>0</sup> are functions of pressure in the chamber. For control purposes, the torque characteristic 3 can be approximated well by using the polynomial fit with six constant polynomial coefficients *k*5...*k*<sup>0</sup> [86]:

$$\pi\_i \left( q\_\prime \, p\_i \right) = k\_5 \cdot q^3 + k\_4 \cdot q^3 + \left( k\_3 \cdot p\_i + k\_2 \right) \cdot + k\_1 \cdot p\_i + k\_{0\prime} \tag{4}$$

The mean relative error of this simplest satisfactory approximation is < 9% (see [85] for more details).

Assuming the identity of both actuator chambers, the torque *τ*<sup>2</sup> of the antagonist chamber in (1) can be obtained by mapping the torque *τ*<sup>1</sup> of the agonist symmetrically with respect to the ordinate as

$$
\pi\_2\left(p\_2, q\right) = \pi\_1\left(p\_1, -q\right) \text{ for } p\_1 = p\_2. \tag{5}
$$

The second term in (2) when using a mechanical spring with a linear characteristic can be determined as *τ*<sup>2</sup> (*q*) = *cSq*, where *cS* is a spring constant. Despite obvious uncertainties, especially in FFA torque losses and fluctuations in model parameters due to behaviour of viscoelastic material, model (1) - (5) can be useful for approximate description of FFA torque characteristics.

#### *6.1.2. Pressure dynamic model*

20 Will-be-set-by-IN-TECH

Using FFAs, a compliant robotic joint of rotary type can be realized either as an antagonistic set up with two working chambers (Fig. 22a) or as a unit with one working chamber and a retraction spring (Fig. 22a). Fig. 22 shows mechanical schematics of the both joint types.

*+q*

*fluid flow*

retraction spring

*τ* (*q*, *q*˙, *p*1, *p*2) = *τ*<sup>1</sup> (*q*, *p*1) − *τ*<sup>2</sup> (*q*, *p*2) − *τloss* (*q*, *q*˙, *p*1, *p*2) (1)

*<sup>τ</sup><sup>i</sup>* (*q*, *pi*) <sup>=</sup> *<sup>κ</sup>*<sup>3</sup> (*pi*) · *<sup>q</sup>*<sup>3</sup> <sup>+</sup> *<sup>κ</sup>*<sup>2</sup> (*pi*) · *<sup>q</sup>*<sup>2</sup> <sup>+</sup> *<sup>κ</sup>*<sup>1</sup> (*pi*) · *<sup>q</sup>* <sup>+</sup> *<sup>κ</sup>*<sup>0</sup> (*pi*), (3)

*<sup>τ</sup><sup>i</sup>* (*q*, *pi*) <sup>=</sup> *<sup>k</sup>*<sup>5</sup> · *<sup>q</sup>*<sup>3</sup> <sup>+</sup> *<sup>k</sup>*<sup>4</sup> · *<sup>q</sup>*<sup>3</sup> <sup>+</sup> (*k*<sup>3</sup> · *pi* <sup>+</sup> *<sup>k</sup>*2) · <sup>+</sup>*k*<sup>1</sup> · *pi* <sup>+</sup> *<sup>k</sup>*0, (4)

*τ* (*q*, *q*˙, *p*) = *τ*<sup>1</sup> (*q*, *p*) − *τ*<sup>2</sup> (*q*) − *τloss* (*q*, *q*˙, *p*) (2)

*mechanical spring*

*+q*

*-q*

*IJ2*

*p*

(b) with one flexible chamber and a

*IJ1*

*-q*

As shown in previous sections by means of experimental investigations (static load tests), the static torque characteristics of the FFA are in general nonlinear functions not only of the operating pressure *p* only, but also of the working angle *q*. This is a basic feature of FFAs, in contrast to conventional fluidic actuators like pneumatic and/or hydraulic cylinders or vane actuators and the source of inherent compliancy of FFAs. Taking into account this basic feature, the total torque for the compliant robotic joint with antagonistic set-up can be

for the joint with one flexible chamber and a retraction spring. Here *τ*<sup>1</sup> and *τ*<sup>2</sup> represent static actuator torques acting in positive and negative directions respectively, *τloss* represents the torque losses like viscous friction (damping) and can include also tourque/angle hysteresis. These effects are typical for soft fluidic actuators (including linear pneumatic muscles) and are an inevitable consequence of using viscoelastic materials in the chamber. The results of experimental investigations of basic characteristics and dynamic modelling of compliant fluidic robotic joint operated by gaseous as well as liquid working media, was reported in [86, 87] and summarized in [85], whereby the torque losses *τloss* was measured in first approximation in the experiments at constant velocities. The hysteresis was measured, performing the torque measurements in opposite angle directions. The torque characteristic *τ<sup>i</sup>* (*q*, *pi*) of an individual chamber *i*, experimentally determined during static load tests, can be analytically described by means of a third-order polynomial with angle *q* as independent

where the polynomial coefficients *κ*3...*κ*<sup>0</sup> are functions of pressure in the chamber. For control purposes, the torque characteristic 3 can be approximated well by using the polynomial fit

*IJ2*

*IJ1*

*p2* 

*p1* 

**Figure 22.** Working principle of a fluidic actuated rotary robotic joint

(a) with two antagonistic assembled flexible

with six constant polynomial coefficients *k*5...*k*<sup>0</sup> [86]:

*6.1.1. Mechanical model*

*fluid flow*

chambers

determined as

or as

variable, as

In the case of pneumatics (i.e. for FFA, operated with a gas/air), the pressure dynamics in an actuator chamber *i* can be described by

$$
\dot{p\_i} = \frac{\chi}{V\_i} \left( RT\dot{m\_i} - p\_i \dot{V\_i} \right) \,\tag{6}
$$

where *R* is the universal gas constant, *T* is the air temperature, *Vi* is the chamber volume, the mass flow rate *m*˙ *<sup>i</sup>* defines the amount of air, passing through a valve into or out of the chamber in a time unit. It is assumed that the heat transfers at chamber's charging and discharging are the same polytropic processes, characterized by the polytropic coefficient *χ*. This topic is discussed in more detail in [85]. The volume characteristic of an elastic chamber is a nonlinear function of current displacement angle *q* and pressure *pi*. Based on the experimental data it can be approximated as

$$
\dot{V}\_i \left( q\_\prime \, p\_i \right) = \nu\_1 \left( p\_i \right) q^2 + \nu\_2 \left( p\_i \right) q + \nu\_3 \left( p\_i \right) \tag{7}
$$

where values of polynomial coefficients *ν*1, *ν*2, *ν*<sup>2</sup> are functions of pressure [64]. Similar to the torque characteristic, the volume characteristic of the FFA-based soft robotic with antagonistic set up is assumed to be symmetrical with respect to the joint angle:

$$
\dot{V}\_1(q, p\_1) = \dot{V}\_2(-q, p\_2) \text{ for } p\_1 = p\_2. \tag{8}
$$

The air mass flow rate *m*˙ *<sup>i</sup>* through the valve can be modeled by the standardized expression for air flow through an orifice (ISO 6385), whereby the orifice area varies with control input [85]. To provide a more exact model for servovalves, taking into consideration also the hard nonlinearities as the dead zones, an experimental procedure for obtaining of the real relationship

$$
\dot{m}\_i = f\_m \left( \mu\_\prime \, p\_{\rm us} \, \mu\_{\rm ds} \right) \tag{9}
$$

between the air flow, the input voltage u to the valve, as well as the up- and downstream pressures (i.e. *pus* and *pds* respectively) were applied [64, 137]. To achieve a model that describes the complete behavior of valves, both charging and discharging processes were explored for constant chamber value, inflow and exhaust flow maps were

calculated and then combined. In case of chamber charging, the upstream pressure is equivalent to the supply pressure (i.e. *pus* = *ps*), while the downstream pressure is equal

**Figure 23.** Experimentally determined flow map for the servo-valve Festo MPYE-5-1/8LF-010-B.

to the chamber pressure (*pds* = *pi*). In case of chamber discharging, the upstream pressure is equivalent to chamber pressure (*pus* = *pi*) and the downstream pressure equals to atmospheric pressure (*pds* = *pa*). Assuming that *ps* and *pa* are constant, expression 9 can be rewritten as

$$
\dot{m}\_i = f\_m \left( u\_\prime p\_i \right) \tag{10}
$$

Fig. 23 shows an example of the experimentally determined characteristic of a servo valve.

### **6.2. Embedded control approach**

In section 4 different kinds of FFAs and joint modules have been described. These actuators and joint modules were not developed with only one special application in mind. The main advantages of FFAs are their compactness and high torque to weight ratio as well as their inherent compliance. Thus it is wise to have a broad palette of solutions w.r.t. control of joint modules. Constituents for requirements for a joint module toolbox might include


to name the most important ones. Of course many other aspects like environmental ones may be considered (e.g. under water operation). Economic aspects might include overall costs, especially relative costs of joint module and components needed for control. Other aspects might address the lifespan of actuators, which is a compromise between maximum pressure to be applied and lifespan of actuator, type of actuator etc. Economic aspects may also include energy, consumption of compressed media, but also system integration aspects will play a role. The degree of compactness is dependent on the degree of integration of control components like sensors, valves and control logic. It also depends on the amount of tubing and cables needed for operation. High quality of control most often relies on stability, precision of position, tracking accuracy, torque precision, degree of overshooting, and bandwidth of control. In general, the more ambitious the requirements for control are, the higher will be the costs especially for the valves. The higher the required bandwidth of control, the larger the valves will be. The pure size of the valves are in contradiction to compactness and weight requirements [**?** ]. To some degree this also holds for sensor system and control and communication logic. High integration will enhance modularity when viewed from a higher standpoint where a joint module is one of many more other parts of a plant. With a closer view of a joint module, high integration will in general restrict the range of control components which can be used. Modularity should not only mean mechanical modularity but also different options for supply of compressed air, for electrical power supply, and for communication and system integration. A range of actuator solutions arranged by the degree of mechatronic integration is shown in Figure 24.

22 Will-be-set-by-IN-TECH

**Figure 23.** Experimentally determined flow map for the servo-valve Festo MPYE-5-1/8LF-010-B.

be rewritten as

• economic solutions, • degree of compactness,

• modularity

**6.2. Embedded control approach**

• quality of control and maximal joint rate, and

to the chamber pressure (*pds* = *pi*). In case of chamber discharging, the upstream pressure is equivalent to chamber pressure (*pus* = *pi*) and the downstream pressure equals to atmospheric pressure (*pds* = *pa*). Assuming that *ps* and *pa* are constant, expression 9 can

Fig. 23 shows an example of the experimentally determined characteristic of a servo valve.

In section 4 different kinds of FFAs and joint modules have been described. These actuators and joint modules were not developed with only one special application in mind. The main advantages of FFAs are their compactness and high torque to weight ratio as well as their inherent compliance. Thus it is wise to have a broad palette of solutions w.r.t. control of joint

to name the most important ones. Of course many other aspects like environmental ones may be considered (e.g. under water operation). Economic aspects might include overall costs, especially relative costs of joint module and components needed for control. Other aspects might address the lifespan of actuators, which is a compromise between maximum pressure to be applied and lifespan of actuator, type of actuator etc. Economic aspects may also include energy, consumption of compressed media, but also system integration aspects will play a role. The degree of compactness is dependent on the degree of integration of control components like sensors, valves and control logic. It also depends on the amount of tubing and cables needed for operation. High quality of control most often relies on stability, precision of position, tracking accuracy, torque precision, degree of overshooting, and bandwidth of control. In general, the more ambitious the requirements for control are, the

modules. Constituents for requirements for a joint module toolbox might include

*m*˙ *<sup>i</sup>* = *fm* (*u*, *pi*) (10)

**Figure 24.** Different Degrees of Integration of the Control Components and Drive Systems

In this section our approach and solutions for embedded control as well as the achieved results will be described in more detail. The realization is around a 16-bit microcontroller (MC), a PIC24HJ128GP506 of Microchip with 40 MIPS performance and a broad variety of peripherals including communication via CAN. A miniature controller board CBR2 has been developed, and is able to control up to two joint modules reading joint values via 2 SPI-interfaces, pressure values via I2C or analog channels and control of switching valves by 8 output compare modules configured for PWM-mode. Control system integration is handled by an upper level control system on a PC running a user interface and coordinating different joint modules. Communication between MC and PC may be via RS232 and/or via CAN. The MC understands a simple 2-byte-command set with instructions for position set point, position ramp, torque command, pressure control, gravity compensation, parameter setting and for definition for periodical delivery of local information (to be specified by the PC) in a programmable rate with periods down to 21ms via CAN for one joint and 45 ms for 6 joints. General programming considerations relate efficiency of control calculation programming and means for utilizing parallelism. As no operating system kernel is used, mainly interrupt routines and the chipset inherent and in parallel running subunits are used. This works very well for analog input of pressure signals and for CAN-message communication. Up to a certain level of analog signal information blocks as well as CAN message blocks are handled by DMA transfer autonomously without putting load on the CPU kernel. Message processing is implemented by a main loop, and the sampling task is a high priority interrupt task. The microcontroller does not offer floating point operations at the instruction level. Table 2 gives a hint of the relative efficiency programming int-, long int- and floating point operations 5. Therefore mainly int16 was needed (e.g. to get more decimal places) long int (=int32) operations including shifting were used. This also means, that calculations for control algorithms were kept relatively simple. Trigonometric functions are implemented via tables:


**Table 2.** Instruction cycles for different operators and operands

For control of pneumatic actuators by an MC we use 2/2-way solenoid switching valves, (2 valves per actuator) one for inflation and one for deflation. Thus four valves per joint are needed, although for some cases one actuator might be replaced by a passive spring. This case will not be considered here. Presuming that a valve is sufficiently tight for higher pressure values, the maximum torque of the joint is not dependent on the maximal flow of the valves. Thus relatively small valves may be used if no special requirements for maximum speed/control bandwidth are given. The most compact and light weight valves are spider type valves. Additionally we mainly use modified double arranged switching valves of mass flow of *Qn* = 16 SLPM (standard liters per minute) for EV08-type valves and 22 SLPM for EV09-type valves. Switching time is about 2 *ms*. These valves are light and compact enough to be integrable as demonstrated in Figure 24. For higher control bandwidth, higher mass flow is necessary. One may either operate two or more valves in parallel as one logical valve or use other models with higher mass flow. For torque and for position control pressure control is used. To measure pressure we use amplified pressure sensors with analog or I2C interface, 1ms response time and 10 bit resolution for a pressure range up to 7 bar. Using the MC's PWM features one can control mass flow by manipulating the length of the duty cycle. In our case a duty cycle has a maximum length of 7 *ms*, the sampling time of our control loop (142 Hz), which amounts to a PWM value of 1094. Unfortunately mass flow is also dependent on the type and the exemplar of valve, power supply voltage, and pressure difference. This means a model for each valve is needed. One must distinguish between the valve responsible for inflation and the one for deflation. In the first case, the pressure difference is given by the constant supply pressure and the actual pressure in the actuator. In the second case the pressure difference is between internal pressure and the 0 *bar* environment. In Figure 25 the measured flow model is shown for inflating and deflating direction.

If one transforms flow values to the percentage scale, one gets a fairly linear relation, except for PWM values where inflation/deflation starts as can be seen in Figure 25(d). By means of interpolation using two characteristic curves for valve modelling, the MC can approximately set the percentage of mass flow given the actual pressure in the actuator. For control of mass flow a third characteristic curve will be needed.

<sup>5</sup> C30-Compiler, no optimization

**Figure 25.** Flow Charcteristics of an EV08-Switching Valve

24 Will-be-set-by-IN-TECH

very well for analog input of pressure signals and for CAN-message communication. Up to a certain level of analog signal information blocks as well as CAN message blocks are handled by DMA transfer autonomously without putting load on the CPU kernel. Message processing is implemented by a main loop, and the sampling task is a high priority interrupt task. The microcontroller does not offer floating point operations at the instruction level. Table 2 gives a hint of the relative efficiency programming int-, long int- and floating point operations 5. Therefore mainly int16 was needed (e.g. to get more decimal places) long int (=int32) operations including shifting were used. This also means, that calculations for control algorithms were kept relatively simple. Trigonometric functions are implemented via tables: **Operator** + - ∗ ÷ »const. < int 2 2 2 20 1 13 long int 6 6 11 469 6 16 float 124 148 118 380 - 77 double 140 152 113 383 - 77

For control of pneumatic actuators by an MC we use 2/2-way solenoid switching valves, (2 valves per actuator) one for inflation and one for deflation. Thus four valves per joint are needed, although for some cases one actuator might be replaced by a passive spring. This case will not be considered here. Presuming that a valve is sufficiently tight for higher pressure values, the maximum torque of the joint is not dependent on the maximal flow of the valves. Thus relatively small valves may be used if no special requirements for maximum speed/control bandwidth are given. The most compact and light weight valves are spider type valves. Additionally we mainly use modified double arranged switching valves of mass flow of *Qn* = 16 SLPM (standard liters per minute) for EV08-type valves and 22 SLPM for EV09-type valves. Switching time is about 2 *ms*. These valves are light and compact enough to be integrable as demonstrated in Figure 24. For higher control bandwidth, higher mass flow is necessary. One may either operate two or more valves in parallel as one logical valve or use other models with higher mass flow. For torque and for position control pressure control is used. To measure pressure we use amplified pressure sensors with analog or I2C interface, 1ms response time and 10 bit resolution for a pressure range up to 7 bar. Using the MC's PWM features one can control mass flow by manipulating the length of the duty cycle. In our case a duty cycle has a maximum length of 7 *ms*, the sampling time of our control loop (142 Hz), which amounts to a PWM value of 1094. Unfortunately mass flow is also dependent on the type and the exemplar of valve, power supply voltage, and pressure difference. This means a model for each valve is needed. One must distinguish between the valve responsible for inflation and the one for deflation. In the first case, the pressure difference is given by the constant supply pressure and the actual pressure in the actuator. In the second case the pressure difference is between internal pressure and the 0 *bar* environment. In Figure 25 the

**Table 2.** Instruction cycles for different operators and operands

measured flow model is shown for inflating and deflating direction.

flow a third characteristic curve will be needed.

<sup>5</sup> C30-Compiler, no optimization

If one transforms flow values to the percentage scale, one gets a fairly linear relation, except for PWM values where inflation/deflation starts as can be seen in Figure 25(d). By means of interpolation using two characteristic curves for valve modelling, the MC can approximately set the percentage of mass flow given the actual pressure in the actuator. For control of mass Based on such models, pressure control according to the scheme shown in Figure 27(a) give results shown in Figures 26(a) and 26(b).

In Figure 27(a), *q* denotes angular position, *qs* position set point, *pi* denotes internal pressure of actuator 1 and 2 respectively. Position control may be designed as a cascade on the base of pressure control and thus can build up (virtual) torque level using the linearized torque characteristic. Position control may also be implemented without pressure control (avoiding pressure sensors). Such schemes rely heavily upon the antagonistic actuator and use it as a kind of brake. Generally such schemes show decreased performance, may clip the angular range, have less stability and in many cases consume more compressed air. Figures 26(c) and 26(d) show position control results for different loads and different valve arrangements. The controller scheme is shown in figure 27(b).

It is difficult to achieve higher accuracy than for example 0.5 − 1◦. This is due to the accuracy of valve control and to some degree of stochastic behavior in the flow starting part of the valves as well as limited position sensor accuracy giving poor velocity information. 14-bit sensors [AS5048 from AMS] are on the market and MC-technology is developing at a fast pace, so that there is a good chance tuning and quality of embedded control will soon improve.

**Figure 26.** Results of Embedded Control using Switching Valves
