SLAM using quaternions and g2o - a revisitation

Skip to first unread message

Petar M

Sep 10, 2023, 3:10:07 PMSep 10
to Manopt
Hello Dr. Boumal

I am wondering if you had any addendum to the 2016 questions posed here on factor-graph-optimization SLAM, and the popular solvers that use Gauss-Newton or Levenberg Marquardt on a manifold like g2o.

Is the manopt toolbox usable in these instances where one seeks to minimize a sum of errors related to a robot state, and where the orientation of the robot is in the form of a quaternion. (The orientation being the only part of the state vector that evolves on a manifold... position, velocity and sensor biases are all incremented by simple vector addition).

Thanks for any help on this question!


Nicolas Boumal

Sep 11, 2023, 7:55:16 AMSep 11
to Manopt
Hello Petar,

I'm not so familiar with g2o, but certainly people do use Manopt and other related software for SLAM purposes, and to optimize over the group of rotations more generally. For example, see SE-Sync: -- my understanding is that the authors there rewrote everything themselves in a lower-level language for high efficiency, but that they did some of their prototyping with Manopt in Matlab.

In Matlab, we have rotationsfactory which allows you to optimize over the group of rotations. Rotations are represented as d-by-d orthogonal matrices. We do not currently have an implementation where rotations are represented as quaternion vectors, but it would be easy to add if that's useful.


Ronny Bergmann

Sep 12, 2023, 7:53:09 AMSep 12
to Manopt
Hei Petar,

I am also not that familiar with g2o, but concerning Levenberg-Marquardt, one could adopt the Julia variant from to a Matlab variant probably; but also in Jlia we do not yet have quarternions representation for rotations – simply because there was no one yet needing (or providing/implementing) them, but we do have an open issue for that.


Reply all
Reply to author
0 new messages