#### 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 the *non-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.

#### 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 Figure 1, 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.

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 Section 2 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 vector will be denoted by and the square of the Euclidean norm by . Acronyms used: w.r.t. means “with respect to”; i.e. means “that is.”

Consider a dynamical system affine in control as , where is the state space vector, is the control input vector and where we assume that the origin is at with and . Thus,

(i)the*open-loop*system means the unforced system, that is, with ; (ii) a (smooth) static state-feedback means a control input of the form , also called controller, control law and stabiliser when a stabilisation problem is considered;(iii)the

*closed-loop*system means the system with a specified static state-feedback, i.e. ; (iv)

*linearisation*means a

*non-linear*static state-feedback that linearises fully or partially the dynamics; (v)the

*Jacobian linearisation*means the first approximation of the system dynamics through the

*Jacobian*at the origin.

#### 2. The *Conservative* Mechanical Model

The schematic of Furuta's pendulum is described in Figure 2, 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 -axis) is subject to a torque, while no torque is applied directly to the pendulum shaft (angle of pendulum referred to the -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 -torus, that is, and the corresponding tangent space is .

We define the physical parameters of the system as

: mass of the pendulum,: total length of the pendulum,: length of the arm (radius),: acceleration of gravity,: moment of inertia of the pendulum w.r.t. the pivot,: moment of inertia of the arm and the motor,: constant torque,: control input,: control torqueIn 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 Figure 2 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 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

where 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 Since by assumption then, the kinetic energy from (2.2) and (2.3) becomes 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

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 vectors and and, just for compactness, another different set of physical parameters as

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

where we have introduced the inertia matrix that from (2.4) and with the new set of parameters (2.6) becomes The well-known Euler-Lagrange equations [5] for this system take the form

which can be rewritten as

where is the matrix of Coriolis and gyroscopic torques. Thus, the matrices defined in (2.10) are given by

and so (2.10) reads

with .

##### 2.3. Non-Conservative Friction Torques

In the previous sections a *conservative* 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).

The 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 Appendix A), 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*

The *non-conservative* torques due to a natural damping is introduced through Rayleigh's dissipation function, namely . So, calling to the damping constant then, the *non-conservative* torque, namely , becomes
This constant is easily estimated measuring the damping of a free-motion experiment yielding . 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 __Lu__nd Institute and __Gre__noble Laboratory) model [9–11], is used. The dynamical equations of this model are
where the parameters are defined as : estimated friction torque,: Coulomb friction torque,: static friction torque,: internal model parameters,: dynamic friction constant,: Stribeck's velocity,: internal state of the model,: velocity 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 and ). *We use here a standard least-square algorithm to identify and . We consider the first-order system given by
A side-effect parameter 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 is given in Appendix B.1.

**(a)**

**(b)**

**(c)**

**(d)**

*Step 2 (identification of ). *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 form , with gains and where 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 of ). * To identify Stribeck's velocity we first need to know the parameters , , and , 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 can be approximated, from (2.28), by
and then, from (2.30) the torque can be approximated by
which additionally allows to linearise the equation
as
where is given by
The approximation is only valid if and . A sinusoidal input torque (open-loop) allows us to estimate the value of and so . 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 is given in Appendix B.3.

*Step 4 (identification of and ). *The parameter 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 and the slope small enough. The value of can be estimated with . The experiment is shown in Figure 3 (bottom-right).

To estimate we assume small displacements and . Thus, from (2.28), and then we use a linear second-order model given by

Therefore, since it is a second-order linear system the value of is easily estimated imposing
where is the damping constant of the linear model and and 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 the *non-conservative* torques included become

where again we normalise dividing by with . Then, the differences from (2.10) are, on one hand, the matrix which turns into and on the other hand the torque is reduced in , where is estimated by equations (2.28)–(2.30) with .

After adding the *non-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 . This can be easily seen in (2.39)-(2.40). Thus, in (2.40) the friction torque 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 in (2.39). Nevertheless, by construction the friction torque can be neglected, i.e. , because we use a small enough ball bearing for the joint (recall that ).

Finally, after compensating the *non-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 Figure 1. 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 ( in our system either (2.15)-(2.16) or (2.23)-(2.26)) with output , where , , and the input . Consider also the control objective when ; this control objective can be written as an objective function . For this objective function the Speed-Pseudogradient Algorithm in finite form reads

which can be derived calculating along trajectories of the system and noting that are independent invariants for the unforced system (). Stability properties of algorithm (3.1) are described in [17]. In essence, the objective plays the role of a Lyapunov function with a closed trajectory as a limit set and then, roughly speaking, if 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 then, the trajectories of the mechanical system will tend towards the surface (limit set) , 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 so that the trajectories tend towards the closed trajectory (limit set) . The Hamiltonian structure of the system helped us to find the function needed. In fact, since the system is symmetric w.r.t. the angle , the conjugate momentum is a constant of motion for the unforced system, which is straightforward from (2.26). Recall that is a cyclic coordinate, which is closely related with Noether's theorem [5]. Thus, it is reasonable to choose the objective function as , where are positive control gains and is the conjugate momentum of the coordinate . The output vector reads . The objective closed trajectory 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.

**(a)**

**(b)**

**(c)**

**(d)**

*Remark 3.1. *We underscore that the success of the proposed strategy relies on the fact that the experimental model is *quasi-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 ()-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 the *homoclinic* 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 , and . 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

A *conservative* 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

where in our case of study , is the desired inertia matrix, is the desired potential function and so, the total energy function of the closed loop reads Subindex “d" denotes “desired" which means in closed-loop. Finally is a skew-symmetric matrix free for the designer. The design concludes after a damping injection stage. Stability properties require a positive definite in a neighborhood of the desired equilibrium , with , and then is a stable equilibrium point of the closed-loop system (3.2), with Lyapunov function .

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) on and (in the unactuated part). The PDEs arise for are called kinetic energy PDEs and the ones for 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 given in [28] allows to transform the kinetic energy PDE in a set of first-order ordinary differential equations depending only on the -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 is *conservative*. 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 using *energy-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 with state and a constant gain matrix . 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. *The *Forwarding* 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-known *State 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 , reads

where 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 the *exponential 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 crucial *conservative* quantity allows to design the stabiliser. In this case the energy of the zero dynamics was the conserved quantity.

*Literature Review*

Close to *Input-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.

In the experiment we forced to the system to start from an initial condition as . 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 rad with the *singular-perturbed* approach; rad with the *energy-shaping* approach; 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 still *open* 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 , 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 , with , , 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.

**(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 second. A video of the experiment can be displayed from http://www.esi2.us.es/~jaar/investiga_e.htm.

*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 the *Jacobian*. 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 those *non-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.

#### Appendices

#### A. Experimental Control System

The schematic representation of the full control system is depicted in Figure 9. The laboratory electromechanical system is composed by three subsystems: measurement, power, and control supervision. A brief description of them is given in this appendix.

*Measurement Subsystem*

Recall that the system has two degrees of freedom corresponding to the angles of rotation of the pendulum and the motor shaft, the angular coordinates and , respectively. These angles are measured by sensors position (*encoders*) of incremental nonhigh resolution (2000 and 1024 pulses per revolution, resp.). Velocities for each angle, and , are obtained from suitable filters to the respective angular positions. There is the possibility to obtain the velocity via a tachometer coupled to the motor shaft. The transmission of the signal position of the pendulum is through brushes using a slip-ring system.

To avoid problems of * aliasing*, mainly caused by noise, an analog filter (*antialiasing*) is used. The cutoff frequency is at 200 Hz, to filter the signal for the speed sensor (variable ) before being sampled.

*Power Subsystem*

This subsystem provided the necessary power to drive the motor. The DC-motor provides a maximum torque of 15 N m at 2000 r.p.m., with a regulated source of 50 VA. The motor is controlled by current through a PWM servo-amplifier at 22 KHz (see Figure 9).

*Control and Supervision Subsystem*

This subsystem closed the loop. It is composed by a PC and a data card * Dspace* DS1102, based on a Digital Signal Processors (DSP) . Among others, We have interfaz AD/DA, digital inputs/ouputs, counters, * incremental encoders* interface, digital filters, and communication interface. The real-time software is provided by * Dspace* running on * Matlab/Simulink*. The minimal sample time allowed is 1 msec.

#### B. MATLAB

For the sake of completeness, in this appendix we collect the detailed MATLAB code for identification of the dynamic friction model (LuGre).

##### B.1. Code for Step 1

##### B.2. Code for Step 2

##### B.3. Code for Step 3

##### B.4. Code for Step 4

#### Acknowledgment

This work was supported by the Consejería de Innovación, Ciencia y Empresa of the Junta de Andalucía under IAC programme.