Ball in Double Hoop: Demonstration Model For Numerical Optimal Control ?

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

Ball in double hoop: demonstration model

for numerical optimal control ?


Martin Gurtner Jiřı́ Zemánek

Faculty of Electrical Engineering


Czech Technical University in Prague
Technicka 2, 166 27 Praha 6, Czech Republic
{martin.gurtner,jiri.zemanek}@fel.cvut.cz

Abstract: Ball and hoop system is a well-known model for the education of linear control
systems. In this paper, we have a look at this system from another perspective and show that
it is also suitable for demonstration of more advanced control techniques. In contrast to the
arXiv:1706.07333v1 [cs.SY] 22 Jun 2017

standard use, we describe the dynamics of the system at full length; in addition to the mode
where the ball rolls on the (outer) hoop we also consider the mode where the ball drops out of the
hoop and enters a free-fall mode. Furthermore, we add another (inner) hoop in the center upon
which the ball can land from the free-fall mode. This constitutes another mode of the hybrid
description of the system. We present two challenging tasks for this model and show how they
can be solved by trajectory generation and stabilization. We also describe how such a model
can be built and experimentally verify the validity of our approach solving the proposed tasks. ∗
∗ All codes and drawings are available at http://github.com/aa4cc/flying-ball-in-hoop

Keywords: Trajectory planning; Optimal control; System modeling; Hybrid systems; Control
education; Mechatronic systems

1. INTRODUCTION one to pose tasks which are rather difficult to solve by other
means. We propose and solve two such tasks. Specifically,
Ball and hoop system is well-established among laboratory we formulate each task as an Optimal Control Problem
models used in teaching control. Its origin dates back (OCP) with nonlinear dynamics and limited control input.
to Wellstead (1980, 1983) who introduced it as a simple We solve the OCPs and show how to stabilize the obtained
model having qualitatively the same dynamics as the liquid trajectories.
slop problem; in addition, Wellstead (1980, 1983) and In addition, we added another hoop inside the outer one.
Fabregas et al. (2011) also described how this model can be This further extends the variety of tasks that can be solved
used in teaching of linear control theory. More specifically, on this system; one can, for example, swing up the ball on
the model was used in a regime where the ball is close the outer hoop, let it fall and stabilize it on the inner hoop.
to the stable position on the hoop and where a linear It is worthy of note that the stabilization of the ball on the
approximation of motion dynamics is valid. inner hoop can be viewed as stabilization of a disk on a
In contrast, we consider full repertoire of motions the disk; that itself is an interesting problem (for references,
system offers. We describe the system as a hybrid model see Ryu et al. (2013)).
with a mode where the ball rolls on the outer hoop This paper is organized as follows. In Section 2, we derive
and with a mode where the ball has dropped out and a mathematical model of the system. In the following
entered a free-fall mode. This description enables us to section, we present two examples of interesting and chal-
generate dynamically richer trajectories (for instance, the lenging tasks for this system and propose an approach
ball can go through the top of the hoop or even fly in solving them. In Section 4, we describe hardware setup
free fall); nevertheless, such trajectories also require more of the system and verify the viability of the proposed
advanced control techniques. First, one needs to find a approach solving the tasks.
way to generate such trajectories. Second, the trajectories
have to be stabilized; in other words, one cannot simply
take the controls corresponding to a desired trajectory, 2. MODELING
apply it to the system and expect to observe the desired
trajectory. This model is ideal for a demonstration of how The system is cartooned in Fig. 1 and the modes of the
these techniques, trajectory generation and stabilization, hybrid description are displayed in Fig. 2. The hybrid
can be applied because it is relatively simple and allows description has three modes: the ball rolls on the outer
hoop (S1), the ball is in free fall (S2), and the ball rolls on
? This work was supported by the Grant Agency of the Czech Tech-
the inner hoop (S3).
nical University in Prague, grant No. SGS16/232/OHK3/3T/13,
and partially by the Czech Science Foundation within the project Before we delve into the derivation of equations of motion
P206/12/G014. for each mode, let us devote a few words to coordinate
γ1 > 0 γ3 > 0

Outer hoop Free fall Inner hoop

S1 γ2 > 0 S2 γ4 > 0 S3

Fig. 2. Modes of the hybrid description of the ball and


hoop system.
Thus, the kinetic energy expressed in the generalized
coordinates is
 2
1 2 1 Ro + Rb Ro
T ∗ = m (Ro − Rb ) ψ̇ 2 + I θ̇ − ψ̇ . (3)
2 2 Rb Rb
Potential energy of the ball is given by
V = −mg (Ro − Rb ) cos ψ (4)
Fig. 1. A sketch of the ball and hoop system. and the system content modeling friction of the ball is
systems in which we will describe the motion of the ball. 1 1 R2  2
Due to the rotational symmetry, polar coordinates are a D = bϕ̇2 = b 2o θ̇ − ψ̇ . (5)
2 2 Rb
natural choice for modes S1 and S3. In contrast, Cartesian
coordinates are more suitable for the free-fall mode (S2) Defining the Lagrangian L = T ∗ − V , an equation of
because then the equations of motion are linear. In fact, motion of the ball can be computed by Euler-Lagrange
it turns out that the description of motion in S2 in equation as
polar coordinates is strongly nonlinear. Thus, from the
 
d ∂L ∂L ∂D
implementation point of view (i.e. to increase numerical − + =0 (6)
dt ∂ ψ̇ ∂ψ ∂ ψ̇
stability), one should use polar coordinates for modes S1
and S3 and Cartesian coordinates for S2. Nevertheless, which results in the following differential equation
transformations of the coordinates would make equations āo ψ̈ + b̄o ψ̇ + c̄o sin ψ + d¯o θ̇ = ēo θ̈, (7)
in this paper unnecessarily complicated, and thus we stick with coefficients
to polar coordinates for all three modes. 2 R2
āo = m (Ro − Rb ) + I 2o , (8a)
For simplicity, we will not state the time dependence Rb
explicitly. At first, we derive equations of motion for each R2
mode and after that, we describe guards and reset maps b̄o = b 2o , (8b)
Rb
for transitions between the modes.
c̄o = mg (Ro − Rb ) , (8c)
2.1 Outer hoop (S1) d¯o = −b̄o , (8d)
 
Ro Ro
A model of a ball rolling in a hoop was derived by Well- ēo = I +1 . (8e)
Rb Rb
stead (1983). For reader’s convenience—and because Well-
stead made a small mistake in the derivation of the 2.2 Free fall (S2)
model—we rederive the model.
We use Euler-Lagrange equation to derive the model. Let The motion of the center of the ball in free fall can be easily
us choose angles ψ and θ (see Fig. 1) as the generalized described in Cartesian coordinates because the only force
coordinates. We assume that the ball rolls without slip- acting on the ball is the gravitational force. Considering
ping. In addition, we do not consider the dynamics of the the Cartesian coordinate system shown in Fig. 1, we have
hoop as we assume that we can directly command the ẍ = g and ÿ = 0. (9)
angular acceleration of the hoop θ̈. In fact, the acceleration In order to get equations of motion in polar coordinates
will be our input to the model and it constitutes a rheo- (r, ψ) (see Fig. 1), we only need to transform the coordi-
nomic (time-varying) constraint. This constraint reduces nates by relations x = r cos ψ and y = r sin ψ. This way,
the number of independent coordinates to one. we get
The kinetic co-energy of the ball is r̈ = rψ̇ 2 + g cos ψ, (10a)
1 1 1 
T ∗ = mv 2 + I(ϕ̇ + θ̇)2 , (1) ψ̈ = − g sin ψ + 2ψ̇ ṙ . (10b)
2 2 r
where m is the mass of the ball, I is the moment of inertia To fully describe the state of the system during free fall of
Ro
of the ball and ϕ = Rsb = R b
(θ − ψ). The translational the ball we also need to describe evolution of ϕ; we assume
velocity v and the angular velocity ϕ̇ of the ball can be that the angular velocity ϕ̇ is constant during the free fall.
expressed as follows
v = − (Ro − Rb ) ψ̇, (2a) 2.3 Inner hoop (S3)
Ro  
A sketch of the ball rolling on the inner hoop is shown
ϕ̇ = θ̇ − ψ̇ . (2b)
Rb in Fig. 3. The equations of motion for the ball rolling on
Fig. 3. A sketch of the ball rolling on the inner hoop. Fig. 4. A cartoon of the challenging tasks to be solved with
the ball and hoop system.
the inner hoop can be derived along similar lines as for
the ball on the outer hoop. The only difference is that the and the corresponding reset map for ψ̇ is
effective rolling radius is Ri + Rb instead of Ro − Rb and −
ψ̇ + = ψ̇ − + ψ̇rot (17)
angle ϕ has the opposite orientation. Therefore, we skip

the derivation and state directly the resulting equations of where ψ̇rot is derived from the angular velocity of the ball

motion: ϕ̇ and can be computed from (2b):
āi ψ̈ + b̄i ψ̇ + c̄i sin ψ + d¯i θ̇ = ēi θ̈, (11) − Rb −
where ψ̇rot = θ̇− − ϕ̇ . (18)
Ro
2 R2 The remaining states transit unchanged, that is θ+ = θ− ,
āi = m (Ri + Rb ) + I 2i , (12a)
Rb θ̇+ = θ̇− and ψ + = ψ − .
R2
b̄i = b 2i , (12b) Transition from S2 to S3 Analogously to the previous
Rb
case, the transit occurs when the ball hits the inner hoop
c̄i = mg (Ri + Rb ) , (12c) and the guard is
¯
di = −b̄i , (12d) γ3 = Ri + Rb − r > 0. (19)
 
Ri Ri The reset map is also almost the same; the only difference
ēi = I −1 . (12e) −
Rb Rb is that the angular velocity ψ̇rot here is computed as follows
− Rb −
2.4 Transition between modes ψ̇rot = θ̇− + ϕ̇ . (20)
Ri
Transition from S1 to S2 Mode S1 (outer hoop) is valid Transition from S3 to S2 Similarly to the transition from
as long as the centripetal force Fc acting on the ball is the outer hoop to free fall, the transition from the inner
larger then the normal component of the gravitational hoop to free fall occurs when the centripetal force becomes
force Fg with respect to the hoop. Mathematically, it is larger then the normal component of the gravitational
valid if force with respect to the hoop, that is
Fg cos ψ + Fc = mg cos ψ + m (Ro − Rb ) ψ̇ 2 > 0. (13) γ4 = g cos ψ + (Ri + Rb ) ψ̇ 2 > 0.
If this condition does not hold, the ball drops of the hoop. and analogously to (15), the reset map is
It readily follows from (13) that the guard for transition r+ = Ri + Rb , (21a)
from S1 to S2 is +
ṙ = 0, (21b)
γ1 = −g cos ψ − (Ro − Rb ) ψ̇ 2 > 0. (14)
R i
The reset map for states r, ṙ, ϕ and ϕ̇ is ϕ+ = −(θ− − ψ − ) , (21c)
Rb
r+ = Ro − Rb ,
 
(15a) Ri − Rb Ri
+ ϕ̇+ = − θ̇ − ψ̇ , (21d)
ṙ = 0, (15b) Rb Rb
R o with the remaining states θ, θ̇, ψ and ψ̇ transiting un-
ϕ+ = (θ− − ψ − ) , (15c)
Rb changed.
Ro + Rb Ro
ϕ̇+ = θ̇ − ψ̇. (15d) 3. EXAMPLES OF INTERESTING TASKS
Rb Rb
The first three relations are apparent. The last one is
The hybrid description of the system allows us to pose vi-
derived from the inertial angular velocity (ϕ̇− + θ̇− ) of the sually appealing and from control perspective challenging
ball and (2b). The remaining states transit to the mode S2 tasks. In this section, we show two such tasks and describe
without any change, that is θ+ = θ− , θ̇+ = θ̇− , ψ + = ψ − control algorithms solving them.
and ψ̇ + = ψ̇ − .
Task 1: Roll the ball around the outer hoop
Transition from S2 to S1 This transition occurs when
the ball hits the outer hoop. Thus the guard is This task is sketched in Fig. 4 on the left side. In the
γ2 = r − Ro + Rb > 0 (16) beginning, the ball is in the steady position on the outer
hoop and the goal is to roll it around the hoop and get it mismatches the real system to some extent. Therefore, we
back to the steady position. One might roughly imagine need to stabilize the trajectory; we need to keep the system
this task as the famous Loop-the-Loop stunt where a car as close as possible to the desired trajectory.
rides around a vertical circle.
Trajectory stabilization To stabilize the trajectory, we
Naturally, this task is an instance of an Optimal Control invoke the powerful framework of Linear Quadratic Regu-
Problem (OCP). The ball is supposed to stay on the outer lators (LQR) and neighboring extremals (Bryson and Ho
hoop and thus the hybrid model remains in the mode S1. (1975)). We linearize the model around the trajectory and
To simplify the notation, let us define a state vector as thus obtain a linear time-varying deviation model
h i>
x = θ, θ̇, ψ, ψ̇ . (22) δ ẋ(t) = A(t)δx(t) + B(t)δu(t), (26)
∗ ∗
and the state-space description corresponding to the mode where δx = x − x and δu = u − u . The time-varying
S1 as matrices are
ẋ = fS1 (x, u), (23) ∂fS1 (x(t), u(t))
A(t) = , (27)
∂x

x(t)=x∗ (t),u(t)=u∗ (t)
where u = θ̈ and

x2
 ∂fS1 (x(t), u(t))
B(t) = . (28)
∂u

u x(t)=x∗ (t),u(t)=u∗ (t)
fS1 (x) =   . (24)
 
x4 Now we design an LQR stabilizing the deviation model
1 ¯ hence keeping δx(t) small and the system close to x∗ . We

āo −b̄o x4 − c̄o sin x3 − do x2 + ēo u
stick to a common notation and denote the state and input
Now, we formulate the task as an OCP. In the initial time weight matrices by Q and R, respectively. The control law
T0 := 0, everything is steady and thus the initial condition of the LQR is
is x(0) = [0, 0, 0, 0]> . In a final time Tf , we require that δu(t) = −R−1 B> (t)S(t)δx(t), (29)
the ball has rolled around the hoop, is back in the steady
state and the hoop does not move; that imposes conditions where matrix S(t) is given by the solution of the differen-
x3 (Tf ) = −2π, x4 (Tf ) = 0 and x2 (Tf ) = 0. Furthermore, tial Riccati equation
to ensure that the ball does not drop out of the hoop, −Ṡ(t) = S(t)A(t)+A> (t)S(t)−S(t)B(t)R−1 B> (t)S(t)+Q
we require that the guard γ1 is inactive during the whole (30)
trajectory. Instead of specifying the final time, we leave with final time condition S(Tf ) = Q.
it as an optimization variable; we only require that the
final time is smaller than a certain value Tmax . We also Finally, the applied control to the system is given by a sum
put bounds on the control u. Finally, the objective is to of the nominal input u∗ (t) and the trajectory stabilizing
minimize the control u. Altogether, the OCP is term δu(t):
Z Tf u(t) = u∗ (t) + δu(t). (31)
min u2 (t)dt, (25)
u(t),x(t),Tf 0 Task 2: Get the ball on the inner hoop
subject to: x(0) = [0, 0, 0, 0]> ,
x2 (Tf ) = 0, The second task we would like to solve is to get the ball
from the steady position on the outer hoop to the top of
x3 (Tf ) = −2π,
inner hoop and stabilize it there. This task is sketched in
x4 (Tf ) = 0, Fig. 4 on the right side. Once again, we formulate this
γ1 (x(t)) < 0, problem as an OCP, find a trajectory solving the problem
0 < Tf < Tmax , and design a regulator stabilizing this trajectory.
|u(t)| ≤ umax , Apparently, the trajectory we are looking for starts and
ẋ(t) = fS1 (x(t), u(t)). ends in different modes of the hybrid model. This poses
especially difficult problem to the trajectory generation
To solve this OCP we use direct collocation (Hargraves and because in the discretization of the corresponding OCP,
Paris (1987)) to discretize it to N equidistantly distributed one does not know how many knots should be assigned to
knots in time and formulate it as a nonlinear programming each mode. Fortunately, the requirement that the ball ends
problem (NLP). This simplification, however, comes at a up on the inner hoop can be reformulated to a requirement
cost. NLP solvers usually does not guarantee optimality that the ball ends up on the outer hoop at specific angle
and provide only suboptimal solutions. Let us denote a
ψdes with specific angular velocity ψ̇des . This is due to
(possibly suboptimal) solution provided by a NLP solver
the fact that the free-fall mode is uncontrolled and thus
by u∗ , x∗ and Tf∗ .
the state of the system leaving the free-fall mode is fully
By solving the NLP, we obtain a discrete trajectory of determined by the state of the system entering the free-fall
the system evaluated at certain time instants separated mode. Therefore, we can find a trajectory solving Task 2
by sampling time Ts = TNf . Ideally, if the model captures by the same approach as we used for Task 1.
the real system well enough and the sampling time Ts
is short enough (say, a few milliseconds), an application In addition to ψdes and ψ̇des , we also require that the hoop
of the control input u∗ (t) results in the desired state has specific angular velocity θ̇des at the moment when the
trajectory x∗ . Nevertheless, short sampling periods imply ball drops out of it. That is because by reset map (15d),
large number of knots N and thus make the NLP larger θ̇des determines ϕ̇ during the free fall and thus by reset
and possibly intractable. Furthermore, the model usually map (20) also ψ̇ just after the ball lands on the inner hoop.
Table 1. Parameters of the demonstration model
Description Parameter Value Unit
Radius of the outer hoop Ro 95.8 mm
Radius of the inner hoop Ri 43.8 mm
Radius of the ball Rb 7.7 mm
Inertia of the ball I 1.28 · 10−6 kg m2
Mass of the ball m 0.032 kg
Friction of the ball b 1.4 · 10−6 Nms
Gravitational constant g 9.81 m s−2

Therefore, we compute θ̇des so that ψ̇ after the impact is


minimized.
The OCP for Task 2 has exactly the same form as (25);
the only difference here is that the conditions for the final
states are
x2 (Tf ) = θ̇des , (32a)
x3 (Tf ) = ψdes , (32b)
Fig. 5. A photo of the real hardware setup.
x4 (Tf ) = ψ̇des . (32c)
The remaining steps to solve this task are almost the
same as with the previous one. The only additional step
is to design a regulator stabilizing the ball on the inner 0
-
hoop. After the ball lands, we hand over the control to a -2
stationary LQR designed for this purpose.
0 0.5 1 1.5 2 2.5

4. EXPERIMENTAL VERIFICATION
10
0
To verify the validity of our approach, we implemented -10
the proposed control algorithm and tested it on a real -20
hardware setup. 0 0.5 1 1.5 2 2.5

4.1 Construction of the model 300


0
The hardware setup used for the verification is displayed in
-300
Fig 5. Parameters of the setup are summarized in Table 1.
0 0.5 1 1.5 2 2.5
The hoop is 3D-printed 1 and it has imbedded rubber o-
rings serving as high-friction rails for a metal ball. The
hoop is attached to a BLDC motor driven by a PearControl (a) Graphs
ESC3 regulator enabling us to control the motor in a speed
and current mode. To simplify the control algorithm, we
let the current control to the motor regulator and used the
speed mode to set directly a desired angular velocity θ̇des .
Nevertheless, in Section 2 we considered θ̈ to be the control
input to the model, thus also the output of the regulator.
Therefore, to get θ̇des , we numerically integrate the output
of the regulator θ̈. Judging from the experiments, the
control system performs surprisingly well in spite of this
simplification.
(b) Time instants
4.2 Implementation
Fig. 6. A comparison of a nominal trajectory for Task
The control law was discretized by sampling of (31) and it 1 with a trajectory measured on the real system
was implemented in Simulink. We used Support Package with feedback (FB) and without feedback (FF). The
for Raspberry Pi Hardware to generate code, compile it, comparison has the form of (a) graphs and (b) visu-
and run it on Raspberry Pi 3. Raspberry Pi 3 has sufficient alizations of the position of the ball at several time
computational power that it also allows us to measure the instants. The time instants are also displayed in (a)
position of the ball by processing images from Raspberry by green dots. The colors of the balls in (b) correspond
Pi camera module. The image-processing algorithm was to the colors of trajectories in (a). The trajectory
implemented in Python and OpenCV. Both, the image without feedback ends up at approximately t = 1.2 s
processing and control algorithm run at 50 Hz. because at that time the ball drops out of the hoop.
1 The drawings and codes are available at http://github.com/ The dimensions in (b) are not in scale.
aa4cc/flying-ball-in-hoop
/2 4.3 Verification
0
- /2
-
Regarding Task 1, a reference trajectory x∗ obtained by
the solution of (25) together with a trajectory measured on
0 0.5 1 1.5 2 2.5 the real hardware setup are shown in Fig. 6. Apparently,
the validity of the control algorithm is verified; it is able to
15 follow the desired trajectory to such an extent that the ball
0 ends up in the desired position and does not drop out of the
-15 hoop. We have not yet implemented the solution of Task
0 0.5 1 1.5 2 2.5 2 on the real hardware setup. Nevertheless, the proposed
solution works very nicely in simulations as Fig. 7 shows.
Solutions of both tasks are also presented in a video clip
300
150
available at http://youtu.be/GBKhRHtjpvQ.
0
-150
5. CONCLUSION
0 0.5 1 1.5 2 2.5
We showed that the well-known ball and hoop system
(a) Graphs
can be used not only to demonstrate some aspects of
linear control theory but also to demonstrate strengths
of numerical optimal control. We extended the ball and
hoop system by another hoop and described this extended
system by a hybrid model. We presented two tasks for
the extended system that are ideal for a demonstration of
trajectory generation and stabilization and solve them. As
the model of the extended system is simple, one can also
use it for a demonstration of control techniques that are
based on Sum-Of-Squares programming. For instance, our
proposed solution of the presented tasks can be extended
by LQR trees (Tedrake et al. (2010)) to work also for
varying initial conditions. Furthermore, the inner hoop
(b) Time instants
can be replaced by something else. For example, one can
replace it by a beam and modify the Task 2 to “get the ball
Fig. 7. A comparison of a nominal trajectory for Task 2 on a beam and stabilize it there”. Or, the inner hoop can be
with a trajectory obtained by simulation of the model replaced by a figure-eight shaped rails and the “butterfly”
with the trajectory stabilizing regulator. The compar- task can be solved on the system (Cefalo et al. (2006)).
ison has the form of (a) graphs and (b) visualizations
of the position of the ball at several time instants. The REFERENCES
time instants are also displayed in (a) by green dots
and the colors of the balls in (b) correspond to the Bryson, J.A.E. and Ho, Y.C. (1975). Applied Optimal
colors of trajectories in (a). The dimensions in (b) are Control: Optimization, Estimation and Control. CRC
not in scale. Press.
Cefalo, M., Lanari, L., and Oriolo, G. (2006). Energy-
based control of the butterfly robot. IFAC Proceedings
The trajectory stabilizing regulator, as a state regulator, Volumes, 39(15), 1–6.
needs to know values of all states. States x1 = θ and Fabregas, E., Farias, G., Dormido-Canto, S., Dormido,
x2 = θ̇ do not need to be measured because they are given S., and Esquembre, F. (2011). Developing a remote
by integration of the input u = θ̈. Angle of the ball ψ is laboratory for engineering education. Computers &
measured by a camera and image processing. Nevertheless, Education, 57(2), 1686–1697.
the angular velocity ψ̇ is rather difficult to measure directly Hargraves, C.R. and Paris, S.W. (1987). Direct trajectory
and thus has to be estimated. For this purpose, we used optimization using nonlinear programming and collo-
a discrete Extended Kalman Filter (EKF) in the standard cation. Journal of Guidance, Control, and Dynamics,
setting. 10(4), 338–342.
Ryu, J.C., Ruggiero, F., and Lynch, K.M. (2013). Control
Beside the model mismatch and state estimation, in the of nonprehensile rolling manipulation: Balancing a disk
reality, one also usually has to deal with a latency in the on a disk. IEEE Transactions on Robotics, 29(5), 1152–
measurement. In our hardware setup, we measured the 1161.
latency of the measurement of ψmeas to be approximately Tedrake, R., Manchester, I.R., Tobenkin, M., and Roberts,
two control periods (40 ms). Thus, at control period k, we J.W. (2010). Lqr-trees: Feedback motion planning via
at first estimate the state x̂[k − 2] by EKF based on the sums-of-squares verification. The International Journal
previous estimate x̂[k − 3], ψmeas [k] and u[k − 3] and then of Robotics Research, 29(8), 1038–1052.
compensate for the delay by two-step prediction: Wellstead, P.E. (1980). Scale models in control systems en-
x̂[k − 1] = x̂[k − 2] + T fS1 (x̂[k − 2], u[k − 2]), (33) gineering. Transactions of the Institute of Measurement
and Control, 2(3), 137–155.
x̂[k] = x̂[k − 1] + T fS1 (x̂[k − 1], u[k − 1]), (34) Wellstead, P.E. (1983). The ball and hoop system. Auto-
where T is the control period and it equals to 20 ms. matica, 19(4), 401–406.

You might also like