Next Article in Journal
Efficiency of Coupled Experimental–Numerical Predictive Analyses for Inter-Story Floors Under Non-Isolated Machine-Induced Vibrations
Next Article in Special Issue
Admittance-Controlled Teleoperation of a Pneumatic Actuator: Implementation and Stability Analysis
Previous Article in Journal
A Novel Low-Frequency Piezoelectric Motor Modulated by an Electromagnetic Field
Previous Article in Special Issue
Improving Endurance of Pneumatic Linear Peristaltic Actuators
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

Optimal Force Allocation and Position Control of Hybrid Pneumatic–Electric Linear Actuators

Department of Mechanical Engineering, McMaster University, 1280 Main St. W., Hamilton, ON L8S 4L8, Canada
*
Author to whom correspondence should be addressed.
Actuators 2020, 9(3), 86; https://doi.org/10.3390/act9030086
Submission received: 8 August 2020 / Revised: 10 September 2020 / Accepted: 11 September 2020 / Published: 14 September 2020
(This article belongs to the Special Issue Pneumatic, Hybrid Pneumatic–Electric, and Vacuum-Powered Actuators)

Abstract

:
Hybrid pneumatic–electric actuators (HPEAs) are redundant actuators that combine the large force, low bandwidth characteristics of pneumatic actuators with the large bandwidth, small force characteristics of electric actuators. It has been shown that HPEAs can provide both accurate position control and high inherent safety, due to their low mechanical impedance, making them a suitable choice for driving the joints of assistive, collaborative, and service robots. If these characteristics are mathematically modeled, input allocation techniques can improve the HPEA’s performance by distributing the required input (force or torque) between the redundant actuators in accordance with each actuator’s advantages and limitations. In this paper, after developing a model for a HPEA-driven system, three novel model-predictive control (MPC) approaches are designed that solve the position tracking and input allocation problem using convex optimization. MPC is utilized since the input allocation can be embedded within the motion controller design as a single optimization problem. A fourth approach based on conventional linear controllers is included as a comparison benchmark. The first MPC approach uses a model that includes the dynamics of the payload and pneumatics; and performs the motion control using a single loop. The latter methods simplify the MPC law by separating the position and pressure controllers. Although the linear controller was the most computationally efficient, it was inferior to the MPC-based controllers in position tracking and force allocation performance. The third MPC-based controller design demonstrated the best position tracking with RMSE of 46%, 20%, and 55% smaller than the other three approaches. It also demonstrated sufficient speed for real-time operation.

1. Introduction

With the recent growth in assistive robots, collaborative robots, service robots, and their applications, enhancing robot safety has become an important area of research. These robots need to satisfy higher safety standards than conventional industrial robots [1]. Various approaches have been investigated for raising their level of safety. These approaches include active methods that monitor the environment and robot states using machine vision and/or sensor fusion and try to avoid risky situations; and passive methods that try to develop inherently safe robots that are not able to cause high damage in cases of system failure or unpredicted situations. Using hybrid pneumatic–electric actuators (HPEA) to drive the robot’s joints has been proposed as a solution to increase inherent safety without sacrificing precision [2,3].
Since the introduction of the HPEA idea in 1987 [4], different designs have been proposed to develop this type of actuator. They include a combination of a DC motor and a rotary pneumatic motor in parallel [5], pneumatic muscle actuators (PMA) with a DC motor [2,6,7,8], pneumatic cylinders with a DC motor [9,10], and a pneumatic cylinder integrated within a linear motor [11,12].
With a hybrid actuator like HPEA, two actuators with different characteristics are performing the same task, which results in actuator redundancy. Since each of these actuators has completely distinct capabilities, the HPEA’s optimal performance can be obtained by systematically allocating the forces/torques between them according to their characteristics.
The motion controller structure for HPEAs and other redundant actuators incorporates three levels [13]: (1) The high-level motion controller that uses a control method to determine the virtual high-level inputs (force or torque), (2) The input allocation level that distributes the virtual inputs between the actuators using predefined algorithms, and (3) The internal controller within each actuator that defines the low level inputs (like command signals to the valves of rudder motors) that can provide the virtual input with enough accuracy. With optimization-based motion controllers, it is possible to merge the motion control and input allocation problems and address them in a single control law.
Input allocation for redundant actuators has been a topic of interest mainly to control aircraft and autonomous vehicles. Several studies have been devoted to providing mathematical frameworks for the input allocation of dynamic systems. In [14], a modified quadratic programming method has been proposed to include the actuator rates and their bandwidth limitations within the standard quadratic programming problem for input allocation purposes. Optimization-based methods have been the most common allocation approaches in the literature. In [15], an optimal control approach is used with a generic linear plant model that can handle a redundant actuator tracking multi-sinusoidal reference. In [13], several optimization-based techniques have been presented to solve unconstrained and constrained input allocation problems for generic linear and nonlinear plant models. Since optimization-based approaches mostly require high computational load and implementation complexity, researchers have developed tools to help with implementing the optimization techniques with high computational efficiency (see [16,17,18]).
Although there have been some papers focused on position controller design for HPEAs [3,6,10], very few have used a controller that incorporates each actuator’s characteristics and studied the allocation problem alongside the position control problem. In [7], an optimization method is proposed for the torque allocation of a HPEA consisting of a PMA and an electric motor. They proposed a two-stage optimization approach that can be used for redundant actuators that consist of a higher bandwidth actuator and a lower bandwidth one. Their approach approximates nonlinear open-loop pressure dynamics using a first-order linear model.
In this paper, the position control and force allocation problems are studied for a HPEA-driven system. The plant structure and its mathematical model are presented in the next section. Then, three novel model predictive control (MPC) laws for this system are designed and tested. The MPC method is used since it searches for an optimal set of inputs in real-time that minimize the designed objective function. This objective function considers both the position trajectory tracking and input allocation criteria, as well as the constraints of each actuator and the plant. A fourth controller using conventional linear controllers with no systematic input allocation strategy is presented last. The four controllers are applied to a simulated plant and their performances are compared. The execution speed of each controller in relation to the real-time requirements is also studied.

2. Plant Dynamics

2.1. Plant Structure

The structure of the HPEA-driven system is shown in Figure 1. A load mass is moving linearly on a horizontal low-friction surface. Two independent actuators are directly exerting force on this load in parallel. The first actuator is a pneumatic double-acting cylinder (with its two chambers denoted A and B); and the second one is a linear motor. To control the flow to/from each chamber, a pair of two-way proportional valves are used that operate with electric command signals. Two pressure sensors and a linear position sensor provide real-time feedback of the chamber pressures and the load position.

2.2. Mathematical Model

In this section, mathematical equations are derived to model the system described in Section 2.1. The dynamics of the load mass are defined by:
m L x ¨ p = F p + F e + F f
where m L , x p , F p , F e , and F f are the load mass, load position, the force from the pneumatic cylinder, the electric motor’s force, and the total friction force, respectively. To keep the load motion range symmetric, its datum is located where the cylinder and the linear motor are in the middle of their range. The friction force is mainly from the pneumatic cylinder, and can be modeled as the sum of dry and viscous friction [19] as follows:
F f = { ( F p + F e ) x ˙ p = 0   and   | F p + F e | < F s f F s f s i g n ( F p + F e ) x ˙ p = 0   and   | F p + F e | > F s f F k f s i g n ( x ˙ p ) C v x ˙ p x ˙ p 0
Typically, the electric motor’s current input to force output response time is considerably smaller than the controller sampling period and the response times of other components. Thus, the motor’s internal dynamics can be neglected. If the relation between the motor force and the current input to the motor is precisely known, we can consider F e as an independent input to the position subsystem that can be provided accurately and instantaneously. The same assumptions cannot be made about the pneumatic force as it is a function of chamber pressures, which have significantly slower response time to the valve commands. In the next section, the pneumatic force’s dynamic model is derived.
The pneumatic force is the result of the difference in the forces at the two sides of the piston, as indicated in (3). In this equation, P , A , and P a t m are the absolute chamber pressure, effective piston area of the chamber, and the atmospheric pressure, respectively.
F p = ( P A P a t m ) A A ( P B P a t m ) A B
Deploying conservation of mass, conservation of energy, and the ideal gas law for each chamber leads to (4) and (5) [20]. In these equations, m ˙ , T , and R are the mass flow into the chamber, absolute temperature of the air, and specific gas constant of air (287 J·kg−1·K−1), respectively. L S and L D V are the stroke of the cylinder and equivalent length for the dead volume in each chamber, respectively.
P ˙ A = R T A A ( L S / 2 + L D V + x p ) m ˙ A P A L S / 2 + L D V + x p x ˙ p
P ˙ B = R T A B ( L S / 2 + L D V x p ) m ˙ B + P B L S / 2 + L D V x p x ˙ p
Using the model for compressible flow through the orifice area and the ideal gas assumptions, the mass flow rate through each valve can be modeled as shown in (6) [21].
m ˙ v = { C 1 A v C f P u T , P d P u P c r C 2 A v C f P u T ( P d P u ) 1 / K 1 ( P d P u ) ( K 1 ) / K , P d P u P c r
Here, C f is the non-dimensional discharge coefficient of the valve, P u is the upstream pressure, P d is the downstream pressure, K is the ratio of specific heats for air (1.4), and A v is the valve orifice area. The valve orifice area changes as the spool moves. For Enfield LS-V05s pneumatic valves, it has been shown [20] that the relation between the valve orifice area and the normalized spool displacement (z) can be approximated by fitting a curve in the form of (7), where λ1, …, λ7 are the coefficients calculated using experimental data points, and the least squares fitting method.
A v = s i g n ( z ) ( λ 1 + λ 2 | z | + λ 3 | z | 2 + λ 4 | z | 3 + λ 5 | z | 4 ) ( 1 tanh ( λ 6 | z | + λ 7 ) )
Since two-way valves are used in this study, each valve performs only one of the charging/discharging tasks; thus, 0 z 1 . Regarding [20], this normalized spool displacement inside each valve can be modeled as:
z ˙ + 1 τ v z = 1 τ v u v
In (8), u v and τ v are the normalized command to the valve and the spool time constant, respectively.
It should be noted that if a single three-way valve was used with each chamber, regarding (6) and (7), the pneumatic valve would switch between “charge” and “discharge” modes when the sign of spool displacement would change. Since the upstream and downstream pressures are different in each mode, there would be two distinct equations for the valve mass flow for charging and discharging. This would lead to a piecewise function for the mass flow rate of the valve. To be able to perform the controller in real-time, a linearized plant model with constant state space matrices is desirable (at least within the MPC prediction horizon). Therefore, a single mass flow equation is preferred to a piecewise function. Hence, the pneumatic circuit has been designed with a pair of two-way proportional valves for each chamber instead of a three-way proportional valve. With this structure (see Figure 1), the mass flow rates into the chambers are:
m ˙ A = m ˙ V 1 m ˙ V 2
m ˙ B = m ˙ V 3 m ˙ V 4

3. Controller Design

In this section, four different controllers are designed to address the position control and input allocation tasks for the HPEA-driven system. The first three controllers employ MPC for position control, while the fourth employs conventional linear controllers.

3.1. MPC1: Controller with Linearized Full Plant Model

Assuming that the full plant model of Section 2 and its parameters are known, an MPC law may be used for both position control and force allocation, outputting the electric force command and the inputs to the valves. The mass flow rates into the chambers are calculated using (6), which is a function of the upstream and downstream pressures. We term this approach MPC1. The controller structure is shown schematically in Figure 2.
The plant model must be linearized for use in the controller. The purpose of model linearization is to convert the nonlinear plant model into the linear discrete-time state space form of (10). The arguments k and k + 1 denote the kth and (k + 1)th samples.
x ( k + 1 ) = A d x ( k ) + B d u ( k ) + υ ( k )
y ( k ) = C d x ( k ) + D d u ( k )
To obtain the state space matrices (i.e., A d ,   B d ,   C d , and D d ), Equations (1) and (4)–(6) are first used to derive the following vector equations:
x ˙ = f ( x , u )
y = g ( x , u )
Given (11), the continuous-time state space matrices can be calculated as shown in (12). The discrete-time matrices can be simply calculated by applying a discretization method to the matrices from (12). We used Euler’s method to obtain the matrices as shown in (13).
A c = f x T | o p
B c = f u T | o p
C c = g x T | o p
D c = g u T | o p
A d = I + T s A c
B d = T s B c
C d = C c
D d = D c
In (13a), I is the identity matrix and T s is the controller sampling period. The full matrices are presented in Appendix A. The subscript “op” indicates linearization about an operating point. This is a point that includes states and inputs, as shown in (14).
x o p = [ P A o p P B o p x p o p x ˙ p o p ] T
u o p = [ u v 1 o p u v 2 o p u v 3 o p u v 4 o p F e o p ] T
There are different options for selecting the operating point (14). One option is to use the current system states and input, i.e., P A o p = P A ( k ) , P B o p = P B ( k ) , x p o p = x p ( k ) , x ˙ p o p = x ˙ p ( k ) , u v i o p = u v i ( k - 1 ) , and F e o p = F e ( k - 1 ) . If this option is chosen, the operating point and the state space matrices need to be recalculated with every controller sampling period, passed to the MPC’s optimization solver, and then, kept constant within the prediction horizon. Note that the mass flow rate through each valve is modeled using distinct equations for the choked and unchoked modes (see (6)). Having four valves and each valve having two modes means there are 16 distinct versions of f and g . With each iteration, the correct version of the functions must be chosen (depending on the valve modes) and used in (12) to update the state space matrices. This makes the resulting MPC too computationally complex to implement with common processors at the 10 ms or faster sampling period required for this application. To achieve a computationally feasible controller, we instead use a fixed operating point for the plant model linearization. This leads to only one version for each of the state space matrices (instead of the 16 versions with the dynamic operating point).
The following three assumptions are made to derive the linear model about a fixed operating point: (1) The states and inputs stay close enough to the operating point, (2) Valve spool time-constant (τv) is small enough compared to the controller sampling time that the spool’s dynamics can be neglected and z = uv, and (3) Since the model is linearized about a constant operating point, the valve orifice area function in (7) may be replaced by a linear function of A v = λ 8 z + λ 9 so that this single point will convey more information about the trend of the whole function. The state space state, input, and output vectors are shown below.
x ( k ) = [ P A ( k ) P A o p P B ( k ) P B o p x p ( k ) x p o p x ˙ p ( k ) x ˙ p o p ] T
u ( k ) = [ u v 1 ( k ) u v 1 o p u v 2 ( k ) u v 2 o p u v 3 ( k ) u v 3 o p u v 4 ( k ) u v 4 o p F e ( k ) F e o p ] T
y ( k ) = [ x p ( k ) x p o p ( P A ( k ) P A o p ) + ( P B ( k ) P B o p ) 2 ] T
From (3), it can be seen that the cylinder can have infinite combinations of chamber pressures that produce the same pneumatic force. The strategy behind defining the second output is to limit the pressure choices by keeping the average of chambers pressures near P m i d = ( P s + P a t m ) / 2 , which means requiring the second output to track a constant reference of r 2 = P m i d ( P A o p + P B o p ) / 2 . In this paper, the operating point elements have been picked as u o p = 0 , x p o p = 0 , and x ˙ p o p = 0 . The operating points for chamber pressures have been chosen such that they satisfy ( P A o p P a t m ) A A ( P B o p P a t m ) A B = 0 and ( P A o p + P B o p ) / 2 = P m i d . Therefore, the pressure operating points are:
P A o p = 2 P m i d + ( A A A B 1 ) P a t m A A A B + 1
P B o p = 2 P m i d + ( A B A A 1 ) P a t m A B A A + 1
The MPC1 law uses (10) to predict the future states. It solves the optimization problem (17) every sampling instant with a prediction horizon of Np points, by using a time-efficient convex optimization algorithm. In (17), k is the current sample number, r = [ x p , d r 2 ] T is the vector of the two reference inputs, and Q, R1, and R2 are positive-definite gain matrices.
m i n i m i z e u i = 1 N p ( ( y ( k + i ) r ( k + i ) ) T Q ( y ( k + i ) r ( k + i ) ) + ( u ( k + i ) ) T R 1 u ( k + i ) + ( u ( k + i ) u ( k + i 1 ) ) T R 2 ( u ( k + i ) u ( k + i 1 ) ) s u b j e c t   t o x ( k + j + 1 ) = A d x ( k + j ) + B d u ( k + j ) + T s f ( x o p , u o p ) , j = 0 , , N p 1 y ( k + j ) = C d x ( k + j ) + D d u ( k + j ) , j = 1 , , N p u min u ( k + j ) u max , j = 1 , , N p x min x ( k + j ) x max , j = 1 , , N p

3.2. MPC2: Simplified Two-Loop Controller

The MPC1 approach must solve an optimization problem every sampling period, which is computationally expensive since it includes models of both the payload dynamics and pneumatic dynamics. As a faster alternative, with our second approach, termed MPC2, the MPC law neglects the dynamics of the pneumatic subsystem. In other words, the MPC2 law assumes the actual pneumatic force equals its desired value, i.e., F p = F p , d . This design requires a two-loop controller structure as the MPC2 block is responsible for controlling the position subsystem solely. An inner-loop pressure controller handles the pneumatic subsystem and defines the command signals for each valve. The schematic of this control system structure is illustrated in Figure 3.
MPC2 uses (1) to derive linear state space model as in (11) with the following states, inputs, and output. The corresponding state space model matrices are presented in Appendix A.
x ( k ) = [ x p ( k ) x · p ( k ) ] T
u ( k ) = [ F p , d ( k ) F e ( k ) ] T
y ( k ) = x p ( k )
The optimization problem declaration is almost the same as MPC1, with the only difference being adding one more constraint (shown in (19)) to limit the changes in u(k) between two consecutive samples. This change is necessary as MPC2 ignores the inner dynamics of the pressure subsystems and its limitations.
Δ u min u ( k + j ) u ( k + j 1 ) Δ u max , j = 1 , , N p
Before feeding F p , d from the outer-loop position controller to the inner-loop pressure controller, the pressure distributor should define the desired chamber pressures. This is done by satisfying the two conditions ( P A , d ( k ) P a t m ) A A ( P B , d ( k ) P a t m ) A B = F p , d ( k ) and ( P A , d ( k ) + P B , d ( k ) ) / 2 = P m i d . The solution to these conditions is shown in (20).
P A , d ( k ) = 2 P m i d + ( A A A B 1 ) P a t m + F p , d ( k ) A B A A A B + 1
P B , d ( k ) = 2 P m i d + ( A B A A 1 ) P a t m F p , d ( k ) A A A B A A + 1
A conventional PI controller, with a bounded trapezoidal integral term, is used to control chamber pressures as shown in (21). Here, Γ denotes the integral bound.
u j ( k ) = K p , p ( P j , d ( k ) P j ( k ) ) + min ( Γ , max ( φ j ( k ) , Γ ) ) ,   j { A , B }
where φ j ( k ) = K I , p T s 2 η = 2 k ( P j , d ( η ) P j ( η ) + P j , d ( η 1 ) P j ( η 1 ) ) .
The pressure controller in (21) returns a value for u j that needs to be normalized and distributed between the charging and discharging valves. To do so, the distributor function, Ω , is used as follows.
[ u v 1 ( k ) , u v 2 ( k ) ] = Ω ( u A ( k ) )
[ u v 3 ( k ) , u v 4 ( k ) ] = Ω ( u B ( k ) )
where Ω ( ε ) = { [ min ( ε , 1 ) , 0 ] ε 0 [ 0 , min ( ε , 1 ) ] ε < 0 .

3.3. MPC3: Modified Two-Loop Controller

MPC1 and MPC2 are two extremes in terms of dynamic models for the pneumatic subsystem. MPC1 uses a linearized model of the pneumatic dynamics, whereas MPC2 neglects these dynamics. The MPC law proposed in this section, termed MPC3, is a compromise between these two extremes that is intended to balance the trade-off between performance and controller computation time. The controller structure of Figure 3 with the independent pressure controller is adopted, but the MPC position controller is expanded to include a simplified model of the pneumatic dynamics.
To obtain the simplified model for predicting the pneumatic force, F p , we assume that the proportional term in (21) is dominant and that the derivative of each cylinder chamber pressure is approximately proportional to its associated valve command signal, i.e.,
P ˙ A Ψ u A Ψ K p , p ( P A , d P A )
P ˙ B Ψ u B Ψ K p , p ( P B , d P B )
Substituting (23) into (3) then gives the following simplified dynamic model for the pneumatic force:
F ˙ p = κ ( F p , d F p )
Finally, the discretized form of (24) is added to the state space model of MPC2 to produce the state space model used by MPC3. Its state vector is defined by (25). Its input vector and output are defined by (18a) and (18b), respectively. The corresponding state space model matrices are presented in Appendix A.
x ( k ) = [ x p ( k ) x ˙ p ( k ) F p ( k ) ] T

3.4. Linear Two-Loop Controller

As a comparison benchmark, a conventional linear position controller was also designed and simulated. The controller structure is the same as that of Figure 3, except the MPC2 block is replaced with a linear position controller. This controller structure is similar to the two-loop structure used in [3]. Two independent controllers are used with the pneumatic and the electric actuators, with the former using feedforward + PD controller and the latter using a PD controller. Since the electric actuator has a faster response but significantly lower force capacity, the feedforward terms that compensate for the modeled inertial and friction forces are fed to the pneumatic actuator controller, while the electric actuator’s force capacity is saved for reducing the residual error. The equations for these controllers are shown in (26) and (27).
F p , d ( k ) = m L x ¨ p , d ( k ) + C ^ v x ˙ p ( k ) + K P , c ( x p , d ( k ) x p ( k ) ) + K D , c ( x ˙ p , d ( k ) x ˙ p ( k ) )
F e ( k ) = K P , m ( x p , d ( k ) x p ( k ) ) + K D , m ( x ˙ p , d ( k ) x ˙ p ( k ) )

4. Results and Discussion

The four controllers were simulated using MATLAB m code and Yalmip [16] running on a Windows 10 PC with an Intel Core i5 processor. To challenge the tracking and force allocation performance, a relatively large payload mass of m L = 10 kg was used. The pneumatic actuator parameters for an SMC CM2XB25-300 air cylinder [19] and an Enfield LS-V05s pneumatic valve [20] were employed. The simulated linear motor is an Aerotech BLMC-92. To prevent motor overheating, the electric actuator’s force has been limited to 30 N, which is lower than the 44.5 N continuous force rating of this Aerotech motor. All controller parameters were manually tuned with the goal of minimizing the root-mean-square error (RMSE). This tuning employed a coarse search followed by a fine search to reduce the possibility of stopping at a local minima. Table 1 lists the parameters used.
To keep the models within the MPC-based controllers in linear time-invariant form, the static and kinetic friction components are treated as unmodeled disturbances. Only the viscous friction is incorporated in the MPC models, for which a 20% uncertainty is included in the friction coefficient C ^ v (i.e., C ^ v = 0.8 C v ). Figure 4, Figure 5, Figure 6 and Figure 7 show the results from each controller. They follow a reference trajectory made up of step inputs, a 1 Hz sine wave, then a faster 4 Hz sine wave. This trajectory was chosen to be challenging and led to multiple saturations of the valve commands and electric actuator force (at 1 and 30 N, respectively), as shown in Figure 4, Figure 5, Figure 6 and Figure 7. For easier comparison, the tracking errors are plotted on the same axes in Figure 8.
From Figure 4, Figure 5, Figure 6, Figure 7 and Figure 8, it can be seen that the linear controller has a longer settling time, bigger overshoot, and larger error peaks when subjected to the faster trajectories, such as 4 Hz. However, all MPC-based controllers undergo chattering in the actuator force at some points, while the linear controller produces the smoothest input force and valve commands, which may lead to longer valve and actuator lives in practice. Between the MPC-based controllers, MPC3 produced the most accurate position tracking. A quantitative comparison is presented in Table 2. Although the linear controller has the lowest accuracy of the three, it has a much faster calculation time. MPC1 requires the highest calculation time which is undesirable for real-time operation. MPC3 yields the best tracking performance with RMSE reduction of 46%, 20%, and 55% compared to MPC1, MPC2, and the linear controller, respectively. MPC3 also reduced the mean absolute electric actuator force by 9%, and the mean absolute pneumatic actuator force by 14% relative to the benchmark linear controller. These force reductions have the benefits of reducing the energy consumption and operating cost.

5. Conclusions

In this paper, three novel control algorithms for the position control of an HPEA-driven system are investigated. The first (MPC1) uses MPC with a linearized full plant model. The second (MPC2) uses an outer-loop MPC with an inner-loop PI pressure controller with a simplified linear model. The third (MPC3) uses the same structure as MPC2 with a modified model to find a balance in the trade-off between the position controller performance and computation time. A fourth controller, employed as a benchmark, uses an outer-loop PD plus feedforward controller with an inner-loop PI pressure controller. MPC2 showed the best performance in reducing the input forces (and thus, the energy consumption and operating cost). However, modifying the model in MPC3 leads to the best position tracking performance. Although MPC2 and MPC3 are computationally intensive, they can still be run in real-time using commonly available off-the-shelf hardware.
This research will be continued by investigating the extension of the MPC-based position control and task allocation approaches to rotary HPEA actuators with nonlinear payload dynamics. To avoid the subjectivity of the manual tuning approach, we will also be investigating the application of global optimization strategies (such as particle swarm optimization) to obtain the controller parameters.

Author Contributions

Conceptualization, B.R. and G.M.B.; methodology software and validation, B.R.; writing—original draft preparation, B.R.; writing—review and editing, G.M.B.; supervision and funding acquisition, G.M.B.; All authors have read and agreed to the published version of the manuscript.

Funding

This research was supported by the Natural Sciences and Engineering Research Council of Canada (NSERC) through a Discovery Grant.

Conflicts of Interest

The authors declare no conflict of interest. The funders had no role in the design of the study; in the collection, analyses, or interpretation of data; in the writing of the manuscript, or in the decision to publish the results.

Appendix A. Matrices for the State Space Models Used in MPC1, MPC2, and MPC3

The matrices for the discrete-time state space model used in MPC1 are as follows:
A d = I + T s [ a 11 0 0 a 41 0 a 22 0 a 42 a 13 a 23 0 0 a 14 a 24 1 a 44 ]
where a 11 = x ˙ p o p L S / 2 + L D V + x p o p + R T A A ( L S / 2 + L D V + x p o p ) × ( C 1 C f λ 9 T C 2 C f λ 9 1 Λ A K Λ A T + C 2 C f λ 9 ( K - 1 ) 2 K T ( 1 Λ A ) ) , a 13 = A A P A o p x ˙ p o p + R T C f λ 9 ( C 1 P A o p C 2 P s 1 Λ A ( P A o p P s ) 1 / K ) T A A ( L S / 2 + L D V + x p o p ) 2 , a 14 = P A o p L S / 2 + L D V + x p o p , a 22 = x ˙ p o p L S / 2 + L D V x p o p + R T A B ( L S / 2 + L D V x p o p ) × ( C 1 C f λ 9 T - C 2 C f λ 9 1 Λ B K Λ B T + C 2 C f λ 9 ( K - 1 ) 2 K T ( 1 Λ B ) ) , a 23 = A B P B o p x ˙ p o p R T C f λ 9 ( C 1 P B o p C 2 P s 1 Λ A ( P B o p P s ) 1 / K ) T A B ( L S / 2 + L D V x p o p ) 2 , a 24 = P B o p L S / 2 + L D V x p o p , a 41 = A A m ^ L , a 42 = A B m ^ L , a 44 = C ^ v m ^ L , Λ A = ( P A o p P s ) K 1 K and Λ B = ( P B o p P s ) K 1 K .
B d = T s [ b 11 0 0 0 b 12 0 0 0 0 b 23 0 0 0 b 24 0 0 0 0 0 b 45 ]
where b 11 = C 2 C f R λ 8 P s T 1 Λ A ( P A o p P s ) 1 / K A A ( L S / 2 + L D V + x p o p ) , b 12 = C 1 C f R λ 8 P A o p T A A ( L S / 2 + L D V + x p o p ) , b 23 = C 2 C f R λ 8 P s T 1 Λ B ( P B o p P s ) 1 / K A B ( L S / 2 L D V + x p o p ) , b 24 = C 1 C f R λ 8 P B o p T A B ( L S / 2 + L D V x p o p ) , and b 45 = 1 m ^ L .
C d = [ 0 0.5 0 0.5 1 0 0 0 ]
For MPC2, the discrete-time state space matrices are as follows:
A d = I + T s [ 0 1 0 C ^ v / m ^ L ]
B d = T s [ 0 0 1 / m ^ L 1 / m ^ L ]
C d = [ 1 0 ]
Finally, the discrete-time state space matrices used in MPC3 are as follows:
A d = I + T s [ 0 1 0 0 C ^ v / m ^ L 1 / m ^ L 0 0 κ ]
B d = T s [ 0 0 0 1 / m ^ L κ 0 ]
C d = [ 1 0 0 ]

References

  1. ISO/TS 15066:2016. Robots and Robotic Devices-Collaborative Robots; International Organization for Standardization: Geneva, Switzerland, 2016. [Google Scholar]
  2. Shin, D.; Sardellitti, I.; Khatib, O. A hybrid actuation approach for human-friendly robot design. In Proceedings of the 2008 IEEE International Conference on Robotics and Automation, Pasadena, CA, USA, 19–23 May 2008; pp. 1747–1752. [Google Scholar]
  3. Rouzbeh, B.; Bone, G.; Ashby, G.; Li, E. Design, Implementation and Control of an Improved Hybrid Pneumatic-Electric Actuator for Robot Arms. IEEE Access 2019, 7, 14699–14713. [Google Scholar] [CrossRef]
  4. Petrosky, L.J. Hybrid Electro-Pneumatic Robot Joint Actuator. U.S. Patent 478 225 828, 1 November 1988. [Google Scholar]
  5. Takemura, F.; Pandian, S.R.; Nagase, Y.; Mizutani, H.; Hayakawa, Y.; Kawamura, S. Control of a hybrid pneumatic/electric motor. In Proceedings of the 2000 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS 2000) (Cat No 00CH37113) IROS-00, Takamatsu, Japan, 31 October–5 November 2002; Volume 1, pp. 209–214. [Google Scholar]
  6. Teramae, T.; Noda, T.; Hyon, S.-H.; Morimoto, J.; Noda, T. Modeling and control of a Pneumatic-Electric hybrid system. In Proceedings of the 2013 IEEE/RSJ International Conference on Intelligent Robots and Systems, Tokyo, Japan, 3–7 November 2013; Volume 4, pp. 4887–4892. [Google Scholar]
  7. Ishihara, K.; Morimoto, J. An optimal control strategy for hybrid actuator systems: Application to an artificial muscle with electric motor assist. Neural Netw. 2018, 99, 92–100. [Google Scholar] [CrossRef] [PubMed]
  8. Sharbafi, M.A.; Shin, H.; Zhao, G.; Hosoda, K.; Seyfarth, A. Electric-Pneumatic Actuator: A New Muscle for Locomotion. Actuators 2017, 6, 30. [Google Scholar] [CrossRef] [Green Version]
  9. Bone, G.; Chen, X. Position control of hybrid pneumatic-electric actuators. In Proceedings of the 2012 American Control Conference (ACC), Montreal, QC, Canada, 27–29 June 2012; pp. 1793–1799. [Google Scholar]
  10. Bone, G.; Xue, M.; Flett, J. Position control of hybrid pneumatic–electric actuators using discrete-valued model-predictive control. Mechatronics 2015, 25, 1–10. [Google Scholar] [CrossRef]
  11. Nakata, Y.; Noda, T.; Morimoto, J.; Ishiguro, H. Development of a pneumatic-electromagnetic hybrid linear actuator with an integrated structure. In Proceedings of the 2015 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS), Hamburg, Germany, 28 September–2 October 2015; pp. 6238–6243. [Google Scholar]
  12. Mori, S.; Tanaka, K.; Nishikawa, S.; Niiyama, R.; Kuniyoshi, Y. High-Speed Humanoid Robot Arm for Badminton Using Pneumatic-Electric Hybrid Actuators. IEEE Robot. Autom. Lett. 2019, 4, 3601–3608. [Google Scholar] [CrossRef]
  13. Johansen, T.A.; Fossen, T.I. Control allocation-A survey. Automatica 2013, 49, 1087–1103. [Google Scholar] [CrossRef] [Green Version]
  14. Härkegård, O. Dynamic Control Allocation Using Constrained Quadratic Programming. J. Guid. Control. Dyn. 2004, 27, 1028–1034. [Google Scholar] [CrossRef] [Green Version]
  15. Galeani, S.; Pettinari, S. On dynamic input allocation for fat plants subject to multi-sinusoidal exogenous inputs. In Proceedings of the 53rd IEEE Conference on Decision and Control, Los Angeles, CA, USA, 15–17 December 2014; pp. 2396–2403. [Google Scholar]
  16. Lofberg, J. YALMIP: A toolbox for modeling and optimization in MATLAB. In Proceedings of the 2004 IEEE International Conference on Robotics and Automation (IEEE Cat No 04CH37508) CACSD-04, New Orleans, LA, USA, 2–4 September 2005; pp. 284–289. [Google Scholar]
  17. Mattingley, J.; Boyd, S. CVXGEN: A code generator for embedded convex optimization. Optim. Eng. 2011, 13, 1–27. [Google Scholar] [CrossRef]
  18. Hanger, M.; Johansen, T.A.; Mykland, G.K.; Skullestad, A. Dynamic model predictive control allocation using CVXGEN. In Proceedings of the 2011 9th IEEE International Conference on Control and Automation (ICCA), Santiago, Chile, 19–21 December 2011; pp. 417–422. [Google Scholar]
  19. Ning, S.; Bone, G. Development of a nonlinear dynamic model for a servo pneumatic positioning system. In Proceedings of the IEEE International Conference Mechatronics and Automation, Niagara Falls, ON, Canada, 29 July–1 August 2005; pp. 43–48. [Google Scholar]
  20. Taheri, B.; Case, D.; Richer, E. Force and Stiffness Backstepping-Sliding Mode Controller for Pneumatic Cylinders. IEEE/ASME Trans. Mechatronics 2014, 19, 1799–1809. [Google Scholar] [CrossRef]
  21. Richer, E.; Hurmuzlu, Y. A High Performance Pneumatic Force Actuator System: Part I—Nonlinear Mathematical Model. J. Dyn. Syst. Meas. Control. 1999, 122, 416–425. [Google Scholar] [CrossRef]
Figure 1. Schematic illustration of the HPEA-driven system.
Figure 1. Schematic illustration of the HPEA-driven system.
Actuators 09 00086 g001
Figure 2. Controller structure used with MPC1.
Figure 2. Controller structure used with MPC1.
Actuators 09 00086 g002
Figure 3. Controller structure used with MPC2 and MPC3.
Figure 3. Controller structure used with MPC2 and MPC3.
Actuators 09 00086 g003
Figure 4. Position tracking and force allocation performance using MPC1: (a) position tracking, (b) actuator forces, (c) command to the valves controlling chamber A, and (d) command to the valves controlling chamber B.
Figure 4. Position tracking and force allocation performance using MPC1: (a) position tracking, (b) actuator forces, (c) command to the valves controlling chamber A, and (d) command to the valves controlling chamber B.
Actuators 09 00086 g004
Figure 5. Position tracking and force allocation performance using MPC2: (a) position tracking, (b) actuator forces, (c) command to the valves controlling chamber A, and (d) command to the valves controlling chamber B.
Figure 5. Position tracking and force allocation performance using MPC2: (a) position tracking, (b) actuator forces, (c) command to the valves controlling chamber A, and (d) command to the valves controlling chamber B.
Actuators 09 00086 g005
Figure 6. Position tracking and force allocation performance using MPC3: (a) position tracking, (b) actuator forces, (c) command to the valves controlling chamber A, and (d) command to the valves controlling chamber B.
Figure 6. Position tracking and force allocation performance using MPC3: (a) position tracking, (b) actuator forces, (c) command to the valves controlling chamber A, and (d) command to the valves controlling chamber B.
Actuators 09 00086 g006
Figure 7. Position tracking and force allocation performance using the linear controller: (a) position tracking, (b) actuator forces, (c) command to the valves controlling chamber A, and (d) command to the valves controlling chamber B.
Figure 7. Position tracking and force allocation performance using the linear controller: (a) position tracking, (b) actuator forces, (c) command to the valves controlling chamber A, and (d) command to the valves controlling chamber B.
Actuators 09 00086 g007
Figure 8. Comparison of the position tracking errors with the four control laws.
Figure 8. Comparison of the position tracking errors with the four control laws.
Actuators 09 00086 g008
Table 1. Plant and controller parameters.
Table 1. Plant and controller parameters.
ParameterValueParameterValue
A A 4.909 × 10−4 m2 Q (MPC3)106
A B 4.123 × 10−4 m2 R 287 J/kg·K
C 1 0.040418 R 1 (MPC1)diag([1, 1, 1, 1, 103])
C 2 0.156174 R 1 (MPC2)diag([0.1, 0.5])
C f 0.5393 R 1 (MPC3)diag([0.1, 0.5])
C v 44.4 N·s/m R 2 (MPC1)0
F k f 13 N R 2 (MPC2)diag([0.1, 0])
F s f 18 N R 2 (MPC3)diag([0.1, 0])
K 1.4 T 293 K
K P , c 2000 N/mNumerical integration timestep0.0005 s
K D , c 30 N·s/m Δ u min (MPC2)[−30, −60]T
K P , m 500 N/m Δ u max (MPC2)[30, 60]T
K D , m 50 N·s/m Γ 5000 Pa·s
K p , p 5 × 10−5 Pa−1 κ 70
K I , p 5 × 10−4 Pa−1s−1 λ 1 0.585
L S 0.3 m λ 2 −7.51
L D V 0.03 m λ 3 38.1
m L 10 kg λ 4 −46.9
N P 15 λ 5 18.2
P a t m 101,000 Pa λ 6 −21.3
P c r 0.528 λ 7 3.42
P s 404000 Pa λ 8 5 × 10−5
Q (MPC1)diag([104, 10−3]) λ 9 0
Q (MPC2)106 τ v 0.0015 s
Table 2. Numerical comparison of the controller results.
Table 2. Numerical comparison of the controller results.
ParameterValue
MPC1MPC2MPC3Linear
Sampling period (Ts)10 ms10 ms10 ms1 ms
Position tracking RMSE44.7 mm29.9 mm23.9 mm53.0 mm
Mean Absolute Fp29.73 N28.11 N28.81 N33.58 N
Mean Absolute Fe11.74 N7.78 N11.12 N12.24 N
Average calculation time per sample4.5 ms 3.9 ms4.3 ms0.003 ms
Maximum calculation time per sample8.5 ms6.4 ms7.2 ms0.02 ms

Share and Cite

MDPI and ACS Style

Rouzbeh, B.; Bone, G.M. Optimal Force Allocation and Position Control of Hybrid Pneumatic–Electric Linear Actuators. Actuators 2020, 9, 86. https://doi.org/10.3390/act9030086

AMA Style

Rouzbeh B, Bone GM. Optimal Force Allocation and Position Control of Hybrid Pneumatic–Electric Linear Actuators. Actuators. 2020; 9(3):86. https://doi.org/10.3390/act9030086

Chicago/Turabian Style

Rouzbeh, Behrad, and Gary M. Bone. 2020. "Optimal Force Allocation and Position Control of Hybrid Pneumatic–Electric Linear Actuators" Actuators 9, no. 3: 86. https://doi.org/10.3390/act9030086

APA Style

Rouzbeh, B., & Bone, G. M. (2020). Optimal Force Allocation and Position Control of Hybrid Pneumatic–Electric Linear Actuators. Actuators, 9(3), 86. https://doi.org/10.3390/act9030086

Note that from the first issue of 2016, this journal uses article numbers instead of page numbers. See further details here.

Article Metrics

Back to TopTop