A Novel Type of Pneumatic Rotary Positioner Using Three-Phase Pressure Commutation
Abstract
1. Introduction
2. Materials and Methods
2.1. Pneumatic Rotary Positioner Concept
2.2. Pressure and Torque Generation
2.3. Pneumatic Positioner Control
2.3.1. Direct Pressure Application
2.3.2. Pressure with Feedforward Compensation
2.3.3. PD Closed-Loop Control
2.4. Pneumatic Positioner Technical Implementation
2.5. Pneumatic Positioner Functional Simulation
2.6. Experimental Setup
- -
- 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.
3. Results
3.1. Open-Loop Absolute Positioning Testing, Direct Positioning, No Feedforward
3.2. Open-Loop Absolute Positioning Testing, with Fixed Feedforward
3.3. Closed-Loop Absolute Positioning Testing with PD Controller
3.4. Positioning Performance Overview
- -
- 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
4.1. Angle Tracking
4.2. Positioning Time
4.3. Repeatability
4.4. Performance Comparisons with Other Pneumatic Rotary Actuators
4.5. Future Research
- -
- 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.
5. Conclusions
6. Patents
Supplementary Materials
Author Contributions
Funding
Institutional Review Board Statement
Informed Consent Statement
Data Availability Statement
Acknowledgments
Conflicts of Interest
Abbreviations
| CW | Clockwise |
| CCW | Counterclockwise |
| FF | Feedforward |
| PD | Proportional derivative |
| PLC | Programmable logic controller |
| TDC | Top dead center |
| BDC | Bottom dead center |
Appendix A
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
- Saravanakumar, D.; Mohan, B.; Muthuramalingam, T. Design and analysis of pneumatic rotary actuators. Appl. Mech. Mater. 2017, 852, 386–391. [Google Scholar]
- 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]
- 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]
- 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]
- Belforte, G.; Raparelli, T.; Trivella, A. Pneumatic servo systems: Modelling and control. Mechatronics 2004, 14, 859–879. [Google Scholar]
- 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]
- 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]
- 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]
- 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]
- 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]
- 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]
- 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]
- 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]
- 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]
- 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]
- 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]
- 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]
- 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]
- 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).
























| Angle Step | Angular Error [deg] | Positioning Time [s] | Repeatability [deg] | ||||||
|---|---|---|---|---|---|---|---|---|---|
| [deg] | no FF | fixed FF | PD | no FF | fixed FF | PD | no FF | fixed FF | PD |
| 120 CW | −16.43 | −3.02 | −0.18 | 0.22 | 0.2 | 1.15 | 0.18 | 0.34 | 0.06 |
| 90 CW | −17.42 | −2.59 | −0.22 | 0.21 | 0.22 | 0.83 | 0.37 | 0.3 | 0.15 |
| 60 CW | −16.51 | −1.45 | −0.15 | 0.15 | 0.16 | 0.83 | 0.59 | 0.36 | 0.33 |
| 30 CW | −16.93 | −1.66 | −0.24 | 0.12 | 0.12 | 0.63 | 0.34 | 0.5 | 0.23 |
| 10 CW | −16.91 | −1.42 | −0.27 | 0.06 | 0.08 | 0.51 | 0.55 | 0.44 | 0.15 |
| Average | −16.84 | −2.03 | −0.21 | 0.15 | 0.16 | 0.79 | 0.41 | 0.39 | 0.18 |
| 120 CCW | 2.87 | −1.42 | 0.17 | 0.22 | 0.2 | 1.18 | 0.35 | 0.74 | 0.1 |
| 90 CCW | 4.05 | −0.52 | 0.21 | 0.22 | 0.21 | 0.84 | 0.32 | 0.5 | 0.12 |
| 60 CCW | 3.55 | −2.03 | 0.24 | 0.16 | 0.15 | 0.84 | 0.41 | 0.48 | 0.24 |
| 30 CCW | 2.89 | −2.06 | 0.2 | 0.11 | 0.11 | 0.65 | 0.4 | 0.56 | 0.14 |
| 10 CCW | 2.75 | −2.41 | 0.29 | 0.07 | 0.07 | 0.52 | 0.49 | 0.61 | 0.15 |
| Average | 3.22 | −1.69 | 0.22 | 0.16 | 0.15 | 0.81 | 0.39 | 0.58 | 0.15 |
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. |
© 2026 by the authors. Licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution (CC BY) license.
Share and Cite
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
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 StyleCiupe, 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 StyleCiupe, 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

