Next Article in Journal
Dynamic Dose-Based Emergency Evacuation Model for Enhancing Nuclear Power Plant Emergency Response Strategies
Previous Article in Journal
Optimization Design and Comparative Analysis of Enhanced Heat Transfer and Anti-Vibration Performance of Twisted-Elliptic-Tube Heat Exchanger: A Case Study
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

A Nonlinear Controller for Point-to-Point Position Control

Department of Electrical Engineering and Mechatronics, Faculty of Electrical Engineering and Informatics, Technical University of Košice, Letná 9, 042 00 Košice, Slovakia
*
Author to whom correspondence should be addressed.
Energies 2023, 16(17), 6339; https://doi.org/10.3390/en16176339
Submission received: 26 July 2023 / Revised: 24 August 2023 / Accepted: 28 August 2023 / Published: 31 August 2023

Abstract

:
Position control algorithms can be classified into two groups: point-to-point control and continuous path control. For point-to-point control implemented in programmable logic controllers, the speed setpoint is mostly the only setpoint transmitted to the industrial converter. Incorrect settings of the position controller in PLC may lead to position overshoot or oscillations, which are unacceptable in position control applications. The speed control structure in the industrial converter usually has a fixed structure which does not allow the implementation of advanced speed controller. Moreover, standard library blocks for position control encounter difficulties in diagnostics and tuning. To address these limitations, this paper proposes a novel solution for position control that achieves time-optimal speed trajectory during acceleration and enhanced capabilities during deceleration. The proposed controller was verified by simulations of positioning of zinc ingot feeder unit drive and compared with a standard P-controller. Experimental results confirmed the performance of the proposed controller with the industrial application of a feeder unit.

1. Introduction

The industrial utilization of electric drives involves the implementation of three basic control loops: torque control loop, speed loop, and position loop. These loops are connected in a cascade control structure and the output of the outer loop is the input to the inner control loop [1]. In position control, the position setpoint is primarily specified by a trajectory created by a ramp function generator (RFG) or a trajectory planner (TP), or in the most simple case, by a step change of the setpoint. Based on this, two major categories of position control algorithms emerge: point-to-point (PTP) control and continuous path (CP) control.
In PTP control, a trajectory is planned from one predefined point to another point. The speed and acceleration of the motor are typically optimized to achieve fast and accurate movement. The PTP control is typically used in applications where the driven mechanism needs to move from one specific point to another with high accuracy and repeatability, such as in pick-and-place operations [2], assembly lines [3], hydraulic presses [4] or medical devices [5]. In CP control, the system moves continuously along a path, such as a curve or a contour. The speed and acceleration of the motor can vary continuously along the path to achieve smooth motion. The CP control is typically used in applications, where the motor driven mechanism needs to follow a continuous path, such as in 3D laser cutting [6], milling machines [7] or trajectory tracking [8].
The practical implementation of the industrial drive control usually employs the industrial power converter with the motor control algorithms and the upper level control, which is very often provided by a programmable logic controller (PLC). Therefore, according to the selected devices and topology, two different implementations of position controller are found:
  • the position controller is implemented in the same device as the inner speed controller, e.g., [9,10],
  • the position controller and speed controller are implemented in two different devices, e.g., [11,12].
For low-demanding position controlled industrial drives the latter solution with the PTP control algorithm is preferred. Then, the position controller is in most cases implemented in PLC that generate the speed setpoint and dynamic torque feedforward. In the most simple case, only the speed setpoint is generated and transmitted via communication bus to the industrial converter, where the speed and torque control loop are executed.
The P, PI or PID position controller with PI speed controller connected in a cascade structure are employed for industrial PTP control [13,14]. The design of position controller mainly relies on good system knowledge and identification or estimation of mechanical parameters and, regularly, parameters of the position controller are obtained by trial-and-error [15]. Many different PTP position control strategies have emerged in literature during last years, such as data-driven position control based on neural networks [16], mode switching control with robust composite nonlinear feedback [17], adaptive linear active disturbance rejection controller [18] or extended state observer [19]. These algorithms will show exceptional positioning performance but requires skilled professionals or knowledge of exact model and its parameters [20]. However, if other engineers need to design the controller, it is troublesome task to obtain exact model of the system and its parameters [21].
Although various control algorithms have been developed, application engineers are fond of using library functions, provided by the manufacturer, as developing or implementing new algorithms is time consuming. Therefore, in recent years, the concept of technological objects has been introduced [22]. A technological object is a defined axis to which a specific drive is connected. Industrial companies offer a library of instructions called Motion Control [23] or PLCopen function blocks [24], which contains blocks for the development of technological objects. The application with position controller requires the positioning axis to be defined and the absolute or relative motion control function (MC_Move_Absolute, MC_Move_Relative) linked to it. The configuration of the axis itself is intuitive, but the application also requires the preparation of the auxiliary control software.
However, there are two problems connected with the use of library function blocks. The first one is diagnostics. The function blocks are provided as a black-box system without any description of the internal structure. Only interfaces to other blocks and the list of error messages with a detailed solution proposal are available. From this point of view, the commissioning of applications with these blocks requires additional engineering time what is not desired.
The second problem is that industrial control systems offer various types of controllers with self-tuning options and predefined parameters. However, in the case of systems with variable parameters, these pre-defined solutions do not provide a satisfactory dynamic response and are complicated to adjust controller parameters. Therefore, custom-made solutions for position control, like the one proposed in this paper, are often preferred in industrial companies.
Note that in most industrial converters, the structure for the speed controller is fixed and only very small changes to the speed control structure are allowed. The friction torque compensation and dynamic torque feedforward are the most common. Position control is especially challenging if the drive is operated at low speeds. Moreover, the nonlinear nature of friction effects, especially stiction, causes frequent starting and stopping which result in delays in motion and imprecise positioning. The control systems need to be well-tuned to ensure accurate positioning. Poorly tuned control systems can result in overshooting, oscillations, or steady-state errors, leading to inaccuracies in the final position.
This paper presents a novel solution for PTP position control. The main contributions of the paper in both theoretical and practical aspects can be highlighted as:
(a)
A novel position controller that utilizes nonlinear speed functions has been proposed. This controller demonstrates reduced susceptibility to actual position overshoot compared to the conventional P-position controller.
(b)
The proposed position controller has additional features that enable low-speed positioning with a predefined speed, as well as adjustable fine positioning with a predefined curvature of deceleration speed.
(c)
A mathematical model for the traverse drive of a zinc ingot feeder unit (ZIFU) has been derived and utilized as a case study to test the proposed position controller.
(d)
The proposed controller has been experimentally verified on an industrial drive for precise positioning of ZIFU. The algorithm has been implemented and executed in conventional PLC, demonstrating the low computational power requirements.
The paper is organized as follows. The synthesis of a standard P-controller for position control is presented and discussed in Section 2. The novel position controller based on nonlinear speed functions is presented in Section 3. The dynamic model of a traverse drive for a zinc ingot feeder unit (ZIFU) is derived in Section 4. This model provides a basis for comparison of both controllers from previous sections. Simulation results showing properties and comparison of both controllers are in Section 5 and experimental results with real industrial drive and feeder unit are shown in Section 6. Finally, concluding remarks are given in Section 7.

2. Design of Standard P-Position Controller

The structure of speed control in commercial industrial controllers is typically fixed and offers limited possibilities for modification. Users are often permitted to employ only basic adjustments such as filtering actual values or setpoints, utilizing or bypassing the RFG, set up interpolation, or feedforward for speed and torque setpoints. Unfortunately, implementation of a state-space controller instead of a standard controller in industrial drives is not feasible due to safety considerations. As a result, users are restricted to utilizing standard controller types, such as P, PI, or PID. This section presents an approach to design of a speed controller and a P-type position controller that align with the capabilities of most industrial drives, making it a practical option for implementation.

2.1. Design of PI Speed Controller

The simplified speed control loop of any electrical drive can be described by a scheme in Figure 1, where a speed setpoint filter and torque feedforward are employed. The purpose of the speed setpoint filter is to smooth out any abrupt changes that come from the output of the RFG or to filter the high-frequency noise that could be introduced by the high-gain position controller. The purpose of dynamic torque feedforward is to improve the transient response and accuracy of the system by predicting the dynamic torque during acceleration and deceleration. Load torque is in most cases unknown, but the inertia of the mechanical system to be controlled is usually available. Therefore, the calculated dynamic torque can be provided in advance. Employing feedforward reduces the need for the control system to rely solely on feedback control, which can be slow and lead to overshoot or oscillations.
A simple and frequently used approach for the design of speed PI controller is to apply symmetrical optimum criterion [25]. Using this approach, the controller offers fast rejection of unknown disturbance, i.e., load torque. The scheme in Figure 1 contains time constants:
  • τ t l —a time constant that includes a delay of total lumped dynamics of torque control loop, including both current controller and frequency converter dynamics,
  • τ a c t —a time constant of a low-pass filter (LPF) for filtering of actual speed,
  • τ f f —a time constant of a LPF for filtering of acceleration torque,
  • τ r e f —a time constant for filtering of a speed setpoint.
  • T n ω and K p ω are the PI controller parameters to be calculated.
For the most simple case, without feedforward and setpoint filtering, the PI controller is designed as follows. A substitute time constant τ = τ a c t + τ t l is compared with mechanical time constant τ m e c h , or also known as open-loop rise time [26], which is calculated from the inertia. If τ < τ m e c h , then, according to symmetrical optimum criterion, parameters of the PI controller can be calculated as:
T n ω = 4 τ , K p ω = J 2 τ .
It is worth noting that the mechanical time constant is proportional to the total drive inertia as follows:
τ m e c h = J ω N T N ,
where ω N and T N are nominal angular speed and torque of the drive, respectively. Design of PI controller based on (1) leads to system closed-loop transfer function (CLTF):
G w ( s ) = ω a c t ( s ) ω r e f ( s ) = 1 + 4 τ s 1 + 4 τ s + 8 τ 2 s 2 + 8 τ 3 s 3 ,
and gives the overshoot of 143% and the settling time of 16.5 τ .
If a speed setpoint is filtered, the zero that appears in the numerator of (3) can be canceled. This can be achieved by selecting τ r e f = 4 τ , what reduces the overshoot but increases the settling time. The following applies for the last two terms of denominator (3):
τ 2 τ 3 .
Therefore, by neglecting the highest term in denominator and cancelling the zero in nominator, the 3rd order system given by (3) can be approximated as follows:
G w ( s ) 1 1 + 4 τ s + 8 τ 2 s 2 ,
A system given by (5) has damping d ω and natural frequency ω 0 ω given as:
ω 0 ω = 1 8 τ , d ω = 0.707 .
Finally, based on values calculated in (6), an approximate bandwidth of the speed control loop B W ω is:
B W ω = ω 0 ω 1 2 d ω 2 + 2 4 d ω 2 + 4 d ω 4 .
The value of B W ω will be used for a design of outer position controller in the next subsection.
The speed control is further improved by feed-forwarding of the acceleration torque. In fact, there are two possibilities. If the superimposed control structure gives values of reference speed ω r e f and angular acceleration ϵ r e f by integration of a jerk value, the filter in the feedforward path is not needed [27]. This is the case with CP controllers. However, for simple position drives with PTP control, the information about jerk is not available and the acceleration must be calculated by the differentiation of speed reference which introduces some noise to the system. Therefore, filtering of feedforward torque will be necessary.

2.2. Design of P-Type Position Controller

The bandwidth of the simplified second-order speed control loop B W ω is given by (7). Within the bandwidth of such a designed speed controller, the second-order speed control loop can be approximated as the first-order low-pass filter whose cut-off frequency is the bandwidth of the speed control loop [13]. This enables a simple design of the position controller, based on the block scheme in Figure 2. The CLTF of scheme in Figure 2 is:
G φ ( s ) = φ a c t ( s ) φ r e f ( s ) = K p τ B W ω s 2 + 1 τ B W ω s + K p τ B W ω ,
where the time constant τ B W ω = 1 B W ω what was calculated in previous subsection. Finally, the gain K p of the position controller can be calculated as:
ω 0 = 1 2 d τ B W ω , K p = ω 0 2 τ B W ω .
where d is a selected damping coefficient of a position controller. The overall transfer function has the form of a second-order low-pass filter. In cascaded servo control loops, a general conservative rule is for the speed control loop to have a bandwidth that is 10 to 15 times higher than that of the position loop [13]. Therefore, a damping coefficient d > 1 is usually chosen to prevent overshooting of the actual position. It is important to note that the position controller discussed in this section is only suitable for linear mode operation without saturation of speed or torque. If either of these values is saturated, the drive will not be in linear mode, and overshooting of the position may occur. To achieve the desired actual position response without overshooting, the gain of the position controller needs to be adjusted, typically by trial and error. This involves increasing the value of damping, d, and decreasing the value of K p until the desired actual position response is achieved.

2.3. Ramp Function Generator

When changing the position setpoint in PTP position control, a significant initial speed deviation occurs, resulting in high drive acceleration. However, the maximum allowable acceleration of the drive is limited by the dynamic torque and bounded by the saturation of the torque reference value. There is a risk that the acceleration calculated by the position controller will exceed the drive’s capabilities for acceleration or deceleration, which is further compounded by the prescribed maximum acceleration due to safety concerns or mechanical limitations. Both of these issues can be addressed by employing an RFG directly at the output of the position controller. By integrating the RFG into PTP position control, the drive accelerates at a predetermined rate until it reaches the requested or maximum speed. This same behavior applies during deceleration. If the position controller calculates a lower value of acceleration, the RFG adjusts accordingly. Therefore, RFG is an essential part of any position controller. The RFG’s simplified algorithm can be described as follows:
If ω r e q > ω o u t then ω o u t = ω o u t + a a c c · T s else if | ω o u t ω r e q | < a a c c · T s then ω o u t = ω r e q else if ω r e q < ω o u t then ω o u t = ω o u t a d e c · T s else ω o u t = ω r e q If ω o u t > ω m a x P o s then ω o u t = ω m a x P o s If ω o u t < ω m a x N e g then ω o u t = ω m a x N e g ,
where ω r e q is the requested speed from the position controller, a a c c and a d e c are the maximal acceleration and deceleration, T s is the sampling time of position control loop, ω m a x P o s and ω m a x N e g are the speed limits and, finally, ω o u t is the output of the RFG, acting as a setpoint for inner speed control loop.

3. Design of Novel Position Controller

In most industrial applications, a movement is typically constrained by a predefined acceleration (or deceleration) value a and a maximum speed of v m a x , which are determined by technological constraints or customer requirements. However, control of the deceleration process can be challenging, particularly when dealing with complex systems that have multiple motors, interconnected components, or exhibit high stiction or backlash. Poor control can result in uneven deceleration, excessive stress on components, or other issues. To address this, a new nonlinear position controller has been developed that focuses specifically on the deceleration phase. The proposed controller provides additional degrees of freedom that enable low-speed positioning and smooth positioning at the end of the movement, while also offering simple tuning. The main concept behind the proposed controller is to utilize RFG for the acceleration phase and constant velocity phase, but, at the appropriate time instant, a proposed controller retakes the role of RFG and provides new suboptimal speed setpoints. A design of a novel controller is provided in linear motion quantities to be consistent with the case study in Section 4, but it is also valid for rotational quantities.
If x r e f is the position setpoint (m), x a c t is the actual position (m) and with deceleration a d e c (m/s 2 ), uniformly decelerated motion is described with following equation for position:
x r e f = x a c t + 1 2 a d e c t d e c 2 .
The time needed for deceleration t d e c can be calculated from the speed reference v r e f and the deceleration a d e c as:
t d e c = v r e f a d e c .
Following expression is obtained by inserting (11) into (10):
v r e f = 2 a d e c ( x r e f x a c t ) = 2 a d e c Δ x ,
where Δ x = x r e f x a c t can be considered as control error. However, Equation (12) is only valid for a positive direction. Therefore, an extension of this equation for both direction must be done using the absolute value of control error as follows:
v 1 r e f = sign ( Δ x ) 2 a d e c | Δ x | .
The fundamental feature of the proposed controller is presented in Equation (13), which calculates the speed setpoint with constant acceleration based on a given position error Δ x . It is essential to note that this design offers time-optimal transients and is only applicable for a controller with a constant acceleration value.

3.1. Controller Extension for User-Selected Low Speed Positioning

In many applications, a predefined slow speed v s l o w (m/s) is desired in the second stage of the movement due to safety or various technological reasons. In the practical application, it is convenient to define the low-speed region as the distance x s l o w (m) from the final requested position. Both values are selected by the user and depend on a specific drive application.
To decelerate the drive in the requested area, the original position setpoint can be adjusted by a specified distance, and once the desired low speed of v s l o w is reached, the controller should maintain that low speed until the original controller specified by Equation (12) takes over control of the drive. The second controller to achieve the low speed can be described as:
v 2 r e f = sign ( Δ x ) 2 a d e c ( | Δ x | x r e f s l o w ) if r e s u l t v s l o w v s l o w otherwise ,
where x r e f s l o w is the position shift, which is calculated from the requested low-speed distance x s l o w and acceleration to find the starting point of deceleration. The aim is to achieve the slow speed v s l o w exactly at the distance x s l o w . Therefore, the x r e f s l o w is defined as:
x r e f s l o w = x s l o w 1 2 a d e c t d 2 ,
where t d is a time for deceleration from v s l o w to zero speed:
t d = v s l o w a d e c .
The example is shown in Figure 3. Using the Formula (16), the equation for position shift (15) can be further rewritten as:
x r e f s l o w = x s l o w v s l o w 2 2 a d e c .
Equation (14) is an expansion of the proposed controller and it enables positioning with low speed at a predefined distance from the reference setpoint. It can be considered as an additional degree of freedom for the proposed controller. Note that selecting x s l o w = 0 and v s l o w = 0 gives v 1 r e f = v 2 r e f and low speed positioning will be disabled.

3.2. Controller Extension for a Fine Positioning

In close proximity to the reference setpoint at x a , it is preferable to utilize lower deceleration to complete positioning, rather than relying solely on the controller specified by (12). This lower deceleration in the final phase of movement ensures accurate positioning without the potential for position overshoot that may occur using only the controller in (12).The problem is formulated as finding a function f ( Δ x , x a ) that satisfies the following conditions:
2 a d e c Δ x < f ( Δ x , x a ) 2 a d e c Δ x for Δ x > x a , 2 a d e c Δ x > f ( Δ x , x a ) 2 a d e c Δ x for Δ x < x a .
The function that satisfies these inequalities is:
f ( Δ x , x a ) = Δ x x a p ,
where p is a selectable coefficient that affects the shape of the speed setpoint trajectory. To preserve the decelerating movement, this parameter must be p < 1 . Thus, another modification of controllers (12) is found as:
v 3 r e f = sign ( Δ x ) 2 a d e c | Δ x | | Δ x | x a p .
The value of x a is located in close proximity to the reference position of x r e f , and its value is dependent on the system’s allowed torque during deceleration and its inertia.

3.3. A Cooperation of Controllers

The final speed reference for the inner speed controller is calculated as a minimum value of all controllers (12), (14), (20) and a ramp function generator (RFG) output v R F G :
v r e f = m i n ( v 1 r e f , v 2 r e f , v 3 r e f , v R F G ) .
The control structure with described controllers and RFG is shown in Figure 4. The control sequence can be summarized as follows:
1.
Initially, when Δ x is large, all three controllers are limited by RFG, causing the drive to accelerate with a defined acceleration, if drive reaches v m a x , this maximum speed is maintained.
2.
Shortly before drive reaches the distance x s l o w from the final position setpoint, the controller v 2 r e f takes over and the drive begins to decelerate to the speed v s l o w which is reached exactly at x s l o w .
3.
Once the drive reaches the desired low speed v s l o w , it is maintained until controller v 1 r e f takes control.
4.
As the drive approaches the final position, when in distance x a from the final position, the controller v 3 r e f takes over until the final position is reached.
If low-speed positioning is not needed, the position controller will start with setpoint v 1 r e f to provide coarse positioning, and then switch to setpoint v 3 r e f for fine positioning.

4. A Case Study: Traverse Drive of Zinc Ingot Feeder Unit

Features of the proposed position controller were tested in a case study described in this section. The controller was used for the position control of a traverse drive of a zinc ingot feeder unit (ZIFU) shown in Figure 5 with the parameters of its traverse drive in Table 1. The ZIFU is a part of the galvanic strip processing line. It is a device, which slowly inserts zinc ingots into a zinc bath. It consists of a cart on which a sinking device is located.
The cart is equipped with a lifting mechanism for tilting the sinking device and it represents a traverse drive placed on the rails that moves between two different positions. The distance is measured by a laser measuring system. The cart moves either empty or loaded by ingots with weight varying from 1000 kg to 1700 kg. During feeding of the ingot into the zinc bath, the ingot is melted. Therefore, the total inertia of the ZIFU significantly changes during its operation. Moreover, the center of gravity of the ZIFU is located higher than the drive so the system is prone to overshoot in the desired position.
The ZIFU is driven by industrial power converters by SIEMENS with the SIMATIC S7-1500F safety PLC as the main control system. The cycle time of motor control loops is 20 ms.
The mathematical model of ZIFU’s traverse drive will be given below. Total inertia on the motor side can be expressed as:
J = J m + J a x + J L r e f l c ,
where J m is a motor inertia, J a x is an axle inertia and J L r e f l c is inertia of a cart mass including a mass of ingot, reflected to the motor side. The value of the loaded cart J L m a x , reflected to the cart side, can be approximately calculated as follows:
J L m a x = m m a x r 2 = ( m c a + m i n g ) r 2 .
The inertia of loaded cart, reflected to the motor side is calculated as:
J L r e f l c = J L m a x N g b x 2 = m m a x r 2 N g b x 2 .
A mechanical equation for the motor of the traverse drive is:
T e T s t s g n ( ω ) T L r e f l c = J d ω d t ,
where a T s t is a static friction torque and T L r e f l c is reflected load torque calculated from the total load torque T L using the wheel radius r and the force on the wheel circumference F r r :
T L r e f l c = T L μ N g b x = r F r r μ N g b x = c r m g r μ N g b x .
Finally, a dynamic model of the traverse drive for ZIFU:
d ω d t = 1 J m + J a x + J L r e f l c μ T e T s t s g n ( ω ) c r m g r μ N g b x ,
d φ d t = ω .
Equation (28) can be transformed for the linear movement as follows:
d x d t = v = r N g b x ω ,
where x is a linear position of the traverse drive (m) and v is actual velocity (m/s).

5. Simulation Results

5.1. Simulation Results for Proposed Position Controller

Simulation results in Figure 6 show the behavior of the proposed controller for different low speed positioning parameters. The setpoint position was selected to change from 0 m to 2 m and common settings were set to a = 0.3 m/s 2 , p = 0.5 , and x a = 0.005 m. In the top row, where the x s l o w was set to zero, it can be seen that drive does not operate with any slow speed values. In the middle row of the figure, the situation for x s l o w = 0.5 m is shown. It can be seen that at the time t = 2.7 s the drive starts to decelerate until the time t = 4.9 s, when the difference between actual and reference position is equal to x s l o w and the drive is operating with slow speed v s l o w = 0.2 m/s. A similar situation is in the bottom row of the figure, but in a slow-speed region, the drive operates with settings x s l o w = 0.1 m and v s l o w = 0.1 m/s. Deceleration starts at t = 3.2 s until the time t = 4.5 s and then the drive continues in operation with new slow speed settings. Thus, the final positioning period is extended.
Simulation results in Figure 7 show the behavior of the controller in the final positioning for different values of x a . The common settings were set to: x r e f = 0.5 m, a = 0.2 m/s 2 , p = 0.9 , and x s l o w = 0 m and v s l o w = 0 m/s. When comparing the influence of different values of x a , it can be concluded that a higher x a value causes the time instant in which the controller output switches the speed setpoint from v 1 r e f to v 3 r e f occurs sooner. Therefore, a drive decelerates with a lower speed and a deceleration phase is extended. This can be observed from actual position responses.
Simulation results in Figure 8 show the behaviour of nonlinear controller for different values of p. The common settings were set to: x r e f = 1 m, a = 0.25 m/s 2 , x a = 0.02 , and x s l o w = 0 m and v s l o w = 0 m/s. It can be seen in the top row of the figure that a very low value of parameter p can cause a tiny overshoot on actual position and heavy ripples in drive torque. This is because p = 0.2 gives the concave speed setpoint what results in faster deceleration. For p = 0.5 the speed setpoint is linear and setting 0.5 < p < 1 gives a convex speed setpoint, what can be seen by comparing the middle and bottom rows, where a higher p value causes a gentle slope of the speed setpoint. A detailed situation is shown in Figure 9 where actual speeds for different values of p from Figure 8 are shown. With the rising values of p, actual speed changes its shape from concave through linear up to a convex trajectory. It can be concluded for smooth positioning a linear or convex shape is preferred.

5.2. Comparison of Proposed Controller with P-Controller

In this section, we compare the proposed controller with the P-type position controller designed using the approach presented in Section 2.2. For both controllers, the same PI speed controller with a bandwidth of B W ω = 28.2 rad/s was used, and the same dynamics of ZIFU given by (28) were simulated. Additionally, both controllers had the same position setpoint, employs the same RFG as well as the same maximum values of speed and torque. The parameters can be found in Table 1.
To obtain the ratio of speed-to-position bandwidth B W ω B W φ 15 , a damping d = 2 for position controller was selected, what for the P-controller resulted in K p = 1.76 . Following parameters were used for proposed controller: x a = 0.01 m, p = 0.9 , x s l o w = 0 m and v s l o w = 0 m/s.
Firstly, both controllers were compared in linear operation for a = 0.25 m/s and small step of position reference. The results are shown in Figure 10. It can be seen that both controllers have same acceleration performance and remained unsaturated, but proposed controller has shorter settling time than P-controller, as it decelerates faster. In fact, the P-controller decelerates linearly from the position point of view, whereas the nonlinear controller decelerates by concave curve until the distance x a , where the curve changes to linear or convex shape to fine positioning without overshoot.
Next, both controllers were compared in a nonlinear operation for a = 0.4 m/s and a much higher position reference step compared to Figure 10, with the maximum speed limited to v m a x = 0.56 m/s. The results are presented in Figure 11. It is noticeable that the P-controller shows actual position overshoot, which can be avoided by re-tuning the controller with a higher damping value, but this could be considered a disadvantage. On the other hand, the proposed controller operates without overshoot.
Finally, the performance of both controllers was compared under nonlinear operation with the same step of position reference as in Figure 11, but with a higher acceleration of a = 0.45 m/s to reach torque saturation T m a x . The maximum speed was limited to v m a x = 0.56 m/s. The results are shown in Figure 12. The P-controller exhibits overshoot of actual position, while the proposed controller shows a slight overshoot resulting in rapid turnover of actual torque at the end of deceleration. The overshoot of the proposed controller can be eliminated by selecting a higher value of p, but this can be considered a disadvantage of the proposed controller.

6. Experimental Results

The experimental results on ZIFU, described in Section 4, are shown together with the simulation results for a better comparison. The simulations include also a white-noise in torque loop and a realistic model of encoder.
At first, a forward movement is shown. In Figure 13 (simulation) and Figure 14 (experiment), the traverse drive moves from the loading position 3500 mm to the maintenance position 1000 mm. The feeder moves without the ingot. The maximum velocity of the drive was set to v m a x = 17 m.min 1 and the following parameters were used in the controller: a = 0.1 m.min 2 ; p = 0.5 ; v s l o w = 4 m.min 1 ; x s l o w = 100 mm and x a = 10 mm. It can be observed that during the deceleration phase, the velocity setpoint follows function v 2 r e f until the position error x r e f x a c t is less than x s l o w = 100 mm. This happens at time t = 13:36:00 s. After that, the velocity setpoint is limited to v s l o w = 4 m.min 1 until the velocity setpoint follows v 1 r e f . Finally, in the range very close to the position reference, the drive follows v 3 r e f until the desired position is reached.
Results shown in Figure 15 and Figure 16 are for a reverse direction. The traverse drive moves from a bath position 0 mm to the maintenance position 1000 mm. Maximum velocity in reverse direction is v m a x = 17 m.min 1 . The parameters of the nonlinear controller were set as follows: v s l o w = 4 m.min 1 ; x s l o w = 100 mm and x a = 2 mm. The behavior of the case study system complies with the expected behavior according to the simulation results and proves the usability of the presented nonlinear controller.

7. Conclusions

In an ideal case, a time-optimal position control uses the limit values of the speed and torque to achieve the shortest duration of the position transients. In practice, achieving a time-optimal position control can be challenging as the drive’s speed often undergoes abrupt changes before reaching the endpoint, resulting in overshoot or oscillation around the target position. The proposed controller addresses this issue by mostly following a time-optimal trajectory to reach the desired position as fast as achievable. Three different nonlinear speed functions have been designed. They are based on square root dependencies that correspond to the time-optimal position control. The controller employs maximum technologically allowed acceleration to reach maximum speed with limited deceleration. On the other side, its extensions enable it to change its behavior during deceleration, which reduces the susceptibility of the proposed controller to overshoot. Compared to the standard P-controller, the novel controller provides faster positioning without position overshoot and with a tunable final positioning phase. It can be concluded that the proposed solution improves the time-optimal control and it has been successfully applied in the industry.

Author Contributions

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

Funding

This work was supported by the Scientific Grant Agency of the Ministry of Education, Science, Research and Sport of the Slovak Republic and Slovak Academy of Sciences (VEGA) under the project VEGA 1/0363/23.

Data Availability Statement

The data presented in this study are available on request from the corresponding author.

Conflicts of Interest

The authors declare no conflict of interest.

References

  1. Yuan, M.; Manzie, C.; Good, M.; Shames, I.; Gan, L.; Keynejad, F.; Robinette, T. A review of industrial tracking control algorithms. Control Eng. Pract. 2020, 102, 104536. [Google Scholar] [CrossRef]
  2. Low, J.H.; Khin, P.M.; Han, Q.Q.; Yao, H.; Teoh, Y.S.; Zeng, Y.; Li, S.; Liu, J.; Liu, Z.; Valdivia y Alvarado, P.; et al. Sensorized Reconfigurable Soft Robotic Gripper System for Automated Food Handling. IEEE/ASME Trans. Mechatron. 2022, 27, 3232–3243. [Google Scholar] [CrossRef]
  3. He, C.; Qiu, L.; Zhang, S.; Wang, Z.; Wang, Y. Fast Assembly Tolerance Inspection Method Using Feature-Based Adaptive Scale Reduction in Automatic Assembly Line. IEEE Access 2020, 8, 113860–113877. [Google Scholar] [CrossRef]
  4. Trojaola, I.; Elorza, I.; Irigoyen, E.; Pujana-Arrese, A.; Sorrosal, G. An Innovative MIMO Iterative Learning Control Approach for the Position Control of a Hydraulic Press. IEEE Access 2021, 9, 146850–146867. [Google Scholar] [CrossRef]
  5. Tang, T.F.; Chong, S.H.; Chan, C.Y.; Sakthivelu, V. Point-to-point positioning control of a pneumatic muscle actuated system using improved-PID control. In Proceedings of the 2016 IEEE International Conference on Automatic Control and Intelligent Systems (I2CACIS), Selangor, Malaysia, 22 October 2016; pp. 45–50. [Google Scholar] [CrossRef]
  6. Wang, W.; Wang, X.; Hou, Z.G.; Fang, Z.; Jiao, Y.; Luo, Y.; Gong, J. Kinematics Modeling and Trajectory Planning for the Skull Reconstruction Robot. In Proceedings of the 2021 IEEE International Conference on Real-time Computing and Robotics (RCAR), Xining, China, 15–19 July 2021; pp. 1432–1437. [Google Scholar] [CrossRef]
  7. Da Rocha, P.A.S.; De Oliveira, W.D.; De Lima Tostes, M.E. An Embedded System-Based Snap Constrained Trajectory Planning Method for 3D Motion Systems. IEEE Access 2019, 7, 125188–125204. [Google Scholar] [CrossRef]
  8. Dini, P.; Saponara, S. Processor-in-the-Loop Validation of a Gradient Descent-Based Model Predictive Control for Assisted Driving and Obstacles Avoidance Applications. IEEE Access 2022, 10, 67958–67975. [Google Scholar] [CrossRef]
  9. Bae, J.; Lee, D.H. PTP Tracking Scheme for Indoor Surveillance Vehicle by Dual BLACM With Hall Sensor. IEEE Trans. Ind. Appl. 2022, 58, 5238–5247. [Google Scholar] [CrossRef]
  10. Bélai, I.; Huba, M.; Vrancic, D. Comparing Traditional and Constrained Disturbance-observer Based Positional Control. Meas. Control 2021, 54, 170–178. [Google Scholar] [CrossRef]
  11. Liu, F.; Peng, H.; Zhang, D.; Huang, X.; Tong, L.; Wu, R.; Peng, X. Adaptive Positioning Control of Servomotor Based on Model Identification. IEEE Trans. Power Electron. 2022, 37, 5272–5283. [Google Scholar] [CrossRef]
  12. Bačík, J.; Tkáč, P.; Hric, L.; Alexovič, S.; Kyslan, K.; Olexa, R.; Perduková, D. Phollower—The universal autonomous mobile robot for industry and civil environments with COVID-19 germicide addon meeting safety requirements. Appl. Sci. 2020, 10, 7682. [Google Scholar] [CrossRef]
  13. Sul, S.K. Control of Electric Machine Drive Systems; John Wiley & Sons: Hoboken, NJ, USA, 2011. [Google Scholar]
  14. Gurocak, H. Industrial Motion Control. Motor Selection, Drives, Controller Tuning, Applications; John Wiley & Sons: Hoboken, NJ, USA, 2016. [Google Scholar]
  15. Hackl, C.M. Non-Identifier Based Adaptive Control in Mechatronics; Springer: Cham, Switzerland, 2017. [Google Scholar]
  16. Wang, B.; Liu, C.; Chen, S.; Dong, S.; Hu, J. Data-Driven Digital Direct Position Servo Control by Neural Network With Implicit Optimal Control Law Learned From Discrete Optimal Position Tracking Data. IEEE Access 2019, 7, 126962–126972. [Google Scholar] [CrossRef]
  17. Li, S.; Xu, Y.; Zhang, W.; Zou, J. A Novel Two-Phase Mode Switching Control Strategy for PMSM Position Servo Systems With Fast-Response and High-Precision. IEEE Trans. Power Electron. 2023, 38, 803–815. [Google Scholar] [CrossRef]
  18. Liu, C.; Luo, G.; Duan, X.; Chen, Z.; Zhang, Z.; Qiu, C. Adaptive LADRC-Based Disturbance Rejection Method for Electromechanical Servo System. IEEE Trans. Ind. Appl. 2020, 56, 876–889. [Google Scholar] [CrossRef]
  19. Shen, W.; Shen, C. An extended state observer-based control design for electro-hydraulic position servomechanism. Control Eng. Pract. 2021, 109, 104730. [Google Scholar] [CrossRef]
  20. Dini, P.; Saponara, S. Model-Based Design of an Improved Electric Drive Controller for High-Precision Applications Based on Feedback Linearization Technique. Electronics 2021, 10, 2954. [Google Scholar] [CrossRef]
  21. Wahyudi, K.; Sato, K.; Shimokohbe, A. Characteristics of practical control for point-to-point (PTP) positioning systems: Effect of design parameters and actuator saturation on positioning performance. Precis. Eng. 2003, 27, 157–169. [Google Scholar] [CrossRef]
  22. Siemens. The Technology Objects (TO) of SIMATIC S7-1500(T). 2017. Available online: https://support.industry.siemens.com/cs/document/109743134/technology-objects-of-the-simatic-s7-1500(t)?dti=0&lc=en-WW (accessed on 27 August 2023).
  23. Siemens. S7-1500T Motion Control V4.0 in TIA Portal V15: Function Manual. 2017. Available online: https://support.industry.siemens.com/cs/attachments/109749263/s71500t_motion_control_function_manual_en-US_en-US.pdf (accessed on 27 August 2023).
  24. ABB. PLC Automation Builder, AC500: Intructions for Use. 2021. Available online: https://library.abb.com/d/3ADR010582 (accessed on 27 August 2023).
  25. Voda, A.A.; Landau, I.D. A method for the auto-calibration of PID controllers. Automatica 1995, 31, 41–53. [Google Scholar] [CrossRef]
  26. Harnefors, L.; Saarakkala, S.E.; Hinkkanen, M. Speed Control of Electrical Drives Using Classical Control Methods. IEEE Trans. Ind. Appl. 2013, 49, 889–898. [Google Scholar] [CrossRef]
  27. Heo, H.J.; Son, Y.; Kim, J.M. A Trapezoidal Velocity Profile Generator for Position Control Using a Feedback Strategy. Energies 2019, 12, 1222. [Google Scholar] [CrossRef]
Figure 1. A block diagram of basic industrial speed controller with simplified torque loop dynamics.
Figure 1. A block diagram of basic industrial speed controller with simplified torque loop dynamics.
Energies 16 06339 g001
Figure 2. A block diagram for simplified design of P-type position controller.
Figure 2. A block diagram for simplified design of P-type position controller.
Energies 16 06339 g002
Figure 3. An example of trajectory for low speed positioning: x s l o w = 0.8 m and x r e f s l o w = 0.7 m.
Figure 3. An example of trajectory for low speed positioning: x s l o w = 0.8 m and x r e f s l o w = 0.7 m.
Energies 16 06339 g003
Figure 4. Control structure with described nonlinear controllers.
Figure 4. Control structure with described nonlinear controllers.
Energies 16 06339 g004
Figure 5. Devices on ZIFU: 1—cart, 2—tilting frame, 3—sinking device, 4—ingot, 5—traverse drive (wheels, shaft, gearbox and drive), 6—non driven wheels, 7—spindle driven motor, 8—chain hoist drive, 9—electrical cabinet with PLC control system.
Figure 5. Devices on ZIFU: 1—cart, 2—tilting frame, 3—sinking device, 4—ingot, 5—traverse drive (wheels, shaft, gearbox and drive), 6—non driven wheels, 7—spindle driven motor, 8—chain hoist drive, 9—electrical cabinet with PLC control system.
Energies 16 06339 g005
Figure 6. Simulation results for different settings of slow speed positioning, (top) x s l o w = 0 , v s l o w = 0 , (middle) x s l o w = 0.5 , v s l o w = 0.2 , (bottom) x s l o w = 0.1 , v s l o w = 0.1 .
Figure 6. Simulation results for different settings of slow speed positioning, (top) x s l o w = 0 , v s l o w = 0 , (middle) x s l o w = 0.5 , v s l o w = 0.2 , (bottom) x s l o w = 0.1 , v s l o w = 0.1 .
Energies 16 06339 g006
Figure 7. Simulation results for different settings of parameter x a : (top) x a = 0.005 m, (middle) x a = 0.01 m, (bottom) x a = 0.02 m.
Figure 7. Simulation results for different settings of parameter x a : (top) x a = 0.005 m, (middle) x a = 0.01 m, (bottom) x a = 0.02 m.
Energies 16 06339 g007
Figure 8. Simulation results for different settings of parameter p: (top) p = 0.2 , (middle) p = 0.5 , (bottom) p = 0.8 .
Figure 8. Simulation results for different settings of parameter p: (top) p = 0.2 , (middle) p = 0.5 , (bottom) p = 0.8 .
Energies 16 06339 g008
Figure 9. Detailed trajectory of actual speed for different settings of parameter p from Figure 8.
Figure 9. Detailed trajectory of actual speed for different settings of parameter p from Figure 8.
Energies 16 06339 g009
Figure 10. Simulation comparison of of P-controller (denoted as P) and proposed controller in linear operation.
Figure 10. Simulation comparison of of P-controller (denoted as P) and proposed controller in linear operation.
Energies 16 06339 g010
Figure 11. Simulation comparison of of P-controller (denoted as P) and proposed controller for speed-limited operation.
Figure 11. Simulation comparison of of P-controller (denoted as P) and proposed controller for speed-limited operation.
Energies 16 06339 g011
Figure 12. Simulation results for comparison of P-controller (denoted as P) and proposed controller for speed and torque-limited operation.
Figure 12. Simulation results for comparison of P-controller (denoted as P) and proposed controller for speed and torque-limited operation.
Energies 16 06339 g012
Figure 13. Simulation of nonlinear controller, positioning of the traverse drive.
Figure 13. Simulation of nonlinear controller, positioning of the traverse drive.
Energies 16 06339 g013
Figure 14. Experimental verification of nonlinear controller, positioning of the traverse drive.
Figure 14. Experimental verification of nonlinear controller, positioning of the traverse drive.
Energies 16 06339 g014
Figure 15. Simulation of nonlinear controller, positioning of the traverse drive in reverse direction.
Figure 15. Simulation of nonlinear controller, positioning of the traverse drive in reverse direction.
Energies 16 06339 g015
Figure 16. Experimental verification of nonlinear controller, positioning of the traverse drive in reverse direction.
Figure 16. Experimental verification of nonlinear controller, positioning of the traverse drive in reverse direction.
Energies 16 06339 g016
Table 1. Parameters of the traverse drive of ZIFU.
Table 1. Parameters of the traverse drive of ZIFU.
QuantityNotationValueUnit
rated motor power P r 1.1kW
rated speed n r 1455rpm
maximum speed n m a x 1455rpm
rated torque T r 7.22Nm
maximum torque T m a x 7.5Nm
motor moment of inertia J m 0.003235kg·m 2
axle moment of inertia J a x 0.0027756kg·m 2
wheel radiusr0.245m
empty cart mass m c a 2733kg
ingot mass m i n g 1000 to 1700kg
gearbox ratio N g b x 64.85
gearbox efficiency μ 0.9
rolling friction coefficient c r 0.0007
torque control loop dynamics τ t l 0.0025s
feedforward filter τ f f 0.032s
actual speed filter τ a c t 0.01s
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

Kyslan, K.; Smoleň, P.; Šlapák, V.; Ďurovský, F. A Nonlinear Controller for Point-to-Point Position Control. Energies 2023, 16, 6339. https://doi.org/10.3390/en16176339

AMA Style

Kyslan K, Smoleň P, Šlapák V, Ďurovský F. A Nonlinear Controller for Point-to-Point Position Control. Energies. 2023; 16(17):6339. https://doi.org/10.3390/en16176339

Chicago/Turabian Style

Kyslan, Karol, Pavol Smoleň, Viktor Šlapák, and František Ďurovský. 2023. "A Nonlinear Controller for Point-to-Point Position Control" Energies 16, no. 17: 6339. https://doi.org/10.3390/en16176339

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