Control of The Underactuated Inertia Wheel Inverted Pendulum For Stable Limit Cycle Generation
Control of The Underactuated Inertia Wheel Inverted Pendulum For Stable Limit Cycle Generation
Control of The Underactuated Inertia Wheel Inverted Pendulum For Stable Limit Cycle Generation
www.brill.nl/ar
Full paper
Abstract
This paper deals with a control approach dedicated to stable limit cycle generation for underactuated me-
chanical systems. The proposed approach is based on partial nonlinear feedback linearization and dynamic
control for optimal periodic reference trajectories tracking. The computation of the reference trajectories is
performed in order to optimize the behavior of the whole dynamics of the system and especially its zero
dynamics at the end of each cycle. Simulation results as well as experiments show the performance and the
efficiency of the proposed control scheme.
© Koninklijke Brill NV, Leiden and The Robotics Society of Japan, 2009
Keywords
Limit cycle, underactuated systems, optimization, partial feedback linearization, inertia wheel inverted pen-
dulum
1. Introduction
Underactuated mechanical systems [1] are those systems that have less control in-
puts than generalized coordinates (degrees of freedom), i.e., they have generalized
coordinates that are not actuated. In such systems the unactuated generalized coor-
dinates may indirectly be controlled by the actuated coordinates through a dynamic
coupling. This coupling is often nonlinear, hence the resulting dynamic constraints
are generally nonintegrable and, therefore, second-order nonholonomic.
Many examples of such systems exist; mainly in robotics, they include, among
others, the underactuated robot manipulators, the gymnast robots, particularly the
acrobot [2], the pendubot [3], planar vertical takeoff and landing aircraft [4], under-
sea vehicles [5] and other mobile robots [6].
© Koninklijke Brill NV, Leiden and The Robotics Society of Japan, 2009 DOI:10.1163/016918609X12529279062438
2000 S. Andary et al. / Advanced Robotics 23 (2009) 1999–2014
ence trajectories as well as the control law are discussed in Section 3. Section 4 is
dedicated to simulation results, while experiments are presented and discussed in
Section 5. Finally, concluding remarks are drawn in Section 6.
The underactuated mechanical system studied in this paper is an inertia wheel in-
verted pendulum (Fig. 1) which consists of an inverted pendulum equipped with
a rotating wheel. Its mechanical structure is sketched in Fig. 2. The motor torque
produces an angular acceleration of the rotating wheel, which generates, thanks to
the dynamic coupling, a torque acting on the pendulum’s passive joint (as shown
in Fig. 3); therefore, this passive joint can be controlled through the acceleration of
the inertia wheel.
Figure 2. Schematic view of the system’s mechanical structure: the joint between the frame and the
pendulum body is unactuated (passive), while the joint between the body and the inertia wheel is
actuated (active).
2002 S. Andary et al. / Advanced Robotics 23 (2009) 1999–2014
Figure 3. Mechanical principle: the inertia wheel is assumed to be equivalent to two punctual masses
situated at the acting points of F + and F − . To straighten up the pendulum, the torque acting at O
generated by F + must be greater than that generated by both gravity and F − forces.
system. Since the system is nonminimum phase, the reference trajectories have to
be optimized in order to ensure the stability of the internal dynamics. The optimiza-
tion criterion is based on the rotation speed of the inertia wheel, which has to be
minimized at the end of each cycle. Therefore, the idea is to propose parameterized
reference trajectories and to compute their parameters by solving an optimization
problem. The generation of the reference trajectories is discussed next.
3.1. Reference Trajectories Generation
Reference trajectories are to be established with the aim of generating stable limit
cycles. Their shapes have to be chosen taking into account the following consider-
ations:
(i) Since the desired dynamic behavior of the system is symmetrical with respect
to the vertical, a periodic symmetrical reference trajectory should be chosen for
θ1 in order to obtain stable periodic evolution on both actuated and unactuated
coordinates. Indeed, a perfect tracking on θ1 of the nominal system leads to a
periodic evolution of θ̇2 . Conversely, when the trajectory is asymmetrical with
respect to the vertical, the pendulum rod will spend more time on one side and
consequently the velocity of the inertia wheel at the end of the cycle will be
different from zero.
(ii) The tracking of a symmetrical trajectory when the system is subject to un-
certainties (e.g., on model parameters, external disturbances, etc.) leads to an
aperiodic evolution of θ̇2 , i.e., its final value will be different from the initial
value (zero value). For this reason, it will be clever to deform the original sym-
metrical reference trajectory in order to spend more time on one side to correct
the asymmetrical evolution of θ̇2 . Doing that, the aim is to steer θ̇2 to regain
zero at the end of the cycle.
(iii) In our case, for smooth reference trajectories, periodic functions twice con-
tinuously differentiable are chosen to avoid discontinuities on velocities and
accelerations.
Trajectories that fulfill the above considerations are designed as follows. They are
split up in half-periods and each part is expressed by a parameterized polynomial
function such that the reference trajectories on the whole cycle can be written as:
⎧
⎪
⎪ 2t τ
⎪
⎨ AP τ , p if t ∈ 0,
2
θ1 (t, p) =
ref
(2)
⎪
⎪ 2t τ
⎪
⎩ −AP − 1, 1 − p if t ∈ ,τ ,
τ 2
where A and τ are, respectively, the amplitude and the period of oscillations, and
p is the optimization parameter. P (t, p) is the normalized polynomial in t that
varies from 1 (at t = 0) to −1 (at t = 1) for all p. In order to join smoothly suc-
cessive parts of the reference trajectories, the first and second time derivatives of
2004 S. Andary et al. / Advanced Robotics 23 (2009) 1999–2014
P (t, p) are constrained to be zero at boundaries (cf. consideration (iii) above). Fi-
nally, p is such that P (t = p, p) = 0.
These considerations are mathematically expressed by the following constraints:
⎧
⎪
⎪ P (0, p) = 1; P (t = p, p) = 0; P (1, p) = −1
⎪
⎪
⎪
⎨ ∂P ∂P
(0, p) = 0; (1, p) = 0
∂t ∂t (3)
⎪
⎪
⎪
⎪ ∂ 2P ∂ 2P
⎪
⎩ (0, p) = 0; (1, p) = 0.
∂t 2 ∂t 2
Having seven constraints, then P (t, p) can be defined as a six-degree p-paramete-
rized polynomial in t, such that:
6
P (t, p) = αi (p)t i . (4)
i=0
The identification of coefficients αi (p) of the polynomial (4) taking into account
constraint (iii) leads to the following:
(2p − 1)(6p4 − 12p3 + 4p2 + 2p + 1)
α6 (p) =
p3 (p − 1)3
−3(4p6 − 18p4 + 16p3 − 1)
α5 (p) =
p3 (p − 1)3
3(10p6 − 18p5 + 10p3 − 1)
α4 (p) =
p3 (p − 1)3
−(20p6 − 48p5 + 30p4 − 1)
α3 (p) =
p3 (p − 1)3
α2 (p) = 0
α1 (p) = 0
α0 (p) = 1.
To show the effect of the parameter p on the reference trajectory, Fig. 4 shows
the evolution of the polynomial P (t, p) for different values of p. Note that the
pendulum spends the same amount of time on both sides of the equilibrium point
when p = 0.5.
For practical reasons (e.g., avoid touching mechanical stops) the passive joint θ1
of the pendulum is constrained to remain within interval [−A, A]; therefore, only a
subinterval [pmin , pmax ] of [0, 1] is admissible for p values. This requirement can
be written for the normalized trajectories as:
∀p ∈ [pmin , pmax ], ∀t ∈ [0, 1], |P (t, p)| 1, (5)
where pmin and pmax can be computed as follows. Assume for some p that:
∃t1 ∈ [0, 1] s.t. |P (t1 , p)| > 1. (6)
S. Andary et al. / Advanced Robotics 23 (2009) 1999–2014 2005
Figure 4. Evolution of the polynomial P (t, p) for different values of p. Note that this corresponds to
the normalized reference trajectory of θ1 during half a period.
Consider P (0, p) = 1, P (1, p) = −1 and (6), P must admit at least one null tan-
gency point. It means that at least one root of ∂P (t, p)/∂t is within [0, 1]. The
computation of the roots of ∂P (t, p)/∂t leads to the following unique real solution:
∂P 20p6 − 48p5 + 304 − 1
(t1 , p) = 0 ⇒ t1 = . (7)
∂t 24p5 − 60p4 + 40p3 − 2
The two extremal trajectories P (t, pmin ) and P (t, pmax ) correspond, respectively,
to values 0 and 1 for t1 . This leads us to solve the following two equations:
20p6 − 48p5 + 30p4 − 1
=0 (8)
24p5 − 60p4 + 40p3 − 2
20p6 − 48p5 + 30p4 − 1
= 1. (9)
24p5 − 60p4 + 40p3 − 2
Equation (8) admits a unique real solution p = pmin , and (9) admits p = pmax as
solution, both in interval [0, 1].
Remark 1. Numerical solution of (8) is pmin 0.42, and that of (9) is pmax 0.58,
where it can be seen, due to the complementary feature between pmin and pmax , that
pmin + pmax = 1.
The above equations describe the system dynamics in open loop. According to col-
located partial feedback linearization [9], consider the following control law (the
torque C1 is considered to be zero since the nominal system is not subject to exter-
nal disturbing torque):
C2 = mlg sin(θ1 ) − i1 θ̈1ref + i1 kp θ1 − θ1ref + i1 kv θ̇1 − θ̇1ref , (12)
where kp and kv are, respectively, the proportional and derivative feedback gains,
and are used to tune the dynamics of the closed-loop system. Injecting this con-
trol law in (10) leads to the following linear closed-loop subsystem (completely
linearized part):
ë + kv ė + kp e = 0, (13)
where e = θ1 − θ1ref , ė = θ̇1 − θ̇1ref and ë = θ̈1 − θ̈1ref . By choosing the feedback gains
kp and kv as positive definite matrices (scalar strictly positive gains in our case),
the resulting linear system is asymptotically stable [14]. Therefore, limt→∞ e =
limt→∞ ė = 0 and consequently θ1 → θ1ref and θ̇1 → θ̇1ref as t → ∞. The pendulum
passive joint then follows the reference trajectory θ1ref (t).
3.3. Trajectory Optimization
The aim of trajectory optimization is to minimize the motor rotating speed at the
end of each cycle. In other words, for a given initial value θ̇2 (0), the goal is to
choose the optimal value of p that minimizes a quadratic cost-function of θ̇2 (τ ).
Injecting the control law (12) in (10) and (11) leads to the following closed-loop
system:
θ̈1 = θ̈1ref − kv θ̇1 − θ̇1ref − kp θ1 − θ1ref (14)
i1 + i2 ref mlg
θ̈2 = − θ̈1 − kv θ̇1 − θ̇1ref − kp θ1 − θ1ref + sin(θ1 ). (15)
i2 i2
Knowing the p-parametrized reference trajectory (2), numerical integration of
(14) and (15), starting from initial condition (θ1 (0), θ̇1 (0), θ̇2 (0)), enables us to ob-
tain the inertia wheel velocity at the end of the cycle θ̇2 (τ ). Hence, the quadratic
function to be minimized can be expressed by g(p, θ1 (0), θ̇1 (0), θ̇2 (0)). The opti-
mization problem can then be formulated as:
p̂ = Arg min g(p, θ1 (0), θ̇1 (0), θ̇2 (0)). (16)
p
This problem is to be solved at the beginning of each cycle. Its solution allows us
to define completely the reference trajectory to be tracked on the next oscillation
cycle.
4. Simulation Results
Consider the dynamic model of system (1) with dynamical parameters described in
Table 1. These parameters have been identified thanks to the real prototype of the
system.
S. Andary et al. / Advanced Robotics 23 (2009) 1999–2014 2007
Table 1.
Description of dynamical parameters of the inverted pendulum
Table 2.
Description of the reference trajectories and control parameters
Simulation results, obtained using Matlab software, are presented and discussed
in the following. They attest to the feasibility of the proposed control scheme. Ta-
ble 2 lists the parameters of the reference trajectories and the control approach.
The proposed simulation is started from the initial condition (θ1 (0), θ̇1 (0),
θ̇2 (0)) = (10◦ , 0 rad/s, 0 rad/s). The choice of θ1 (0) is motivated by the physi-
cal properties of the inverted pendulum (pendulum angle value is approximatively
±10◦ at standstill) since simulation is started from rest.
Figure 5 displays the whole simulation results. Figure 5a and 5b shows the
pendulum body joint position and velocity versus time in solid lines, while the
dashed lines represent their corresponding reference position and velocity. This
shows clearly the convergence of position and velocity to their reference trajec-
tories. The inertia wheel velocity versus time is displayed in Fig. 5c where it can
be observed that within two periods, the motor velocity reaches a limit cycle and
oscillates around zero. Figure 5e represents the control input that consists of the
motor driver voltage (proportional to the motor torque), where it can be noticed that
it remains within the admissible limits (±10 V).
The phase portrait (θ1 , θ̇1 ) is depicted in Fig. 5d, showing clearly the conver-
gence from the initial condition to a stable limit cycle. Figure 5f represents the
absolute value of motor velocity versus absolute motor torque and the admissible
region of the actuator, given by the manufacturer of the DC motor; it can be seen
that the trajectories remain inside the admissible region. Finally, in Fig. 5g, the evo-
2008 S. Andary et al. / Advanced Robotics 23 (2009) 1999–2014
lution of the normalized optimal parameter (which evolves within interval [−1, 1])
is displayed, where it converges after two cycles to a null value.
5. Experimental Results
In this section, the experimental results are represented with implementation issues.
It starts with a description of the inverted pendulum testbed, and then two experi-
ments are presented. The first one concerns the control of the disturbance-free real
system, whereas in the second one the system is subject to external perturbations.
5.1. Testbed and Implementation Issues
Real-time experiments are performed on an inertia wheel inverted pendulum
(Fig. 1) designed and developed at our laboratory. The pendulum angle θ1 is con-
strained to remain within the interval [−10◦ , 10◦ ] due to mechanical stops. The
actuator of the plant is a Maxon EC-powermax 30 DC motor, equipped with an
incremental encoder, allowing us to measure the inertia wheel angular position and
to compute its velocity in real-time. In order to measure the angle of the pendulum
with respect to the vertical, the system is equipped with a Micro strain FAS-G incli-
nometer. The choice of this solution, other than a classical encoder, has been made
since it does not require us to set the frame horizontally. The system is controlled
with a computer equipped with a 2.4-GHz Intel processor. The control approach is
implemented using C language and the whole system runs under the Ardence RTX
real-time OS.
The proposed control scheme requires that an optimization problem be solved
in real-time; however, to overcome the problem of computation time, online imple-
mentation is performed using a lookup table. For that a grid is defined for different
initial values θ̇2 (0). Since the reference trajectories are periodic and the proposed
controller is performant for tracking them, the influence of θ1 (0) and θ̇1 (0) on the
optimization parameter p is minor. For that reason, the lookup table was defined
only on θ̇2 (0).
The optimization parameter (16) is computed offline for each value of θ̇2 (0) on
the grid and stored in a table. Then, real-time implementation of the proposed con-
trol scheme uses this lookup table as well as an interpolation technique to obtain
instantaneously the optimization parameter.
5.2. Real-Time Experiments
In this section, real-time experiments are presented and discussed. They are per-
formed on the inverted pendulum testbed presented in the previous section. Two ex-
perimental scenarios are presented and discussed. In the first one the proposed con-
trol scheme is implemented without considering any external disturbance, whereas
in the second one, to show the robustness of the proposed approach, the system is
subject to external disturbances.
2010 S. Andary et al. / Advanced Robotics 23 (2009) 1999–2014
References
1. I. Fantoni and R. Lozano, Non-linear Control for Underactuated Mechanical Systems. Springer,
New York, NY (2001).
2. M. Spong, The swing up control problem for the acrobot, IEEE Control Syst. Mag. 15, 49–55
(1995).
3. A. De Luca, R. Mattone and G. Oriolo, Stabilization of underactuated planar 2r manipulator, Int.
J. Robust Nonlinear Control 10, 181–198 (2000).
4. G. Poulin, A. Chemori and N. Marchand, Minimum energy oriented global stabilizing control of
the PVTOL aircraft, Int. J. Control 80, 430–442 (2007).
5. T. I. Fossen, Nonlinear modelling and control of underwater vehicles, PhD Thesis, Norwegian
Institute of Technology (1991).
6. S. Ge and F. Lewis, Autonomous Mobile Robots. CRC Press, New York, NY (2006).
7. M. Reyhanoglu, S. Ludvigsen and O. Egeland, Discontinuous feedback control of a special class
of underactuated mechanical systems, Int. J. Robust Nonlinear Control 10, 265–282 (2000).
8. K. Lee and V. Coverstone-Carroll, Control algorithms for stabilizing underactuated robots, J. Ro-
botic Syst. 15, 681–697 (1998).
9. M. Spong, Energy based control of a class of underactuated mechanical system, in: Proc. 13th
IFAC World Congr., San Francisco, CA, pp. 431–436 (1996).
10. Y. Nakamura, T. Suzuki and M. Koinuma, Nonlinear behavior and control of nonholonomic free-
joint manipulator, IEEE Trans. Robotics Automat. 13, 853–862 (1997).
11. M. Spong, Underactuated mechanical systems, in: Control Problems in Robotics and Automation,
B. Siciliano and K. P. Valavanis (Eds), pp. 135–150. Springer, New York, NY (1998).
12. A. Chemori and M. Alamir, Nonlinear predictive control of under-actuated mechanical systems,
application: the ECP 505 inverted pendulum, in: Proc. Mathematical Theory of Networks and
Systems, Leuven (2004).
13. M. Spong and M. Vidyasagar, Robot Dynamics and Control. Wiley, New York, NY (1989).
14. H. Khalil. Nonlinear Systems, 2nd edn. Prentice Hall, Upper Saddle River, NJ (1996).
2014 S. Andary et al. / Advanced Robotics 23 (2009) 1999–2014