Implicit IDA-PBC Design and Implementationfor A Portal Crane System
Implicit IDA-PBC Design and Implementationfor A Portal Crane System
Implicit IDA-PBC Design and Implementationfor A Portal Crane System
Escuela de Posgrado
Tesis
Implicit IDA-PBC Design and Implementation
for a Portal Crane System
submitted by
Enrique Vidal
in the
I declare that the work is entirely my own and was produced with no assistance from
third parties.
I certify that the work has not been submitted in the same or any similar form for
assessment to any other examining body and all references, direct and indirect, are
indicated as such and have been cited accordingly.
(Enrique Vidal)
Ilmenau, 21 October 2019
To my beloved parents
Carmela and Enrique Vidal.
Abstract
I would like to thank all the people who support me during the development of this
thesis. Specially thanks are (i) to my entire family who motivated me to finish this work,
(ii) to my thesis advisor M.Sc. Oscar Cieza at TU Ilmenau, he was always available
to guide me in the right direction, (iii) to the responsible of the Control Engineering
Group Laboratory, Axel Fink, who support me in the well use of the Equipment, and
(iv) to my closest friends.
Abstract iv
Kurzfassung v
Contents vii
1. Introduction 1
1.1. Motivation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.2. Literature Review . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.2.1. Portal Crane . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.2.2. Common Algorithms used in Portal Crane control . . . . . . . . 2
1.2.3. Passivity Based Control (PBC) applied to Portal Cranes . . . . . 4
1.2.4. Implicit PBC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
1.3. Contribution of this thesis . . . . . . . . . . . . . . . . . . . . . . . . . . 6
1.4. Outline of this thesis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
2. Theoretical Fundamentals 7
2.1. Analytical Mechanics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
2.1.1. Lagrangian Mechanics . . . . . . . . . . . . . . . . . . . . . . . . 7
2.1.1.1. Kinematics . . . . . . . . . . . . . . . . . . . . . . . . . 7
2.1.1.2. Newton’s Law . . . . . . . . . . . . . . . . . . . . . . . 8
2.1.1.3. Generalized Coordinates . . . . . . . . . . . . . . . . . 8
2.1.1.4. Virtual Displacement . . . . . . . . . . . . . . . . . . . 9
2.1.1.5. Euler-Lagrange Equations . . . . . . . . . . . . . . . . . 10
2.1.1.6. The Functional and Hamilton’s Principle . . . . . . . . 10
2.1.1.7. Constraints . . . . . . . . . . . . . . . . . . . . . . . . . 11
2.1.1.8. Method of Lagrange Undetermined Multipliers . . . . . 11
2.1.1.9. Canonical Momentum . . . . . . . . . . . . . . . . . . . 11
Appendices 59
A. Euler-Lagrange Equations 60
Abbreviations 64
List of Figures 65
List of Tables 67
Bibliography 68
Introduction
1.1 Motivation
Underactuated Mechanical Systems (UMSs) are widely used in different scenarios in
the industry, such as construction, robotic applications, and transportation. A me-
chanical system is said to be underactuated if it has fewer control inputs than Degrees
of Freedom (DOF). The underactuation can come from different situations, such as
intentional design or due to the failure of some actuators [2]. For this reason, the focus
on developing new control techniques applicable to underactuated nonlinear mechanics
system has grown in the last years.
At the early 2000s, classic Energy-Based Control techniques were presented to reg-
ulate the behaviour of nonlinear systems [3]. Motivated on the passivity properties of
UMSs, different energy-based approaches were useful to overcome the underactuated
control problem. Among them the IDA-PBC approach has been successfully used in
a wide range of UMSs. The keystone of IDA-PBC is to design a closed-loop with
port-Hamiltonian (pH) structure, where the new storage function has a minimum at
the desired equilibrium point. However, the total energy shaping IDA-PBC has a per-
sistent problem: the solution of Partial Differential Equations (PDEs). Recently this
method has been extended theoretically to implicit pH structures [4].
The difference between an explicit model and the implicit one, relies on the consid-
erations of physical constraints. Thus, UMSs can be modeled in explicit or implicit
representation. But, if we use the implicit structure and apply the implicit IDA-PBC
method, it is possible in some system classes to avoid PDEs even when the open- and
closed-loop inertia mass matrices in explicit representation are state dependent. Until
now, the Implicit IDA-PBC technique has remained in the theoretical and simulation
framework with no physical implementation. Therefore, the main task of this master
thesis is to apply the mentioned control algorithm on a portal crane system located at
the laboratory of the Control Engineering Group at TU-Ilmenau.
• Rotary cranes: They are also known as tower cranes, and here, the girder1
rotates in a plane parallel to the ground about a fixed vertical axis. In Figure 1.1a
we can see a rotary crane model Potain MDT 98 [7].
• Boom cranes: Their suspension point is fixed at the end of the boom. The main
advantage relies on their structure capable of supporting loads in compression. As
a result, booms are compact and offer the same capacity as the rotary cranes [6].
Figure 1.1b is a boom crane developed by [8].
There exists two main approaches to model a crane, the distributed mass model and
the lumped mass model. The first considers the hoisting line as a distributed mass,
hence the name [10], while the latter considers the hoisting line as a massless cable. In
this thesis, we use the lumped-mass model and consider the cable-hook-payload as a
spherical pendulum.
and objects in the workspace. In this sense, it is desired to have minimal residual pen-
dulations en route to the target destination. A primitive idea will be to perform the
motion with minimum velocity. However, this leads in wasting time and thus, lacking
in efficiency and efficacy.
In [6], a detailed survey of the earliest controllers applied to cranes is presented.
The author describes different open and closed loops techniques including linear con-
trol, fuzzy control, optimal control, adaptive control and nonlinear control. Here, we
described some of the most relevant nonlinear control approaches:
Sliding mode control (SMC). In [11] the author models the crane dynamics in 3-D and
proposes two clear objectives: position regulation and anti-swing control. Besides, it is
implemented an observer contemplating that most of the cranes are not equipped with
velocity sensors. The results of the simulations confirm that using SMC increments
the robustness under uncertain parameters. In [12] the method is extended to Second-
order sliding mode control (SOSMC). The author proposes a SOSMC controller for
a 3-D crane affected by external perturbations. The work seeks a strong Lyapunov
function to enable the use of the twisting algorithm; and, SMC enforcement to deal with
uncertainties and initial swing angle conditions. An extension to Adaptive Dynamic
SMC was presented in [13]. That work proposes to eliminate the effect of chattering
caused by SMC through a dynamic integral sliding surface. An advantage of this
approach is the self-tuning laws which overcome the disturbances and uncertainties.
However, the model is restricted to 2-D.
Partial Feedback Linearization (PFL). In [14] the author uses the PFL combined with
H∞ control theory applied to a 3-D crane model. The approach explores two scenarios:
system without movement and with external perturbations, and trajectory tracking.
The results are implemented in a real system and compared with pole placement and
LQR approach. H∞ and H∞ loop-shaping control show a robustification and good
perfomance.
tracking using flatness and considering feedforward control based on flatness. They find
a lack of robustness due to the open-loop nature of flatness based feedforward control
and add the IDA-PBC methodology (solving a PDE) to stabilize the system.
Energy Shaped without solving the PDE. In [18] the authors propose a control law in
two stages. The first stage uses the collocated partial feedback linearization method,
and the second stage is a PI Controller. The technique follows a problem formulation
using a Hamiltonian energy function but does not impose a mechanical pH structure in
the closed-loop. Additionally, they use (Cyclo) passive outputs and consider the model
of the crane in 2-D. Unfortunately, the paper does not shows simulations or a physical
implementation.
Geometric-PBC. In [19] the authors take advantage of the intrinsic geometry of a
3-D underactuated crane with 4-DOF. They use PFL and new passivating outputs to
shape only the potential energy. Finally, they obtain a nonlinear control law without
solving PDEs.
Theoretical Fundamentals
This chapter presents the theoretical basis, which this thesis is built on. After some
brief mathematical preliminaries based on the authors of [23–25], we introduce sim-
ple mechanical systems in both Lagrangian and Hamiltonian representations in Sec-
tion 2.1.1 and Section 2.1.2, respectively. We then recall some notions of passivity and
passivity-based control theory in Section 2.2.
2.1.1.1 Kinematics
is r ∈ Rn and r = r(t) = (x(t), y(t), z(t)). The length from the origin to the vector is
defined by the Euclidean Norm krk2 . Besides, because only the components (x, y, z)
are time dependent, the velocity vector v ∈ Rn is v(t) := dr/dt ≡ ṙ. Similarly, the
acceleration vector a ∈ Rn is a(t) := dṙ/dt ≡ r̈.
The total force acting on the ith (point) particle is defined by F i = F ext int
i + F i . Where
F ext
i and F int
i are the external and internal forces respectively. Applying Newton’s
Second Law to our Cartesian coordinates (x,y,z), results in a set of three equations,
which we may sum over all particles i to obtain
n
X n
X
mi r̈i = F i. (2.1)
i=1 i=1
Geometric constraints are normally imposed due to physical constraints on the system.
Leading in the possibility of achieving the complete description of the motion in terms
of some dynamical variables. As an example, consider the simple pendulum in Fig-
ure 2.2 where the motion of the mass is constrained to follow the path of a circle of
radius l. The Cartesian coordinates of the system are x = l sin β and z = l cos β. Thus,
the description of the motion is in terms of a single variable β. This variable expresses
the relationship between x and y, and we refer to this variable as the generalized co-
ordinate. In this particular case, the reduction of coordinates results from the single
constraint l2 = x2 + y 2 .
Let us define the generalized coordinates q ∈ Rnq and an element of this set as qk ,
where k = 1 . . . nq . Besides, 1 ≤ nq ≤ N and N is an integer number indicating the
number of degrees of freedom. Thus,
To formulate a general case, where the generalized coordinates and the constraints of the
system are together, it will require the method of undetermined multipliers introduced
by Lagrange and later explained in Section 2.1.1.8. From the pendulum example,
it is clear that constraints will always impose geometrical relationships between the
rectangular coordinates r and the generalized coordinates q. Is common to represent
2
r
r (t )
y
β l
this relationship as
The virtual displacement δri is a purely imaginary movement along the path of the
particles. It is called virtual since it does not actually happen. The central assumption
for virtual displacement is that the time is constant and thus dt = 0. From (2.4), with
dt = 0, we have
nq
X ∂ri
δri = δqk . (2.5)
k=1
∂qk
A derivation from d’Alembert’s Principle (see Appendix A) will lead to the well known
Euler-Lagrange equation
∂L d ∂L
− = 0, (2.6)
∂qk dt ∂ q̇k
L(q, q̇, t) = T − V, (2.7)
where L is the Lagrangian, T is the kinetic energy and V represents the potential
energy.
Zb
d
J [y] = F (y(x), y 0 , x) dx with y0 = y(x). (2.8)
dx
a
Zt2
S [q] = L(q, q̇, t) dt ,
t1
∂L d ∂L
− =0 k = 1, . . . , nq
∂qk dt ∂ q̇k
2.1.1.7 Constraints
g(q) = 0. (2.9)
λ n
∂L d ∂L ∂gk
X
− + λk = 0. (2.11)
∂qk dt ∂ q̇ k k=1
∂qk
The canonical momenta p that conjugate to the generalized coordinates q are defined
as
∂L
pk ≡ . (2.12)
∂ q̇k
For a free particle the momentum that conjugates with x is p = mẋ, and thus canoni-
cally conjugate momentum reduces to the usual definition of momentum [24] which is
well known in classical mechanics as linear momentum [26].
∂Ψ
ζ= . (2.13)
∂η
∂Ψ ∂Ψ
dΨ = dξ + dη. (2.14)
∂ξ ∂η
dΦ = dη ζ + η dζ − dΨ
∂Ψ
= η dζ + ζ dη − dξ − ζ dη
∂ξ
∂Ψ
= η dζ − dξ . (2.15)
∂ξ
The function Φ depends on (ψ, ζ) rather than on (ψ, η). In doing so, we have encoun-
tered the legendre transformation.
Consider the Lagrangian as Ψ and the variable ζ as the canonical momenta pj . Using
the Legendre Transform we obtain
X
H(p, q, t) = pk q̇k − L(q, q̇, t), (2.16)
k
X ∂H
∂H
∂H
dH = dqk + dpk + dt . (2.18)
k
∂qk ∂pk ∂t
We can rewrite the Euler-Lagrange equations (2.6) using the canonical momentum (2.12)
to obtain
∂L d
= pk = ṗk . (2.19)
∂qk dt
Then, (2.17) becomes
X ∂L
dH = [−ṗk qk + q̇k dpk ] − dt . (2.20)
k
∂t
Equating (2.18) and (2.20) we obtain the canonical equations of the Hamilton, that is
>
∂H ∂H
q̇k = → q̇ = , (2.21)
∂pk ∂p
and >
∂H ∂H
ṗk = − → ṗ = − . (2.22)
∂qk ∂q
It is important to notice that the partial derivatives ∂H/∂t and − ∂L/∂t can not
be equated since they were taken considering different variables. However, because
dqk /dt = q̇k and dpk /dt = ṗk is feasible to evaluate − ∂L/∂t from Equation (2.20)
∂L dH X dqk dpk ∂H
− = + ṗk − q̇k = . (2.23)
∂t dt dt dt ∂t
The Hamiltonian is then a constant of the system motion provided the Lagrangian does
not depend explicitly on the time t.
In Section 2.1.1.7 we consider g(q) = 0 where g : Rnq → Rnλ are constraint equations
and λ ∈ Rnλ are arbitrary functions with λk gk = 0. If we incorporate the constraints
in the Hamilton’s Principal Function, we obtain
Zt2 ("
X
#
X
)
S= dt pk q̇k − H + λk gk . (2.24)
t1 k k
Now we can find the δ-variation similar as in the Lagrangian Formulation, which will
lead in the canonical equations with constraints, that is
>
∂H ∂H
q̇k = → q̇ = , (2.25)
∂pk ∂p
x(t) ∈ X ⊆ Rnx ,
X ẋ = f (x, u)
: , u(t) ∈ U ⊆ Rnu , (2.27)
y = h(x, u)
y(t) ∈ Y ⊆ Rny ,
with f (0, 0) = 0 and h(0, 0) = 0 for all x(0) = x0 and inputs u = u(t) is the solution
x(t) = ϕ(x0 , u(t), t), ∀ t ≥ 0. Where s : U × Y → R is the supply rate of
P
, which
satisfies for all x0 ∈ X and ∀ u(t) ∈ U the condition:
Z t
| s(u(τ ), y(τ ) | dτ < ∞ , ∀ t ≥ 0.
0
P
Definition 1 (Dissipativity [35]). The system is said to be dissipative with respect
to the supply rate s, if there is a non-negative storage function V (x) ≥ 0 , V : X →
R+ , such that ∀ x0 ∈ X and ∀ u(t) ∈ U fulfills the integral dissipation inequality (IDE)
Z t
V (x(t)) − V (x0 ) ≤ s(u(t), y(t)) dt ,∀ t ≥ 0 (2.28)
0
P
where x = ϕ(x0 , u(t), t). In case the IDE becomes a equality, the system is called
loss-free.
∂V
f (x, u) ≤ s(u(t), y(t)) , ∀ t ≥ 0.
∂x
P
Definition 2 (Passivity [35]). A system with nu = ny is called passive if it is
dissipative with respect to the supply rate s(u, y) = y > u and there is a storage function
V satisfying V (0) = 0.
In the literature we can find different types of passive systems. These are shown
in Table 2.1. It is important to notice that a passive system cannot store more energy
than it is supplied from the outside, and a mechanical system satisfies the energy
conservation, that is
P
Definition 3 (Zero-State observable (ZSO) [35]). The System is zero-state
observable if u(t) = 0, y(t) = 0, ∀ t ≥ 0, implies x(t) = 0, ∀ t ≥ 0.
Conservative If it is loss-free.
(ii) When there is no throughput, i.e., y = h(x), the feedback u = −y achieves asymp-
P
totic stability of x = 0 iff is ZSD.
P
Assumption 2. From now on, it is assumed that has no feedthrough terms, i.e.
y = h(x).
∂H
Ḣ = ẋ
∂x
∂H ∂H >
= (J(x) − R(x))( ) + Gu (x)u
∂x ∂x
∂H ∂H > ∂H ∂H > ∂H
= J(x)( ) − R(x)( ) + Gu (x)u
∂x ∂x ∂x ∂x ∂x
∂H ∂H >
=− R(x)( ) + y>u ≤ y>u (2.30)
∂x ∂x
4
However, in this work we use modulated Dirac structures which are not linear spaces, see [32, 37].
1 >
>
H = p q̇ − q̇ M (q) q̇ − V (q) ,
2
1 > −1
= p M (q) p + V (q). (2.31)
2
If in addition we consider an input matrix of forces G(q) u, i.e., the control forces,
where
u
∈ Rnu , and G : Rnq → Rnq ×nu , then we can rewrite the Lagrange equations as
d ∂L ∂L
dt ∂ q̇k − ∂q k
= G(q) u, and we can present the pH structure by means of the canonical
equations, thus
# ∂H "
I ( ∂q )>
" # " #
q̇ 0 0
= ∂H >
+ u, (2.32)
ṗ −I 0 ( ∂p ) G(q)
1 > −1
H(q, p) = p M (q) q + V (q). (Hamiltonian)
2
where b(q) = ( ∂g(q)/∂q )> and Equation (2.34) is the time derivative of g(q) = 0,
that is
∂g(q) dq
0= = b(q)> q̇
∂q dt
>
∂H
>
= b(q) .
∂p
?
X
? > ,
: ẋ = (J ? (x) − R? (x))( ∂H
∂x )
(2.35)
5
Note that we are using the same symbols for explicit and implicit structure. However, for the same
physical system, the inertia matrix, the input matrix, the dissipation and the potential energy could
change depending on the representation.
Remark. As we seek for the control law u we need to to perform the Moore-Penrose
to Equation (2.36), i.e. first multiply both sides by G> > −1
u , then by (Gu Gu ) .
Therefore the matching problem is solved if and only if the matching condition Equa-
tion (2.38b) is satisfied. For the case of UMS we need to define some restrictions on the
design of J ? , R? and/or on the closed loop Hamiltonian energy function H ? . Solving
the matching condition is unduly a key step of this technique and it can be challenging
to solve.
There are mainly three ways to proceed for the solution of the matching condition (2.38b).
The most common approach is Non-Parameterized IDA, here the idea is to fix the
desired interconnection J ? (x) and dissipation matrices R? (x), hence its name. Addi-
tionally, G⊥ ?
u is fixed and H (x) is obtained from a set of partial differential equations
PDEs given by Equation (2.38b). The energy function H ? (x) is chosen such that it
has a strict minimum at the desired equilibrium x = x? .
The algebraic IDA approach fixes the energy function, then Equation (2.38b) becomes
an algebraic equation in J ? (x), R? (x) and G⊥
u.
The third approach is known as Parameterized IDA. Here, the structure of the desire
energy function is restricted to a certain class. This restriction is motivated for some
physical system, for instance, mechanical systems where the structure of the energy
function is the sum of the kinetic and the potential energy, which are T and V respec-
tively. This choice results in a different (and simpler) set of PDEs, however it also
imposes some constraints in J ? (x) and R? (x).
This thesis centers on the application of the parameterized IDA to UMS. Therefore,
we present the main considerations in order to determine a suitable control law uida .
Consider a pH structure of a mechanical system such as in Equation (2.32), where
>
x = [ q> p> ] , Gu = [ 0 G> ]> and with passive output y = G> >
u ( ∂H/∂x ) .
1 > ? −1
H ? (q, p) = p M (q) p + V ? (q), (Desired Energy Function)
2
Due to the linear momenta q̇ = M −1 p which preserve in the closed loop, we have
the relationship J1 = M −1 M ? . Based on the result of Lemma 2, the control law that
satisfies (2.41) is
> > > !
∂H ∂H ? ∂H ?
> −1 >
uida = (G G) G − J1> + [J2 − R2 ] (2.42)
∂q ∂q ∂p
is satisfied. Assuming R2 = R2 (q), and J2 = J20 (q)+J21 (q, p), with J21 linear in p, the
matching condition Equation (2.43) can be naturally split according to the dependency
on p, i.e. the terms quadratic and independent from p correspond to the kinetic and
potential energies, respectively [42]. Meanwhile the terms linear in p correspond to the
dissipation. Thus, (2.43) can be rewritten as
!> !>
∂ p> M −1 p ∂ p> M ? (q)−1 p
G⊥ − J1> + 2 J21 M ? (q)−1 p = 0, (2.44a)
∂q ∂q
> > !
∂V (q) ∂V ? (q)
G⊥ − J1> = 0, (2.44b)
∂q ∂q
G⊥ [J20 − R2 ] M ? (q)−1 p = 0. (2.44c)
with free parameters Kj and Kv where Kj = −Kj> ∈ Rnu ×nu , and Kv = Kv> > 0. Is
important to note that R2 := G Kv G> , this choice is later explained, but the main
reason is due to the relationship between the time derivative of the desired energy
function
dH ? (q, p) ∂H ? ∂H ?
= q̇ + ṗ (2.46)
dt ∂q ∂p
and the so-called passive output of the closed-loop, which is defined by
∂H ? >
y ? = G> ( ) . (2.47)
∂p
Corollary 1 (Stability of the closed-loop system [30]). Consider the system (2.32)
with desired cloosed loop system (2.40), R2 := G Kv G> , and control law (2.42). If
Proof. Replacing q̇ and ṗ from the closed loop system (2.40) in (2.46) yields
dH ? (q, p) ∂H ? ∂H ? >
=( ) (J2 − R2 ) ( ) . (2.49)
dt ∂p ∂p
with J2 = −J2> and R2 := G Kv G> . Then, replacing the passive output in Equa-
tion (2.49) results in
dH ? (q, p)
= −(y ? )> Kv y ? ≤ −λmin {Kv } ky ? k22 ≤ 0 (2.50)
dt
This chapter addresses the systematic design of passivity-based controllers for implicit
port Hamiltonian structures of underactuated mechanical systems (UMS)s. Therefore,
the energy shaping method will be introduced to implicit pH structures. The mathe-
matical concepts here presented are borrowed from [4, 37].
This three question are answered by Cieza and Reger in [4]. The purpose of this chapter
is to present the general idea of the Implicit IDA-PBC approach and later in Chapter 4,
implement it on a physical system, namely, the portal crane.
where r ∈ Rnr and ρ ∈ Rnr are implicit generalized coordinates (position and its
canonical momenta, respectively), u ∈ Rnu is the input and G : Rnr → Rnr ×nu is
the implicit full rank input matrix. The nλ holonomic constraints g(r) = 0 and the
arbitrary functions (or implicit variables) λ ∈ Rnλ are related by the constraints forces
b(r) λ where ( ∂g(r)/∂r )> = b(r) : Rnr → Rnr ×nλ . The velocity in implicit coordinates
is ṙ ≡ ( ∂H/∂ρ )> = M(r)−1 ρ, where M(r) : Rnr → Rnr ×nr is the symmetric positive
definite mass matrix and the Hamiltonian H : Rnr × Rnr → R represents the total
energy function. We say that (3.1) is an UMS if rank S < nr , where S = [ G(r) b(r) ].
Proposition 1 (Well-posedness [4]). Consider the holonomic system (3.1). Then for
all r ∈ X = {r ∈ Rnr | rank ∆ = nλ }, ∆ := b> (r) M(r)−1 b(r), the constrained
state-space set
∂H >
Xc = {(r, ρ) ∈ X × Rnr | b> (r) ( ) = 0, gk (r) = 0}
∂ρ
is the general expression for the integrated constrains, i.e., b(r) = ( ∂g(r)/∂r )> , bk is
the kth column vector of b(r), ci is a constant and ∂H/∂ρ b(r) differentiable.
6
We write now r instead of q, ρ instead of p, H instead of H, V instead of V , M instead of M and G
instead of G with the purpose to be aware that we are dealing with the implicit pH representation.
The desired Hamiltonian Hd = Hd (r, ρ) is the new shaped energy function, λd ∈ Rnλ
are the new implicit variables in closed-loop, Md = Md (r) is the nonsingular symmetric
desired mass matrix, J : Xd → Rnr ×nr is nonsingular, and W = W(r, ρ) : Xd × Rnr →
Rnr ×nr .
As before we are dealing with mechanical systems, thus, the momenta are preserved
in the closed-loop, i.e. ( ∂Hd /∂ρ )> = M−1
d ρ ⇒ J = M
−1 M . Besides, the physical
d
property (3.1b) is equivalently represented as (3.3b), then equating both results in
bd = J > b(r). Next, we equate (3.1a) and (3.3a), resulting in
" #
i u > > >
∂H ∂Hd ∂Hd
h
>
G(r) b(r) = −J −W + J > bd (r) λd . (3.4)
| {z } λ ∂r ∂r ∂ρ
=: S
Where S ⊥ is the full rank left annihilator of S. The implicit matching problem is solved
through the following propositions
transforms the system (3.1) into (3.3) for any trajectory of r that remains in X ∩ Xd ,
whenever the implicit matching conditions
!> !>
∂M(r)−1 ρ ∂Md (r)−1 ρ
S⊥ −J> − W1 Md (r)−1 ρ = 0, (3.7a)
∂r ∂r
> > !
∂V(r) ∂Vd (r)
⊥ >
S −J = 0, (3.7b)
∂r ∂r
S ⊥ J > b(r) = 0, (3.7c)
−1
are satisfied with J = M−1 Md , bd (r) = J > b(r), S † = [ Inu 0 ](S > S) S>,
1
W(r, ρ) = W1 (r, ρ) + S Ku (r) S > , (3.8)
2
Remark. We can compute λ or λd through, the hidden constraints, i.e., the time
derivative of (3.1b) or (3.3b).
d b> M−1 ρ ∂ b> M−1 ρ ∂ b> M−1 ρ
= ṙ + ρ̇ = 0
dt ∂r ∂ρ
∂ b> M−1 ρ
∂H
> !!
⇒ λ = ∆−1 − ṙ − b> M −1 G(r) uI − (3.9)
∂r ∂r
Furthermore, if
1
yI = (Ku (r) + Ku> (r)) 2 M−1
d ρ (3.12)
Proof. The definition of Xd assures well-defined dynamics of (3.3a) under (3.3b). The
transformation of the implicit pH structure (3.1) to a closed-loop implicit structure (3.3)
is possible by noting that the control law (3.6) and the implicit matching equations (3.7)
are sufficient conditions for (3.5). Besides, such mechanical structure transformation
implies J = M−1 Md , bd = J > b. Since all constraints are integrable, define the
Lagrangian function
with Lagrange multipliers µ and ν and constraints g. Then, seeking for a minimum
(or maximum) of Hd |Xc , the following expression should be satisfied
>
∂Ld (r ? , ρ? , ν ? , µ? )
= 0, (3.14)
∂x
with
> > M−1
∂Ld (r, ρ, ν, µ) ( ∂L d >
∂r ) ( ∂Vd )> + ( ∂ρ bν >
) + b µ
= ∂Ld > = ∂r ∂r . (3.15)
∂x ( ∂ρ ) M−1 b ν + M−1
d ρ
h i>
Multiplying on the left by b (b⊥ )> M−1 Md , and taking advantage of the full rank
condition of ∆d , Equation (3.14) is reduced to
>
∂Vd (r ? )
ρ? = 0, ν ? = 0, and, + b(r ? )µ? = 0. (3.16)
∂r
which represents the attainable set Xa . We might now employ r ? = arg min Vd |XI and
Finsler’s Lemma on ρ> M−1
d (r)ρ subject to (3.3b), obtaining
(v) exist a matrix S̄(r) ∈ R(nu +nλ )×nψ , where nψ ≤ nu + nλ and S i is the ith column
of S
such that
> !
∂V
⊥ ?> ?
S + M Zc D b µ = 0, (3.20a)
∂r
S ⊥ M (b?⊥ )> A b?⊥ + Zc D Zc> b = 0, (3.20b)
!>
∂(S S i ) −1 ∂(S S i )
M Md − Md M−1 = 0, (3.20c)
∂r ∂r
Z ⊥ Za (Z ⊥ )> 0, (3.20d)
where
" #
? A + CDC > CD
Md := M B B ?> M, (3.21)
DC > D
1 >
Vd := ψ Kψ ψ + r̃ > b? µ? , (3.22)
2
b?⊥
h i Rr > −1
B ?> = , ψ(r) = r? S̄i (s) Md M ds, r̃ := r ? − r, b? = b(r ? ) , Zc = (b∗⊥ )> C +
b?>
b? , Za = A b?⊥ ∂b µ? /∂r |r=r? (b?⊥ )> A, Z = [ Inr −nλ −C ]B ?−1 M−1 S(r) S(r ? ) has
full rank,
h i>
(S ⊥ )> M−1
d W1 = 0, (3.23a)
Kψ −Z † Za − Za (Z ⊥ )> (Z ⊥ Za (Z ⊥ )> )−1 Z †> , (3.23b)
Proof. It begins by observing that Vd exists due to the existence of ψ by the integrability
condition (3.20c). Similar to the proof of Proposition 3 we need a Lagrange function
Ld as presented in (3.13), thus µ∗ ∈ Rnλ . Then, direct substitution of Hd in (3.7) with
(3.23a), results in (3.20a)–(3.20b) and fulfills (3.7a) and (3.11). The next step is to
make x? a strict (local) minimum of Hd |Xc . The necessary and sufficient conditions
(see [44]) for this are (3.14) and
yρ> M−1
d yρ > 0, ∀yρ with yρ> M −1 b? = 0, and,
!
∂ 2 Vd ∂(bµ? )
yr> + yr > 0, ∀yr with yr> b? = 0
∂r 2
∂r
r=r ?
Now, we can use Finsler’s Lemma and replace ψ, J and Md in the above inequalities7
which results in
⊥
M M−1 ⊥ >
= A−1 ,
b d M (b ) (3.24a)
r=r ?
>
Z Kψ Z + Za 0. (3.24b)
Figure 3.1 shows how to perform the algorithm8 . The algorithm begins by selecting r∗
and adequate full rank left annihilators S ⊥ and b⊥ . Afterwards, we find a nummerical
solution of C (if possible) and constraints inequalities in A, D and µ? aided by the
implicit matching conditions (3.20a) and (3.20b). In the next step, assisted by (3.20c),
we select S̄, calculate Z and then select its full rank left annihilator Z ⊥ . Finally,
use (3.20d), (3.23) and Ku + Ku> 0 to choose A 0, W1 , non-singular D, µ? , Kψ
and Ku .
Start
7
The inversion of Md can be reached if the Schur complement is performed.
8
A requirement is to have the system in implicit pH structure. Thus, we can easily identify G, b and
S.
−1
with K̄u = K̄u> , Λξ + Λ> > nu
ξ 0, ∂ψ/∂r = G Md M, ξ ∈ R , Λξ ,K̄u ∈ R
nu ×nu ,
Proof. Assume the conditions of Propositon (4) are met. Then, closing the loop of the
implicit pH system (2.2.3) with uN , b⊥ J > b = 0 or its equivalent J > b = bk (for some
square matrix k), S S = G, and ψ̇ = G > M−1
d ρ, results in a ‘new’ structure for the
implicit closed loop system, that is
∂ H̄d >
ṙ 0 J 0 ∂r 0
ρ̇ = −J > ∂ H̄d > >
0 −G
∂ρ J b λd ,
+ (3.26a)
ξ̃˙ G> −Λξ ∂ H̄d >
0 0
∂ξ
!>
∂ H̄d
0 = b> J , (3.26b)
∂ρ
1 1 > 1 >
H̄d (r, ρ) = ρ> M−1
d ρ+ ψ Kψ ψ + r̃ > b? µ? + ξ̃ K̄u ξ̃, (Hamiltonian)
2 2
| {z } 2
Vd (r)
| {z }
Hd
where ξ̃ = ξ + ψ̄. Afterwards, the time derivative of the desire energy function
1 > >
H̄˙ d (r, ρ) = − ξ̃ K̄u> Λξ + Λ>
ξ K̄u ξ̃ ≤ 0
2
G > M−1
d ρ = 0 ≡ yn . Asymptotical stability can be shown if (3.3) has a zero state
detectable output yn .
replacing (3.20b).
In this chapter, it is presented the implementation of the explicit and implicit IDA-PBC
approaches in a portal crane9 system, whose main task consists of moving a payload
in a smooth path and deposit the payload at the desired position. It is not a big
surprise to find within the scope a vast literature with different linear and non-linear
control approaches for this system [11, 15, 17, 19, 45–47]. However, the motivation for
this system is in its relative complexity which becomes a valuable resource to show
the advantages and disadvantages of the implicit non-linear controller. This chapter
starts by describing the system in Section 4.1. Then in Section 4.2 and Section 4.3, we
analyze, simulate and implement the IDA-PBC control laws in the real setup located
at the Laboratory of Control Engineering Group at Computer Science and Automation
Department, Technische Universität Ilmenau.
x-Axis y-Axis
Motor Motor
Bridge
z-Axis
Motor
Trolley mc
Payload mp
(a) Frontal view of the whole system (b) Bridge, trolley and payload view
Figure 4.1. – Subfigures showing the portal crane system at the laboratory.
restricted to the y-direction. The x-axis, y-axis and z-axis motors are fixed in the frame,
bridge and trolley, respectively. A sketch of this configuration is presented in Figure 4.2,
where also, the frame dimensions are drawn. The maximum displacements of the trolley
in each axis are drawn in brackets, e.g. for the x-axis is [0 − 2000], where 0 represents
the origin. It is clear that the displacements should be less than the frame dimensions.
A closer look of the trolley in Figure 4.3 shows other elements such as encoders, a
pulley, and a winch or rope drum. A basket hangs from this winch, and thus it can also
move in the z-direction. The load can be attached to the basket in various ways and
then transported with it. We will refer to the basket and the additional weight (load)
as the payload. Gravity produces a constant force on the payload. For this reason a
driver must be equipped with a holding brake, preventing the payload movement (in
z [−1300 − 0]
[0 − 2000] x
00
y [0 − 1300]
15
mc
l
z x-Axis Motor
x mp
y-Axis Motor
Controller
1400
y
the z-axis) without the servomotor being controlled. In case of failure, it also prevents
the free fall of the payload to the ground.
y-
z- Axis
Ax
is
Winchdrive
Bridge z-Axis
servomotor
x-Axis Gear drive
Trolley mc
Encoder α
Encoder β
l
Pulley
Payload mp
Let us remark, that the system is equipped with encoders (see Fig. 4.4a) to measure
the angles α(t) and β(t). Moreover, the system is able to calculate the measurement
of the trolley positions xc (t) and yc (t). Besides, the positions of the payload are xp (t),
yp (t) and zp (t), where the geometric restriction shown in Fig. 4.4b shows that
The velocities of the angles α̇, β̇ and positions x˙c , y˙c can also be measured through the
encoders. Thus, the velocities of the generalized coordinates can be easily computed
if we realized that each one can be defined as a function of the angles, and then the
df (β) ∂f (β)
time derivative of each can be computed, e.g., xp = f (β) → dt = ∂β β̇. Figure 4.5
illustrates the interconnection among the devices. The DS1103 specification are shown
in Table 4.1.
( xc , yc )
l cos β cos α
β α
α l
β
x
l cos
if α = 0 α
then β sin
o sβ
measures the ( xp , y p , zp ) lc
angle in the l sin β
x -direction β y
(a) Angles α and β (b) Generalized coordinates
Figure 4.4. – Subfigures showing the relationship between the angles and the
generalized coordinates
Actuators
Sensors
DS1103 Portal
PC
Controller Crane
DS1103
Processor 933 MHz
I/O Channels 50 Bit - I/O Channels
A/D Channels 36
D/A Channels 8
and then, represent the system in port-Hamiltonian structure. The mathematical 2-D
model for the crane is given by [50] and represented in Figure 4.6. Where mc is the mass
of the trolley, mp is the mass of the payload, xc denotes the trolley displacement10 , l is
the length of the rope, β is the payload swing angle w.r.t the vertical, F is the resultant
force imposed on the trolley, fr is the forced caused by the girder friction and gr is the
gravity force.
x
g mc
F
fr
β l
mp
Assumption 3. The payload is always under the trolley in the sense that
π π
− <β< ∀t ≥ 0. (4.1)
2 2
10
Note that it is possible to measure the displacement of the trolley in the y-axis, that is yc . If so the
angle to be considered w.r.t. the vertical is α.
mc +mp F
Let us divide (4.2) by mp l2 and define ḡ := gr /l, a := 1/l, m̄ := mp l 2
and F̄ := mp l2
.
Thus, we can represent (4.2) in compact form
" #" # " # " # " #
1 a cos β β̈ 0 ḡ sin β 0
+ + = F̄ (4.3)
a cos β m̄ u −aβ̇ 2 sin β 0 1
Is possible to extend (4.3) to the pH structure [1] by using the partial feedback lin-
earization method (see [49]) and taking
where the new input is the acceleration u = ẍc . Thus, we are able to represent (4.3) as
" # " # " #
β̈ −ḡ sin β −a cos β
I2 = + u, (4.4)
ẍc 0 1
h i> h i>
where q = q1> q2> = β > x> c are the generalized coordinates. To represent (4.4)
in pH structure it is essential to recognize the mass matrix and the potential energy.
Due to the partial feedback linearization, the mass matrix is now M = I2 and the linear
momenta become equal to the time derivative of the generalized coordinates, that is
q̇ = M −1 p = p. The potential energy is calculated from − ∂V /∂q1 = ḡ sin q1 ⇒
V (q) = ḡ cos q1 . Therefore the pH system representation is
#
>
I ( ∂H
" # " " #
q̇ ∂q )
0 0
= ∂H >
+ u (4.5)
ṗ −I 0 ( ∂p ) G(q)
| {z }
Gu
1
H(q, p) = p> M −1 p + V (q) (Hamiltonian)
2
h i> h i
with G> >
u = 0 G (q) , where G> (q) = −a cos β 1 .
z z
x xc x
y y
u1
mcc u2 mc yc
l
bλ l z zp z zp
x x xp
mp y mp yp
y
The kinetic and the potential energy composes the Lagrangian, thus
1 1
T = mc (ẋ2c + ẏc2 ) + mp ((ẋc + ẋp )2 + (ẏc + ẏp )2 + żp2 ) (4.6)
2 2
and
V = mp gr zp . (4.7)
The resulting Lagrange equations with external forces G u and constraints g(r) = 0 are
> >
d ∂L ∂L
− = b(r) λ + G u, L = T − V, (4.8)
dt ∂ ṙ ∂r
h i>
where b(r) = ( ∂g/∂r )> , G = 02×3 I2 . According to (4.8), we have
∂V > ∂g >
" #" # " #
M1 M2 r̈ p ( ∂r ) ( ∂r ) 03×2
= − p + p λ+ u, (4.9)
M2> M3 r̈ c ∂V >
( ∂r c
) ∂g >
( ∂r c
) I2
h i h i h i h i
I2
where r > > >
p = xp yp zp , r c = xc yc , u = u1 u2 , M1 = mp I3 , M2 = mp 01×2
and M3 = (mc + mp ) I2 . As explained in Section 4.1.1 we need to use partial feedback
11
It will be considered as a fixed value; otherwise, the constraint would not exist.
where G1 = −m−1
p M2 and M̆ = I5 is the new mass matrix. Now, it is possible to
represent the system in an implicit pH representation, that is
#
H̆ >
" # "
I5 ( ∂∂r
" # " #
ṙ 0 ) 0 0
= ∂ H̆ >
+ λ̆ + ac , (4.11a)
ρ̇ −I5 0 ( ∂ρ ) b(r) Ḡ
>
> ∂ H̆
b (r) = 0, (4.11b)
∂ρ
1 >
H̆(r, ρ) = ρ M̆(r)−1 ρ + V̆(r), (Hamiltonian)
2
h i >
where Ḡ > = G>
1 I2 , V̆ = gr zp is the new potential energy (taken from 1
mp
∂V
∂r p ≡
>
∂ V̆ 1
∂r p ) and λ̆ = mp λ is the new implicit variable.
1 > ? −1
H ? (q, p) = p M (q) p + V ? (q), (Desired Energy Function)
2
h i
where we pick a full rank left annihilator of G, that is G⊥ = 1 −a cos(q1 ) it is clear
that the desired mass matrix has the following form
" #
? m1 (q) m2 (q)
M (q) = . (4.13)
m2 (q) m3 (q)
∂V ? (q) ∂V ? (q)
(−a m2 cos(q1 ) − m1 ) + (−a m3 cos(q1 ) − m2 ) + ḡ sin(q1 ) = 0.
∂q1 ∂q2
(4.14)
− a2 m3ḡ−m1
" #
∂V ? ∂ 2 V ? 0
= 0, = 0. (4.16)
∂q 2 q∗
∂q q∗ 0 Kp
and " #
? a2 m3 + ε −a m3 cos q1
M (q) = . (4.18)
−a m3 cos q1 m3
However, taking (4.19) and trying to implement the control law uida , defined by (2.42),
will lead to the mistake of [1]. First, the matching condition (2.44a) is not satisfied
whenever the momenta p2 = 0, and second, uida has p2 in its denominator; thus, the
closed-loop is not well-defined for all (r, ρ) ∈ {(r, ρ) | p2 = 0}.
Now define
" #
∂H ? h i 0 −s h i
h := = q̇ > J1−> = h1 h2 , J2 := h> 1 b̄ ,
∂p s 0
in (4.21), where ek represents the unit column vector of size 2, i.e., the k-th column of
the identity matrix I2 , gives
2
" # " #" #
h i ∂(M ? ) h 0 −s h1
X 1
G⊥ J1 ek h1 h2 + 2 G⊥ (h1 + b̄ h2 ) = 0. (4.22)
k=1
∂qk h2 s 0 h2
Now, if we pick b̄ = 0,
" #
? ? m1 (q1 ) m2 (q1 )
M (q) = M (q1 ) = ,
m2 (q1 ) m3
and define
" #
m1 (q1 ) + a m2 (q1 ) cos(q1) m2 (q1 ) + a m3 cos(q1)
K := G⊥ J1 = | {z } | {z } . (4.23)
K1 K2
Then, the only possible solution of (4.24) for arbitrary h1 and h2 is that in the last
equality both terms in parenthesis are equal to zero. We select, as before, m2 (q1 ) =
−a m3 cos(q1 ) to simplify the potential energy PDE and proceed to calculate s from
the term that multiplies 2 h1 h2 , obtaining
s = a m3 sin(q1) K1 .
∂m1 (q1 ) 1 2
K1 = −2 a s cos(q1) ⇒ m1 (q1 ) = a m3 cos(2 q1 ) + c1 ,
∂q1 2
1 2 ∂V ? (q)
(a2 m3 cos2 (q1 ) − a m3 cos(2 q1 ) − c1 ) + +ḡ sin(q1 ) = 0,
2 ∂q1
2 ḡ cos(q1 )
V ? (q) = + Υ(q2 ) (4.26)
2 c1 − a2 m3
Eventually, the necessary and sufficient conditions for q ? = (0, q2? ) to be a strict local
?
minimum of V ? (q) with Υ(q2 ) := 1/2 Kp (q2 − q2? )2 , are ∂V
∂q ∗ = 0 and q
− a2 m2ḡ
" #
∂ 2 V ? 3 −2 c1
0
= 0. (4.27)
∂q 2 q∗
0 Kp
Inequality (4.27) is verified if Kp > 0 and c1 > a2 m3 /2. Thus, it is possible to select
c1 = a2 m3 . Finally, taking R2 = G Kv G> where Kv is a positive scalar, and J20 = 0,
i.e., J2 ≡ J21 , we see that the (explicit) IDA-PBC controller (2.42) is reduced to
It is clear that the control law (4.28) is well defined for any p2 . Moreover, it is inde-
pendent of the weights of the trolley and the pendulum mc and mp .
4.2.3 Results
The parameters for the following simulations are shown in Table 4.2 and Table 4.3.
Figure 4.8 shows the block diagram of the system, where the input is the target po-
sition. As the real system has a velocity loop, the uida is integrated to obtain the
desired velocity. The next block is the crane with partial feedback linearization, whose
components are shown in Figure 4.9. Besides the state feedback, it needs the constants
l, gr , the tuning parameter m3 , and the tuning values Kp and Kv . The measurement
of p1 and p2 can be obtained thanks to the encoder and the controller (since p = q̇),
see Section 4.1.1.
The implementation is made in the y-axis, where the system was at rest, i.e. initial
velocities are zero. The measured angled in this direction was α, see Figure 4.4a.
Figure 4.10 show the portal crane response to a set point yc? that changes between
0, 0.2, −0.2 and 0.4. Figure 4.11 shows the swing angle behaviour and Figure 4.12
illustrates the control law. It is easy to note that simulation and result measurement
are quite similar. The response shows an asymptotically stable behaviour. However,
due to uncertain parameters like the vibration of the frame, friction, and encoder lack
q uida
IDA-PBC
q CRANE + PFL
controller
q̇
q̇
uida v q
PID velocity
−
.q˙
Plant
ẋc , ẏc
Figure 4.9. – Block crane plus partial feedback linearization (CRANE + PFL)
0.6
Trolley Pos. yc
0.4
0.2
yc [m]
0
yc? [m]
−0.2 yc measured
0 2 4 6 8 10 12 14 16 18 20 22 24 26 28 30
Time t [s]
0.1
−0.1 α [rad]
α measured
0 2 4 6 8 10 12 14 16 18 20 22 24 26 28 30
Time t [s]
4
uIDA measured
2 uIDA [m/s2 ]
uIDA -y
−2
0 2 4 6 8 10 12 14 16 18 20 22 24 26 28 30
Time t [s]
Figure 4.12. – Simulated (Explicit) IDA-PBC control law uIDA applied in the
y-direction and the measured control law
where aij is an element of A located in the ith row and jth column. Solving for arbitrary
gr
xp and yp with symmetric A, leads to Dx = l µ? , a14 = a23 , a14 = −a12 , a31 = Dx − a1
and a42 = Dx − a3 . After renaming a2 = a12 , a11 = a1 , a22 = a3 , a33 = a4 , a34 = a43 =
a5 and a44 = a6 , matrix A has the following form
a1 a2 Dx − a1 −a2
a
2 a3 −a2 Dx − a3
A= . (4.31)
Dx − a1 −a2 a4 a5
−a2 Dx − a3 a5 a6
12
We take this condition because it will be later used in Section 4.3.2. However, this condition reduces
the tunning capabilities.
>
The next step is select S̄. Since Ḡ is constant, selecting S S̄ = Ḡ → S̄ = [ I2 02×1 ]
meets Equation (3.20c). Now it is possible to calculate the matrix Z and choose Z ⊥ =
[ 10 01 10 01 ]. Then, W1 = 05×5 is a valid selection for (3.23a). At this point, we are able to
calculate ψ, that is
x a6 (xc −x∗c ) a5 (yc −yc∗ )
− Dpx + a6 a4 −a25
− a6 a4 −a25
ψ= .
y a5 (xc −x∗c ) a4 (yc −yc∗ )
− Dpx + a6 a4 −a25
+ a6 a4 −a25
Using (3.20d) and (3.23b), the problem is reduced to select A 0, µ? > 0, Kψ 0 and
Ku + Ku> 0. Finally, all elements of the control law (3.6) are on hand.
4.3.3 Results
The parameters for the implicit IDA-PBC state feedback simulations are shown in Ta-
ble 4.2 and Table 4.4. Figure 4.13 shows the block diagram of the system, where the
input is the target position r ? . The block CRANE plus PFL is similar as the one shown
in Figure 4.9 and thus avoided. Figure 4.14 shows the simulated system when x?c and
yc? are 0.8m. In the response, we can see a settling time of 12 seconds in the x-axis and
11 seconds in the y-axis; in both axis the maximum overshoot are minimal.However, it
doesn’t mean that is possible to find more suitable values to enhance the perfomance.
Figure 4.15 and Figure 4.16 show the 3D crane response and controller behaviour,
respectively, comparing it with the measured data. Responses achieve asymptotic sta-
bility. Besides, regarding some noise in the real control action, it is clear how it follows
a similar path to the simulated one. The noise can be caused due to the vibration of
r (implicit) uI
r IDA-PBC CRANE + PFL
ṙ controller
ṙ
r
Figure 4.13. – Implicit algebraic IDA-PBC block diagram
the frame, and the lack of accuracy in the encoders. The positions of the pendulum
are derived from the angles and the length of the rope. In this case, the angles veloci-
ties α̇ and β̇ are measured thanks to the encoders and the generalized coordinates are
computed as explained in Section 4.1.1.
The parameters for the implicit IDA-PBC output-feedback simulations are shown
in Table 4.2 and Table 4.5. Figure 4.17 displays the block diagram of the system, where
the input is the target position r ? and the feedback is only r. Figure 4.18 shows the
inner elements of the implicit output-feedback controller where it requires to calculate
ξ˙ using (3.25b).
Figure 4.19 show the response of the crane using the output-feedback controller (3.25)
and compares it with the measured data. It is easy to note that this approach guar-
antees asymptotic stability without overshooting and settling time of 9 and 10 seconds
in x- and y-axis. It is also possible to see a constant error in the measurement of
the trolley position xc , due to lack of accuracy in the encoder. The behaviour of the
output-feedback control law is shown in Figure 4.21. We can see a reduction of the
noise since we don’t measure the velocities.
We see great flexibility of using the implicit IDA-PBC approach. Compared to the
explicit one, the advantage is to avoid the PDE, and moreover without difficulties to
0.00000
−0.01000
−0.02000
0.02000
Pend. Pos. yp [m]
yp
0.00000
−0.02000
−0.99940
Pend. Pos. zp [m]
zp
−0.99960
−0.99980
−1.00000
0 2 4 6 8 10 12 14 16 18 20 22 24 26 28 30
Time t [s]
Trolley Pos. yc [m] Trolley Pos. xc [m]
0.8 xc [m]
0.6 x?c [m]
0.4
0.2
0.8 yc [m]
0.6 yc? [m]
0.4
0.2
0
0 2 4 6 8 10 12 14 16 18 20 22 24 26 28 30
Time t [s]
achieve the energy shaping. The (explicit) IDA-PBC was implemented successfully to
the Portal Crane in 2-D and simulations show the results of the (explicit) controller
0.00000
−0.00500
−0.01000
Pend. Pos. yp [m]
yp meas.
0.01000 yp sim.
0.00000
−0.01000
Pend. Pos. zp [m]
zp meas.
−0.99990
zp sim.
−0.99995
−1.00000
0 2 4 6 8 10 12 14 16 18 20 22 24 26 28 30
Time t [s]
Trolley Pos. xc [m]
0.2 x?c
0.1 xc sim.
xc meas.
0
−0.1
−0.2
0 2 4 6 8 10 12 14 16 18 20 22 24 26 28 30
Time t
Trolley Pos. yc [m]
0.2 yc?
0.1 yc sim.
yc meas.
0
−0.1
−0.2
0 2 4 6 8 10 12 14 16 18 20 22 24 26 28 30
Time t
1 uI -x meas.
uI -x sim.
uI -x [m/s2 ]
0
−1
1 uI -y meas.
uI -y sim.
uI -y [m/s2 ]
−1
0 5 10 15 20 25 30
r (implicit) uN r
IDA-PBC CRANE + PFL
r controller
r r
.
. Output-
feedback
uN
Calculation ξ̇ ξ Controller
of ξ̇
when the crane moves in the x-axis. However, we witnessed that the solution for a
well-defined controller is not an easy task and in this case, lies in a mathematical move
which simplifies the PDEs. Let us remark, that it is possible to apply the same (explicit)
control law (4.28) in each axis x and y, to obtain complete control of the workspace.
0.0000
−0.0200
−0.0400
0.0400
Pend. Pos. yp [m]
yp meas.
yp sim.
0.0200
0.0000
−0.0200
Pend. Pos. zp [m]
−0.9992 zp meas.
zp sim.
−0.9994
−0.9996
−0.9998
−1.0000
0 2 4 6 8 10 12 14 16 18 20 22 24 26 28 30
Time t [s]
Trolley Pos. yc [m] Trolley Pos. xc [m]
0.2 x?c
0.1 xc sim.
xc meas.
0
−0.1
−0.2
0.2 yc?
0.1 yc sim.
yc meas.
0
−0.1
−0.2
0 2 4 6 8 10 12 14 16 18 20 22 24 26 28 30
Time t [s]
However, its performance can be affected since it is not modelled in 3-D, i.e. wrong
measurement of the angle β see Figure 4.4b. On the other hand, the implicit IDA-PBC
uN -x meas.
uN x-axis [m/s2 ] 1
uN -x sim.
0
−1
−2
uN -y meas.
uN y-axis [m/s2 ]
1
uN -y sim.
0
−1
−2
0 2 4 6 8 10 12 14 16 18 20 22 24 26 28 30
Time t [s]
approach has the advantage to have more tuning parameters, and the responses show
less overshoot than the explicit method, a trade-off between doing it smoothly and
doing it faster, with the selected values13 .
Furthermore, it was possible to obtain an output-feedback law. Using this latter, we
could appreciate a controller with less noise in the measurements, as show in a brief
comparison between the control laws in Fig. (4.21). We can also appreciate that the
measured pendulum positions xp , yp and zp have peaks of ≈ 0.01m, ≈ 0.02m and
≈ 0.9999m respectively for a state-feedback law, meanwhile that for an output-feedback
law we can appreciate peaks of ≈ 0.04m, ≈ 0.04m and ≈ −0.9992m. Thus, we can
appreciate more oscillations in x− and y−axis and an improvement in the z-axis by
using the selected parameter in the output-feedback law. A brief comparison between
the control laws is found in Fig. (4.21).Moreover, The computational algorithm has an
improvement since we are not computing the velocities. To illustrate this latter, we
show the performance measurement in Table 4.6 where the identification is developed
in a computer with i5-4210H processor, 16 GB of RAM and MATLAB/Simulink in
Windows 10.
13
Let us remark that these values were the best the author of this thesis have found, however we do
not claim that those are the best ones
−1
1
uN [m/s2 ]
−1
−2
0 5 10 15 20 25 30 0 5 10 15 20 25 30
Time t [s] Time t [s]
In this work, we put into practice a novel implicit IDA-PBC method developed by Cieza
and Reger, where the total energy shaping is extended to underactuated mechanical
systems modeled in implicit pH representation with the primary objective to avoid
the persistent demand of solving PDEs in the classical (explicit) IDA-PBC. The first
part of the thesis was devoted to showing that a mechanical system can be modeled
in an explicit- or implicit-pH structure. Nevertheless, we witnessed that applying the
IDA-PBC method might result in the presence of complex PDEs. Later, in Chapter
03, the propositions show an algebraic solution to achieve asymptotic stability (with
IDA-PBC) avoiding PDEs in a class of systems modeled implicitly.
This thesis implements the total energy shaping explicit and implicit IDA-PBC tech-
niques on a real portal crane system. However, in the first case, the model is restricted
to 2-D (only one axis), and the solution of the matching conditions depends on a
shrewd mathematical move. Simulations and experimentation show that the system
in closed-loop is asymptotically stable, i.e., the standard IDA-PBC technique works.
Despite the control law being designed only in the y−axis, we found that parallel ap-
plication in the x−axis still achieves asymptotically stable results on the whole 3-D
portal crane. In the second case, using the implicit IDA-PBC reduces the effort to
design a suitable controller in the specific case of the portal crane; because, it fulfills
the proposition conditions under simple algebra. Moreover, there is high flexibility in
the tuning parameters, and the application of an output-feedback law was possible.
In the simulations, the implicit IDA-PBC yields an asymptotically stable response for
both cases, state- and output-feedback laws.
Synthesizing both approaches (implicit and explicit IDA-PBC) under partial feed-
back linearization results in controllers that are independent of the trolley and payload
mass, which are typically unknown or variable (in the payload case). Measured data
in the implementation reflects a good behaviour of the system even though it was per-
turbed for parameters like vibration of the frame, friction, and lack of accuracy in the
sensors. Lastly, this method validates the implicit IDA-PBC approach experimentally.
Unfortunately, it was not possible to make an objective comparison between 2-D and
3-D IDA-PBC or even other controllers because a method that can contrast both with
an appropriate reference parameters has not yet been defined and it goes beyond the
scope of this thesis. Regardless of that, it shows a clear advantage in comparison with
linear controllers from the perspective that is not limited to a specific operating point.
However, the complexity of modeling the dynamics of a mechanical system in the im-
plicit structure can be considered a trade-off.
Euler-Lagrange Equations
d2
mi ri − Fi = 0. (A.1)
dt2
The virtual displacement δri is a possible next infinitesimal part of the path, consistent
with the constraints on the system,
" #
X d2
mi 2 ri − Fi δri = 0. (A.2)
i
dt
X ∂ri ∂ri
mi r̈ i − Fi δqk = 0. (A.3)
i,k
∂qk ∂qk
Since the generalized coordinates q are independent of one another, the δqk are arbi-
trary. Therefore Equation (A.4) is valid if and only if each αk is independently zero for
n nq nq
∂ri ∂ri
X X X
mi r̈i = Fi . (A.5)
i=1 k=1
∂qk k=1
∂qk
Because the Cartesian coordinates are functions of the generalized coordinates and the
time, the time derivative of the coordinate ri is
nq
dri X ∂ri ∂ri
ṙi = = q̇k + (A.6)
dt k=1
∂qk ∂t
If we take the partial derivative of Equation (A.6) with respect to q̇k we will find what
is often called cancellation of the dots because it appears as though we have simply
cancelled the dots (time derivatives) in ∂ ṙi /∂ q̇k to obtain ∂ri /∂qk . Now, if we analyze
the left part of Equation (A.5) we can notice that
Therefore,
d ∂ri ∂ ṙi
= (A.9)
dt ∂qk ∂qk
Using Equation (A.9) in the right hand side of Equation (A.7)
with
∂ ṙi 1 ∂ 2 ∂ ṙi 1 ∂ 2
ṙi = ṙ and ṙi = ṙ (A.11)
∂ q̇k 2 ∂ q̇k i ∂qk 2 ∂qk i
∂ri d ∂ ∂ 1 2
r̈i = − ṙ . (A.12)
∂qk dt ∂ q̇k ∂qk 2 i
Then using Equation (A.12), the left hand side of Equation (A.5) becomes
n nq
∂ri
X X
mi r̈i
i=1 k=1
∂qk
nq
( n )
X d ∂ ∂ X 1 2
= − mi ṙi (A.13)
k=1
dt ∂ q̇k ∂qk i=1 2
and from Equation (A.13) we recognize the kinetic energy, which we shall designate as
X1
T = mi ṙ2i
i
2
X1
= mi v 2i . (A.14)
i
2
We now recall that the remaining forces are conservative and are those arising from
external fields. These forces are assumed to be equal to the negative gradient of a scalar
called the potential Energy V , which is a function only of spatial coordinates. That is
F i = − ∂V /∂ri . Therefore, using the chain rule, becomes
∂V ∂ri ∂V
= (A.16)
∂ri ∂qk ∂qk
since the potential energy V depends only on the coordinates and not on the velocities.
We also can notice that now
∂ d ∂
− . (T − V ) = 0 (A.18)
∂qk dt ∂ q̇k
Equation (A.18) are the Euler-Lagrange Equations. Meanwhile the combination of the
Potential energy V and the Kinetic energy T is called the Lagrangian
L = T − V. (A.19)
∂L d ∂L
− = 0. (A.20)
∂qk dt ∂ q̇k
pH port-Hamiltonian
[4] O. Cieza Aguirre and J. Reger, “IDA-PBC for underactuated mechanical systems
in implicit port-hamiltonian representation,” European Control Conference (ECC)
2019, pp. 614–619.
[8] Ale. The latest crane lifting technology for any project challenge. [Online].
Available: https://www.ale-heavylift.com/services/heavy-crane-lifting/
[9] L. Aimix Group Co. Rubber-Tyred gantry crane Terex. [Online]. Available:
https://gantrycranesmanufacturer.com/rubber-tyred-gantry-crane/
[14] J. L. Zarate Moya, “Tracking controller design for a nonlinear model of a gantry
crane based on dynamic extension and robustification,” mathesis, Technische Uni-
versität Ilmenau, 2015.
[16] M. Ryalat and D. S. Laila, “A simplified IDA-PBC design for underactuated me-
chanical systems with applications,” European Journal of Control, vol. 27, pp.
1–16, 2016.
[20] W. R. Hamilton, The Mathematical Papers of Sir William Rowan Hamilton. CUP
Archive, 1931, vol. 2.
[28] R. Ortega and M. W. Spong, “Adaptive motion control of rigid robots: A tutorial,”
Automatica, vol. 25, no. 6, pp. 877–888, 1989.
[29] M. Takegaki and S. Arimoto, “A new feedback method for dynamic control of
manipulators,” Journal of Dynamic Systems, Measurement, and Control, vol. 103,
no. 2, pp. 119–125, 1981.
[30] S. Delgado, “Total energy shaping for Underactuated Mechanical Systems: Dis-
sipation and nonholonomic constraints,” PhD Thesis, Technische Universität
München, 2016.
[32] A. J. van der Schaft and A. Van Der Schaft, L2-gain and passivity techniques in
nonlinear control. Springer, 2000.
[36] J. A. Popayán, O. B. Cieza, and J. Reger, “Adaptive ida-pbc for a class of umss:
The iwip analysis,” IFAC Symposium on Nonlinear Control Systems (NOLCOS),
2019.
[43] O. Cieza Aguirre and J. Reger, “Implicit IDA-PBC for underactuated mechanical
systems: An lmi-based approach,” 2019, accepted for the Conference on Decision
and Control - (CDC 2019).
[47] X. Wu and X. He, “Partial feedback linearization control for 3-d underactuated
overhead crane systems,” ISA transactions, vol. 65, pp. 361–370, 2016.
[50] N. Sun and Y. Fang, “An efficient online trajectory generating method for under-
actuated crane systems,” International Journal of Robust and Nonlinear Control,
vol. 24, no. 11, pp. 1653–1663, 2014.