# Furuta's Pendulum: AConservative Nonlinear Model for Theory and Practise

Authors: J. Á. Acosta
Journal: Mathematical Problems in Engineering
 (2010)

---

## Abstract

Furuta's pendulum has been an excellent benchmark for the automatic control community in the last years, providing, among others, a better understanding of model-based Nonlinear Control Techniques. Since most of these techniques are based on invariants and/or integrals of motion then, the dynamic model plays an important role. This paper describes, in detail, the successful dynamical model developed for the available laboratory pendulum. The success relies on a basic dynamical model derived from Classical Mechanics which has been augmented to compensate thenon-conservative torques. Thus, the quasi-conservative “practical” model developed allows to design all the controllers as if the system was strictly conservative. A survey of all the nonlinear controllers designed and experimentally tested on the available laboratory pendulum is also reported.


---

## Body

## 1. Introduction

The control of underactuated mechanical systems has attracted the interest of the control engineering community for many years. Underactuated mechanical systems are control systems with fewer control inputs than degrees of freedom. This lack of inputs is, precisely, the main difficulty to control them. Moreover, the control of underactuated mechanical systems is currently an active field of research due to their broad applications in Robotics, Aerospace, and Marine Vehicles. Some examples of underactuated mechanical systems include flexible-link robots, mobile robots, walking robots, robots on mobile platforms, cars, locomotive systems, snake-type and swimming robots, acrobatic robots, aircraft, spacecraft, helicopters, satellites, surface vessels, and underwater vehicles.One of the most well-known underactuated mechanical systems is the pendulum which is an excellent benchmark for many control problems, attracting the attention of many researchers during years. The available version of the pendulum is the rotary pendulum shown in Figure1, and this survey is focused on that laboratory pendulum where many control strategies have been designed and successfully tested. The rotary pendulum is one of the most complex two-degrees-of-freedom pendulum since its configuration provides centrifugal torques, which are quadratic in velocities, giving rise to many interesting and difficult control problems.Figure 1
Available Furuta's pendulum.The rotary pendulum is also known as Furuta's pendulum. Furuta was the inventor, and has been studied by many authors such as Furuta himself [1] (see also [2–4] among others). It is a non-linear underactuated mechanical system that is unstable at the desired upright position. In fact, it shows, mainly, two different and very interesting control problems. The first one is to swing the pendulum up from the rest (down) to the upright (up) position, which is commonly solved with energy control strategies. Once the pendulum is close to the desired upright position, at low speed, a stabilization or balancing strategy “catches” it there. Other control problems are also quite interesting as the stabilisation of autonomous oscillations and control through bifurcation analysis. All of them are briefly commented in the survey focusing on all the designed and experimentally tested in the available laboratory pendulum.The paper is organized as follows. In Section2 the non-linear model for the available pendulum is derived in detail, including a dynamical-friction model. In Section 3, a survey of the non-linear strategies designed and tested on the available pendulum is given. A literature review showing the relations with other approaches are also briefly commented. Finally, a conclusion section and two appendices, one describing the whole experimental control system and another with the MATLAB codes used for the non-trivial identification of parameters of the dynamical-friction model.Notation and Definitions
Throughout the paper it is assumed that all functions and vector functions are sufficiently smooth. Moreover, concerning functions, vector functions, and matrices which are functions of some variables, we will write explicitly this dependence the first time they are defined. The norm of a vectorx∈ℝn will be denoted by ∥x∥ and the square of the Euclidean norm by ∥x∥22=x⊤x. Acronyms used: w.r.t. means “with respect to”; i.e. means “that is.”Consider a dynamical system affine in control asẋ(t)=f(x(t))+g(x(t))u, where x∈ℝn is the state space vector, u∈ℝm is the control input vector and where we assume that the origin is at x=0 with f(0)=0 and g(0)≠0. Thus,(i)
theopen-loop system means the unforced system, that is, with u=0;(ii)
a (smooth) static state-feedback means a control input of the formu=ϕ(x), also called controller, control law and stabiliser when a stabilisation problem is considered;(iii)
theclosed-loop system means the system with a specified static state-feedback, i.e. ẋ=f(x)+g(x)ϕ(x);(iv)
linearisation means a non-linear static state-feedback that linearises fully or partially the dynamics;(v)
theJacobian linearisation means the first approximation of the system dynamics through the Jacobian at the origin.


## 2. TheConservative Mechanical Model

The schematic of Furuta's pendulum is described in Figure2, where the two degrees of freedom are shown: the angular positions of the arm (φ) and the pendulum (θ). The arm shaft (corresponding to the angle φ referred to the x-axis) is subject to a torque, while no torque is applied directly to the pendulum shaft (angle θ of pendulum referred to the z-axis). Thus, it is an underactuated mechanical system because it has only one control input and two degrees of freedom. Rigorously, the configuration space is a 2-torus, that is, (θ,φ)∈𝒮1×𝒮1 and the corresponding tangent space is (θ,φ,θ̇,φ̇)∈𝒮1×𝒮1×ℝ2.Figure 2
Reference frame of coordinates.We define the physical parameters of the system asm: mass of the pendulum,2l: total length of the pendulum,r: length of the arm (radius),g: acceleration of gravity,𝒥: moment of inertia of the pendulum w.r.t. the pivot,𝒥a: moment of inertia of the arm and the motor,K: constant torque,u: control input,τ: control torque (τ:=Ku).In what follows, energy methods of Classical Mechanics are used to derive the dynamical equations of motion. So, defining the reference frame of coordinates as in Figure2 and assuming a linear distribution of the mass of the pendulum then, the coordinates of a differential mass element, namely ρ-mass element (see Figure 2), of the pendulum referred to that reference frame read
(2.1)xρ=rcosφ-ρsinθsinφ,yρ=rsinφ+ρsinθcosφ,zρ=ρcosθ.
Since it is a simple mechanical system the total energy is composed by the sum of the kinetic and the potential energies. Thus, on the one hand the instantaneous kinetic energy of the system is composed by the kinetic energies of the pendulum and the arm (including the motor) and becomes(2.2)𝒯(θ,θ̇,φ̇)=12∫02lvρ2(ρ)dm+12𝒥aφ̇2,
where vρ is the module of the velocity of the ρ-mass element of the pendulum, which is obtained differentiating (2.1) w.r.t. the time and adding the squares. Thus, it becomes
(2.3)vρ2(ρ)=r2φ̇2+ρ2φ̇2sin2θ+2rρθ̇φ̇cosθ+ρ2θ̇2.
Since by assumption dm=m/2ldρ then, the kinetic energy from (2.2) and (2.3) becomes
(2.4)𝒯(θ,θ̇,φ̇)=12[θ̇φ̇]⊤[𝒥mrlcosθmrlcosθ𝒥a+mr2+𝒥sin2θ][θ̇φ̇].
On the other hand, the potential energy of the system w.r.t. the given reference frame is only the one of the pendulum and, integrating for the ρ-mass element, becomes(2.5)𝒱(θ)=mgl(cosθ-1),
which is zero at the upright position of the pendulum. Now, with the energy of the whole system completely defined we use both standard and well-known energetic approaches, Euler-Lagrange and Hamilton, to derive the dynamical equations.


### 2.1. Euler-Lagrange Equations

Let define the vectorsq:=(θ,φ)⊤∈𝒮1×𝒮1 and q̇:=(θ̇,φ̇)⊤∈ℝ2 and, just for compactness, another different set of physical parameters as(2.6)α:=mrl𝒥,β:=𝒥a+mr2𝒥,γ:=Kmgl,ω02:=mgl𝒥.
Thus, to derive the Euler-Lagrange equations we calculate the Lagrangian of the system as the difference between the kinetic and potential energies of the whole system from equations (2.4) and (2.5), respectively. Then, the Lagrangian can be written as(2.7)ℒ(q,q̇)=12q̇⊤M(q)q̇-𝒱(q),
where we have introduced the inertia matrix M(q) that from (2.4) and with the new set of parameters (2.6) becomes
(2.8)M(q)=𝒥[1αcosq1αcosq1β+sin2q1].
The well-known Euler-Lagrange equations [5] for this system take the form(2.9)ddt(∂ℒ∂q̇1)-∂ℒ∂q1=0,ddt(∂ℒ∂q̇2)-∂ℒ∂q2=τ,
which can be rewritten as(2.10)M(q)q̈+C(q,q̇)q̇+∂𝒱∂q(q)=[0τ],
where C(q,q̇) is the matrix of Coriolis and gyroscopic torques. Thus, the matrices defined in (2.10) are given by(2.11)C(q,q̇)=𝒥[0-q̇2sinq1cosq1-αq̇1sinq1+q̇2sinq1cosq1q̇1sinq1cosq1],∂𝒱∂q(q)=𝒥[-ω02sinq10],
and so (2.10) reads(2.12)q̈1+αcosq1q̈2-12sin2q1q̇22-ω02sinq1=0,(2.13)αcosθq̈1+(β+sin2q1)q̈2-αsinq1q̇12+sin2q1q̇1q̇2=γω02u.
Notice that, if the matrix C(q,q̇) is derived through Christoffel symbols [5, 6] (which is the case), then the matrix Ṁ(q)-2C(q,q̇) is skew-symmetric.Since, the inertia matrixM(q) is positive definite and so invertible, then these equations can be rewritten as an affine-in-control system, just isolating the accelerations from (2.10) as(2.14)q̈=-M(q)-1(C(q,q̇)q̇+∂𝒱∂q(q))+M(q)-1[0τ].
Denoting the determinant of the inertia matrix as Δ(q), then (2.14) becomes(2.15)Δq̈1=(-α2q̇12+(β+sin2q1)q̇22+2αcosq1q̇1q̇2)sinq1cosq1+βω02sinq1+ω02sin3q1-αγω02cosq1u,(2.16)Δq̈2=α(q̇12-cos2q1q̇22)sinq1-12(2q̇1q̇2+αω02)sin2q1+ω02γu,
with Δ(q1)=𝒥(β+sin2q1-α2cos2q1). Notice that (2.15)-(2.16) is a fourth-order non-linear system strongly coupled and the coordinate q2 is cyclic. Remind that, a coordinate is said to be cyclic when it does not appear in the Lagrangian [7], and therefore the corresponding momentum is a constant of motion for the unforced system (u=0). The latter means that the system is completely integrable. Roughly speaking, a completely integrable system is a system with the same number of integrals of motion and degrees of freedom.


#### 2.1.1. Partial Linearisation

A common practise in control design, in order to reduce the complexity of the equations of motion, is to introduce a (non-linear) change in the control input to linearise the actuated equation (2.13), or (2.16), in the acceleration of the q2-coordinate. Thus, from (2.16) and defining(2.17)ω02γu:=Δu̅-α(q̇12-cos2q1q̇22)sinq1+12(2q̇1q̇2+αω02)sin2q1,
system (2.12)-(2.13) becomes(2.18)q̈1-12sin2q1q̇22-asinq1=-bcosq1u̅,q̈2=u̅,
where a:=ω02, b:=α, and u̅ is the new control input. Notice that (q,q̇,u)⇝(q,q̇,u̅) is a globally defined change of coordinates and control. The system in (q,q̇,u̅)-coordinates can be seen as an Euler-Lagrange system where, through the Routh transformation [7], the energy is an integral of motion of the unforced system (u̅=0) and reads(2.19)ℰ(q,q̇)=12∥q̇∥22+14cos2q1q̇22+a(cosq1-1).
Notice that the effective potential has been added because q̇2 is the another integral of motion. Therefore (2.18) it is a new conservative system, completely integrable [5].


### 2.2. Hamilton Equations

Formally the Hamilton equations can be derived through the Legendre transformation [5] defining the conjugate momenta as p:=∂ℒ/∂q̇. Thus, the Hamilton function becomes(2.20)ℋ(q,p):=q̇⊤p-ℒ(q,p).
Notice that for a Lagrangian given by (2.7) then p=M(q)q̇ with ℒ(q,p) being the Lagrange function in the Hamiltonian set of coordinates (q,p)∈𝒮1×𝒮1×ℝ2. Nevertheless, since the system is autonomous then the Hamiltonian function coincides with the internal energy of the system, and so it can be easily computed as(2.21)ℋ(q,p)=12p⊤M(q)-1p+𝒱(q).
The Hamilton equations [5] are(2.22)q̇=∂ℋ∂p,ṗ=-∂ℋ∂q+[0τ],
and for Furuta's pendulum become(2.23)q̇1=1Δ[(β+sin2q1)p1-αp2cosq1],(2.24)q̇2=1Δ[p2-αp1cosq1],(2.25)ṗ1=12Δ2𝒥[(β+sin2q1)p12+p22-2αp1p2cosq1]·[(1+α2)sin2q1]+𝒥ω02sinq1-12Δ[p12sin2q1+2αp1p2sinq1],(2.26)ṗ2=𝒥γω02u,
with Δ(q1)=𝒥(β+sin2q1-α2cos2q1).


### 2.3. Non-Conservative Friction Torques

In the previous sections aconservative mechanical model was derived using Classical Mechanics. In this section, we add the non-conservative torques due to friction in the real system. To this end, we focus the analysis in our available laboratory Furuta's pendulum, which was shown in Figure 1. The physical values of the parameters of this pendulum are shown in Table 1 (see [8] for details).Table 1
Physical parameter values of the laboratory pendulum.
ParameterValueUnitMass of the pendulum0.0679KgLength of the pendulum0.14mLength of the arm0.235mMass of the arm0.2869KgInertia of the motor0.0012Kg m2Constant torque7.4N m/vThe friction phenomena in this pendulum come up in the joints. The pendulum joint is composed by a small ball bearing in which friction can be well modelled by a damping constant. Otherwise, in the arm joint a DC-motor and a slip ring are directly coupled (see AppendixA), and therefore the friction is not a damping-like torque, moreover it is strongly non-linear. In what follows of this section we derive the friction models designed in both joints.Pendulum Joint
Thenon-conservative torques due to a natural damping is introduced through Rayleigh's dissipation function, namely  𝒟(q). So, calling c̅p to the damping constant then, the non-conservative torque, namely τd, becomes
(2.27)τd=d𝒟(q̇1)dq̇1=ddq̇1(12c̅pq̇12)=c̅pq̇1.
This constant is easily estimated measuring the damping of a free-motion experiment yielding c̅p=0.0000226. The small value is due to the small ball bearing and so it could be neglected.Arm Joint
A carefully experimental study reveals that the friction torque in the motor shaft is not only a natural damping [8]. In fact, static and dynamic friction torques have to be taken into account in order to have a good estimation of the friction torque in this joint. To this end, a dynamic friction model, called LuGre (from Lund Institute and Grenoble Laboratory) model [9–11], is used. The dynamical equations of this model are
(2.28)dzdt=v-σ0g(v)z|v|,(2.29)g(v)=τc+(τs-τc)e-(v/vs)2,(2.30)τr=σ0z+σ1dzdt+σ2v,
where the parameters are defined as τr: estimated friction torque,τc: Coulomb friction torque,τs: static friction torque,σ0,1: internal model parameters,σ2: dynamic friction constant,vs: Stribeck's velocity,z: internal state of the model,v: velocity (q̇2=φ̇).Next, we give all the necessary steps to identify the parameters of the model (2.28)–(2.30). The physical meaning of these parameters is thoroughly described in [9]. Other kind of dynamical models for friction compensation can be also considered as in [12, 13]. Nevertheless, as we will show further, this model gave us a precise estimation. This good estimation allows to compensate the friction in this joint and, therefore, it gives us the chance of designing control strategies as if it was a conservative system. To this end, in [9] some identification methods are suggested but, with the base given in [9] and our experience we have designed our own identification methodology. Thus, the identification of these parameters can be made in four steps corresponding to four different experiments, respectively. Obviously, to identify all the parameters the pendulum is decoupled from the system, i.e. it only remains the arm plus motor. We briefly comment the four experiments designed.Step 1 (identification ofτc and σ2).
We use here a standard least-square algorithm to identifyτc and σ2. We consider the first-order system given by
(2.31)𝒥advdt=τ-τcsgn(v)-σ2v.
A side-effect parameter 𝒥a can also be estimated with this experiment. Notice that, (2.31) becomes linear in the parameters. Thus, we introduce in the input τ a square signal (open-loop) and then we measure the angular position of the arm, as shown in Figure 3 (top-left). The results after applying a least-square algorithm to (2.31) are shown in Table 2. Notice, from Table 2, the asymmetry which means that the identification is different for positive and negatives velocities. The MATLAB code for the positive case of v:=q̇2 is given in Appendix B.1.Table 2
Parameters of the LuGre model identified.
ExperimentParameter(+)(-)Step1𝒥a0.00030.0004τc/K0.22380.2308σ20.00220.0020Step2τs/K0.39600.3789Step3vs0.92970.9725Step4σ030σ10.2389Experiments for Steps1–4.
(a)(b)(c)(d)Step 2 (identification ofτs).
The static friction is identified forcing a limit cycle in the system. To this end, we feedback the angle of the motor with a slight proportional integral (PI) action, of the formu=k1e+k2∫0te(τ)dτ, with k1,2 gains and where e is the error between the measured state and the desired reference. The values are directly identified from Figure 3 (top-right) and the results are in Table 2. Notice again the asymmetric behaviour of the system. The MATLAB code is given in Appendix B.2.Step 3 (identification ofvs).
To identify Stribeck's velocity we first need to know the parameters𝒥a, τc, and τs, which are known after steps above. The experiment consists in forcing a very low speed in the motor shaft (open-loop). Thus, the fictitious state z can be approximated, from (2.28), by
(2.32)dzdt≈0⇒z≈g(v)σ0v|v|,
and then, from (2.30) the torque can be approximated by
(2.33)τr≈(τc+(τs-τc)e-(v/vs)2)sgn(v),
which additionally allows to linearise the equation
(2.34)𝒥advdt=τ-τr,
as
(2.35)v2(t)=vs2lnγ(t),
where γ is given by
(2.36)γ=τs-τc(τ-𝒥a(dv/dt))sgn(v)-τc.
The approximation is only valid if τs>τc and γ⩾1. A sinusoidal input torque (open-loop) allows us to estimate the value of γ and so vs. The experiment is shown on Figure 3 (bottom-left) and the results are shown in Table 2 yielding, again, an asymmetric behaviour. The MATLAB  code for positive values of v:=q̇2 is given in Appendix B.3.Step 4 (identification ofσ0 and σ1).
The parameterσ0 is estimated forcing a ramp in the input (open-loop) such that the angle cross by zero. The maximal and minimal values of the ramp should be around ±0.8τs and the slope small enough. The value of σ0 can be estimated with σ0≈Δτ/Δφ. The experiment is shown in Figure 3 (bottom-right).
To estimateσ1 we assume small displacements and |z|≪g(v). Thus, ż=v=q̇2 from (2.28), and then we use a linear second-order model given by
(2.37)𝒥aq̈2+(σ1+σ2)q̇2+σ0(q2+q2(0))=τ.
Therefore, since it is a second-order linear system the value of σ1 is easily estimated imposing
(2.38)σ1=2ζσ0𝒥a-σ2,
where ζ is the damping constant of the linear model and σ2 and 𝒥a are known from Step 1. The MATLAB code is given in Appendix B.4.


### 2.4. The Complete Model

Once the friction torques have been estimated we add them to the model in the Lagrangian framework, being dual for the Hamiltonian case. Thus, the Euler-Lagrange equations with thenon-conservative torques included become(2.39)ddt(∂ℒ∂q̇1)-∂ℒ∂q1+τd=0,(2.40)ddt(∂ℒ∂q̇2)-∂ℒ∂q2+τr=τ,
where again we normalise dividing by 𝒥 with cp:=c̅p/𝒥. Then, the differences from (2.10) are, on one hand, the matrix C(q,q̇) which turns into
(2.41)C(q,q̇)=𝒥[cp-q̇2sinq1cosq1-αq̇1sinq1+q̇2sinq1cosq1q̇1sinq1cosq1],
and on the other hand the torque is reduced in τr=Kur, where τr is estimated by equations (2.28)–(2.30) with v:=q̇2.After adding thenon-conservative friction torques the model is a better approximation of reality. Nevertheless, to easy the computations of the non-linear control laws, we use the friction models to compensate the friction instead of modelling it. In fact, this is the success of our model in practise. However, remind that the system has two degrees of freedoms and just one actuation torque, which means that we can compensate the friction torques only in the actuated coordinate q2. This can be easily seen in (2.39)-(2.40). Thus, in (2.40) the friction torque τr can be compensated adding it to the input torque (positive feedback). Otherwise, in the unactuated equation (2.39) we cannot compensate anything at all, since we do not have an independent input. Recall that our objective was to approximate in practise as well as possible to the conservative model given by the equations (2.9), or equivalently (2.22). In Figure 4 we show how the added torque compensates the friction. In the pendulum joint, as commented above, we cannot compensate τd in (2.39). Nevertheless, by construction the friction torque can be neglected, i.e. τd≈0, because we use a small enough ball bearing for the joint (recall that c̅p≈2.26×10-5).Figure 4
Friction compensation loop.Finally, after compensating thenon-conservative torque then, the completed model is a good approximation to the conservative model given by (2.9). The reader will realise this good approximation in the next section, where most of all the non-linear controllers were designed with (2.9), or equivalently (2.22). Moreover, in most of the controllers conservative quantities were used for the design stage.


## 2.1. Euler-Lagrange Equations

Let define the vectorsq:=(θ,φ)⊤∈𝒮1×𝒮1 and q̇:=(θ̇,φ̇)⊤∈ℝ2 and, just for compactness, another different set of physical parameters as(2.6)α:=mrl𝒥,β:=𝒥a+mr2𝒥,γ:=Kmgl,ω02:=mgl𝒥.
Thus, to derive the Euler-Lagrange equations we calculate the Lagrangian of the system as the difference between the kinetic and potential energies of the whole system from equations (2.4) and (2.5), respectively. Then, the Lagrangian can be written as(2.7)ℒ(q,q̇)=12q̇⊤M(q)q̇-𝒱(q),
where we have introduced the inertia matrix M(q) that from (2.4) and with the new set of parameters (2.6) becomes
(2.8)M(q)=𝒥[1αcosq1αcosq1β+sin2q1].
The well-known Euler-Lagrange equations [5] for this system take the form(2.9)ddt(∂ℒ∂q̇1)-∂ℒ∂q1=0,ddt(∂ℒ∂q̇2)-∂ℒ∂q2=τ,
which can be rewritten as(2.10)M(q)q̈+C(q,q̇)q̇+∂𝒱∂q(q)=[0τ],
where C(q,q̇) is the matrix of Coriolis and gyroscopic torques. Thus, the matrices defined in (2.10) are given by(2.11)C(q,q̇)=𝒥[0-q̇2sinq1cosq1-αq̇1sinq1+q̇2sinq1cosq1q̇1sinq1cosq1],∂𝒱∂q(q)=𝒥[-ω02sinq10],
and so (2.10) reads(2.12)q̈1+αcosq1q̈2-12sin2q1q̇22-ω02sinq1=0,(2.13)αcosθq̈1+(β+sin2q1)q̈2-αsinq1q̇12+sin2q1q̇1q̇2=γω02u.
Notice that, if the matrix C(q,q̇) is derived through Christoffel symbols [5, 6] (which is the case), then the matrix Ṁ(q)-2C(q,q̇) is skew-symmetric.Since, the inertia matrixM(q) is positive definite and so invertible, then these equations can be rewritten as an affine-in-control system, just isolating the accelerations from (2.10) as(2.14)q̈=-M(q)-1(C(q,q̇)q̇+∂𝒱∂q(q))+M(q)-1[0τ].
Denoting the determinant of the inertia matrix as Δ(q), then (2.14) becomes(2.15)Δq̈1=(-α2q̇12+(β+sin2q1)q̇22+2αcosq1q̇1q̇2)sinq1cosq1+βω02sinq1+ω02sin3q1-αγω02cosq1u,(2.16)Δq̈2=α(q̇12-cos2q1q̇22)sinq1-12(2q̇1q̇2+αω02)sin2q1+ω02γu,
with Δ(q1)=𝒥(β+sin2q1-α2cos2q1). Notice that (2.15)-(2.16) is a fourth-order non-linear system strongly coupled and the coordinate q2 is cyclic. Remind that, a coordinate is said to be cyclic when it does not appear in the Lagrangian [7], and therefore the corresponding momentum is a constant of motion for the unforced system (u=0). The latter means that the system is completely integrable. Roughly speaking, a completely integrable system is a system with the same number of integrals of motion and degrees of freedom.


### 2.1.1. Partial Linearisation

A common practise in control design, in order to reduce the complexity of the equations of motion, is to introduce a (non-linear) change in the control input to linearise the actuated equation (2.13), or (2.16), in the acceleration of the q2-coordinate. Thus, from (2.16) and defining(2.17)ω02γu:=Δu̅-α(q̇12-cos2q1q̇22)sinq1+12(2q̇1q̇2+αω02)sin2q1,
system (2.12)-(2.13) becomes(2.18)q̈1-12sin2q1q̇22-asinq1=-bcosq1u̅,q̈2=u̅,
where a:=ω02, b:=α, and u̅ is the new control input. Notice that (q,q̇,u)⇝(q,q̇,u̅) is a globally defined change of coordinates and control. The system in (q,q̇,u̅)-coordinates can be seen as an Euler-Lagrange system where, through the Routh transformation [7], the energy is an integral of motion of the unforced system (u̅=0) and reads(2.19)ℰ(q,q̇)=12∥q̇∥22+14cos2q1q̇22+a(cosq1-1).
Notice that the effective potential has been added because q̇2 is the another integral of motion. Therefore (2.18) it is a new conservative system, completely integrable [5].


## 2.1.1. Partial Linearisation

A common practise in control design, in order to reduce the complexity of the equations of motion, is to introduce a (non-linear) change in the control input to linearise the actuated equation (2.13), or (2.16), in the acceleration of the q2-coordinate. Thus, from (2.16) and defining(2.17)ω02γu:=Δu̅-α(q̇12-cos2q1q̇22)sinq1+12(2q̇1q̇2+αω02)sin2q1,
system (2.12)-(2.13) becomes(2.18)q̈1-12sin2q1q̇22-asinq1=-bcosq1u̅,q̈2=u̅,
where a:=ω02, b:=α, and u̅ is the new control input. Notice that (q,q̇,u)⇝(q,q̇,u̅) is a globally defined change of coordinates and control. The system in (q,q̇,u̅)-coordinates can be seen as an Euler-Lagrange system where, through the Routh transformation [7], the energy is an integral of motion of the unforced system (u̅=0) and reads(2.19)ℰ(q,q̇)=12∥q̇∥22+14cos2q1q̇22+a(cosq1-1).
Notice that the effective potential has been added because q̇2 is the another integral of motion. Therefore (2.18) it is a new conservative system, completely integrable [5].


## 2.2. Hamilton Equations

Formally the Hamilton equations can be derived through the Legendre transformation [5] defining the conjugate momenta as p:=∂ℒ/∂q̇. Thus, the Hamilton function becomes(2.20)ℋ(q,p):=q̇⊤p-ℒ(q,p).
Notice that for a Lagrangian given by (2.7) then p=M(q)q̇ with ℒ(q,p) being the Lagrange function in the Hamiltonian set of coordinates (q,p)∈𝒮1×𝒮1×ℝ2. Nevertheless, since the system is autonomous then the Hamiltonian function coincides with the internal energy of the system, and so it can be easily computed as(2.21)ℋ(q,p)=12p⊤M(q)-1p+𝒱(q).
The Hamilton equations [5] are(2.22)q̇=∂ℋ∂p,ṗ=-∂ℋ∂q+[0τ],
and for Furuta's pendulum become(2.23)q̇1=1Δ[(β+sin2q1)p1-αp2cosq1],(2.24)q̇2=1Δ[p2-αp1cosq1],(2.25)ṗ1=12Δ2𝒥[(β+sin2q1)p12+p22-2αp1p2cosq1]·[(1+α2)sin2q1]+𝒥ω02sinq1-12Δ[p12sin2q1+2αp1p2sinq1],(2.26)ṗ2=𝒥γω02u,
with Δ(q1)=𝒥(β+sin2q1-α2cos2q1).


## 2.3. Non-Conservative Friction Torques

In the previous sections aconservative mechanical model was derived using Classical Mechanics. In this section, we add the non-conservative torques due to friction in the real system. To this end, we focus the analysis in our available laboratory Furuta's pendulum, which was shown in Figure 1. The physical values of the parameters of this pendulum are shown in Table 1 (see [8] for details).Table 1
Physical parameter values of the laboratory pendulum.
ParameterValueUnitMass of the pendulum0.0679KgLength of the pendulum0.14mLength of the arm0.235mMass of the arm0.2869KgInertia of the motor0.0012Kg m2Constant torque7.4N m/vThe friction phenomena in this pendulum come up in the joints. The pendulum joint is composed by a small ball bearing in which friction can be well modelled by a damping constant. Otherwise, in the arm joint a DC-motor and a slip ring are directly coupled (see AppendixA), and therefore the friction is not a damping-like torque, moreover it is strongly non-linear. In what follows of this section we derive the friction models designed in both joints.Pendulum Joint
Thenon-conservative torques due to a natural damping is introduced through Rayleigh's dissipation function, namely  𝒟(q). So, calling c̅p to the damping constant then, the non-conservative torque, namely τd, becomes
(2.27)τd=d𝒟(q̇1)dq̇1=ddq̇1(12c̅pq̇12)=c̅pq̇1.
This constant is easily estimated measuring the damping of a free-motion experiment yielding c̅p=0.0000226. The small value is due to the small ball bearing and so it could be neglected.Arm Joint
A carefully experimental study reveals that the friction torque in the motor shaft is not only a natural damping [8]. In fact, static and dynamic friction torques have to be taken into account in order to have a good estimation of the friction torque in this joint. To this end, a dynamic friction model, called LuGre (from Lund Institute and Grenoble Laboratory) model [9–11], is used. The dynamical equations of this model are
(2.28)dzdt=v-σ0g(v)z|v|,(2.29)g(v)=τc+(τs-τc)e-(v/vs)2,(2.30)τr=σ0z+σ1dzdt+σ2v,
where the parameters are defined as τr: estimated friction torque,τc: Coulomb friction torque,τs: static friction torque,σ0,1: internal model parameters,σ2: dynamic friction constant,vs: Stribeck's velocity,z: internal state of the model,v: velocity (q̇2=φ̇).Next, we give all the necessary steps to identify the parameters of the model (2.28)–(2.30). The physical meaning of these parameters is thoroughly described in [9]. Other kind of dynamical models for friction compensation can be also considered as in [12, 13]. Nevertheless, as we will show further, this model gave us a precise estimation. This good estimation allows to compensate the friction in this joint and, therefore, it gives us the chance of designing control strategies as if it was a conservative system. To this end, in [9] some identification methods are suggested but, with the base given in [9] and our experience we have designed our own identification methodology. Thus, the identification of these parameters can be made in four steps corresponding to four different experiments, respectively. Obviously, to identify all the parameters the pendulum is decoupled from the system, i.e. it only remains the arm plus motor. We briefly comment the four experiments designed.Step 1 (identification ofτc and σ2).
We use here a standard least-square algorithm to identifyτc and σ2. We consider the first-order system given by
(2.31)𝒥advdt=τ-τcsgn(v)-σ2v.
A side-effect parameter 𝒥a can also be estimated with this experiment. Notice that, (2.31) becomes linear in the parameters. Thus, we introduce in the input τ a square signal (open-loop) and then we measure the angular position of the arm, as shown in Figure 3 (top-left). The results after applying a least-square algorithm to (2.31) are shown in Table 2. Notice, from Table 2, the asymmetry which means that the identification is different for positive and negatives velocities. The MATLAB code for the positive case of v:=q̇2 is given in Appendix B.1.Table 2
Parameters of the LuGre model identified.
ExperimentParameter(+)(-)Step1𝒥a0.00030.0004τc/K0.22380.2308σ20.00220.0020Step2τs/K0.39600.3789Step3vs0.92970.9725Step4σ030σ10.2389Experiments for Steps1–4.
(a)(b)(c)(d)Step 2 (identification ofτs).
The static friction is identified forcing a limit cycle in the system. To this end, we feedback the angle of the motor with a slight proportional integral (PI) action, of the formu=k1e+k2∫0te(τ)dτ, with k1,2 gains and where e is the error between the measured state and the desired reference. The values are directly identified from Figure 3 (top-right) and the results are in Table 2. Notice again the asymmetric behaviour of the system. The MATLAB code is given in Appendix B.2.Step 3 (identification ofvs).
To identify Stribeck's velocity we first need to know the parameters𝒥a, τc, and τs, which are known after steps above. The experiment consists in forcing a very low speed in the motor shaft (open-loop). Thus, the fictitious state z can be approximated, from (2.28), by
(2.32)dzdt≈0⇒z≈g(v)σ0v|v|,
and then, from (2.30) the torque can be approximated by
(2.33)τr≈(τc+(τs-τc)e-(v/vs)2)sgn(v),
which additionally allows to linearise the equation
(2.34)𝒥advdt=τ-τr,
as
(2.35)v2(t)=vs2lnγ(t),
where γ is given by
(2.36)γ=τs-τc(τ-𝒥a(dv/dt))sgn(v)-τc.
The approximation is only valid if τs>τc and γ⩾1. A sinusoidal input torque (open-loop) allows us to estimate the value of γ and so vs. The experiment is shown on Figure 3 (bottom-left) and the results are shown in Table 2 yielding, again, an asymmetric behaviour. The MATLAB  code for positive values of v:=q̇2 is given in Appendix B.3.Step 4 (identification ofσ0 and σ1).
The parameterσ0 is estimated forcing a ramp in the input (open-loop) such that the angle cross by zero. The maximal and minimal values of the ramp should be around ±0.8τs and the slope small enough. The value of σ0 can be estimated with σ0≈Δτ/Δφ. The experiment is shown in Figure 3 (bottom-right).
To estimateσ1 we assume small displacements and |z|≪g(v). Thus, ż=v=q̇2 from (2.28), and then we use a linear second-order model given by
(2.37)𝒥aq̈2+(σ1+σ2)q̇2+σ0(q2+q2(0))=τ.
Therefore, since it is a second-order linear system the value of σ1 is easily estimated imposing
(2.38)σ1=2ζσ0𝒥a-σ2,
where ζ is the damping constant of the linear model and σ2 and 𝒥a are known from Step 1. The MATLAB code is given in Appendix B.4.


## 2.4. The Complete Model

Once the friction torques have been estimated we add them to the model in the Lagrangian framework, being dual for the Hamiltonian case. Thus, the Euler-Lagrange equations with thenon-conservative torques included become(2.39)ddt(∂ℒ∂q̇1)-∂ℒ∂q1+τd=0,(2.40)ddt(∂ℒ∂q̇2)-∂ℒ∂q2+τr=τ,
where again we normalise dividing by 𝒥 with cp:=c̅p/𝒥. Then, the differences from (2.10) are, on one hand, the matrix C(q,q̇) which turns into
(2.41)C(q,q̇)=𝒥[cp-q̇2sinq1cosq1-αq̇1sinq1+q̇2sinq1cosq1q̇1sinq1cosq1],
and on the other hand the torque is reduced in τr=Kur, where τr is estimated by equations (2.28)–(2.30) with v:=q̇2.After adding thenon-conservative friction torques the model is a better approximation of reality. Nevertheless, to easy the computations of the non-linear control laws, we use the friction models to compensate the friction instead of modelling it. In fact, this is the success of our model in practise. However, remind that the system has two degrees of freedoms and just one actuation torque, which means that we can compensate the friction torques only in the actuated coordinate q2. This can be easily seen in (2.39)-(2.40). Thus, in (2.40) the friction torque τr can be compensated adding it to the input torque (positive feedback). Otherwise, in the unactuated equation (2.39) we cannot compensate anything at all, since we do not have an independent input. Recall that our objective was to approximate in practise as well as possible to the conservative model given by the equations (2.9), or equivalently (2.22). In Figure 4 we show how the added torque compensates the friction. In the pendulum joint, as commented above, we cannot compensate τd in (2.39). Nevertheless, by construction the friction torque can be neglected, i.e. τd≈0, because we use a small enough ball bearing for the joint (recall that c̅p≈2.26×10-5).Figure 4
Friction compensation loop.Finally, after compensating thenon-conservative torque then, the completed model is a good approximation to the conservative model given by (2.9). The reader will realise this good approximation in the next section, where most of all the non-linear controllers were designed with (2.9), or equivalently (2.22). Moreover, in most of the controllers conservative quantities were used for the design stage.


## 3. A Survey of Non-Linear Control Strategies

In this section we survey all of non-linear strategies designed and experimentally tested in the available laboratory pendulum shown in Figure1. We recall that the paper is focused on the design and experimental results on our available Furuta's pendulum. Thus, other results will be referenced and briefly discussed because they were not experimentally tested on our pendulum.


### 3.1. Swing-Up Strategies

As commented in the introduction by swing-up we mean the non-linear control problem to swing the pendulum up from the rest to the upright position, the so-called inverted position. The control strategy proposed in [14–16] was based on the Speed-Gradient method, in fact just the finite form of the Speed-Pseudogradient Algorithm proposed in [17, 18] was used. Briefly, we comment the basic idea. Consider the time-invariant, affine-in-control system ẋ=f(x)+g(x)u ( in our system either (2.15)-(2.16) or (2.23)-(2.26)) with output y=h(x), where x(t)∈ℝn, y(t)∈ℝl, and the input u(t)∈ℝm. Consider also the control objective y(t)→0 when t→∞; this control objective can be written as an objective function Q(x)=(1/2)∥h(x)∥2. For this objective function the Speed-Pseudogradient Algorithm in finite form reads(3.1)u∝-(∂h(x)∂xg(x))⊤h(x),
which can be derived calculating Q̇(x) along trajectories of the system and noting that h(x) are independent invariants for the unforced system (u=0). Stability properties of algorithm (3.1) are described in [17]. In essence, the objective Q(x) plays the role of a Lyapunov function with a closed trajectory as a limit set and then, roughly speaking, if Q̇(x)⩽0 the goal will be achieved. Some examples of the application can be seen in [17, 19, 20]. In the case of study, selecting the objective function as the square of the total system energy Q:=Q1=1/2(γ1ℋ)2 then, the trajectories of the mechanical system will tend towards the surface (limit set) {(q1,p1,p2)∈𝒮1×ℝ2∣ℋ=0}, as in [18]. This aim does not guarantee that the pendulum will pass through the origin. The objective function was modified adding a new objective function Q2 so that the trajectories tend towards the closed trajectory (limit set) {Q1=0}∩{Q2=0}. The Hamiltonian structure of the system helped us to find the Q2 function needed. In fact, since the system is symmetric w.r.t. the angle q2, the conjugate momentum p2 is a constant of motion for the unforced system, which is straightforward from (2.26). Recall that q2 is a cyclic coordinate, which is closely related with Noether's theorem [5]. Thus, it is reasonable to choose the objective function as Q:=1/2(γ1ℋ)2+1/2(γ2p2)2, where γ1,2 are positive control gains and p2 is the conjugate momentum of the coordinate q2. The output vector reads y=h(x)=(γ1ℋ,γ2p2)⊤. The objective closed trajectory {Q1=0}∩{Q2=0} is the homoclinic orbit for Furuta's pendulum [21]. Thus, the objective function for Fradkov's Speed-Gradient method includes not only the energy but also the arm momentum, which are both conserved quantities for the unforced system. To show the fidelity of the model proposed we show Figure 5 from [15, 16], where we compare the experiment (solid line) with the simulation (dashed line) with the controller proposed. Another proof of the fidelity of the conservative model was shown in [14] where we developed the strategy through Routh's function [7], which embedded both conservative quantities given before. A video of the experiment can be displayed from http://www.esi2.us.es/~jaar/investiga_e.htm.“Solid” experiment. “Dashed” simulation.
(a)(b)(c)(d)Remark 3.1.
We underscore that the success of the proposed strategy relies on the fact that the experimental model isquasi-conservative. In fact, the control strategy is based on both conservative quantities, energy and momentum. Without that conservative property the control strategy would fail.Literature Review
The control problem of swinging the pendulum up was firstly solved by Åström and Furuta with a reduced system model [1, 4]. The control strategy was based on neglecting the reaction torques from the pendulum to the arm. This allows greatly simplify to a second-order model in (q1,q̇1)-coordinates, and with the help of Fradkov's Speed-Gradient method the desired energy injection was easily computed [22]. However, we remind that it was based on a simplifying assumption. Moreover, the arm speed must be low for the success of any stabiliser at the switching time, but notice that this speed is not considered in the dimension 2 control law, i.e. designed with the second-order model. Fortunately, for standard pendula with the usual initial conditions (the lower position with no velocity) the dimension 2 control law behaves well. Nevertheless, if the reaction torques from the pendulum to the arm cannot be neglected, for example, either due to the mass of the pendulum or to the low friction on the arm, Åström and Furuta's law fails. Some conditions of this failed attempt case were shown in [23], where conditions to induce the approximation to fail, were tested. Moreover, our proposed control law keeps the nice properties of Åström-Furuta's one when compared with other swing-up control laws based on a fourth-order model, i.e. our swing-up control law is able to accomplish the goal with arbitrary small control signal magnitude (unlike [24, 25]) and, the control signal converges to zero as the homoclinic orbit is reached (unlike [26]).


### 3.2. Non-Linear Stabilisers

In the previous section we show the non-linear strategies to swing the pendulum up to the upright position. Those strategies stabilise thehomoclinic orbit, which passes through the origin of the state space. Unfortunately, the origin is a saddle fixed point in closed loop and then, to solve the whole problem, that is, swing-up and stabilisation, a balancing strategy (stabiliser) has to be designed to “catch" the pendulum at the upright position. Fortunately, the swing-up strategy was designed such that the pendulum passes through the origin with (q1(t),q̇1(t),q̇2(t))→0, and u(t)→0. The latter allows to design the balancing stabiliser separately and then, to propose a switching strategy between both, i.e. the swing-up controller and the stabiliser. Again, the conservative model of the pendulum allowed to design non-linear stabilisers using invariants and/or conserved quantities. In this section we describe all the non-linear stabilisers designed using the conservative model and, moreover, successfully tested through experiments.


#### 3.2.1. Energy Shaping

Aconservative system allows, in a natural fashion, to be controlled by energy-shaping methods. In fact, a non-linear stabiliser was designed through the energy-shaping methodology called Interconnection and Damping Passivity-Based Control. This methodology was introduced in [27] to regulate the position of underactuated mechanical systems of the form (2.22) with total energy given by (2.21). The main idea is to force the closed-loop structure of the system to a desired one. This procedure is commonly called “matching.” In fact, for mechanical systems the proposed closed-loop structure takes the Port-Controlled Hamiltonian form [6] given by(3.2)[q̇ṗ]=[0M-1Md-MdM-1J2][∂ℋd∂q∂ℋd∂p],
where in our case of study (q,p)∈𝒮1×𝒮1×ℝ2, Md(q) is the desired inertia matrix, 𝒱d(q) is the desired potential function and so, the total energy function of the closed loop reads ℋd=(1/2)p⊤Md-1(q)p+𝒱d(q). Subindex “d" denotes “desired" which means in closed-loop. Finally J2(q,p)∈ℝ2×2 is a skew-symmetric matrix free for the designer. The design concludes after a damping injection stage. Stability properties require a positive definite Md in a neighborhood of the desired equilibrium q⋆, with q⋆=argmin𝒱d(q), and then (q⋆,0) is a stable equilibrium point of the closed-loop system (3.2), with Lyapunov function ℋd.Since the system is underactuated the “matching” procedure provides on one hand, a set of algebraic constraints (in the actuated part) and, on the other hand, a set of Partial Differential Equations (PDEs) onMd and 𝒱d (in the unactuated part). The PDEs arise for Md are called kinetic energy PDEs and the ones for 𝒱d are called potential energy PDEs. Clearly, the success of this methodology relies on the possibility of solving those PDEs, which is usually a daunting task. In fact, for the case of the Furuta's pendulum a new mathematical machinery was needed to solve them. First, the reparametrization of the free skew-symmetric matrix J2 given in [28] allows to transform the kinetic energy PDE in a set of first-order ordinary differential equations depending only on the q1-coordinate. Second, the change of coordinates proposed in [29, 30] allows to simplify, drastically, the non-homogeneous term of the kinetic energy PDEs. The complete solution was reported in [31] and the experimental test will be commented further in comparison with others strategies.Remark 3.2.
Again the success of the proposed strategy relies on the fact that the model for the design isconservative. The extension of this methodology considering natural damping was given in [32, 33]. Unfortunately, in Furuta's pendulum case and considering natural damping torques no solutions were found so far.Literature Review
Other different theoretical solutions have been reported usingenergy-shaping approaches. In [2] the Controlled Lagrangians methodology was used for stabilisation, through just a kinetic energy shaping (see also [34]). In [35] a way to transform the PDEs was proposed providing another solution for Furuta's pendulum. Closely related it is the non-linear controller based on a Lyapunov control approach given in [36]. All of these different solutions have not been experimentally tested, so far.


#### 3.2.2. Forwarding

Cascade non-linear control techniques have attracted the interest of many researchers (see [37–39] and references therein), mainly because they provide great simplifications and/or reductions in the non-linear control design stage. Forwarding is a passivity approach applied to cascade non-linear systems with feedforward paths. In [38] the system is treated as a feedforward connection of two cascade subsystems through a non-linear vector function. Assuming that each subsystem has an associated Lyapunov function, separately, the main difficulty is the need to construct an additive cross term to get a Lyapunov function for the whole cascade. The cross term is constructed through the solution of a PDE. The solution of the PDE provides an invariant manifold decomposition. The manifold allows together with a change of coordinates to construct a compound scaled Lyapunov function solving the stabilisation problem in closed form [37]. So, to solve another PDE is needed. Finally, noting that the system is in Jurdjević-Quinn form [40], then a damping stabiliser solves the whole control problem. We apply this technique to the conservative model (2.18) and the design and experiments were reported in [41, 42]. It is worth noting that the main result of [41] was not the non-linear stabiliser designed through Forwarding. The main result was that the Lyapunov function associated to the Forwarding design was used together with the one of the swing-up controller, to design a Lyapunov-like switching strategy to solve the whole problem, i.e. the almost global stabilisation of the inverted position, both in theory and practise. The usual switching strategy to solve this global control problem is, to compound the swing-up controller with a Linear Quadratic Regulator (LQR) to stabilise the origin [8, 43], i.e. a state-feedback u:=Kx with state x∈ℝn and a constant gain matrix K. In our available pendulum we realised that the Lyapunov function associated to the LQR cannot be used to design the switching strategy because the estimate of the Domain of Attraction (DoA) is too small. By too small we means that the level of the noise from the measurements is higher than the size of the largest admissible level set of the estimate of the DoA, and then the switching controller fails to commute.Remark 3.3.
TheForwarding needs the solution of a PDE. The solution of the PDE is an invariant which provides and invariant manifold decomposition for the closed-loop system. Thus, that conservative property was crucial again.Literature Review
In [3] another solution was given using the non-linear cascade technique called Backstepping [44]. The approximated solution given relies on a nontrivial change of coordinates and it has not been experimentally tested so far.


#### 3.2.3. Input-Output Feedback Linearisation

This technique was a step ahead after the development of the well-knownState Feedback Linearisation, which linearises the state of the system from the control input through a non-trivial change of coordinates and control. This change of coordinates comes up from the solution of a set of PDEs. The extension to this approach was made through the Input-Output Feedback Linearisation which linearises the input-output response of the system [45, 46]. In the cases in which it is not possible to linearise the whole system by a static state-feedback, a partial feedback linearisation can still be possible. This partial feedback linearisation transforms the system dynamics into two parts: the external dynamics, which become linear; the internal non-linear dynamics (locally characterised by the zero dynamics [45]). As proposed in [45] a possibility to control non-linear systems is to find an output, called “fictitious” such that the system linearised through that output is minimum phase [45]. Thus, in [47, 48] we proposed a nontrivial and constructive “fictitious” output through which it is possible to achieve the asymptotic stability with (locally) exponential convergence of the origin, for a class of underactuated mechanical systems with underactuation degree one. The generalisation to underactuation degree larger than one is given in [49]. The approach was based on classical Input-Output Feedback Linearisation and Lyapunov redesign [50], yielding excellent results in theory and experiments. In particular, for Furuta's pendulum the proposed output, namely y, reads(3.3)y:=q̇2+k1cosq1q̇1+k2sinq1,
where k1,2 are positive control gains. The model used for the design was (2.18). In fact, the proposed output makes the system to be exponential minimum-phase [46], i.e. the equilibrium of the zero dynamics is hyperbolic. As it is well-known this property provides the system with robustness (to unmodelled dynamics, disturbances) [50]. The experiments in the available Furuta's pendulum equipment were reported in [51].Remark 3.4.
We would like to underscore that theexponential minimum phase property is not achieved by most of non-linear control design techniques. For example in energy-shaping and Forwarding techniques the closed-loop system is weakly minimum phase w.r.t. its output, inherent fact of those methodologies by their passivity properties (see [52] for further details).Remark 3.5.
As in the previous cases, a crucialconservative quantity allows to design the stabiliser. In this case the energy of the zero dynamics was the conserved quantity.Literature Review
Close toInput-Output Feedback Linearisation is the Flatness approach. In the case of a system with a single control input then, it is said to be differentially flat if and only if it is fully linearisable via static state-feedback (see e.g. [53, 54]). A Flatness controller for a linearised model of Furuta's pendulum was given in [55] but it was based on a linear model, through the Jacobian, since the non-linear model is not differentially flat w.r.t. any output.


#### 3.2.4. Singular Perturbations

A deep and fair review of the use of this technique to control systems with different time scales is given in [50] and references therein. A singularly perturbed system is a system in which its own structure makes different coordinates evolve in different time scales. In the beginning, it was a technique to analyse the stability of equilibria, because the time-scale separation is a property of the own structure of the system. Nevertheless, if the system has not this time-scale separation itself, we can be able to propose a stabiliser to force that separation-like property and then, to analyse the stability of the equilibrium. This is the case proposed in [56, 57] for Furuta's pendulum. In fact, we even make relaxations to the Input-Output Feedback Linearisation control law described above, and then we use the Singular Perturbation theory to analyse the stability. The theoretical and experimental result was reported in [56, 57], where a fair comparison with another techniques was also reported. Moreover, we designed an experiment to measure the largest attraction basin. In fact, to the best of our knowledge, this is the largest region of attraction experimental tested so far, to stabilise this kind of pendulum. We reproduce, and comment briefly, here Figure 6 from [57], where the results of the experiments were collected.Figure 6
Experimental region of attraction.In the experiment we forced to the system to start from an initial condition as(θ(0),θ̇(0),φ(0),φ̇(0))=(θ⋆,0,0,0). The idea was to find out the largest θ⋆ for which the origin (the upright position of the pendulum) was stabilised with a given controller. The controller design shows that the maximum theoretical value of θ⋆ for the controller based on singular perturbations is defined through a condition in the controller gains, and therefore can be tuned (see [57]). In [2, 31] the maximum theoretical θ⋆ depends on physical parameters of the own pendulum, and therefore the formulas are not tunable, giving rise in our pendulum to a maximum approximately the half of the value of the one given by the singularly perturbed approach. The best experimental results for each controller are collected in Figure 6 and give rise to θ⋆=1.45 rad with the singular-perturbed approach; θ⋆=0.82 rad with the energy-shaping approach; θ⋆=0.75 rad with a Linear Quadratic Regulator. Unfortunately, the system saturates and it was not possible to enlarge even more this practical region of attraction (see [57]). Some videos of the experiments can be displayed from http://www.esi2.us.es/~jaar/investiga_e.htm.


### 3.3. Global Stabiliser: A Challenge

In the previous sections we have shown the non-linear strategies to swing-up and stabilisation of the pendulum at the upright position. To solve the whole problem, i.e. swing-up and stabilization, a switching strategy was designed to “catch" the pendulum at the upright position properly. As commented before, fortunately, the swing-up strategy was designed such that the pendulum passes through the origin of the state space. This is the practical engineering solution to the whole problem. But one might wonder, if it would be possible to solve the whole problem with only one control strategy. We cannot close this section without describing this mathematical and stillopen problem that has attracted the attention of many researchers. Thus, suppose that we are interested in solving the whole problem, designing only one smooth state-feedback controller. By smooth we means only with one control strategy without any switch between strategies. Of course, from a practical engineering point of view the problem is actually solved as it has been shown in the previous sections, but from a mathematical point of view it is a challenge problem. On one hand there is an obstacle inherent to the own configuration space of the system, remind that q∈S1×S1, which means that we cannot globally stabilise an isolated equilibrium in the whole state space. All we can do is to stabilise the upper equilibrium from almost everywhere in the state space, except possibly a set of zero Lebesgue measure. On the other hand, since the upper equilibrium of the unforced system is unstable then we have to design a static state-feedback that makes that equilibrium asymptotically stable and all the remaining equilibria unstable.The latter idea, for an underactuated mechanical system, was proposed in [58] in a pendulum-on-a-cart system where almost global stability of the equilibrium was proved. For Furuta's pendulum case, we have found a promising controller that makes the work but it was not possible to prove the almost global stability of the equilibrium, so far. As it was reported in [8] the static state-feedback reads u:=k1sin(2q1)+k2cos(q1)q̇1+k3q̇2, with ki, i=1,…,3, control gains, and where we underscore the unsigned definite damping-like term. To prove almost global stability of the equilibrium, if so, is still a mathematical open problem. However we tested the proposed controller through experiments. In Figure 7 we show a successful experiment, where in the top figure we show the time histories of the position and the velocity of the pendulum and, in the bottom figure the time histories of the control input. Notice that there is no any switch. A video of the experiment can be displayed from http://www.esi2.us.es/~jaar/investiga_e.htm.Experimental result with the challenging non-linear stabiliser.
(a)(b)


### 3.4. Autonomous Oscillations

Another field of interest for the control community is the generation of “artificial” and autonomous oscillations, i.e. by means of an appropriate control law. To accomplish this in [59] we proposed a methodology based on matching the open-loop system with a generalised hamiltonian system, which is able to exhibit robust oscillations. Thus, the closed-loop system displays robust oscillations associated with a limit cycle. The methodology mimics the energy-shaping approach but here, the objective is to reach a limit cycle (invariant limit set), which provides a stable oscillating behaviour, instead of a fixed-point attractor. The desired limit cycle is born through a supercritical Hopf bifurcation on an approximated second-order dynamical model and, therefore, for certain values of a control parameter the closed-loop system has a fixed-point attractor, changing to a limit cycle through other values of that control parameter. Successful experiments were reported in [59] and we reproduce in Figure 8 a sequence of snapshots of the experiment for a period of the oscillations of 0.5 second. A video of the experiment can be displayed from http://www.esi2.us.es/~jaar/investiga_e.htm.Figure 8
Sequence of snapshots showing one period of the oscillations.Literature Review
Another approach to generate autonomous oscillations on Furuta's pendulum has been reported in [13, 60] based on virtual holonomic constraints. In our approach we design a closed-loop structure which associated Lyapunov function has a closed trajectory as its limit set (the limit cycle). In [13, 60] a closed trajectory is generated in closed loop and then only local exponential convergence can be guaranteed.


### 3.5. Bifurcations

This section is devoted to comment briefly some works regarding with bifurcations which have been also analysed and experimentally tested in our laboratory pendulum. The works commented here are mainly focused in the analysis of some non-linear behaviour of the controlled pendulum, rather than in control design. In fact, the controller used to analyse the behaviour is the linear one, i.e. a linear state-feedback stabiliser designed through theJacobian. In [61, 62] a bifurcation map was constructed for Furuta's pendulum with a saturated linear controller, where the bifurcation parameters were the controller gains. Detailed analysis, simulations, and experiments in our available pendulum were reported in [63]. Finally, in [64] global bifurcation analysis was made for Furuta's pendulum. Nevertheless, we underscore that the dynamic friction model presented here was not used. Only a static model to compensate Coulomb's friction was used instead.Literature Review
In [21] a complete bifurcation map for the Furuta's pendulum is given. Nevertheless, the bifurcation map is for the unforced pendulum and only through simulations with continuation methods.


## 3.1. Swing-Up Strategies

As commented in the introduction by swing-up we mean the non-linear control problem to swing the pendulum up from the rest to the upright position, the so-called inverted position. The control strategy proposed in [14–16] was based on the Speed-Gradient method, in fact just the finite form of the Speed-Pseudogradient Algorithm proposed in [17, 18] was used. Briefly, we comment the basic idea. Consider the time-invariant, affine-in-control system ẋ=f(x)+g(x)u ( in our system either (2.15)-(2.16) or (2.23)-(2.26)) with output y=h(x), where x(t)∈ℝn, y(t)∈ℝl, and the input u(t)∈ℝm. Consider also the control objective y(t)→0 when t→∞; this control objective can be written as an objective function Q(x)=(1/2)∥h(x)∥2. For this objective function the Speed-Pseudogradient Algorithm in finite form reads(3.1)u∝-(∂h(x)∂xg(x))⊤h(x),
which can be derived calculating Q̇(x) along trajectories of the system and noting that h(x) are independent invariants for the unforced system (u=0). Stability properties of algorithm (3.1) are described in [17]. In essence, the objective Q(x) plays the role of a Lyapunov function with a closed trajectory as a limit set and then, roughly speaking, if Q̇(x)⩽0 the goal will be achieved. Some examples of the application can be seen in [17, 19, 20]. In the case of study, selecting the objective function as the square of the total system energy Q:=Q1=1/2(γ1ℋ)2 then, the trajectories of the mechanical system will tend towards the surface (limit set) {(q1,p1,p2)∈𝒮1×ℝ2∣ℋ=0}, as in [18]. This aim does not guarantee that the pendulum will pass through the origin. The objective function was modified adding a new objective function Q2 so that the trajectories tend towards the closed trajectory (limit set) {Q1=0}∩{Q2=0}. The Hamiltonian structure of the system helped us to find the Q2 function needed. In fact, since the system is symmetric w.r.t. the angle q2, the conjugate momentum p2 is a constant of motion for the unforced system, which is straightforward from (2.26). Recall that q2 is a cyclic coordinate, which is closely related with Noether's theorem [5]. Thus, it is reasonable to choose the objective function as Q:=1/2(γ1ℋ)2+1/2(γ2p2)2, where γ1,2 are positive control gains and p2 is the conjugate momentum of the coordinate q2. The output vector reads y=h(x)=(γ1ℋ,γ2p2)⊤. The objective closed trajectory {Q1=0}∩{Q2=0} is the homoclinic orbit for Furuta's pendulum [21]. Thus, the objective function for Fradkov's Speed-Gradient method includes not only the energy but also the arm momentum, which are both conserved quantities for the unforced system. To show the fidelity of the model proposed we show Figure 5 from [15, 16], where we compare the experiment (solid line) with the simulation (dashed line) with the controller proposed. Another proof of the fidelity of the conservative model was shown in [14] where we developed the strategy through Routh's function [7], which embedded both conservative quantities given before. A video of the experiment can be displayed from http://www.esi2.us.es/~jaar/investiga_e.htm.“Solid” experiment. “Dashed” simulation.
(a)(b)(c)(d)Remark 3.1.
We underscore that the success of the proposed strategy relies on the fact that the experimental model isquasi-conservative. In fact, the control strategy is based on both conservative quantities, energy and momentum. Without that conservative property the control strategy would fail.Literature Review
The control problem of swinging the pendulum up was firstly solved by Åström and Furuta with a reduced system model [1, 4]. The control strategy was based on neglecting the reaction torques from the pendulum to the arm. This allows greatly simplify to a second-order model in (q1,q̇1)-coordinates, and with the help of Fradkov's Speed-Gradient method the desired energy injection was easily computed [22]. However, we remind that it was based on a simplifying assumption. Moreover, the arm speed must be low for the success of any stabiliser at the switching time, but notice that this speed is not considered in the dimension 2 control law, i.e. designed with the second-order model. Fortunately, for standard pendula with the usual initial conditions (the lower position with no velocity) the dimension 2 control law behaves well. Nevertheless, if the reaction torques from the pendulum to the arm cannot be neglected, for example, either due to the mass of the pendulum or to the low friction on the arm, Åström and Furuta's law fails. Some conditions of this failed attempt case were shown in [23], where conditions to induce the approximation to fail, were tested. Moreover, our proposed control law keeps the nice properties of Åström-Furuta's one when compared with other swing-up control laws based on a fourth-order model, i.e. our swing-up control law is able to accomplish the goal with arbitrary small control signal magnitude (unlike [24, 25]) and, the control signal converges to zero as the homoclinic orbit is reached (unlike [26]).


## 3.2. Non-Linear Stabilisers

In the previous section we show the non-linear strategies to swing the pendulum up to the upright position. Those strategies stabilise thehomoclinic orbit, which passes through the origin of the state space. Unfortunately, the origin is a saddle fixed point in closed loop and then, to solve the whole problem, that is, swing-up and stabilisation, a balancing strategy (stabiliser) has to be designed to “catch" the pendulum at the upright position. Fortunately, the swing-up strategy was designed such that the pendulum passes through the origin with (q1(t),q̇1(t),q̇2(t))→0, and u(t)→0. The latter allows to design the balancing stabiliser separately and then, to propose a switching strategy between both, i.e. the swing-up controller and the stabiliser. Again, the conservative model of the pendulum allowed to design non-linear stabilisers using invariants and/or conserved quantities. In this section we describe all the non-linear stabilisers designed using the conservative model and, moreover, successfully tested through experiments.


### 3.2.1. Energy Shaping

Aconservative system allows, in a natural fashion, to be controlled by energy-shaping methods. In fact, a non-linear stabiliser was designed through the energy-shaping methodology called Interconnection and Damping Passivity-Based Control. This methodology was introduced in [27] to regulate the position of underactuated mechanical systems of the form (2.22) with total energy given by (2.21). The main idea is to force the closed-loop structure of the system to a desired one. This procedure is commonly called “matching.” In fact, for mechanical systems the proposed closed-loop structure takes the Port-Controlled Hamiltonian form [6] given by(3.2)[q̇ṗ]=[0M-1Md-MdM-1J2][∂ℋd∂q∂ℋd∂p],
where in our case of study (q,p)∈𝒮1×𝒮1×ℝ2, Md(q) is the desired inertia matrix, 𝒱d(q) is the desired potential function and so, the total energy function of the closed loop reads ℋd=(1/2)p⊤Md-1(q)p+𝒱d(q). Subindex “d" denotes “desired" which means in closed-loop. Finally J2(q,p)∈ℝ2×2 is a skew-symmetric matrix free for the designer. The design concludes after a damping injection stage. Stability properties require a positive definite Md in a neighborhood of the desired equilibrium q⋆, with q⋆=argmin𝒱d(q), and then (q⋆,0) is a stable equilibrium point of the closed-loop system (3.2), with Lyapunov function ℋd.Since the system is underactuated the “matching” procedure provides on one hand, a set of algebraic constraints (in the actuated part) and, on the other hand, a set of Partial Differential Equations (PDEs) onMd and 𝒱d (in the unactuated part). The PDEs arise for Md are called kinetic energy PDEs and the ones for 𝒱d are called potential energy PDEs. Clearly, the success of this methodology relies on the possibility of solving those PDEs, which is usually a daunting task. In fact, for the case of the Furuta's pendulum a new mathematical machinery was needed to solve them. First, the reparametrization of the free skew-symmetric matrix J2 given in [28] allows to transform the kinetic energy PDE in a set of first-order ordinary differential equations depending only on the q1-coordinate. Second, the change of coordinates proposed in [29, 30] allows to simplify, drastically, the non-homogeneous term of the kinetic energy PDEs. The complete solution was reported in [31] and the experimental test will be commented further in comparison with others strategies.Remark 3.2.
Again the success of the proposed strategy relies on the fact that the model for the design isconservative. The extension of this methodology considering natural damping was given in [32, 33]. Unfortunately, in Furuta's pendulum case and considering natural damping torques no solutions were found so far.Literature Review
Other different theoretical solutions have been reported usingenergy-shaping approaches. In [2] the Controlled Lagrangians methodology was used for stabilisation, through just a kinetic energy shaping (see also [34]). In [35] a way to transform the PDEs was proposed providing another solution for Furuta's pendulum. Closely related it is the non-linear controller based on a Lyapunov control approach given in [36]. All of these different solutions have not been experimentally tested, so far.


### 3.2.2. Forwarding

Cascade non-linear control techniques have attracted the interest of many researchers (see [37–39] and references therein), mainly because they provide great simplifications and/or reductions in the non-linear control design stage. Forwarding is a passivity approach applied to cascade non-linear systems with feedforward paths. In [38] the system is treated as a feedforward connection of two cascade subsystems through a non-linear vector function. Assuming that each subsystem has an associated Lyapunov function, separately, the main difficulty is the need to construct an additive cross term to get a Lyapunov function for the whole cascade. The cross term is constructed through the solution of a PDE. The solution of the PDE provides an invariant manifold decomposition. The manifold allows together with a change of coordinates to construct a compound scaled Lyapunov function solving the stabilisation problem in closed form [37]. So, to solve another PDE is needed. Finally, noting that the system is in Jurdjević-Quinn form [40], then a damping stabiliser solves the whole control problem. We apply this technique to the conservative model (2.18) and the design and experiments were reported in [41, 42]. It is worth noting that the main result of [41] was not the non-linear stabiliser designed through Forwarding. The main result was that the Lyapunov function associated to the Forwarding design was used together with the one of the swing-up controller, to design a Lyapunov-like switching strategy to solve the whole problem, i.e. the almost global stabilisation of the inverted position, both in theory and practise. The usual switching strategy to solve this global control problem is, to compound the swing-up controller with a Linear Quadratic Regulator (LQR) to stabilise the origin [8, 43], i.e. a state-feedback u:=Kx with state x∈ℝn and a constant gain matrix K. In our available pendulum we realised that the Lyapunov function associated to the LQR cannot be used to design the switching strategy because the estimate of the Domain of Attraction (DoA) is too small. By too small we means that the level of the noise from the measurements is higher than the size of the largest admissible level set of the estimate of the DoA, and then the switching controller fails to commute.Remark 3.3.
TheForwarding needs the solution of a PDE. The solution of the PDE is an invariant which provides and invariant manifold decomposition for the closed-loop system. Thus, that conservative property was crucial again.Literature Review
In [3] another solution was given using the non-linear cascade technique called Backstepping [44]. The approximated solution given relies on a nontrivial change of coordinates and it has not been experimentally tested so far.


### 3.2.3. Input-Output Feedback Linearisation

This technique was a step ahead after the development of the well-knownState Feedback Linearisation, which linearises the state of the system from the control input through a non-trivial change of coordinates and control. This change of coordinates comes up from the solution of a set of PDEs. The extension to this approach was made through the Input-Output Feedback Linearisation which linearises the input-output response of the system [45, 46]. In the cases in which it is not possible to linearise the whole system by a static state-feedback, a partial feedback linearisation can still be possible. This partial feedback linearisation transforms the system dynamics into two parts: the external dynamics, which become linear; the internal non-linear dynamics (locally characterised by the zero dynamics [45]). As proposed in [45] a possibility to control non-linear systems is to find an output, called “fictitious” such that the system linearised through that output is minimum phase [45]. Thus, in [47, 48] we proposed a nontrivial and constructive “fictitious” output through which it is possible to achieve the asymptotic stability with (locally) exponential convergence of the origin, for a class of underactuated mechanical systems with underactuation degree one. The generalisation to underactuation degree larger than one is given in [49]. The approach was based on classical Input-Output Feedback Linearisation and Lyapunov redesign [50], yielding excellent results in theory and experiments. In particular, for Furuta's pendulum the proposed output, namely y, reads(3.3)y:=q̇2+k1cosq1q̇1+k2sinq1,
where k1,2 are positive control gains. The model used for the design was (2.18). In fact, the proposed output makes the system to be exponential minimum-phase [46], i.e. the equilibrium of the zero dynamics is hyperbolic. As it is well-known this property provides the system with robustness (to unmodelled dynamics, disturbances) [50]. The experiments in the available Furuta's pendulum equipment were reported in [51].Remark 3.4.
We would like to underscore that theexponential minimum phase property is not achieved by most of non-linear control design techniques. For example in energy-shaping and Forwarding techniques the closed-loop system is weakly minimum phase w.r.t. its output, inherent fact of those methodologies by their passivity properties (see [52] for further details).Remark 3.5.
As in the previous cases, a crucialconservative quantity allows to design the stabiliser. In this case the energy of the zero dynamics was the conserved quantity.Literature Review
Close toInput-Output Feedback Linearisation is the Flatness approach. In the case of a system with a single control input then, it is said to be differentially flat if and only if it is fully linearisable via static state-feedback (see e.g. [53, 54]). A Flatness controller for a linearised model of Furuta's pendulum was given in [55] but it was based on a linear model, through the Jacobian, since the non-linear model is not differentially flat w.r.t. any output.


### 3.2.4. Singular Perturbations

A deep and fair review of the use of this technique to control systems with different time scales is given in [50] and references therein. A singularly perturbed system is a system in which its own structure makes different coordinates evolve in different time scales. In the beginning, it was a technique to analyse the stability of equilibria, because the time-scale separation is a property of the own structure of the system. Nevertheless, if the system has not this time-scale separation itself, we can be able to propose a stabiliser to force that separation-like property and then, to analyse the stability of the equilibrium. This is the case proposed in [56, 57] for Furuta's pendulum. In fact, we even make relaxations to the Input-Output Feedback Linearisation control law described above, and then we use the Singular Perturbation theory to analyse the stability. The theoretical and experimental result was reported in [56, 57], where a fair comparison with another techniques was also reported. Moreover, we designed an experiment to measure the largest attraction basin. In fact, to the best of our knowledge, this is the largest region of attraction experimental tested so far, to stabilise this kind of pendulum. We reproduce, and comment briefly, here Figure 6 from [57], where the results of the experiments were collected.Figure 6
Experimental region of attraction.In the experiment we forced to the system to start from an initial condition as(θ(0),θ̇(0),φ(0),φ̇(0))=(θ⋆,0,0,0). The idea was to find out the largest θ⋆ for which the origin (the upright position of the pendulum) was stabilised with a given controller. The controller design shows that the maximum theoretical value of θ⋆ for the controller based on singular perturbations is defined through a condition in the controller gains, and therefore can be tuned (see [57]). In [2, 31] the maximum theoretical θ⋆ depends on physical parameters of the own pendulum, and therefore the formulas are not tunable, giving rise in our pendulum to a maximum approximately the half of the value of the one given by the singularly perturbed approach. The best experimental results for each controller are collected in Figure 6 and give rise to θ⋆=1.45 rad with the singular-perturbed approach; θ⋆=0.82 rad with the energy-shaping approach; θ⋆=0.75 rad with a Linear Quadratic Regulator. Unfortunately, the system saturates and it was not possible to enlarge even more this practical region of attraction (see [57]). Some videos of the experiments can be displayed from http://www.esi2.us.es/~jaar/investiga_e.htm.


## 3.2.1. Energy Shaping

Aconservative system allows, in a natural fashion, to be controlled by energy-shaping methods. In fact, a non-linear stabiliser was designed through the energy-shaping methodology called Interconnection and Damping Passivity-Based Control. This methodology was introduced in [27] to regulate the position of underactuated mechanical systems of the form (2.22) with total energy given by (2.21). The main idea is to force the closed-loop structure of the system to a desired one. This procedure is commonly called “matching.” In fact, for mechanical systems the proposed closed-loop structure takes the Port-Controlled Hamiltonian form [6] given by(3.2)[q̇ṗ]=[0M-1Md-MdM-1J2][∂ℋd∂q∂ℋd∂p],
where in our case of study (q,p)∈𝒮1×𝒮1×ℝ2, Md(q) is the desired inertia matrix, 𝒱d(q) is the desired potential function and so, the total energy function of the closed loop reads ℋd=(1/2)p⊤Md-1(q)p+𝒱d(q). Subindex “d" denotes “desired" which means in closed-loop. Finally J2(q,p)∈ℝ2×2 is a skew-symmetric matrix free for the designer. The design concludes after a damping injection stage. Stability properties require a positive definite Md in a neighborhood of the desired equilibrium q⋆, with q⋆=argmin𝒱d(q), and then (q⋆,0) is a stable equilibrium point of the closed-loop system (3.2), with Lyapunov function ℋd.Since the system is underactuated the “matching” procedure provides on one hand, a set of algebraic constraints (in the actuated part) and, on the other hand, a set of Partial Differential Equations (PDEs) onMd and 𝒱d (in the unactuated part). The PDEs arise for Md are called kinetic energy PDEs and the ones for 𝒱d are called potential energy PDEs. Clearly, the success of this methodology relies on the possibility of solving those PDEs, which is usually a daunting task. In fact, for the case of the Furuta's pendulum a new mathematical machinery was needed to solve them. First, the reparametrization of the free skew-symmetric matrix J2 given in [28] allows to transform the kinetic energy PDE in a set of first-order ordinary differential equations depending only on the q1-coordinate. Second, the change of coordinates proposed in [29, 30] allows to simplify, drastically, the non-homogeneous term of the kinetic energy PDEs. The complete solution was reported in [31] and the experimental test will be commented further in comparison with others strategies.Remark 3.2.
Again the success of the proposed strategy relies on the fact that the model for the design isconservative. The extension of this methodology considering natural damping was given in [32, 33]. Unfortunately, in Furuta's pendulum case and considering natural damping torques no solutions were found so far.Literature Review
Other different theoretical solutions have been reported usingenergy-shaping approaches. In [2] the Controlled Lagrangians methodology was used for stabilisation, through just a kinetic energy shaping (see also [34]). In [35] a way to transform the PDEs was proposed providing another solution for Furuta's pendulum. Closely related it is the non-linear controller based on a Lyapunov control approach given in [36]. All of these different solutions have not been experimentally tested, so far.


## 3.2.2. Forwarding

Cascade non-linear control techniques have attracted the interest of many researchers (see [37–39] and references therein), mainly because they provide great simplifications and/or reductions in the non-linear control design stage. Forwarding is a passivity approach applied to cascade non-linear systems with feedforward paths. In [38] the system is treated as a feedforward connection of two cascade subsystems through a non-linear vector function. Assuming that each subsystem has an associated Lyapunov function, separately, the main difficulty is the need to construct an additive cross term to get a Lyapunov function for the whole cascade. The cross term is constructed through the solution of a PDE. The solution of the PDE provides an invariant manifold decomposition. The manifold allows together with a change of coordinates to construct a compound scaled Lyapunov function solving the stabilisation problem in closed form [37]. So, to solve another PDE is needed. Finally, noting that the system is in Jurdjević-Quinn form [40], then a damping stabiliser solves the whole control problem. We apply this technique to the conservative model (2.18) and the design and experiments were reported in [41, 42]. It is worth noting that the main result of [41] was not the non-linear stabiliser designed through Forwarding. The main result was that the Lyapunov function associated to the Forwarding design was used together with the one of the swing-up controller, to design a Lyapunov-like switching strategy to solve the whole problem, i.e. the almost global stabilisation of the inverted position, both in theory and practise. The usual switching strategy to solve this global control problem is, to compound the swing-up controller with a Linear Quadratic Regulator (LQR) to stabilise the origin [8, 43], i.e. a state-feedback u:=Kx with state x∈ℝn and a constant gain matrix K. In our available pendulum we realised that the Lyapunov function associated to the LQR cannot be used to design the switching strategy because the estimate of the Domain of Attraction (DoA) is too small. By too small we means that the level of the noise from the measurements is higher than the size of the largest admissible level set of the estimate of the DoA, and then the switching controller fails to commute.Remark 3.3.
TheForwarding needs the solution of a PDE. The solution of the PDE is an invariant which provides and invariant manifold decomposition for the closed-loop system. Thus, that conservative property was crucial again.Literature Review
In [3] another solution was given using the non-linear cascade technique called Backstepping [44]. The approximated solution given relies on a nontrivial change of coordinates and it has not been experimentally tested so far.


## 3.2.3. Input-Output Feedback Linearisation

This technique was a step ahead after the development of the well-knownState Feedback Linearisation, which linearises the state of the system from the control input through a non-trivial change of coordinates and control. This change of coordinates comes up from the solution of a set of PDEs. The extension to this approach was made through the Input-Output Feedback Linearisation which linearises the input-output response of the system [45, 46]. In the cases in which it is not possible to linearise the whole system by a static state-feedback, a partial feedback linearisation can still be possible. This partial feedback linearisation transforms the system dynamics into two parts: the external dynamics, which become linear; the internal non-linear dynamics (locally characterised by the zero dynamics [45]). As proposed in [45] a possibility to control non-linear systems is to find an output, called “fictitious” such that the system linearised through that output is minimum phase [45]. Thus, in [47, 48] we proposed a nontrivial and constructive “fictitious” output through which it is possible to achieve the asymptotic stability with (locally) exponential convergence of the origin, for a class of underactuated mechanical systems with underactuation degree one. The generalisation to underactuation degree larger than one is given in [49]. The approach was based on classical Input-Output Feedback Linearisation and Lyapunov redesign [50], yielding excellent results in theory and experiments. In particular, for Furuta's pendulum the proposed output, namely y, reads(3.3)y:=q̇2+k1cosq1q̇1+k2sinq1,
where k1,2 are positive control gains. The model used for the design was (2.18). In fact, the proposed output makes the system to be exponential minimum-phase [46], i.e. the equilibrium of the zero dynamics is hyperbolic. As it is well-known this property provides the system with robustness (to unmodelled dynamics, disturbances) [50]. The experiments in the available Furuta's pendulum equipment were reported in [51].Remark 3.4.
We would like to underscore that theexponential minimum phase property is not achieved by most of non-linear control design techniques. For example in energy-shaping and Forwarding techniques the closed-loop system is weakly minimum phase w.r.t. its output, inherent fact of those methodologies by their passivity properties (see [52] for further details).Remark 3.5.
As in the previous cases, a crucialconservative quantity allows to design the stabiliser. In this case the energy of the zero dynamics was the conserved quantity.Literature Review
Close toInput-Output Feedback Linearisation is the Flatness approach. In the case of a system with a single control input then, it is said to be differentially flat if and only if it is fully linearisable via static state-feedback (see e.g. [53, 54]). A Flatness controller for a linearised model of Furuta's pendulum was given in [55] but it was based on a linear model, through the Jacobian, since the non-linear model is not differentially flat w.r.t. any output.


## 3.2.4. Singular Perturbations

A deep and fair review of the use of this technique to control systems with different time scales is given in [50] and references therein. A singularly perturbed system is a system in which its own structure makes different coordinates evolve in different time scales. In the beginning, it was a technique to analyse the stability of equilibria, because the time-scale separation is a property of the own structure of the system. Nevertheless, if the system has not this time-scale separation itself, we can be able to propose a stabiliser to force that separation-like property and then, to analyse the stability of the equilibrium. This is the case proposed in [56, 57] for Furuta's pendulum. In fact, we even make relaxations to the Input-Output Feedback Linearisation control law described above, and then we use the Singular Perturbation theory to analyse the stability. The theoretical and experimental result was reported in [56, 57], where a fair comparison with another techniques was also reported. Moreover, we designed an experiment to measure the largest attraction basin. In fact, to the best of our knowledge, this is the largest region of attraction experimental tested so far, to stabilise this kind of pendulum. We reproduce, and comment briefly, here Figure 6 from [57], where the results of the experiments were collected.Figure 6
Experimental region of attraction.In the experiment we forced to the system to start from an initial condition as(θ(0),θ̇(0),φ(0),φ̇(0))=(θ⋆,0,0,0). The idea was to find out the largest θ⋆ for which the origin (the upright position of the pendulum) was stabilised with a given controller. The controller design shows that the maximum theoretical value of θ⋆ for the controller based on singular perturbations is defined through a condition in the controller gains, and therefore can be tuned (see [57]). In [2, 31] the maximum theoretical θ⋆ depends on physical parameters of the own pendulum, and therefore the formulas are not tunable, giving rise in our pendulum to a maximum approximately the half of the value of the one given by the singularly perturbed approach. The best experimental results for each controller are collected in Figure 6 and give rise to θ⋆=1.45 rad with the singular-perturbed approach; θ⋆=0.82 rad with the energy-shaping approach; θ⋆=0.75 rad with a Linear Quadratic Regulator. Unfortunately, the system saturates and it was not possible to enlarge even more this practical region of attraction (see [57]). Some videos of the experiments can be displayed from http://www.esi2.us.es/~jaar/investiga_e.htm.


## 3.3. Global Stabiliser: A Challenge

In the previous sections we have shown the non-linear strategies to swing-up and stabilisation of the pendulum at the upright position. To solve the whole problem, i.e. swing-up and stabilization, a switching strategy was designed to “catch" the pendulum at the upright position properly. As commented before, fortunately, the swing-up strategy was designed such that the pendulum passes through the origin of the state space. This is the practical engineering solution to the whole problem. But one might wonder, if it would be possible to solve the whole problem with only one control strategy. We cannot close this section without describing this mathematical and stillopen problem that has attracted the attention of many researchers. Thus, suppose that we are interested in solving the whole problem, designing only one smooth state-feedback controller. By smooth we means only with one control strategy without any switch between strategies. Of course, from a practical engineering point of view the problem is actually solved as it has been shown in the previous sections, but from a mathematical point of view it is a challenge problem. On one hand there is an obstacle inherent to the own configuration space of the system, remind that q∈S1×S1, which means that we cannot globally stabilise an isolated equilibrium in the whole state space. All we can do is to stabilise the upper equilibrium from almost everywhere in the state space, except possibly a set of zero Lebesgue measure. On the other hand, since the upper equilibrium of the unforced system is unstable then we have to design a static state-feedback that makes that equilibrium asymptotically stable and all the remaining equilibria unstable.The latter idea, for an underactuated mechanical system, was proposed in [58] in a pendulum-on-a-cart system where almost global stability of the equilibrium was proved. For Furuta's pendulum case, we have found a promising controller that makes the work but it was not possible to prove the almost global stability of the equilibrium, so far. As it was reported in [8] the static state-feedback reads u:=k1sin(2q1)+k2cos(q1)q̇1+k3q̇2, with ki, i=1,…,3, control gains, and where we underscore the unsigned definite damping-like term. To prove almost global stability of the equilibrium, if so, is still a mathematical open problem. However we tested the proposed controller through experiments. In Figure 7 we show a successful experiment, where in the top figure we show the time histories of the position and the velocity of the pendulum and, in the bottom figure the time histories of the control input. Notice that there is no any switch. A video of the experiment can be displayed from http://www.esi2.us.es/~jaar/investiga_e.htm.Experimental result with the challenging non-linear stabiliser.
(a)(b)


## 3.4. Autonomous Oscillations

Another field of interest for the control community is the generation of “artificial” and autonomous oscillations, i.e. by means of an appropriate control law. To accomplish this in [59] we proposed a methodology based on matching the open-loop system with a generalised hamiltonian system, which is able to exhibit robust oscillations. Thus, the closed-loop system displays robust oscillations associated with a limit cycle. The methodology mimics the energy-shaping approach but here, the objective is to reach a limit cycle (invariant limit set), which provides a stable oscillating behaviour, instead of a fixed-point attractor. The desired limit cycle is born through a supercritical Hopf bifurcation on an approximated second-order dynamical model and, therefore, for certain values of a control parameter the closed-loop system has a fixed-point attractor, changing to a limit cycle through other values of that control parameter. Successful experiments were reported in [59] and we reproduce in Figure 8 a sequence of snapshots of the experiment for a period of the oscillations of 0.5 second. A video of the experiment can be displayed from http://www.esi2.us.es/~jaar/investiga_e.htm.Figure 8
Sequence of snapshots showing one period of the oscillations.Literature Review
Another approach to generate autonomous oscillations on Furuta's pendulum has been reported in [13, 60] based on virtual holonomic constraints. In our approach we design a closed-loop structure which associated Lyapunov function has a closed trajectory as its limit set (the limit cycle). In [13, 60] a closed trajectory is generated in closed loop and then only local exponential convergence can be guaranteed.


## 3.5. Bifurcations

This section is devoted to comment briefly some works regarding with bifurcations which have been also analysed and experimentally tested in our laboratory pendulum. The works commented here are mainly focused in the analysis of some non-linear behaviour of the controlled pendulum, rather than in control design. In fact, the controller used to analyse the behaviour is the linear one, i.e. a linear state-feedback stabiliser designed through theJacobian. In [61, 62] a bifurcation map was constructed for Furuta's pendulum with a saturated linear controller, where the bifurcation parameters were the controller gains. Detailed analysis, simulations, and experiments in our available pendulum were reported in [63]. Finally, in [64] global bifurcation analysis was made for Furuta's pendulum. Nevertheless, we underscore that the dynamic friction model presented here was not used. Only a static model to compensate Coulomb's friction was used instead.Literature Review
In [21] a complete bifurcation map for the Furuta's pendulum is given. Nevertheless, the bifurcation map is for the unforced pendulum and only through simulations with continuation methods.


## 4. Conclusion

A detailed dynamical model of the available laboratory Furuta's pendulum is provided. The completed model is based on Classical Mechanics augmented with a dynamical model that allows to compensate all thosenon-conservatives torques, arising to a quasi-conservative model in practise. A survey of all the non-linear controllers designed with that quasi-conservative model and successfully tested through experiments is also reported.



---

*Source: 742894-2010-03-03.xml*