1. Introduction
Industrial robots are an indispensable part of the manufacturing process in many industries, where their traits, i.e., precision, speed, and the ability to work basically nonstop, help increase productivity and decrease cost. It is therefore understandable, that there is a strong incentive to use industrial robots in other fields, like for example agriculture and medicine. The most common industrial robots are serial link 6R robots, 2R1T SCARA robots or parallel Delta robots driven by, most commonly, electric actuators, or in some cases hydraulic actuators [
1]. These industrial robots were developed for many decades, their design is standardized, and their mathematical description and control design is fairly well researched. Unfortunately, these robots lack some key features needed in the aforementioned new fields of application. For example compliance, agility and complex modes of motion [
2]. These requirements fulfil new emerging classes of robots, i.e., redundant cascade and continuum robots [
3]. Redundant robots are all those that have more degrees of freedom than is necessary to perform a certain task [
4]. Development of these robots accelerated after the year 2000. Redundant robots in general, but especially cascade and continuum robots, have unique characteristics. For example, according to [
5,
6], compliance, a good reach to weight ratio, modularity and other. These characteristics arise from their specific design.
In general, continuum and cascade robots consist of several in-series-connected parallel modules which, if underactuated, form a continuum robot and if fully actuated form a cascade robot. To describe the motion of a redundant robot and design a control algorithm for it, it is first necessary to focus on its individual modules and their properties. The chosen actuator type influences the achievable properties of a module. Electrical linear servo motors as used by [
7] within the structure of a module or outside it, as by [
8], provide high amounts of force and stiffness. Moreover, they are usually equipped with position sensors that simplify control. Hydraulic actuators, as seen in [
9], provide high forces and can be precisely positioned, but are slow. Nonstandard actuators such as SMA springs, as seen in the work of [
10], or dielectric materials, as described in [
11], can also be used in this application. Pneumatic actuators are a popular class of actuators in cascade robot design. They provide high power density, have relatively low weight, and can be easily manufactured to custom specifications, as described in [
1,
12], or bought off the shelf in a variety of types and sizes [
13,
14,
15]. In addition, the compressibility of air gives them a natural level of compliance. This property makes them the actuator of choice for medical applications, like for example in rehabilitation equipment [
16] and flexible endoscopes [
17,
18], in agriculture [
19], as parts in mobile robots [
20,
21], as the actuator for high-precision positioning systems [
22] or as the stiffness regulating element in hybrid actuation schemes for continuum tendon driven robots as presented by [
23].
There exist many well-known techniques that can be used to obtain robust controllers for complex systems, as described in [
24]. Nevertheless, the control of a parallel platform module actuated by three or four pneumatic actuators remains a challenging task. One approach to controlling of these modules is to use a feed-forward controller alone or in combination with other types of controllers. The authors of [
25] presented a modelling framework to design a model from which a feed-forward controller with satisfactory performance was developed. Ref. [
26] developed a custom bellows-type actuator and applied it in a parallel platform with three degrees of freedom. Their control algorithm was a feed-forward controller based on an experimental mapping between pose, external forces and input pressure. In [
27], the authors used a feed-forward controller based on a mathematical model in combination with a variable P-gain PI controller to combat the effect of hysteresis in the system. Ref. [
28] uses a model-based controller with both feed-forward and feedback components with a structure similar to a PD controller to position a soft robot. Similarly ref. [
29] used feedback linearisation to decouple the actuators of a soft pneumatic robot manipulator to achieve very precise and dynamic movements. The controller for this application was a model-based, feed-forward controler combined with a low gain PD controller In [
30], a planar platform actuated by pneumatic muscles was controlled using three fuzzy controllers synchronized through an ANFIS (adaptive neuro-fuzzy inference system)-based controller. Ref. [
15] applied a simple constant-gain PID controller for positioning of a parallel platform actuated by four pneumatic muscles. The authors of Ref. [
31] have demonstrated a nonlinear SMC (sliding-mode controller) based on a PID-type sliding surface combined with a lumped element model-based controller to control a soft pneumatically actuated robot. In [
32], the authors use a fourier series-based adaptive sliding-mode controller with
tracking performance to address the high non-linearity and time-varying problem in a parallel platform actuated by rod-less pneumatic cylinders. while dealing with a tendon-driven redundant manipulator, the authors of Ref. [
33] proposes a population-based model-free control method that could be applied to pneumatically actuated manipulators.
Based on our previous work we have set out to develop the mechanical design and control system for a rugged redundant cascade manipulator driven by pneumatic bellows, intended for both research and agricultural use. The most difficult part of the development was the controller design for each separate module, as noted in previously mentioned articles. This task is notoriously difficult due to the inherent nonlinear hysteresis behaviour of the chosen actuator type and MIMO system as a whole. In previous research, a similar approach to in pneumatic parallel platform module control was taken by relying on experimental data. This concept was expanded upon by applying two regression steps to the data to obtain a mathematical model of the module, which took the place of a feed-forward controller. This feed-forward controller was then supplemented by a variable gain I-controller that facilitates disturbance rejection. The gain of the I controller is time-varying, allowing for specific adaptation dependent on the control error. The advantages of the ability to dynamically change the gains of a PID controller have been demonstrated by many authors. For example [
34] presents a sigmoid-based variable coefficient PIDwhere a modified sigmoid function is used to limit the variability of the PID controller coefficients in a predefined range. Refs. [
34,
35] added a nonlinear sine cosine algorithm to tune the coefficients of the PID controller. Ref. [
36] utilized reinforcement learning and gain scheduling to tune the coefficients of their PID controller.
Here, we present a hybrid controller design which, allows for a on demand change in stiffness of the system during operation and lends itself well to be a part of complete control system for the whole cascade manipulator.
Development of a novel hybrid FFvI controller (Feed-forward variable gain integral controller) with time-varying gain and experimentally derived model using two regression steps;
Establishment of controller design methodology for cascade redundant robots;
Experimental positioning analyses under dynamic disturbance effects.
This paper focuses on the development of a novel controller for a 2 DOF pneumatic parallel platform that represents one module of the pneumatic manipulator PneuTrunk (see
Figure 1), developed by our ARM-Lab. The first part of the paper presents the design and kinematic model of one module of PneuTrunk. In the second part, a feed-forward controller based on an experimentally identified system with stiffness regulation capabilities combined with a error dependent variable gain I controller for disturbance rejection is presented. In the third part, the proposed controller is compared with a simple PID controller and ANFIS controller. The reason for adopting an experiment driven controller design for this application when very robust alternatives in the form of model based feed-forward controllers, see [
29], already exist is that in some cases a mathematical model is difficult or impractical to obtain. As an example, soft robots with complex couplet internal structures can be named. For these cases, our approach will be valid. As another benefit, this controller has the potential for periodic self-tuning, based on real online data gathered during use.
2. Design of Pneutrunk Module
As can be seen in
Figure 1, the redundant manipulator PneuTrunk is a cascade type manipulator constructed out of parallel platform modules ordered in series. The number of modules depends on the required degrees of freedom. One module, shown in
Figure 2, consists of two duraluminium plates connected by an universal joint and three evenly spaced pneumatic bellows. The tilt angles between the top and the bottom plates are measured by two potentiometric rotation sensors, placed in such a way that the axis of the universal joint is colinear with both axes of the sensors and the
y sensor axis is always parallel to the bottom plate and the
x sensor axis is always parallel to the top plate. The pneumatic actuators are off-the-shelve Dunlop 2 3/4 × 3 bellows. The pressure in the pneumatic bellows is controlled by three separate electro-pneumatic pressure controllers SMC ITV1050-31F20. In our experience, these controllers have little lag and no discernible overshoot. All tubing is of inner diameter of 6 mm to eliminate the effects of tubing diameter on the dynamic behavior of the bellows. The module is controlled by a B&R PLC type 4PPC70-0702-20B and was programmed using B&R Automation studio version 4.9.
The maximum operating pressure for one bellow is 7 bar, but to prevent damage to the system and especially the universal joint, the allowable pressure range is set to 0–5 bar. The
x-axis is oriented towards the center of one bellows. The asymmetric layout of the bellows with respect to the axes
x and
y in combination with the mechanical limits of the bellows themselves, causes the rotational extremes around both axis to be different, as can be seen in
Table 1.
It is expected that the module will be driven only by positive pressure. This has important implications when designing the control algorithm for such a device. While the extension of one bellows is facilitated by simply supplying pressure, compression is achieved by applying external forces that predominantly originate from the extension of one or both remaining bellows. This fact is also the reason why the minimum number of pneumatic bellows is three. Coincidentally, because the module only has two degrees of freedom, this design is inherently overactuated. This causes one posture of the module to be reachable by an infinite number of bellows input pressure combinations and, in theory, giving the system the ability to change its stiffness without changing the posture. This was taken into account when designing the control algorithm for one module.
The flow of information and energy is visualized in
Figure 3. The whole system is simple and contains only the necessary components. It could be argued that adding a center closed 2/2 valve between each bellows and its corresponding electropneumatic pressure controllers could give the system the ability to pneumatically lock the bellows extension, improving the systems positioning performance. Unfortunately, this would also complicate the system and its regulation, introducing other challenges and distracting from the aim of this paper.
4. Controller Design
Controlling the posture of one module requires the combined effort of all three of its bellows actuators. The presented controller is designed to deal both with the non-linearity of the actuators and the over-actuation of the system. We define the controller consisting of two parts, a feed-forward controller and a variable gain I-controller (FFvI) see
Figure 11.
The feed-forward control is widely used in research for these applications, for example, Refs. [
25,
26]. It uses an inverse model of a controlled system without a feedback loop. For this application, it will provide the rough estimate input. This leverages the lack of overshoot of the actuators even at large input pressure steps, as can be seen in
Figure 10, it maximizes the controller speed, and it is generally easy to design and implement. As will be shown later, this system can also be driven by a pure constant gain PID controller, but a feed-forward controller is faster and has fewer errors. On the other hand, because of its lack of a feedback loop, as seen in [
25], it is unable to compensate for disturbance forces and system-model deviation. These are the reasons why the feed-forward controller is supplemented by a variable gain I-controller designed to complement the feed-forward controller and dynamically react to any differences between the reference values and actual values of the controlled variables.
4.1. Feed-Forward Controller Design
The feed-forward controller developed in this paper was designed using experimental data. Various pressure combinations were supplied to each bellows and the resulting posture was measured. The supplied pressures ranged from 0 bar to 5 bar with a 0.2 bar increment. This results in 18275 different pressure combinations and their corresponding tilt angles. The module workspace can be seen in
Figure 12.
The pointcloud matrix structure is organized as seen in Equation (
10)
where
and
are the measured stable tilt angles which are the result of corresponding input pressures for the respective bellows
,
and
.
Because of over-actuation and the parallel nature of the module design, one orientation of the module is achievable by an infinite combination of input pressures. This can be seen in
Figure 13. Here the
x-axis and
y-axis are the tilt about the respective axis in degrees and the
z-axis is the aggregate pressure, which is the sum of all bellows input pressures in bars. A higher aggregate pressure corresponds to a higher mechanical stiffness of the system. The control algorithm needs to take this into account.
The experimentally measured data represents points in aggregate pressure-augmented workspace. To find the inlet pressures from the measured point-cloud, Algorithm 1 was applied.
Algorithm 1: Extract required bellows input pressures from point cloud |
Input: Reference tilt angles , , required aggregate pressure level and Output: Required bellows input pressures , and to reach and while isEmpty(Region) do Add all points to Region that pass the criterion: anT & aggrT if isEmpty(Region) then incrementAngle incrementPressure end if end while Find point with minimal expression if acceptableTol then else end if |
-matrix of measured input pressures and corresponding posture that will be used to calculate the ended required input pressures to reach the desired posture; -maximum Euclidean distance of a measured point from the reference point in the augmented workspace in the plane to be eligible for inclusion in ; -maximum Euclidean distance of a measured point from the reference point in the augmented workspace along the aggregate pressure axis to be eligible for inclusion in ; -increment to expand in case the previous search yielded empty ; -increment to expand in case the previous search yielded empty .
Algorithm 1 will already supply a set of usable input pressures. Unfortunately, the results are influenced by the errors in measurement and effects of hysteresis. In a smooth trajectory tracking task, this can produce erratic, non-smooth input pressures. To solve these issues, the above Algorithm 1 was supplied with a set of reference angles ranging from
to 10
with an increment of 0.05
for both
and
and a constant aggregate pressure
. The result is three 3D meshes representing the relationship between the reference angles and the three input pressures separately. These meshes were then separately approximated as a surface using a second order
x and second order
y surface plot. The result for input pressure 1 can be seen in
Figure 14 and the equation describing this surface is Equation (
11)
This process was repeated for aggregate pressures between 3.6 bar and 15 bar with increments of 0.6 bar for all three bellows. The result is a set of smooth surfaces representing the complete augmented workspace, see
Figure 15 for bellows 1.
The coefficients describing all the surfaces can be further interpolated to get six equations approximating the complete aggregate pressure augmented workspace. The coefficients were interpolated by a 7-th order polynomial.
Figure 16 compares the output of Algorithm 1 and the interpolated feed-forward controller. The output of Algorithm 1 follows the smooth reference signal, but it shows non-smooth, erratic step behavior, while the output of the interpolated feed-forward controller is smooth.
4.2. Variable Gain I-Controller Design
The goal of adding an I-part to the controller is to facilitate disturbance rejection by integrating the reference error over time and scaling it by using a gain. In a constant gain I-controller, the gain is tuned to and fixed at a value dependent on the controlled plant. It is simple, easy to implement and does not necessarily require the plant model for correct design and unlike a proportional controller, it allows for complete error compensation in a step response. The problem with using a constant gain I-controller is as follows. The feed-forward controller can immediately supply a rough estimate for input pressures, but it is never clear before the movement ends how good this estimation is. Therefore, if the estimate is optimal, a constant gain I-controller would cause an overshoot, requiring the controller to be slow. On the other hand, if the estimation is sub-optimal, an aggressive constant gain I-controller is needed to quickly compensate for the error. This contradiction in requirements can be solved by applying a variable gain I-controller, with the gain dependent on the error, see Equation (
12)
where
is the controller gain,
is the tilt error,
t is time and
is the controller output. The idea behind the error-dependent controller gain is to keep the integral action small at the beginning of the movement, before it is clear how good the feed-forward action is, and increase it as the module posture reaches the desired posture. This decreases overshoot while increasing error elimination speed.
The relationship between I-controller gain and tilt error can be described by different types of smooth monotonic functions, like linear, exponential etc. For this controller, as a proof of concept a linear relationship was chosen, see Equation (
13).
where
is the tilt error,
is the tilt error about the
x-axis and
is the tilt error about the
y-axis. Parameters
a and
b were calculated from experimental data, where
was found to work well for small total error values below 1
and
was found to not cause significant overshoot at error values above 5
. This relationship is described by Equation (
15) and can be seen in
Figure 17The comparison between the performance of a constant gain I-controller and our variable gain controller in combination with our feed-forward controller is depicted in
Figure 18. One can see, that in
Figure 18a,b a gain of 350 results in a significant overshoot, but for small changes in tilt and a large residual error after feed-forward controller action, like in
Figure 18c, the controller is fast and has acceptable overshoot. On the other hand, a gain of 75 has no overshoot in any case but is slow and has the best performance if the residual error from feed-forward controller action is small, like in
Figure 18b. The performance of both fixed gain controllers in
Figure 18c is not satisfactory. Our variable gain controller performs satisfactory in all cases.
As mentioned above, for our controller, we have chosen a linear relationship to govern the variable gain. A linear relationship is simple, is easy to tune and should result in predictable behaviour of the module. Nevertheless, other types of functions like exponential, polynomial or even logarithmic can also be applied and could result in better controller performance than with a linear equation. The purpose of this article is to show the viability of the presented controller and using a linear relationship for this purpose is sufficient. The complexity of comparing different types of governing equations and the required tuning methods warrants its own article.
5. Experimental Verification of FFvI Controller
This section will focus on the experimental comparison between the FFvI controller and controllers designed according to established algorithms. First of all, the performance of the feed-forward part of the FFvI algorithm will be compared with an ANFIS controller designed using the same data-set as our feed-forward controller. In the second part, the complete FFvI controller will be compared to a constant gain PID controller.
The ANFIS controller was designed using the MATLAB neuro-fuzzy designer. Three controllers for each bellows separately were created. The input data are tilt angles
and
and the output is the corresponding pressure. The teaching data are picked from the same data, that is used to design the feed-forward controller, but are limited to having an aggregate pressure of
bar. The feed-forward controller is also set to the same level of aggregate pressure. This will decrease the teaching time and ensure more reliable results. The neural network used is a Sugeno-type network [
39] with 10 linear generalized bell-shaped membership functions for each input. The minimum achieved teaching error is in
Table 2.
Both controllers were supplied with sets of reference postures and their outputs were compared to input pressures, that produced these postures during measurement. The resulting comparison between the outputs of the feed-forward controller and the ANFIS controller is shown in
Figure 19. The minimum error and mean error are in
Table 3.
The ANFIS controller has a consistently lower error and the mean error is also lower. Nevertheless, as can be seen from the above results, both controllers perform well, with the maximum error of the feed-forward controller not exceeding 0.15. The magnitude of this error is still well within what would be considered acceptable for this application. Considering that the feed-forward controller can approximate the whole pressure augmented workspace, while the ANFIS controller is specifically designed to work in the tested aggregate pressure region, these results are encouraging.
When assessing the complete FFvI controller, one must keep in mind that the physical module is meant to be part of a robot. Therefore, we have specified that the overshoot, when performing a movement, should not exceed 2 on and separately. This number, although arbitrary, should be a good controller benchmark for this case and the controller is expected to be further tuned after being installed in the complete robot control system.
As a comparison to our FFvI controller, a PID-based controller was used. The controller consists of three identical constant gain PID controllers controlling all the bellows separately. The PID controllers were tuned using the P-I-D tuning approach described in [
40]. It is an experimental method that starts by experimentally tuning the P gain to a satisfactory level while keeping the I gain and D gain at zero. After that, the I gain is calculated according to the step response of the system and the P gain is reduced to retain stability. The D gain can by calculated from the I gain. In this case, the I gain was later increased to speed up the controller, as this method leaves room for improvement in this regard. The D gain was lowered to decrease the effects of noise. The relevant constants can be seen in
Table 4. Although the values of the tuned constants are not optimal, the authors believe that they are close enough to the optimal values combining adequate speed while not exceeding our criterion of 2
overshoot on
and
.
The performance of both controllers can be seen in
Figure 20. The reference signal is sequentially alternating between
,
,
and
. These values were chosen because all bellows need to be engaged simultaneously to different degrees, they represent values in the middle part of the module workspace and it is expected that most movements will be within this area. They also demonstrate the asymmetric behavior of the platform.
The performance of both controller types is shown in
Table 5. It needs to be noted that, this comparison deviates from a standard comparison of step responses by not having the platform at zero tilt and testing a combined rotation around
and
. Nevertheless, this comparison is much closer to comparing the controller performance under more realistic conditions.
It can be seen, that both controllers fulfill the condition of not having more than
overshoot. From
Table 5 it can be seen, that the FFvI controller is faster in all categories and has more overshoot only when going from
. The difference in quality between both controllers is illustrated by performance criteria, where in all cases the FFvI controller outperforms the PID controller by roughly more than 40%. The second comparison between both controllers is in following a sine reference signal with parameters written in
Table 6, as can be seen in
Figure 21. Here the FFvI controller can tightly and smoothly follow the sinusoidal reference signal while overshooting at the maximum and minimum of the reference signal. The overshoot, again, does not exceed 2
for either tilt angles. The PID controller, while not overshooting nearly as much, lags constantly behind the reference signal by about 0.7 s and the plot is in some parts jittery. The overall tracking error is much smaller for the FFvI than for the PID controller. It can be said that both controllers perform acceptably, while the FFvI controller is faster while still passing the overshoot criteria.
One ability that the FFvI controller has is to change the stiffness of the system while maintaining reference posture. Stiffness is set indirectly by inputting a number between 1–15 bar. This number represents the sum of the input pressures in all bellows and correlates with the overall stiffness of the system. The reason we did not quantify the stiffness is because stiffness is not only dependent on the input pressure, but also on the posture of the module making stiffness a three-dimensional matrix of values. This makes it impractical as an intuitive value that should be specified by the user. An algorithm to convert stiffness to aggregate pressure can be designed, but it would not change any part of the controller. The ability to change the stiffness during operation is shown in
Figure 22. The module is first positioned to
,
at a requested aggregate pressure of 3 bar. Then, the aggregate pressure is changed step-wise to 6 bar, 9 bar, 12 bar and 15 bar, respectively. A change in aggregate pressure corresponds to a change in the stiffness of the system. As seen from
Figure 22, the pressure and therefore stiffness can be changed online. This change produces a momentous destabilization of the system resulting in slight position loss. The maximum error for our test was at the transition between aggregate pressure 12 bar and 15 bar with maximum error for
,
. This can be again, attributed to nonsynchronous pressure change between the bellows and possible measurement errors in the original feed-forward controller input data. Therefore, instead of a sharp aggregate pressure step a smooth aggregate pressure transition should decrease this issue.
6. Dynamic Test of Ffvi Tilt Platform Controller
To be able to apply the proposed controller as part of the control system of the whole manipulator it is necessary to test the controller under dynamic loading conditions.
For this purpose, a two-axis loading mechanism was developed, see
Figure 23. It consists of two linear motion axes stacked perpendicular on top of each other and a weight attached to the top axis. This mechanism is mounted on top of a tilt module with the axis of the platform aligned with the linear motion axes of the mechanism. It can be seen that the potential loading momentum will be different for each axis because the bottom axis is loaded not only by the loading weight but also by the top axis itself. The possible motion of one linear axis is 0 mm to 330 mm and is centered on the central axis of the tilt module. The weight of the axes and loading weight is in
Table 7. This mechanism is used to generate dynamic loading forces to study the capability of the FFvI controller to reject dynamic disturbances.
The dynamic loading experiment is done for reference tilts
= 0
and
= 0
. Error rejection is facilitated by the I controller part of the algorithm, hence the test will be performed with the I controller active and, for comparison, with the I controller inactive. In addition, the experiment will be done for different values of aggregate pressure and for different speeds of movement of the loading weight. The movement of the load was converted to loading momentum about axes
x and
y (see
Figure 24).
Figure 24 and
Figure 25 show only the extremes of the test, different combinations of load speed and aggregate pressure were also tested, see
Table 8.
The disturbance momentum was indirectly established from the measured movement of the load and the geometry of the mechanism. The shown time window is the same for all movement speeds. The maximum total error for all measurements is in
Table 8.
From the above figures, one can deduce important findings regarding the behaviour of the controller under dynamically changing load. The maximum total error with the I part active was 1.52 and the mean error was 0.86 and the maximum total error with the I part inactive was 6.85 and the mean error was 3.85. Apart from that, a well-tuned variable gain I-controller has a significant stabilisation effect at higher dynamic loads. It can also be seen, especially at higher speeds of the load, that a higher aggregate pressure has a positive effect on the rejection of dynamic loads.
It can be concluded that the FFvI controller in its current state is able to control the prototype manipulator, especially at lower speeds and higher aggregate pressure settings.
7. Discussion
In this paper, a new type of controller for the control of the posture of a pneumatic bellows actuated module of the cascade robot PneuTrunk was presented. The controller consists of a feed-forward controller designed using experimental data and a error dependent variable gain I-controller. The feed-forward controller is created by fitting the data at a certain pressure level using a polynomial function and subsequently, again fitting the resulting set of polynomial function constants by another set of polynomials. This allows for a simple and fast controller, that not only allows to control the posture of the module, but also its stiffness. The variable gain I-controller supplements the feed-forward controller by adding a feedback loop, hence facilitating disturbance rejection and correcting for feed-forward controller imperfections. The variable gain allows for fast error correction while limiting overshoot and windup at the same time. This hybridisation approach allows for a simple controller design for a complex MIMO systems that can be easily adjusted and updated.
This controller was compared to other established controllers. On the feed-forward level, the controller was compared with an ANFIS controller, delivering comparable results. Comparing the complete controller to a tuned PID controller showed that our FFvI controller is faster, and can reliably follow a harmonic reference signal while maintaining required performance parameters. This controller was also tested under dynamic load with satisfactory results. The maximum FFvI controller error during the positioning of the module with consideration of dynamic disturbance was only 1.52. The aforementioned tests show a robust behaviour of the FFvI controller in the face of both internal feed-forward model imperfections, as shown by quick error rejection in the step response tests and external dynamic disturbance forces, as shown by the dynamic tests.
To further improve the performance of the controller, it is necessary to create a comprehensive mathematical model of the module, mainly to combat the detrimental effects of the hysteretic behavior of the bellows. It is also appropriate to compare different types of functions driving the variable gain of the I-controller. In the future, this controller will be applied as a part of a larger control system controlling the pneumatic cascade robot PneuTrunk.