Gaussians on Riemannian Manifoldsfor Robot Learning and Adaptive Control

Gaussians on Riemannian Manifolds
for Robot Learning and Adaptive Control

Sylvain Calinon    Noémie Jaquier The authors are with the Idiap Research Institute, Martigny, Switzerland, noemie.jaquier@idiap.chThis work was supported by the Swiss National Science Foundation (SNSF/DFG project TACT-HAND), and by the European Commission’s Horizon 2020 Programme (MEMMO project,, grant 780684, and DexROV project,, grant 635491).

This paper presents an overview of robot learning and adaptive control applications that can benefit from a joint use of Riemannian geometry and probabilistic representations. We first discuss the roles of Riemannian manifolds, geodesics and parallel transport in robotics. We then present several forms of manifolds that are already employed in robotics, by also listing manifolds that have been underexploited so far but that have potentials in future robot learning applications. A varied range of techniques employing Gaussian distributions on Riemannian manifolds are then introduced, including clustering, regression, information fusion, planning and control problems. Two examples of applications are presented, involving the control of a prosthetic hand from surface electromyography (sEMG) data, and the teleoperation of a bimanual underwater robot. Further perspectives are finally discussed with suggestions of promising research directions.

I Introduction

Data encountered in robotics are characterized by simple but varied geometries, which tend to be underexploited in robot learning and adaptive control algorithms. Such data range from joint angles in revolving articulations [1], rigid body motions [2, 3], orientations represented as unit quaternions [4], sensory data processed as spatial covariances [5], or other forms of symmetric positive definite matrices such as inertia [6, 7], stiffness or manipulability ellipsoids [8]. Moreover, many applications require these heterogeneous data to be handled altogether. Several robotics techniques employ components from the framework of Riemannian geometry. But unfortunately, this is often implemented without providing an explicit link to this framework, which can either weaken the links to other techniques or limit the potential extensions by narrowing the scope of the approach. This can for example be the case when computing orientation errors with a logarithmic map in the context of inverse kinematics, or when interpolating between two unit quaternions with spherical linear interpolation (SLERP). This article aims at highlighting the links between existing techniques and cataloging the missing links that could be explored in further research. These points are discussed in the context of varied robot learning and adaptive control challenges.

This article focuses on techniques requiring uncertainty and statistical modeling to be computed on structured non-Euclidean data. It presents an overview of existing work and further perspectives in jointly exploiting statistics and Riemannian geometry. One of the appealing use of Riemannian geometry in robotics is that it provides a principled and simple way to extend algorithms in robotics initially developed for Euclidean data to other manifolds, by efficiently taking into account prior geometric knowledge about these manifolds.

We will show that by using Riemannian manifolds, data of various forms can be treated in a unified manner, with the direct advantage that existing models and algorithms initially developed for Euclidean data can be readily extended to a wider range of data structures. It can for example be used to revisit optimization problems formulated in standard Euclidean spaces, by treating them as unconstrained problems inherently taking into account the geometry of the data. Figure 1 shows various common problems in robotics that can directly leverage Riemannian geometry.

Fig. 1: Examples of problems in robotics that can leverage the proposed Gaussian-based representation on Riemannian manifolds. Such approach can be used to extend clustering, regression, fusion, control and planning problems to non-Euclidean data. In these examples, Gaussians are defined with centers on the manifolds and covariances in the tangent spaces of the centers.

Most of these problems require data to be handled in a probabilistic manner. For Euclidean data, multivariate Gaussian distributions are typically considered to encode either the (co)variations of the data or the uncertainty of an estimate. This paper will discuss how such approaches can be extended to other manifolds by exploiting a Riemannian extension of Gaussian distributions.

The paper adopts a practitioner perspective with the goal of conveying the main intuitions behind the presented algorithms, sometimes at the expense of a more rigorous treatment for each topic. Didactic source codes accompany the paper, available as part of PbDlib [9], a collection of source codes for robot programming by demonstration (learning from demonstration), including various functionalities for statistical learning, dynamical systems, optimal control and Riemannian geometry. Two distinct versions are maintained, which can be used independently in Matlab (with full compatibility with GNU Octave) or in C++.

The paper is organized as follows. Section II presents an overview of differential geometry in robotics. Section III presents a Gaussian-like distribution on Riemannian manifold, and shows how it can be used in mixture, regression and fusion problems. Section IV presents examples of applications and Section V concludes the paper.

Scalars are denoted by lower case letters , vectors by boldface lower case letters , matrices by boldface uppercase letters . is the transpose of . Manifolds and tangent spaces are designated by calligraphic letters and , respectively.

Ii Differential Geometry in Robotics

Fig. 2: Applications in robotics exploiting statistics on Riemannian manifolds rely on two well-known principles of Riemannian geometry: exponential/logarithmic mapping and parallel transport, which are depicted here on a manifold embedded in . Left: Bidirectional mapping functions between tangent space and manifold. Right: Parallel transport of a vector along a geodesic (see main text for details).

Ii-a Riemannian manifolds

As an informal description, a smooth -dimensional manifold is a topological space that locally behaves like the Euclidean space . A Riemannian manifold is a smooth and differentiable manifold. For each point , there exists a tangent space that locally linearizes the manifold. Any Riemannian manifold is equipped with a positive definite metric tensor. On a Riemannian manifold, this metric tensor induces on each tangent space a positive definite inner product that allows vector lengths and angles between vectors to be measured. The affine connection, computed from the metric, is a differential operator that provides, among other functionalities, a way to compute geodesics and to transport vectors on tangent spaces along any smooth curves on the manifold. It also fully characterizes the intrinsic curvature and torsion of the manifold. The Cartesian product of two Riemannian manifolds is also a Riemannian manifold (often called manifold bundles or manifold composites), which allows joint distributions to be constructed on any combination of Riemannian manifolds.

Two basic notions of Riemannian geometry are crucial for robot learning and adaptive control applications, which are illustrated in Fig. 2 and described below.
Geodesics: The minimum length curves between two points on a Riemannian manifold are called geodesics. Similarly to straight lines in Euclidean space, the second derivative is zero everywhere along a geodesic. The exponential map maps a point in the tangent space of to a point on the manifold, so that lies on the geodesic starting at in the direction . The norm of is equal to the geodesic distance between and . The inverse map is called the logarithmic map . Figure 2-left depicts these mapping functions.
Parallel transport: Parallel transport moves vectors between tangent spaces such that the inner product between two vectors in a tangent space is conserved. It employs the notion of connection, defining how to associate vectors between infinitesimally close tangent spaces. This connection allows the smooth transport of a vector from one tangent space to another by sliding it (with infinitesimal moves) along a curve.

Figure 2-right depicts this operation. The flat surfaces show the coordinate systems of several tangent spaces along the geodesic. The black vectors represent the directions of the geodesic in the tangent spaces. The blue vectors are transported from to . Parallel transport allows a vector in the tangent space of to be transported to the tangent space of , by ensuring that the angle (i.e., inner product) between and the direction of the geodesic (represented as black vectors) are conserved. At point , this direction is expressed as . This operation is crucial to combine information available at with information available at , by taking into account the rotation of the coordinate systems along the geodesic (notice the rotation of the tangent spaces in the figure). In Euclidean space (top-left inset), such parallel transport is simply the identity operator (a vector operation can be applied to any point without additional transformation).

By extension, a covariance matrix can be transported with , using the eigendecomposition . For many manifolds in robotics, this transport operation can equivalently be expressed as a linear mapping .

Ii-B Manifolds in robot applications

Fig. 3: Structured manifolds in robotics. can be used to represent the orientation of robot end-effectors (unit quaternions). can be used to represent manipulability ellipsoids (manipulability capability in translation and rotation), corresponding to a symmetric positive definite (SPD) matrix manifold. can be used to represent trees, graphs and roadmaps. can be used to represent subspaces (planes, nullspaces, projection operators).

The most common manifolds in robotics are homogeneous, providing simple analytic expressions for exponential/logarithmic mapping and parallel transport. We list below the most important representations and provide in the Appendix some of the mapping and transport operations.

Figure 3 shows four examples of Riemannian manifolds that can be employed in robot manipulation tasks. For these four manifolds, the bottom graphs depict , , and , with a clustering problem in which the datapoints (black dots/planes) are segmented in two classes, each represented by a center (red and blue dots/planes).

The geodesics depicted in Fig. 3 show the specificities of each manifold. The hypersphere manifold is characterized by constant positive curvature. The elements of can be represented as the interior of a convex cone embedded in its tangent space . Here, the three axes correspond to , and in the SPD matrix . The hyperbolic manifold is characterized by constant negative curvature. Several representations exist. can for example be represented as the interior of a unit disk in Euclidean space, with the boundary of the disk representing infinitely remote point (Poincaré disk model, as depicted here). In this model, geodesic paths are arcs of circles intersecting the boundary perpendicularly. is the Grassmann manifold of all -dimensional subspaces of .

Examples of applications for the aforementioned Riemannian manifolds are presented below. We also describe two Lie groups widely used in robotics, namely the special orthogonal group 111Note that equipped with a bi-invariant Riemannian metric is also a Riemannian manifold. However, most of the literature exploits the Lie group properties of for robotic applications. and the special Euclidean group . Similarities and differences between Riemannian manifolds and Lie groups are discussed in the next section.
Hyperspheres can be used in robotics to encode directions on . Unit quaternions can be used to represent end-effector orientations [4]. can be used to represent unit directional vector perpendicular to surfaces (e.g., for contact planning). Articulatory joints can be represented on the hypertorus . The Kendall shape space used to encode 3D skeletal motion capture data also relies on unit spheres [10].
Special orthogonal group is the group of rotations around the origin in a -dimensional space. and are widely used in robotics. For example, in [11], the manifold structure of the rotation group is exploited for preintegration and uncertainty propagation in . This is exploited for state estimation in visual-inertial odometry with mobile robots. In [12], Kalman filtering adapted to data in is used for estimating the attitude of robots that can rotate in space. The optimization problem in [13] uses sequential quadratic programming (SQP) working directly on the manifold .
Special Euclidean group is the group of rigid body transformations. A rigid body transformation is composed of a rotation and a translation part. The geometry of is used to describe the kinematics and the Jacobian of robots [2]. Therefore, it is widely used to describe robot motion and pose estimation. For example, in [3], exponential maps are exploited to associate uncertainty with datapoints in robot pose estimation problems.
Symmetric positive definite (SPD) matrices are employed in various ways in robotics. For example, human-robot collaboration applications require the use of various sensors. These sensory data can be pre-processed with sliding time windows to analyze at each time step the evolution of the signals within a short time window (e.g., to analyze data flows). Often, such analysis takes the form of spatial covariances, which are SPD matrices [5]. In robot control, tracking gains can be defined in the form of SPD matrices. The use of tracking gains as full SPD matrices instead of scalars has the advantage of allowing the controller to take into account the coordination of different motors. For articulatory joints, these coordinations often relate to characteristic synergies in human movements. Manipulability ellipsoids are representations used to analyze and control the robot dexterity as a function of the articulatory joints configuration. This descriptor can be designed according to different task requirements, such as tracking a desired position or applying a specific force [8, 14]. Manipulator inertia matrices also belong to and can for example be exploited in human-like trajectory planning [15]. SPD matrices are also used in problems related to metric interpolation/extrapolation and metric learning [16]. In [17], Riemannian manifold policies are for example used to generate natural obstacle-avoiding reaching motion through traveling along geodesics of curved spaces defined by the presence of obstacles.
Hyperbolic manifolds are the analogues of hyperspheres with constant negative curvature instead of constant positive curvature. They are underexploited in robotics, despite their interesting potential in a wide range of representations, including dynamical systems, Toeplitz/Hankel matrices or autoregressive models [18]. Hyperbolic geometry could notably be used to encode and visualize heterogeneous topology data, including graphs and trees structures, such as rapidly exploring random trees (RRT) [19], designed to efficiently search non-convex, high-dimensional spaces in motion planning by randomly building a space-filling tree. The interesting property of hyperbolic manifolds is that the circumference of a circle grows exponentially with its radius, which means that exponentially more space is available with increasing distance. It provides a convenient representation for hierarchies, which tend to expand exponentially with depth.
Grassmannian is the manifold of all -dimensional subspaces of . It can for example be used to extract and cluster planar surfaces in the robot’s 3D environment. This manifold is also underrepresented in robotics, despite such structure can be used in various approaches such as system identification [20], spatiotemporal modeling of human gestures [21], or the encoding of nullspaces and projection operators in a probabilistic manner.

Ii-C Riemannian geometry and Lie theory

A Lie group is a smooth differentiable manifold that possesses a group structure, therefore satisfying the group axioms. There are strong links between Riemannian geometry and Lie theory. In particular, some Lie groups, such as , can be endowed with a bi-invariant Riemannian metric, which give them the structure of a Riemannian manifold. In robotics, Lie theory is mainly exploited for applications involving the groups and .

In the literature, distinctive vocabulary and notation are often employed, which hinder some of the links between the applications exploiting Riemannian geometry and Lie theory. Among these differences, the Lie algebra is the tangent space at the origin of the manifold, acting as a global reference. (hat) and (vee) are used to transform elements from the Lie algebra (which can have non-trivial structures such as complex numbers or skew-symmetric matrices) to vectors in , which are easier to manipulate. They are the operations corresponding to the exponential and logarithm maps in Riemannian geometry. In Lie theory, and are operators used to facilitate compositions with exponential/logarithmic mapping operations.

For further reading, an excellent introduction to Lie theory for robot applications can be found in [22].

Iii Gaussian Distributions on Riemannian Manifolds

Several approaches have been proposed to extend Gaussian distributions in Euclidean space to Riemannian manifolds [23]. Here, we focus on a simple approach that consists of estimating the mean of the Gaussian as a centroid on the manifold (also called Karcher/Fréchet mean), and representing the dispersion of the data as a covariance expressed in the tangent space at the mean [4, 24], providing a simple and easy-to-compute representation. Distortions arise when points are too far apart from the mean, but this distortion is negligible in nearly all robotics applications. In particular, this effect is strongly attenuated when a mixture of Gaussians is considered, as each Gaussian will be employed to model a limited region of the manifold. In the general case of a manifold , such model is a distribution maximizing the entropy in the tangent space. It is defined as

where is a point of the manifold, is the mean of the distribution (origin of the tangent space), and is the covariance defined in this tangent space.

For a set of datapoints, this geometric mean corresponds to the minimization of the quadratic error terms

which can be solved by a simple and fast Gauss-Newton iterative algorithm. The algorithm starts from an initial estimate on the manifold and an associated tangent space. The datapoints are projected in this tangent space to compute a direction vector, which provides an updated estimate of the mean. This process is repeated by iterating

until convergence. In practice, such algorithm converges very fast in only a couple of iterations (typically less than 10 for the accuracy required by the applications presented here). After convergence, a covariance is computed in the tangent space as . As an example of application, this distribution can be used within a control problem to represent a reference to track with an associated required precision (typically, learned from a set of demonstrations). Such learning and control problem results in the linear quadratic tracking (LQT) solution depicted in Fig. 1 and described in details in [25].

Importantly, this geometric mean can be directly extended to weighted distances, which will be exploited in the next sections for mixture modeling, fusion (Gaussian product), regression (Gaussian conditioning) and planning problems.

Iii-a Gaussian mixture model

Fig. 4: Clustering on various manifolds with Gaussian mixture models.
Fig. 5: Learning of Gaussian mixture model with EM algorithm on manifold. Top row: Gaussian mixture model encoding in a single tangent space (at the origin). Bottom row: Proposed Gaussian mixture model, where the covariances are computed in the tangent spaces of the means. On the left figures, the contours of the covariances in the tangent space(s) are projected on the manifold. The right figures show the projections of the data into the tangent spaces considered in the computation of the GMM. We can see that representing the local dispersion of the data as covariances in the tangent spaces of the means (bottom row) results in a much better fit than representing the GMM in a single tangent space (top row).

Gaussian mixture model (GMM) is a ubiquitous representation in robotics, including clustering and modeling of distributions as a superposition of Gaussians, see Fig. 4. Similarly to a GMM in the Euclidean space, a GMM on a manifold is defined by , with the number of components and the mixing coefficients (priors) such that and , . The parameters of this GMM can be estimated by Expectation-Maximization (EM) [26], where the Gauss-Newton procedure presented above is performed in the M-step.

Figure 5-top shows that a GMM computed in a single tangent space (here at the origin of the manifold) introduces distortions resulting in a poor modeling of the data. Figure 5-bottom shows that the proposed representation limits the distortions by encoding the local spread of the data in covariance matrices expressed in different tangent spaces (i.e., at the centers of the Gaussians).

An example of application with links to robotics is [24], where human poses are modeled using a GMM on . A Matlab example demo_Riemannian_Sd_GMM01.m can be found in [9].

Iii-B Gaussian conditioning

As detailed in [4], we consider input and output data jointly encoded as a multivariate Gaussian partitioned with symbols and (input and output). Given an input datapoint , the conditional distribution can be locally evaluated by iterating

with a covariance matrix with parallel transport from to (see Section II for the description of parallel transport). After convergence, the covariance is computed in the tangent space as . Matlab examples demo_Riemannian_Sd_GMR*.m can be found in [9].

Iii-C Fusion with products of Gaussians

As shown in [25, 27], the product of Gaussians on a Riemannian manifold can be locally evaluated by iterating

with covariance matrix transported from to (see Section II for the description of parallel transport). After convergence, the covariance is computed in the tangent space as .

An example of product of Gaussians on is depicted in the top-right inset of Fig. 1. A Matlab example demo_Riemannian_Sd_GaussProd01.m can be found in [9].

Iii-D Model predictive control

Fig. 6: Model predictive control (MPC) on a manifold, with a set of via-points defined by a Gaussian mixture model. Left: Final movement generated by MPC (in gray), superposed with the partial movement (in black) for the given time horizon (1/5 of total duration), predicted at 3/5 of the trajectory. Center: Visualization in the tangent space of , where only two Gaussians appear within the current time horizon. Right: Timeline plot showing the evolution of the first two variables of the state space. The time horizon depicted as a gray box. The reference to track is represented as a set of colored via-points with desired error margins (represented as standard deviations). We can see that the last part of the predicted trajectory (in black) does not follow the final movement generated by MPC (in gray), since it cannot anticipate the next Gaussian within the current time window.

Model predictive control (MPC) is widely employed in robotics as an adaptive control strategy with anticipation capability. It consists of estimating a series of control commands over a moving time window of size . We will describe the problem with velocity commands and an evolution of the state described by a linear system , but the approach can easily be generalized to other controllers. We will also limit our description to a linear quadratic tracking (LQT) problem defined as


with the evolution of the state variable, the evolution of the control variable, and the dimension of the state space. represents the evolution of the reference to track, represents the evolution of the required tracking precision, and represents the evolution of the cost on the control inputs. In (1), and are transfer matrices, see Appendix for details of computation. This formulation corresponds to a basic form of MPC in Euclidean space, by considering quadratic objective functions, and linear systems with velocity commands and position states. We showed in [28] that the reference signal to be tracked can be represented by a GMM to form a stepwise trajectory.

Eq. (1) is typically used to compute a series of control commands over a time window, which are re-evaluated at each iteration. Thus, only the first (few) commands are used in practice. In the above formulation, the first time step of this moving time window thus corresponds to the current time step in which the problem is solved (see Fig. 6-right for an illustration of this moving time window and the computed control commands within this time window).

Such MPC/LQT problem can be extended to Riemannian manifolds by exploiting the tangent space of the state (the point that will introduce the least distortions). By extension of (1), we propose to solve at each iteration the objective


where the vector is composed of commands expressed in the tangent space of . and are vectors respectively composed of elements and , with the sequence of Gaussian identifiers used to build the stepwise reference trajectory from the GMM. is a matrix composed of the block-diagonal elements , using the eigendecomposition . This transport operation can equivalently be expressed as a linear mapping . In the above formulation, we assumed that is isotropic and, thus, does not need to be transported.

The first velocity command in (2) (denoted by ) is then used to update the state with


where is defined by the linear system at the first time step of the time window.

Figure 6 shows an example on , where the computations in (2) and (3) are repeated at each time step to reproduce a movement encoded as a GMM. Extensions to more elaborated forms of MPC follow a similar principle. A Matlab example demo_Riemannian_Sd_MPC01.m can also be found in [9].

Iv Examples of Applications

The operations presented in the previous sections (mixture modeling, conditioning and fusion) can be combined in different ways, which is showcased by two examples of applications in this section.

Iv-a Control of prosthetic hands with Gaussian mixture regression

Fig. 7: Gaussian mixture regression (GMR) on SPD manifold. Top: Classical use of GMR to encode trajectories with time as input and position as output (both in the Euclidean space). Bottom: Extension to Riemannian manifolds with outputs on the SPD manifold. This nonlinear regression approach provides a conditional estimate of the output expressed in the form of matrix-variate Gaussians.
Fig. 8: GMR for the control of prosthetic hands within the TACT-HAND project. SPD signals are used as input, in the form of spatial covariances computed from sEMG sensors on the forearm of the participants. Activation signals corresponding to different hand poses are used as outputs. In this experiment (see [5] for details), discarding the geometry of the data (treating the datapoints as if they were in the Euclidean space) results in poor discrimination between hand poses (bottom graphs, in green). This shows the importance of taking the geometry of the data into account in GMR (bottom graphs, in blue).

The Gaussian conditioning approach presented in Section III-B can be extended to the Gaussian mixture model approach presented in Section III-A. The resulting approach is called Gaussian mixture regression (GMR), a simple nonlinear regression technique that does not model the regression function directly, but instead first models the joint probability density of input-output data in the form of a GMM [26, 28]. GMR provides a fast regression approach in which multivariate output distributions can be computed in an online manner, with a computation time independent of the number of datapoints used to train the model, by exploiting the learned joint density model. In GMR, both inputs and outputs can be multivariate, and after learning, any subset of input-output dimensions can be selected for regression. This is exploited in robotics to handle different sources of missing data, where expectations on the remaining dimensions can be computed as a multivariate distribution. These properties make GMR an attractive tool for robotics, which can be used in a wide range of problems and that can be combined fluently with other techniques [28].

Both [24] and [29] present methods for regression from a mixture of Gaussians on Riemannian manifolds, but they only partially exploit the manifold structure in Gaussian conditioning. In [24], each distribution is located on its own tangent space, with the covariances encoded separately, resulting in a block-diagonal structure in the joint distribution. In [29], a GMM is reformulated to handle the space of rotation in by using logarithm and exponential transformations on quaternions, with these operations formulated in a single tangent space (at the origin) instead of applying the transformations locally (see also Fig. 5). The link to Riemannian manifolds is also not discussed.

Here, we propose to extend GMR to input and/or output data on SPD manifolds, see Fig. 7. As the covariance of SPD datapoints is a 4th-order tensor, a method is proposed in [5] for parallel transport of high-order covariances on SPD manifolds, by exploiting the supersymmetry properties of these 4th-order tensors.

As an example of application, the GMR on SPD manifold is applied to predict wrist movement from spatial covariances computed from surface electromyography (sEMG) data. In this application, the input data of the GMR are spatial covariances that belong to the SPD manifold. Compared to the Euclidean GMR, the GMR on SPD manifold improved the detection of wrist movement for most of the participants and proved to be efficient to detect transitions between movements, see Fig. 8 and Table I for a summary of the results, and [5] for the details of the experimental setup.

Rest Wr. supination Wr. extension Wr. flexion
TABLE I: Comparison of the root mean square error (RMSE) obtained by GMR on the SPD manifold and the standard Euclidean GMR for wrist motion estimation from sEMG (see [5] for details). The results are presented for three participants.

Iv-B Underwater robot teleoperation with task-parameterized Gaussian mixture model

Fig. 9: Task-parameterized Gaussian mixture model (TP-GMM) extended to manifolds within the DexROV project, see [30] for a description of the project and application, and [28] for a general description of TP-GMM.

The fusion approach presented in Section III-C can be extended to the Gaussian mixture model approach presented in Section III-A. This is particularly useful when mixtures of Gaussians are encoded in different coordinate systems, which need to be fused at reproduction time to satisfy constraints in multiple frames of reference.

Within the DexROV project [30], this task-parameterized Gaussian mixture model (TP-GMM) approach [28, 4] is used together with the MPC approach presented in Section III-D to teleoperate an underwater robot from distance, with a teleoperator wearing an exoskeleton and visualizing a replica of the robot workspace in a virtual environment.

Figure 9 presents an overview of this application. Because of the long communication delays between the teleoperator and the robot, the locations of the objects or tools of interest on the teleoperator side and on the robot side differ. With a parameterization associated to objects and tools of interest, we can cope with this discrepancy by adapting locally the movement representation to the position and orientation of the objects/tools, represented as coordinate systems. The figure depicts an example with two coordinate systems (or referentials, represented in orange and purple in Fig. 9), corresponding respectively to the robot and to a valve that needs to be turned. A motion relative to the valve and to the robot is encoded as Gaussian mixture models (GMM) in the two respective coordinate systems. During teleoperation, each pair of GMMs are rotated and translated according to the current situations on the teleoperator side and on the robot side. Products of Gaussians are then computed at each side to fuse these representations. Movement are encoded in this way with both position and orientation data.

Figure 9 shows a representation with as illustration. Here, the purple and orange ellipsoids on each sphere depict two GMMs, representing uncertain trajectories with respect to two different frames of reference (red points on each sphere). The black ellipsoids represent the final trajectory and its uncertainty, obtained by fusing the trajectories of the two different frames of reference through products of Gaussians, see [28] for details of the TP-GMM approach and [30] for a general description of this teleoperation approach. The spheres on the teleoperator side and robot side show that the evolution of the orientation can adapt to different situations (different locations of the red points on the spheres, corresponding to different orientations of the robot and the valve). By using , such approach is employed in this application to learn and retrieve the evolution of robot end-effector orientations, by adapting them to the orientation of objects or tools in the robot workspace.

This approach was successfully tested in field trials in the Mediteranean Sea offshore of Marseille, where 7 extended dives in 4 different sites (8m, 30m, 48m and 100m water depths) were performed with the underwater robot while being connected via satellite to the teleoperation center in Brussels, see [30] for a general description of the experiment.

V Further Perspectives and Conclusion

We presented some of the recent developments in robotics using Gaussians on Riemannian manifolds. This combination of statistics and differential geometry offers many research opportunities.

We showed how a wide range of challenges in robot learning and adaptive control could be recast as statistical modeling and information fusion on Riemannian manifolds. Such interpretation has the potential to avoid some of the common practical misuses of operations or algorithms in robotics that are borrowed from Riemannian geometry, but that adopt sometimes a too limited view. One such example is to perform all computations in a single tangent space (typically, at the origin of the manifold), instead of considering the closest tangent spaces to avoid distortions. Another example concerns domain adaptation and transfer learning requiring the realignment of data to cope with nonstationarities, e.g., sensory data collected by different subjects or throughout several days, that should use the Riemannian notion of parallel transport instead of only re-centering the data [31].

This article also showed how Riemannian geometry can contribute to some of the recent challenges in robotics. Further work can be organized in two categories. Firstly, the field of robotics is abundant of new techniques proposed by researchers, due to the interdisciplinary aspect and to the richness of problems it involves. The common factor in many of these developments is that that they rely on some form of statistics and/or propagation of uncertainty. These models and algorithms are typically developed for standard Euclidean spaces, where an extension to Riemannian manifolds has several benefits to offer.

Secondly, some Riemannian manifolds remain largely underexploited in robotics, despite the fact that some of them are mathematically well understood and characterized by simple closed-form expressions. Grassmann manifolds seem particularly promising to handle problems in robotics with high dimensional datapoints and only few training data, where subspaces are required in the computation to keep the most essential characteristics of the data. It is also promising in problems in which hierarchies are considered (such as inverse kinematics with kinematically redundant robots), because it provides a geometric formulation to represent nullspace structures. Hyperbolic manifolds also seem propitious to bring a probabilistic treatment to dynamical systems, tree-based structures, graphs, Toeplitz/Hankel matrices or autoregressive models.

Another suggested direction for further work concerns metric interpolation/learning problems, where representations such as [16] could motivate new developments for generalizing discrete robot planning problems such as probabilistic roadmaps (PRMs) to their continuous counterparts, with potential links to recent developments in discrete differential geometry [32].



The exponential and logarithm maps corresponding to the distance


with can be computed as [33]


The parallel transport of to is given by


In some applications, it can be convenient to define the parallel transport with the alternative equivalent form


highlighting the linear structure of the operation.

Corresponding examples in Matlab and C++ can be found in [9], named demo_Riemannian_Sd_*.m and demo_Riemannian_sphere_*.cpp, respectively.

Note that in the above representation, is described as a vector with elements contained in . An alternative representation consists of expressing as a vector of elements in the coordinate system attached to , see [4] for details.


The exponential and logarithm maps corresponding to the distance


with can be computed as


by using the Minkowski inner product and norm . The parallel transport of to is given by


Corresponding examples in Matlab can be found in [9], named demo_Riemannian_Hd_*.m.


For an affine-invariant distance between


the exponential and logarithmic maps on the SPD manifold can be computed as [34]


The parallel transport of to is given by


Corresponding examples in Matlab and C++ can be found in [9], named demo_Riemannian_SPD_*.m and demo_Riemannian_cov_*.cpp, respectively.


For the arc length distance between two points


computed with the singular value decomposition (SVD) , the exponential and logarithm map of the Grassmann manifold are given by [35]


computed with the SVD , where


is computed with the SVD . The parallel transport of to corresponds to


computed with the SVD .

Corresponding examples in Matlab can be found in [9], named demo_Riemannian_Gdp_*.m.

Computation of transfer matrices and in MPC

The MPC problem of estimating velocity commands with a discrete linear dynamical system can be solved by linearization with


and expressing all future states as an explicit function of the state . By writing

in a matrix form, we get an expression of the form , with

where , , and .

Corresponding examples in Matlab and C++ can be found in [9], named demo_MPC_*.m and demo_MPC_*.cpp, respectively.


  • [1] F. C. Park, “Optimal Robot Design and Differential Geometry,” Journal of Mechanical Design, vol. 117, no. B, pp. 87–92, 1995.
  • [2] J. M. Selig, Geometric fundamentals of robotics.   Springer, 2005.
  • [3] T. D. Barfoot and P. T. Furgale, “Associating uncertainty with three-dimensional poses for use in estimation problems,” IEEE Trans. on Robotics, vol. 30, no. 3, pp. 679–693, June 2014.
  • [4] M. J. A. Zeestraten, I. Havoutis, J. Silvério, S. Calinon, and D. G. Caldwell, “An approach for imitation learning on Riemannian manifolds,” IEEE Robotics and Automation Letters (RA-L), vol. 2, no. 3, pp. 1240–1247, June 2017.
  • [5] N. Jaquier and S. Calinon, “Gaussian mixture regression on symmetric positive definite matrices manifolds: Application to wrist motion estimation with sEMG,” in Proc. IEEE/RSJ Intl Conf. on Intelligent Robots and Systems (IROS), Vancouver, Canada, September 2017, pp. 59–64.
  • [6] T. Lee and F. C. Park, “A geometric algorithm for robust multibody inertial parameter identification,” IEEE Robotics and Automation Letters, vol. 3, no. 3, pp. 2455–2462, 2018.
  • [7] S. Traversaro, S. Brossette, A. Escande, and F. Nori, “Identification of fully physical consistent inertial parameters using optimization on manifolds,” in Proc. IEEE/RSJ Intl Conf. on Intelligent Robots and Systems (IROS), Oct 2016, pp. 5446–5451.
  • [8] T. Yoshikawa, “Manipulability of robotic mechanisms,” Intl Journal of Robotics Research, vol. 4, no. 2, pp. 3–9, 1985.
  • [9] “PbDlib robot programming by demonstration software library,”, 2019, accessed: 2019/09/12.
  • [10] N. Hosni, H. Drira, F. Chaieb, and B. Ben Amor, “3D gait recognition based on functional PCA on Kendall’s shape space,” in Intl Conf. on Pattern Recognition (ICPR), Aug 2018, pp. 2130–2135.
  • [11] C. Forster, L. Carlone, F. Dellaert, and D. Scaramuzza, “On-manifold preintegration for real-time visual-inertial odometry,” IEEE Trans. on Robotics, vol. 33, no. 1, pp. 1–21, Feb 2017.
  • [12] J. R. Forbes and D. E. Zlotnik, “Sigma point Kalman filtering on matrix Lie groups applied to the SLAM problem,” in Geometric Science of Information, 2017, pp. 318–328.
  • [13] S. Brossette, A. Escande, and A. Kheddar, “Multicontact postures computation on manifolds,” IEEE Trans. on Robotics, vol. 34, no. 5, pp. 1252–1265, Oct 2018.
  • [14] N. Jaquier, L. Rozo, D. G. Caldwell, and S. Calinon, “Geometry-aware tracking of manipulability ellipsoids,” in Proc. Robotics: Science and Systems (RSS), 2018, pp. 1–9.
  • [15] A. Biess, D. G. Liebermann, and T. Flash, “A computational model for redundant human three-dimensional pointing movements: integration of independent spatial and temporal motor plans simplifies movement dynamics,” J. Neurosci., vol. 27, no. 48, pp. 13 045–64, 2007.
  • [16] S. Hauberg, O. Freifeld, and M. J. Black, “A geometric take on metric learning,” in Advances in Neural Information Processing Systems (NIPS), 2012, pp. 2024–2032.
  • [17] C.-A. Cheng, M. Mukadam, J. Issac, S. Birchfield, D. Fox, B. Boots, and N. Ratliff, “RMPflow: A computational graph for automatic motion policy generation,” arXiv:1811.07049, pp. 1–45, 2018.
  • [18] E. Chevallier, F. Barbaresco, and J. Angulo, “Probability density estimation on the hyperbolic space applied to radar processing,” in Geometric Science of Information.   Springer Intl Publishing, 2015, pp. 753–761.
  • [19] S. M. LaValle and J. J. Kuffner Jr, “Randomized kinodynamic planning,” The International Journal of Robotics Research, vol. 20, no. 5, pp. 378–400, 2001.
  • [20] K. Usevich and I. Markovsky, “Optimization on a Grassmann manifold with application to system identification,” Automatica, vol. 50, no. 6, pp. 1656–1662, 2014.
  • [21] R. Slama, H. Wannous, M. Daoudi, and A. Srivastava, “Accurate 3D action recognition using learning on the Grassmann manifold,” Pattern Recognition, vol. 48, no. 2, pp. 556–567, 2015.
  • [22] J. Solà, J. Deray, and D. Atchuthan, “A micro Lie theory for state estimation in robotics,” arXiv:1812.01537, 2019.
  • [23] S. Said, L. Bombrun, Y. Berthoumieu, and J. H. Manton, “Riemannian Gaussian distributions on the space of symmetric positive definite matrices,” IEEE Trans. on Information Theory, vol. 63, no. 4, pp. 2153–2170, 2017.
  • [24] E. Simo-Serra, C. Torras, and F. Moreno-Noguer, “3D human pose tracking priors using geodesic mixture models,” International Journal of Computer Vision, vol. 122, no. 2, pp. 388–408, 2017.
  • [25] M. J. A. Zeestraten, I. Havoutis, S. Calinon, and D. G. Caldwell, “Learning task-space synergies using Riemannian geometry,” in Proc. IEEE/RSJ Intl Conf. on Intelligent Robots and Systems (IROS), Vancouver, Canada, September 2017, pp. 73–78.
  • [26] Z. Ghahramani and M. I. Jordan, “Supervised learning from incomplete data via an EM approach,” in Advances in Neural Information Processing Systems (NIPS), J. D. Cowan, G. Tesauro, and J. Alspector, Eds., vol. 6.   San Francisco, CA, USA: Morgan Kaufmann Publishers, Inc., 1994, pp. 120–127.
  • [27] M. J. A. Zeestraten, I. Havoutis, and S. Calinon, “Programming by demonstration for shared control with an application in teleoperation,” IEEE Robotics and Automation Letters (RA-L), vol. 3, no. 3, pp. 1848–1855, July 2018.
  • [28] S. Calinon, “A tutorial on task-parameterized movement learning and retrieval,” Intelligent Service Robotics, vol. 9, no. 1, pp. 1–29, January 2016.
  • [29] S. Kim, R. Haschke, and H. Ritter, “Gaussian mixture model for 3-DoF orientations,” Robotics and Autonomous Systems, vol. 87, pp. 28–37, 2017.
  • [30] A. Birk, T. Fromm, C. A. Mueller, T. Luczynski, A. Gomez Chavez, D. Koehntopp, A. Kupcsik, S. Calinon, A. K. Tanwani, G. Antonelli, P. di Lillo, E. Simetti, G. Casalino, G. Indiveri, L. Ostuni, A. Turetta, A. Caffaz, P. Weiss, T. Gobert, B. Chemisky, J. Gancet, T. Siedel, S. Govindaraj, X. Martinez, and P. Letier, “Dexterous underwater manipulation from distant onshore locations,” IEEE Robotics and Automation Magazine (RAM), 2018.
  • [31] O. Yair, M. Ben-Chen, and R. Talmon, “Parallel transport on the cone manifold of SPD matrices for domain adaptation,” arXiv:1807.10479, pp. 1–14, 2018.
  • [32] N. Sharp, Y. Soliman, and K. Crane, “The vector heat method,” ACM Trans. Graph., vol. 38, no. 3, pp. 24:1–24:19, 2019.
  • [33] P. A. Absil, R. Mahony, and R. Sepulchre, Optimization Algorithms on Matrix Manifolds.   Princeton University Press, 2007.
  • [34] X. Pennec, “Intrinsic statistics on Riemannian manifolds: Basic tools for geometric measurements,” Journal of Mathematical Imaging and Vision, vol. 25, no. 1, pp. 127–154, 2006.
  • [35] A. Edelman, T. A. Arias, and S. Smith, “The geometry of algorithms with orthogonality constraints,” SIAM Journal of Matrix Anal. & Appl., vol. 20, no. 2, pp. 303–351, 1998.
Comments 0
Request Comment
You are adding the first comment!
How to quickly get a good reply:
  • Give credit where it’s due by listing out the positive aspects of a paper before getting into which changes should be made.
  • Be specific in your critique, and provide supporting evidence with appropriate references to substantiate general statements.
  • Your comment should inspire ideas to flow and help the author improves the paper.

The better we are at sharing our knowledge with each other, the faster we move forward.
The feedback must be of minimum 40 characters and the title a minimum of 5 characters
Add comment
Loading ...
This is a comment super asjknd jkasnjk adsnkj
The feedback must be of minumum 40 characters
The feedback must be of minumum 40 characters

You are asking your first question!
How to quickly get a good answer:
  • Keep your question short and to the point
  • Check for grammar or spelling errors.
  • Phrase it like a question
Test description