Replies: 2 comments 4 replies
-
See this for the theory: and see the way we interface with Ceres in our library WOLF, which does not use manif. Wolf is here: You can look at manif's tests with ceres, here https://github.com/artivis/manif/tree/devel/test/ceres You will need to dig into the theory and the code, I think we gave you all the insights that you need. If you want to use manif with ceres, you will have to come up with appropriate hacks so that you can use manif Jacobians in ceres. These hacks usually consist on defining the Jacobian of the local parametrization (in ceres' class Manifold) to be the identity, but padded with zeros to match the different matrix sizes. To understand this very last comment, you need to dig into the theory and code, as I said. |
Beta Was this translation helpful? Give feedback.
-
How can I use
manif
withCeres
?This question is in connection with #314, and this specific quote from it
Imagine you are in SE3. You have a pose (R,T) that you want to update with a displacement, obtained by integrating angular and linear velocities (w,v) over a period dt.
. Here I do not have a(w, v)
but I need to estimate a jacobian.Ceres
is a software package designed to minimize cost functions: basically, you pass a definition off
andJ=df/dx
toCeres
, and,Ceres
does the solve for you.Ceres
looks to stand in the Euclidean world and have no notion of the Lie theory. Note that in practice, inCeres
, you just estimatef
andJ
from a givenx
, and then, pass the result back toCeres
(you do not multiplyJ
bydx
yourself to follow the Gradient Descent: AFAIU,Ceres
does it for you).When
f
is defined on SE3, starting from a constraint based on a pose(R, T)
for example, it's not clear to me how I can usemanif
withCeres
? Can the answer be possibly: no, you can't?There are 2 things I stumble on:
J
must be evaluated from a givenx
: I guess I can do that estimation withmanif
even if it's not yet clear to me how. Could somebody illustrate how?.
inJ.dx
is where the exponential-map magic occurs in backend: this seems to be done byCeres
without any way to override it... So I would say I can not benefit from Lie theory usingCeres
: is this correct?If somebody could shed some light (even partailly), that would be helpful!...
Is there an example of this I could start from?
Note: as lots of things are still blurry, it's difficult to formulate precise questions... So I hope my questions are precise enough...
Beta Was this translation helpful? Give feedback.
All reactions