0% found this document useful (0 votes)
14 views14 pages

Learning Stable Robotic Skills On Riemannian 2023 Robotics and Autonomous S

This paper presents a novel approach for learning stable robotic skills on Riemannian manifolds using a data-efficient method that maps simple dynamical systems to complex skills while ensuring geometric constraints are met. The proposed method, called SDS-RM, utilizes diffeomorphic transformations and is evaluated through simulations and real-world experiments, demonstrating improved accuracy and adaptability compared to existing methodologies. The study also introduces a new Riemannian LASA dataset for benchmarking and highlights the importance of using appropriate mathematical tools for non-Euclidean data in robotics.

Uploaded by

gamerb2kb2k
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
14 views14 pages

Learning Stable Robotic Skills On Riemannian 2023 Robotics and Autonomous S

This paper presents a novel approach for learning stable robotic skills on Riemannian manifolds using a data-efficient method that maps simple dynamical systems to complex skills while ensuring geometric constraints are met. The proposed method, called SDS-RM, utilizes diffeomorphic transformations and is evaluated through simulations and real-world experiments, demonstrating improved accuracy and adaptability compared to existing methodologies. The study also introduces a new Riemannian LASA dataset for benchmarking and highlights the importance of using appropriate mathematical tools for non-Euclidean data in robotics.

Uploaded by

gamerb2kb2k
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 14

Robotics and Autonomous Systems 169 (2023) 104510

Contents lists available at ScienceDirect

Robotics and Autonomous Systems


journal homepage: www.elsevier.com/locate/robot

Learning stable robotic skills on Riemannian manifolds



Matteo Saveriano a , , Fares J. Abu-Dakka b , Ville Kyrki c
a
Automatic Control Lab, Department of Industrial Engineering, University of Trento, Trento, Italy
b
Munich Institute of Robotics and Machine Intelligence (MIRMI), Technical University of Munich, Germany
c
Intelligent Robotics Group, Department of Electrical Engineering and Automation, Aalto University, Finland

article info a b s t r a c t

Article history: In this paper, we propose an approach to learn stable dynamical systems that evolve on Riemannian
Received 31 August 2022 manifolds. Our approach leverages a data-efficient procedure to learn a diffeomorphic transformation,
Received in revised form 11 July 2023 enabling the mapping of simple stable dynamical systems onto complex robotic skills. By harnessing
Accepted 14 August 2023
mathematical techniques derived from differential geometry, our method guarantees that the learned
Available online 19 August 2023
skills fulfill the geometric constraints imposed by the underlying manifolds, such as unit quaternions
Keywords: (UQ) for orientation and symmetric positive definite (SPD) matrices for impedance. Additionally, the
Learning from Demonstration method preserves convergence towards a given target. Initially, the proposed methodology is evaluated
Learning stable dynamical systems through simulation on a widely recognized benchmark, which involves projecting Cartesian data
Riemannian manifold learning onto UQ and SPD manifolds. The performance of our proposed approach is then compared with
existing methodologies. Apart from that, a series of experiments were performed to evaluate the
proposed approach in real-world scenarios. These experiments involved a physical robot tasked with
bottle stacking under various conditions and a drilling task performed in collaboration with a human
operator. The evaluation results demonstrate encouraging outcomes in terms of learning accuracy and
the ability to adapt to different situations.
© 2023 The Author(s). Published by Elsevier B.V. This is an open access article under the CC BY license
(http://creativecommons.org/licenses/by/4.0/).

1. Introduction and goal points are examples of complex robotic skills that a non-
linear DS can effectively generate. To learn complex robotic skills,
Robots that successfully operate in smart manufacturing have DS-based approaches for LfD assume that the demonstrations of
to be capable of precisely controlling their behavior in terms of a robotic skill are observations of the time evolution of a DS. DSs
movements and physical interactions [1]. In this regard, modern are flexible motion generators that allow, for example, to encode
industrial and service robots need flexible representations of such periodic and discrete motions [13], to reactively avoid possible
intended behaviors in terms of motion, impedance, and force collisions [14–16], or to update the underlying dynamics in an
skills (see Fig. 1). The development of such representations is a incremental fashion [17,18].
key aspect in speeding up the integration of robotic solutions in Although DS-based representations have several interesting
social and industrial environments. properties, most works assume that the data are observations of
Learning approaches have the possibility to unlock the full Euclidean space. However, this is not always the case in robotics
potential of smart robotic solutions. Among the others, the Learn- where data can belong to a non-Euclidean space. Typical ex-
ing from Demonstration (LfD) paradigm [2] aims at developing amples of non-Euclidean data are orientation trajectories rep-
learning solutions that allow the robot to enrich its skills via resented as rotation matrices and Unit Quaternions (UQs), and
human guidance. Among the several existing approaches [3,4], Symmetric Positive Definite (SPD) matrices for quantities such as
the idea of encoding robotic skills into stable Dynamical Systems inertia, impedance gains, and manipulability, which all belong to
(DSs) has gained interest in the LfD community [5–12]. In this Riemannian manifolds. Applying standard arithmetic tools from
context, a robotic skill is any robot motion, either with a given Euclidean geometry on Riemannian manifolds leads to inaccura-
start and goal (point-to-point or discrete motion), or periodic. A cies and incorrect representations, which can be avoided if the
linear point-to-point motion is an example of simple robotic skill proper mathematical tools developed for Riemannian manifolds
that can be generated, for instance, with a linear DS. Point-to- are used [19].
point motions with an arbitrarily complex path connecting start In this paper, we propose the following.

∗ Corresponding author. • A novel geometry-aware approach to encode demonstra-


E-mail addresses: [email protected] (M. Saveriano), tions evolving on a Riemannian manifold into a stable dy-
[email protected] (F.J. Abu-Dakka), [email protected] (V. Kyrki). namical system (SDS-RM).

https://doi.org/10.1016/j.robot.2023.104510
0921-8890/© 2023 The Author(s). Published by Elsevier B.V. This is an open access article under the CC BY license (http://creativecommons.org/licenses/by/4.0/).
M. Saveriano, F.J. Abu-Dakka and V. Kyrki Robotics and Autonomous Systems 169 (2023) 104510

Table 1
Comparison among state-of-the-art approaches for LfD on Riemannian manifolds and SDS-RM.
End-Point Multiple demos Multimodal Time-independent Data-efficiency Accuracy+ Training time
DMP [20,21] ✓ – – – high medium low
R-GMM [22] ✓ ✓ – – high medium low
FDMa [9] ✓ – – ✓ high medium low
E-FLOW [23] ✓ ✓ ✓ ✓ low mediumb high
I-FLOW [24–26] ✓ ✓ ✓ ✓ low mediumb high
SDS-RM (ours) ✓ ✓ ✓ ✓ high high low
a
FDM is not designed to work on Riemannian manifolds. However, our formulation allows us to use them to learn a diffeomorphism in TS.
b
E-FLOW and I-FLOW need a hyperparameter search to reach high accuracy. However, performing a hyperparameters search requires a GPU cluster and it is beyond
the scope of this paper. With trial and error, we found a hyperparameter configuration that gives a medium accuracy.

are presented in Section 7. Section 8 states the conclusion and


proposes further research directions.

2. Related works

Classification on Riemannian manifolds is a well-studied


problem in computer vision. In this regard, [28] proposes a dis-
tance measure for SPD matrices and exploits it in a similarity-
based algorithm used for image classification. In order to recog-
nize faces in videos, Huang et al. [29] propose a metric learning
approach that learns a metric between Euclidean and Rieman-
nian input spaces. Chakraborty et al. [30] extend the convolution
operation to Riemannian manifolds using the weighted Frechét
Fig. 1. Experimental setups involving a robot (Franka Emika Panda) and Rieman- mean. In general, approaches that attempt to adapt deep neural
nian data. (Left) The robot stacks a bottle on a rack. This task requires adaptation networks to non-Euclidean fall under the umbrella of geometric
of position and orientation (UQ). (Right) The robot performs collaborative drilling deep learning [31].
with a human. This task exploits stiffness (SPD matrix) modulation. However, LfD is a regression problem that received less in
the literature on manifold learning. Therefore, in the rest of this
section, we discuss LfD both in general and with a specific focus
• Mathematical foundations for SDS-RM to work in any Rie- on DS-based and geometry-aware learning approaches. For a
mannian manifold. In the paper, we provide two manifolds clear comparison, the main features of SDS-RM and of existing
as case studies: (i) UQ, and (ii) SPD manifolds. approaches are summarized in Table 1.
• A data-efficient approach, based on Gaussian Mixture Mod- Learning from Demonstration (LfD) provides a user-friendly
els (GMMs), to learn diffeomorphisms on Riemannian man- framework that allows non-roboticists to teach robots and en-
ifolds. ables robots to autonomously perform new tasks based on that
• An extension of the LASA handwriting dataset [6], a pop- human demonstration [2]. Over the last couple of decades, several
ular benchmark in DS-based LfD, to generate UQ and SPD LfD approaches have been developed [3,4]. LfD approaches can be
trajectories. The resulting Riemannian LASA dataset, pub- categorized into two main groups depending on the underlying
licly available at gitlab.com/geometry-aware/riemannian- learning strategy: (i) deterministic approaches that try to repro-
lasa-dataset, will serve as a benchmark for a quantitative duce the demonstrations with a function approximator, e.g., a
comparison of newly developed approaches. neural network [32,33], and (ii) probabilistic approaches that
learn a probability distribution from the demonstrations. Exam-
To this end, SDS-RM leverages the concept of diffeomorphism ples of this category include GMM [34], Task-Parameterized GMM
(a bijective, continuous, and continuously differentiable map- (TP-GMM) [35], Probabilistic Movement Primitives (ProMP) [36],
ping with a continuous and continuously differentiable inverse), and Kernelized Movement Primitive (KMP) [37].
to transform simple and stable (base) dynamics into complex In both groups, it is possible to learn and retrieve a static
robotic skills. Building on tools from Riemannian geometry, we or a dynamic mapping between input and output. In a static
first present rigorous stability proofs for the base and the dif- mapping the current input, e.g., the time, is mapped into the
feomorphic DSs. We then present a data-efficient approach that desired output, e.g., the robot’s joint angles, while a DS maps
leverages a GMM [27] to learn the diffeomorphic mapping from the input, e.g., the robot joint angles, into its time derivative(s),
linear motion to an arbitrarily complex demonstration, that is, i.e., the joint velocities. In this paper, we focus on learning stable
a demonstration of a point-to-point motion on a Riemannian DSs from data belonging to Riemannian manifolds. However, in
manifold with a possibly nonlinear path connecting start and goal order to provide a more comprehensive review of the exist-
points. As a result, we obtain a DS that accurately represents ing literature, we also highlight some recent Riemannian-based
data evolving on Riemannian manifolds and that preserves the approaches that learn static mappings. Zeestraten et al. [38] ex-
convergence to a given target as well as the geometric structure ploited Riemannian metrics to learn orientation trajectories with
of the data. TP-GMM. Huang et al. [37] proposed to train KMP in the tan-
The rest of the paper is organized as follows. Section 2 presents gent space of unit quaternion trajectories. Kinaesthetic is used
the related literature. Basic concepts of Riemannian geometry are to estimate full stiffness matrices of an interaction task, which
given in Section 3. Section 4 provides the theoretical foundations is subsequently used to learn force-based variable impedance
of SDS-RM. In Section 5, we present an approach to learn stable profiles using Riemannian metric-based GMM/Gaussian Mixture
skills via diffeomorphic maps. SDS-RM is evaluated on a public Regression (GMR) [39]. Later the authors proposed to train KMP
benchmark and compared against a state-of-the-art approach on the tangent space of SPD matrices [40]. Jaquier et al. [41]
in Section 6. Experiments on a real robot (Franka Emika Panda) formulated a tensor-based GMM/GMR on SPD manifold, which
2
M. Saveriano, F.J. Abu-Dakka and V. Kyrki Robotics and Autonomous Systems 169 (2023) 104510

later has been exploited in manipulability transfer and tracking


problem [42]. Calinon [22] extended the GMM formulation to
a variety of manifolds including UQ and SPD. We name this
approach Riemannian GMM (R-GMM). R-GMM is a prominent ap-
proach to performing learning from multiple demonstrations on
Riemannian manifolds and we compare its performance against
SDS-RM in Section 6.
Encoding manipulation skills into stable DSs is achieved by
leveraging time-dependent or time-independent DSs. Dynamic
Movement Primitives (DMPs) [5] are a prominent approach to
encoding robotic skills into time-dependent representations. The
classical DMP formulation has been extended in different ways Fig. 2. A Riemannian manifold M (green surface) and its tangent space Tm M
[43]. Among the others, extensions to Riemannian manifolds are (gray plane) centered at m. The logarithmic Logm (·) and exponential Expm (·)
relevant for this work. Abu-Dakka et al. extend classical DMPs to maps move points from the manifold (a and b) to the tangent space (a and
b) and vice-versa. (For interpretation of the references to color in this figure
encode discrete [44] and periodic [45] unit quaternion trajecto-
legend, the reader is referred to the web version of this article.)
ries, while the work in [20] also considers rotation matrices. The
stability of orientation DMPs is shown in [46]. In [21], DMPs are
reformulated to generate discrete SPD profiles. DMPs exploit a
time-driven forcing term, learned from a single demonstration, to and with multiple demonstrations. FDM is representative of a
accurately reproduce the desired skill. The advantage of having class of LfD approaches (including DMP) that learn from a single
a time-driven forcing term is that the learning scale well to demonstration and it is interesting to compare its performance
high-dimensional spaces—as the learned term only depends on against SDS-RM. This experimental comparison is conducted in
a scalar input. The disadvantage is that the generated motion is Section 6.
forced to follow the stereotypical (i.e., demonstrated) one and E-FLOW and I-FLOW exploit deep invertible neural networks
generalizes poorly outside the demonstration area [8]. Alternative to learn a diffeomorphic mapping. Invertible neural networks
approaches [18,47] learn a state-depended forcing term, but they are slightly more accurate than classical methods, as experi-
still use a vanishing time signal to suppress the forcing term and mentally shown in [24]. However, as shown in [26] and in the
experimental comparison carried out in Section 6, approaches
retrieve asymptotic stability. The tuning of this vanishing signal
based on deep networks require long training time and intense
affects the reproduction accuracy. Moreover, time-dependent DSs
hyperparameters search, which represents a limitation in typical
generate time indexed trajectory that may become unfeasible if
LfD settings. Therefore, SDS-RM leverages a mature and data-
an external perturbation distracts the robot from the trajectory.
efficient approach in LfD (GMM/GMR) to fit a diffeomorphism
On the contrary, time-independent DSs generate the next point
on a manifold. In our previous work [26], we extend I-FLOW
based on the current value of the input and are robust to external
to Riemannian manifolds by projecting training data in a single
perturbations.1
tangent space. However, using a single tangent space is known to
The Stable Estimator of Dynamical Systems (SEDS) [6] is one
introduce approximation errors [22]. Moreover, a formal stability
of the first approaches that learn stable and autonomous DSs.
proof is missing in [26]. In this respect, SDS-RM builds on rigorous
It exploits Lyapunov theory to derive stability constraints for a
stability analysis and uses a moving tangent space to project
GMR-DS. The main limitations of SEDS are the relatively long
the data, which minimizes inaccuracies as experimentally shown
training time and the reduced accuracy on complex motions. The
in Section 5.4.
loss of accuracy is caused by the stability constraints, which has
Finally, the Riemannian Motion Policy (RMP) framework [50,
been called the accuracy vs stability dilemma [8]. To alleviate this
51] consists of closed-loop controllers embedded in a second-
issue, the approach in [11] derives weak stability constraints for a
order dynamics that exploits the Riemannian metric to optimally
neural network-based DS. Contraction theory [48] is used in [10]
track a reference motion. In this respect, RMP and SDS-RM are
to derive stability conditions for a GMR-DS in Euclidean space,
complementary: SDS-RM can be used to generate the desired
and in [49] to encode stable UQ orientations. The extension of
motion and RMP to optimally track it.
SEDS in [7] significantly reduces inaccuracies and training time
by separately learning a (possibly) unstable DS and a stabilizing 3. Background
control input.
Alternative approaches leverage a diffeomorphic mapping be- A Riemannian manifold M is a smooth differentiable topo-
tween Euclidean spaces to accurately fit the demonstrations logical space, for each point of which m ∈ M, it is possible
while preserving stability. Neumann et al. [8] learn a diffeomor- to compute a Tangent Space (TS) Tm M (see Fig. 2). The TS is
phism to map the demonstrations into a space where quadratic equipped with a positive definite inner product ⟨a, b⟩m ∈ R,
stability constraints introduce negligible deformations. The ap- where a, b ∈ Tm M and m ∈ M is the point where the
proach is effective but needs a long training time, as experi- TS is computed. The inner product allows the definition of the
mentally shown in [47]. In a similar direction, Euclideanizing notion of distance on the manifold. Depending on the Riemannian
Flows (E-FLOW) [23] fits a diffeomorphism that linearizes the manifold, points on the TS can be vectors, matrices, or more
demonstrations as if they were generated by a linear DS. The complex mathematical objects. For example, a TS of UQs consists
opposite idea, i.e., transform straight lines into complex mo- of 3D vectors, while a TS of SPD matrices consists of symmetric
tions, is exploited Fast Diffeomorphic Matching (FDM) [9] and matrices. In this work, we indicate a point on the TS using bold
by Imitation Flow (I-FLOW) [24,25]. FDM uses a composition capital letters, i.e., a ∈ Tm M.
of locally weighted (with an exponential kernel) translations The operator that transforms points from a Riemannian man-
to rapidly fit a diffeomorphism from a single demonstration. ifold to its tangent space is the logarithmic map Logm (·) : M →
SDS-RM builds on similar ideas, but it works on Riemannian data Tm M. Its inverse operator is called the exponential map Expm (·) :
Tm M → M. The parallel transport Tm1 →m2 : Tm1 M → Tm2 M
1 The reader is referred to [5,43] for a thorough discussion on advantages and moves elements between tangent spaces while preserving their
disadvantages of time-dependent and time-independent DS representations. angle.
3
M. Saveriano, F.J. Abu-Dakka and V. Kyrki Robotics and Autonomous Systems 169 (2023) 104510

Table 2
Re-interpretation of basic standard operations in a Riemannian manifold [53].
Euclidean space Riemannian manifold
Subtraction


ma = a − m −→ = Log (a)
ma m
Addition


p = m + ma a = Expm −
( →)
ma
Distance dist(m, a) = ∥a − m∥
−→
dist(m, a) = ∥mp∥m
Interpolation
−−−→
m(t) = m1 + t m1 m2 m(t) = Expm1 (t −
m−1−
m→)
2

In case of UQ manifold, a point on the manifold is a =


ν + u, the distance between two UQs a1 and a2 is d(a1 , a2 ) =
arccos(a2 ⊤ a1 ), ā = ν−u is the conjugate of a, and a1 ∗a2 indicates
the quaternion product. Given this, we can define [20]
⎧[ ]
⎨ cos(∥a∥) + sin(∥a∥) a ∗ m, ∥a∥ ̸= 0
∥a∥
Expm (a) = [ (1)
⎩ 1 + [ 0 0 0 ]⊤ ] ∗ m , otherwise,
{
arccos(ν ) ∥u∥ , ∥u∥ ̸ = 0
u
Logm (a) = Log(a ∗ m̄) = (2) Fig. 3. The idea of SDS-RM is to learn a diffeomorphic mapping between TSs
[0 0 0 ]⊤ , otherwise. to transform the trajectories of a base DS into complex motions. Motion on the
TS is projected back and forth to the underlying Riemannian manifold using
Note that the mappings in (1)–(2) are derived from Lie the- exponential and logarithmic maps respectively.
ory [52], which is widely used in robotics. In this formulation,
the mappings are defined in the Lie algebra (the TS at 1 + [0 0
0]), and the quaternion product is used to parallel transport the the linear DS generates trajectories connecting any initial point
vectors from the Lie algebra to the TS placed at a different point x(0) ∈ Rn with any goal g ∈ Rn .
(e.g., m). We seek an ‘‘equivalent’’ of the stable linear dynamics for
In case of SPD manifold, the operators are defined as in [53,54] Riemannian manifolds. In this work, the base DS is the non-linear
1
( 1 1
) 1 dynamics
Expm (a) =m 2 expm m− 2 am− 2 m 2 , (3)
( ) ȧ = ka a = ka Loga (g) ∈ Ta M, (8)
1
− 21 − 12 1
Logm (a) =m logm m
2 am m ,
2 (4)
where the logarithmic map is introduced in Section 3 and its
1 1 1 1 expression depends on the considered Riemannian manifold. The
Tm1 →m2 (a) = m2 m1 a m1 m2 ,
2 2 2 2
(5) non-linear DS in (8), called a geodesic DS, shares similarities with
where expm(·) and logm(·) are the matrix exponential and log- the linear DS in (7) and, for this reason, it is used in this work as
arithm functions respectively. Here, the affine-invariant distance base DS. Indeed, similarly to the term (x−g) in (7), the logarithmic
map in (8) represents the displacement between the current point
[53] is used to compute d(a, m)
 ( ) a ∈ M and the goal g ∈ M. It is worth mentioning that in (8) we
1 1
d(a, m) = logm m− 2 am− 2  , (6) consider the TS at the current state a instead of a fixed TS at the
 
F goal g. As discussed in [22], working in a single TS is inaccurate
where ∥·∥F is the Frobenius norm. and introduces severe deformations in the learned trajectory. On
Other basic operations on manifolds can be computed as the contrary, in our formulation we always place the TS at the
shown in Table 2. current point, therefore minimizing the distortion.
As stated in Theorem 1, The base DS in (8) is also stable if
4. Diffeomorphic DS on manifolds the gain ka > 0. This implies that the base DS in (8) generates
trajectories connecting any initial point a(0) with any goal g
Inspired by [23], we apply a diffeomorphism to a stable (base) (see Fig. 4). Stability results are formally stated in Theorem 1
DS evolving on the Riemannian manifold (see Fig. 3). The diffeo- (asymptotic stability) and Remark 3 (exponential stability).
morphism is learned from a set of demonstrations and deforms
the trajectories of the base DS to accurately match the demon- Theorem 1. Let the gain ka > 0. Assume also that Logg (a) =
strations. In order to effectively apply this idea, we first need to −Tg→a Loga (g), where Tg→a is the parallel transport from g to a.
design a stable DS evolving on the Riemannian manifold. This Under these assumptions, the DS in (8) has a globally (in its domain
DS provides the basic motion that connects the initial point to of definition) asymptotically stable equilibrium at g.
the desired goal. Second, we need to show that a diffeomorphic
transformation preserves the stability of the base DS. This result, Proof. Let us express the velocity field (8) in g using parallel
known for the Euclidean space, extends to Riemannian manifolds transport. By assumption, it holds that
as shown in this section. Tg→a ȧ = −ka Logg (a) ∈ Tg M. (9)

4.1. Base DS on Riemannian manifolds To prove the stability of (9), one can define the Lyapunov candi-
date function [56]
In Euclidean space, a linear DS in the form V (a) = ⟨a, a⟩g = ⟨Logg (a), Logg (a)⟩g (10)
ẋ = −kx (x − g) (7) and follow the same arguments outlined in [42, Section 4.2.2] for
SPD matrices. □
is often used as base2 DS. Indeed, if the gain kx > 0, the linear
DS in (7) is globally exponentially stable [55]. This implies that
Remark 1. The assumption made in Theorem 1 that logg (a) =
−Tg→a Loga (g) holds for any Riemannian manifold [57, Theorem
2 Note that some authors assume, without loss of generality, that g = 0. 6].
4
M. Saveriano, F.J. Abu-Dakka and V. Kyrki Robotics and Autonomous Systems 169 (2023) 104510

Remark 2. The results of Theorem 1 hold where the logarithmic 5. Learning stable skills via diffeomorphisms
map is uniquely defined, i.e., in a region that does not contain
points conjugate to g [56]. For SPD matrices, this holds every- The stability theorems provided in Section 4 give solid the-
where [53]. Hence, Theorem 1 is globally valid on the manifold oretical foundations to our learning approach. In this section,
of SPD matrices. For unit m-sphere (including UQ), instead, the we describe how to generate training data suitable to learn a
logarithmic map Loga (·) is defined everywhere apart from the diffeomorphic map on manifolds. The approach, as well as the
antipodal point −a [58]. derivations in Section 4, are quite general and allow the use of
different approaches to find the sought diffeomorphism. We then
Even if it is not strictly required in our approach, it is inter-
describe how GMM/GMR, a consolidated and data-efficient ap-
esting to show that, like the linear DS in (7), the DS in (8) is
proach for LfD, can be extended to learn such a diffeomorphism.
exponentially stable.
Finally, we discuss how to apply our approach to two popular
Riemannian manifolds, namely the unit quaternions and the SPD
Remark 3. Under the assumptions of Theorem 1, the DS in (8)
matrices.
has a globally (in its domain of definition) exponentially stable
equilibrium at g [42, Section 4.2.2].
5.1. Data pre-processing
4.2. Diffeomorphic DS
We aim at learning a diffeomorphism ψ (·) that maps the
A diffeomorphic map or a diffeomorphism ψ is a bijective, trajectory a(t), solution of the base DS in (8), into an arbitrarily
continuous, and with continuous inverse ψ −1 change of coor- complex demonstration. To this end, let us assume the user
dinates. In this work, we assume that ψ : Ta M → Ta M, provides a set of D ≥ 1 demonstrations each containing L points
i.e., the diffeomorphism transforms a global coordinate a ∈ Ta M on a Riemannian
{ }L,Dmanifold. Demonstrations are organized in the
into another global coordinate b = ψ (a) ∈ Ta M. Further, set B = bdl l=1,d=1 , where each bdl ∈ M. We also assume
the diffeomorphism ψ is assumed to be bounded, i.e., it maps that the demonstrations converge to the same goal (b1L = · · · =
bounded vectors into bounded vectors. bDL = g) and that a sampling time δ t is known. When collecting
In order to match a set of demonstrations, we apply ψ to the demonstrations using kinesthetic teaching, it is possible to ob-
base DS in (8). More in detail, let us assume that a = Loga (g), and serve some variations in the final point. In this case, we re-scale
that the dynamics of the global coordinates ȧ is described by (8). the trajectories to converge to the same goal, which is defined
By taking the time derivative of b, we obtain the DS [23] by the user (e.g., as the average of the end points). It is worth
∂ψ mentioning that, when orientation trajectories are collected from
ḃ = ȧ = ka Jψ (ψ −1 (b))ψ −1 (b), (11) demonstrations with a real robot, it is needed to extract UQs
∂a from rotation matrices. This is because the robot’s forward kine-
where Jψ (·) is the Jacobian matrix of ψ evaluated at a particular matics is typically expressed as a homogeneous transformation
point and the inverse mapping a = ψ −1 (b) is used to remove the matrix [59]. While numerically extracting UQs from a sequence
dependency on a. Having assumed that ψ is a bounded diffeomor- of rotation matrices, it can happen that the approach returns a
phism, the right side of (11) satisfies the Lipschitz condition and, quaternion at time t and its antipodal at t + 1. This is because
therefore, the DS in (11) admits a unique solution. The stability antipodal UQs represents the same rotation. To prevent this dis-
of the diffeomorphic dynamics in (11) is stated by the following continuity, one can check that the dot product qt · qt +1 > 0,
theorem. otherwise, replace qt +1 with −qt +1 .
Given the set of demonstrations B, we generate a set of D base
Theorem 2. The diffeomorphic DS in (11) inherits the stability trajectories by projecting (8) on the manifold. More in detail, we
properties of the base DS in (8). That is if the base DS is globally (in set the initial condition ad1 = bd1 and project the tangent space
its domain of definition) asymptotically stable so is the diffeomorphic velocity on the manifold using the exponential map as
DS.
adl+1 = Expad δ t ȧdl ∀ l, d
( )
(13)
l
Proof. From the proof of Theorem 1, it holds that V (a) defined
in (10) is a Lyapunov function for the base DS in (8). As shown The time derivative ȧdl is defined as in (8), and the exponen-
in [23, Section 3.2], the function Vψ (b) = ⟨ψ −1 (b), ψ −1 (b)⟩g′ , tial/logarithmic maps for UQ and SPD manifolds are defined as
where g′ is the point where ψ −1 (Loga (g)) = 0, is a valid in Section 3. { }L,D
Lyapunov function for the diffeomorphic DS in (11). □ The D base trajectories are organized in a set A = adl l=1,d=1 .
In order to transform the datasets A and B into suitable training
Remark 4. Theorem 2 states the convergence of the DS (11) to data we proceed as follows. We use the logarithmic map adl =
the equilibrium g′ . This point may differ from the equilibrium g of Logad (g), ∀l, d to project the goal g in each TS placed at adl . We
l
the base DS (8). However, in LfD, we are interested in converging use the logarithmic map bdl = Logad (bdl ), ∀l, d to project each
l
to a given goal—let’s say g for simplicity. Assuming that the in-
point in B in the TS placed at adl . As a result, we obtain the sets
verse mapping ψ −1 (·) is identity at the goal, i.e., ψ −1 (Loga (g)) = { d }L,D { d }L,D
Loga (g) = 0, it is straightforward to show from Theorem 2 that A = al l=1,d=1 and B = bl l=1,d=1 . In other words, we have in
the DS (11) also convergences to g. A the points from the base the DS (8) that exponentially converge
towards g and in B their demonstrated values. Note that each adl
Given the global coordinate b, we compute the corresponding and bdl is expressed in the same TS to make them comparable.
manifold point b through the exponential map as After this procedure, the learning problem becomes how to
fit a mapping between A and B while preserving the stability.
b = Expa (b). (12)
Exploiting the theoretical results in Theorem 2 and Remark 4, this
Recalling that the exponential map is a local diffeomorphism, the learning problem is solved by fitting a diffeomorphism between
composite mapping Expa (b) = Expa ◦ ψ (a) can be considered a A and B. The resulting approach is presented in the rest of this
diffeomorphism between manifolds. section.
5
M. Saveriano, F.J. Abu-Dakka and V. Kyrki Robotics and Autonomous Systems 169 (2023) 104510

5.2. GMM /GMR-based diffeomorphism

A GMM [27] models the joint probability distribution p(·) be-


tween training data as a weighted sum of K Gaussian components
N (·), i.e.,
K

p(a, b|Θk ) = πk N (a, b|µk , Σk ), (14)
k=1

where each Θk = {πk , µk , Σk∑


} contains learning parameters. The
K Fig. 4. The convergence rate of the base DS in (8) depends on the gain ka = Lkδ t .
K mixing weights πk satisfy k=1 πk = 1, while the means and The figure shows the trajectory of the first entry a11 of a 2 × 2 SPD matrix for
covariance matrices are defined as a11 (0) = 3, g11 = 1, L = 100, δ t = 0.01 s, and k ∈ [1, 2, 3, 5].
µak
[ ] [ ]
Σaa Σab
µk = , Σk = k k . (15)
µbk Σba
k Σbb
k
interested in converging to a given target that is independent of
As shown in [13] for periodic DSs in Euclidean space, we
the learning process. Moreover, since the base and diffeomorphic
can use conditioning and expectation on the joint distribution
DSs have the same initial condition (a0 = b0 ), it is also beneficial
in (14) to compute the mapping ψ (a) and its inverse ψ −1 (b). The that the learned diffeomorphism is an identity at the initial point,
sought mappings ψ (a) = E[p(b|a)] and ψ −1 (b) = E[p(a|b)] are i.e., that ψ (Loga0 (g)) = a0 = ψ −1 (Loga0 (b0 )) = b0 , to prevent
computed in closed-form using GMR [27,60] as: discontinuities in the initial velocity.
K
∑ In order to force the diffeomorphism to be an identity at the
ψ (a) = hk (a) µbk goal, we augment the learned GMM with a ‘‘small’’ component
(
k=1
placed at Logg (g) = 0. More in details, we augment the K learned
(16) components of the GMM (14) with πK +1 and N (a, b|µK +1 , ΣK +1 )
+Σba aa −1
(a − µak ) ,
)
k (Σ k ) and set µK +1 = 0 and ΣK +1 = kN I. We re-scale the priors from
πk N (a|µak , Σaa
k ) 1 to K as πk = πk − πK +1 /K to ensure that the K + 1 priors sum
hk (a) = ∑K , up to one. Conditioning with this new component makes points
π
i=1 i N (a|µ a
,
i Σi )
aa
be mapped arbitrarily close to the goal. The distance to the goal
and depends on the gain kN . In this work, we set kN = 1 × 10−5
K
∑ and πK +1 = 0.01. We use a similar strategy to enforce a smooth
ψ −1 (b) = hk (b) µak start. Given the initial point on the manifold a0 = b0 = a,
(
k=1
we project it into the TS and place a small Gaussian around
it, i.e., π0 = 0.01 and N (a, b|µ0 = [Loga (g)⊤ , 0⊤ ]⊤ , Σ0 =
+Σab bb −1
(b − µbk ) , (17)
)
k (Σk ) 1 × 10−5 I). Conditioning with this new component ensures that
πk N (b|µbk , Σbb
k )
ψ (Loga (g)) ≈ ψ −1 (Loga (b0 )) ≈ Loga (g).
hk (b) = ∑K . The possibility to change the goal, even on-the-fly (goal switch-
i=1 πi N (b|µbi , Σbb
i ) ing), is one of the appealing properties of DS-based skill rep-
It is worth noticing that since both ψ (a) and its inverse ψ −1 (b) resentations. Changing the goal in our SDS-RM also is possible.
exist and are differentiable, ψ (a) is a diffeomorphism. However, as already known for other DS-based approaches [21],
In order to build the DS in (11), we need to compute the switching the goal may cause jumps in the generated trajectories
Jacobian matrix Jψ (a) which has the closed-form expression given and consequently high acceleration of the robot. In order to
in (18). For completeness, we provide the full derivation of Jψ (a) avoid this problem, we exploit a geodesic dynamics that smoothly
varies the goal from g to gnew . In formulas
in Appendix A. Note that the term ψ̂ (a) in (18) is already com-
puted in (16) and can be reused to speed up the computation of ġnew = kg Logg (gnew ), (19)
the Jacobian.
where kg > 0 ensures convergence to gnew as stated in Theo-
K
∑ [ rem 1. An example of this procedure applied to UQ is shown in
Jψ (a) = hk (a) Σba aa −1
k (Σk ) + Section 7.1.
k=1 The tunable gain kb controls the convergence rate of
{ the
}L,Dbase
K
(∑ DS in (8) (see Fig. 4). Given the demonstrations B = bdl l=1,d=1
)−1
hi (a) Σaa (a − µai )− and the sampling time δ t, we want that adL – obtained using (13)
(
i (18)
i=1 – reaches bdL within a certain time. As shown in Fig. 4, too small
values of kb may fail to ensure that adL ≈ bdL . On the contrary, too
) ]
)−1
hk (a) Σaa (a − µak ) ψ̂ (a)⊤ ,
(
k large values of kb cause a large part of the trajectory to be close
to bdL . This makes the learning problem harder as similar points
ψ̂ (a) = µbk + Σba aa −1
k (Σk ) (a − µak ). need to be mapped into potentially different ones, i.e., the data
distribution tends to be multi-modal. Inspired by results from
5.3. Point-to-point motion on Riemannian manifolds linear systems analysis, we can rewrite the control gain as ka =
k
Lδ t
. Dividing by Lδ t makes the control gain independent from
The GMM/GMR-based diffeomorphism presented in the pre- the number of samples and training time. Therefore, the newly
vious section does not explicitly consider that we aim at repro- introduced parameter k produces the same results at different
ducing discrete motions, i.e., motions with a specific initial and temporal scales. Given the initial point on the manifold a(0), one
final point. In particular, there is no guarantee that the learned can choose how well the base trajectory has to reach the goal and
diffeomorphism is an identity at the goal, i.e., that ψ (Logg (g)) = define k accordingly.
ψ (0) = ψ −1 (0) = 0, which is sufficient to guarantee that The proposed approach to learn stable DS on Riemannian
base and diffeomorphic DSs have the same goal (Remark 4). This manifolds is summarized in Algorithm 1.
property is of importance in DS-based LfD, as we are generally
6
M. Saveriano, F.J. Abu-Dakka and V. Kyrki Robotics and Autonomous Systems 169 (2023) 104510

Algorithm 1: SDS-RM on UQ and SPD manifolds – and compare the results against
FDM [9], R-GMM [22], and E-FLOW [23]. It is worth mention-
1: Pre-process data
ing that FDM has not been designed to work on Riemannian
{ }L,D
– Collect demonstrations B = bdl manifolds. However, the procedure described in Section 4 allows
l=1,d=1
exploiting different approaches to fit a diffeomorphism between
– Define the sampling time δ t
{ }L,D TSs.
– Compute base trajectories A = adl l=1,d=1 using (13)
– Project to TS using Loga (g) ((2) or (4)) to obtain 6.1. The Riemannian LASA dataset
{ }L,D { }L,D
A = adl l=1,d=1 , B = bdl l=1,d=1 . (For SPD profiles,
vectorize data using Mandel’s notation.) In the LfD literature, there is no available dataset to test DS-
based algorithm on Riemannian manifolds. Therefore, we have
2: Learn a diffeomorphism represented as a GMM created a new one by modifying the popular benchmark – the
– Place a small Gaussian component at the origin of the LASA handwriting data-set [6] – to generate manifold (namely
TS (πK +1 = π , N (a, b|0, kN I )) UQ and SPD) motions. The LASA handwriting contains 30 classes
– Place a small Gaussian component at the initial point of 2D Euclidean motions starting from different initial points and
(π0 = π , N (a, b|a, kN I )) converging to the same goal [0, 0]⊤ . Each motion is demonstrated
7 times. A demonstration has exactly 1000 samples and includes
3: Generate Riemannian motion via GMR position, velocity, and acceleration profiles.
The key idea to generate Riemannian data from Euclidean
– Compute ψ −1 from (17), J ψ from (18), and the velocity
points is to consider each demonstration as an observation of a
from (11).
motion in the TS of a given Riemannian manifold. This allows us
– Project on the manifold using (13).
to use the exponential map to project the motion onto the man-
ifold. As discussed in Section 3, the TS is computed wrt a point
on the manifold. For converging motions, as the one generated
by SDS-RM, the TS can be conveniently placed at the goal. We
defined the goal as qg = 1 + [0, 0, 0]⊤ for UQs and as G =
diag([100, 100]) for SPD matrices, but other choices are possible.
It is worth noticing that the described procedure is rather general
and can be applied to Euclidean benchmarks different from the
LASA dataset.
Data in the original LASA dataset are 2D (xy-plane), but the TS
of UQs and 2 × 2 SPD matrices are3 3D. To add the third dimen-
sion, we consider the 7 demonstrations of each motion class as
a matrix Ci for i = 1, . . . , 30 with 14 rows and 1000 columns.
Out of each Ci , we extract the 4 matrices C1,i = Ci [0 : 2, :], C2,i =
Ci [4 : 6, :], C3,i = Ci [8 : 10, :], and C4,i = Ci [[12, 13, 0], :]. As a
result, we obtain 4 demonstrations for each motion class, with
the third component sampled for the demonstration along the x-
Fig. 5. Results obtained with SDS-RM on the ‘‘N’’ shape. axis. In this way, the third component is similar across different
demonstrations of the same motion – as in a typical LfD setting
– and contains sufficient complexity. Finally, the 3D trajectories
contained in the matrices C1,i to C4,i are then projected to the
corresponding manifold using the exponential map. For UQ, we
5.4. Learning in current and fixed TS
scale the data between [−1, 1] before projecting them on the unit
sphere.
In this example, we show the benefits of learning manifold
motions in the tangent space placed at the current point, called
6.2. Evaluation procedure
the current TS in this work, in contrast to projecting the entire
trajectory in a unique (fixed) TS. We use the ‘‘N’’ shape on S 2
We use the Riemannian LASA dataset described in the pre-
provided in [22] and shown in Fig. 5 (black dots). The trajec-
vious section to compare SDS-RM against two baselines and
tory is designed to span both the north and south hemispheres,
three state-of-the-art approaches. The baselines are built con-
where the Lie algebra is known to introduce a non-negligible
sidering as base DS the Euclidean dynamics in (7) and a GMM-
approximation [22].
based diffeomorphism in Euclidean space. The baseline for UQs,
We follow the steps in Algorithm 1 using in one case the
named DS+Normalize, performs an extra normalization step to
current TS and the Lie algebra (i.e., the TS at the north pole)
fulfill manifold constraints. The baseline for SPD matrices, named
in the other. Qualitative results in Fig. 5(a) confirm that using
DS+Cholesky, exploits Cholesky decomposition and Mandel’s no-
the current TS, SDS-RM can effectively encode the trajectory. The
tation to vectorize the matrix for training and re-build an SPD
same result can be obtained using a TS at the goal and parallel
transporting the data at each step (see the assumption in Theo- matrix from the generated vector. The other approaches included
rem 1). However, this choice would increase the computational in the comparison are FDM, R-GMM, and E-FLOW. The Rieman-
complexity due to the need for parallel transport. As expected, nian LASA dataset contains 30 classes. In this experiment, we
using the Lie algebra results in severe distortions (Fig. 5(b)). consider a subset of 26 individual motions that neglects the
4 multi-modal motions. The multi-modal motions, obtained by
6. Validation combining 2 or 3 individual motions, contain different patterns

In this section, we validate the proposed approach on a public 3 The TS of a SPD matrix is a symmetric matrix which can be vectorized. For
benchmark – properly modified to represent trajectories evolving 2 × 2 SPD matrices the TS has 3 independent components.

7
M. Saveriano, F.J. Abu-Dakka and V. Kyrki Robotics and Autonomous Systems 169 (2023) 104510

Fig. 6. Qualitative results obtained on the Riemannian LASA dataset. Reproduced trajectories (brown solid lines) are obtained by applying the diffeomorphism learned
with SDS-RM on the TS demonstrations (black dashed lines). It is worth noticing that TS data are in 3D, but we choose a view angle that makes the plot similar to
the original 2D data. (For interpretation of the references to color in this figure legend, the reader is referred to the web version of this article.)

and vary the number of epochs k. Table 3 reports the value of k


used in this experiment.
The performance of each approach is measured considering
the accuracy in reproducing the demonstrations contained in the
dataset and the Training Time (TT). The accuracy is measured as
the Root Mean Square Error (RMSE) between each demonstration
and the corresponding generated motion (first 100 steps), i.e., a
trajectory generated starting from the same point on the mani-
fold. Depending on the manifold (UQ or SPD), distances between
points are computed considering the proper Riemannian distance
(see Section 3). The TT is divided by the number of classes to
Fig. 7. Four motion classes of the Riemannian LASA dataset. (Top) Demonstra- represent the time needed to encode a single motion.
tions (black dashed lines) and trajectories generated by SDS-RM (brown solid
lines) evolving on the SPD cone. (Bottom) Demonstrations (black dashed lines) 6.3. Results
and trajectories generated by SDS-RM (green solid lines) evolving on the UQ
sphere. (For interpretation of the references to color in this figure legend, the
reader is referred to the web version of this article.) The accuracy of SDS-RM in learning the motions in the Rie-
mannian LASA dataset is qualitatively shown in Fig. 6. We show
the demonstrated (black dashed lines) and reproduced (brown
solid lines) motions in the TS. Recall that, in the Riemannian LASA
in different areas of the state space. An approach that effectively
dataset, UQ and SPD motions share the same TS up to a scaling
learns from multiple demonstrations, like SDS-RM, R-GMM, and
factor. Therefore, we expect similar results in both manifolds. This
E-FLOW, can encode such a variability. This is qualitatively shown
is also shown in Fig. 7 where the learned trajectories for 4 motion
in the last four plots of Fig. 6. On the contrary, approaches that
classes in the dataset are projected on the SPD (top row) and UQ
learn from a single demonstration, like FDM and DMP, are ex-
(bottom row) manifold. As expected, the generated motion on the
pected to perform poorly. In order to have a fair comparison with
manifold follows accurately the demonstration.
FDM, we neglect the 4 multi-modal motions in our comparison.
The quantitative results of this evaluation are shown in Ta-
For each of the 26 classes, we considered all the 4 available ble 3. For each approach, we use a metric to experimentally verify
demonstrations in SDS-RM and only one (average) demonstration the violation of geometric constraints. For UQ, we compute the
for FDM. We down-sampled the trajectories to contain exactly maximum deviation of the norm of each generated quaternion
100 points to significantly speed up the testing procedures and from 1 and found that the deviation is about 1 × 10−16 . For SPD
test the data efficiency of each approach. matrices, we compute the minimum value of the eigenvalues of
The two baselines, as well as R-GMM and SDS-RM, have a the generated matrices and found that it was always positive.
single hyperparameter k that is the number of Gaussian compo- As expected, all the considered approaches are able to fulfill
nents. For FDM, instead, the hyperparameter k is the number of the underlying geometric constraints and therefore to properly
kernel functions used to fit the diffeomorphism. On the contrary, represent manifold data.
E-FLOW has a few open hyperparameters including the network SDS-RM accurately represents manifold data and it outper-
structure (number of layers, neurons per layer), the learning rate, forms the baselines as well as the state-of-the-art approaches
and the number of epochs. Performing an exhaustive hyperpa- FDM, R-GMM, and E-FLOW. The baselines are effective in ful-
rameters search requires a GPU cluster and it is beyond the scope filling manifold constraints (the unit norm for UQ, symmetry
of this work. Hence, we keep fixed the structure of the network and positive definiteness for SPD), but fail to accurately encode
and the learning rate (provided by the author’s implementation) Riemannian data. SDS-RM is 45 % more accurate than FDM. This
8
M. Saveriano, F.J. Abu-Dakka and V. Kyrki Robotics and Autonomous Systems 169 (2023) 104510

Table 3
Results for different learning approaches applied to the Riemannian LASA dataset. We report mean and standard deviation for RMSE
and TT.
M Approach k RMSE TT [s]
SDS-RM (ours) 10 0.029 ± 0.019 0.755 ± 0.241
DS + Normalize 10 0.126 ± 0.113 1.621 ± 0.707
S3 FDM [9] 250 0.043 ± 0.030 0.201 ± 0.053
R-GMM [22] 10 0.036 ± 0.016 0.387 ± 0.047
E-FLOW [23] 1000 0.141 ± 0.128 112.25 ± 0.570
SDS-RM (ours) 10 0.029 ± 0.019 1.514 ± 0.726
DS + Cholesky 10 0.121 ± 0.043 1.899 ± 0.490
2
S++ FDM [9] 250 0.042 ± 0.029 0.221 ± 0.023
R-GMM [22] 10 0.037 ± 0.017 14.514 ± 1.560
E-FLOW [23] 1000 0.140 ± 0.126 127.55 ± 8.434

Authors would like to thank N. Perrin and P. Schlehuber-Caissier for providing the source code of the FDM approach in [9].

than SDS-RM a UQ motion (0.387 s on average), but it is almost


10 times slower on SPD. Overall, we conclude that SDS-RM offers
a better compromise between accuracy and training time.
E-FLOW has the worst performance in terms of accuracy
and training time. This has two main reasons. First, approaches
based on invertible neural networks are sensitive to the hyperpa-
rameters choice, but performing an exhaustive hyperparameters
search would have significantly increased the training time. Sec-
ond, approaches based on invertible neural networks are data
greedy. In other words, they require a relatively large amount
of data to accurately learn. To demonstrate this, we performed
a data-efficiency test by learning a motion in the Riemannian
LASA dataset using 100 and 1000 points for each demonstration.
Results comparing SDS-RM with E-FLOW are shown in Fig. 8.
SDS-RM has the same accuracy (RMSE) in both cases, meaning
data 100 points are already enough to accurately learn the mo-
tion. On the contrary, E-FLOW improves significantly using 1000
points (and the same hyperparameters setting). However, it needs
about 900 s to fit a single motion with 1000 points. This may
be acceptable in some applications, but it is a clear limitation in
smart manufacturing where both precision and usability play a
key role.

Fig. 8. Results for the data-efficiency test. SDS-RM is trained by sub-sampling 7. Robot experiments
each demonstration to 100 points. (a) SDS-RM reproduces accurately the
sub-sampled demonstrations. (b) Adjusting the sampling time SDS-RM repro-
duces accurately the original demonstrations (1000 points) without re-training. This section presents experiments4 with a 7 Degree of Free-
(c) E-FLOW is inaccurate when learning from sub-sampled demonstrations.
dom (DoF) manipulator (Franka Emika Panda). The robot’s behav-
(d) E-FLOW achieves the SDS-RM accuracy when learning from the original
demonstrations (1000 points). ior is governed by the Cartesian impedance controller
Fp = Kp (pd − p) + Dp (ṗd − ṗ) ,
(20)
Fo = Ko Logqqd (q) + Do (ωd − ω)
is an expected result as FDM learns from a single demonstra-
tion obtained in this case by averaging the 4 demonstrations in where the subscript p stands for position, o for orientation, and
each class. We expect a similar result by applying DMP-based d for desired. pd and qd are desired position and orientation
approaches [20,21]. Regarding the training time, SDS-RM learns (expressed as UQ) of the robot end-effector. p and q indicate the
a UQ motion (4D) on average in 0.755 s, while FDM takes only measured position and orientation of the end-effector. Desired
0.201 s. For SPD data (2 × 2 matrices), SDS-RM needs on average and measured linear (angular) velocities are indicated as ṗd and
in 1.514 s the learn a motion, while FDM takes only 0.221 s. This
ṗ (ωd and ω). Kp/o and Dp/o are the robot stiffness and damping
is also expected as FDM uses only 1 demonstration for training,
matrices expressed in the robot base frame. Given the stiffness
resulting in 4 times fewer data than SDS-RM. To summarize, FDM
matrices Kp/o – computed as detailed later in this section – the
learns very quickly and it is recommended in applications where
damping matrices Dp/o are obtained by the double diagonalization
< 0.5 s training time is needed. However, most applications
design [61]. Cartesian forces defined in (20) are mapped into joint
do not have such a strict training time requirement but need
accurate motions. In this case, SDS-RM offers high accuracy with torques using the transpose of the manipulator Jacobian (J⊤ ),
a reasonable training time.
[ ]
Fp
R-GMM learns from multiple demonstrations, but it outputs τd = J ⊤
, (21)
Fo
the same trajectory irrespective of the initial pose. This results in
a loss of accuracy, with SDS-RM being about 25 % more accurate
than R-GMM. Regarding the training time, R-GMM learns faster 4 A video of the experiments is available as supplementary material.

9
M. Saveriano, F.J. Abu-Dakka and V. Kyrki Robotics and Autonomous Systems 169 (2023) 104510

reach the goal, and, as a result, the robot stacks the bottle in
the wrong configuration (see the accompanying video). A similar
lack of accuracy also affects E-FLOW, as experimentally shown in
Section 6.3. R-GMM generates the same motion irrespective of
the initial/goal point, which means it would fail in stacking the
bottle in a different location.

7.2. Cooperative drilling

In this task, the robot picks a wooden plate from a container


and moves it to a demonstrated pose where a human operator
will drill it (see Fig. 1). Therefore, the robot has to be stiff at
the end of the motion to keep the desired pose during the
interaction (drilling). During the motion, low impedance gains
can be used to make the robot compliant. More importantly,
the robot needs to be compliant at the beginning of the motion
Fig. 9. Demonstrated (dashed lines) and reproduced (solid lines) pose in order to gently pick the wooden plate from the container.
trajectories for the bottle stacking experiment.
Otherwise, small inaccuracies in the generated motion trajectory
may cause abrupt movements of the container. We provide 3
kinesthetic demonstrations (see Fig. 11(a)) from different starting
7.1. Bottle stacking poses and converging to the same goal. The demonstrations are
l,d , ql,d }l=1 }d=1 where L is the total length of
of the form {{pdemo demo L D

The task of stacking bottles in a rack requires continuous the demonstrations and D = 3 is the number of demonstrations.
adjustment of position and orientation (see Fig. 10). Apart from As in the previous experiment, demonstrated positions and
reaching a desired (stacking) pose, the robot should follow ac- orientations are encoded into two stable DSs using SDS-RM. We
curately the demonstrated trajectory to prevent hitting the rack. use 10 Gaussian components for each system. The desired vari-
We provide 3 kinesthetic demonstrations (dashed lines in Fig. 9) able stiffness profiles are generated using the variability in the
starting at different locations and converging to the stacking pose demonstrations as suggested in several previous works [62–64].
defined by pg = [0.474, 0.185, 0.155]⊤ m and qg = −0.520 + More in detail, we first notice that the Cartesian impedance con-
[0.542, 0.442, 0.491]⊤ . The demonstrations are of the form troller (20) assumes that position and orientation are decoupled.
l,d , ql,d }l=1 }d=1 where L is the total length of the demon-
{{pdemo demo L D
In other words, it assumes that positional errors only affect the
strations and D = 3 is the number of demonstrations. Demon- force, while rotational errors only affect the torque. This allows
strated positions and orientations are encoded into two stable us to learn independent linear and angular stiffness profiles. The
DSs using SDS-RM. We, empirically, use 10 Gaussian components idea is to compute the desired stiffness profile from the inverse
for each system. It is worth mentioning that, in order to fit of the covariance matrix.
position trajectories, we, simply, replace logarithmic and expo- For the linear stiffness matrix Kp , we first compute the covari-
nential maps in Algorithm 1 with an identity map. Results of the ance matrix for each of the D demonstrated positions and for each
learning process are shown in Fig. 9 (solid lines). The robot is time step l = 1, . . . , L as
controlled with the Cartesian impedance controller (20) where D
pd and qd are generated with SDS-RM. The stiffness matrices are 1 ∑ ( demo
pl,i − µp,l pdemo − µp,l ⊤ ,
)( )
Σp,l = l,i (22)
kept to constant high values (Kp = diag([1000, 1000, 1000]) N/m D
and Ko = diag([150, 150, 150]) N m/rad) in this task. With the
i=1

selected impedance gains, the robot is able to follow the desired where the mean µp,l is computed as
pose trajectories, as shown in the top row of Fig. 10. D
One of the interesting properties of DS-based trajectory gener- 1∑
µp,l = pdemo
l,i . (23)
ators is the possibility to converge to different goals. Changing the D
i=1
goal is possible also on Riemannian manifolds by following the
approach we have presented in Section 5.3. To demonstrate the Then, we compute the eigenvalue decomposition of each Σp,l =
robustness of SDS-RM to goal switching we repeated the stacking Vl Λl Vl ⊤ , where Vl is an orthogonal matrix and Λl = diag([λ1,l ,
task in different conditions. In each case, the shifted goal pose λ2,l , λ3,l ]). Since all the demonstrations end up in the same posi-
is obtained by manually placing the robot in a suitable release tion, we know that the eigenvalues of Σp,L vanishes, i.e., ΛL = 0
configuration (from which the bottle was released inside the rack) and V = I. Moreover, we want the stiffness to be maximum at L.
without correcting for small differences in the z-axis. Fig. 10 Therefore, we compute the desired stiffness profile as
(middle) shows the robot successfully stacking the bottle at a dif- ⎡ 1
0 0

ferent position (pg = [0.385, 0.143, 0.172]⊤ m). Fig. 10 (bottom) λ1,l +k̄p
1
Kdemo ⎦ Vl ,
0 0 ⎥ ⊤
= Vl ⎣ (24)

shows the robot successfully performing the stacking task with a p,l λ2,l +k̄p
rotated rack, which implies a significant change in the stacking 1
0 0 λ3,l +k̄p
orientation (qg = −0.58 + [0.37, 0.63, 0.35]⊤ ) and a less pro-
nounced change in the goal position (pg = [0.469, 0.200, 0.165]⊤ where the maximum linear stiffness gain is set to k̄p = 1000 N/m.
m). As shown in Fig. 11(b), the stiffness profile in (24) converges to
The results of this experiment show that SDS-RM accurately Kp,L = diag([k̄p , k̄p , k̄p ]) N/m and varies according to the vari-
encodes full pose trajectories while ensuring convergence to a ability in the demonstrations. Note that existing approaches also
given target (even if not explicitly demonstrated) and fulfill- impose a minimum value for the stiffness. This is straightforward
ing the underlying geometric constraints (the deviation of the to implement but it was not needed in the performed experiment
norm from 1 is about 1 × 10−16 ) in variable orientation data. as the minimum value of the stiffness computed by means of (24)
For comparison, the baseline DS+Normalize fails to accurately was already enough to track the desired trajectory.
10
M. Saveriano, F.J. Abu-Dakka and V. Kyrki Robotics and Autonomous Systems 169 (2023) 104510

Fig. 10. Results of the bottle stacking experiment collected from three runs; each starts from the same starting pose towards different goals. Left panels show the
snapshots of the robot execution; right panels show desired and executed motion trajectories. (Top) The robot reproduces the trajectory generated by SDS-RM from
known (demonstrated) starting and goal poses. (Middle) The robot stacks the bottle at a different position (pg = [0.385, 0.143, 0.172]⊤ m). (Bottom) The rack is
rotated and the robot stacks the bottle at a different pose (pg = [0.469, 0.200, 0.165]⊤ m and qg = −0.58 + [0.37, 0.63, 0.35]⊤ ).

The angular stiffness matrix Ko is typically kept constant [62,


63] or diagonal [64] in related work. We propose instead to
exploit the variance of the demonstrations in the tangent space
of the UQ to derive a full stiffness profile. This is possible as
the tangent space is locally Euclidean. The first step is to project
the demonstrated orientations in the tangent space at the goal
quaternion qg , obtaining {{qdemo
l,d = Logqg (qdemo L D
l,d )}l=1 }d=1 . We com-
pute the covariance matrix of the tangent space demonstrations
qdemo
l,d as
D
1 ∑ ( demo
ql,i − µq,l qdemo − µq,l ⊤ ,
)( )
Σq,l = l,i (25)
D
i=1
∑D
where the mean µq,l = D1 demo
i=1 ql,i . As for the linear stiffness,
we compute the eigenvalue decomposition of Σo,l = Ul Γl Ul ,
where Ul is an orthogonal matrix and Γl = diag([γ1,l , γ2,l , γ3,l ]).
Since all the tangent space data end up to zero – as the tangent
space is placed at the goal – we know that the eigenvalues of Σo,L
vanishes, i.e., ΓL = 0 and U = I. Moreover, we want the stiffness
to be maximum at L. Therefore, we compute the desired stiffness
profile as
⎡ 1 ⎤
γ1,l +k̄o
0 0
1
Kdemo ⎦ Ul ,
⎢ 0 0 ⎥ ⊤
o,l = Ul ⎣ γ2,l +k̄o (26)
1
0 0 γ3,l +k̄o

where the maximum angular stiffness gain is set to k̄0 = 150


N m/rad. As shown in Fig. 11(b), the stiffness profile computed
in (24) converges to Ko,L = diag([k̄o , k̄o , k̄o ]) N m/rad and varies
according to the variability in the demonstrations.
The generated linear and angular stiffness profiles are encoded
into two stable DSs using SDS-RM. We, empirically, use 15 Gaus-
sian components for each system. The results of the learning
procedure, shown in Fig. 11(b), confirm that SDS-RM accurately
Fig. 11. Results for the cooperative drilling experiment. reproduces complex SPD profiles while ensuring convergence to
a given goal.
After the learning, the pose trajectory and stiffness profiles
are used to control the robot (see Fig. 11(c)). The robot picks
11
M. Saveriano, F.J. Abu-Dakka and V. Kyrki Robotics and Autonomous Systems 169 (2023) 104510

the wooden plate from a (blue) container and reaches the drill Data availability
pose. During the motion, the robot is complaint which allows a
safer response to possible external perturbations. For instance, The link to the data is shared in the manuscript. Code will be
a high initial stiffness combined with (small) inaccuracies in shared on request.
the generated trajectory could have generated a jerky motion
of the container while the robot lifts the wooden plate. The Acknowledgments
goal pose, instead, is reached with maximum stiffness. As shown
in Fig. 11(c), during the drilling task the maximum position Part of the research presented in this work has been conducted
deviation along the drilling direction (x-axis) is 3.1 cm (gener- when: M. Saveriano was at the Department of Computer Science,
ating a reaction force of 31 N), while the maximum orientation University of Innsbruck, Innsbruck, Austria, and F. Abu-Dakka
deviation about the z-axis (where the robot perceives the highest was at the Intelligent Robotics Group, Department of Electrical
Engineering and Automation, Aalto University, Finland.
momentum) is 1.8 deg (generating a reaction torque of 4.7 N/m).
This work has been partially supported by the Austrian Re-
This shows that the robot is capable to keep the goal pose, letting
search Foundation (Euregio IPN 86-N30, OLIVER), by CHIST-ERA
the human co-worker drill the wooden plate.
project IPALM (Academy of Finland decision 326304), by the
European Union under NextGenerationEU project iNest
8. Conclusions (ECS 00000043), and by euROBIN project under grant agreement
No. 101070596.
In this paper, we presented Stable Dynamical System on Rie-
mannian Manifolds (SDS-RM), an approach to learn stable DSs Appendix A. Jacobian of the mean of a GMR
evolving on Riemannian manifolds. SDS-RM builds on theoretical
stability results, derived for dynamics evolving on Riemannian Recall that
manifolds, to learn stable and accurate DS representations of K

Riemannian data. Similar to its Euclidean counterparts, SDS-RM ψ (a) = hk (a)ψ̂ (a),
learns a diffeomorphic transformation between a simple stable k=1
(27)
system and a set of complex demonstrations. The key difference
wrt Euclidean approaches is that SDS-RM uses tools from differ-
ψ̂ (a) = µ +b
k Σba aa −1
k (Σk ) (a −µ . a
k)

ential geometry to correctly represent complex manifold data, Using the chain rule and (27), Jψ (a) writes as:
such as orientations and stiffness matrices, with their under- K
lying geometric constraints, e.g., unit norm for unit quaternion ∂ψ (a) ∑ ∂ hk (a)
Jψ (a) = = ψ̂ (a)⊤
orientation and symmetry and positive definiteness for stiffness ∂a ∂a
matrices. The proposed approach is first evaluated in simulation
k=1 (28)
and compared with an existing approach, modified to deal with ∂ ψ̂ (a)
+ hk (a) .
Riemannian data. Due to the lack of publicly available Riemannian ∂a
datasets, we developed a procedure to augment a popular – and Let us compute the two partial derivatives at the right side
potentially any other – Euclidean benchmark with UQ and SPD of (28) separately. Considering the expression of ψ̂ (a) in (27), and
profiles. Finally, in order to perform a thorough evaluation, we applying the chain rule, it is easy to verify that
also conducted a set of experiments with a real robot performing
bottle stacking and cooperative (with a human operator) drilling. ∂ ψ̂ (a)
= Σab aa −1
k (Σk ) . (29)
Overall, the conducted evaluation shows that SDS-RM represents ∂a
a good compromise between accuracy and training time and that Using the quotient rule, and setting N̂k = N (a|µak , Σaa
k ), the
it can be effectively adopted to generate complex robotic skills on ∂ h (a)
expression of ∂ka writes as
manifolds.
∂ N̂ ∑K
In our evaluation, we show the adaptation capabilities of ∂ hk (a) πk ∂ ak i=1 πi N̂i
SDS-RM by changing initial and/or goal points. However, in more = (
∂a ∑K )2
general settings, it is needed to incorporate task-dependant pa- i=1 πi N̂i
rameters to adapt the execution to different domains. Augment- (30)
πi ∂∂N̂a i
∑K
ing SDS-RM with task-dependant parameters while maintaining πk N̂k i=1
its stability properties is an interesting research direction that we
− (
∑K )2 .
intend to explore in future work. i=1 πi N̂i
Moreover, SDS-RM has been evaluated on orientation (UQ)
Recall that the derivative of a multivariate Gaussian distribution
and stiffness (SPD) profiles, but it may be extended to other N̂ wrt the input is given by [65]
Riemannian manifolds. Therefore, our future research will also
focus on investigating the possibility to learn stable DS on diverse ∂ N̂
= −N̂ Σ−1 (a − µ). (31)
manifolds like Grassmann or hyperbolic. Grassmann manifolds ∂a
elegantly encode orthogonal projections, while hyperbolic man- Using (31) to compute the derivatives in (30) we obtain:
ifolds represent a continuous embedding of discrete structures ∑K
with possible application to task and motion planning. These ∂ hk (a) −πk N̂k (Σaak )
−1
(a − µak ) i=1 πi N̂i
=
∂a
manifolds are widely unexploited in robotics and can potentially
(∑ )2
K
unlock new applications. i=1 πi N̂i

πk N̂k Ki=1 πi N̂i (Σaa −1


(a − µai )

i )
Declaration of competing interest + (∑ )2
K
i=1 πi N̂i
The authors declare that they have no known competing finan- ( ∑K
cial interests or personal relationships that could have appeared πk N̂k i=1 πi N̂i
= ∑K −(Σaa k )−1
(a − µ a
)
k ∑K
to influence the work reported in this paper. π
i=1 i iN̂ i=1 πi N̂i
12
M. Saveriano, F.J. Abu-Dakka and V. Kyrki Robotics and Autonomous Systems 169 (2023) 104510
∑K )
i=1 πi N̂i (Σaa
i )
−1
(a − µai ) [23] M.A. Rana, A. Li, D. Fox, B. Boots, F. Ramos, N. Ratliff, Euclideanizing flows:
+ ∑K Diffeomorphic reduction for learning stable dynamical systems, in: A.M.
i=1 πi N̂i Bayen, A. Jadbabaie, G. Pappas, P.A. Parrilo, B. Recht, C. Tomlin, M. Zeilinger
(Eds.), Conference on Learning for Dynamics and Control, in: Proceedings
= hk (a) −(Σaa −1
(a − µPk )
(
k ) of Machine Learning Research, vol.120, 2020, pp. 630–639.
K
)
∑ [24] J. Urain, M. Ginesi, D. Tateo, J. Peters, Imitationflow: Learning deep
+ hi (a)(Σaa
i )
−1
(a −µ a
i) . (32) stable stochastic dynamic systems by normalizing flows, in: IEEE/RSJ
International Conference on Intelligent Robots and Systems, 2020, pp.
i=1
5231–5237.
By substituting (29) and (32) into (28), we obtain the sought [25] J. Urain, D. Tateo, J. Peters, Learning stable vector fields on Lie groups,
2021, arXiv preprint arXiv:2110.11774.
expression of the Jacobian in (18).
[26] W. Wang, M. Saveriano, F.J. Abu-Dakka, Learning deep robotic skills on
Riemannian manifolds, IEEE Access 10 (2022) 114143–114152.
Appendix B. Supplementary data [27] D.A. Cohn, Z. Ghahramani, M.I. Jordan, Active learning with statistical
models, J. Artif. Intell. Res. 4 (1996) 129–145.
Supplementary material related to this article can be found [28] Z. Gao, Y. Wu, M. Harandi, Y. Jia, A robust distance measure for similarity-
based classification on the SPD manifold, IEEE Trans. Neural Netw. Learn.
online at https://doi.org/10.1016/j.robot.2023.104510. Syst. 31 (9) (2020) 3230–3244.
[29] Z. Huang, R. Wang, S. Shan, L. Van Gool, X. Chen, Cross Euclidean-to-
References Riemannian metric learning with application to face recognition from
video, IEEE Trans. Pattern Anal. Mach. Intell. 40 (12) (2017) 2827–2840.
[1] J. Kuffner, J. Xiao, Motion for manipulation tasks, in: Springer Handbook [30] R. Chakraborty, J. Bouza, J.H. Manton, B.C. Vemuri, Manifoldnet: A deep
of Robotics, Springer, 2016, pp. 897–930. neural network for manifold-valued data with applications, IEEE Trans.
Pattern Anal. Mach. Intell. 44 (2) (2022) 799–810.
[2] S. Schaal, Is imitation learning the route to humanoid robots? Trends Cogn.
[31] M.M. Bronstein, J. Bruna, Y. LeCun, A. Szlam, P. Vandergheynst, Geometric
Sci. 3 (6) (1999) 233–242.
deep learning: Going beyond Euclidean data, IEEE Signal Process. Mag. 34
[3] A. Billard, S. Calinon, R. Dillmann, Learning from humans, in: Springer
(4) (2017) 18–42.
Handbook of Robotics, Second Ed., 2016.
[32] M.Y. Seker, M. Imre, J.H. Piater, E. Ugur, Conditional neural movement
[4] H. Ravichandar, A.S. Polydoros, S. Chernova, A. Billard, Recent advances in
primitives, in: Robotics: Science and Systems, Vol. 10, 2019.
robot learning from demonstration, Ann. Rev. Control Robot Autonomous
[33] S. Bahl, M. Mukadam, A. Gupta, D. Pathak, Neural dynamic policies for
Syst. 3 (1) (2020) 297–330.
end-to-end sensorimotor learning, in: NeurIPS, 2020.
[5] A.J. Ijspeert, J. Nakanishi, H. Hoffmann, P. Pastor, S. Schaal, Dynamical
[34] D.A. Reynolds, Gaussian mixture models, Encycl. Biom. 741 (2009)
movement primitives: Learning attractor models for motor behaviors,
659–663.
Neural Comput. 25 (2) (2013) 328–373.
[35] S. Calinon, D. Bruno, D.G. Caldwell, A task-parameterized probabilistic
[6] S.M. Khansari-Zadeh, A. Billard, Learning stable non-linear dynamical
model with minimal intervention control, in: ICRA, 2014, pp. 3339–3344.
systems with Gaussian mixture models, IEEE Trans. Robot. 27 (5) (2011)
[36] A. Paraschos, C. Daniel, J. Peters, G. Neumann, Probabilistic movement
943–957.
primitives, in: NeurIPS, 2013, pp. 2616–2624.
[7] S.M. Khansari-Zadeh, A. Billard, Learning control Lyapunov function to
[37] Y. Huang, F.J. Abu-Dakka, J. Silvério, D.G. Caldwell, Toward orientation
ensure stability of dynamical system-based robot reaching motions, Robot.
learning and adaptation in Cartesian space, IEEE Trans. Robot. 37 (1) (2021)
Auton. Syst. 62 (6) (2014) 752–765.
82–98.
[8] K. Neumann, J.J. Steil, Learning robot motions with stable dynamical sys-
[38] M.J. Zeestraten, I. Havoutis, J. Silvério, S. Calinon, D.G. Caldwell, An
tems under diffeomorphic transformations, Robot. Auton. Syst. 70 (2015)
approach for imitation learning on Riemannian manifolds, IEEE Robot.
1–15.
Autom. Lett. 2 (3) (2017) 1240–1247.
[9] N. Perrin, P. Schlehuber-Caissier, Fast diffeomorphic matching to learn
[39] F.J. Abu-Dakka, L. Rozo, D.G. Caldwell, Force-based variable impedance
globally asymptotically stable nonlinear dynamical systems, Systems
learning for robotic manipulation, Robot. Auton. Syst. 109 (2018) 156–167.
Control Lett. 96 (2016) 51–59.
[10] C. Blocher, M. Saveriano, D. Lee, Learning stable dynamical systems using [40] F. Abu-Dakka, Y. Huang, J. Silvério, V. Kyrki, A probabilistic framework for
contraction theory, in: Nternational Conference on Ubiquitous Robots and learning geometry-based robot manipulation skills, Robot. Auton. Syst. 141
Ambient Intelligence, 2017, pp. 124–129. (2021) 103761.
[11] J. Duan, Y. Ou, J. Hu, Z. Wang, S. Jin, C. Xu, Fast and stable learning of [41] N. Jaquier, S. Calinon, Gaussian mixture regression on symmetric positive
dynamical systems based on extreme learning machine, Trans. Syst. Man definite matrices manifolds: Application to wrist motion estimation with
Cybern.: Syst. 49 (6) (2017) 1175–1185. sEMG, in: 2017 IEEE/RSJ International Conference on Intelligent Robots and
[12] A. Lemme, F. Reinhart, K. Neumann, J.J. Steil, Neural learning of vector Systems, IROS, IEEE, 2017, pp. 59–64.
fields for encoding stable dynamical systems, Neurocomputing 141 (2014) [42] N. Jaquier, L. Rozo, D.G. Caldwell, S. Calinon, Geometry-aware ma-
3–14. nipulability learning, tracking and transfer, Int. J. Robot. Res. (IJRR)
[13] F. Khadivar, I. Lauzana, A. Billard, Learning dynamical systems with (2020).
bifurcations, Robot. Auton. Syst. 136 (2021) 103700.
[43] M. Saveriano, F.J. Abu-Dakka, A. Kramberger, L. Peternel, Dynamic move-
[14] M. Ginesi, D. Meli, A. Roberti, N. Sansonetto, P. Fiorini, Dynamic move-
ment primitives in robotics: A tutorial survey, 2021, arXiv preprint arXiv:
ment primitives: Volumetric obstacle avoidance using dynamic potential
2102.03861.
functions, J. Intell. Robot. Syst. 101 (4) (2021) 1–20.
[15] M. Saveriano, F. Hirt, D. Lee, Human-aware motion reshaping using [44] F.J. Abu-Dakka, B. Nemec, J.A. Jørgensen, T.R. Savarimuthu, N. Krüger,
dynamical systems, Pattern Recognit. Lett. 99 (2017) 96–104. A. Ude, Adaptation of manipulation skills in physical contact with the
[16] M. Saveriano, D. Lee, Learning barrier functions for constrained motion environment to reference force profiles, Auton. Robots 39 (2) (2015)
planning with dynamical systems, in: IEEE/RSJ International Conference 199–217.
on Intelligent Robots and Systems, 2019, pp. 112–119. [45] F.J. Abu-Dakka, M. Saveriano, L. Peternel, Periodic DMP formulation for
[17] K. Kronander, S.M. Khansari-Zadeh, A. Billard, Incremental motion learning quaternion trajectories, in: IEEE International Conference of Advanced
with locally modulated dynamical systems, Robot. Auton. Syst. 70 (2015) Robotics, 2021, pp. 658–663.
52–62. [46] M. Saveriano, F. Franzel, D. Lee, Merging position and orientation motion
[18] M. Saveriano, D. Lee, Incremental skill learning of stable dynamical sys- primitives, in: ICRA, 2019, pp. 7041–7047.
tems, in: 2018 IEEE/RSJ International Conference on Intelligent Robots and [47] M. Saveriano, An energy-based approach to ensure the stability of learned
Systems, IROS, IEEE, 2018, pp. 6574–6581.
dynamical systems, in: IEEE International Conference on Robotics and
[19] M.P. Do Carmo, J. Flaherty Francis, Riemannian Geometry, Vol. 6, Springer,
Automation, 2020, pp. 4407–4413.
1992.
[48] W. Lohmiller, J. Slotine, On contraction analysis for nonlinear systems,
[20] A. Ude, B. Nemec, T. Petric, J. Morimoto, Orientation in Cartesian space
Automatica 34 (6) (1998) 683–696.
dynamic movement primitives, in: ICRA, 2014, pp. 2997–3004.
[21] F.J. Abu-Dakka, V. Kyrki, Geometry-aware dynamic movement primitives, [49] H. Ravichandar, A. Dani, Learning position and orientation dynamics from
in: ICRA, 2020, pp. 4421–4426. demonstrations via contraction analysis, Auton. Robots 43 (4) (2019)
[22] S. Calinon, Gaussians on Riemannian manifolds: Applications for robot 897–912.
learning and adaptive control, IEEE Robot. Autom. Mag. (RAM) 27 (2) [50] N.D. Ratliff, J. Issac, D. Kappler, S. Birchfield, D. Fox, Riemannian motion
(2020) 33–45. policies, 2018, arXiv preprint arXiv:1801.02854.

13
M. Saveriano, F.J. Abu-Dakka and V. Kyrki Robotics and Autonomous Systems 169 (2023) 104510

[51] M. Mukadam, C.-A. Cheng, D. Fox, B. Boots, N. Ratliff, Riemannian mo- Matteo Saveriano received his B.Sc. and M.Sc. degree
tion policy fusion through learnable Lyapunov function reshaping, in: in automatic control engineering from University of
Conference on Robot Learning, PMLR, 2020, pp. 204–219. Naples, Italy, in 2008 and 2011, respectively. He re-
ceived is Ph.D. from the Technical University of Munich
[52] J. Sola, J. Deray, D. Atchuthan, A micro Lie theory for state estimation in
in 2017. Currently, he is an assistant professor at the
robotics, 2018, arXiv preprint arXiv:1812.01537.
Department of Industrial Engineering (DII), University
[53] X. Pennec, P. Fillard, N. Ayache, A Riemannian framework for tensor
of Trento, Italy. Previously, he was an assistant profes-
computing, Int. J. Comput. Vis. 66 (1) (2006) 41–66. sor at the University of Innsbruck and a post-doctoral
[54] S. Sra, R. Hosseini, Conic geometric optimization on the manifold of researcher at the German Aerospace Center (DLR). He
positive definite matrices, SIAM J. Optim. 25 (1) (2015) 713–739. is an Associate Editor for RA-L. His research activi-
[55] J. Slotine, W. Li, Applied Nonlinear Control, Prentice-Hall Englewood Cliffs, ties include robot learning, human–robot interaction,
1991. understanding and interpreting human activities.
[56] F. Pait, D. Colón, Some properties of the Riemannian distance function
and the position vector X, with applications to the construction of
Fares J. Abu-Dakka received his B.Sc. degree in Me-
Lyapunov functions, in: IEEE Conference on Decision and Control, 2010,
chanical Engineering from Birzeit University, Palestine
pp. 6277–6280. in 2003 and his DEA and Ph.D. degrees in robotics
[57] S. Fiori, Manifold calculus in system theory and control–fundamentals and motion planning from the Polytechnic University of Va-
first-order systems, Symmetry 13 (11) (2021). lencia, Spain in 2006 and 2011, respectively. Between
[58] X. Pennec, Intrinsic statistics on Riemannian manifolds: Basic tools for 2013 and 2016, he held a visiting professor position at
geometric measurements, J. Math. Imaging Vision 25 (1) (2006) 127–154. ISA of the Carlos III University of Madrid, Spain. In the
[59] B. Siciliano, L. Sciavicco, L. Villani, G. Oriolo, Robotics: Modelling, Planning period between 2016 and 2019, he was a Postdoc at
and Control, Springer, 2009. Istituto Italiano di Tecnologia. During 2019–2022, he
[60] S. Calinon, Robot Programming by Demonstration: A Probabilistic was a Research Fellow at Aalto University. Currently,
Approach, EPFL/CRC Press, 2009. since 2022, he is a Senior Scientist and leading the
[61] A. Albu-Schaffer, C. Ott, U. Frese, G. Hirzinger, Cartesian impedance control Robot Learning Group at MIRMI, Technical University of Munich, Germany. His
research lies in the intersection of control theory, differential geometry, and
of redundant robots: Recent results with the DLR-light-weight-arms, in:
machine learning in order to enhance robot manipulation performance and
2003 IEEE International Conference on Robotics and Automation, 2003,
safety. He is an Associate Editor for IEEE-ICRA, IEEE-IROS, and IEEE-RA-L.
pp. 3704–3709.
[62] S. Calinon, I. Sardellitti, D.G. Caldwell, Learning-based control strategy for
safe human-robot interaction exploiting task and robot redundancies, in: Ville Kyrki is Associate Professor in automaton tech-
IEEE/RSJ International Conference on Intelligent Robots and Systems, 2010, nology at the Department of Electrical Engineering and
pp. 249–254. Automaton, Aalto University, Finland. During 2009–
[63] J. Silvério, Y. Huang, F.J. Abu-Dakka, L. Rozo, D.G. Caldwell, Uncertainty- 2012 he was a professor in computer science with
specialization in intelligent robotics at the Lappeen-
aware imitation learning using kernelized movement primitives, in:
ranta University of Technology, Finland. He received
IEEE/RSJ International Conference on Intelligent Robots and Systems, IROS,
the M.Sc. and Ph.D. degrees in computer science from
2019, pp. 90–97.
Lappeenranta University of Technology in 1999 and
[64] K. Kronander, A. Billard, Learning compliant manipulation through kines- 2002, respectively. He conducts research mainly in
thetic and tactile human-robot interaction, IEEE Trans. Haptics 7 (3) (2013) intelligent robotic systems, with emphasis on methods
367–380. and systems that cope with imperfect knowledge and
[65] K.B. Petersen, M.S. Pedersen, The Matrix Cookbook, Technical University of uncertain senses.
Denmark, 2012.

14

You might also like