g2o icon indicating copy to clipboard operation
g2o copied to clipboard

Jacobian of Edge SE3 PointXYZ

Open felixendres opened this issue 8 years ago • 1 comments

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?

felixendres avatar Nov 22 '16 17:11 felixendres

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);

Lisiyuan555 avatar Dec 12 '22 05:12 Lisiyuan555