The Real Time Network Control of The Inv

Download as pdf or txt
Download as pdf or txt
You are on page 1of 10

AUTOMATYKA/ AUTOMATICS • 2013 • Vol. 17 • No.

http://dx.doi.org/10.7494/automat.2013.17.1.83

Andrzej Turnau*, Dawid Knapik*, Dariusz Marchewka*,


Maciej Rosó³*, Krzysztof Ko³ek*, Przemys³aw Gorczyca*

The Real-time Network Control


of the Inverted Pendulum System
Based on Siemens Hardware**

1. Introduction

The pendulum on a cart system is often regarded as an algorithmic pattern (called


a benchmark) [3]. When considering only the control simulation based on a model it is
generally ignored the entire hardware layer and software responsible for the experiment
carried out on a real object in real time [2]. In the presented case, the intention of the authors
is substitutions of all possible hardware and software elements of the pendulum on a cart
system for the appropriate replacement to the SIEMENS elements. Therefore, not only
the control algorithm is stored in a programmable logic controller SIMATIC S7-1200, but it
is also the flat motor converted to the servo drive SINAMICS S110 cooperating with syn-
chronous motor and resolver. All these elements are SIEMENS origin. New equipment ma-
kes it possible to compare the two modes of communication. The first is the use of a high-
speed counter output mode PTO (Pulse Train Output) and the other is a PROFINET I/O
with cyclic exchange of information between devices. In experiments of increasing the am-
plitude of oscillation and stabilizing of the pendulum at the upright unstable equilibrium
points the attention is drawn to the exceptional use of servo tasks. Precisely, there are opera-
tions generally not performed by the servo i.e. forcing the engine to very slow reversing
movements (especially in the task of stabilizing the pendulum in the upright positions).
These operation modes are prepared in advance and stored in the servo SINAMICS S110.
In fact, many of servo features have to be pre-empted, so the servo remains only sensitive
to changes in the angle of the pendulum and the position of the cart on the rail. Since
the network control system using PROFINET I/O performs flawlessly and fully repetitively

* AGH University of Science and Technology, Krakow, Poland


** The work was supported by the research AGH University of Science and Technology project
nr. 11.11.120.768

83
84 A. Turnau, D. Knapik, D. Marchewka, M. Rosó³, K. Ko³ek, P. Gorczyca

complex and difficult control tasks maintaining the 2 ms time-regime then it may be presumed
that the PLC and SINAMICS Siemens servo system are also capable of successful execu-
tion of a much simpler standard control functions.

2. The set-up description


A modified version of the laboratory inverted pendulum suspended to a cart is used in
the experiments. The original pendulum hinged to a cart is driven by a DC motor powered
by a dedicated controller. A real-time control is implemented using an I/O measurement
board and a PC equipped with the MATLAB/Simulink software together with the relevant
toolboxes [5]. The structure of the modified system is shown in Figure 1. Instead of the DC
motor with the power interface the industrial Siemens servo is used operating in the speed
mode. The servo consists of a drive system SINAMICS S110, synchronous motor 1FK7 and
resolver. The servo will be described in section 2.1. A control algorithm is running on
the PLC Siemens S7-1200 PLC. The control signal generated by the PLC controller is sent
in two ways. The first uses a high-speed counter output mode PTO (Pulse Train Output)
also known as PFM (Pulse Frequency Modulation). In this mode, the control signal is pro-
portional to the frequency of the pulses at the first output (Puls), and the direction of rota-
tion depends at the second output (Direction). Another way to communicate is to use
a PROFINET I/O, which allows for a cyclic exchange of information between devices with
a maximum period of 2 ms. Information about the cart position and pendulum angle is
measured by two incremental encoders operating in the quadrature mode and is sent directly
to the PLC. The applied encoders have 12-bit resolution.

Fig. 1. Components of the setup [5]


The Real-time Network Control of the Inverted Pendulum System... 85

2.1. The industrial servo SINAMICS S110


The used SINAMICS S110 servo drive [6] provides the basic functionality of single-
axis positioning in drive systems. However combined with the master control system
SINAMICS S110 enables the advanced motion control tasks. In this system there are three
control algorithms:
– A sensorless speed control mode without an encoder. The current position of the motor
shaft is reconstructed from the mathematical model of the motor. The control goal is
to maintain the desired motor speed.
– Sensor speed control mode with an encoder/resolver. The control goal is to maintain
the desired motor speed.
– Sensor torque control mode with an encoder/resolver. The control goal is to maintain
the desired motor torque.
– U/f control – open loop control for diagnostics.

The servo controller can work with synchronous and asynchronous motors. The motor
used in the experiments is 1FK7 synchronous motor with a nominal torque of 0.16 Nm and
nominal rotation speed of 6000 rpm. The motor is integrated with the resolver with 3 poles.
The servomotor and driver are connected via the DRIVE-CLIQ interface. The interface pro-
vides means to read the motor electronic nameplate and to transmit a resolver signal.

2.2. The inverted pendulum control task


The control diagram of a modified inverted pendulum system is shown in Figure 2.

Fig. 2. A simplified block diagram of the control system

The diagram can be divided into two feedback loops. The first is the external loop.
Measurements from the encoders related to the pendulum angle and cart position on the rail
go to the PLC where the control is calculated. According to the current state of the pendulum
86 A. Turnau, D. Knapik, D. Marchewka, M. Rosó³, K. Ko³ek, P. Gorczyca

it is either swung up or stabilized in the upright position of equilibrium. Then, the control
signal is sent to the drive to the internal regulation system – the second control loop.
An error between the control set-point signal and the current speed of the motor shaft recon-
structed by the resolver is converted to the current control signal implemented then by the
power interface. In a classic inverted pendulum system the control value derived directly
from the controller goes to the power interface. The use of the SINAMICS S110 servo con-
troller makes impossible to open the internal loop except the diagnostic U/f control signal.
The diagnostic signal is not suitable to achieve sufficient growth of energy to bring the
pendulum to the upright unstable equilibrium point. As a result, the pendulum control sys-
tem has an additional controller compared to the classic scheme. The structure of the inter-
nal control system has been adapted to the requirements of the inverted pendulum control.

2.3. Configuring the drive controller


The STARTER software tool has been used to configure the SINAMICS S110 drive
controller. The software allows for easy configuration thanks to a readable layout. In Figure 3
a part of the diagram responsible for the current control is shown.

Fig. 3. A part of the STARTER diagram showing the current control

In order to achieve the desired dynamic of the servo the signal filtering of the set-point
control is disabled. Also the dynamic adaptation of the speed controller parameters is
The Real-time Network Control of the Inverted Pendulum System... 87

disabled. In addition, a part of the speed controller responsible for integrating the input
is disabled to avoid any impact on the cart motion in the case of the zero value. The propor-
tional controller gain is set to the maximum value that does not cause oscillations.

3. Control algorithm
3.1. A rule based algorithm
The pendulum on a cart system, a seemingly simple, but represents a non-trivial non-
linear dynamics of the fourth order with infinitely many unstable equilibrium points [2].
With one control one needs to interact simultaneously on two objects, directly on the cart
and indirectly on the pendulum.
Table 1
Rule-based algorithm

Limiting the cart motion to the rail runway range


If |x1|− Z > 0 (1)
STAB
then u = −u max signx1 (2)
Stabilization of the pendulum in its upright unstable equilibrium points
If x2 − S < 0 (3)
f
then ur = K1( x1− x1 ) + K 2 x2 + K3 x3 + K 4 x4 (4)
STAB
if ur + Fs > umax (5)
STAB
then u = umax sign ur (6)
else u = ur + Fssign ur (7)
end
Increasing an amplitude of the pendulum oscillations together with reduction
of the angular velocity in achieving the upper unstable equilibrium position
elseif
1 x2 + 9,81 ⋅ 3, 2(cos x2 − 1) > 0 (8)
2 4

then u = 0 (9)

PO ST ⎡ ⎛ π ⎞⎤
else u = − u max sign ⎢ x 4 ⎜ x 2 − ⎟ (10)
⎣ ⎝ 2 ⎠ ⎥⎦
end

The cart while moving must not exceed the rail limits and at the final control time it has
to be stopped in the middle of the rail. The pendulum, outside the upper stability zone has
to increase the amplitude of oscillations and at the upper zone inversely, has to reduce
the amplitude of oscillations until a resting state. The algorithm shown in Table 1, consist
88 A. Turnau, D. Knapik, D. Marchewka, M. Rosó³, K. Ko³ek, P. Gorczyca

of rules. The angle of the pendulum is in the [–π, π] radians range. The Z parameter is set at
a value less than half the length of the real rail traction. If the car exceeds the assumed rail
traction (1), the force applied to the cart pulls it to the center of the rail (2).If the pendulum
is in the upper stability zone S in a neighbourhood of an upright equilibrium point (3),
the linear controller operates. It compensates the static friction of the cart and it can saturate (4).
K = [K1, K2, K3, K4] is a gain matrix in the feedback paths calculated by the solution of
a suitable linear-quadratic problem. If the linear control achieves limits as to not exceed
the limits is subject to saturation. The saturated control with taking into account the static
STAB STAB
friction Fs, takes place after reaching the limits [−umax , umax ] (5). At saturation,
STAB
the output will be controlled by the absolute value of umax (6), and in the absence of
STAB STAB
saturation is taken from the control range [−umax , umax ]. There are effects difficult
to be modelled. Thus, the cart dry friction is compensated by adding to or subtracting from
the control a constant value. If the linear control is positive, its value is increased by adding
constant Fs, to overcome the dry friction. A negative control is decreased by subtracting
a constant value Fs (7).
If the pendulum is outside the stabilization zone, it will be brought to the zone (by
increasing the amplitude of oscillations). In order that the pendulum has reached the upright
position, with no tendency for further rotating, the algorithm has to ensure that the angular
velocity of the pendulum in the upright position was close to zero. The algorithm checks
at each sampling step, if the kinetic energy of the pendulum is sufficient to raise the center
of gravity of the pendulum in its upper position (8). If so, control is switched off and takes
a value of zero (9). A rule to increase the amplitude of oscillations has a simple form.
The control is a bang-bang. Switching times are a function of the angle and angular velocity
sign of the pendulum (10).

3.2. Implementation of the control algorithm on PLC


The block diagram of the control algorithm running on the PLC is shown in Figure 4.
Functionally the algorithm consists of the main and measurement loops. The main loop
checks to see whether the cart position limits on the rail are not exceeded. It selects
the operating mode of the pendulum at the upper position (Pendulum) or at the lower posi-
tion (Crane) and activates the proper position controller. In the final stage of the main loop
the ultimate value of servo control including restrictions imposed is calculated. There is an
update of the variable corresponding to the control and activation of the SINAMICS driver.
The execution time of the main loop is constituted merely by the cycle time of the PLC.
The measurement loop is reading the angular positions from the high-speed counter modu-
le, connected to the incremental encoders. These values are converted to physical units
of the pendulum angular position (radians) and the cart position (meters). Then the angular
speed of the pendulum and linear speed of the cart are reconstructed respectively. Variables
which store information about the positions and speeds are updated in the last stage of
the measurement loop.
The Real-time Network Control of the Inverted Pendulum System... 89

Fig. 4. Block diagram of the control algorithm

These variables are used in the main loop of the program to determine the servo control
value. The measuring loop is executed cyclically with a period of T0 = 10 ms. The controller
is built in the environment Totally Integrated Automation Portal (TIA) SIEMENS. The project
consists of modules responsible for the implementation of the various stages of the algori-
thm. The modules are implemented in the form of programs in the ladder logic or Structured
Text language. How to write a ladder algorithm in the TIA environment is shown in Figure 5.
Some of the blocks are used to implement the algorithm. Others are equally important
in view of the implementation of measurement and control connections. The motor of
the inverted pendulum is controlled via a PWM wave form with a four-transistor H-bridge
motor. The rotation direction is controlled by an independent digital output. Built-in control
blocks with generation pulse signals enable to control the motor using PWM waves with
frequencies lying well above harmful to the human ear acoustic frequencies. Measurements
of both the cart position and the pendulum angle are implemented using the quadrature
incremental encoders. They generate 4096 pulses per revolution, allowing a resolution
of cart position equal to 0.0595 millimetre and 0.0879 degree respectively. The model does
not include the speed measurement systems. The speeds, both of the cart and pendulum,
reconstructed from the position measurements, are necessary for regulator operation.
90 A. Turnau, D. Knapik, D. Marchewka, M. Rosó³, K. Ko³ek, P. Gorczyca

The speed reconstruction based on the positions is trivial for long periods of the sampling or
high-speeds because the number of pulses generated by the encoder between consecutive
sampling periods is high. Unfortunately, in the case of the pendulum especially near the
upper point of equilibrium, the required sampling rate is fast and the cart and pendulum
speeds are small. We are facing with a situation where the sampling periods between suc-
cessive encoder counters are changing the value to two, to one, to no pulse at all. Successful
control depends on several factors. These are: a properly selected sampling period (faster
sampling does not necessarily improve the job), an effective speed reconstruction algorithm
and a properly identified and tuned model.

Fig. 5. A part of the algorithm stored in the ladder logic in the TIA environment

4. Experiments

Experiments are carried out on the laboratory networked inverted pendulum control
system (Fig. 2) for the two control modes:
1. Autonomous, which uses only the PLC controller with high-speed counters working in
the PTO mode(PWM signal with variable direction).The sampling rate is set at a value
of 10 ms.
2. Networked with PROFINET IO. In this mode, the experiments are performed for two
values of the period updating of the frame containing the PROFINET control:
8 ms and 2 ms.
The Real-time Network Control of the Inverted Pendulum System... 91

The pendulum stabilized near the upper unstable equilibrium point is a very deman-
ding system with regard to the stability of the generated time control. The loss of control
leads to the pendulum fall down allowing a visual assessment of the control quality. A typi-
cal experiment is to swing up the pendulum and keep it in the upright position while mainta-
ining the cart in the middle of the rail. A behaviour similar to the typical experiment is the
one shown in Figure 6.

Swinging Stabilization
Fig. 6. The inverted pendulum control experiment

Figure 6 shows the cart position and the pendulum angle and control u during the expe-
riments. Initially the pendulum is in a lower equilibrium position of equilibrium described
as +/–π rad. Cart motion pumps energy to the pendulum driving it close to the stabilization
zone near the 0 rad angles.

5. Conclusions

The presented configuration of the control system, including network-connected PLC


and servo controller is extremely complicated compared to the requirements of the control
system of the inverted pendulum. The control object is selected solely because of the sensi-
tivity of the signal decays and serves as an assurance tester of the control distribution in
a distributed configuration. The SINAMICS S110 drive controller is inherently designed
for servo positioning operations, while providing integrated security features. This functio-
nality is important for industrial applications. Use this driver for the implementation of rule-
based algorithm for the pendulum on a cart system confirms that the modified system is
92 A. Turnau, D. Knapik, D. Marchewka, M. Rosó³, K. Ko³ek, P. Gorczyca

capable of accurate and quick response. During the experiments, there was no qualitative
difference in the control of the pendulum in a distributed configuration with PROFINET
and controlled directly from the PLC.

References
[1] Furuta K., Yamakita M., Kobayashi S., Swing-up control of inverted pendulum using pseudo-state
feedback. Journal of Systems and Control Engineering, 206, pp. 263–269.
[2] Turnau A., Sterowanie docelowe uk³adami nieliniowymi w czasie rzeczywistym – algorytmy inteli-
gentne i optymalnoczasowe. Uczelniane Wydawnictwa Naukowo-Dydaktyczne Akademii Górni-
czo-Hutniczej, Kraków 2002
[3] Ko³ek K., Turnau A., FPGA as a part of MS Windows control environment (FPGA jako czêœæ
œrodowiska sterowania MS Windows). Computer Science: Rocznik Akademii Górniczo-Hutni-
czej imienia Stanis³awa Staszica w Krakowie, vol. 8 spec. ed. pp. 61–68.
[4] Turnau A., Ko³ek K., 2010: Sterowanie optymalnoczasowe wahad³em na wózku w czasie rzeczy-
wistym (Real-timetime-optimalcontrol of the cart-pole system). Metody wytwarzania i zastosowa-
nia systemów czasu rzeczywistego: praca zbiorowa pod red. Leszka Trybusa i S³awomira Samo-
leja. – Warszawa: Wydawnictwa Komunikacji i £¹cznoœci, 2010, pp. 365–374.
[5] Inteco Sp. z o.o., Pendulum-Cart System User’s Manual. Kraków 2005.
[6] © Siemens AG: SINAMICS S110 List Manual (LH7), 6SL3097-4AP10-0BP2, 2011.

You might also like