g2o
g2o copied to clipboard
Jacobian of Edge SE3 PointXYZ
Hi all, in the Jacobian computation of EdgeSE3PointXYZ the first 3x3 block (i.e., J.block<3,3>(0,0)) is always the negative identity matrix.
I do not understand why it is negative. The same goes for the sign of the second block, J.block<3,3>(3,0)
. From my derivations, I would think it should be the negative cross-product-matrix of the point vp (-[vp]_x). And why is it scaled by two?
The error function computes something equivalent to R * vp + t - z
, (where R is the pose's rotation, t its translation, vp the estimate of the point and z the measurement). But the Jacobian is that of z - (R*vp + t)
, isn't it?
I'm pretty sure it works as it is, but I don't see my mistake. Could someone help me out?
hello, I can understand that jacobian is negative but do you know why there is a factor 2? e.g. J(0, 4) = -2 * Zcam(2);