Design, Implementation and Experiments of a Robust Passivity-based
Controller for a Rolling-balancing System
Martin Crespo
1
, Alejandro Donaire
2,3
, Fabio Ruggiero
2
, Vincenzo Lippiello
2
and Bruno Siciliano
2
1
Departamento de Control, FCEIA, Universidad Nacional de Rosario and CONICET,
Riobamba 245 bis, S2000EKE, Rosario, Argentina
2
PRISMA Lab, Dipartimento di Ingegneria Elettrica e Tecnologie dell’Informazione,
Universit
`
a degli Studi di Napoli Federico II, Via Claudio 21, 80125, Napoli, Italy
3
School of Engineering, The University of Newcastle, University Drive, 2308, NSW, Newcastle, Australia
Keywords:
Rolling-ballancing System, Nonlinear Control, Lyapunov Methods, Passivity.
Abstract:
In this paper, we present the design of a robust interconnection and damping assignment controller for a
rolling-balancing system known as the disk-on-disk. The underactuation feature of this system hampers the
control design, and since we consider matched disturbances, the problem becomes even more challenging. To
overcome this difficulty, we propose to design first a controller to stabilize the desired equilibrium of the case
where the disturbance is not present, and then we robustify this controller by adding a nonlinear PID outer
loop that compensates the disturbance. Finally, we evaluate the practical applicability of the control design by
implementing the controllers on a real hardware for the disk-on-disk system.
1 INTRODUCTION
Control theory has provided a rich variety of meth-
ods for control design of nonlinear systems (Khalil,
2002; Haddad and Chellaboina, 2007). In the context
of robotics and mechanical systems, nonlinear meth-
ods have been widely used for control design (see e.g.
(Siciliano et al., 2009; Spong et al., 2006)). A class of
mechanical systems posing a particularly challenging
control problem is that of underactuated mechanical
systems. Underactuation refers to the fact that num-
ber of the inputs is smaller than the number of the
degrees of freedom.
Passivity-based control (PBC) has shown to be
a successful technique for control design of under-
actuated systems (Ortega et al., 1998). A classical
constructive method for stabilization of mechanical
system is the so-called interconnection and damping
assignment (IDA) (Ortega et al., 2002). This tech-
nique is based on Lagrange-Dirichlet result on stabil-
ity of mechanical systems, which states that an iso-
lated minimum of the potential energy is Lyapunov
stable (see (Merkin, 1997, Theorem 3.1) for details).
The basic idea of IDA-PBC is to shape the energy of
the system and assign a minimum at the desired equi-
librium by using feedback measurements and the con-
trol input. A further injection of damping is needed
to ensure asymptotic stability (Ortega et al., 2016).
To stabilize a desired equilibrium for fully actuated
systems, only the potential energy of the system is
needed to be shaped. However, both the potential
and kinetic energies have to be shaped to stabilize un-
deractuated systems, a procedure known as total en-
ergy shaping. Although passivity-based controllers
are known to be robust against parameter uncertain-
ties, the action of external disturbances can deteri-
orate the performance of the closed loop or, even
worse, produce instabilities. To address this prob-
lem, a classical addition of control actions has been
proposed in (Donaire and Junco, 2009; Ortega and
Romero, 2012). This integral action design has been
specialised for fully actuated and underactuated me-
chanical system by (Romero et al., 2013) and (Don-
aire et al., 2016), respectively.
In this paper, we consider the control problem
of the disk-on-disk (DoD), which is an underactuted
rolling-balancing system (Ryu et al., 2013). The DoD
is a case study of nonprehensile manipulation and
has been used as testbed for control designs in this
context (Lippiello et al., 2016). In addition to the
standard stabilization problem, we also consider in-
put disturbances, which complicate the design. Previ-
ous works have considered the stabilization problem
of the DoD using exact-feedback linearization (Ryu
Crespo, M., Donaire, A., Ruggiero, F., Lippiello, V. and Siciliano, B.
Design, Implementation and Experiments of a Robust Passivity-based Controller for a Rolling-balancing System.
DOI: 10.5220/0005981700790089
In Proceedings of the 13th International Conference on Informatics in Control, Automation and Robotics (ICINCO 2016) - Volume 2, pages 79-89
ISBN: 978-989-758-198-4
Copyright
c
2016 by SCITEPRESS Science and Technology Publications, Lda. All rights reserved
79
et al., 2013) and backstepping (Ryu et al., 2012), but
none of these works consider disturbances in the de-
sign. In our work, we explicitly consider the distur-
bances and we design a robust IDA-PBC controller
following the approach proposed by (Donaire et al.,
2016). This controller results in a classical IDA-PBC
inner controller plus a nonlinear PID-type outer-loop
controller, which rejects the disturbance. In addition,
we implement the control laws in a real hardware for
the disk-on-disk prototype, and run a set of experi-
ments. These experiments allow assesing the perfor-
mance of the controllers and evaluating the practical
applicability of the methods provided in the literature
of control theory.
The rest of the paper is organized as follows:
Section 2 reviews the basic background on port-
Hamiltonian framework and IDA-PBC. The control
design for the disk-on-disk is developed in Section 3.
Section 4 presents the experiment results. Finally, the
paper is wrapped-up with the conclusions.
Notation. The matrix I
n
is the n × n identity ma-
trix. Given a function H : R
n
R we define
x
H ,
H
x
T
. To simplify the notation, we drop the depen-
dency of functions and matrices of their independent
variables when this dependency is clear from the con-
text.
2 PORT-HAMILTONIAN
SYSTEMS
2.1 Hamiltonian Models
A large class of mechanical systems can be described
by Euler-Lagrange equations of motion
d
dt
[
˙q
L (q, ˙q)]
q
L (q, ˙q) = G(q)u, (1)
where q R
n
is the generalized position, u the input
force, G : R
n
R
n×m
is the input matrix and L the
Lagrangian
L (q, ˙q) =
1
2
˙q
>
M(q) ˙q V(q),
where V : R
n
R is the potential energy and M :
R
n
R
n×n
is the mass matrix and satisfies the con-
dition M(q) = M
T
(q) > 0. Applying the Legendre
transformation and defining the generalized momen-
tum p = M(q) ˙q (Lanczos, 1960), we can express the
dynamics (1) in the Hamiltonian form as follows
˙q
˙p
=
0
n×n
I
n
I
n
0
n×n
q
H
p
H
+
0
n×m
G(q)
u (2)
where p R
n
and H : R
n×n
R is the total energy
system given as
H(q, p) =
1
2
p
>
M
1
(q)p +V (q). (3)
2.2 Energy Shaping and Damping
Assignment
The stabilization problem of the system (2) using
IDA-PBC is to find a control input u such that the
dynamics of the closed loop can be written as a port-
Hamiltonian system as follows
˙q
˙p
=
0
n×n
M
1
M
d
M
d
M
1
J
2
R
>
d
q
H
d
p
H
d
(4)
where the matrices J
2
(q, p) = J
>
2
(q, p) and R
d
(q) =
G
>
(q)K
v
G(q) represent the desired interconnection
and damping structures, respectively, and K
v
> 0 is
a free symmetric matrix to be chosen. The function
H
d
: R
n
R is the desired energy in closed loop
which has the form
H
d
(q, p) =
1
2
p
>
M
1
d
(q)p +V
d
(q) (5)
where M
d
(q) = M
>
d
(q) > 0 and V
d
(q) are the desired
mass matrix and the desired potential energy of the
closed loop, respectively. In addition, if q
?
is a mini-
mum of the potential energy, then the desired energy
H
d
qualifies as a Lyapunov candidate function, and
its time derivative along the solutions of (4) results as
follows
˙
H
d
= p
>
M
1
d
G
>
K
v
GM
1
d
p 0, (6)
which ensures that q
?
is a stable equilibrium of the
closed-loop system. Moreover, asymptotic stability
follows if the signal y
d
= GM
1
d
p is detectable (Or-
tega et al., 2002).
The classical approach to design an IDA-PBC
controller is to compute the control in two steps. First,
the energy shaping control u
ES
, and second the damp-
ing injection u
DI
. Then, the control input is obtained
as u = u
ES
+ u
DI
. The energy shaping controller is
computed by matching the open dynamics (2) and the
desired closed loop (4) assuming R
d
= 0. This proce-
dure results in the following matching equation
0
n×n
I
n
I
n
0
n×n
q
H
p
H
+
0
n×m
G(q)
u
es
=
0
n×n
M
1
M
d
M
d
M
1
J
2
q
H
d
p
H
d
,
(7)
which should be solve for u
ES
. For the nontrivial case
of underactuated systems, where G(q) is full column
rank but non invertible matrix, the solution of (7) can
be found by solving the following two equations:
ICINCO 2016 - 13th International Conference on Informatics in Control, Automation and Robotics
80
Kinetic-energy matching equation (KE-ME)
G
n
q
p
T
M
1
p
M
d
M
1
×
q
p
T
M
1
d
p
+ 2J
2
M
1
d
p
o
= 0
(8)
Potential-energy matching equation (PE-ME)
G
n
q
V M
d
M
1
q
V
d
o
= 0, (9)
where G
R
(nm)×n
is the full rank left annihilator
of G, i.e. G
G = 0. Then, the energy shaping control
law is given by
u
ES
= (G
>
G)
1
G
>
h
q
H M
d
M
1
q
H
d
+J
2
p
H
d
i
.
(10)
The second step in the design is the damping injec-
tion, which is given by the control law
u
DI
= K
v
G
>
M
1
d
p. (11)
As discussed by (Ortega et al., 2002), the injection of
damping together with the detectability condition are
needed for asymptotic stability.
3 CONTROL DESIGN FOR THE
DISK-ON-DISK
3.1 Dynamic Model
The DoD is a rolling-balancing system shown in Fig-
ure 1. Disk 1 is actuated by a controlled torque whilst
Disk 2 is non-actuated (see (Ryu et al., 2013) for a
detailed modelling development). The control objec-
tive is to stabilise Disk 2 at the upright position while
driving the angle of Disk 1 to a target reference.
Disk 1
Disk 2
Figure 1: A schematic of the DoD system.
The dynamic model of the DoD can be described
by the Lagrangian equations in coordinates (θ, ϕ),
where θ is the angle of Disk 1, and ϕ is the devia-
tion angle of Disk 2 respect to the upright position.
The Langrangian for the DoD is given by
L (q, ˙q) =
1
2
˙
θ
˙
ϕ
T
M
11
M
12
M
21
M
22
˙
θ
˙
ϕ
V (q)
(12)
where
V (q) = V
0
cos(ϕ)
with V
0
= m
o
g(r
o
+ r
h
). The function V represents
the potential energy and M is the mass matrix whose
entries are
M
11
= r
2
h
(m
o
+ m
h
)
M
12
= M
21
= m
o
r
h
(r
o
+ r
h
)
M
22
= 2m
o
(r
o
+ r
h
)
2
Equivalently, as explained in Section 2, the DoD
model can be written in the Hamiltonian form as fol-
lows
˙q
˙p
=
0 I
I 0
q
H
p
H
+
0
G
u (13)
where the coordinates q =
θ ϕ
>
, the momenta
p = M ˙q and the input matrix G =
1 0
>
. The
Hamiltonian function is
H(q, p) =
1
2
p
T
M
1
p +V (q).
3.2 Energy Shaping and Damping
Assignment Control
The objective is to design a IDA-PBC controller for
the DoD system that stabilises the point q
= (θ
, 0),
where θ
is the desired equilibrium for Disk 1 angle.
To solve this problem we design a controller using
energy shaping and damping injection as described
in Section 2. That is, we search for the function V
d
and the matrices M
d
and J
2
that solve the KE-ME and
PE-ME, (8) and (9) respectively. Thus, the energy
shaping control is obtained from (10) and the damp-
ing injection control from (11).
Since the mass matrix of the DoD is constant and
does not depend on the coordinates q, we select M
d
as
a constant matrix as follows
M
d
=
β
11
β
12
β
12
β
22
where β
11
, β
12
and β
22
are free constants parameters.
To simplify the notation, we note
M
d
M
1
=
a b
c d
.
Then, the PE-ME (9) results as follows
0 1
(
0
V
0
sin(ϕ)
+
a b
c d
θ
V
d
ϕ
V
d
)
=0
V
0
sin(ϕ) + c
θ
V
d
+ d
ϕ
V
d
=0
(14)
which a partial differential equation that we should
solve for V
d
. Using a symbolic software (e.g. Mathe-
matica, Maple), we can verify that a solution of (14)
Design, Implementation and Experiments of a Robust Passivity-based Controller for a Rolling-balancing System
81
is
V
d
(q) =
1
d
V
0
cos(ϕ) +
k
2
2
θ
c
d
ϕ k
1
2
(15)
where k
1
and k
2
are free constant parameters.
From the previous selection of M
d
, it is clear that
the KE-ME (8) is satisfied by choosing the free pa-
rameter matrix J
2
(q, p) = 0. In addition, we need to
ensure that M
d
> 0 and that V
d
has an isolated mini-
mum at the desired equilibrium q
?
. To assign the min-
imum of V
d
, we should ensure that the Jaccobian and
Hessian evaluated at q
?
are zero and positive definite
respectively. Then, we compute
I)
q
V
d
(q)
q=q
= 0
k
2
θ
c
d
ϕ k
1
V
0
d
sin(ϕ)
k
2
c
d
θ
c
d
ϕ k
1
q=q
= 0
which is satisfied if k
1
= θ
.
II)
2
q
V
d
(q)
q=q
> 0
k
2
k
2
c
d
k
2
c
d
V
0
d
cos(ϕ) + k
2
c
d
2
q=q
> 0
which is satisfied provided that k
2
> 0 and d < 0
(equivalently β
12
M
12
β
22
M
11
> 0). In addition, to
ensure that M
d
> 0, the free parameters should sat-
isfy β
11
> 0 and β
11
β
22
β
2
12
> 0. Notice that ef-
fectively, the potential energy has a minimum at the
desired equilibrium (θ
?
, ϕ
?
) = (0, 0) as shown in Fig-
ure 2, where we have used the values of the parame-
ters as in Section 4.1 for illustrative purpose.
Figure 2: Desired Potential energy.
Finally, the control law is computed from (10) and
(11) as follows
u = u
es
+ u
DI
=
b
d
ϕ
V k
2
ad bc
d
×
θ
c
d
ϕ θ
?
K
v
d σ
˙
θ
c
d
˙
ϕ
(16)
where σ =
M
11
M
22
M
2
12
β
11
β
22
β
2
12
and the free parameters β
11
,
β
12
, β
22
, k
2
and K
v
should satisfy
β
11
> 0, k
2
> 0, K
v
> 0,
β
11
β
22
β
2
12
> 0,
β
12
M
12
β
22
M
11
> 0.
Thus, the dynamics of the DoD system (13) in
closed loop with the controller (16) can be written in
the Hamiltonian form
˙q
˙p
=
0 M
1
M
d
M
d
M
1
GK
v
G
T
q
H
d
p
H
d
(17)
To analyse the stability of the closed loop (17), we
consider the desired energy H
d
in (5) as a Lyapunov
candidate function, and we compute its time deriva-
tive as follows
˙
H
d
(q, p) = p
>
M
1
d
˙p + ˙q
>
˙
V
d
(q)
= p
>
M
1
d
M
d
M
1
˙
V
d
GK
v
G
>
M
1
d
p
+ ˙q
>
˙
V
d
(q)
= p
>
M
1
d
GK
v
G
>
M
1
d
p 0,
which ensures stability of the desired equilibrium.
Asymptotic stability follows from LaSalle’s invari-
ance principle (Khalil, 2002), or equivalently from
detectability of the signal y
d
= K
v
G
>
M
1
d
p (van der
Schaft, 2000).
3.3 Effect of Input Disturbances
Now, we consider the presence of a matched distur-
bance δ in the closed loop (17). In this case, the
closed-loop dynamics is
˙q
˙p
=
0 M
1
M
d
M
d
M
1
GK
v
G
T
q
H
d
p
H
d
+
0
G
(v + δ)
(18)
where δ is the matched constant disturbance and v is
a control input that will be used to reject the unknown
disturbance. To obtain the dynamics (18), we use the
control u = u
es
+ u
DI
+ v in (13), and we add the dis-
turbance. Notice that the disturbance shifts the equi-
librium of the closed loop, defined by zero velocities
(equivalently p = 0), from the desired equilibrium q
?
to a new equilibrium ¯q, which is the solution of
M
d
M
1
q
V
d
+ Gδ = 0,
which implies that ¯q = (
¯
θ,
¯
ϕ) with
¯
θ = θ
?
+
d
(adbc)k
2
δ
and
¯
ϕ = 0. This shows that the control objective is not
achieved by the controller in the presence of constant
disturbances, since θ will not reach the desired value
at steady state as desired. This motivates us to im-
plement outer-loop controllers to reject constant un-
known disturbances.
ICINCO 2016 - 13th International Conference on Informatics in Control, Automation and Robotics
82
3.4 Robust Energy Shaping
In this section, we implement the three integral based
controllers proposed by (Donaire et al., 2016) to en-
hance the robustness of energy shaping controller. We
develop these integral controllers for the case of the
disk-on-disk in closed loop with the control (16). That
is, for the closed-loop dynamics (17) we design a con-
trol law v to reject constant disturbances δ. We first
present the most complex controller which is a non-
linear PID, and subsequently we present two simpler
versions, which result in a type of PI and PID con-
trollers.
3.4.1 Integral Control
The fundamental idea proposed by (Donaire et al.,
2016) is to find a dynamic control law v(q, p, ζ),
where ζ is the state of the controller, and a change of
coordinates such that the closed loop in the new coor-
dinates can be written as a Hamiltonian system, thus
stability is ensured. For the DoD closed loop (18), we
proposed a target Hamiltonian system in new coordi-
nates z R
5
, where we have augmented the state vec-
tor by adding the controller state. The target Hamilto-
nian system is
˙z
1
˙z
2
˙z
3
=
Γ
1
M
1
M
d
Γ
2
M
d
M
1
GK
v
G
T
GK
3
Γ
T
2
K
T
3
G
T
Γ
3
z
1
H
z
z
2
H
z
z
3
H
z
(19)
with Hamiltonian
H
z
(z) =
1
2
z
T
2
M
1
d
z
2
+V
d
(z
1
) +
1
2
K
I
(z
3
α)
2
and constant gains equal to
Γ
1
, M
1
GK
1
G
T
M
1
Γ
2
, M
1
GK
2
Γ
3
, K
T
3
G
T
M
1
d
GK
2
α ,
δ
K
I
K
v
G
T
M
1
d
GK
2
+ K
3
where the new coordinates z = ψ(q, p, ζ) are obtained
by the state transformation
z
1
= q (20)
z
2
= p + GK
1
G
T
M
1
V
d
+ GK
2
K
I
(ζ α) (21)
z
3
= ζ (22)
with K
v
> 0, K
I
> 0, K
1
> 0, K
3
> 0 and
K
2
=
G
T
M
1
d
G
1
.
Notice that if we differentiate (20) and replace the
derivative of the states by their corresponding state
equations from (18) and (19), we obtain the change
of coordinates (21), which implies that the state equa-
tions of q and z
1
match. The same result is obtained if
we differentiate (22) with respect to time, which im-
plies that the state equations of ζ and z
3
also match.
Finally, if we differentiate (21) with respect to time,
we obtain that the states equations of z
2
and p match
if the control law verifies
v =
K
v
G
T
M
1
d
GK
1
G
T
M
1
+ K
2
K
I
K
T
2
G
T
M
1
+ K
T
3
G
T
M
1
d
GK
1
G
T
M
1
V
d
K
1
G
T
M
1
2
V
d
M
1
+ K
2
K
I
K
T
3
G
T
M
1
d
p
K
v
G
T
M
1
d
GK
2
+ K
3
K
I
ζ
(23)
and
˙
ζ =
K
T
2
G
T
M
1
+ K
T
3
G
T
M
1
d
GK
1
G
T
M
1
V
d
+
+ K
T
3
G
T
M
1
d
p.
Since all the state equations of (18) and (19) match,
then the dynamics (18) in closed loop with the non-
linear PID controller (23) can be written in the form
(19). The Hamiltonian form of the closed-loop dy-
namics ensures its stability. Indeed, it can be veri-
fied straightforward that H
z
qualifies as a Lyapunov
candidate function for the dynamics (19), and its time
derivative is
˙
H
z
=
>
V
d
(z
1
)GM
1
K
1
G
>
M
1
V
d
(z
1
)
z
>
2
M
1
d
GK
v
G
>
M
1
d
z
2
Γ
3
K
2
I
(z
3
α)
2
0.
Notice that the controller (23) is a nonlinear PID,
which we will refer as NLPID2. Moreover, two sim-
pler version of this controller can be obtained by set-
ting the controller parameters to particular values. In-
deed, a simpler nonlinear PID can be considering
K
2
= 0 and K
3
= 1, which we will refer to as NLPID1,
and a nonlinear PI controller is obtained by setting
K
1
= 0 and K
3
= 0, which will refer to as NLPI.
In addition, we point out that a controller with
only the integral of the passive outputs, which are the
velocities form mechanical systems, can be obtained
by setting K
1
= 0, K
2
= 0 and K
3
= K
1
I
. We will refer
to this controller as IA. It has been shown in (Romero
et al., 2013) that this type of integral action does not
reject disturbances, destroys the detectability of the
passive outputs and creates a manifold of equilibrium.
Thus asymptotic stability is not achieved, a fact that
is seen in the experiments.
Design, Implementation and Experiments of a Robust Passivity-based Controller for a Rolling-balancing System
83
4 EXPERIMENTS
In this section we present experiment results to assess
the performance of the controllers presented in Sec-
tion 3 and verify their applicability in a real setup.
The experiments are carried out the prototype show
in Figure 3 available at PRISMA Lab. The model
parameters of the disk-on-disk are m
h
= 0.52 Kg,
m
o
= 0.22 Kg, r
h
= 0.15 m and r
o
= 0.075 m.
Figure 3: Prototype of the disk-on-disk available at
PRISMA Lab.
The prototype consists of two disks placed in be-
tween two plastic panels. Disk 1 is actuated by a DC
motor (Harmonic Drive RH–8D 3006) equipped with
a harmonic drive whose gearhead ratio is 100 : 1, and
a 500 p/r quadrature encoder. A rubber band of about
1 mm encircles both disks to avoid slipping. The com-
mands to the motor are provided by an ARM COR-
TEX M3 microcontroller (32 bit, 75 MHz). This mi-
crocontroller receives current references from an ex-
ternal PC through a USB cable. The measurements of
Disk 1 are provided by a encoder while the measure-
ments of Disk 2 are provided by an external visual
system. This consists of a uEye UI-122-xLE cam-
era providing (376 × 240) pixel images to the PC at
75 Hz, that is also the controller sample rate. In or-
der to speed up computations, a (15 × 15) pixel RoI
is employed by the image elaboration algorithm run-
ning on the same external PC. The control algorithm,
which is written in C++, runs on the external PC with
a Linux-based operating system.
We have tested ve different controllers: i) the
standar IDA-PBC controller, ii) the IDA-PBC con-
troller augmented with the IA, iii) the IDA-PBC con-
troller enhanced with the NLPID1, iv) the IDA-PBC
controller enhanced with the NLPID2, and v) the
IDA-PBC controller enhanced with the NLPI. The ex-
periments are executed under the following scenarios:
the initial conditions of the balancing and hand angle
positions are ϕ(0) = 7 deg and θ(0) = 0 deg respec-
tively, whilst the angular velocities at starting time are
zero. The set-point reference for the position of Disk
1 position is set to zero (θ
?
= 0), while Disk 2 has
to be stabilized at the upright position. A constant
matched disturbance of value δ = 0.01 Nm is added to
the system to evaluate the disturbance rejection prop-
erties of the controller.
4.1 Standard IDA-PBC
In the first experiment, we evaluate the performance
of the IDA-PBC controller (16) stand alone. The pa-
rameters of the controller used in the experiment are
β
11
= 0.41, β
12
= 0.03, β
22
= 0.003, k
2
= 0.0005
and K
v
= 0.08.
The results of this experiment are shown in Fig-
ures 4 to 6. As expected, the controller stabilizes Disk
2 at the upright position as shown in Figure 4. How-
ever, it is unable to ensure convergency of the angle of
Disk 1 to the desired reference due to the disturbance
(see Figure 5). The time history of the control torque
is shown in Figure 6, which shows that the controller
demands a reasonable torque without large sparks.
4.2 IDA-PBC plus IA
In the second experiment, we test the performance of
the IDA-PBC controller plus the IA, that is the con-
troller (16) plus (23) with K
1
= 0, K
2
= 0 and K
3
=
K
1
I
. The parameters of the controller used in the ex-
periment are β
11
= 0.41, β
12
= 0.03, β
22
= 0.003,
k
2
= 0.0005, K
v
= 0.08, and K
I
= 20.
The results of this experiment are shown in Fig-
ures 7-10. Similar to the previous experiment, the
controller balances Disk 2 at the upright position, but
does not make the angle of Disk 1 converge to zero,
which approaches a value of 160 degrees instead
(see Figures 7 and 8). The state of the controller is
shown in Figure 9, which reaches a value in the equi-
librium manifold that has no relation with the distur-
bance. Finally, the control torque is plotted in Fig-
ure 10. This experiment illustrates that the integral
action on the velocities does not produce any benefit
when used to reject disturbances, as predicted by the
theory.
4.3 IDA-PBC plus NLPI
In this fourth experiment, we evaluate the perfor-
mance of the IDA-PBC controller plus the NLPI, that
is the controller (16) plus (23) with K
1
= 0 and K
3
= 0.
The parameters of the controller used in the experi-
ment are β
11
= 0.41, β
12
= 0.03, β
22
= 0.003, k
2
=
0.0006, K
v
= 1.5, K
2
=
G
T
M
1
d
G
1
and K
I
= 1.6.
ICINCO 2016 - 13th International Conference on Informatics in Control, Automation and Robotics
84
0 1 2 3 4 5 6 7 8 9 10
−6
−4
−2
0
2
4
6
8
Time [s]
Balancing position (t) [deg]
Figure 4: Time history of the balancing angle with the IDA-
PBC controller.
0 1 2 3 4 5 6 7 8 9 10
−180
−160
−140
−120
−100
−80
−60
−40
−20
0
Time [s]
Disk 1 angle (t) [deg]
Figure 5: Time history of Disk 1 angle with the IDA-PBC
controller.
0 1 2 3 4 5 6 7 8 9 10
−0.2
−0.15
−0.1
−0.05
0
0.05
0.1
0.15
δ
Time [s]
Control input
τ
h
Figure 6: Time history of the control input torque and its
value at steady state with the IDA-PBC controller.
The results of this experiment are shown in Fig-
ures 11-14. The plots in Figure 11 and 12 show that
the controller stabilizes Disk 2 at the upright position
and drives Disk 1 to the desired reference angle de-
spite the action of the disturbance. However, a small
error (less than one degree) on the angle ϕ can be seen
0 1 2 3 4 5 6 7 8 9 10
−6
−4
−2
0
2
4
6
8
Time [s]
Balancing position (t) [deg]
Figure 7: Time history of the balancing angle with the IDA-
PBC plus IA controller.
0 1 2 3 4 5 6 7 8 9 10
−180
−160
−140
−120
−100
−80
−60
−40
−20
0
Time [s]
Disk 1 angle (t) [deg]
Figure 8: Time history of Disk 1 angle with the IDA-PBC
plus IA controller.
0 1 2 3 4 5 6 7 8 9 10
−6
−4
−2
0
2
4
6
8
10
12
x 10
−4
Time [s]
Controller state
Figure 9: Time history of the controller state and its value
at steady state with the IDA-PBC plus IA controller.
in steady state. Figure 13 shows that the state of the
controller converges to the value needed to compen-
sate the disturbance, and Figure 14 depicts the control
torque, which is bounded between admissible limits.
Design, Implementation and Experiments of a Robust Passivity-based Controller for a Rolling-balancing System
85
0 1 2 3 4 5 6 7 8 9 10
−0.2
−0.15
−0.1
−0.05
0
0.05
0.1
0.15
δ
Time [s]
Control input
τ
h
Figure 10: Time history of the control input torque and its
value at steady state with the IDA-PBC plus IA controller.
Figure 11: Time history of the balancing angle with the
IDA-PBC plus NLPI controller.
Figure 12: Time history of Disk 1 angle with the IDA-PBC
plus NLPI controller.
4.4 IDA-PBC plus NLPID1
In the second set of experiments, we evaluate the
performance of the IDA-PBC controller plus the
NLPID1, that is the controller (16) plus (23) with
K
2
= 0 and K
3
= 1. The parameters of the controller
Figure 13: Time history of the controller state and its value
at steady state with the IDA-PBC plus NLPI controller.
Figure 14: Time history of the control input torque and
its value at steady state with the IDA-PBC plus NLPI con-
troller.
are as follows: β
11
= 0.41, β
12
= 0.03, β
22
= 0.003,
k
2
= 0.00048, K
1
= 0.00905, K
v
= 0.35 and K
I
= 2.3.
Figures 15 to 18 show the results of this experi-
ment. The time history of the deviation angle of Disk
2 respect to the upright position is depicted in Fig-
ure 15. This figure shows that Disk 2 is balanced
as desired. Figure 16 shows that the angle of Disk 1
reaches the reference value, and the controller rejects
the disturbance. Also, it can be seen in Figure 17 that
the controller state produces an estimate of the distur-
bance, which is used to compensate it. In addition,
the control input is shown in Figure 18.
4.5 IDA-PBC plus NLPID2
In the last experiment, we evaluate the performance
of the IDA-PBC controller plus the NLPID2, that
is the controller (16) plus (23). The parameters of
the controller are as follows: β
11
= 0.41, β
12
=
0.03, β
22
= 0.003, k
2
= 0.00025, K
1
= 0.012, K
2
=
G
T
M
1
d
G
1
, K
3
= 0.06, K
v
= 0.3 and K
I
= 2.2.
ICINCO 2016 - 13th International Conference on Informatics in Control, Automation and Robotics
86
Figure 15: Time history of the balancing angle with the
IDA-PBC plus NLPID1 controller.
Figure 16: Time history of Disk 1 angle with the IDA-PBC
plus NLPID1 controller.
Figure 17: Time history of the controller state and its value
at steady state with the IDA-PBC plus NLPID1 controller.
The time history of the most significant variables
obtained in this experiment are shown in Figures 19
to 22. As can be seen in Figures 19 and 20, the con-
troller is able to balance Disk 2 at the upright position
while stabilizing the angle of Disk 1 at the desired set-
point. The controller state and the control torque are
Figure 18: Time history of the control input torque and its
value at steady state with the IDA-PBC plus NLPID1 con-
troller.
shown in Figures 21 and 22, respectively. These plots
evidence that the controller ensures internal stability,
output regulation and disturbance rejection showing
very good performance.
4.6 Discussion
First, we notice that although IDA-PBC controllers
show robustness against parameter uncertainties, the
action of disturbance can greatly deteriorate the per-
formance of the closed loop, as shown in the experi-
ments. Indeed, the IDA-PBC controller balances Disk
2, but the steady-state error of Disk 1 angle is notably
large. The addition of integral action on the passive
output, which is the most intuitive solutions, does not
improve the performance of the controller respect to
the standard IDA-PBC. This fact has been proved in
(Romero et al., 2013), however no experiment has il-
lustrated this theoretical results before.
The last three controllers tested are able to bal-
ance Disk 2 and simultaneously stabilize the angle of
Disk 1, thanks to the action of the outer NLPID. How-
ever, from the plots we can see that the convergency of
the variables of the disk-on-disk using the controller
NLPI is faster that the NLPID1, and produces less os-
cillations. This better transient performance is, how-
ever, darken by the steady state error, which is not
present in the NLPID1. Also, the overshoot of Disk
1 angle is greater when using NLPI compared with
the NLPID1 at expense of a more demanding control
torque. On the other side, the last experiment shows
that the controller NLPID2 performs better than the
controller NLPI and NLPID1. Indeed, the transient
performance of the NLPID2 is better that the other
controllers with less overshoot in both the balancing
angle ϕ related to Disk 2 and the angle θ of Disk 1.
These angles reach their desired values with less os-
Design, Implementation and Experiments of a Robust Passivity-based Controller for a Rolling-balancing System
87
Figure 19: Time history of the balancing angle with the
IDA-PBC plus NLPID2 controller.
Figure 20: Time history of Disk 1 angle with the IDA-PBC
plus NLPID2 controller.
Figure 21: Time history of the controller state and its value
at steady state with the IDA-PBC plus NLPID2 controller.
cillations and with a faster rate of convergency. In ad-
dition, the control torque demanded by the controller
NLPID2 looks less demanding and smoother than that
of the controllers NLPI and NLPID1. As one may ex-
pect, all these benefits are at expenses of a more com-
plex controller.
Figure 22: Time history of the control input torque and its
value at steady state with the IDA-PBC plus NLPID2 con-
troller.
The DoD setup could be also stabilized in princi-
ple by a linear controller, for example using a LQR
controller plus integral action for disturbance rejec-
tion. However, the control design is based on a linear
approximation, which is only valid on a small neigh-
bourhood of the equilibrium. The advantage of non-
linear controllers is that the basin of attraction of the
closed loop can be theoretically probe to be larger
than a small vicinity around the equilibrium.
A video that summarises the experiments of the
DoD system described in Sections 4.3, 4.4 and 4.5
can be watched on https://youtu.be/B0k8JtYZjrY.
5 CONCLUSION
In this paper we present three robust IDA-PBC con-
trollers for the disk-on-disk system subject to matched
disturbances. We also show experimental results to
evaluate the related performance and asses the ap-
plicability of advanced nonlinear control techniques
based on passivity in a real setup. The results evi-
dence that the robust IDA-PBC has good performance
and validate the use of this technique on a practical
application. Motivated by this positive result, in fu-
ture work we intend to design controllers for more
complex mechanical system performing more diffi-
cult tasks.
ACKNOWLEDGEMENTS
This work was partially supported by the RoDyMan
project, which has received funding from the Euro-
pean Research Council FP7 Ideas under Advanced
Grant agreement number 320992. The authors are
solely responsible for the content of this manuscript.
ICINCO 2016 - 13th International Conference on Informatics in Control, Automation and Robotics
88
The first author acknowledges the National Uni-
versity of Rosario for supporting his internship at
PRISMA Lab.
REFERENCES
Donaire, A. and Junco, S. (2009). On the addition of in-
tegral action to port-controlled Hamiltonian systems.
Automatica, 45:1910–1916.
Donaire, A., Romero, J. G., Ortega, R., and Siciliano, B.
(2016). Robust IDA-PBC for underactuated mechani-
cal systems subject to matched disturbances. In Amer-
ican Control Conference, Boston, USA.
Haddad, W. and Chellaboina, V. (2007). Nonlinear Dy-
namical Systems and Control. A Lyapunov-Based Ap-
proach. Princeton University Press, New Jersey.
Khalil, H. (2002). Nonlinear Systems. Prentice Hall.
Lanczos, C. (1960). The variational principles of mechan-
ics. University of Toronto Press.
Lippiello, V., Ruggiero, F., and Siciliano, B. (2016). The
effect of shapes in input-state linearization for stabi-
lization of nonprehensile planar rolling dynamic ma-
nipulation. IEEE Robotics and Automation Letters,
1(1):492–499.
Merkin, D. (1997). Introduction to the Theory of Stability.
Springer Verlag, New York.
Ortega, R., Donaire, A., and Romero, J. G. (2016).
Passivity–based control of mechanical systems. Lec-
ture Notes in Control and Information Sciences.
Springer, Berlin/Heidelberg.
Ortega, R., Lor
´
ıa, A., Nicklasson, P., and Sira-Ram
´
ırez, H.
(1998). Passivity-based Control of Euler-Lagrange
Systems: Mechanical, Electrical, and Electromechan-
ical Applications. Springer Verlag, London.
Ortega, R. and Romero, J. G. (2012). Robust integral con-
trol of port-Hamiltonian systems: The case of non-
passive outputs with unmatched disturbances. Systems
& Control Letters, 61(1):11–17.
Ortega, R., Spong, M., Gomez-Estern, F., and Blankenstein,
G. (2002). Stabilization of a class of underactuated
mechanical systems via interconnection and damping
assignment. IEEE Transactions on Automatic Control,
47(8):1218–1233.
Romero, J. G., Donaire, A., and Ortega, R. (2013). Robust
energy shaping contorl of mechanical systems. Sys-
tems & Control Letters, 62(9):770–780.
Ryu, J. C., Ruggiero, F., and Lynch, K. (2013). Con-
trol of nonprehensile rolling manipulation: Balanc-
ing a disk on a disk. IEEE Transactions on Robotics,
29(5):1152–1161.
Ryu, J. C., Ruggiero, F., and Lynch, K. M. (2012). Con-
trol of nonprehensile rolling manipulation: Balancing
a disk on a disk. In IEEE International Conference on
Robotics and Automation, pages 3232–3237, St. Paul,
USA.
Siciliano, B., Sciavicco, L., Villani, L., and Oriolo, G.
(2009). Robotics. Modelling, Planning and Control.
Springer Verlag, London.
Spong, M., Hutchinson, S., and Vidyasagar, M. (2006).
Robot Modeling and Control. John Wiley & Sons,
USA.
van der Schaft, A. J. (2000). L2-gain and Passivity Tech-
niques in Nonlinear Control. Springer Verlag.
Design, Implementation and Experiments of a Robust Passivity-based Controller for a Rolling-balancing System
89