Next Article in Journal
Active Disturbance Rejection Predictive Control for Drill-Arm Positioning of Hydraulic Drill-Anchor Robots Based on Friction Compensation and PSO Tuning
Next Article in Special Issue
A Comprehensive Analysis of Human–Machine Interaction: Teaching Pendant vs. Gesture Control in Industrial Robotics
Previous Article in Journal
Intelligent Multi-Objective Optimization of Structural Parameters for High-Frequency Ultrasonic Transducers
Previous Article in Special Issue
A Collaborative Robot-Based Approach for Automated 3D Shape Inspection of Complex Parts
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

A Novel Type of Pneumatic Rotary Positioner Using Three-Phase Pressure Commutation

Department of Mechatronics, Faculty of Mechanical Engineering, Politehnica University Timisoara, 1 Bvd. Mihai Viteazul, 300222 Timisoara, Romania
*
Author to whom correspondence should be addressed.
Actuators 2026, 15(4), 192; https://doi.org/10.3390/act15040192
Submission received: 31 January 2026 / Revised: 26 March 2026 / Accepted: 29 March 2026 / Published: 31 March 2026
(This article belongs to the Special Issue Actuation and Sensing of Intelligent Soft Robots—2nd Edition)

Abstract

This paper presents the design, simulation, and experimental validation of a novel type of pneumatic rotary positioner that is based on a three-cylinder radial mechanism driven by independently controlled pressures. The system uses standard off-the-shelf industrial components, including pneumatic cylinders, proportional pressure regulators, and a programmable logic controller. In order to obtain angular positioning, a three-phase sinusoidal pressure commutation scheme is adopted, similar to the three-phase electrical motors. Analytical expressions for piston kinematics and torque generation are derived and used to design direct open-loop, open-loop with friction compensation, and closed-loop position control strategies. The technical implementation, with the prototype tested unloaded, can achieve accurate positioning (±3° in open-loop mode with feedforward to ±0.3° in closed-loop mode with PD controller), with very good repeatability on average (<0.5°) and smooth theoretical torque (average 1.4 Nm, with 0.51% ripple) at low speeds (<60 rpm). The experimental prototype was designed as a compact device, having approx. 94 mm diameter and 110 mm depth. When used in open-loop mode, the actuator is connected to the control system using just three pneumatic tubes and thus is completely free of any electromagnetic fields, making it suitable for some environment-critical applications. These advantages promote the proposed positioner as a practical rotary actuator in specialized automation and robotics applications where established electrical servomotors cannot be used.

1. Introduction

In industrial automation but also in specific safety-critical environments, pneumatic actuation remains attractive due to its intrinsic properties: safety, high power density, simplicity, and robustness. Although mostly pneumatic cylinders are used, rotary pneumatic actuation is present using rack-and-pinion, vane motors, or radial piston motors, usually operating open-loop. These devices are designed either for continuous rotation (air motors) or for limited angular motion (semi-rotary drives) and mostly provide nonlinear torque characteristics, making positioning control challenging [1,2,3,4]. Thus, achieving single or multi-turn angular positioning together with ripple-free low-speed operation, using pneumatic technology, remains a problem that is largely unresolved.
Servo-pneumatic systems have seen a lot of research, especially for linear motion. Several control approaches, including nonlinear modeling, friction compensation, sliding-mode control, and adaptive techniques, proved that accurate position and force control can be achieved despite the nonlinear properties of compressed air, valve dynamics, and friction effects [5,6,7,8,9]. Practical robust control strategies with industrial applicability, using pressure feedback and moderate-bandwidth valves, have also been reported [10]. However, most of the work addresses (single-axis) linear actuators, and it cannot be directly extended to rotary motors.
Comparatively, less attention was given to rotary pneumatic systems. Existing studies typically address mechanisms with rotary vanes or rack-and-pinion designs, combined with encoder feedback and PD or PID controllers, often enhanced using different optimization or friction compensation techniques [11,12,13]. Pneumatic radial piston air motors are suitable for continuous rotation, but they are generally operated in open-loop and are not intended for angular positioning, so their studies mostly link to thermodynamic behavior or dynamic characteristics for energy conversion or speed control applications [3,4,14]. As a result, a clear gap is found between classic air motors and true servo-pneumatic actuators.
A promising alternative is found in more recent work that uses commutation-based pneumatic rotary actuators, inspired by electric motor principles [15]. This system generates rotation by sequentially pressurizing multiple chambers according to the rotor position (similar to a multi-pole BLDC motor), demonstrating a continuous servo-pneumatic actuator. However, the design relies on a custom mechanical structure with specialized additive manufacturing.
The present work investigates a three-piston radial pneumatic mechanism, arranged at 2π/3 phase offsets and driven by independently regulated pressures. The proposed solution is kinematically analogous to a three-cylinder radial engine and can operate as a continuous pneumatic rotary positioner using sinusoidal pressure commutation. The shaping of the pressure commands is inspired by three-phase electric motors. Using this phase-shifted sinusoidal pressure commutation as a function of desired crank angle enables angular positioning with smooth torque generation and low-speed rotation.
The proposed solution highlights a key novelty by the application of commutation concepts found in electrical motors to a pneumatic rotary actuator instead of treating the mechanism as independent linear cylinders. For piston kinematics, motion, and torque generation, analytical expressions are derived in order to obtain a pressure triplet generation and direction-aware dry friction compensation. Also, both open-loop and closed-loop position control strategies are examined, including proportional–derivative control implemented directly for the command angle. Considering that other servo-pneumatic systems rely on high-bandwidth proportional valves and complex hierarchical control architectures [16], the present work emphasizes simplicity and the use of standard industrial components, employing common off-the-shelf cylinders, proportional pressure regulators, and a standard programmable logic controller.
Another notable aspect of the proposed system is that it could be used strictly in open-loop. In this case, the mechanical work assembly (the positioner device itself) is connected to the control system using just three pneumatic tubes and thus is completely free of any electromagnetic fields, making it suitable for some EMC/MRI compatible applications. This compatibility with critical applications can be even further enhanced using all-plastic cylinders and ceramic bearings, making the proposed positioner a very attractive alternative when an electric servomotor cannot be used.
The presented aspects highlight the proposed system as a possible alternative to conventional semi-rotary pneumatic actuators and air motors and extend the state of the art toward servo-like pneumatic rotary actuators capable of positioning, with straightforward industrial integration.
Since the proposed actuator was built as an experimental prototype and positioning testing was conducted in an unloaded state, the positioning performance and suitability for real-life under-load scenarios can be assessed only after conducting further research.

2. Materials and Methods

2.1. Pneumatic Rotary Positioner Concept

The core concept of the proposed positioner links two well-known and proven solutions: the mechanical design of piston radial engines, particularly 3-piston compressed air radial engines, with the electrical operating principle of three-phased (synchronous) alternating current servomotors.
Considering a 3-piston radial rotary motor with the pneumatic cylinders equally spaced (at 2π/3) and connecting rods linked to a crank, we obtain a rotary device. In order to be able to provide continuous rotation motion and/or angular positioning of the shaft, the pressure variation inside the cylinders must behave like a rotating magnetic field in a three-phase motor, and thus, we must control the pressure in sinusoidal form. This cannot be simply achieved using regular on–off directional control valves but using electronically controlled proportional pressure regulators, connected to a signal waveform generator device, like a PLC (Figure 1).
The base mechanism schematic of such an assembly is presented in Figure 2, where r is the length of the crank, l is the identical lengths of the connecting rods, ω is the setpoint angle (positioning command), θ is the angle between crank and rod, needed for determining the torque of the motor, and s is the stroke of the pistons.

2.2. Pressure and Torque Generation

Since we apply a sinusoid pressure waveform that has only positive values, we must offset the calculated instantaneous value towards half of the maximum supply (regulator) pressure:
P o f = P m a x P m i n 2 = 6 0 2 = 3   [ b a r ] ,
and then for an angle ω, we can define the three pressures that swing from 0 to 6 bar and are out of phase by 2π/3:
P 1 = 3 sin ω + 1 P 2 = 3 sin ω + 2 π 3 + 1 P 3 = 3 sin ω + 4 π 3 + 1   ,   ω [ 0 ,   2 π )  
By analyzing the above, we can observe that for any given ω within limits, we obtain a unique triplet of pressure values. This confirms the initial hypothesis that the proposed motor solution can provide a unique position of the output shaft, which is directly dependent on a computed pressure triplet, without considering friction, regulator dynamics, compressibility, and load torque. Essentially, we obtain the base for a rotary pneumatic motor that can be positioned in open-loop mode, over a full rotation. It must be noted that this positioning can only be satisfactorily achieved given the appropriate limited dynamic and load conditions, which have an important influence on the positioning accuracy. The dynamic conditions and load bounds will be investigated in future work.
We also define our motor’s origin (0 position) as being the TDC of C1. This implies, as per Figure 2, that pressure in C1 must be at its lowest point of 0 bar, so we must shift Equation (2) so that P1 = 0 for a command or setpoint angle ω = 0. Solving for P1 = 0, we get
3 sin ω + 1 = 0 ω = π 2
and we can write
φ 1 = ω π 2 ,   φ 2 = ω 7 π 6 ,   φ 3 = ω 11 π 6
and then settle for the rotated pressure field with origin as discussed above, obtaining:
P i = 3 sin φ i + 1 ,   i [ 1 ,   3 ]
which gives the unique pressure triplet for any angle over a full rotation. A graphical representation of the three-phased pressure field can be observed in Figure 3.
The device produces rotational motion, so we must also consider the output torque of the shaft and analyze the result over a full rotation as well as account for the torque ripple. Since we apply a φ-dependent pushing pressure to the pistons, we can write:
T ( φ ) = F p φ r sin θ
where Fp is the resulting force on the piston, r is crank length, and θ is the angle between the crank (r) and the connecting rod (l), and it can be expressed in relation to the elements’ lengths and the crank angle, as the mechanism is a classic slider crank:
sin θ = sin φ 1 r l cos φ 2
resulting in a torque expression that can be related to the motor’s geometry and the pressure field angle triplet for each piston (as per Equation (5)):
T i φ i = F p i φ i   r   sin φ i 1 r l cos φ i 2
resulting in the total torque produced by the motor:
T t o t a l ( ω ) = i = 1 3 T i ( φ i )
For the three-piston radial motor with the cylinders at 2π/3 rad, there is an important influence factor in the total torque output, especially regarding the torque ripple, dependent on the r/l ratio. We are aiming for a ripple of less than 1% so that our motor’s torque output is smooth during positioning. The torque ripple can be expressed as:
T p p = T m a x T m i n [ N m ] , T r i p p l e = T p p T t o t a l ¯ · 100   [ % ]
where T r i p p l e is the torque ripple percent, T p p is the peak-to-peak torque, and T t o t a l ¯ is the average torque.
Solving numerically, the desired ripple percentage can be obtained with a r/l > 7. Also, shifting the crank angle by 2π/3, the total torque repeats, with this being the fundamental angular period of the ripple:
T ω + 2 π 3 = T ( ω )
This means that in one full revolution, we will see 3 identical torque waves, with the highest values when any 2 cylinders are pushing and the lowest values when any single cylinder is pushing.
Following the arrangement in Figure 2, we can simulate the torque and ripple for a known set of cylinders. Let our cylinders have a piston diameter of 20 mm and a maximum stroke of sc = 15 mm; thus, we can adopt a crank length r < sc/2, r = 7 mm (technical reserve from the maximum stroke), which results in the minimum connecting rod length l = 2r = 14 mm. We can also simulate for a longer l = 50 mm, which gives a r/l > 7. Figure 4 represents the two situations.
The torque ripple for r/l = 2 is 0.144 Nm (14.13%), ranging from 0.953 Nm to 1.098 Nm, which is not an acceptable value.
In the case of increasing the r/l ratio to a factor of 7.1, the ripple is 0.01 Nm (1%), ranging from 0.987 to 0.997, which is very good behavior despite the lower average and peak torque value.
It must be noted that in the previous sections, we only accounted for the ideal theoretical piston forces generated by compressed air. To obtain a more realistic (average) torque value, which does not change the ripple amplitude, we must also account for the pistons and linkages inertia and for the pistons’ friction inside the cylinders.
For the system in Figure 2, we estimate a total moving mass of 120 g per cylinder. For a 20 L/min flow rate in a cylinder, we obtain a full stroke theoretical time of 0.05 s. Considering a quasi-triangular acceleration profile, we obtain an estimated inertia of Fi = 1.3 N.
A more important factor is the dry friction force of the piston, which was experimentally determined to have an average value of 7 N in both directions.
So, the force in a cylinder can be expressed in a simplified but accurate form:
F eff φ = F p φ ( F f + F i )
The constant resistance term is valid for an unloaded motor state and can be compensated using an equivalent constant feedforward term (FF) computed prior to commissioning and applied during positioning.

2.3. Pneumatic Positioner Control

The electro-pneumatic schematic of the positioner is detailed in Figure 5, where ASU is an air service unit, connected to the supply, SV is the main cut-off valve, P1…P3 are the proportional pressure regulators, and the cylinder pairs are C11–C12…C31–C32. The presence of C12…C32 in the schematic is related to the balanced final mechanical solution and will be further explained in Section 2.4. Since the proportional pressure regulators work with 0–10 V analog voltage signals, these are provided by an analog output module of the PLC (AQ0).

2.3.1. Direct Pressure Application

Given the fact that the pressure wave triplet is unique over a full motor rotation, we can apply an open-loop control mode, with absolute positioning for any desired angle. But it must be noted that a relative positioning angle of π radians cannot be achieved consistently due to the mechanism design, so we opted to limit the maximum value to a more conservative 2π/3 rad. Another aspect is that the positioner will always move on the shortest angular path due to the direct application of pressure forces on the 3 pistons.
For this direct open-loop mode, the positioning strategy is simple and relies only on computing and applying the pressures from the angle setpoint, as per Equations (4) and (5).

2.3.2. Pressure with Feedforward Compensation

Since the proposed mechanism is designed for regular industrial cylinders, it is expected to observe a resistant component produced by friction and inertial forces (dry cylinder friction being the most important factor). This ends up as a drag torque on the crank, which leads to the output shaft lagging behind the commanded angle, including for no-load positioning (baseline motion), as expressed in Section 2.2.
While considering the above, we observe in the literature that several feedforward compensation methods can be employed for pneumatic actuators, like the stable model inversion technique described and used in [17], but for the proposed solution, a simpler model that translates the positioning lag into pressure values can provide the desired no-load angular compensation. These compensating pressure values are dependent on the resistant forces and the geometric parameters of the cylinders/pistons used. Since our actuator generates rotational motion using linear cylinders, we cannot just offset the pressures, so we must compute and apply the values once we know the direction of the intended movement of the output shaft. This is needed because the feedforward pressure must be added when the command pressure increases (the piston is pushing) and subtracted when the command pressure decreases (the piston is being driven) in a particular cylinder.
Let ωc be the current angle of the shaft. Then, we can express the intended motor movement direction as:
D = s g n ω ω c
We obtain the piston travel direction based on the sign of the piston velocity, which is proportional to the crank angle. Combining this with the intended movement direction, we obtain the desired direction sign.
s t = s g n ( sin ω c ) · D
Now the constant feedforward pressure can be either added or decreased from the base computed pressure, depending on st.:
P i = 3 sin φ i + 1 + s t · P f f , P f f = F f + F i A p i s t A r o d
where Pff is the constant feedforward pressure offset value.
The current shaft angle can be memorized within the control program so that subsequent positionings can use the previous setpoint as the actual shaft value.

2.3.3. PD Closed-Loop Control

In order to further improve the positioning precision, a closed-loop control method is desired. Like for many motor solutions, the classic proportional-derivative controller is considered appropriate for the positioner.
The controller takes the desired shaft angle as a setpoint and the current measured angle as an error. The command signal is still an output angle generated by accumulating the PD correction, which is subsequently mapped to a pressure triplet as discussed for the other modes.
A discrete-from representation of the controller is expressed below:
e k = ω s p k ω m k ω m = ω m k ω m k 1 ω ˙ m k = ω m k T s u k = K p e k K d ω ˙ m k ω c k = s a t u k ,   ω ˙ m a x T s ,   + ω ˙ m a x T s ω c k = ω c k 1 + ω c [ k ]
The angular error (e) is computed as the shortest path “circular difference”, and we use the derivative on measurement (Δωm) to reduce derivative kick, which computes the circular increment of measurement and applies it for the angular velocity estimate (ώm). This also explains the negative sign in the control signal function (u). All angles are wrapped: setpoint (ωsp), measurement (ωm), and command (ωc) to [0, 2π), as well as error and derivative to (−π, π]. Angular speed rate limit (ώmax) is also used, with the per-cycle command increment (ωc) being clipped to a set value.
In order to aid the reproducibility of the results, the above controller implementation is exposed as a compact pseudocode in Appendix A.
For the positioning prototype, the controller was manually tuned so that it limits jerks and avoids overshooting, having Kp = 0.1 and Kd = 0.01. With the same scope, the rate limiting was tuned towards a more conservative value of π rad/s, to the detriment of positioning speed. The sample time is 1/100 s, and it is appropriate for the positioner speed and for the PLC.

2.4. Pneumatic Positioner Technical Implementation

The prototype positioner is designed based on compact single-rod, dual-stroke cylinders already available in the lab. They have a piston diameter of 20 mm, a rod diameter of 10 mm, and a stroke of 15 mm. We decided to use only 14 mm of stroke for the positioner, as the 0.5 + 0.5 mm at the ends are useful for the pistons not to contact the cylinder caps during motion and also allow for some mechanical adjustments when assembling the piston rods to the rotary mechanism.
Targeting a compact design, the cylinders were installed back-to-back around the main shaft/bearings casing (Figure 6), with this configuration being then dimensioned to yield a r/L ratio of 10 between the connecting rods and the crank, resulting in a 70 mm rod with a 7 mm crank (both center to center). This also improves the torque ripple, obtaining an excellent 0.51% value. In this setup, we have:
r = O R l = U R = V R = W R φ i = f ω F c i = A p i s t A r o d · P i φ i F f + F i
Solving numerically for the known values, we obtain a maximum pushing force Fci = 135 N per cylinder, available when any piston is at BDC, and a theoretical average total torque of 1.4 Nm.
Since for this cylinder configuration we must install the rotating mechanism with a radial offset from the center of the pistons’ rods, the reacting forces in the connecting rods will eventually produce a radial force on each piston rod. This force must be completely compensated, as it makes the rod piston assembly tilt a little inside the cylinder due to the elastic seals giving (both on the piston and in the cylinder head). This small tilt is enough to make the piston rod friction-lock against the metal on the cylinder head, especially when the piston is near TDC, completely corrupting the motion of the device.
There are several methods to approach this issue, and we opted to add a secondary set of 3 cylinders, mirroring the first 3 with respect to the connection rods (Figure 7). This setup will place the joint center of a connecting rod between the 2 piston rods, further improved by having 2 bearings on the rod, thus obtaining a better load distribution on the link beam and also enhancing the parallelism of the connecting rod to the crank and piston rods during motion. Another advantage of the twin cylinders setup is the increase in torque, while the overall dimensions of the device are similar to other compensation methods, such as adding another set of connecting rods on the other side of the cylinders (doubling the crank). Of course, if using properly guided cylinders, this issue is minimized, but still, some lateral forces will appear in the crank joint.
The main disadvantage of the proposed solution with 3 pairs of cylinders is that the main shaft of the device (which is made from 2 semi-shafts assembled with the cranks) must be supported with 2 bearings, on each end of the shaft, since we need both ends available (one end for the encoder and the other for the workload), and this leads to the need for a more careful case design and assembly. Also, further assembling the piston rods to the already assembled link beams/connecting rods is more challenging.
The prototype was built using the above-mentioned cylinders, the rest of the mechanical elements, except for the output shafts and bearings, but including some crankshaft fastening elements [18] that were 3D-printed. The filament used is generic PLA, printed with a 0.4 mm nozzle at 0.2 mm layer height, 4 wall loops, and 30% infill.

2.5. Pneumatic Positioner Functional Simulation

Before building and testing the prototype, a device simulation of the mechanical assembly was conducted. This targets the ability of the positioner to track a commanded angle following sinusoidal forces applied to the piston joints. A constant resistant damping torque can be imposed onto the output shaft so that the limits of the tracking can be identified prior to the device construction. The simulation was performed using CoppeliaSim v4.10 [19], having the functional program scripted within the simulated model. The user is then able, using a simple user interface, to provide a setpoint angle and also to alter the friction damping torque. The desired angle can be set in degrees ranging [0, 359], and the output shaft angular lag can be monitored in the console window of the application (Figure 8).
The simulation proves the mechanical validity of the concept both in terms of mechanism design and with respect to the sinusoidal profiles of forces applied to the pistons. The output shaft lag is consistent with the imposed damping torque of 0.1 Nm, and it is around 1.2 degrees. This also strengthens the idea of a constant feedforward term applied with the command angle. The simulated motor is positioned in absolute angular open-loop mode.

2.6. Experimental Setup

For the real-world prototype, in order to command the pressures and collect the shaft measured position, the elements in Figure 9 were connected and identified below:
-
Cylinders: SMC CQSB20-15DM (SMC Corp. Tokio, Japan);
-
Proportional pressure regulators: FESTO VEAB-L-26-D9-Q4-V1-1R1 (FESTO AG, Esslingen, Germany);
-
PLC: Siemens S7-1214C + SM1231 + SM1232 analog in/out modules (Siemens AG, Munich, Germany);
-
Encoder: generic, quadrature incremental, 400 CPR, and 24 Vdc;
-
Air supply: filtered air, regulated pressure 6 bar, and flow 110 L/min.
The control strategies presented in Section 2.3.1, Section 2.3.2 and Section 2.3.3 are implemented in the PLC as function blocks. The controller also runs a Modbus server interface where the program expects a setpoint angle and positioning mode over 2 registers, and it then hands this data over to the corresponding function block. The encoder was connected to the first high-speed counter of the digital input module and set up as a 4x A/B encoder, thus providing 1600 counts per revolution and direction. This provides an output shaft resolution of 0.225 degrees.
In order to verify the proportional regulators’ pressure tracking, the analog pressure feedback sensors were connected to the analog input module of the PLC. The subsequent measurements showed that the 3 regulators track virtually identically over a 0.06…6 bar range, giving high confidence that all three pressure sinusoids will be identical. Of course, this works in conjunction with the idea that all pneumatic tubes are identically configured with segments of equal lengths.

3. Results

Due to the construction of the prototype, it is not yet possible to test the device with a high load torque without self-dismantling or damaging the 3D-printed crankshaft parts. Therefore, all positioning tests were conducted with no external extra load on the shaft.
The positioner was tested using “angle sets” having multiple runs for the same set. A specific “angle set” consists of a number of equally spaced angle values, covering the full circle, provided for convenience in degrees. The device was also positioned for the same sets in both directions, clockwise (CW) and counterclockwise (CCW). The angle sets used are 120, 90, 60, 30, and 10 degrees apart. The positioning commands (angle value setpoint) were sent to the PLC via a Python v3.12 script to a predefined Modbus register, incrementally.
During positioning, the encoder angle values were read and recorded using another Python script that sampled the PLC’s internal memory angle location via the PUT/GET instruction. This approach proved to be faster than Modbus polling, allowing sampling at 100 Hz. The device was then commanded to run all angle sets in all three defined positioning modes: direct (no friction feedforward), with fixed feedforward, and with PD controller enabled. Selection of the mode is achieved by setting a different value to another Modbus register in the PLC.
For modes with no feedforward and with fixed feedforward, and for each angle set, three positioning runs were recorded, and it was observed that the recorded data is consistent over these three runs.
The following graphs show the average recorded angle over the three runs. For PD mode, only two positioning runs were recorded, as the results were very consistent. The graphs show the average recorded values for the two runs.

3.1. Open-Loop Absolute Positioning Testing, Direct Positioning, No Feedforward

The positioner was provided with the angle set sequence, and the positioning tracking results were recorded using the shaft encoder (Figure 10, Figure 11, Figure 12, Figure 13 and Figure 14). Since the direct fixed pressure values application makes jumping from 0 to 180 degrees practically unachievable (or at least unpredictable) due to the mechanism singularity position, a maximum step angle of 120 degrees was applied. No static friction compensation is applied in this test; the theoretically computed instantaneous sinusoidal pressure values are directly applied. All positioning commands start from the reference 0 degrees (cylinders C11 and C12 are at TDC).

3.2. Open-Loop Absolute Positioning Testing, with Fixed Feedforward

This time, the positioner was provided with the same angle sets for both directions as before, but a fixed feedforward term accounting for piston friction compensation was applied. This term can be obtained by considering a constant pressure delta for each cylinder pair with the sign dependent on the direction of motion of that cylinder pair, as per (12).
The resulting pressure delta is 0.64 bar for our 20 mm cylinders with a 10 mm rod.
Position tracking is recorded as before, with all positioning commands starting from 0 degrees (Figure 15, Figure 16, Figure 17, Figure 18 and Figure 19).

3.3. Closed-Loop Absolute Positioning Testing with PD Controller

Although open-loop absolute positioning is attractive for the implementation simplicity and can be used for certain applications, it is not precise enough and is also prone to angular shaft drift under higher load. To improve this aspect, a PD position controller was implemented, as described in Section 2.3.3. The results using this mode can be observed in Figure 20, Figure 21, Figure 22, Figure 23 and Figure 24.

3.4. Positioning Performance Overview

In order to offer a better overview of the positioning recorded data, Table 1 contains average values for all three positioning modes, at all angle sets, both clockwise and counterclockwise, for the following metrics:
-
Angular error [deg]: values are collected when the motion stops/finishes (angle stabilized), as an averaged difference for the given angle set, over the full revolution.
-
Positioning time [s]: values are collected when the motion stops/finishes, as the time difference from when the positioning command was initiated (includes pressure build-up phase and friction/inertial pre-motion time), averaged for the given angle set.
-
Repeatability [deg]: values are collected when the motion stops/finishes (angle stabilized), as the average maximum difference in recorded angle over the individual positioning runs, for the given angle set.

4. Discussion

Testing with the experimental prototype proves the initial hypothesis that three-phasic pressure signals can be used for positioning tasks as described. The pressure application modes = positioning modes have distinct influences over the angle tracking and final positioning precision of the device. In the following paragraphs, the collected results are discussed in terms of the metrics combined in Table 1.

4.1. Angle Tracking

Following the data from Section 3.2, Section 3.3 and Section 3.4 and the overview in Table 1, it can be observed that the worst angle tracking performance occurs when moving clockwise with no compensation. However, this huge lag of around 17 degrees remains consistent for all angle sets and thus can be more easily compensated. During the CCW motion, the lag is more dependent on the angle, and so a larger variation in the lag is observed. The lag variation is also transported (and amplified) when applying constant compensation.
With fixed feedforward compensation enabled, the positioning error stays (at the limit) within the desired +/− 3 degrees interval [Video S1].
The PD controller offers the expected performance, considering the deadband is set at +/− 0.3 degrees [Video S1].
For both direct pressure and fixed feedforward modes, an angular error ripple can be observed cyclically repeating on the graphs. The maximum amplitude of this ripple corresponds with the most “unhappy” piston positions, having one piston pair near BDC, with maximum pressure applied. The lowest amplitude corresponds to when a piston pair is near TDC, with the other two piston pairs having equal high pressure.
One must remember that these results are recorded without additional load. If the device is to be used in an open-loop mode, the best scenario is with a constant known load (like, for example, when using an open-loop stepper motor in a 3D printer), so that the feedforward terms, for both directions, can be determined and applied during commissioning. For a variable load, some angular positioning feedback must be used to obtain more precise positioning.

4.2. Positioning Time

Like all pneumatic actuators with small volume chambers, this device is quite fast when no closed-loop control is employed. Pressure settling time and shaft rotation happen on average around 0.2 s. Of course, this is also the merit of the fast-acting proportional pressure regulators.
With the PD controller enabled, having the angle change rate limited for the reasons in Section 2.3.3, positioning is much slower, as expected.

4.3. Repeatability

The positioner offers remarkably good repeatability for a pneumatic device of less than 1 degree, even in open-loop mode. This is due to the inherent design, as a set of pressure values will dictate a single mechanical position, and also the fact that resistance from component friction is one order of magnitude smaller than the active positioning force. Repeatability is similar for both open-loop modes and, as expected, better with the PD controller enabled.
In a real-life scenario, this means that for a known load, with properly computed feedforward terms, the positioner is predictable and dependable in open-loop mode.

4.4. Performance Comparisons with Other Pneumatic Rotary Actuators

The behavior of the proposed pneumatic positioner can be compared with other pneumatic rotary actuators from the literature, but it must be noted that attaining the best positioning performance is not the goal of this paper. Further optimization steps must be conducted in future research in order to improve the accuracy of the positioner.
The closest design and function is the solution presented in [15]. According to the authors, this actuator is of comparable size, having a diameter of 110 mm, a 41 mm width, and a weight of <500 g. It manages to produce 0.53 Nm of torque at 1 bar. It is also capable of static positioning with an accuracy of 0.31°.
In ref. [12], the authors use a commercial reciprocating piston semi-rotary drive unit (rack and pinion type, 180° stroke). Several control methods, mainly for friction compensation, are tested, and unloaded positioning results for traditional PD control, PD with friction compensation, DE-PD (differential evolution algorithm), and GA-PD (genetic algorithm) were obtained as 0.225°, 0.107°, 0.003°, and 0.075°, respectively.
In ref.[16], a custom dual rack and pinion solution is employed using low-cost solenoid valves and pressure sensors, and experiments were conducted for rotating an arm in the vertical plane. For a 90° positioning trajectory, the averaged root mean square error (RMSE) was 0.156°. Reported steady-state errors were ≤0.0045°.

4.5. Future Research

Future research will be conducted with a stronger crank so that real-life usage scenarios can be properly observed. Positioning performance, limits of the fixed feedforward term, and optimization of the closed-loop method must be explored using various loads.
Considering future development, it must be noted that the device is capable of more than simple positioning and can be transformed into a regular pneumatic servomotor by means of various functions implemented in the PLC.
-
Multi-turn absolute or incremental positioning can be achieved by continuously computing and applying the next angle value with a predefined increment, up to the target value. This can be done in open-loop mode, considering a known load.
-
Velocity control (with acceleration ramps) can be achieved, for example, by modifying angle increments over a fixed time base. Although this might work in open-loop mode, jerk-free motion requires encoder feedback.
-
Torque control can be employed by modifying the maximum and base pressure points, thus lowering the forces developed by the pistons. It can work in open-loop mode.
-
Stand-still braking is another aspect common to regular electric industrial servomotors, and for this device, it can be achieved either by freezing the pressure values inside cylinders using a set of three 2/2 valves; this gives a “compliant braking” due to compressibility or using a clamping cylinder on the shaft, similar to those used for braking cylinder rods.
Another aspect that is considered for future development is to find a method or a sensor/encoder to get the position feedback without having any electrical or magnetic components in the device itself.

5. Conclusions

The proposed device solution can be successfully used as a pneumatic angular positioner. The experimental prototype tested unloaded, exhibiting good performance in feedforward open-loop mode (positioning accuracy of ±3°) and very good performance in PD closed-loop mode (positioning accuracy of ±0.3°).
The average positioning speed in open-loop mode is less than 0.2 s, with an average of 0.81 s for PD control mode.
Repeatability of the positioner is excellent, irrespective of the control mode, with an average of less than 0.5°.
Positioning performance in direct open-loop mode is influenced by the mechanical construction/assembly of the device and is expected to suffer from lag proportional to the resistant load on the shaft. Positioning performance in feedforward open-loop mode could be maintained, considering that the external load is known and constant and that the compensating term does not exceed the pressure limits.
The technical “back-to-back” cylinder solution, with longer connecting rods, offers excellent theoretical torque ripple (0.51%), with an average theoretical torque of 1.4 Nm, in a compact-sized device (approx. 94 mm diam. and 110 mm depth).
The designed and built pneumatic rotary positioner could be used in lieu of electrical servomotors for specific applications (e.g., where electromagnetic fields must be avoided), considering the influencing performance factors, but having a strong advantage in simplicity, ease of control, and safety in operation.

6. Patents

The work reported in this manuscript will be used for a patent application regarding a pneumatic rotary positioning device.

Supplementary Materials

The following supporting information can be downloaded at: https://www.mdpi.com/article/10.3390/act15040192/s1, Video S1: Ciupe et al. A Novel Type of Pneumatic Rotary Positioner Using Three-phase Pressure Commutation.

Author Contributions

Conceptualization, V.C.; methodology, V.C.; software, V.C. and R.K.; validation, V.C., R.K., and G.I.; formal analysis, V.C.; investigation, V.C.; resources, V.C. and R.K.; data curation, V.C. and G.I.; writing—original draft preparation, V.C.; writing—review and editing, V.C. and R.K.; visualization, V.C. and G.I.; supervision, V.C.; project administration, V.C.; funding acquisition, V.C. All authors have read and agreed to the published version of the manuscript.

Funding

This research received no external funding.

Institutional Review Board Statement

Not applicable.

Informed Consent Statement

Not applicable.

Data Availability Statement

Data are available upon request.

Acknowledgments

During the preparation of this manuscript/study, the authors used ChatGPT, v5.1 for the purposes of bibliography study, generating some parts of the programs, and formatting the recorded values files. The authors have reviewed and edited the output and take full responsibility for the content of this publication.

Conflicts of Interest

The authors declare no conflicts of interest.

Abbreviations

The following abbreviations are used in this manuscript:
CWClockwise
CCWCounterclockwise
FFFeedforward
PDProportional derivative
PLCProgrammable logic controller
TDCTop dead center
BDCBottom dead center

Appendix A

PD controller implementation pseudocode.
          LOOP EACH 10//[ms] (OB35, default setup)
     ////Wrap input angels (setpoint-omega and measured)
     setpointWrap = inputSetpoint − (TRUNC(inputSetpoint/360.0)) * 360.0
     IF setpointWrap < 0.0 THEN
          setpointWrap += 360.0
     END_IF
     measWrap = inputMeas − (TRUNC(inputMeas/360.0)) * 360.0
     IF measWrap < 0.0 THEN
          measWrap += 360.0
     END_IF
	  
     ////Init/reset logic
     IF NOT initialized THEN
          prevMeas = measWrap//these two for
          cmdAngle = measWrap//bumpless start
          shortestError = 0.0
          measRate = 0.0
          moveDir = 0.0
          dT = 0.01//[s], must match main loop dt (OB setup)
          U = 0.0
          initialized = TRUE
          RETURN
     END_IF
	  
     ////Circular difference and wrapping
     deltaMeas = measWrap − prevMeas
     IF deltaMeas > 180.0 THEN
          deltaMeas −= 360.0
     ELSIF deltaMeas <= −180.0 THEN
          deltaMeas += 360.0
     END_IF
      
     ////Get derivative on measurement
     IF dT > 0.0 THEN//always
          measRate = deltaMeas/dT
     ELSE
          measRate = 0.0//D switch-off
     END_IF
      
     ////Shortest-path error and wrapping
     shortestError = setpointWrap − measWrap
     IF shortestError > 180.0 THEN
          shortestError −= 360.0
     ELSIF shortestError <= −180.0 THEN
          shortestError += 360.0
     END_IF
      
     ////Controller deadband
     IF ABS(shortestError) < 0.3 THEN//watch for encoder reso
          shortestError = 0.0
     END_IF
      
     ////PD law (coeffs. given externally)
     U = (Kp * shortestError) − (Kd * measRate)
      
     ////Saturation/rate limits
     deltaCmd = U
     IF rateLimit > 0.0 THEN
          maxStep = rateLimit * Dt
          IF deltaCmd > maxStep THEN
               deltaCmd = maxStep
          ELSEIF deltaCmd < −maxStep THEN
               deltaCmd = −maxStep
          END_IF
     END_IF
      
     ////Update command and wrap
     cmdAngle += deltaCmd
     cmdAngle −= (TRUNC(cmdAngle/360.0)) * 360.0
     IF cmdAngle < 0.0 THEN
          cmdAngle += 360.0
     END_IF
      
     ////Update stored state
     prevMeas = measWrap
      
     ////Compute angles for pressure waves
     phi(1) = cmdAngle * pi/180.0 − pi/2.0//0 deg at C1 TDC
     phi(2) = phi(1) + 2 * pi/3.0
     phi(3) = phi(1) + 4 * pi/3.0
      
     ////FF value and sign logic
     ffPres = ctValue//ff pressure constant (can be recomputed)
     IF shortestError > 0.5 THEN//can go lower
          moveDir = 1.0
     ELSIF shortestError < −0.5 THEN//same here
          moveDir = −1.0
     ELSE
          moveDir = 0.0
          ffPres = 0.0
     END_IF
      
     ////Compute base pressure and apply FF
     FOR i = 1 TO 3 DO
          basePres(i) = (SIN(phi(i)) + 1.0) * 3.0//full swing over 6 bar
          IF (COS(phi(i)) * moveDir) >= 0.0 THEN
               deltaPres(i) = ffPres
          ELSE
               deltaPres(i) = −ffPres
          END_IF
          basePres(i) += deltaPres(i)
     NEXT
      
     ////Clamp pressure values and map to analog outs
     FOR i = 1 TO 3 DO//separate loop for clarity
          outPres(i) = CLAMP(basePres(i), 0.06, 6.0);//PPR datasheet
          IF enableOuts THEN//safety switch
               intOut(i) = MAP(outPres(i), 0.0, 6.0, 0, maxAnalog)//PLC
          ELSE
               intOut(i) = 0//no pressure, can be moved manually
          END_IF
     NEXT
END_LOOP
        

References

  1. Saravanakumar, D.; Mohan, B.; Muthuramalingam, T. Design and analysis of pneumatic rotary actuators. Appl. Mech. Mater. 2017, 852, 386–391. [Google Scholar]
  2. Cococi, V.N.; Safta, C.-A. Dynamic behavior of a pneumatic servomechanism with symmetric piston’s area cylinder versus asymmetric ones. UPB Sci. Bull. Ser. D 2024, 86, 182–191. [Google Scholar]
  3. Tokhi, M.O.; Reynolds, I.N.; Brisland, M. Real-time control of a radial piston air motor. IFAC Proc. Vol. 2002, 35, 349–354. [Google Scholar] [CrossRef]
  4. Grimaldi, K.; Najjaran, A.; Ma, Z.; Bao, H.; Roskilly, T. Dynamic modelling and experimental validation of a pneumatic radial piston motor. Energies 2023, 16, 1954. [Google Scholar] [CrossRef]
  5. Belforte, G.; Raparelli, T.; Trivella, A. Pneumatic servo systems: Modelling and control. Mechatronics 2004, 14, 859–879. [Google Scholar]
  6. Richer, E.; Hurmuzlu, Y. A high performance pneumatic force actuator system: Part I—Nonlinear mathematical model. J. Dyn. Syst. Meas. Control 2000, 122, 416–425. [Google Scholar] [CrossRef]
  7. Taghizadeh, M.; Ghaffari, A.; Najafi, F. Improving dynamic performance of pneumatic servo systems using sliding-mode control and nonlinear friction compensation. J. Dyn. Syst. Meas. Control 2009, 131, 021010. [Google Scholar]
  8. Shen, X.; Goldfarb, M.; Barth, E.J. Modeling and control of a pneumatic actuator with fast on/off valves. IEEE Trans. Control Syst. Technol. 2006, 14, 735–747. [Google Scholar]
  9. Gyeviki, J. Improving Positioning Accuracy of Servopneumatic Systems with DSP-Based Sliding-Mode Control. Ph.D. Thesis, University of Debrecen, Debrecen, Hungary, 2007. [Google Scholar]
  10. Wang, J.; Pu, J.; Moore, P. A practical control strategy for servo-pneumatic actuator systems. Control Eng. Pract. 1999, 7, 1483–1488. [Google Scholar] [CrossRef]
  11. Zhang, Y.; Li, K.; Wei, S.; Wang, G. Pneumatic rotary actuator position servo system based on ADE-PD control. Appl. Sci. 2018, 8, 406. [Google Scholar] [CrossRef]
  12. Li, K.; Zhang, Y.; Wei, S.; Yue, H. Evolutionary algorithm-based friction feedforward compensation for a pneumatic rotary actuator servo system. Appl. Sci. 2018, 8, 1623. [Google Scholar] [CrossRef]
  13. Yin, X.; Zhang, Z.; Wang, Y. The servo system drive and control of pneumatic actuator. In Proceedings of the IOP Conference Series: Earth and Environmental Science, Singapore, 21–23 June 2019; Volume 252, p. 032002. [Google Scholar] [CrossRef]
  14. Tokhi, M.O.; Reynolds, I.N. Modelling and performance analysis of pneumatic motors. Proc. Inst. Mech. Eng. Part I 1997, 211, 237–248. [Google Scholar]
  15. Dämmer, G.; Bauer, H.; Lackner, M.; Neumann, R.; Hildebrandt, A.; Major, Z. Design and additive manufacturing of a continuous servo pneumatic actuator. Micromachines 2023, 14, 1622. [Google Scholar] [CrossRef] [PubMed]
  16. Rouzbeh, B.; Bone, G.M.; Ashby, G. High-accuracy position control of a rotary pneumatic actuator. IEEE/ASME Trans. Mechatron. 2018, 23, 2774–2786. [Google Scholar] [CrossRef]
  17. Yang, W.-T.; Kürkçü, B.; Tomizuka, M. Underactuated Control of Multiple Soft Pneumatic Actuators via Stable Inversion. IEEE/ASME Trans. Mechatron. 2025, 30, 5952–5963. [Google Scholar] [CrossRef]
  18. Doğru, A.; Kaçak, M.; Seydibeyoğlu, M.Ö. Examination of mechanical properties of fasteners produced with PET and PLA materials in extrusion-based additive manufacturing method. Int. J. 3D Print. Technol. Dig. Ind. 2024, 8, 407–415. [Google Scholar] [CrossRef]
  19. Rohmer, E.; Singh, S.P.N.; Freese, M. CoppeliaSim (formerly V-REP): A Versatile and Scalable Robot Simulation Framework. In Proceedings of the IEEE/RSJ International Conference on Intelligent Robots and Systems, Tokyo, Japan, 3–7 November 2013; Available online: https://www.coppeliarobotics.com (accessed on 30 January 2026).
Figure 1. Pneumatic positioner principal diagram.
Figure 1. Pneumatic positioner principal diagram.
Actuators 15 00192 g001
Figure 2. Pneumatic positioner base mechanism, with ω being the setpoint angle.
Figure 2. Pneumatic positioner base mechanism, with ω being the setpoint angle.
Actuators 15 00192 g002
Figure 3. Three-phase pressure waveforms numerically generated.
Figure 3. Three-phase pressure waveforms numerically generated.
Actuators 15 00192 g003
Figure 4. Torque ripple for two different r/L ratios (7.1 and 2).
Figure 4. Torque ripple for two different r/L ratios (7.1 and 2).
Actuators 15 00192 g004
Figure 5. Electro-pneumatic schematic of the positioner.
Figure 5. Electro-pneumatic schematic of the positioner.
Actuators 15 00192 g005
Figure 6. Positioner actual mechanism configuration, with ω being the setpoint angle.
Figure 6. Positioner actual mechanism configuration, with ω being the setpoint angle.
Actuators 15 00192 g006
Figure 7. 3D model of the positioner (a) and photograph of the prototype (b).
Figure 7. 3D model of the positioner (a) and photograph of the prototype (b).
Actuators 15 00192 g007
Figure 8. Screen capture during simulation, with the UI for parameter settings and positioning results displayed graphically and in the console.
Figure 8. Screen capture during simulation, with the UI for parameter settings and positioning results displayed graphically and in the console.
Actuators 15 00192 g008
Figure 9. Principal diagram of the experimental setup.
Figure 9. Principal diagram of the experimental setup.
Actuators 15 00192 g009
Figure 10. One-hundred and twenty degrees CW and CCW tracking, direct positioning.
Figure 10. One-hundred and twenty degrees CW and CCW tracking, direct positioning.
Actuators 15 00192 g010
Figure 11. Ninety degrees CW and CCW tracking, direct positioning.
Figure 11. Ninety degrees CW and CCW tracking, direct positioning.
Actuators 15 00192 g011
Figure 12. Sixty degrees CW and CCW tracking, direct positioning.
Figure 12. Sixty degrees CW and CCW tracking, direct positioning.
Actuators 15 00192 g012
Figure 13. Thirty degrees CW and CCW tracking, direct positioning.
Figure 13. Thirty degrees CW and CCW tracking, direct positioning.
Actuators 15 00192 g013
Figure 14. Ten degrees CW and CCW tracking, direct positioning.
Figure 14. Ten degrees CW and CCW tracking, direct positioning.
Actuators 15 00192 g014
Figure 15. One-hundred and twenty degrees CW and CCW tracking with fixed feedforward.
Figure 15. One-hundred and twenty degrees CW and CCW tracking with fixed feedforward.
Actuators 15 00192 g015
Figure 16. Ninety degrees CW and CCW tracking with fixed feedforward.
Figure 16. Ninety degrees CW and CCW tracking with fixed feedforward.
Actuators 15 00192 g016
Figure 17. Sixty degrees CW and CCW tracking with fixed feedforward.
Figure 17. Sixty degrees CW and CCW tracking with fixed feedforward.
Actuators 15 00192 g017
Figure 18. Thirty degrees CW and CCW tracking with fixed feedforward.
Figure 18. Thirty degrees CW and CCW tracking with fixed feedforward.
Actuators 15 00192 g018
Figure 19. Ten degrees CW and CCW tracking with fixed feedforward.
Figure 19. Ten degrees CW and CCW tracking with fixed feedforward.
Actuators 15 00192 g019
Figure 20. One-hundred and twenty degrees CW and CCW tracking with a PD position controller.
Figure 20. One-hundred and twenty degrees CW and CCW tracking with a PD position controller.
Actuators 15 00192 g020
Figure 21. Ninety degrees CW and CCW tracking with a PD position controller.
Figure 21. Ninety degrees CW and CCW tracking with a PD position controller.
Actuators 15 00192 g021
Figure 22. Sixty degrees CW and CCW tracking with a PD position controller.
Figure 22. Sixty degrees CW and CCW tracking with a PD position controller.
Actuators 15 00192 g022
Figure 23. Thirty degrees CW and CCW tracking with a PD position controller.
Figure 23. Thirty degrees CW and CCW tracking with a PD position controller.
Actuators 15 00192 g023
Figure 24. Ten degrees CW and CCW tracking with a PD position controller.
Figure 24. Ten degrees CW and CCW tracking with a PD position controller.
Actuators 15 00192 g024
Table 1. Positioning performance overview.
Table 1. Positioning performance overview.
Angle StepAngular Error [deg]Positioning Time [s]Repeatability [deg]
[deg]no FFfixed FFPDno FFfixed FFPDno FFfixed FFPD
120 CW−16.43−3.02−0.180.220.21.150.180.340.06
90 CW−17.42−2.59−0.220.210.220.830.370.30.15
60 CW−16.51−1.45−0.150.150.160.830.590.360.33
30 CW−16.93−1.66−0.240.120.120.630.340.50.23
10 CW−16.91−1.42−0.270.060.080.510.550.440.15
Average−16.84−2.03−0.210.150.160.790.410.390.18
120 CCW2.87−1.420.170.220.21.180.350.740.1
90 CCW4.05−0.520.210.220.210.840.320.50.12
60 CCW3.55−2.030.240.160.150.840.410.480.24
30 CCW2.89−2.060.20.110.110.650.40.560.14
10 CCW2.75−2.410.290.070.070.520.490.610.15
Average3.22−1.690.220.160.150.810.390.580.15
A note regarding Table 1: for the angular error [deg] columns, a negative sign during CW motion means that the device is lagging behind the commanded angle. For the CCW motion, a positive sign for table values means lagging, and a negative sign means that the positioner is overshooting the commanded angle.
Disclaimer/Publisher’s Note: The statements, opinions and data contained in all publications are solely those of the individual author(s) and contributor(s) and not of MDPI and/or the editor(s). MDPI and/or the editor(s) disclaim responsibility for any injury to people or property resulting from any ideas, methods, instructions or products referred to in the content.

Share and Cite

MDPI and ACS Style

Ciupe, V.; Kristof, R.; Ismael, G. A Novel Type of Pneumatic Rotary Positioner Using Three-Phase Pressure Commutation. Actuators 2026, 15, 192. https://doi.org/10.3390/act15040192

AMA Style

Ciupe V, Kristof R, Ismael G. A Novel Type of Pneumatic Rotary Positioner Using Three-Phase Pressure Commutation. Actuators. 2026; 15(4):192. https://doi.org/10.3390/act15040192

Chicago/Turabian Style

Ciupe, Valentin, Robert Kristof, and Ghadeer Ismael. 2026. "A Novel Type of Pneumatic Rotary Positioner Using Three-Phase Pressure Commutation" Actuators 15, no. 4: 192. https://doi.org/10.3390/act15040192

APA Style

Ciupe, V., Kristof, R., & Ismael, G. (2026). A Novel Type of Pneumatic Rotary Positioner Using Three-Phase Pressure Commutation. Actuators, 15(4), 192. https://doi.org/10.3390/act15040192

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