You are on page 1of 6

2014 American Control Conference (ACC)

June 4-6, 2014. Portland, Oregon, USA

A Feedback Linearization Controller for Trajectory Tracking of the


Furuta Pendulum*
Carlos Aguilar-Avelar† and Javier Moreno-Valenzuela

Abstract— A Furuta pendulum is a two degrees-of-freedom and to present a real-time evaluation of the performance with
mechanism consisting of an arm rotating in the horizontal plane respect to the controller introduced in [7].
and a pendulum rotating in the vertical plane. The pendulum The Furuta pendulum dynamics and the control problem
is attached to the arm tip. The complexity in the control of this
system relies on that only the arm is actuated. The problem formulation are given in Section II. A new controller is
addressed in this paper consists in the design of a controller proposed in Section III. The closed-loop system and zero
such that the difference between the desired joint position and dynamics are derived in Section IV. In Section V, to compare
the actual one is uniformly ultimately bounded. In particular, the performance of the new controller, the output tracking
the desired arm position is a time varying signal and the controller presented in [7] is revised and friction compensa-
desired pendulum position is zero. Roughly speaking, this has
the physical meaning that the arm should be moving while the tion is added with the aim to improve its performance. Sub-
pendulum should be kept at the upward position. To satisfy sequently in Section VI, by using an original experimental
that control goal, in this document a new controller based on platform, which has been accurately identified, the real-time
the feedback linearization technique is introduced. The new experimental tests are presented, as well as the performance
scheme has been experimentally compared with respect to a comparative using the RMS error. Finally, some concluding
known algorithm.
remarks are provided in Section VII.
I. INTRODUCTION II. FURUTA PENDULUM DYNAMIC MODEL AND
The rotary inverted pendulum, which is better known CONTROL PROBLEM FORMULATION
as Furuta pendulum named in inventor’s honor [1], is a A. Model
well-known underactuated mechanical system that is used
As previously described, the Furuta pendulum is a mech-
extensively by many control researchers to test linear and
anism consisting of an arm rotating in the horizontal plane
non linear techniques [2], [3]. This mechanism consists in an
and pendulum rotating in the vertical plane. See Fig. 1 for
arm rotating in the horizontal plane and pendulum rotating
a description of the relative joint angle measurements and
in the vertical plane. The system has only one actuator that
torque application.
provides torque τ ∈ IR at the arm.
Feedback linearization is a commonly control technique
used in non linear systems; see for example [4] and [5]. A
constructive methodology to control the Furuta pendulum by
means of feedback linearization and Lyapunov design was
presented in [6]. However, the methodology to calculate the
zero-dynamics of the system disagrees the theory introduced
in [4] and [5]. Moreover, in [7] an output tracking nonlinear
controller was presented for a frictionless model of the
Furuta pendulum; notwithstanding, again the zero-dynamics
was not obtained according to the theory available. Finally,
in [8] an adaptive fuzzy controller based on a feedback
linearizing scheme was presented for the inverted-pendulum Fig. 1. Furuta pendulum.
on a cart system. But again, the zero-dynamics was not
determined according to the theory reported on the feedback The dynamic model of the Furuta pendulum in Euler-
linearization. Langrange form is written as [2], [9], [10],
The control problem addressed in this paper is to keep the
M (q)q̈ + C(q, q̇)q̇ + g(q) + f v (q̇) + f c (q̇) = u, (1)
error trajectories uniformly ultimately bounded (UUB). The
purpose of this document is to introduce a new controller, where    
which is obtained by the feedback linearization technique, q1 τ
q= and u =
q2 0
*Work supported by CONACyT project number 176587, and SIP-IPN,
Mexico. are the vector of joint position and the torque input vector,
† Author to whom correspondence should be addressed. respectively, being τ ∈ IR the torque input of the arm,
C. Aguilar-Avelar and J. Moreno-Valenzuela are with Instituto Politécnico
θ1 + θ2 sin2 (q2 ) θ3 cos(q2 )
 
Nacional–CITEDI, Av. del Parque 1310, Mesa de Otay, Tijuana, B.C., Mex- M (q) = ,
ico (e-mail:caguilar@citedi.mx, moreno@citedi.mx). θ3 cos(q2 ) θ4

978-1-4799-3274-0/$31.00 ©2014 AACC 4543


C(q, q̇) = where
 
1 1 ė1
 
2 θ2 q̇2
sin(2q2 ) −θ3 q̇2 sin(q2 ) + 2 θ2 q̇1
sin(2q2 )
,
− 21 θ2 q̇1
sin(2q2 ) 0  ė2 
f (x) = 
q̈d1 − fz1  ,
 (8)
   
0 θ6 q̇1 −fz2
g(q) = , f v (q̇) = ,
−θ5 sin(q2 ) θ7 q̇2  T
  g(x) = 0 0 −gz1 −gz2 , (9)
θ8 tanh(β q̇1 )  T
f c (q̇) = , x = e1 e2 ė1 ė2 . (10)
θ9 tanh(β q̇2 )
Feedback linearization is a control technique commonly
where M (q) ∈ IR2×2 is the positive definite inertia matrix
used in non linear systems. This approach consists in the
and C(q, q̇)q̇ ∈ IR2 is the centrifugal and Coriolis torque
transformation of the non linear system into an equivalent
vector, g(q) ∈ IR2 is known as the gravitational torque
system through a proper output signal.
vector, f v (q̇) ∈ IR2 is the vector containing the viscous
Now, we propose the output function as
friction terms of each joint, and f c (q̇) ∈ IR2 is continuous
and differentiable version of the Coulomb friction vector with y = ∆1 e1 + ∆2 e2 + ė1 + ė2 , (11)
β > 0 large enough. The constant parameters θi , with i =
{1, 2, 3, ..., 9} are related with the physical characteristics of where ∆1 and ∆2 are positive constants.
the Furuta pendulum model. According to Definition 6.7, page 244 in [5], for the output
The physical meaning of the input vector u ∈ IR2 is that function defined as in (11) and the system in (7), the relative
the system is equipped with one actuator only, which delivers degree of the system is r = 1. Then, we have that the control
the torque input τ ∈ IR. input given by
−∆1 ė1 − ∆2 ė2 − q̈d1 + fz1 + fz2 + v
B. Control Problem τ= , (12)
−[gz1 + gz2 ]
First, let us define the following signals
    results in a linear differential relation between the output y
e q − q1 and a new function v to be defined, i.e.,
e = 1 = d1 , (2)
e2 −q2
d
y = v. (13)
where qd1 (t) is twice-differentiable signal that denotes the dt
desired angular position of the arm. The output in (11) can be turned into an exponentially
The control problem consists in designing a controller τ ∈ convergent signal by defining
IR such that the error trajectories e(t) ∈ IR2 satisfies the
definition of a UUB signal. In other words, the controller v = −Kp y, (14)
should guarantee where Kp is a positive constant.
ke(0)k < a ⇒ ke(t)k ≤ b ∀ t ≥ t0 + T. (3) Notice that the controller (12) is valid in a region of the
state space where
III. PROPOSED SCHEME gz1 + gz2 6= 0.
A. Controller Derived from Feedback Linearization
However, based on the Furuta pendulum model and the
In order to derive the feedback linearization controller, we numerical values of the parameters θ3 and θ4 to be presented
express the open-loop dynamics (1) as later, we have
d
q̇ = f z (q, q̇) + g z (q)τ, (4) gz1 + gz2 < 0, ∀ |q2 | < arccos(θ4 /θ3 ). (15)
dt
where f z = [fz1 fz2 ]T is the part of the Furuta pendulum The dynamics of the output y(t) is given by (13) and (14),
dynamics that is not related whit the control input τ , given for which we have that
by lim y(t) = 0,
t→∞
−1
f z (q, q̇) = M (q) [−C(q, q̇)q̇ − g(q) − f v (q̇) − f c (q̇)],
with exponential convergence rate.
(5)
and g z = [gz1 gz2 ]T is the part of the Furuta pendulum IV. ZERO DYNAMICS
dynamics that is directly related with the control input, such When a feedback linearization controller is applied to
that   a nonlinear system, it is necessary to analyze the zero-
1 M22
g z (q) = . (6) dynamics of the system (a particular case of the internal
det M −M12
dynamics). The zero-dynamics of the nonlinear system (7)-
By using the definition of e in (2), the open-loop error (11) is the dynamics of the system subjected to the constraint
dynamics can be written as that the output be identically zero [5].
d In agreement to the feedback linearization control tech-
x = f (x) + g(x)τ, (7) nique, and for relative degree r = 1, we have for the
dt

4544
zero-dynamics analysis a coordinate transformation vector However, the explicit proof of the derivation of (23) will be
z = [η T ζ1 ]T , where ζ1 = y(x) and the structure of the left out for shortening. In fact, the inequality (23) provides
vector η is an explicit tuning guideline, which consists in selecting ∆2
 T large enough. Also, it is possible to proof that, given the
η = η1 η2 η3 , (16) exponential convergence of the external dynamics trajecto-
with each of the elements of the vector η linearly indepen- ries ζ1 (t) and the uniformly ultimately boundedness of the
dent and satisfying the partial differential equation system internal dynamic trajectories η(t), the error state trajectories
x(t) are UUB as well.
∂ηi
Lg ηi = g(x) = 0, i = 1, 2, 3, (17)
∂x V. OUTPUT TRACKING NONLINEAR
where g(x) is defined in (9). Given the above, we propose CONTROLLER
a state transformation defined as In this section we present the controller presented in
[7]. We introduce terms corresponding to viscous friction
z = Hx, (18)
and Coulomb friction in order to improve the controller
where performance and perform a comparison with respect to the
1

0 0 0
 proposed feedback linearization controller.
 0 1 0 0  Following the procedure of design presented in [7], this
H = , is, considering θ2 = θ4 for the constant parameters of the
 0 0 − ggz1
z2
1 
Furuta pendulum dynamic model in (1), and defining an
∆1 ∆2 1 1
output function Z(t) as
and x ∈ IR4 defined in (10).
Z = r∗ q1 + h sin(q2 ), (24)
The internal dynamics of the system simply corresponds
to the equations it is possible to obtain the output tracking controller with
friction compensation
η̇ = w(t, ζ1 , η) (19)
τ = (M (q2 )h − θ3 ) sin(q2 )q̇22 + θ2 sin(2q2 )q̇1 q̇2
of the normal form. The closed-loop system is defined by
(13)-(14) and (19). The zero-dynamics is given by +θ2 G(q2 ) sin(q2 ) cos2 (q2 )q̇12 + θ5 G(q2 ) sin(q2 ) cos(q2 )
−G(q2 ) cos(q2 )θ7 q̇2 − G(q2 ) cos(q2 )θ9 tanh(β q̇2 )
η̇ = w(t, 0, η). (20)
+θ6 q̇1 + θ8 tanh(β q̇1 )
From (18), we obtain the expression of the internal dy- −K1 M (q2 )Ż − K2 M (q2 )Z + M (q2 )v, (25)
namics of the Furuta pendulum as
  d
 where
dt e1

η̇1 (θ1 + θ2 sin2 (q2 ))h − θ3 r∗
d
η̇ =  η̇2  =  h dt e2 i , (21) G(q2 ) = ,
 
d gz2 θ3 h cos2 (q2 ) − θ2 r∗
η̇3 − ė
gz1 1 + ė 2
dt 1
M (q2 ) = [(θ1 + θ2 sin2 (q2 )) − G(q2 )θ3 cos2 (q2 )],
by calculating the time derivative, substituting ė1 and ė2 from r∗
the inverse transformation of (18), substituting gz1 and gz2 v = Z̈d + K1 Żd + K2 Zd − K3 q̇2 ,
obtained from (6), taking into account η1 = e1 and η2 = e2 ,
with r∗ and h being positive constants, and Zd (t) the desired
and considering ζ1 = 0, the zero-dynamics is expressed as
  output. Notice that, the controller in (25) corresponds to
η̇1 the controller in [7], but viscous and Coulomb friction are
 η̇2  = incorporated.
η̇3 By following the steps in [7], it is possible to show that
  the trajectories Ze (t) = Z(t) − Zd (t) and q2 (t) are UUB,
−∆1 G1 η1 − ∆2 G1 η2 − G1 η3
which also implies that e1 (t) = qd1 (t) − q1 (t) is UUB. The
 −∆1 G2 η1 − ∆2 G2 η2 + G1 η3 ,
θ3 θ3 θ3 proof of this fact will be left out for shortening.
θ4 cos(η2 )q̈d1 − θ4 cos(η2 )f z1 − θ4 sin(η2 )η̇1 η̇2 − f z2
(22) VI. EXPERIMENTAL RESULTS
where A. Experimental Platform
gz1 gz2
G1 = , G2 = . In this section, the real-time implementation of the pro-
gz1 + gz2 gz1 + gz2 posed controller (12) and the output tracking controller with
It can be shown that a sufficient condition for the trajec- friction compensation in (25) are presented. The experimen-
tories η(t) to be UUB is that tal tests have been conducted in a Furuta pendulum built at
the Instituto Politécnico Nacional-CITEDI research center.
∆2 > κ(θi , ∆1 ), (23)
See Fig. 2 for picture of the experimental system.
where κ(θi , ∆1 ) is a function of the Furuta pendulum The constant parameters θi of the Furuta pendulum model
parameters θi , which are constants, and of the gain ∆1 . in (1) have been identified. These parameters are shown in

4545
Time evolution of q1 (t)
1.5
Des. Exp.

0.5

P osition [rad]
0

−0.5

−1

−1.5
0 5 10 15
T ime [sec]
Fig. 2. Furuta pendulum prototype built at Instituto Politécnico Nacional-
CITEDI research center.
Fig. 3. FLC: Time evolution of q1 (t) and qd1 (t) obtained by experiment.

Table I, which were obtained by using the filtered dynamic Time evolution of q2 (t)
0.3
model and the classical least squares identification; see for Des. Exp.
0.25
instance [11], [12] and [13], where identification procedures
0.2
for mechanical systems are proposed. In the identification
process, we considered β = 100, which is related to the 0.15

P osition [rad]
vector of Coulomb friction f c (q̇) ∈ IR2 in the Furuta 0.1

pendulum model in (1). 0.05

TABLE I −0.05

N UMERICAL VALUES OF THE F URUTA PENDULUM PARAMETERS −0.1

Symbol Value Unit Symbol Value Unit −0.15

θ1 0.0619 Kg m2 rad θ6 0.0083 N m rad/s


−0.2
θ2 0.0149 Kg m2 rad θ7 0.0007 N m rad/s 0 5 10 15
T ime [sec]
θ3 0.0185 Kg m2 rad θ8 0.0188 N m rad/s
θ4 0.0131 Kg m2 rad θ9 0.0087 N m rad/s
θ5 0.5076 Kg m2 rad −− −− −− Fig. 4. FLC: Time evolution of q2 (t) obtained by experiment.

The joint velocity is estimated through discrete differenti- Particularly, in Fig. 6 the response of the output function
ation from joint position measurements. y(t) in (11) is appreciated. Although theory predicts expo-
The initial condition of the experimental system was nential convergence of y(t), an oscillatory behavior with high

q1 (0)
  
0

q̇ (0)
  
0 frequency components is presented. It is noteworthy that the
= [rad], and 1 = [rad/s]. output function y(t) in (11) depends of the joint velocity
q2 (0) 0 q̇2 (0) 0
q̇(t) ∈ IR2 . The main reason for the oscillatory behavior of
In order to compare the tracking performance of the feedback y(t) is that the joint velocity q̇(t) is estimated via the “dirty”
linearization controller (FLC) in (12) with respect to the derivative algorithm and the relative high value of the gains
output tracking controller (OTC) in (25), the desired joint ∆1 and ∆2 .
trajectory qd1 (t) for the arm position was defined as By means of numerical simulation assuming a continuous
time implementation of the controller and non quantized
qd1 (t) = sin(t). position and velocity measurements, the exponential conver-
gence of y(t) was corroborated.
B. Results for the Feedback Linearization Controller
C. Results for the Output Tracking Controller
Here, the results for the FLC in (12) are described. The
control gains concerning the output function y in (11), we For the experimental implementation of the scheme OTC
used ∆1 = 6.0, ∆2 = 8.0, and Kp = 2.0 in the FLC (12). in (25), for which the desired trajectory qd1 (t) is defined in
The experimental results are illustrated in Fig. 3-6. In relation with the desired output Zd (t), we have
particular, the Fig. 3 shows the time evolution of q1 (t) and qd1 (t) = Zd /r∗ ,
qd1 (t), and the Fig. 4 depicts the time evolution of q2 (t). The
Zd = r∗ sin(t),
applied torque τ (t) and the output signal y(t) are observed
in Fig. 5 and 6, respectively. Concerning to the output function Z(t) in (24), we used r∗ =
The obtained control action τ (t) has high frequency com- 0.55 and h = 0.60. For the OTC in (25), the control gains
ponents. This is attributed to the PWM switching of the servo that showed better experimental performance were K1 = 6.0,
amplifier and to the discrete velocity estimation. K2 = 8.0 and K3 = 1.0.

4546
Applied control action τ (t) Time evolution of q2 (t)
2 0.3
Exp. Des. Exp.
1.5 0.25

0.2
1

0.15
T orque [Nm]

P osition [rad]
0.5
0.1

0
0.05

−0.5 0

−0.05
−1

−0.1
−1.5
−0.15

−2
0 5 10 15 −0.2
0 5 10 15
T ime [sec] T ime [sec]

Fig. 5. FLC: Time evolution of control input τ (t) obtained by experiment. Fig. 8. OTC: Time evolution of q2 (t) obtained by experiment.

Time evolution of the output y(t)


5 Applied control action τ (t)
Exp. 2
Exp.
4 1.5

3 1

T orque [Nm]
0.5
2

−0.5

0
−1

−1 −1.5

−2 −2
0 5 10 15 0 5 10 15

T ime [sec] T ime [sec]

Fig. 6. FLC: Time evolution of the output signal y(t) obtained by Fig. 9. OTC: Time evolution of control input τ (t) obtained by experiment.
experiment.

Time evolution of the output function Z(t)


0.8
Time evolution of q1 (t) Des. Exp.
1.5
Des. Exp. 0.6

1 0.4

0.2
0.5
P osition [rad]

0
−0.2

−0.5 −0.4

−0.6
−1

−0.8
0 5 10 15
−1.5 T ime [sec]
0 5 10 15
T ime [sec]

Fig. 10. OTC: Time evolution of the output signal Z(t) obtained by
Fig. 7. OTC: Time evolution of q1 (t) and qd1 (t) obtained by experiment. experiment.

4547
Time evolution of e1 (t)
0.4 cost of a slightly greater control action for the FLC, with
OT C F LC
the RMS value of τ (t) increased by 3.86%.
0.3

TABLE II
0.2 C OMPARISON OF THE RMS VALUE FOR 10 ≤ t ≤ 15
P osition [rad]

Index OTC FLC *%


0.1
ke1 (t)krms [rad] 0.0721 0.0474 34.25%
ke2 (t)krms [rad] 0.0381 0.0378 0.84%
0 kτ (t)krms [Nm] 0.1155 0.1200 -3.86%
*Percentage of improvement of FLC with respect to OTC
−0.1

−0.2
0 5
T ime [sec]
10 15
VII. CONCLUSIONS
A new controller based on the feedback linearization
Fig. 11. Experimental comparative: Time evolution of error e1 (t) for technique has been introduced in this paper. The output
both controllers. function y(t) was selected as a linear combination of the
position and velocity tracking errors. In fact, the output
Time evolution of e2 (t)
0.25 function y(t) is inspired from the filtered tracking error used
OT C F LC
0.2 in passivity-based controllers for fully actuated mechanical
0.15 systems.
0.1
The main theoretical result consisted in proving that the
output function y(t) converges to zero in an exponential form
P osition [rad]

0.05

0
while the trajectories of the zero-dynamics are UUB. Real-
−0.05
time experiments confirmed the validity of the main result.
−0.1
R EFERENCES
−0.15
[1] K. Furuta, M. Yamakita and S. Kobayashi, “Swing-up control of
−0.2 inverted pendulum using pseudo-state feedback”, Journal of Systems
−0.25
and Control Engineering, vol. 206, no. 4, pp. 263-269, 1992.
0 5 10 15
T ime [sec] [2] I. Fantoni and R. Lozano, Non-Linear Control for Underactuated
Mechanical Systems, Springer-Verlag, London, 2002.
[3] J. A. Acosta, “Furuta’s pendulum: A conservative nonlinear model for
Fig. 12. Experimental comparative: Time evolution of error e2 (t) for theory and practice”, Mathematical Problems in Engineering, vol. 2010,
both controllers. Article ID 742894, pp. 1-29, 2012.
[4] H. K. Khalil, Nonlinear Systems, Prentice Hall, Upper Saddle River,
2002.
[5] J.-J. E. Slotine and W. Li, Applied Nonlinear Control, Prentice Hall,
The experimental results are illustrated in Fig. 7-10. In New Jersey, 1991.
particular, the Fig. 7 shows the time evolution of q1 (t) and [6] J. A. Acosta and M. López-Martı́nez, “Constructive feedback lineariza-
tion of underactuated mechanical systems with 2-DOF”, In Proc. of the
qd1 (t), and the Fig. 8 depicts the time evolution of q2 (t). The 44nd IEEE Conf. on Decision and Control, Seville, Spain, Dec. 2005,
applied torque τ (t) and the output signal Z(t) are observed pp. 4909-4914.
in Fig. 9 and 10, respectively. [7] Q. Yan, “Output tracking of underactuated rotary inverted pendulum by
nonlinear controller”, In Proc. of the 42nd IEEE Conf. on Decision and
D. Performance Comparative Control, Maui, Dec. 2003, vol. 3, pp. 2395-2400.
[8] M. I. El-Hawwary, A. L. Elshafei, H. M. Emara and H. A. Abdel Fattah,
The discussion of the experimental results for the con- “Adaptative fuzzy control of the inverted pendulum problem”, IEEE
trollers is now presented. With this aim, in Fig. 11 the track- Transactions on Control Systems Technology, vol. 14, no. 6, pp. 1135-
1144, 2006.
ing error e1 (t) for both implementations is given. Likewise, [9] L. Sciavicco and B. Siciliano, Modelling and Control of Robot Manip-
in Fig. 12 the regulation error of the pendulum e2 (t) for both ulators, Springer-Verlag, London, 2000.
implementations is presented. [10] B. S. Cazzolato and Z. Prime, “On the dynamics of the furuta
pendulum”, Journal of Control Science and Engineering, vol. 2011,
To obtain a better interpretation of the information pre- Article ID 528341, pp. 1-8, 2011.
sented in Fig. 11-12, in Table II the RMS values of e1 (t), [11] O. Garcı́a-Alarcón, S. Puga-Guzmán and J. Moreno-Valenzuela, “On
e2 (t) and τ (t) for both controllers are shown. Let us notice Parameter Identification of the Furuta Pendulum”, Procedia Engineer-
ing, vol. 35, pp. 77-84, 2012.
that the RMS value of a signal is less affected than other [12] P. Logothetis and J. Kieffer, “On the identification of the robot
norms by large but infrequent values of the signal [14]. To dynamics without acceleration measurements”, Internal Report, Faculty
calculate the RMS values shown in Table II, the time interval of Engineering and Information Technology, Australian National Uni-
versity, 1996. Available at http://citeseerx.ist.psu.edu/
considered is 10 ≤ t ≤ 15, with the purpose of eliminating viewdoc/summary?doi=10.1.1.55.8716
the transitory response. [13] M. Gautier and Ph. Poignet, “Extended Kalman filtering and weighted
As can be seen in Table II, the FLC in (12) performs better least squares dynamic identification of robot”, Control Engineering
Practice, vol 9, no. 12, pp. 1361-1372, 2001.
than the OTC in (25). The FLC reduces the RMS value of [14] S. Boyd and C. Barratt, Linear Controller Design: Limits of Perfor-
e1 (t) by 34.25% with respect to the OTC algorithm, while mance, Prentice-Hall, 1991.
the RMS value of e2 (t) is reduced by 0.82%. This at the

4548

You might also like