View
10
Download
0
Category
Preview:
Citation preview
Virtual Holonomic Constraints and the Synchronization of
Euler-Lagrange Control Systems
by
Dame Jankuloski
A thesis submitted in conformity with the requirementsfor the degree of Master of Applied Science
Graduate Department of Electrical and Computer Engineering
University of Toronto
c© Copyright 2012 by Dame Jankuloski
Abstract
Virtual Holonomic Constraints and the Synchronization of Euler-Lagrange Control
Systems
Dame Jankuloski
Master of Applied Science
Graduate Department of Electrical and Computer Engineering
University of Toronto
2012
A virtual holonomic constraint (VHC) for an Euler-Lagrange Control System is a smooth
relation between the configuration variables that can be made invariant through appli-
cation of suitable feedback. In this thesis we investigate the role played by VHCs in the
synchronization of Euler-Lagrange systems. We focus on two problems. For N under-
actuated cart-pendulums, we design a smooth feedback that fully synchronizes the cart-
pendulums while simultaneously stabilizing a periodic orbit corresponding to a desired
oscillation for the pendulums. A by-product of our results is the ability to simultaneously
synchronize the pendulums and stabilize the unstable upright equilibrium. The second
synchronization problem investigated in this thesis is bilateral teleoperation, whereby a
master robot is operated by a human while a slave robot synchronizes to the master. For
two identical planar manipulators, we develop a methodology to achieve teleoperation in
the presence of a hard surface, with simultaneous force control.
ii
Acknowledgements
First and foremost, I would like to thank my mentor, Professor Manfredi Maggiore. His
love and passion for control systems have inspired me to pursue studies in this field. I
truly enjoyed learning from his teachings.
Thanks to Prof. Broucke and Prof. Pavel for being part of my thesis committee and
giving me feedback on this work. I also want to thank Prof. Francis for introducing me
to proper mathematical writing. Thanks to all my friends in the Systems Control Group
at University of Toronto for their help and support.
Finally, thank you to my parents and brother for their support in pursuing these
studies.
iii
Contents
1 Introduction 1
1.1 Literature review . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.1.1 Virtual holonomic constraints . . . . . . . . . . . . . . . . . . . . 4
1.1.2 Teleoperation systems . . . . . . . . . . . . . . . . . . . . . . . . 5
1.2 Thesis organization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
1.3 Statement of contributions . . . . . . . . . . . . . . . . . . . . . . . . . . 7
1.4 Notation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
2 Virtual Holonomic Constraints 9
2.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
2.2 VHCs: Definition and regularity . . . . . . . . . . . . . . . . . . . . . . . 10
2.3 Motion on the constraint manifold . . . . . . . . . . . . . . . . . . . . . . 18
2.4 Systems with degree of underactuation one . . . . . . . . . . . . . . . . . 26
2.4.1 Conditions for Euler-Lagrange reduced dynamics . . . . . . . . . 26
2.4.2 Qualitative properties of the reduced motion . . . . . . . . . . . . 29
2.4.3 Effects of dissipation . . . . . . . . . . . . . . . . . . . . . . . . . 32
2.4.4 Stabilization of closed orbits on the constrained manifold . . . . . 35
3 Synchronizing N Cart-Pendulums 43
3.1 System model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
3.2 Synchronization of oscillations problem (SOP) . . . . . . . . . . . . . . . 44
iv
3.3 Solution of SOP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
3.3.1 Design for the case N = 2 . . . . . . . . . . . . . . . . . . . . . . 46
3.3.2 Design for N cart-pendulums . . . . . . . . . . . . . . . . . . . . 55
3.4 Simulation results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
3.5 Concluding Remarks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
4 A Bilateral Teleoperation Problem 61
4.1 Teleoperation problem . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
4.2 Solution methodology . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
4.3 Modeling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
4.3.1 Free motion phase . . . . . . . . . . . . . . . . . . . . . . . . . . 67
4.3.2 Contact phase . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
4.3.3 Impact phase . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
4.3.4 Numerical simulation of impact . . . . . . . . . . . . . . . . . . . 71
4.4 Solution of the teleoperation problem . . . . . . . . . . . . . . . . . . . . 71
4.4.1 P1: Full synchronization during free motion phase . . . . . . . . . 71
4.4.2 P2: Constraining motion of the end effectors . . . . . . . . . . . . 72
4.4.3 P3: End effector synchronization during contact phase . . . . . . 75
4.4.4 P4: Human force estimation on local robot . . . . . . . . . . . . . 80
4.4.5 P5: Force control on remote robot . . . . . . . . . . . . . . . . . . 83
4.4.6 Summary of controller solving the teleoperation problem . . . . . 84
4.5 Simulation results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
5 Conclusions 88
Bibliography 90
v
List of Figures
1.1 Courtship ritual of grebes. . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.2 An excerpt from a letter by Dutch physicist Christiaan Huygens concerning
the synchronization of two pendulum clocks mounted on the same wall beam. 2
1.3 Quanser’s pantograph robot, a three degrees-of-freedom haptic interface . 3
2.1 An illustration of the definition of the constraint manifold Γ for h(q) = 0 11
2.2 An underactuated planar manipulator. The control input is a force applied
to both links and directed along the vertical axis. Through appropriate
feedback, we wish to constrain the end effector to lie on the horizontal line
shown. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
2.3 The three-link planar biped robot used in [10] to study asymptotically
stable walking via the enforcement of a VHC in parametric form. . . . . 18
2.4 The configurations of the biped robot when the VHC q1 = θd = π/15,
q2 = −q3 is enforced. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
2.5 The cart-pendulum system . . . . . . . . . . . . . . . . . . . . . . . . . . 24
2.6 The set h−1(0) and its parametrization. The equilibrium configurations
on h−1(0) and their stability types are marked with dots. . . . . . . . . . 28
2.7 The functions M(s) and V (s) (left) and the phase portrait of the reduced
dynamics (right). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
vi
2.8 Phase portrait of the reduced motion of the cart-pendulum for the VHC’s
with φ(x) = −π3sin(1.5
πx). The shaded region contains oscillations of x
corresponding to the cart oscillating back and forth, while the pendulum
is oscillating in the upper half-plane due to the VHC. . . . . . . . . . . . 31
2.9 The potential function associated with the reduced dynamics of the cart-
pendulum system. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
2.10 Phase portraits of the reduced dynamics of the cart-pendulum system with
dissipation when the VHC θ = −(π/3) sin(3x/(2π)) is enforced. On the
top figure, the components of the dissipation matrix are k11 = 1, k12 =
k21 = k22 = 0, and the equilibrium point (x, x) = (0, 0) is unstable. In the
bottom figure, the components of K are k11 = k22 = 1, k12 = k21 = 0.7,
and the equilibrium point is asymptotically stable. . . . . . . . . . . . . . 35
2.11 Reduced dynamics of the cart-pendulum system. The red curve is the
closed orbit we wish to stabilize. . . . . . . . . . . . . . . . . . . . . . . . 40
2.12 Stabilization of a desired closed orbit for the cart-pendulum: (x(t), x(t))
converges to the desired orbit. . . . . . . . . . . . . . . . . . . . . . . . . 41
2.13 Stabilization of a desired closed orbit for the cart-pendulum: the angle
θ(t) of the pendulum remains in the interval (−π/2, π/2) so the pendulum
does not fall over. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
2.14 Stabilization of a desired closed orbit for the cart-pendulum: θ(t)−φs(t)(x(t))
tends to zero, showing that the dynamic VHC is enforced. This is the key
feature that prevents the pendulum from falling over. . . . . . . . . . . . 42
3.1 A chain of N cart-pendulums . . . . . . . . . . . . . . . . . . . . . . . . 44
3.2 Use of a time-varying parameter s2 to introduce a driving force on the
slave cart-pendulum system to remain at a fixed distance from the master. 49
3.3 The average value of aE0(t), aE0 , increases with E0. . . . . . . . . . . . . 54
vii
3.4 Full synchronization of 3 cart-pendulums without energy stabilization: an-
gle of each pendulum (top) and cart position (bottom). Note that during
transient the three pendulums remain in the upper half-plane. . . . . . . 58
3.5 Full synchronization of 3 cart-pendulums with simultaneous energy level
stabilization for the master cart-pendulum. Here we are stabilizing the
energy level E0 = 0, which corresponds to stabilizing the upright equi-
librium position of the pendulums. Note that during transient the three
pendulums remain in the upper half-plane. . . . . . . . . . . . . . . . . . 59
4.1 Two identical fully actuated two-link planar manipulators. The manipu-
lator on the left-hand side (local robot) is operated by the human, who
applies a force Fh on the end effector. The manipulator on the right-hand
side (remote robot) is facing a surface at a distance r from its base. . . . 62
4.2 Phase portrait of system (4.12). The thick line represents the impact. . . 74
4.3 The workspace of the remote robot while the end effector remains in con-
tact with the surface (shaded area). . . . . . . . . . . . . . . . . . . . . . 77
4.4 Elbow up and elbow down configurations when the end effector lies on S,
and the corresponding coordinate charts of the VHC h2(qi) = 0, i ∈ l, r. 77
4.5 Motion of the local (left) and remote (right) end effector relative to y = 1.5 86
4.6 Estimate of force applied by human on the local end effector . . . . . . . 87
4.7 Synchronization error between the local and remote first link (left) and
second link (right) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87
viii
Chapter 1
Introduction
The theme of this thesis is the control of synchronization in mechanical systems. Syn-
chronization is a pervasive phenomenon in natural and artificial systems. Neurons in
the heart fire up synchronously, causing the heart to contract and expand periodically.
Synchronization among neurons in the brain has been associated with memory processes.
Legged locomotion involves the synchronization of movements of individual legs either in
phase or out of phase. Courtship rituals in birds often involve synchronous movements
such as head bobbing, or spectacular synchronized swims, such as those of Western
Grebes walking on water, see Figure 1.1. It is not surprising that researchers have been
fascinated by synchronization phenomena for a long time.
One of the earliest investigations of synchronization is due to the Dutch physicist
Christiaan Huygens. In a 1665 letter to the Royal Society of London, he observed that
Figure 1.1: Courtship ritual of grebes.
1
Chapter 1. Introduction 2
Figure 1.2: An excerpt from a letter by Dutch physicist Christiaan Huygens concerningthe synchronization of two pendulum clocks mounted on the same wall beam.
two pendulum clocks mounted on a wall beam have a natural tendency to synchronize by
oscillating at the same frequency. He observed that the synchronizing mechanism was a
minute oscillation of the wall beam that would effectively couple the pendulum dynamics
in a beneficial way. Figure 1.2 contains an excerpt from a letter Huygens wrote to his
father on this subject. Modern physicists have taken inspiration from Huygens’ work
in their study of coupled oscillators, using the methods of dynamical systems theory.
Coupled oscillators are used as a model for many natural synchronization phenomena,
such as the synchronous firing of neurons. Control engineers take a different point of
view to synchronization, one driven by design. Rather than analyzing the occurrence of
synchronization, the objective is to enforce synchronization via feedback.
In this thesis, we investigate two specific synchronization examples that are represen-
tative of two classes of control problems in engineering systems. In the first example,
we consider a series of pendulums, each mounted on a cart. Motors actuate the carts,
while the pendulums are not actuated. The objective is to design feedbacks that fully
synchronize the pendulums while simultaneously stabilizing a desired oscillatory motion.
The challenge is the presence of multiple control specifications that must be simultane-
ously met despite the fact that the individual systems are underactuated. This example
Chapter 1. Introduction 3
Figure 1.3: Quanser’s pantograph robot, a three degrees-of-freedom haptic interface
is an instance of the more general synchronization problem for underactuated mechanical
systems.
The second example presented in this thesis is a teleoperation problem from the area
of Robotics. Consider two robots, a master and a slave. The master robot is a haptic
interface operated by a human, such as the pantograph depicted in Figure 1.3. The slave
robot interfaces with the environment, and must perform a manipulation task guided
by the human. Through its interaction with the master robot, the human must “feel”
the presence of a manipulation surface which is actually present in the task space of
the slave robot. Besides feeling the surface, the human must be able to make the slave
robot reproduce the force that the human imparts on the haptic interface. In addition
to the specifications above, the slave robot must synchronize its end effector to that of
the master robot. This thesis proposes a solution to this teleoperation problem when the
two robots are planar and have two links.
The underlying tool in our solution of the examples above is the notion of virtual holo-
nomic constraint, a relation between the configuration variables that can be enforced via
feedback. For synchronization, the virtual holonomic constraint could be the requirement
that the states of different systems be equal. Additional virtual holonomic constraint
could then be imposed to meet other control specifications, such as the stabilization
of oscillatory motions. Returning to Huygens’ original investigation, the synchronizing
Chapter 1. Introduction 4
mechanism in the coupled clocks is their common support. From a mechanical viewpoint,
this support is a holonomic constraint, not virtual, but one that is physically present.
It seems therefore natural to adopt an approach to synchronization of control systems
based on virtual holonomic constraints.
1.1 Literature review
In this section we provide a brief review on the work of virtual holonomic constraints
and teleoperation systems. For a more detailed overview of some of the results in the
literature on virtual holonomic constraints, the reader is referred to Chapter 2.
1.1.1 Virtual holonomic constraints
The concept of virtual holonomic constraint (VHC) was first introduced in Mechanics
in the early 1900s by Paul Appell (see [2]) and in the PhD thesis [3] of Henri Beghin in
1922, where a “servo-constraint” was considered to be enforced through the application of
external forces. The interest in this concept in control applications has grown due to the
technological development of fast microprocessors. About ten years ago, Jessy Grizzle
and his collaborators began the development of a systematic theory of control design for
biped locomotion [5, 10, 21, 29, 30]. One of the key ingredients of Grizzle’s approach was
the description of walking gaits using VHCs:
(Excerpt from [30]) “The control designs involved the judicious choice of a set of
holonomic constraints that were asymptotically imposed on the robot via feedback
control. (...) In these control designs, it was observed that various parameters
appearing in the holonomic constraints would affect the walking speed, the torques
required to achieve walking, etc. (...)”
Grizzle’s approach represents a radical departure from the traditional approach to
motion control in Robotics. Instead of producing timed reference signals using motion
Chapter 1. Introduction 5
planning algorithms, and then designing tracking controllers to make the robot joints
follow the reference signals, Grizzle’s approach involves the stabilization of relations be-
tween the configurations variables corresponding to sets in the state space of the robot.
Following Grizzle’s work, a number of researchers have adopted the VHC paradigm. In
this literature, the work of Anton Shiriaev and colleagues emerges prominently [9,25–27].
In this work, VHCs are used primarily to find periodic orbits corresponding to desired
oscillatory motions (such as walking gaits). To stabilize the periodic orbits, Shiriaev
and colleagues use the concept of transverse linearization, which involves linearizing the
control system around the closed orbit and applying a time periodic feedback to stabilize
said linearization. The feedback in question is designed solving a Riccati equation for a
linear periodic system. In [9,26], VHCs are used to select and stabilize desired oscillations
of the Furuta pendulum and the pendubot.
In recent work [6,18], Manfredi Maggiore and Luca Consolini laid the foundations of
a general theory of VHCs for Euler-Lagrange systems. This thesis follows in the footsteps
of that work. One of the contributions in [6, 18] is the development of conditions under
which a given relation is a feasible VHC, as well as the requirement that the VHC give
rise to an invariant set in the closed-loop system, the so-called constraint manifold. This
theory will be reviewed in detail in Chapter 2. In [6,7] virtual holonomic constraints are
used for the swing-up of the pendubot and the control of a bicycle.
1.1.2 Teleoperation systems
A teleoperation system is a system allowing a human (the operator) to perform a task in
a remote environment without direct interaction. The goal in teleoperation is to project
the human sensing and manipulation abilities in the remote environment. Teleoperation
systems have found applications in space robotics (e.g., the Mars rovers), underwater
vehicles, surgical robots, and a variety of tasks in hazardous environments.
The architecture of a teleoperation system comprises a local robot, a communication
Chapter 1. Introduction 6
channel, and a remote robot. The operator interacts with the local robot so as to make
the remote robot interact with the environment. In turn, the interaction between the
remote robot and the environment is to be reflected back to the local robot so that the
operator can feel the environment. The performance of the overall system is dictated by
how well the operator can interact with the environment.
The first teleoperation system was built by Raymond Goertz in 1945. This was a
purely mechanical teleoperator used to handle radioactive material. Since then, a variety
of more complex teleoperation systems have been built. An excellent survey on the work
that has taken place in this field from the control theoretic point of view is given by
Hokayem and Spong in [13]. The two main control specifications for a teleoperation
system are that of stability and transparency. The former specification requires the
robots to maintain stability irrespective of the behavior of the operator, while the latter
specification requires the local robot to impart on the operator the force feedback from
the environment, obtained through force sensors placed on the remote robot.
In the literature, these two objectives are deemed conflicting. Indeed, as early as 1966
Ferrell [8] showed experimentally that force feedback in the presence of time delays of
the order of 0.1 seconds can cause instability. This observation has resulted in a signifi-
cant amount of research on methods to eliminate the instability phenomena, with major
emphasis being placed on the communication channel. In 1989, Anderson and Spong [1]
proposed to use the formalism of network theory, passive systems, and scattering opera-
tors as a means to overcome the instability phenomenon due to time delay. Since then,
this framework has become the dominant approach to teleoperation. For a review on
some of these schemes the reader is directed to [20]. Here the authors have unified the
analysis of the different control schemes with the idea of a general Lyapunov-like function
candidate. The work of Hannaford and Ryu in [12, 22] is also notable.
Chapter 1. Introduction 7
1.2 Thesis organization
The thesis is organized as follows. In Chapter 2 we review the basic theory of virtual holo-
nomic constraints developed by Maggiore-Consolini in [6,18], and extend some of the key
results. In Chapter 3 we present a control methodology to synchronize N underactuated
cart-pendulums, while simultaneously stabilizing a desired oscillatory behavior around
their unstable upright equilibrium. In Chapter 4 we investigate a bilateral teleoperation
problem. Besides synchronizing the local and remote robots, we make the remote robot
replicate the force that the human imparts on the local robot without using force sensors.
1.3 Statement of contributions
The following is a list of original contributions made in this thesis.
1. Proposition 2.2.6 on page 14. Necessary and sufficient condition for a given relation
to be a regular VHC. This result is a generalization to Proposition 3.2 in [18].
2. Proposition 2.3.1 on page 19. A generalization of the reduced dynamics presented
in [18] to the case of systems with arbitrary degree of underactuation and general
VHCs in implicit form.
3. Proposition 2.4.8 on page 33. This result is an extension of Proposition 4.7 in [18]
to describe the effect of dissipation (e.g., friction) on the stability of the equilibrium
points for the reduced dynamics.
4. Proposition 3.3.3 on page 54 and Proposition 3.3.4 on page 56. These results provide
a solution to the synchronization of oscillation problem for N underactuated cart-
pendulums. They also show that the control design for the general case of N
systems is no more difficult than the N = 2 case.
5. Propositions 4.4.1, 4.4.3, 4.4.5, 4.4.6, and 4.4.7 on pages 73-80. These results solve
the teleoperation problem.
Chapter 1. Introduction 8
1.4 Notation
The table below summarizes the notation used in this thesis.
Symbol Description
R Set of real numbers
[x]T x modulo T
[R]T The set [xT ] : x ∈ R
S1 [R]2π
M Smooth manifold
TpM Tangent space of M at p
dhp : TpM → Th(p)N The differential at p of the map h :M → N
Q Configuration space
q, q Configuration variable, velocity respectively
‖(q, q)‖Γ Point to set distance
A\B Set A without elements in set B
h−1(0)The zero level set of the relation h(q),
i.e. ∀q ∈ Q : h(q) = 0
B⊥ Left-annihilator of B, i.e. B⊥B = 0
A† Pseudo-inverse of A
Im(A), ker(A) Image and Kernel space of A respectively
dim(X) The dimension of the vector space X
u⋔, uq Control input transversal/tangential to constraint manifold
(W,ψ)Denotes a coordinate chart on M , with W ⊂M and
ψ : W → Rm (m := dim(M)) is a bijection
diag(a, b) Diagonal matrix with entries a, b on the diagonal
Chapter 2
Virtual Holonomic Constraints
2.1 Introduction
The two synchronization problems investigated in this thesis rely on the notion of vir-
tual holonomic constraint (VHC). Roughly speaking, a VHC is a relation involving the
configuration variables of a mechanical system which can be enforced via feedback. This
chapter reviews the basic theory of VHCs needed in this thesis. Many of the results
are taken from [6, 18], but some of the material is presented in extended form. Such
extensions are original contributions of this thesis and were published in [15].
We begin in Section 2.2 with the formal definition of a VHC and of the notion of
regularity of VHCs. We also present necessary and sufficient conditions for regularity
of VHCs. In Section 2.3 we investigate the reduced dynamics describing the motion
of the control system when the VHC has been enforced. In Section 2.4, we focus our
attention on the class of mechanical systems with degree of underactuation one. For
these, in Section 2.4.1 we present conditions under which the reduced dynamics are
Euler-Lagrange. In Section 2.4.2 we discuss the qualitative properties of the reduced
dynamics. In Section 2.4.3 we discuss the effects of dissipation (e.g., friction) on the
reduced dynamics. Finally, in Section 2.4.4 we present a control design technique to
9
Chapter 2. Virtual Holonomic Constraints 10
stabilize closed orbits of the reduced dynamics. This gives a useful way to control the
oscillations of the system while simultaneously enforcing a VHC.
2.2 VHCs: Definition and regularity
In this chapter we consider mechanical systems with n configuration variables q =
(q1, . . . , qn) ∈ Q and m controls τ = (τ1, . . . , τm) ∈ Rm. We assume that each configu-
ration variable is either a displacement in R or an angle in S1 (the set of real numbers
modulo 2π, which is diffeomorphic to the unit circle). This way, the set Q, called the
configuration manifold of the mechanical system, is a generalized cylinder. We con-
sider the class of Euler-Lagrange Control Systems modelled by the Euler-Lagrange
equation
d
dt
∂L
∂q− ∂L
∂q= B(q)τ. (2.1)
In the above, B : Q → Rn×m has full rank m for all q and the Lagrangian function
L(q, q) : Q × Rn → R is smooth, and it is assumed to have the special form L(q, q) =
(1/2)q⊤D(q)q−P (q), where D(q), the inertia matrix, is symmetric and positive definite
for all q and P (q), the potential energy function, is smooth. When the Lagrangian has
this special form, the Euler-Lagrange Control System is referred to as a simple mechanical
system, and it can be rewritten in the standard form
D(q)q + C(q, q)q +∇P (q) = B(q)τ, (2.2)
where the matrix C(q, q) is formed using the so-called Christoffel symbols of D [19, 28].
When m = n, system (2.2) is said to be fully actuated. When m < n, system (2.2) is
said to have degree of underactuation n−m. In this case, we will assume that there
exists a left-annihilator of B on Q, i.e., a smooth function B⊥ : Q → Rn−m×n such that
B⊥(q)B(q) = 0 on Q and rankB⊥(q) = n−m.
Chapter 2. Virtual Holonomic Constraints 11
Definition 2.2.1. A virtual holonomic constraint (VHC) of order k ≤ m for
system (2.2) is a relation h(q) = 0, where h : Q → Rk is smooth, rank dhq = k for all
q ∈ h−1(0), and the set
Γ = (q, q) : h(q) = 0, dhq q = 0, (2.3)
is controlled invariant. That is, there exists a smooth feedback τ(q, q) defined on Γ
such that Γ is positively invariant for the closed-loop system. The set Γ is called the
constraint manifold associated with the VHC h(q) = 0. A VHC is stabilizable if
there exists a smooth feedback τ(q, q) that asymptotically stabilizes Γ, and in this case
τ(q, q) is said to enforce the VHC h(q) = 0.
h(q) = 0
q
Γ
q
Figure 2.1: An illustration of the definition of the constraint manifold Γ for h(q) = 0
The condition that rank dhq = k for all q ∈ h−1(0) guarantees that h−1(0) has a
nice geometric structure. Namely, it is an embedded submanifold of Q. The constraint
manifold Γ in (2.3) is the subset in the state space of (2.2) where the configuration
variables satisfy the VHC h(q) = 0 and their velocities q are tangent to h−1(0). This
is illustrated in Figure 2.1. The requirement of controlled invariance of Γ means that if
(q(0), q(0)) ∈ Γ, then the resulting configuration trajectory q(t) can be made to satisfy
the VHC for all t ≥ 0 through appropriate feedback. This way the system will behave
as if though it has a physical holonomic constraint. Intuitively, for Γ to be controlled
invariant there must exist a feedback that cancels out all accelerations of (2.2) transversal
to h−1(0). The next example illustrates Definition 2.2.1.
Chapter 2. Virtual Holonomic Constraints 12
Example 2.2.2. Consider a point-mass in the xy-plane, with gravity pointing in the
negative y-direction. The control input τ ∈ R is the intensity of the applied force, with
direction specified by B ∈ R2, which is a constant vector. For this system we have
q = (x, y) ∈ R2. Let M denote the mass and g the gravitational constant, then we have
M 0
0 M
q +
0
Mg
= Bτ
where D(q) = diag(M,M), C(q, q) is the zero-matrix and P (q) =Mgy.
Consider the relation h(q) = y − 1, whose enforcement corresponds to keeping the
point mass at y = 1. If B = [1 0]⊤, so that the applied force acts along the x axis
(therefore tangent to the line y = 1) it is obvious that the point-mass cannot be kept
at y = 1 by any feedback, because gravity will cause it to leave this line. Therefore,
h(q) = y − 1 is not a VHC. On the other hand, if B = [0 1]⊤, so that the applied force
acts along the y axis, then we can use the control input to cancel out the acceleration
due to gravity. As a matter of fact, the control τ = mg gives y = 0, and turns Γ =
(x, y, x, y) : y = 1, y = 0 into an invariant set. We conclude that y = 1 is a VHC when
B = [0 1]⊤. More generally, if B is transversal to the x axis, then y = 1 is a VHC.
As the example shows, checking whether a given relation h(q) = 0 is a VHC is linked
to the effect of the control input on the dynamics of the system and the relation h, and
specifically to the possibility to cancel out the accelerations of the system transversal to
the set h(q) = 0. If we let e = h(q), then one has that
e = µ(q, q) + dhqD−1(q)B(q)τ,
where µ(q, q) is a suitable smooth function. If the matrix dhqD−1(q)B(q) has full rank k,
then system (2.2) with input τ and output e = h(q) has vector relative degree 2, . . . , 2,
and there exists a smooth feedback τ(q, q) such that e = 0. Since Γ is precisely the set
Chapter 2. Virtual Holonomic Constraints 13
where e = e = 0, making e = 0 corresponds to making Γ invariant. In conclusion, if
dhqD−1(q)B(q) has full rank k, then the relation h(q) = 0 is a VHC. Constraints enjoying
this rank condition are the focus of our interest, and they are defined next.
Definition 2.2.3. A relation h(q) = 0, with h : Q → Rk a smooth function and k ≤ m,
is said to be a regular VHC of order k if system (2.2) with output e = h(q) has a well-
defined vector relative degree 2, . . . , 2 everywhere on Γ = (q, q) : h(q) = 0, dhqq = 0,
i.e., if the k ×m matrix dhqD−1(q)B(q) has full rank k for all q ∈ h−1(0).
As we discussed, regular VHCs are indeed VHCs in that the constraint manifold is
controlled invariant, and as a matter of fact Γ is the zero dynamics manifold of sys-
tem (2.2) associated with the output e = h(q). Another important feature of regular
VHCs is that under a mild technical condition they are stabilizable by means of an
input-output linearizing feedback, as the next lemma shows.
Lemma 2.2.4. Let h(q) = 0 be a regular VHC of order k for system (2.2). If there exist a
strictly increasing functions α, β : [0, r), r > 0 such that the map H : (q, q) 7→ (h(q), dhqq)
is bounded as α(‖(q, q)‖Γ) ≤ ‖H(q, q)‖ ≤ β(‖(q, q)‖Γ), then for any k1, k2 > 0, the
feedback
τ(q, q) = A†(q)
−(
d
dtdhq
)
q + dhqD−1(q) (C(q, q)q +∇P (q))− k1h(q)− k2dhq q
,
(2.4)
where A†(q) is a right-inverse of A(q) = dhqD−1(q)B(q) and d(dhq)/dt is the time deriva-
tive of dhq along (2.2), asymptotically stabilizes Γ, provided that the closed-loop system
does not have finite escape times.
Proof. Letting e = h(q), feedback (2.4) gives e = −k1e − k2e, so that the equilibrium
(e, e) = (0, 0) is asymptotically stable. Since Γ is the set where (e, e) = (0, 0), the
Chapter 2. Virtual Holonomic Constraints 14
inequality α(·) ≤ ‖H(q, q)‖ ≤ β(·) guarantees that
‖(e, e)‖ bounded =⇒ ‖(q, q)‖Γ bounded ,
‖(e(t), e(t))‖ → 0 =⇒ ‖(q(t), q(t))‖Γ → 0,
and so Γ is asymptotically stable, provided there are no finite escape times in (q, q)
coordinates.
Remark 2.2.5. The condition that there exist a strictly increasing functions α, β :
[0, r), r > 0 such that the map H : (q, q) 7→ (h(q), dhqq) is bounded as α(‖(q, q)‖Γ) ≤
‖H(q, q)‖ ≤ β(‖(q, q)‖Γ) is merely a technical requirement. As we shall argue later, it is
automatically satisfied for the important class of parametric VHCs.
The next proposition, which is a generalization of Proposition 3.2 in [18] where k = m,
gives necessary and sufficient conditions for regularity.
Proposition 2.2.6. Let h : Q → Rk be smooth, with k ≤ m, and that rank dhq = k
for all q ∈ h−1(0). Then, h(q) = 0 is a regular VHC of order k if and only if one of the
following equivalent conditions holds:
(a) For all q ∈ h−1(0), rank dhqD−1(q)B(q) = k.
(b) For all q ∈ h−1(0), dim[Tqh−1(0) ∩ Im(D−1(q)B(q))] = m− k.
(c) For all q ∈ h−1(0), if (W,ψ) is a coordinate chart of h−1(0) with q ∈ W , then
rank(
B⊥(q)D(q)(dψ−1)ψ(q))
= n−m.
Proof. Part (a) of the proposition is the definition of regular VHC. Using the identity
rank(AB) = rank(B)− dim(Im(B) ∩ ker(A)) (2.5)
we get that
rank(dhqD−1(q)B(q)) = rank(D−1(q)B(q))− dim[Im(D−1(q)B(q)) ∩ ker(dhq)].
Chapter 2. Virtual Holonomic Constraints 15
Now, since B has full rank m for all q, we get that rank(D−1(q)B(q)) = m. To get
rank(dhqD−1(q)B(q)) = k it must be that dim[Im(D−1(q)B(q)) ∩ ker(dhq)] = m − k.
Finally, since ker(dhq) = Tqh−1(0) we arrive at condition (b) of the proposition.
Next, if (W,ψ) is a coordinate chart of h−1(0) with q ∈ W , then Tqh−1(0) = ker dhq =
Im(dψ−1)ψ(q), and the condition dim[Im(D−1(q)B(q))∩ker(dhq)] = m−k is equivalent to
dim[ImB(q)∩Im(
D(q)(dψ−1)ψ(q))
] = m−k. In turn, since ImB(q) = kerB⊥(q), in light
of identity (2.5) the latter condition is equivalent to condition (c) in the proposition.
Remark 2.2.7. The condition for regularity above has a simple intuitive explanation.
For the relation h(q) = 0 to be a regular VHC, it is necessary and sufficient that at
each q ∈ h−1(0), k of the m acceleration directions imparted by the control input be
transversal to the tangent space of h−1(0) at q.
Remark 2.2.8. If system (2.2) is fully actuated, i.e., m = n, then Im(D−1(q)B(q)) =
TqQ and the condition of Proposition 2.2.6 is automatically satisfied. Thus, for fully
actuated systems, any relation h(q) = 0 such that h is smooth and 0 is a regular value
of h, is a regular VHC.
Example 2.2.9. We now return to the point-mass system of Example 2.2.2. In this
case, n = 2, m = k = 1, so Proposition 2.2.6 states that a VHC of order 1 is regular if
and only if dim[Im(D−1(q)B(q)) ∩ ker(dhq)] = 0. For h(q) = y − 1 we have dhq = [0 1]
and ker(dhq) = span([1 0]⊤). Since D(q) is diagonal and B is constant, for h(q) = 0 to
be a regular VHC it must be that B 6= [b 0]⊤, b ∈ R when y = 1. Physically, this means
that the applied force should be transversal (not necessarily orthogonal) to the x-axis in
order for the point-mass to stay at y = 1. This is precisely the intuitive condition that
was discussed in Example 2.2.2.
Example 2.2.10. Consider the planar manipulator in Figure 2.2. For this system we
have q = (q1, q2) ∈ S1 × S1. Assuming that all kinematic and dynamic parameters are
Chapter 2. Virtual Holonomic Constraints 16
q1q2
r
11
g
Figure 2.2: An underactuated planar manipulator. The control input is a force appliedto both links and directed along the vertical axis. Through appropriate feedback, wewish to constrain the end effector to lie on the horizontal line shown.
unitary, we have P (q) = 2g cos q1 + g cos q2, and
D(q) =
2 cos(q1 − q2)
cos(q1 − q2) 1
, C(q, q) =
0 sin(q1 − q2)q2
− sin(q1 − q2)q1 0
.
The control input is a force applied to both links and directed along the vertical axis,
so that B(q) = [sin q1 sin q2]⊤. Suppose we wish to enforce the relation h(q) = cos q1 +
cos q2 − r, where r = 1.5, which corresponds to constraining by feedback the end effector
of the manipulator to lie on a horizontal line situated above the robot base at a distance
r from the base. In this case it holds that
dhqD−1(q)B(q) = − cos2 q2/(cos
2(q1 − q2)− 2)− 1,
and this function vanishes when q1 = q2 = [0]2π, which is not on h−1(0). Therefore, in
light of Proposition 2.2.6 the relation h(q) above is a regular VHC for the underactuated
manipulator. Moreover, it is easy to show that there exist increasing functions α, β
satisfying the inequality of Lemma 2.2.4, so that the VHC h(q) = 0 can be enforced via
the feedback (2.4).
The VHC presented in Example 2.2.10 is an implicit function of the configuration
Chapter 2. Virtual Holonomic Constraints 17
variables. Consider now VHCs in which k of the n configuration variables are expressed
in terms of the remaining n − k variables. Specifically, we say that if q = [q1 . . . qk]⊤
and q = [qk+1 . . . qn]⊤ then the relation
q = φ(q),
is a VHC of order k in parametric form. In this case, we have h(q) = q − φ(q).
The parametric form is of particular interest because on h−1(0), q can be expressed in
terms of q and so the dynamics on the constraint manifold Γ are entirely characterized
by the evolution of q and ˙q on this set. Specifically, letting φ(q) := [φ(q)⊤ q⊤]⊤, then
the parametrization in question is q = φ(q). The necessary and sufficient condition for
regularity in part (c) of Proposition 2.2.6 becomes
(∀q) rank[
B⊥(φ(q))D(φ(q))dφq
]
= n−m.
The hypothesis of Lemma 2.2.4 is always satisfied for regular VHCs in parametric form,
and as a result the input-output linearizing feedback given by (2.4) can be used to enforce
such VHCs. Additionally, VHCs in parametric form are useful in applications, as the
next example illustrates.
Example 2.2.11. In one of the earliest works of J. Grizzle and collaborators on bipedal
locomotion, [10], the authors consider the planar three-link biped robot of Figure 2.3.
Walking gaits are induced by imposing a second-order VHC in parametric form. During
the swing phase of the robot, the torso is reduced to remain at a constant angle, q1 = θd,
and the swinging leg is reduced to have an opposite angle to the standing leg, q2 = −q3.
The parametrizing variable is the angle q3 of the standing leg. Figure 2.4 displays the
configuration of the robot as the angle q3 of the standing leg is varied between −π/5 and
π/5. The authors in [10] show that the enforcement of this VHC induces asymptotically
stable walking. Since the parametrizing variable is an angle, the enforcement of the VHC
Chapter 2. Virtual Holonomic Constraints 18
gives rise to the repetitive behavior corresponding to walking.
q1
−q2q3
Figure 2.3: The three-link planar biped robot used in [10] to study asymptotically stablewalking via the enforcement of a VHC in parametric form.
Standing LegSwinging LegTorso
Figure 2.4: The configurations of the biped robot when the VHC q1 = θd = π/15,q2 = −q3 is enforced.
2.3 Motion on the constraint manifold
In this section, we discuss what happens to the dynamics of system (2.2) when a regular
VHC is enforced, i.e., when the state (q, q) evolves on the constraint manifold Γ. The
motion on Γ will be referred to as the reduced dynamics. Let A(q) := dhqD−1(q)B(q).
By definition, if h(q) = 0 is a regular VHC then this k × m matrix has full rank k for
all q ∈ h−1(0). The next proposition shows that for a regular VHC of order k, one
Chapter 2. Virtual Holonomic Constraints 19
can define a regular feedback transformation partitioning the m control inputs into two
components transversal and tangential to h−1(0), in such a way that k control inputs can
be used to enforce the VHC, while the remaining m − k control inputs can be used to
affect the dynamics on the constraint manifold. In particular, the motion of the system
on the constraint manifold is described by a well-defined reduced-order control system
with n − k states and m − k control inputs. The significance of this result is that only
k of the m inputs are required to enforce the VHC of order k and the remaining m− k
control inputs can be used to meet other control specifications. This result will be used
in Chapter 4 to address a problem of bilateral teleoperation.
Proposition 2.3.1. Let h(q) = 0 be a regular VHC of order k < m for system (2.2),
and suppose there exists a smooth function N : Q → Rm×m−k such that Im(N(q)) =
ker(A(q)) for all q ∈ h−1(0). Let A†(q) be a right-inverse of A(q) (e.g., A†(q) =
A(q)⊤(A(q)A(q)⊤)−1), and consider the feedback transformation
τ = A†(q)u⋔ +N(q)uq, (2.6)
where (u⋔, uq) ∈ Rk × R
m−k are new control inputs. Then, the relation h(q) = 0 is a
regular VHC of order k for system (2.2), (2.6) with input u⋔. Moreover, the motion on
Γ is governed by a well-defined control system with input uq. Specifically, if (W,ψ) is a
coordinate chart of h−1(0), then in local coordinates (s, s) = (ψ(q), dψq q) ∈ Rn−k×R
n−k
the motion on Γ has the form
D(s)s+ C(s, s)s+ g(s) =
0(n−m)×1
uq
, (2.7)
Chapter 2. Virtual Holonomic Constraints 20
where, letting σ := ψ−1,
D(s) =
B⊥
N †B†
D∣
∣
∣
q=σ(s)dσs,
C(s, s) =
B⊥
N †B†
(
Cdσs +D[(d/dt)dσs])
s
∣
∣
∣
∣
∣
q=σ(s)
,
g(s) =
B⊥
N †B†
∇P
∣
∣
∣
q=σ(s),
N † and B† are left inverses of N and B, and D(s) is everywhere invertible.
Remark 2.3.2. When k = m the smooth function N is the empty matrix, which corre-
sponds to having no control input appearing in 2.7.
Remark 2.3.3. Note that although system (2.7) “looks like” system (2.2), it is not
written in a canonical form, in that D(s) is not symmetric, and C(s, s) does not con-
tain the Christoffel symbols of D. More importantly, (2.7) is not necessarily Euler-
Lagrange (see [7] for an example).
Remark 2.3.4. If system (2.2) is fully actuated, then n−m = 0, and the reduced motion
in (2.7) is feedback equivalent to the trivial Euler-Lagrange system s = 0. The feedback
transformation in question is given by uq = C(s, s)s+ g(s).
Proof. Since h(q) = 0 is a regular VHC, system (2.2) with output e = h(q) has vector
relative degree 2, . . . , 2, so that
e = µ(q, q) + A(q)τ = µ(q, q) + A(q)A†(q)u⋔ + A(q)N(q)uq = µ(q, q) + u⋔.
Hence, system (2.2), (2.6) with input u⋔ and output e = h(q) has vector relative degree
2, · · · , 2, proving that the VHC h(q) = 0 is regular also for the system with k inputs
Chapter 2. Virtual Holonomic Constraints 21
u⋔. Next, multiplying (2.2) on the left by B⊥(q), we get
B⊥Dq + B⊥(Cq +∇P ) = 0(n−m)×1. (2.8)
Feedback transformation (2.6) is regular because rank[A† N ] = m since ImN = kerA.
Substituting (2.6) into (2.2) and premultiplying both sides of the equation by N †B†, we
obtain
N †B†Dq +N †B†(Cq +∇P ) = N †B†Bu
= N †(A†u⋔ +Nuq)
= uq.
(2.9)
The last equality follows from the property AN = 0 which implies that N †A† = 0.
Since h(q) = 0 is a regular VHC, it follows that dhq has full rank k for all q ∈ h−1(0),
and thus h−1(0) is an embedded submanifold of Q. Let (W,ψ) be a coordinate chart
of h−1(0) and let s = ψ(q), s ∈ Rn−k. Letting σ := ψ−1, we have that, on W , q can
be parametrized as q = σ(s), so that q = dσss, and q = dσss + [(d/dt)dσs]s. After
substituting these expressions in (2.8) and (2.9), we obtain system (2.7). If we show
that the matrix D is nonsingular at all s ∈ ψ(W ), then (2.7) is a well-defined control
system on ψ(W )× Rn−k ⊂ R
2(n−k) characterizing the motion of (s, s), and therefore the
motion of (q, q) on Γ∩ (q, q) : q ∈ W. To prove that D is invertible, we will show that
Im(Ddσs)∩ker(col(B⊥, N †B†)) = 0. To this end, suppose v ∈ Rn−k is such that B⊥v = 0
and N †B†v = 0. The first identity implies that v ∈ Im(B), or v = Bv′. Substituting this
in the second identity, we obtain N †v′ = 0. Now suppose also that v = Bv′ ∈ Im(Ddσs),
so that D−1Bv′ ∈ Im(dσs) = Tσ(s)h−1(0) = ker(dhσ(s)). Thus, dhσ(s)D
−1Bv′ = 0, or
A(σ(s))v′ = 0. By definition of N , kerA = Im(N), so Av′ = 0 implies v′ = Nv′′. We
have obtained that N †v′ = 0 and v′ = Nv′′, so N †Nv′′ = 0, implying that v′′, and hence
v′ and v, are zero.
Remark 2.3.5. When the VHC takes on a parametric form, q = φ(q), after feedback
Chapter 2. Virtual Holonomic Constraints 22
transformation (2.6), the motion on Γ is described by system (2.7) with s = q and
ψ−1(s) = φ(q). In this case, (2.7) describes the reduced motion globally on Γ, rather
than just on a coordinate chart.
Next, we will consider two examples to illustrate the results above. First, we will use
a planar point-mass example where the two forces acting on the mass can be controlled
independently with the goal to make the mass move in a circle. This is an example of
fully actuated Euler-Lagrange system and the computations of the reduced dynamics will
be illustrated. Second, a cart-pendulum system that is actuated by a force acting on the
cart is considered. This is an example of an underactuated system. Here we will consider
a VHC in parametric form and compute the reduced dynamics.
Example 2.3.6. Recall the point-mass system of Example 2.2.2 with configuration q =
(x, y). Here, we assume that the system is fully actuated, with B the identity matrix
2× 2, and τ ∈ R2 the applied force. The system can be written as
Dq +∇P (q) = τ,
where D = diag(M,M) and P (q) = Mgy. Consider the task of making the point mass
move on the unit circle. This corresponds to enforcing the relation h(q) = x2 + y2 − 1.
Since we have a fully actuated system this relation is a regular VHC. The set h−1(0) can
be covered by two coordinate charts. Consider the coordinate chart (W,ψ) of h−1(0),
where W = (x, y) : x2+ y2 = 1\(−1, 0), and ψ(x, y) is the angle of the vector [x y]⊤
in the interval (−π, π). With this choice, we have σ(s) := ψ−1(s) = [cos(s) sin(s)]⊤. The
matrix A in Proposition 2.3.1 reads as
A(q) = dhqD−1(q)B(q) = [2x 2y]
1M
0
0 1M
1 0
0 1
=
1
M[2x 2y],
which is of rank 1 for all (x, y) ∈ h−1(0). A right-inverse of A(q) is A†(q) = M2(x2+y2)
[x y]⊤.
Chapter 2. Virtual Holonomic Constraints 23
One smooth function N(q) that satisfies Im(N(q)) = ker(A(q)) is N(q) = [y − x]⊤.
Following Proposition 2.3.1, we define the feedback transformation
τ =M
2(x2 + y2)
x
y
u⋔ +
y
−x
uq.
that partitions the original control input into two components u⋔ to enforce the VHC,
and uq to affect the motion on Γ. As one would expect, the control input u⋔ enforcing the
VHC acts in the radial direction, which makes sense physically since we want the point
mass to remain on the circle. Moreover, the control input uq acts in a direction tangent
to the circle, which is natural since uq affects the motion of the system on the circle.
Next, we carry out the computations for the motion on Γ in local coordinates.
First, for the N(q) considered we have N †(q) = 1x2+y2
[−y x] and B is invertible,
which means that B⊥ is the empty matrix. Also, for the coordinate chart considered
σ(s) = [cos(s) sin(s)]⊤ and dσs = [− sin(s) cos(s)]⊤. Recalling that q = (x, y), we have
D(s) =
B⊥
N †B†
D
∣
∣
∣
∣
∣
q=σ(s)
dσs =M
C(s, s) =
B⊥
N †B†
(
Cdσs +D[(d/dt)dσs])
s
∣
∣
∣
∣
∣
q=σ(s)
= 0
g(s) =
B⊥
N †B†
∇P
∣
∣
∣
q=σ(s)=Mg cos(s).
So the reduced motion in local coordinates (s, s) with s ∈ (−π, π) is given by
Ms+Mg cos(s) = uq. (2.10)
This is a fully-actuated Euler-Lagrange control system, in fact it is an actuated pendu-
Chapter 2. Virtual Holonomic Constraints 24
lum, with energy E(s, s) = 1/2Ms2 +Mg sin s. The maxima/minima of the potential
P (s) :=Mg sin(s) correspond to unstable/stable equilibrium points. So (s, s) = (π/2, 0)
(corresponding to the north pole of the circle, (x, y) = (0, 1)) is unstable and (s, s) =
(−π/2, 0) (corresponding to the south pole of the circle, (x, y) = (0,−1)) is stable. The
control input uq can be used to achieve any desired control specification on the unit circle.
For instance, stabilizing the position of the point-mass on the circle would correspond to
stabilizing an equilibrium (s, s) = (s, 0), while controlling its speed would correspond to
stabilizing s to a desired value.
The next example involves the enforcement of a VHC in parametric form.
Example 2.3.7. Consider a cart-pendulum system depicted in Figure 2.5. The control
input is the force applied on the cart. The configuration vector is q = (θ, x) ∈ S1 × R.
In this example, n = 2, m = 1, and the system has degree of underactuation one. The
θmp
M
l
x
u
g
Figure 2.5: The cart-pendulum system
model can be written in the standard form (2.2) with
D(q) =
mpl2 mpl cos θ
mpl cos θ M +mp
, C(q, q) =
0 0
−mpl sin θ θ 0
,
P (q) = mpgl cos θ, B(q) = [0 1]⊤.
(2.11)
Suppose we wish to constrain the pendulum to lie at a constant angle θd, and consider
the relation θ = θd, or h(q) = θ − θd. Letting φ(x) = θd, and φ(x) = [φ(x) x]⊤, the
Chapter 2. Virtual Holonomic Constraints 25
relation can be written in parametric form as q = φ(x). To check whether the above is a
regular VHC, we use part (c) of Proposition 2.2.6, i.e., we check whether
(∀x) rank[
B⊥(φ(x))D(φ(x))dφx
]
= 1,
which requires that B⊥(φ(x))D(φ(x))dφx 6= 0. Using B⊥ = [0 1], we get the condition
cos θd 6= 0. Thus, as one would expect, it is possible to keep the pendulum at a constant
angle as long as this angle is not equal to ±π/2. The next natural question to ask is
what are the dynamics of the cart as the pendulum is kept at the desired constant angle.
Since A(q) = dhqD−1(q)B(q) is a nonzero scalar, its null space has dimension zero, and
hence the matrix N(q) is empty. Consequently, Proposition 2.3.1 gives
D(x) = mpl cos θd, C(x, x) = 0, g(x) = −mpgl sin θd,
so that the motion on Γ is described globally by
x = g tan θd.
As one would expect, the reduced dynamics tell us that in order to keep the pendulum
at a constant angle which is not 0 or π, the cart needs to accelerate in the direction of
inclination. Again we see that the reduced dynamics are Euler-Lagrange, but this time
with no control input.
The two examples above illustrate how the reduced dynamics can be computed using
Proposition 2.3.1. In both cases we observed that the reduced dynamics were Euler-
Lagrange. The question is whether this observation is true in general. That is, given the
Euler-Lagrange system (2.2), under what conditions will the reduced dynamics be Euler-
Lagrange as well? This in general is a difficult question, but for the case m = k = n− 1
it has been addressed in [18]. In the next section, we provide an adapted result from this
Chapter 2. Virtual Holonomic Constraints 26
work.
2.4 Systems with degree of underactuation one
In this section we specialize the result of Proposition 2.3.1 to the case of systems with de-
gree of underactuation one, and we present sufficient conditions in order that the reduced
dynamics are Euler-Lagrange. Systems with degree of underactuation one are prevalent
in the literature because they represent a vast array of applications, such as planar biped
robots, brachiation robots, acrobot and pendubot, as discussed in [11]. For a system
with degree of underactuation one, the highest order of VHC that can be enforced is
k = n − 1. In this case, the set h−1(0) is a one-dimensional embedded submanifold
of Q, i.e., a collection of regular curves without self-intersections. Each curve is either
closed, i.e., diffeomorphic to S1, or diffeomorphic to R. By Proposition 2.3.1 the reduced
dynamics have no control input and are represented by a single second-order differential
equation. In Section 2.4.1 we give conditions under which the reduced dynamics are
Euler-Lagrange. In Section 2.4.2 we leverage these conditions to characterize the quali-
tative properties of the reduced dynamics. In Section 2.4.3 we investigate the effects of
dissipation on the reduced dynamics. Finally, in Section 2.4.4 we present a methodology
to stabilize closed orbits of the reduced dynamics.
2.4.1 Conditions for Euler-Lagrange reduced dynamics
For systems with degree of underactuation one, it is always possible to find a global
description of the reduced dynamics associated with a VHC of order n−1. Moreover, the
problem of determining when the reduced dynamics are Euler-Lagrange has essentially
been solved.
Proposition 2.4.1. Let h(q) = 0 be a regular VHC of order n − 1 for system (2.2).
Assume that m = n − 1 and that h−1(0) is a connected set. Let σ : Θ → Q, with Θ
Chapter 2. Virtual Holonomic Constraints 27
either R or [R]T , be a regular parametrization of h−1(0). Then, the reduced dynamics on
the set Γ in (2.3) are globally described by
s = Ψ1(s) + Ψ2(s)s2. (2.12)
where
Ψ1(s) = −B⊥∇P
B⊥Dσ′
∣
∣
∣
∣
∣
q=σ(s)
Ψ2(s) = −B⊥Dσ′′ +
∑ni=1B
⊥i σ
′⊤Qiσ′
B⊥Dσ′
∣
∣
∣
∣
∣
q=σ(s)
,
(2.13)
and where B⊥i is the i-th component of B⊥ and (Qi)jk = (1/2)
(
∂qkDij+∂qjDik−∂qiDkj
)
.
If h−1(0) ≃ R, then the reduced dynamics are always Euler-Lagrange with Lagrangian
L(s, s) = (1/2)M(s)s2 − V (s), where
M(s) = exp
− 2
∫ s
0
Ψ2(τ)dτ
V (s) = −∫ s
0
Ψ1(µ)M(µ)dµ.
(2.14)
If h−1(0) ≃ S1, then the reduced dynamics are Euler-Lagrange if there exists a regular
parametrization of h−1(0), σ : [R]T → Q such that M(s) and V (s) in (2.14) are T -
periodic.
Proof. Let σ : Θ → Q be a regular parametrization of h−1(0) so that σ : Θ → h−1(0)
is a diffeomorphism. Using this parametrization, the fact that the motion on Γ has the
form (2.12) follows from (2.7), the fact that m−k = 0, and the definition of C. If Θ = R,
one can readily check that the function L(s, s) : R×R → R, L(s, s) = (1/2)M(s)s2−V (s)
is a Lagrangian for system (2.12), so that (2.12) is Euler-Lagrange. On the other hand,
if Θ = [R]T for some T > 0, then L(s, s) is a well-defined function [R]T × R → R if and
only if the functions M(s), V (s) in (2.14) are T -periodic.
Remark 2.4.2. The above proposition is a straightforward adaptation of the analysis
Chapter 2. Virtual Holonomic Constraints 28
in [18] concerning VHC’s in parametric form. Following a result in [18, Proposition 4.4],
when h−1(0) ≃ S1 a sufficient condition for M(s) and V (s) in (2.14) to be T -periodic is
that σ(s) is an odd function, while D(q), P (q), and B(q) in (2.2) are even functions.
Remark 2.4.3. In the special case of VHCs of order n−1 in parametric form q = φ(qn),
in Proposition 2.4.1 one can let s = qn and σ = φ, so that the reduced dynamics are
given by
qn = Ψ1(qn) + Ψ2(qn)q2n.
−π/2−π/2
π/2
π/2q1
q2s
stablestable
unstable
unstable
Figure 2.6: The set h−1(0) and its parametrization. The equilibrium configurations onh−1(0) and their stability types are marked with dots.
Example 2.4.4. We return to the underactuated manipulator of Example 2.2.10 with
regular VHC h(q) = cos q1 + cos q2 − r, with r = 1.5. The set h−1(0) is a closed curve,
displayed in Figure 2.6. We see from the figure that h−1(0) can be parametrized by the
argument of the complex number q1 + iq2. In other words, we can let σ : [R]2π → Q be
defined as σ(s) = ρ(s)[
cos s sin s]⊤, for a suitable smooth function ρ : [R]2π → (0,∞).
With this parametrization, and letting B⊥ = [− sin q2 sin q1], we obtain functions M(s)
and V (s), displayed in Figure 2.7, that are 2π-periodic. The figure also displays the phase
portrait of the reduced dynamics. As expected, the reduced motion is Euler-Lagrange.
We see that there are two stable equilibria at s = 0 and s = π, and two unstable equilibria
at s = ±π/2. The stable equilibria correspond to the configurations when the end effector
Chapter 2. Virtual Holonomic Constraints 29
0
0.5
1
1.5
2
2.5
−1
0
1
2
3
4
5
s
s
M(s)
V (s)
0
0
π/2
π/2
π
π
−π/2
−π/2
−π
−π
−6
−4
−2
0
2
4
6
s
s
0 π/2 π−π/2
Figure 2.7: The functions M(s) and V (s) (left) and the phase portrait of the reduceddynamics (right).
of the manipulator is on the horizontal line of Figure 2.2 and the second link is vertical,
i.e., q2 = 0. The unstable equilibria correspond to the situation when the first link is
vertical, i.e., q1 = 0. All non-equilibrium solutions of the reduced dynamics are closed
curves, and we can distinguish two distinct types. There are closed curves in which s
oscillates around an equilibrium without performing full revolutions. These correspond
to low levels of the energy function E = 1/2M(s)s2 + V (s), and will be referred to as
oscillations of s. There are also closed curves in which s perform full revolutions. These
correspond to high energy levels, and will be called rotations of s.
2.4.2 Qualitative properties of the reduced motion
In this section we consider again systems with degree of underactuation one (m = n−1),
and consider regular VHCs h(q) = 0 of order n − 1 such that the set h−1(0) is a curve
with regular parametrization σ : Θ → Q, with Θ = R or Θ = [R]T . Our objective in
this section is to generalize the observations made in Example 2.4.4 by characterizing the
qualitative properties of the reduced motion (2.12). Namely, the equilibria, their stability
type, and the closed orbits. We begin by defining two types of closed orbits already seen
in Example 2.4.4.
Chapter 2. Virtual Holonomic Constraints 30
Definition 2.4.5. Consider the reduced dynamics (2.12), and suppose that h−1(0) is a
curve with regular parametrization σ : Θ → Q. A closed orbit γ of the reduced dynamics
is said to be an oscillation of s if it is homeomorphic to a circle (s, s) ∈ Θ × R :
s2 + s2 = constant via a homeomorphism of the form (s, s) 7→ (s, T (s)s); if Θ = [R]T ,
i.e., if h−1(0) is a closed curve, then γ is a rotation of s if it is homeomorphic to a circle
(s, s) ∈ [R]T × R : s = constant via a homeomorphism of the form (s, s) 7→ (s, T (s)s).
Oscillations of s correspond to rocking motions. Rotations of s correspond to full
revolutions of s, and they are only defined when s is an angular variable in [R]T .
Proposition 2.4.6. Under the assumptions of Proposition 2.3.1, the equilibrium con-
figurations of (2.12) are the extrema of V (s), i.e., points (s⋆, 0) such that Ψ1(s⋆) = 0,
or equivalently ∇P (σ(s⋆)) ∈ ImB(σ(s⋆)). Minima of V correspond to stable equilibria,
while maxima of V correspond to unstable equilibria. Equivalently, the stability type is
characterized by the sign of [B⊥Dσ′(d/ds)(B⊥∇P )]σ(s⋆) (positive =⇒ stable, negative
=⇒ unstable). Letting V = mins∈[R]T V (s) and V = maxs∈[R]T V (s), almost all (in the
Lebesgue sense) phase curves in the set (s, s) ∈ [R]T ×R : V < 1/2M(s)s2+V (s) < V
are oscillations of s. Moreover, if h−1(0) is a closed curve then all phase curves of (2.12)
in the set (s, s) ∈ [R]T × R : 1/2M(s)s2 + V (s) > V are rotations of s.
The proof of this proposition is found in [18].
Example 2.4.7. We return to the cart-pendulum system of Example 2.3.7 with the
length of the pendulum being one. Consider the parametric VHC θ = φ(x). Applying
Proposition 2.2.6 we obtain that
∀x ∈ R, φ′(x) + cosφ(x) 6= 0. (2.15)
If the pendulum is to oscillate between ±θl, where |θl| < π/2, as the cart translates one
can consider φ(x) = −θl sin(ax), where the minus is needed to ensure that oscillations of
Chapter 2. Virtual Holonomic Constraints 31
−6 −4 −2 0 2 4 6−40
−30
−20
−10
0
10
20
30
40
x
x
Figure 2.8: Phase portrait of the reduced motion of the cart-pendulum for the VHC’swith φ(x) = −π
3sin(1.5
πx). The shaded region contains oscillations of x corresponding
to the cart oscillating back and forth, while the pendulum is oscillating in the upperhalf-plane due to the VHC.
−8 −6 −4 −2 0 2 4 6 80
100
200
300
400
500
600
700
800
x
V
Figure 2.9: The potential function associated with the reduced dynamics of the cart-pendulum system.
the cart about x = 0 can be achieved while the pendulum is ocillating about θ = 0 and
a is chosen such that equation (2.15) is satisfied. If a = cos θl/θl, then it can be shown
that
∀x ∈ R, cosφ(x) > φ′(x).
As a result the relation
θ = φ(x) := −θl sin(
cos θlθl
x
)
, (2.16)
where θl ∈ (0, π/2) is a design parameter, is a regular VHC in parametric form. By design
this VHC forces the pendulum to remain in the upper half-plane as the cart translates.
Chapter 2. Virtual Holonomic Constraints 32
The reduced dynamics read as
x =g sinφ(x)
φ′(x) + cosφ(x)− φ′′(x)
φ′(x) + cosφ(x)x2.
Since the function φ(x) is odd and D(q), P (q), B are even functions, in light of Re-
mark 2.4.2 the reduced dynamics are Euler-Lagrange. Their phase portrait when θl = π/3
is depicted in Figure 2.8. Due to the periodicity of φ(x), the phase portrait is periodic in
x; the figure displays one period. As it can be seen, the equilibrium point (x, x) = (0, 0)
is stable for the reduced dynamics. Since φ(0) = 0, at this equilibrium the pendulum is in
the inverted configuration. So even though the inverted configuration is an unstable equi-
librium for the open-loop system, it becomes a stable equilibrium when the VHC (2.16)
is enforced. Applying Proposition 2.4.6 to check the stability of the equilibrium point
(x, x) = (0, 0) gives
[1 0]
1 cosφ(x)
cosφ(x) 2
φ′(x)
1
d
dx
[1 0]
−g sin φ(x)
0
∣
∣
∣
∣
∣
x=0
=
= −g(1− cos θl) cos θl > 0
implying that (x, x) = (0, 0) is a stable equilibrium, as expected. The potential function
V (x) is depicted in Figure 2.9. We see that V has a global maximum V and a global
minimum 0. The region V (x) ∈ [0, V ], depicted in Figure 2.8, is filled with oscillations
of x, as predicted by Proposition 2.4.6.
2.4.3 Effects of dissipation
The results in the previous section are valid in the absence of dissipation. In this section
we analyze the reduced dynamics when system (2.2) is affected by dissipation as follows
D(q)q + C(q, q)q +K(q)q +∇P (q) = B(q)τ. (2.17)
Chapter 2. Virtual Holonomic Constraints 33
In the above equation, K(q) = K(q)⊤ is the dissipation matrix, assumed to be positive
semidefinite for all q ∈ Q. The dissipation has no effect on the regularity of the VHC.
However, it has an impact on the nature of the reduced dynamics. As we will see, the
dissipation has implications that are rather surprising.
Proposition 2.4.8. Consider system (2.17) and a regular VHC h(q) = 0 with a param-
eterization σ : Θ → Q satisfying the assumptions of Proposition 2.4.1 and such that the
reduced dynamics when K(q) = 0 are Euler-Lagrange. Then, the reduced dynamics in
the presence of dissipation have the form
s = Ψ1(s) + Ψ2(s)s2 +Ψ3(s)s, (2.18)
where Ψ1(s), Ψ2(s) are given in (2.13) and
Ψ3(s) = −B⊥Kσ′
B⊥Dσ′
∣
∣
∣
q=σ(s).
Let (s, s) = (s⋆, 0) be an isolated stable equilibrium of the system without dissipation.
If Ψ3(s⋆) < 0 then (s, s) = (s⋆, 0) is an asymptotically stable equilibrium of (2.17). If
Ψ3(s⋆) > 0 then (s, s) = (s⋆, 0) is unstable.
Proof. The form of the reduced dynamics (2.18) is the result of a straightforward com-
putation. Let (s, s) = (s⋆, 0) be an isolated stable equilibrium of the reduced system
without dissipation. The linearization of (2.18) at this equilibrium has system matrix
0 1
−Ψ′1(s
⋆) Ψ3(s⋆)
.
Since (s⋆, 0) is a stable equilibrium without dissipation, Ψ′1(s
⋆) > 0. It follows that if
Ψ3(s⋆) < 0 then the equilibrium becomes asymptotically stable, while if Ψ3(s
⋆) > 0 then
the equilibrium becomes unstable.
Chapter 2. Virtual Holonomic Constraints 34
Although the result above is elementary, it is somewhat surprising and contrary to
intuition: the addition of dissipation in an Euler-Lagrange system may turn a stable
equilibrium into one that is unstable when a VHC is enforced. We now illustrate this
result using the cart-pendulum example.
Example 2.4.9. Consider the cart-pendulum system of Example 2.3.7, with configura-
tion vector q = (θ, x) and the regular VHC
θ = φ(x) = −θl sin(
cos θlθl
x
)
.
It was shown in Example 2.4.7 that the equilibrium point (x, x) = (0, 0) is stable for the
reduced dynamics. In the presence of dissipation, the reduced dynamics take on the form
x = Ψ1(x) + Ψ2(x)x2 +Ψ3(x)x,
where
Ψ1(x) =g sinφ(x)
φ′(x) + cosφ(x), Ψ2(x) = − φ′′(x)
φ′(x) + cos φ(x), Ψ3(x) = − k11φ
′(x) + k12φ′(x) + cosφ(x)
,
with k11, k12 being the first row entries of K. Note first that if the dissipation only
affects the cart, i.e., if the first row of K is zero, then Ψ3(0) = 0, and the stability of
the equilibrium (x, x) = (0, 0) is not affected by the dissipation. Now suppose that the
pendulum is affected by friction, so that k11 > 0. One can check that φ′(0)+cos φ(0) > 0,
and φ′(0) = − cos θl < 0. Therefore, if k11 = 1, k12 = 0, then Ψ3(0) > 0, and the
equilibrium point (x, x) = (0, 0) is unstable for the reduced dynamics. On the other
hand, if k11 = 1, k12 ∈ (cos θl, 1), and k22 > cos θl, then Ψ3(0) < 0 and the equilibrium
(x, x) = (0, 0) becomes asymptotically stable. Figure 2.10 shows the phase portrait of the
reduced dynamics when θl = π/3 for the two choices of dissipation matrix K discussed
above. In summary, this example shows that when enforcing a VHC, friction on the
Chapter 2. Virtual Holonomic Constraints 35
pendulum may have the unexpected effect of destabilizing a stable equilibrium.
−10 −8 −6 −4 −2 0 2 4 6 8 10−10
−8
−6
−4
−2
0
2
4
6
8
10
x
x
−10 −8 −6 −4 −2 0 2 4 6 8 10−10
−8
−6
−4
−2
0
2
4
6
8
10
x
x
Figure 2.10: Phase portraits of the reduced dynamics of the cart-pendulum system withdissipation when the VHC θ = −(π/3) sin(3x/(2π)) is enforced. On the top figure,the components of the dissipation matrix are k11 = 1, k12 = k21 = k22 = 0, and theequilibrium point (x, x) = (0, 0) is unstable. In the bottom figure, the components of Kare k11 = k22 = 1, k12 = k21 = 0.7, and the equilibrium point is asymptotically stable.
2.4.4 Stabilization of closed orbits on the constrained manifold
We now turn our attention to the problem of stabilizing closed orbits (rotations or os-
cillations) on the constraint manifold. The technique presented here will be used in
Chapter 3. For simplicity of exposition, we work with VHCs of order n−1 in parametric
form q = φ(qn), where qn ∈ [R]Tn is an angular variable. The technique presented here is
applicable, mutatis mutandis, to the more general setting of VHCs of order n− 1 of the
Chapter 2. Virtual Holonomic Constraints 36
form h(q) = 0 describing closed curves in Q.
Consider the reduced dynamics
qn = Ψ1(qn) + Ψ2(qn)q2n, (2.19)
and suppose that the functions M(qn), V (qn) in (2.14) are Tn-periodic, so that according
to Proposition 2.4.1, system (2.19) is Euler-Lagrange with energy function
E(qn, qn) =1
2M(qn)q
2n + V (qn).
We wish to design a feedback law that in addition to enforcing the VHC q = φ(qn),
stabilizes a closed orbit γ on the constraint manifold. This corresponds to stabilizing a
connected component of a level set of the energy, E(qn, qn) = E0. We will thus let
γ = (q, q) ∈ Γ : E(qn, qn) = E0.
Since the reduced dynamics (2.19) have no control input, it is impossible to solve the
problem unless one breaks the invariance of the constraint manifold Γ in some way. We
now present an idea developed in [6] to solve this problem. We will first provide some
basic intuition, and later formalize the presentation.
Suppose we modify the VHC q = φ(qn) by making it depend on a time-varying
parameter s, q = φs(qn), where φs(qn) := col(φs(qn), qn) has the three properties, defined
next.
Definition 2.4.10. Let q = φ(qn) be a regular VHC in parametric form for (2.2). A
relation q = φs(qn) = col(φs(qn), qn), with s ∈ R, such that
(i) q = φs(qn) is regular for all fixed s, i.e., B⊥D∂qn φ
s∣
∣
∣
q=φs(qn)6= 0 for all (qn, s),
(ii) φ0(qn) = φ(qn), so when s = 0 we recover the original VHC,
Chapter 2. Virtual Holonomic Constraints 37
(iii) (qn, s) 7→ φs(qn) is smooth,
is called a dynamic VHC.
It turns out [6] that given φ(qn), it is always possible to find a dynamic VHC φs(qn).
Varying the parameter s corresponds to changing the geometry of the VHC. The idea is
to enforce the dynamic VHC q = φs(qn) and then control s to stabilize the closed orbit
γ. It turns out that a dynamic VHC is indeed a VHC. To see that, we take two time
derivatives of the output e = q − φs(qn),
e = q − ∂qn φs(qn)qn − ∂sφ
s(qn)s
e = q − ∂qn φs(qn)qn − ∂2qn φ
s(qn)q2n − 2∂qn∂sφ
s(qn)qns− ∂2s φs(qn)s
2 − ∂sφs(qn)s.
The control input τ appears in the term q − ∂qn φs(qn)qn. Since, by assumption, q =
φs(qn) is regular for all fixed s, it is easy to check that τ appears nonsingularly, being
premultiplied by a matrix with rank n − 1. Hence property (i) in Definition 2.4.10
guarantees that q = φs(qn) is a regular VHC which can be enforced using an input-
output linearizing controller.
We also see from the above that we cannot directly control s, since its time derivative
s affects the computation of e. Rather, we should view s as a control input. To this end,
we introduce the compensator s = v, where v is a control input to be designed. With
the introduction of this compensator, we have an augmented Euler-Lagrange system with
configuration vector (q, s) and control input (τ, v). Thus, the augmented system has n+1
degrees-of-freedom and n controls.
The idea now is to design τ to enforce the VHC q = φs(qn). Since this VHC has order
n − 1, and since the augmented system has n controls, the reduced dynamics will have
four states, (qn, qn, s, s) and one control input, the variable v. The orbit γ we wish to
stabilize lies on the plane (s, s) = (0, 0), so we will design v to make (s(t), s(t)) → 0 and
(qn, qn) → γ.
Chapter 2. Virtual Holonomic Constraints 38
We now formalize the ideas above. Consider the augmented control system
D(q)q + C(q, q)q +∇P (q) = B(q)τ
s = v,
(2.20)
with configuration vector q := (q, s). System (2.20) is Euler-Lagrange with n+ 1 config-
uration variables and n controls. Its Lagrangian is L(q, ˙q) = (1/2) ˙q⊤D(q) ˙q − P (q), with
D(q) = diag(D(q), 1) and P (q) = P (q).
Lemma 2.4.11. A dynamic VHC q = φs(qn) is a regular VHC for the augmented
system (2.20), and it can be enforced by the feedback
τ(q, ˙q, v) =
[1 − ∂qnφs]D−1B
−1 [[1 − ∂qnφ
s]D−1(Cq +∇P )
+ (∂2qnφs)q2n + (2∂qn∂sφ
s)qns+ (∂2sφs)s2 + (∂sφ
s)v
− k1(θ − φs)− k2(θ − (∂qnφs)qn − (∂sφ
s)s)],
(2.21)
where k1, k2 > 0 are design parameters.
The proof of this lemma is essentially contained in the considerations we made above.
The constraint manifold of the augmented system is
Γ = (q, ˙q) : q = φs(qn), q = ∂qnφs(qn)qn + ∂sφ
s(qn)s,
and it can be shown [6] that the reduced dynamics have the form
qn = Ψs1(qn) + Ψs
2(qn)q2n +Ψs
3(qn)qns+Ψs4(qn)s
2 +Ψ5(qn)v
s = v
(2.22)
where Ψsi (qn), i = 1, . . . 5, are suitable smooth functions and Ψs
1, Ψs2 have the property
that Ψ01 = Ψ1, Ψ
02 = Ψ2. Note that when v = 0, the plane s = s = 0 is invariant
for (2.22), and the dynamics on this plane coincide with the original reduced dynamics
Chapter 2. Virtual Holonomic Constraints 39
in (2.19). In particular, then, system (2.22) has a closed orbit
γ = (q, ˙q) ∈ Γ : (q, q) ∈ γ, s = s = 0.
This is the closed orbit we wish to stabilize. It is shown in [6] that for appropriate choices
of gains K1, K2, K3, the feedback
v = K1(E(qn, qn)− E0)qn +K2s +K3s, (2.23)
in conjunction with the feedback τ(q, ˙q, v) in (2.21), asymptotically stabilizes γ. In con-
clusion, for suitable choices of K1, K2, K3, the feedbacks (2.21) and (2.23) simultaneously
achieve the following control specifications for the augmented system (2.20):
(i) They enforce the dynamic VHC q = φs(qn).
(ii) They asymptotically stabilize the closed orbit γ.
Example 2.4.12. Consider once again the cart-pendulum system of Example 2.4.7 with
the VHC
θ = φ(x) := −θl sin(
cos θlθl
x
)
.
Suppose we wish to stabilize the closed orbit γ = (q, q) ∈ Γ : E(qn, qn) = E0 highlighted
in Figure 2.11. This corresponds to making the cart exhibit an oscillatory behavior near
its rest position. Consider the relation
θ = φs(x) := φ(x− s).
We have
B⊥D∂xφs∣
∣
∣
q=φs(x)= cos
(
θl sin
(
cos θlθl
(s− x)
))
− cos
(
cos θlθl
(s− x)
)
cos θl,
Chapter 2. Virtual Holonomic Constraints 40
−6 −4 −2 0 2 4 6−40
−30
−20
−10
0
10
20
30
40
x
x
E0
Figure 2.11: Reduced dynamics of the cart-pendulum system. The red curve is the closedorbit we wish to stabilize.
and one can check that this function is bounded away from zero. Moreover, obviously
φ0 = φ and (x, s) 7→ φs(x) is smooth. So the relation θ = φs(x) is a dynamic VHC
for the cart-pendulum. Using the compensator s = v with v as in (2.23) and K1 =
0.015, K2 = −4, K3 = −4, and letting τ be as in (2.21), we enforce the dynamic VHC
while simultaneously stabilizing the desired closed orbit. Simulation results with initial
condition θ(0) = 0.3, θ(0) = 0.1, x(0) = x(0) = 0 are presented in Figures 2.12-2.14. One
can see that the proposed controller stabilizes the desired oscillation for the cart while
simultaneously enforcing the dynamic VHC θ = φs(x). Since |φs(x)| < π/3, enforcing
the VHC guarantees that, in steady-state |θ(t)| < π/3. Furthermore, the stability of the
constraint manifold Γ implies that if the system is initialized near the constraint manifold,
then the solution remains close to it, implying in particular that the pendulum angle
does not deviate significantly from the interval (−π/3, π/3). In essence, the invariance of
the constraint manifold Γ for the closed-loop system gives us control over the transient
behavior of the cart-pendulum.
Chapter 2. Virtual Holonomic Constraints 41
−6 −4 −2 0 2 4 6−40
−30
−20
−10
0
10
20
30
40
x
x
E0
Figure 2.12: Stabilization of a desired closed orbit for the cart-pendulum: (x(t), x(t))converges to the desired orbit.
0 2 4 6 8 10 12 14 16 18 20
−1
−0.8
−0.6
−0.4
−0.2
0
0.2
0.4
0.6
0.8
1
time [s]
θ(t)
Figure 2.13: Stabilization of a desired closed orbit for the cart-pendulum: the angle θ(t)of the pendulum remains in the interval (−π/2, π/2) so the pendulum does not fall over.
Chapter 2. Virtual Holonomic Constraints 42
0 0.5 1 1.5 2 2.5 3−1
−0.8
−0.6
−0.4
−0.2
0
0.2
0.4
0.6
0.8
1
time [s]
θ(t)
φs(t)(x(t))
Figure 2.14: Stabilization of a desired closed orbit for the cart-pendulum: θ(t)−φs(t)(x(t))tends to zero, showing that the dynamic VHC is enforced. This is the key feature thatprevents the pendulum from falling over.
Chapter 3
Synchronizing N Cart-Pendulums
In this chapter we employ the VHC theory of Chapter 2 to solve a challenging synchro-
nization problem for N underactuated cart-pendulums. We design smooth feedbacks
yielding full synchronization of the N cart-pendulums while simultaneously controlling
their oscillations. As a byproduct, the proposed controller can simultaneously stabilize
the inverted configurations of the N pendulums.
This chapter is organized as follows. In Section 3.1 we present the system model.
In Section 3.2 we formulate the synchronization problem. In Section 3.3 we develop a
solution to the problem by first considering the case N = 2, and then generalizing to
arbitrary N . In Section 3.4 we present simulation results. Finally, in Section 3.5 we
provide some concluding remarks.
3.1 System model
Consider the N cart-pendulums depicted in Figure 3.1. The i-th cart-pendulum has
configuration variable qi = (θi, xi) ∈ Qi, where Qi = S1 × R is the i-th configuration
space. As before, the i-th pendulum model can be written in the standard form
43
Chapter 3. Synchronizing N Cart-Pendulums 44
θimi
Mi
ll l
xi
ui
θ1m1
M1
x1
u1
θNmN
MN
xN
uN
g
Figure 3.1: A chain of N cart-pendulums
Di(qi)qi + Ci(qi, qi)qi +∇Pi(qi) = Bui, (3.1)
where
Di(qi) =
mil2 mil cos θi
mil cos θi Mi +mi
, ∇Pi(qi) =
−migl sin θi
0
,
Ci(qi, qi) =
0 0
−mil sin θiθi 0
, B =
0
1
. (3.2)
We will let q = (q1, . . . , qN) denote the collective configuration variable, and Q = Q1 ×
· · · × QN denote the collective configuration space.
System (3.1) is an Euler-Lagrange control system with 2N degrees-of-freedom (DOFs)
and N actuators. Therefore, the degree of underactuation is N . The problem that is
investigated here is that of full synchronization with simultaneous control of oscillations.
3.2 Synchronization of oscillations problem (SOP)
Given N cart-pendulums as depicted in Figure 3.1, the goal is to induce a desired os-
cillation on the pendulums as the carts move such that |θi(t)| < π/2. In addition, the
carts-pendulums should fully synchronize, with a desired distance di being maintained
between the carts. More precisely,
Chapter 3. Synchronizing N Cart-Pendulums 45
Synchronization of Oscillations Problem (SOP). Design feedback laws u⋆i , i =
1, . . . , N , that meet the following two specifications:
(i) Oscillation control for pendulum 1. Let C ⊂ Q1 × R2 be a closed curve to be
defined representing a desired oscillation around the unstable equilibrium. For
all (q1(0), q1(0)) in a neighborhood of C, the solution (q1(t), q1(t)) asymptotically
approaches C.
(ii) Full synchronization. For all i ∈ 2, . . . , N, and for all initial conditions in a
suitable set, θi(t) − θi−1(t) → 0 and xi(t)− xi−1(t) → di−1, where di−1 is a design
parameter.
Note that the special case is when C is the unstable equilibrium of the first pendulum. In
this case, SOP becomes the simultaneous swing-up and synchronization of the N cart-
pendulums.
SOP has been posed and solved by Shiriaev-Freidovich-Gusev in [27] using virtual
holonomic constraints to plan the desired oscillation, and applying the transverse lin-
earization technique to stabilize the oscillation in question. In this thesis we present
an alternative technique, also based on the notion of virtual holonomic constraint, but
relying on different principles as presented in Chapter 2. A detailed comparison is found
in Section 3.5.
3.3 Solution of SOP
To solve the SOP posed above we adapt a master-slave configuration. Specifically, we
design a dynamic feedback u⋆1(q1, q1, s1, s1), where (s1, s1) is the state of a dynamic com-
pensator, to asymptotically stabilize the desired oscillation C for pendulum 1. Then, for
i = 2, . . . , N , we design a dynamic feedback u⋆i (qi, qi, qi−1, qi−1, si, si) to fully synchronize
Chapter 3. Synchronizing N Cart-Pendulums 46
pendulum i to pendulum i−1. The techniques used to synthesize the dynamic feedbacks
u⋆i rely on the VHC theory presented earlier.
First we consider the case of two pendulums, N = 2. Viewing the first pendulum as
the master, we select a desired oscillation C, and we design a dynamic feedback u⋆1 that
asymptotically stabilizes pendulum 1 to C. We do that by looking for regular VHCs of
the form θ1 = φ(x1), where |φ| < π/2 so that, if the VHC is enforced, the pendulum rod
is forced to lie in the upper half-plane. We also impose a second constraint, θ1 = θ2, to
make the angles of pendulums 1 and 2 synchronize.
Second we show that this solution strategy is applicable to the general case N > 2,
with identical controllers, so that no additional design is required.
3.3.1 Design for the case N = 2
Consider a candidate VHC of order 2,
θ1 = φ(x1), θ2 = θ1. (3.3)
Using Proposition 2.2.6, one can check that (3.3) is a regular VHC if and only if
(∀x1) cosφ(x1) + lφ′(x1) 6= 0,
(∀x1) cosφ(x1) 6= 0.
(3.4)
There are various choices of φ meeting these two conditions and such that |φ| < π/2. For
instance, the function φ used in Chapter 2,
φ(x1) = −θl sin(
cos θ1lθl
x1
)
(3.5)
Chapter 3. Synchronizing N Cart-Pendulums 47
with θl ∈ (0, π/2), satisfies both properties in (3.4), making the VHC in (3.3) regular.
The reduced dynamics are obtained from (2.7), and have in this case the form
x1 = Ψ1(x1) + Ψ2(x1)x21
x2 = Ψ1(x1) + Ψ2(x1)x21,
(3.6)
where
Ψ1(x1) =m1gl sinφ(x1)
m1l2φ′(x1) +m1l cosφ(x1), Ψ2(x1) = − m1l
2φ′′(x1)
m1l2φ′(x1) +m1l cosφ(x1).
The structure of (3.6) prompts two observations. First, the x1 equation has the structure
of (2.12). This is due to the fact that the constraint θ1 = φ(x1) only involves the state
of pendulum 1, which has degree of underactuation 1. Since x1 is a real variable, the
x1 subsystem is guaranteed to be Euler-Lagrange, and its energy function is E(x1, x1) =
(1/2)M(x1)x21+V (x1), with M and V given in (2.14). The level sets of E(x1, x1) for the
case θl = π/3 and m1 = l = 1, were presented in Figure 2.8. As we will see in a moment,
the level sets of E near (x1, x1) = (0, 0) correspond to the type of oscillations we wish to
stabilize in part (i) of SOP. The second observation is that since x1− x2 = 0, solutions on
the constraint manifold are such that x1(t)− x2(t) → ±∞ whenever x1(0)− x2(0) 6= 0.
This is obviously undesirable because we want x2(t) − x1(t) → d1. Motivated by these
observations, we will parametrize the VHC (3.3) with time-varying parameters s1 and
s2, whose dynamics are s1 = v1 and s2 = v2. Using these new control inputs we would
like to stabilize a level set of E(x1, x1), and stabilize the equilibrium x2 − x1 = d1.
Referring to Figure 2.8, in a neighborhood of (x1, x1) = (0, 0) the phase portrait consists
of closed curves. In particular, the level set E(x1, x1) = 0 is the stable equilibrium
(x1, x1) = (0, 0) of the reduced dynamics. Since φ(0) = 0, oscillations of (x1, x1) near
(0, 0) correspond to oscillations of (θ1, θ1) near (0, 0). Physically this means that when
the VHC θ1 = φ(x1) is enforced on pendulum 1, with appropriate initialization the
Chapter 3. Synchronizing N Cart-Pendulums 48
cart will oscillate around x1 = 0, while the pendulum will oscillate around its unstable
inverted configuration. This is precisely the type of oscillation we wish to stabilize in
part (i) of SOP. Accordingly, let E(x1, x1) = E0 be a desired level set of the energy for
pendulum 1. Then, the closed orbit we wish to stabilize is
C = (θ1, x1, θ1, x1) ∈ Q1 : E(x1, x1) = E0,
θ1 = φ(x1), θ1 = φ′(x1)x1.(3.7)
Stabilizing C with E0 = 0 will correspond to swinging up the pendulum. Recall that
stabilization of C was performed in Example 2.4.12 by enforcing the dynamic VHC θ1 =
φs1(x1) = φ(x1 − s1) on pendulum 1, with φ given in (3.5), through the input-output
linearizing feedback
u⋆1 =
[1 − ∂x1φs1]D−1
1 B1
−1 [[1 − ∂x1φ
s1]D−11 (C1q1 +∇P1)
+ (∂2x1φs1)x21 + (2∂x1∂s1φ
s1)x1s1 + (∂2s1φs1)s21 + (∂s1φ
s1)v1
− k1(θ1 − φs1)− k2(θ1 − (∂x1φs1)x1 − (∂s1φ
s1)s1)],
(3.8)
where k1, k2 > 0 are design parameters. As described in Section 2.4.4, the evolution of
s1 is governed by
s1 = K1(E − E0)x1 +K2s1 +K3s1. (3.9)
With an appropriate design of K1, K2, K3, the dynamic feedback u⋆1 in (3.8)-(3.9) stabi-
lizes the closed curve C × s1 = s1 = 0.
Now we turn to the stabilization of the equilibrium x2 − x1 = d1. For this, we will
modify the second constraint in (3.3) as θ2 = θ1 − s2, where s2 = v2, and v2 will be
designed so that x2 − x1 → d1 and s2 → 0. This modification introduces a small offset
on the oscillations of the slave system, see Figure 3.2, which can be controlled so that
the slave is driven to stay at a fixed distance from the master. One can check that this
Chapter 3. Synchronizing N Cart-Pendulums 49
s2
Figure 3.2: Use of a time-varying parameter s2 to introduce a driving force on the slavecart-pendulum system to remain at a fixed distance from the master.
dynamic VHC is regular for all |s2| < π2− θl. To enforce the VHC θ2 = θ1 − s2 we use
the input-output linearizing feedback
u⋆2 =
[1 0]D−12 B2
−1 [[1 0]D−1
1 (B1u1 − C1q1 −∇P1)
+[
1 0]D−12 (C2q2 +∇P2) − k3(θ2 − θ1 + s2)
− k4(θ2 − θ1 + s2)− v2],
(3.10)
where k3, k4 > 0 are design parameters. Summarizing, we have replaced the VHC in (3.3)
with the dynamic VHC
θ1 = φs1(x1) = φ(x1 − s1), θ2 = θ1 − s2, (3.11)
where φ is given in (3.5). This VHC is regular for all s1 ∈ R and all |s2| < π2− θl, and
the dynamic feedbacks u⋆1, u⋆2 in (3.8)-(3.9) and (3.10) stabilize the associated constraint
manifold
Γ = (q1, q2, q1, q2, s1, s2, s1, s2) : θ1 = φs1(x1), θ2 = θ1 − s2,
θ1 = ∂x1φs1(x1)x1 + ∂s1φ
s1(x1)s1, θ2 = θ1 − s2.(3.12)
What is left to do is to design the control input v2 in the dynamic compensator s2 = v2
so as to stabilize the set x2 − x1 − d1 = 0, x2 − x1 = 0, s2 = s2 = 0. To this end, we
will consider the reduced dynamics on Γ assuming that compensator (3.9) has made the
master system converge to the desired energy level set E0, and that s1 = s1 = 0. This
Chapter 3. Synchronizing N Cart-Pendulums 50
corresponds to investigating the reduced dynamics on Γ′ = Γ ∩ E(x1, x1) = E0, s1 =
s1 = 0. By left-multiplying the equations in (3.1) for i = 1, 2 with a left annihilator of
B and evaluating the resulting expressions on Γ′, we obtain
x2 =g sin(φ(x1)− s2)− (Ψ1(x1) + Ψ2(x1)x
21) lφ
′(x1)− lφ”(x1)x21 + lv2
cos(φ(x1)− s2)
s2 = v2,
(3.13)
where Ψ1,Ψ2 are as before. In the above, (x1(t), x1(t)) is the periodic solution of the
x1 subsystem in (3.6) satisfying E(x1(t), x1(t)) = E0, and it is viewed as an exogenous
signal. In what follows, we will let TE0 be the period of this solution. Consider the error
coordinates e1 = x1 − x2 + d1, e2 = x1 − x2, e3 = s2 and e4 = s2. We have
e1 = e2
e2 = f(t, e3) + g(t, e3)v2
e3 = e4
e4 = v2,
(3.14)
where f(t, e3) and g(t, e3) are given by
f(t, e3) =g(sin e3 + 2lφ′(x1(t)) cos(φ(x1(t))− e3
2) sin e3
2)
cos(φ(x1(t))− e3)(cosφ(x1(t)) + lφ′(x1(t)))
− 2lφ′′(x1(t)) sin(φ(x1(t))− e32) sin( e3
2)x21(t)
cos(φ(x1(t))− e3)(cos φ(x1(t)) + lφ′(x1(t))),
g(t, e3) = − l
cos(φ(x1(t))− e3).
Chapter 3. Synchronizing N Cart-Pendulums 51
We linearize (3.14) at the origin e = 0, obtaining the linear periodic control system
e =
0 1 0 0
0 0 aE0(t) 0
0 0 0 1
0 0 0 0
e +
0
bE0(t)
0
1
v2, (3.15)
where
aE0(t) =g(1 + lφ′(x1) cosφ(x1))− lφ′′(x1) sinφ(x1)x
21
(cosφ(x1))(cosφ(x1) + lφ′(x1))
bE0(t) =−l
cosφ(x1),
(3.16)
and where, once again, (x1(t), x1(t)) is a TE0-periodic exogenous signal associated to the
energy level set E0 that has been asymptotically stabilized for the master system. The
control input v2 must be designed to stabilize the origin of (3.15). Consider the linear
feedback v2 = Le, where L = [L1 L2 L3 L4] and e = [e1 e2 e3 e4]⊤. If we find L making
the origin of (3.15) exponentially stable, then the origin e = 0 of (3.14) is exponentially
stable as well. To assess the stability of (3.15) we use averaging theory. Consider the
transformations e 7→ E, L 7→ C, defined as
e =diag(1, ǫ, ǫ2, ǫ3)E
L =diag(ǫ4, ǫ3, ǫ2, ǫ)C
where E = [E1 E2 E3 E4]⊤, C = [C1 C2 C3 C4]
⊤, and ǫ > 0 is a small parameter. In
original coordinates we are using the compensator
s2 = ǫ4C1(x1 − x2 + d1) + ǫ3C2(x1 − x2) + ǫ2C3s2 + ǫC4s2. (3.17)
Chapter 3. Synchronizing N Cart-Pendulums 52
With these definitions, (3.15) takes on the normal form of averaging theory [23],
E =ǫAE0(t)E + ǫ3[⋆]E,
where
AE0(t) =
0 1 0 0
0 0 aE0(t) 0
0 0 0 1
C1 C2 C3 C4
. (3.18)
The averaged system is given by
˙E = ǫAE0E, (3.19)
where AE0 = (1/TE0)∫ TE00
AE0(τ)dτ reads as
AE0 =
0 1 0 0
0 0 aE0 0
0 0 0 1
C1 C2 C3 C4
, (3.20)
with aE0 = (1/TE0)∫ TE00
a(τ)dτ . Note that aE0 depends on the energy level E0 of the
master system corresponding to the periodic orbit (x1(t), x1(t)) that is rendered asymp-
totically stable by compensator (3.9). With the choice of VHC φ(x1) in (3.5), it holds
that aE0 > 0 as shown with the following lemma.
Lemma 3.3.1. aE0 ≥ g, where g is the acceleration due to gravity, for all E0 such that
the set (x1, x1) : E(x1, x1) = E0 is a closed curve.
Proof. For φ(x1) in (3.5), it holds that
1
cosφ(x1)+ lφ′(x1) ≥ cosφ(x1) + lφ′(x1) > 0,
Chapter 3. Synchronizing N Cart-Pendulums 53
which implies that
1 + lφ′(x1) cosφ(x1)
cos φ(x1)(cosφ(x1) + lφ′(x1))≥ 1. (3.21)
Also,
−lφ′′(x1) sinφ(x1) =cos2 θllθl
sin (ψ(x1)) sin (θl sinψ(x1)),
where ψ(x1) =cos θllθl
x1. Both sinψ(x1) and sin (θl sinψ(x1)) are TE0-periodic, and since
θl <π2, both functions have the same sign where they are non-zero. This implies that,
−lφ′′(x1) sinφ(x1)
cos φ(x1)(cosφ(x1) + lφ′(x1))≥ 0. (3.22)
Inequalities (3.21) and (3.22) imply that, for all E0, a(t) ≥ g, and therefore aE0 ≥ g as
well.
With this lemma aE0 6= 0, it follows that the LTI system
0 1 0 0
0 0 aE0 0
0 0 0 1
0 0 0 0
,
0
0
0
1
. (3.23)
is controllable, and therefore for all E0 there exists C ∈ R4 such that AE0 in (3.20) is
Hurwitz. In particular, we have the following result.
Lemma 3.3.2. The matrix AE0 in (3.20) is Hurwitz for all C ∈ R4 such that C1, . . . , C4 <
0 and
0 < aE0 < min−C3C4/C2, (C1C24 − C2C3C4)/C
22. (3.24)
The proof of the above lemma is straightforward. It relies on the fact, established in
Lemma 3.3.1, that aE0 > 0, and the application of the Routh-Hurwitz criterion to the
characteristic polynomial of AE0 , λ4 − C4λ
3 − C3λ2 − aC2λ− aC1.
Chapter 3. Synchronizing N Cart-Pendulums 54
Figure 3.3 shows that the function E0 7→ aE0 is monotonically increasing. Therefore,
0 10 20 30 40 50 60 70 80 90 1000
5
10
15
20
25
30
35
40
45
50
E0
aE0
Figure 3.3: The average value of aE0(t), aE0 , increases with E0.
in light of inequality (3.24), if C ∈ R4 is such that AE0 is Hurwitz, then with the same
C it holds that AE1 is Hurwitz for all E1 ≤ E0. The next proposition summarizes our
results so far.
Proposition 3.3.3. Consider N = 2 pendulums in (3.1). Given a feasible energy level
set E0, pick C ∈ R4 to stabilize the LTI system (3.23). Then, there exists ǫ⋆ > 0 such that
for all ǫ ∈ (0, ǫ⋆), the feedbacks u⋆1, u⋆2 in (3.8), (3.10) with compensators (3.9), (3.17),
asymptotically stabilize the sets Γ in (3.12) and
S = (q1, q2, q1, q2, s1, s2, s1, s2) ∈ Γ : E(x1, x1) = E0,
x1 − x2 + d1 = x1 − x2 = 0, s1 = s2 = s1 = s2 = 0,
therefore solving SOP for N = 2. Moreover, the same gain vector C can be used to
stabilize any energy level E1 ≤ E0 for the master system.
Sketch of the proof: The feedbacks u⋆1, u⋆2 exponentially stabilize1 the constraint
manifold Γ in (3.12). The averaging theorem [23] guarantees the existence of ǫ⋆ > 0
1Actually, u⋆1, u⋆
2exponentially stabilize an open subset of Γ, since the dynamic VHC (3.11) is regular
for small values of s2.
Chapter 3. Synchronizing N Cart-Pendulums 55
such that for all ǫ ∈ (0, ǫ⋆) the averaged system (3.19) is exponentially stable, implying
that the linear periodic system (3.15) is exponentially stable, and therefore the set x2 =
x1(t) + d1, x2 = x1(t), s2 = s2 = 0 is exponentially stable for system (3.13) representing
the reduced dynamics on Γ′. In other words, S is exponentially stable relative to Γ′.
Moreover, by the theory in [6], Γ′ is exponentially stable relative to Γ for suitable choices
of K1, K2, K3 in (3.9). By the Seibert-Florio reduction theorem for asymptotic stability
of sets in [24], S is asymptotically stable.
3.3.2 Design for N cart-pendulums
Here we show that the result for the 2 cart-pendulum systems can be extended to the
general N cart-pendulums system without any additional control design. The dynamic
VHC in (3.11) is generalized as follows:
θ1 = φs1(x1), θi = θi−1 − si, i ∈ 2, . . . , N, (3.25)
where, as before, φs1(x1) = φ(x1 − s1), and φ is given in (3.5), and the evolution of the
parameters si is governed by N compensators si = vi, i = 1, . . . , N . The dynamic VHC
in (3.25) can be shown to be regular for all (s1, . . . , sN) such that |∑Nj=2 sj| < π/2− θl.
The constraint manifold is
Γ = (q, q, s, s) : θ1 = φs1(x1), θi = θi−1 − si, θ1 = ∂x1φs1(x1)x1
+ ∂s1φs1(x1)s1, θi = θi−1 − si, i ∈ 2, . . . , N,
(3.26)
and the input-output linearizing feedbacks stabilizing Γ in conjunction with u⋆1 in (3.8)
are
u⋆i =
[1 0]D−1i Bi
−1 [[1 0]D−1
i−1(Bi−1ui−1 − Ci−1qi−1
−∇Pi−1) + [1 0]D−1i (Ciqi +∇Pi) − k3(θi − θi−1
+ si)− k4(θi − θi−1 + si)− vi], i = 2, . . . , N.
(3.27)
Chapter 3. Synchronizing N Cart-Pendulums 56
As before, we are interested in investigating the reduced dynamics on Γ′ = Γ∩E(x1, x1) =
E0, s1 = s1 = 0. For this, we use the fact that xi = −(l/ cos θi)θi + g sin θi/ cos θi and
the fact that, on Γ, θi = θ1 −∑i
j=2 sj and θi = θ1 −∑i
j=2 vj, so that
xi =−l(θ1 −
∑ij=2 vj) + g sin(θ1 −
∑ij=2 sj)
cos(θ1 −∑i
j=2 sj)
∣
∣
∣
∣
∣ θ1 = φ(x1)
θ1 = φ′′(x1)x21 + φ′(x1)x1
si = vi, i ∈ 2, . . . , N.
We see from the above that the reduced dynamics on Γ′ are given by N − 1 decoupled
identical subsystems, each of dimension 4, driven by the exogenous signal (x1(t), x1(t)),
the periodic solution of the x1 subsystem in (3.6) with energy level E0. Defining the error
coordinates ei1 = xi−1 − xi + di−1, ei2 = xi−1 − xi, e
i3 = si, e
i4 = si, i ∈ 2, . . . , N, the
error dynamics can be found to be a linear-time varying system which when linearized
about the origin and letting ei = [ei1, . . . , ei4]
⊤, gives the linear periodic system
ei =
0 1 0 0
0 0 aE0(t) 0
0 0 0 1
0 0 0 0
ei +
0
bE0(t)
0
1
vi
where aE0(t), bE0(t) are as in (3.16). We see, remarkably, that the i-th linearized error
subsystem is identical to (3.15), and thus the analysis performed in the previous section
directly carries over to this setting. Thus, for i ∈ 2, . . . , N, the compensator
si = ǫ4C1(xi−1 − xi + di−1) + ǫ3C2(xi−1 − xi) + ǫ2C3si + ǫC4si, (3.28)
where C1, . . . , C4 are designed as in Proposition 3.3.3 and are independent of i, exponen-
tially stabilizes the origin of the error subsystem.
Proposition 3.3.4. Consider the N cart-pendulums in (3.1). Given a feasible energy
Chapter 3. Synchronizing N Cart-Pendulums 57
level set E0, pick C ∈ R4 to stabilize the LTI system (3.23). Then, there exists ǫ⋆ > 0
such that for all ǫ ∈ (0, ǫ⋆), the feedbacks u⋆1 in (3.8) and u⋆i , i = 2, . . . , N , in (3.27) with
compensators (3.9), (3.28) asymptotically stabilize the set Γ in (3.26) and the set
S = (q.q, s, s) ∈ Γ : E(x1, x1) = E0, xi−1 − xi + di−1 = 0,
xi−1 − xi = 0, si = si = 0, i = 1, . . . , N,
therefore solving SOP. Moreover, the same gain vector C ∈ R4 can be used to stabilize
any energy level set E1 ≤ E0.
Proof. The proof of this result follows directly from the proof of Proposition 3.3.3 and
the fact that the linearized error system is made of N − 1 decoupled subsystems, each
identical to (3.15).
3.4 Simulation results
Here we present simulation results for the case N = 3. All physical parameters were
taken to be unity. The gains k1, . . . , k4 in the feedbacks u⋆1 in (3.8) and u⋆2, u⋆3 in (3.27)
are chosen to be k1 = k3 = 25, k2 = k4 = 10. The gains in for the s1 compensator
in (3.9) were chosen to be K1 = −0.1, K2 = −1, K3 = −1 The desired cart separations
are d1 = d2 = 1. For the s2 and s3 compensators in (3.28), we let ǫ = 1 and pick C ∈ R4
to place all poles of (3.23) with aE0 = 10 at −1. This gives C = [−.11 −.43 −6.33 −4.11].
Finally, the initial conditions chosen were as follows q1(0) = [−.3 0]⊤, q2(0) = [.3 4]⊤,
q3(0) = [.1 6]⊤ and q1(0) = q2(0) = q3(0) = [0 0]⊤ and si = si = 0, i = 1, 2, 3.
To illustrate the role of the three compensators s1, s2, s3, in Figure 3.4 we show the
positions and angles of the three cart-pendulums when the energy stabilization mecha-
nism of compensator s1 is turned off (i.e., K1 = K2 = K3 = 0). As Figure 3.4 shows, the
enforcement of the VHC θ1 = φ(x1) makes the master system oscillate about its inverted
Chapter 3. Synchronizing N Cart-Pendulums 58
0 2 4 6 8 10 12 14 16 18 20−1
−0.8
−0.6
−0.4
−0.2
0
0.2
0.4
0.6
0.8
1
time [s]
Angle
[rad]
θ1(t)
θ2(t)
θ3(t)
0 2 4 6 8 10 12 14 16 18 20−1
0
1
2
3
4
5
6
7
8
9
time [s]
Position[m
]
x1(t)
x2(t)
x3(t)
Figure 3.4: Full synchronization of 3 cart-pendulums without energy stabilization: angleof each pendulum (top) and cart position (bottom). Note that during transient the threependulums remain in the upper half-plane.
configuration, while the other two cart-pendulums fully synchronize to it. Next, in Fig-
ure 3.5 we turn on the energy stabilization mechanism of compensator s1 with E0 = 0,
which corresponds to stabilizing the inverted configuration of the three cart-pendulums.
We see from Figure 3.5 that, indeed, the three cart-pendulums fully synchronize, and
that the cart positions converge to desired constants while the angles converge to zero.
Chapter 3. Synchronizing N Cart-Pendulums 59
0 5 10 15 20 25 30 35 40
−0.5
−0.4
−0.3
−0.2
−0.1
0
0.1
0.2
0.3
0.4
0.5
time [s]
Angle
[rad]
θ1(t)
θ2(t)
θ3(t)
0 5 10 15 20 25 30 35 40−1
0
1
2
3
4
5
6
7
8
9
time [s]
Position[m
] x1(t)
x2(t)
x3(t)
Figure 3.5: Full synchronization of 3 cart-pendulums with simultaneous energy levelstabilization for the master cart-pendulum. Here we are stabilizing the energy level E0 =0, which corresponds to stabilizing the upright equilibrium position of the pendulums.Note that during transient the three pendulums remain in the upper half-plane.
3.5 Concluding Remarks
As mentioned in Section 3.2, SOP has first been presented and solved in [27]. The authors
in [27] use VHCs to select a closed orbit, and then apply the transverse linearization tech-
nique to stabilize said orbit. Specifically, one needs to compute the 2N − 1-dimensional
transverse linearization of (3.1) around the desired closed orbit, and then use techniques
for the stabilization of linear time-varying (LTV) systems to design the feedback. This
step can be challenging in practice. Our approach is fundamentally different. First, the
Chapter 3. Synchronizing N Cart-Pendulums 60
notion of virtual holonomic constraint we use is stronger than the one considered in [27] in
that we require the constraint manifold to be controlled invariant, while in [27] controlled
invariance is not imposed since virtual holonomic constraints are only used for planning
a specific orbit with desired properties. The controller in [27] is static and time-varying,
and it does not make the constraint manifold invariant for the closed-loop system. As a
result, the constraint manifold is actually unstable for the closed-loop system.
In our approach the VHC plays a central role in synchronization, since the constraint
manifold Γ is made invariant for the closed-loop system, and it is dynamically changed for
energy regulation and position control. Specifically, our controller in Proposition 3.3.4
is dynamic, with 2N states, and it stabilizes the manifold Γ in (3.26), thus enforcing
the dynamic VHC (3.25). While in [27] one needs to stabilize an LTV system of order
2N − 1, our control design relies on the stabilization of a fourth-order LTI system, no
matter how largeN is. Thus, our control design is much simpler. Additionally, the benefit
of stabilizing Γ while simultaneously meeting the specifications of SOP is that one has
better control over the transient performance of the system. For instance, if a small
disturbance affects the master pendulum so that the relation θ1 = φs1(x1) is violated,
the controller will guarantee a graceful recovery, in that during the ensuing transient
the quantity θ1 − φs1(x1) will remain small. This is desirable because |φs1(x1)| < π/2
for all s1 ∈ R, and therefore the master pendulum remains in the upper half-plane for
small enough perturbations. Similar considerations hold for all other pendulums in the
chain. In essence, the enforcement of the dynamic VHC (3.25) provides us with a lot of
information about the transient of the chain of cart-pendulums.
Chapter 4
A Bilateral Teleoperation Problem
The goal of this chapter is to illustrate the application of the VHC theory presented
in Chapter 2 to a bilateral teleoperation problem. As pointed out in Chapter 1, the
prominent approach to teleoperation is one inspired by network theory, and originally
pioneered by Anderson and Spong in [1]. The formalism in [1] has been adopted by most
researchers in Robotics. One common characteristic in the design is the use impedance
models for the master and slave robots, as well as the environment. In this chapter we
lay the foundations for a different approach to teleoperation, one that relies on VHCs
and avoids the need for force sensors.
4.1 Teleoperation problem
Consider two identical, fully actuated, two-link planar manipulators, depicted in Fig-
ure 4.1. The first manipulator, called the local robot, is a haptic interface operated by
a human. The second manipulator, called the remote robot, is to replicate the actions
of the human. This latter robot is situated near a surface, which for the sake of simplicity
we assume to be a plane, and which will be called the manipulation surface S. When
the remote robot enters in contact with S, we switch to the contact phase, in which
the end effector of the remote robot is constrained by feedback to slide on S, while the
61
Chapter 4. A Bilateral Teleoperation Problem 62
local robot simulates a “virtual surface” so that the human can “feel” the presence of
the manipulation surface. During the contact phase we require the remote end effector
to replicate the actions of the local end effector. In particular, we want the remote robot
to impart on the manipulation surface a force equal to the force imparted by the human
on the virtual surface. We will make this precise in a moment, but first we present the
assumptions on which our approach relies.
ql1
ql2
qr1
qr2
r
Fh
force exerted by human operator
local robot (haptic interface) remote robot
S
Figure 4.1: Two identical fully actuated two-link planar manipulators. The manipulatoron the left-hand side (local robot) is operated by the human, who applies a force Fhon the end effector. The manipulator on the right-hand side (remote robot) is facing asurface at a distance r from its base.
Standing assumptions. The following is assumed throughout this chapter.
(i) The two robots are identical.
(ii) There is no time delay in the communication between local and remote robots. This
is a reasonable assumption when local and remote robots are in the same location,
such as in robotic surgery [17].
(iii) Local and remote robots have access to their complete states (angles and angular
velocities).
(iv) The location in space of the manipulation surface S and its shape (for simplicity, a
plane) are perfectly known.
Chapter 4. A Bilateral Teleoperation Problem 63
(v) The manipulation surface is frictionless.
(vi) The coefficient of restitution of the manipulation surface is zero (this coefficient is
defined in Section 4.3) so that the impact is inelastic.
Most of the assumptions above are made exclusively to precisely formulate the simplest
problem that captures the key challenges of bilateral teleoperation. Straightforward
generalizations of the material presented in this chapter can be performed to remove
most of the assumptions. The crucial assumptions that cannot be easily removed are (iv)
and (vi). More research is needed to eliminate them.
We now present the control specifications.
(P1) Full synchronization during free motion phase. When the remote robot is
not in contact with the manipulation surface, the following specifications must be
met:
(a) Under the assumption that the human force is perfectly known, the remote
robot should fully synchronize to the local robot.
(b) When the human force is completely unknown but bounded as ‖Fh(t)‖ ≤ F ,
the synchronization error should be bounded with a bound proportional to F .
(P2) Constraining motion on the remote robot and virtual surface simulation
on the local robot. When the remote robot first hits S, the remote and local
controllers should switch to the contact phase, during which:
(a) The end effector of the remote robot should be constrained by feedback to
remain on S.
(b) The local robot should simulate the presence of a virtual surface identical to
S. In particular:
(b.1) Under the assumption that the human force is perfectly known, the end
effector of the local robot should be constrained by feedback to remain
Chapter 4. A Bilateral Teleoperation Problem 64
on the virtual surface, but the human should be able to freely slide the
end effector of the local robot along the surface.
(b.2) When the human force is unknown but bounded, the human should feel
a spring-like force pushing the end effector of the local robot towards the
virtual surface, and the distance of the end effector to the virtual surface
should remain bounded.
(P3) End effector synchronization during contact phase. During the contact
phase, the following specifications should be met:
(a) Under the assumption that the human force is perfectly known, the local and
remote end effectors should synchronize.
(b) When the human force is completely unknown but bounded as ‖Fh(t)‖ ≤ F , the
end effector synchronization error should be bounded with a bound proportional
to F .
(P4) Human force estimation on local robot. During the contact phase, using
feedback from the local robot, we wish to estimate in real-time the component of
the force that the human exerts on the local robot in the direction orthogonal to
the virtual surface. This estimate is to be used in the solution to problems P1a,
P2b.1, P3a, and P5.
(P5) Force control on remote robot. During the contact phase, we wish to control
the force that the remote robot’s end effector exerts on the manipulation surface.
The reference force signal will come from the force estimator in P4.
Remark 4.1.1. It may be argued that constraining the local robot during the contact
phase to lie on the virtual surface may be disadvantageous in some applications. Indeed,
in P2 it would be desirable to allow the human to sense the virtual surface and then
detach from it. In this thesis, we rule out this possibility so as to make the problem
Chapter 4. A Bilateral Teleoperation Problem 65
treatable and to avoid the complexity of the impulsive contact model presented in Sec-
tion 4.3. Nonetheless, we foresee that the methodology presented in this chapter can be
adapted to address the more complex situation of intermittent contact.
Remark 4.1.2. In our problem formulation, we estimate the force imparted by the
human on the virtual surface, and we reflect this force on the remote robot. This differs
radically from current teleoperation approaches, which do precisely the opposite. Namely,
they use a force sensor on the end effector of the remote robot, and they reflect the sensed
force on the local side. As pointed out in Chapter 1, in the presence of small time delays
using force sensors on the remote side gives rise to instability of the teleoperation system.
To overcome this problem, researchers have adopted the formalism of network theory and
scattering operators. Our approach is not affected by the instability problem because
no force sensors are needed in our force control scheme. The price we pay for these
advantages is that we need to have perfect knowledge of the manipulation surface.
Remark 4.1.3. In situations where force feedback is crucial, our approach is not ideal.
One such example is in the operation of an aircraft. Pilots benefit from force feedback
to determine the flying state of the aircraft and take corresponding action. However, in
rehabilitation devices for stroke patients and other applications where the manipulation
surface is known in advance and the main objective is to simulate the feeling of the
surface, force feedback is not crucial and our approach is advantegous.
4.2 Solution methodology
In this section we present the methodology followed in Section 4.4 to solve the teleoper-
ation problem. Our solution relies heavily on the VHC theory presented in Chapter 2.
P1. Full Synchronization during free motion phase. During free motion, we
synchronize the two robots by imposing the second-order VHC h1(ql, qr) = ql− qr on the
remote robot. No control is required on the local robot in this phase.
Chapter 4. A Bilateral Teleoperation Problem 66
P2. Constraining motion on the remote robot and virtual surface simula-
tion on the local robot. When the remote robot enters in contact with the manipula-
tion surface for the first time, both remote and local controllers are switched to contact
mode. To constrain the end effector of the remote robot to lie on S, we enforce the VHC
h2(qr) = r − sin qr1 − sin qr2 on the remote robot. To simulate a virtual surface on the
local side, we enforce the VHC h2(ql) = r− sin ql1 − sin ql2 on the local robot. Since both
VHCs have order one, the reduced dynamics of both local and remote robots have one
control input.
P3. End effector synchronization during contact phase. As mentioned earlier,
the reduced dynamics of the remote robot have one control input. For this input, we
will design a simple proportional-derivative (PD) control law to make the end effector
of the remote robot synchronize to that of the local robot. Because the remote robot is
taking charge of the synchronization task, the human is free to move the end effector of
the local robot along the virtual surface.
P4. Human force estimation on local robot. During the contact phase, the
VHC h2(ql) = 0 is enforced on the local robot, so that the human feels the presence
of a virtual surface. If the human pushes against this surface, the relation h2(ql) is no
longer zero, and its deviation from zero is related to the amount of force that the human
imparts on the virtual surface. If the human force is constant or slowly-varying, by using
adaptive control techniques it is possible to estimate the human force from h2(ql(t)).
P5. Force control on remote robot. The force control problem will be addressed
by adding a torque component to the feedback enforcing the VHC h2(qr) = 0 in such a
way that the end effector of the remote robot imparts the required force on the manipu-
lation surface.
Chapter 4. A Bilateral Teleoperation Problem 67
4.3 Modeling
Let ql = [ql1 ql2]⊤ and qr = [qr1 qr2]
⊤ denote the configuration vectors of the local
and remote robots, respectively. We will assume that the lengths and masses of the
manipulators are unitary, and that the links have no moment of inertia. We will let the
distance between the manipulation surface and the base of the remote robot be r = 1.5,
so that the surface is the zero level set of the function
F (qr) = 1.5− sin qr1 − sin qr2.
When the configuration vector of the remote robot satisfies the inequality F (qr) > 0, the
robot is not in contact with S.
Our modeling will be divided in three parts. We will first present the model of the
robots in free motion. Then, we will present the model of the remote robot when its
end effector is in contact with the manipulation surface, and finally we will present the
impulsive impact model.
4.3.1 Free motion phase
The dynamics of the local and the remote robots when this latter is not in contact with
S can be obtained via the Euler-Lagrange method, and read as
D(ql)ql + C(ql, ql)ql = τl + J⊤(ql)Fh (4.1)
D(qr)qr + C(qr, qr)qr = τr, (4.2)
Chapter 4. A Bilateral Teleoperation Problem 68
where τl and τr are the control torques of the local and remote robots, respectively, Fh
is the force imparted by the human on the end effector of the local robot, and
D(qi) =
2 cos(qi1 − qi2)
cos(qi1 − qi2) 1
,
C(qi, qi) =
0 sin(qi1 − qi2)qi2
− sin(qi1 − qi2)qi1 0
J(qi) =
− sin qi1 − sin qi2
cos qi1 cos qi2
where i = l, r. The matrix J(ql) in (4.1) is the Jacobian of the local robot. Its transpose
maps the force applied to the end effector to the equivalent joint torques [28]. In what
follows, we will denote by q := [(ql)⊤ (qr)⊤]⊤ the collective configuration vector of the
two robots, and by q the collective configuration velocity.
4.3.2 Contact phase
When F (qr(t)) ≡ 0, the end effector of the remote robot is on the manipulation surface,
so its dynamics are subject to a unilateral constraint, F (qr) ≥ 0. To find the constrained
dynamics, we follow the approach in [4] and write
D(qr)qr + C(qr, qr)qr = τr + λ∇F (qr), (4.3)
where λ ≥ 0 is a Lagrange multiplier, and ∇F (qr) is the gradient1 of F (qr). The term
λ∇F (qr) on the right-hand side is the torque due to the contact force between the surface
1∇F (qr) can be thought of as the vector of joint torques required to make the end effector experiencea unit force normal to S. Indeed, the normal vector to the surface is [0 − 1]⊤, and one can see that∇F (qr) = J⊤(qr)[0 − 1]⊤.
Chapter 4. A Bilateral Teleoperation Problem 69
Conditions on er, er Value of λ
er > 0 λ = 0er = 0, er > 0 λ = 0er = 0, er = 0 λ given by (4.4)er = 0, er < 0 reset: er = 0, compute q+r from (4.5)-(4.6)
Table 4.1: Computation of λ in (4.3).
and the remote robot, and it has the effect of making the set
Ω = (qr, qr) : F (qr) ≥ 0
invariant for (4.3). Letting er := F (qr), when er > 0 the remote robot is not in contact
with S, and when er > 0 the end effector of the robot is moving away from S. The value
of λ is determined according to Table 4.3.2. Specifically, if er > 0 then the robot is not
in contact with S and λ = 0. If er = 0 but er > 0, then the end effector is on S, but it is
detaching from it, so the surface does not exert any force on it and λ = 0. If er = 0 and
er = 0, then the end effector is on S, and its velocity is tangent to it. In this case, λ is
found by imposing that the component of the acceleration of the end effector orthogonal
to S be zero. By so doing, one obtains
λ =(−qr)⊤[HF (qr)]qr −∇F (qr)⊤D−1(qr)(τr − C(qr, qr)qr)
∇F (qr)⊤D−1(qr)∇F (qr) , (4.4)
where HF is the Hessian of F . Finally, if er = 0 and er < 0, then the end effector is
impacting the manipulation surface with a nonzero velocity. In this case, the model (4.3)
experiences an impulsive force that resets the configuration velocity. This reset is modeled
in the next section.
Chapter 4. A Bilateral Teleoperation Problem 70
4.3.3 Impact phase
Following [4], we model the impact with S as an instantaneous event that resets the
configuration velocities of the remote robot. Letting (qr)+ and (qr)− denote the post-
and pre-impact configuration velocities, the impact model is given by
D(qr)(
(qr)+ − (qr)−)
= pqr∇F (qr) (4.5)
∇F (qr)⊤(qr)+ = −e∇F (qr)⊤(qr)−, (4.6)
where pqr ≥ 0 is a coefficient to be determined, and e ∈ [0, 1] is the restitution coef-
ficient of S. When e = 0, the impact is inelastic and the velocity of the end effector
after impact is tangent to S; when e = 1, the impact is fully elastic. The unknowns in
equations (4.5)-(4.6) are (pqr , qr1, q
r2), and the equations be rewritten as
D(qr) −∇F (qr)
∇F (qr)⊤ 0
(qr)+
pqr
=
D(qr)(qr)−
−e∇F (qr)⊤(qr)−
. (4.7)
This system of equations can always be solved because the system matrix is invertible.
This follows from the fact that ∇F (qr)⊤D−1(qr)∇F (qr) 6= 0 for all qr.
The impact equations above have the following physical meanings. Equation (4.5)
states that the change in generalized momentum during the impact transition (left-hand
side of the equation) must be orthogonal to S, and pointing towards the manipulator.
Equation (4.6) generalizes Newton’s restitution law. It states that the component of the
configuration velocity normal to S will be scaled by a factor e ∈ [0, 1]. As stated in the
standing assumptions, in this chapter we assume that e = 0, so that the post-impact
configuration velocity is tangent to S, and the end effector of the remote robot does not
bounce after the impact with S.
Chapter 4. A Bilateral Teleoperation Problem 71
4.3.4 Numerical simulation of impact
The remote robot is simulated as follows
1. Start in free motion phase and simulate (4.1)-(4.2) until the end effector of the
remote robot reaches S;
2. When er = 0 and er < 0, compute (qr)+ from (qr)− using equation (4.7) with e = 0;
3. Switch the simulation of the remote robot to the contact phase equation (4.3), and
compute λ using (4.4).
We remark that the third step of the simulation relies on the fact that when the
remote robot impacts S, the controller does not allow it to leave S afterwards.
4.4 Solution of the teleoperation problem
In this section we solve the teleoperation problem. Each of the subproblems in Section 4.1
is investigated in a separate section.
4.4.1 P1: Full synchronization during free motion phase
Consider the robot models in (4.1)-(4.2). When the remote robot is not in contact with
S, in order to synchronize the two robots we enforce the VHC
h1(ql, qr) = ql − qr,
which is regular because the robots are fully actuated. This second-order VHC will be
enforced using the two torques of the remote robot, as follows
τr(q, q, Fh) = C(qr, qr)qr +D(qr)[D−1(ql)(J⊤(ql)Fh − C(ql, ql)ql) + k1e+ k2e], (4.8)
Chapter 4. A Bilateral Teleoperation Problem 72
where k1, k2 > 0 are design parameters, e = ql − qr, and the bold term is not to be used
if the human force is completely unknown. By design, the error dynamics are
e + k2e+ k1e = 0,
so when the human force is known, the two robots exponentially synchronize, solving
problem P1a. On the other hand, if the human force is completely unknown, then
feedback (4.8) without the bold term results in the error dynamics
e+ k2e + k1e = D−1(ql)J⊤(ql)Fh.
The matrix D−1(ql)J⊤(ql) is uniformly bounded, so if ‖Fh‖ ≤ F , the dynamics above can
be viewed as those of a BIBO stable LTI system with a bounded input. Therefore, e(t) is
bounded, and the error bound is proportional to Fh, as required by P1b. In conclusion,
feedback (4.8) solves P1.
Henceforth, the constraint manifold for the VHC h1(ql, qr) = 0 will be referred to as
the synchronization manifold, and it is given by
ΓSY = (q, q) : ql = qr, ql = qr.
4.4.2 P2: Constraining motion of the end effectors
The objective in this section is to design controllers constraining the end effector of the
remote robot to lie on the manipulation surface, and simulating contact of the local robot
with a virtual surface. We recall the robot models in the contact phase
D(ql)ql + C(ql, ql)ql = τl + J⊤(ql)Fh
D(qr)qr + C(qr, qr)qr = τr + λ∇F (qr),(4.9)
Chapter 4. A Bilateral Teleoperation Problem 73
with λ determined according to Table 4.3.2. In order to meet the control specifications
in P2, we enforce two identical VHCs on the two robots, h2(ql) = 0 and h2(q
r) = 0, with
h2(qi) = F (qi) = 1.5− sin qi1 − sin qi2, i ∈ l, r.
We will ignore for a moment the presence of the contact force λ∇F (qr) in (4.9), and
enforce the VHCs using the results in Lemma 2.2.4 and Proposition 2.3.1. Accordingly,
for i ∈ l, r, we let A(qi) = dFqiD−1(qi), A†(qi) = D(qi)∇F (qi)/‖dFqi‖2, and N(qi) =
D(qi)[cos qi2 − cos qi1]⊤, so that A(qi)A†(qi) = I and A(qi)N(qi) = 0. The feedbacks
enforcing the VHCs are
τl(ql, ql,Fh) = −J⊤(ql)Fh + C(ql, ql)ql + A†(ql)τ⋔l +N(ql)τ ql
τr(qr, qr) = C(qr, qr)qr + A†(qr)τ⋔r +N(qr)τ qr ,
(4.10)
where the bold term in (4.10) is to be used only when Fh is known, and
τ⋔i = −(qi)⊤HF (qi)qi − ki1F (qi)− ki2dFqi qi, i ∈ l, r, ki1, k
i2 > 0. (4.11)
The next proposition states that for any τ ql , τq
r , the feedback (4.10)-(4.11) solves P2. The
proof is at times informal because it does not present a thorough analysis of the impulse
effects caused by the impact model on the remote robot.
Proposition 4.4.1. Consider the contact phase models in (4.9). If Fh is known, then
for any smooth functions uqi(q, q), i ∈ l, r, the control inputs (4.10)-(4.11) enforce the
VHCs h2(ql) = 0, h2(q
r) = 0. If Fh is unknown and bounded as ‖Fh‖ ≤ F , and the bold
term in (4.10) is omitted, then the error el := F (ql) is bounded, and its dynamics are
those of a mass-spring-damper system with spring constant kl1 and damping constant kl2.
Chapter 4. A Bilateral Teleoperation Problem 74
er
er
impact
Figure 4.2: Phase portrait of system (4.12). The thick line represents the impact.
Proof. Let el = F (ql) and er = F (qr). Then, it holds that
er + kr2er + kr1er = a(qr)λ, (4.12)
where a(qr) = ∇F⊤(qr)D−1(qr)∇F (qr) > 0 for all qr. System (4.12) is an asymptotically
stable LTI system with a discontinuous input (due to λ), and affected by an impulsive
effect due to the impact model in (4.5)-(4.6). Rather than analyzing this system with
full rigor, we will resort to intuitive arguments to show that (er, er) = (0, 0) is a globally
asymptotically stable equilibrium of (4.12). The idea is illustrated in Figure 4.2. As long
as er(t) > 0, we have λ = 0 (see Table 4.3.2), and (4.12) is an unforced stable LTI system.
Hence, either er(t) converges to zero asymptotically, or there exists a time t > 0 such that
er(t) = 0, i.e., the remote end effector impacts S. At impact, it must hold that er(t−) ≤ 0.
If er(t−) < 0, then equation (4.6) in the impact model and the assumption that e = 0
imply that (qr)+ is tangent to S or, what is the same, er(t+) = 0. We thus have that
the solutions of (4.12) converge to (er, er) = (0, 0) either asymptotically or in finite time.
The point (er, er) = (0, 0) is an equilibrium of the discontinuous system (4.12), because
by Table 4.3.2 λ is zero at this point, and the impulsive effect due to the impact model
Chapter 4. A Bilateral Teleoperation Problem 75
is absent. In conclusion, (er, er) = (0, 0) is globally asymptotically stable for (4.12),
showing that the VHC h2(qr) = 0 has been enforced.
Next, we turn our attention to the local robot. If Fh is available for feedback, then
we have
el + kl2el + kl1el = 0, (4.13)
so that the VHC h2(ql) = 0 is enforced. If Fh is unknown and the bold term in (4.10) is
omitted, then the error dynamics read as
el + kl2el + kl1el = ∇F⊤(ql)D−1(ql)J⊤(ql)Fh. (4.14)
The above is a BIBO stable LTI system with a bounded input, so el is bounded. Moreover,
we see that the error dynamics are those of a mass-spring-damper system with spring
constant kl1 and damping constant kl2.
Henceforth, the constraint manifolds of the two VHCs in the contact phase will be
called the contact manifolds, and they are given by
ΓlCM = (q, q) : F (ql) = dFql ql = 0
ΓrCM = (q, q) : F (qr) = dFqr qr = 0.
4.4.3 P3: End effector synchronization during contact phase
In the previous section we designed feedbacks τl(ql, ql, Fh) and τr(q
r, qr) in (4.10)-(4.11)
stabilizing the contact manifolds ΓlCM and ΓrCM , so that the end effector of the local
robot is constrained to move on a virtual surface, while the end effector of the remote
robot moves on the manipulation surface S. The remote robot is left with one control
input τ qr . In this section we design a feedback τ qr(q, q) synchronizing the end effectors of
the two robots during the contact phase. To this end, let xl, xr denote the horizontal
displacements of the end effectors of the local and remote robots along the manipulation
Chapter 4. A Bilateral Teleoperation Problem 76
surface S, i.e.,
xi = cos qi1 + cos qi2, i ∈ l, r.
On the contact manifolds of the two robots, one has that xl = xr if and only if the two
end effectors are synchronized. Moreover, the variables xl, xr are local coordinates for
the VHCs h2(ql) = 0, h2(q
r) = 0, so following Proposition 2.3.1 we can use them to write
the reduced dynamics on the contact manifolds. By differentiating xi twice and using
the derivatives qi from (4.9) with the feedbacks (4.10)-(4.11), we obtain
xl = − sin(ql2 − ql1)τq
l − (ql)⊤Q(ql)ql + P (ql)Fh
xr = − sin(qr2 − qr1)τq
r − (qr)⊤Q(qr)qr − sin(2 q2)λ
cos(2 q1 − 2 q2)− 3,
(4.15)
where Q(qi) is a 2× 2 matrix with bounded entries and P (ql) is a bounded 1× 2 vector.
By restricting the equations in (4.15) to the contact manifolds and letting Fh = 0 (for,
otherwise, the local robot would only remain in a neighborhood of its contact manifold)
we obtain the reduced dynamics of the two robots on the contact manifolds
xl =[
− sin(ql2 − ql1)τq
l − (ql)⊤Q(ql)ql]
(ql,ql)∈ΓlCM
xr =[
− sin(qr2 − qr1)τq
r − (qr)⊤Q(qr)qr]
(qr ,qr)∈ΓrCM
.
(4.16)
In writing (4.16), we used the fact that λ = 0 on ΓrCM . Indeed, on ΓrCM we have
(er, er) = (0, 0), and substituting the feedback τr from (4.10)-(4.11) in the expression for
λ in (4.4), we obtain λ = 0.
We will synchronize the end effectors by using the control input τ qr , and we will set
τ ql = 0. This way, the local robot does not exert any force on the end effector in the
tangent direction to the virtual surface, and the human is free to move the local end
effector along the surface. We need a basic assumption on the behavior of the human.
Assumption 4.4.2. During the contact phase, the human keeps the end effector of
Chapter 4. A Bilateral Teleoperation Problem 77
0−√7/2
√7/2
x
Figure 4.3: The workspace of the remote robot while the end effector remains in contactwith the surface (shaded area).
elbow up
elbow up
elbow down
elbow down
S
−π/2−π/2
π/2
π/2
h−1
2(0)
q1
q2
q2 = q1
Figure 4.4: Elbow up and elbow down configurations when the end effector lies on S,and the corresponding coordinate charts of the VHC h2(q
i) = 0, i ∈ l, r.
the local robot inside a compact subset of the workspace displayed in Figure 4.3, i.e.,
xl ∈ [−x, x] ⊂ (−√7/2,
√7/2).
As shown in Figure 4.4, when the end effector of the local robot is on the virtual sur-
face, it can have two possible configurations, elbow up and elbow down. These correspond
to two different coordinate charts on h−12 (0), also illustrated in Figure 4.4. The only way
for the robot to transition between these two configurations is for the end effector to pass
through the boundary of its workspace, displayed in Figure 4.3 and corresponding to
the configurations ql1 = ql2. Since Assumption 4.4.2 rules out this possibility, the human
always keeps the local robot in only one of the elbow configurations, so that xl completely
determines ql.
Proposition 4.4.3. Suppose Assumption 4.4.2 holds, and consider the motion of the
Chapter 4. A Bilateral Teleoperation Problem 78
robots on the contact manifolds (4.16). Let τ ql = 0 and
τ qr(q, q) = 1/(sin(qr1 − qr2))(
Kpµ2(xl − xr) +Kdµ(x
l − xr))
, (4.17)
where Kp, Kd, µ > 0 are design parameters. Then, if the local and remote robots are
in the same elbow configuration (up or down), for a given choice of Kp, Kd there exists
µ⋆ > 0 such that for all µ ≥ µ⋆ the equilibrium (xl−xr, xl− xr) = (0, 0) is exponentially
stable, thus solving problem P3a.
Proof. The proof uses standard high-gain and vanishing perturbation arguments [16,
Lemma 9.1]. Let x = xl − xr, then using (4.16) with τ ql = 0 and τ qr as in (4.17) we have
¨x = −[
Kpµ2x+Kdµ ˙x
]
− (ql)⊤Q(ql)ql + (qr)⊤Q(qr)qr.
Consider the coordinate transformation (x, ˙x) 7→ (y1, y2), with y1 = µx, y2 = ˙x, and let
y = [y1 y2]⊤. Then,
y = µAy +
0
g(y)
,
where
A =
0 1
−Kp −Kd
,
and g(y) is a smooth function such that g(0) = 0. The property g(0) = 0 follows
from these considerations. First, y = 0 is equivalent to (x, ˙x) = (0, 0). Next, due to
Assumption 4.4.2 the two robots are in the same elbow configuration, x = 0 implies
ql = qr, and ˙x = 0 implies ql = qr. Therefore, the second and third terms in tilde ¨x
equation vanish when (x, ˙x) = (0, 0). Consider the Lyapunov function candidate V =
y⊤Py, where P is the solution of a Lyapunov equation A⊤P + PA = −Q < 0. We have
V = −µy⊤Qy + 2y⊤P [0 1]⊤g(y).
Chapter 4. A Bilateral Teleoperation Problem 79
Using the fact that g(0) = 0 and the smoothness of g, we have ‖g(y)‖ ≤ γ‖y‖ for all y
in a neighborhood of y = 0, so that
V ≤ −(
µλmin(Q)− 2γλmax(P ))
‖y‖2
for all y near 0. For sufficiently large µ, V ≤ −C‖y‖2, C > 0, so that y = 0 is
exponentially stable, and therefore (x, ˙x) = (0, 0) is exponentially stable as well.
Remark 4.4.4. The fact that (x, ˙x) = (0, 0) is exponentially stable implies that if the
end effectors of the local and remote robots are close to each other when the contact
phase begins, they remain close to each other and synchronize. By Assumption 4.4.2, the
local end effector never hits the boundary of its workspace, and therefore neither does
the end effector of the remote robot. In other words, if the contact phase starts with the
two robots being close to synchrony, the remote robot never fully extends, or qr1− qr2 6= 0,
and so sin(qr1 − qr2) 6= 0, and feedback (4.17) is well-defined. Moreover, the elbow con-
figurations of the two robots remain the same. We point out that the requirement that
the robots be close to synchrony at the beginning of the contact phase is reasonable be-
cause during the free motion phase the robots are controlled by a synchronizing feedback.
Finally, in our simulation results, we will replace the term 1/ sin(qr1 − qr2) in (4.17) by
sgn(qr1 − qr2), which has the advantage of not having any singularity and being simpler.
Unfortunately, we were not able to prove the proposition above with this simpler feed-
back. Nevertheless, simulations results are identical when using 1/ sin(qr1 − qr2) in (4.17)
away from the singularity.
Proposition 4.4.5. Suppose that Fh 6= 0, and ‖Fh‖ ≤ F , so that the local robot is not
in perfect contact with the virtual surface, and Let τ ql and τ qr be as in Proposition 4.4.3.
Then, the end effector synchronization error x = xl − xr is bounded with a bound
proportional to F , so that problem P3b is solved.
Proof. If the local robot is not in contact with the virtual surface, its motion is governed
Chapter 4. A Bilateral Teleoperation Problem 80
by the first equation in (4.15), and it depends on Fh. The remote robot, on the other
hand, is unaffected by Fh, and its dynamics are described by the second equation in (4.16).
The error dynamics are
¨x = −[Kpµ2x+Kdµ ˙x]− (ql)⊤Q(ql)ql + (qr)⊤Q(qr)qr + P (ql)Fh. (4.18)
Using the coordinate transformation (x, ˙x) 7→ (y1, y2) in the proof of Proposition 4.4.3
we get
y = µAy +
0
g(y)
+
0
P (y)Fh
,
where P (y) is bounded, ‖P (y)‖ ≤ C. Using the same Lyapunov function as in the proof
of Proposition 4.4.3 we get
V ≤ −(
µλmin(Q)− 2γλmax(P ))
‖y‖2 + 2Cλmax(P )F‖y‖,
from which it follows [16, Lemma 9.2] that the solutions y(t) are uniformly ultimately
bounded with a bound that is proportional to F .
4.4.4 P4: Human force estimation on local robot
In this section we estimate the force that the human imparts on the virtual surface in the
direction orthogonal to it. We do so by using the evolution of the error of the local robot
from the contact manifold, el = F (ql). Assuming that the human force is orthogonal to
S, so that Fh = [0 Fa]⊤, we want to estimate Fa, assuming that it is constant or slowly
varying. To do so, we will use the error (el, el) in the stabilization of the contact manifold
ΓlCM , where el = F (ql).
Proposition 4.4.6. Consider the local manipulator in (4.1), with τl given in (4.10)-
Chapter 4. A Bilateral Teleoperation Problem 81
(4.11), where Fh is replaced with an estimate Fh given by
ξ =2γa(ql)
KI[F (ql) dFql q
l]P
0
1
, (4.19)
Fh =
0
1
KIξ, (4.20)
where γ,KI > 0 are design parameters, a(ql) = ∇F⊤(ql)D−1(ql)∇qlF (ql), and P is a
symmetric positive definite matrix solving Lyapunov’s equation for the matrix
A =
0 1
−kl1 −kl2
.
Then, assuming that Fh = [0 Fa]⊤, where Fa is constant, the following properties hold
(i) Fh(t) → Fh,
(ii) P2b.1 is solved in the presence of unknown Fh, i.e., (el, el) → (0, 0) and the VHC
h2(ql) = 0 is enforced dynamically,
(iii) P3a is solved in the presence of unknown Fh, i.e., the local and remote end effectors
synchronize.
Proof. Letting el = F (ql) and El = [el el]⊤, and using the feedback (4.10)-(4.11) with F
given in the proposition, we have
El = AEl + [0 1]⊤a(ql) (Fa −KIξ)
ξ =2γa(ql)
KIE⊤l P
0
1
,
Chapter 4. A Bilateral Teleoperation Problem 82
where KIξ is the estimate of Fa. Consider the following Lyapunov function candidate
W = E⊤l PEl +
1
2γ(Fa −KIξ)
2 .
The time derivative of W reads as
W = −‖El‖2 + 2E⊤l P [0 1]⊤a(ql) (Fa −KIξ)−
KI
γ(Fa −KIξ)
2γa(ql)
KIE⊤l P [0 1]⊤
= −‖El‖2 .
From the LaSalle invariance principle, it follows that for any initial condition, El → 0,
and so (el, el) → (0, 0), proving part (ii). Next, we show that el → 0. Since el =
−kl1el − kl2el + a(ql)(Fa − KIξ), if (el, el, el) → (0, 0) then KIξ → Fa, and Fh → Fh
because a(ql) 6= 0. To show tha el → 0 we will use Barbalat’s lemma [14, Lemma 3.2.6].
We need to show that limt→∞∫ t
0el(τ)dτ < ∞ and el(t) is uniformly continuous. The
first condition is satisfied as a result of el(t) → 0. To show el(t) is uniformly continuous
it is sufficient to show that...e l(t) is bounded. We have
...e l = −kl1el − kl2el + a′(ql)ql(Fa − Fa)− 2γa2(ql)[el el]P
0
1
.
Now, a(ql) is a bounded function and ql is bounded because of Assumption 4.4.2. The re-
maining terms in the expression above are bounded, so...e l bounded and el(t) is uniformly
continuous, concluding the proof of part (i). For part (iii), if we replace Fh by Fh in the
expression (4.10) for τl, equation (4.18) describing the end effectors synchronization error
becomes
¨x = −[Kpµ2x+Kdµ ˙x]− (ql)⊤Q(ql)ql + (qr)⊤Q(qr)qr + P (ql)(Fh − Fh).
Since (Fh−Fh) is bounded, Proposition 4.4.5 implies that x is bounded with a bound that
Chapter 4. A Bilateral Teleoperation Problem 83
depends linearly on the upper bound of (Fh− Fh). Moreover, the Lyapunov argument in
the proof of Proposition 4.4.5 can be used to show that since (Fh − Fh(t)) → 0, x tends
to zero as well, proving part (iii).
4.4.5 P5: Force control on remote robot
The final part of the teleoperation problem involves causing the end effector of the remote
robot to impart a desired constant force on the manipulation surface, normal to it. The
force in question is provided by the estimation algorithm presented in Proposition 4.4.6.
As we did in the previous section, we assume that the human applies a constant force
normal to the surface, Fh = [0 Fa]⊤.
Proposition 4.4.7. Consider the contact phase models in (4.9) and the feedbacks τl, τr
in (4.10)-(4.11), wirh τr modified as follows
τr(qr, qr, Fa) = C(qr, qr)qr + A†(qr)τ⋔r +N(qr)τ qr − λdes(Fa)∇F (qr), (4.21)
where
λdes(Fa) =
0 if (er, er) 6= (0, 0)
Fa if (er, er) = (0, 0).
Then, this feedback solves P5, and on the contact manifold, the end effector of the remote
robot imparts a force Fh = [0 Fa]⊤ on S.
Proof. Recall from (4.3) that the torque due to the contact force exerted by the ma-
nipulation surface on the end effector of the robot is λ∇F (qr), and since ∇F (qr) =
J⊤(qr)[0 −1]⊤, the contact force is [0 −λ]⊤. By Newton’s third law, the contact force is
equal in magnitude and opposite in direction to the force applied by the end effector on the
surface. Therefore, we need to show that when the remote robot is on the contact man-
ifold, τr in (4.21) gives rise to λ = Fa. First, we argue that the contact manifold ΓrCM is
Chapter 4. A Bilateral Teleoperation Problem 84
invariant for the closed-loop system with feedback τr in (4.21). Indeed, τr in (4.21) differs
from τr in (4.10) by the addition of the term −λdes(Fa)∇F (qr) = λdes(Fa)J⊤(qr)[0 1]⊤.
This implies that the end effector of the robot is subject to an extra force with magni-
tude Fa pointing towards the surface. This extra force cannot cause the end effector to
leave S, and hence ΓrCM is invariant for the closed-loop system. The invariance property
implies that, when er = er = 0, it must be that er = 0. When er = er = 0 we have
er = a(qr) (λ− λdes(Fa)) = a(qr) (λ− Fa) ,
which is zero if and only if λ = Fa.
4.4.6 Summary of controller solving the teleoperation problem
The feedbacks designed in the previous sections are summarized below.
Free motion phase.
τl = 0
τr(q, q, Fh) = C(qr, qr)qr +D(qr)[D−1(ql)(J⊤(ql)Fh − C(ql, ql)ql) + k1e + k2e],
Contact phase.
τl(ql, ql, Fh) = −J⊤(ql)Fh + C(ql, ql)ql + A†(ql)τ⋔l (q
l, ql), (4.22)
τr(q, q, Fa) = C(qr, qr)qr + A†(qr)τ⋔r (qr, qr)
+N(qr)τ ‖r (q, q)− λdes(Fa)∇F (qr), (4.23)
Fh = [0 Fa]⊤, Fa = KIξ, (4.24)
ξ =2γa(ql)
KI[el el]P [0 1]⊤, (4.25)
Chapter 4. A Bilateral Teleoperation Problem 85
where τ⋔l , τ⋔r are found in (4.11), τ qr is found in (4.17), and
a(ql) = ∇F⊤(ql)D−1(ql)∇qlF (ql).
4.5 Simulation results
In this section we illustrate the use of the control laws developed in the previous sec-
tion to solve the bilateral teleoperation problem for the two-link planar manipulators
in Figure 4.1. The initial conditions were chosen so that the two robots are synchro-
nized and the remote end effector is not on the surface, ql(0) = qr(0) = [0.1 0.3]⊤ and
ql(0) = qr(0) = [0 0]⊤. For this example the force applied by the human on the local
end effector is assumed to be constant and equal to 1N in the positive y-direction, i.e.
Fh = [0 1]⊤.
The control laws used before the remote end effector hits the surface, i.e. impact, are
τl = 0 and τr as in (4.8) with J⊤(ql)Fh not used and k1 = 25, k2 = 10. After the impact
the control laws used are given by (4.22) to (4.25) with k1 = 25, k2 = 10, Kp = Kd =
4, µ = 1, KI = 100, γ = 10, 000 and initial condition for the estimator state is ξ(0) = 0.
First we present the results when there is no force control on the remote, i.e. λdes = 0
and then we will show that the results are unaffected by the introduction of force control.
The application of a force by the human on the local end effector drives the end effector
towards the horizontal line y = 1.5 as it can be seen from green curve in Figure 4.5. The
two manipulators initially are synchronized and the control input τr is used to keep this
synchronization true for t ≥ 0 before the remote impacts the surface. Since the human is
applying a constant force the synchronization error will remain bounded and as a result
the remote manipulator follows the motion of the local. As a result the remote end
effector hits the surface at which point the impact is modeled simply as a re-initialization
step for the configuration velocities according to equation (4.7). On the plots this point
Chapter 4. A Bilateral Teleoperation Problem 86
is indicated as a black circle.
0 5 10 15 20 25−0.2
0
0.2
0.4
0.6
0.8
1
1.2
time [s]
e l[m
]
Before ImpactAfter ImpactImpact
0 5 10 15 20 25−0.2
0
0.2
0.4
0.6
0.8
1
1.2
time [s]
e r[m
]
Before ImpactAfter ImpactImpact
Figure 4.5: Motion of the local (left) and remote (right) end effector relative to y = 1.5
After the impact both control inputs force the end effectors to remain at y = 1.5.
For the remote end effector this means that it remains in contact with the surface as it
can be seen from Figure 4.5. On the other hand, the local end effector takes some time
before it remains at y = 1.5, which gives the human the feeling of the presence of the
surface from the remote robot. Also, the dynamics from the end effector of the local
robot in the y-direction are used to estimate the force applied by the human. The result
for the estimate of the force is shown in Figure 4.6. Knowing Fh allows for the local end
effector to be constrained in the y-direction. The force estimate, Fh, initially could vary
in direction and as a result it cannot be used right after the impact for the purpose of
force control. That is the value of λdes has to be greater or equal to zero and as a result
we can use the estimate only after it has settled within the actual value.
Finally, the objective of the two manipulators to synchronize is achieved by the remote
robot’s control input as shown in Figure 4.7. If the human were to move the local end
effector along the horizontal line y = 1.5 then the remote would follow the motion due
our control design.
Chapter 4. A Bilateral Teleoperation Problem 87
0 5 10 15 20 25−5
0
5
10
15
time [s]
Fh[N
]Before Impact
After Impact
Impact
Figure 4.6: Estimate of force applied by human on the local end effector
0 5 10 15 20 25−0.01
0
0.01
0.02
0.03
0.04
0.05
0.06
0.07
0.08
time [s]
ql 1−qr 1[rad]
Before ImpactAfter ImpactImpact
0 5 10 15 20 25−0.05
−0.04
−0.03
−0.02
−0.01
0
0.01
0.02
0.03
time [s]
ql 2−qr 2[rad]
Before ImpactAfter ImpactImpact
Figure 4.7: Synchronization error between the local and remote first link (left) and secondlink (right)
Chapter 5
Conclusions
The notion of virtual holonomic constraint is a control paradigm that can be applied
to various motion control problems. In some cases, drawbacks of traditional reference
tracking controllers can be overcome by using VHCs. An example of this is the work on
bipedal locomotion by Grizzle and collaborators.
In Chapter 2 we have reviewed recent work on VHCs, including a methodology to sta-
bilize a desired oscillation for Euler-Lagrange systems with degree of underactuation one
while simultaneously enforcing a VHC. A natural question to ask is how to synchronize
a collection of Euler-Lagrange systems while simultaneously stabilizing an oscillation.
This is a harder problem than just making the individual systems oscillate, because of
the added specification of synchronization. Such problem was investigated in Chapter 3
in the special case of N underactuated cart-pendulums. We showed how dynamic VHCs
can be used to fully synchronize the N cart-pendulums while simultaneously stabilizing
a desired oscillation of the pendulums about the upright position. The solution utilizes
a master-slave configuration, which is desirable in terms of control design because the
design for the general N case is no more difficult than the N = 2 case. Also, the solution
can be used to solve the problem of swinging up N underactuated cart-pendulums.
Another application of synchronization is the bilateral teleoperation problem. In
88
Chapter 5. Conclusions 89
Chapter 4, we proposed an approach to teleoperation based on VHCs. Our results
concern a specific example, two identical fully actuated planar manipulators, but they
lay the foundations for a research program in this area. The main feature of the proposed
approach is its ability to provide reflect the force imparted by the human on the remote
robot without the need for force sensors.
The results in this thesis leave open a number of questions that could be the subject
of future work. In the N cart-pendulum example, our synchronization result relies on a
master-slave configuration where pendulum i+1 synchronizes itself to pendulum i. Mod-
elling the flow of information between pendulums with a graph, the method of Chapter 3
relies on a chain graph. An open problem is to determine whether more general graph
topologies can be used to solve the synchronization of oscillation problem.
In Chapter 4, we made some simplifying assumptions in order to solve the teleoper-
ation problem using VHCs. It would be interesting to investigate the removal of these
assumptions. In particular, the proposed solution requires the perfect knowledge of the
location of the manipulation surface, which might not be available in practice. As an
alternative, one might consider the use of proximity sensors mounted on the end-effector
of the remote manipulator to obtain information about the location of S. The presence
of such sensors would give rise to the problem of stabilizing a VHC by output feedback,
which to date has not been investigated. Another interesting problem is the adaptation
of our results to the case when the impact with the manipulation surface is elastic, i.e.,
when its coefficient of restitution is non-zero. In this case, the end-effector of the remote
robot “bounces off” the manipulation surface at impact, which introduces a switching be-
tween the free motion and contact phase dynamics. The investigation of the teleoperation
problem for the resulting hybrid system is an interesting open problem.
Bibliography
[1] R.J. Anderson and M.W. Spong. Bilateral control of teleoperators with time delay.
IEEE Transactions on Automatic Control, 34(5):494–501, 1989.
[2] Paul Appell. Exemple de mouvement d’un point assujetti a une liaison exprimee
par une relation non-lineaire entre les composantes de la vitesse. Rend. Circ. Mat.
Palermo, 32:48–50, 1911.
[3] Henri Beghin. Etude theorique des compas gyrostatiques Anschutz et Sperry. PhD
thesis, Faculte des sciences de Paris, 1922.
[4] B. Brogliato, S.I. Niculescu, and P. Orhant. On the control of finite-dimensional
mechanical systems with unilateral constraints. IEEE Transaction on Automatic
Control, 42(2):200–215, 1997.
[5] C. Chevallereau, J.W. Grizzle, and C.L. Shih. Asymptotically stable walking of a
five-link underactuated 3D bipedal robot. IEEE Transactions on Robotics, 25(1):37–
50, 2008.
[6] L. Consolini and M. Maggiore. On the swing-up of the pendubot using virtual
holonomic constrains. In IFAC World Congress, Milano, Italy, 2011.
[7] L. Consolini and M. Maggiore. Control of a bicycle using virtual holonomic con-
straints. 2012. Accepted for publication in Automatica.
90
Bibliography 91
[8] W.R. Ferrell. Delayed force feedback. Human Factors: The Journal of the Human
Factors and Ergonomics Society, 8(5):449–455, 1966.
[9] L. Freidovich, A. Robertsson, A. Shiriaev, and R. Johansson. Periodic motions of the
pendubot via virtual holonomic constraints: Theory and experiments. Automatica,
44:785–791, 2008.
[10] J.W. Grizzle, G. Abba, and F. Plestan. Asymptotically stable walking for biped
robots: Analysis via systems with impulse effects. IEEE Transactions on Automatic
Control, 46(1):51–64, 2001.
[11] J.W. Grizzle, C. H. Moog, and C. Chevallereau. Nonlinear control of mechanical sys-
tems with an unactuated cyclic variable. IEEE Transactions on Automatic Control,
50(5):559–576, 2005.
[12] B. Hannaford and J.H. Ryu. Time-domain passivity control of haptic interfaces.
IEEE Transactions on Robotics and Automation, 18(1):1–10, 2002.
[13] P.F. Hokayem and M.W. Spong. Bilateral teleoperation: An historical survey. Au-
tomatica, 42:2035–2057, 2006.
[14] P.A. Ioannou and J. Sun. Robust Adaptive Control. PTR Prentice-Hall, Upper
Saddle River, NJ, 1996.
[15] D. Jankuloski, M. Maggiore, and L. Consolini. Further results on virtual holonomic
constraints. In 4th IFAC Workshop on Lagrangian and Hamiltonian Methods for
Non Linear Control, Bertinoro, Italy, 2012.
[16] H. K. Khalil. Nonlinear Systems. Prentice Hall, Upper Saddle River, NJ, third
edition, 2002.
[17] A. Lobontiu and D. Loisance. Robotic surgery and tele-surgergy: Basic principles
and description of a novel concept. Journal of Surgery, 3(3):208–214, 2007.
Bibliography 92
[18] M. Maggiore and L. Consolini. Virtual holonomic constraints for Euler-Lagrange
systems. In IEEE Transactions on Automatic Control, 2012.
[19] R.M. Murray, Z. Li, and S.S. Sastry. A mathematical introduction to robotic manip-
ulation. CRC, 1994.
[20] E. Nuno, L. Basanez, and R. Ortega. Passivity-based control for bilateral teleoper-
ation: A tutorial. Automatica, 47:485–495, 2011.
[21] F. Plestan, J.W. Grizzle, E.R. Westervelt, and G. Abba. Stable walking of a 7-DOF
biped robot. IEEE Transactions on Robotics and Automation, 19(4):653–668, 2003.
[22] J.H. Ryu, C. Preusche, B. Hannaford, and G. Hirzinger. Time-domain passivity
control with reference energy following. IEEE Transactions on Control Systems
Technology, 13(5):737–742, 2005.
[23] J.A. Sanders and F. Verhulst. Averaging methods in nonlinear dynamical systems.
Applied mathematical sciences. Springer-Verlag, 1985.
[24] P. Seibert and J. S. Florio. On the reduction to a subspace of stability properties of
systems in metric spaces. Annali di Matematica pura ed applicata, CLXIX:291–320,
1995.
[25] A. Shiriaev, J.W. Perram, and C. Canudas-de-Wit. Constructive tool for orbital sta-
bilization of underactuated nonlinear systems: Virtual constraints approach. IEEE
Transactions on Automatic Control., 50(8):1164–1176, August 2005.
[26] A. Shiriaev, A. Robertsson, J. Perram, and A. Sandberg. Periodic motion plan-
ning for virtually constrained Euler-Lagrange systems. Systems & Control Letters,
55:900–907, 2006.
Bibliography 93
[27] A.S. Shiriaev, L.B. Freidovich, and S.V. Gusev. Transverse linearization for con-
trolled mechanical systems with several passive degrees of freedom. IEEE Transac-
tions on Automatic Control, 55(4):893–906, 2010.
[28] M.W. Spong, S. Hutchinson, and M. Vidyasagar. Robot modeling and control. John
Wiley & Sons New York, NY, USA:, 2006.
[29] E.R. Westervelt, J.W. Grizzle, C. Chevallereau, J.H. Choi, and B. Morris. Feedback
Control of Dynamic Bipedal Robot Locomotion. Taylor & Francis, CRC Press, 2007.
[30] E.R. Westervelt, J.W. Grizzle, and D.E. Koditschek. Hybrid zero dynamics of planar
biped robots. IEEE Transactions on Automatic Control, 48(1):42–56, 2003.
Recommended