hi guys I have read the paper at http://www.ethaneade.org/lie.pdf , and regarding the equation (87) I have coded it for proven but found not correct , the code is like this
SE3f::Tangent v;
v << 100, 200, 300, 0.2, -0.3, 0.4;
SE3f::Tangent delta;
delta << 20, 20, 20, 0.3, -0.4, 0.5;
SE3f se3f = SE3f::exp(v);
SE3f se3f_delta = SE3f::exp(delta)*SE3f::exp(v);
SE3f se3f_delta_add = SE3f::exp(v + delta);
Vector3f wpt0(70, 60, 200);
Vector3f wpt1 = se3f*wpt0;
Vector3f wpt2 = se3f_delta*wpt0;
Vector3f wpt3 = se3f_delta_add*wpt0;
Matrix<float, 3, 6> jacobi;
jacobi.setZero();
jacobi.topLeftCorner(3, 3) = Matrix3f::Identity();
jacobi(0, 4) = wpt1[2];
jacobi(1, 3) = -wpt1[2];
jacobi(0, 5) = -wpt1[1];
jacobi(2, 3) = wpt1[1];
jacobi(1, 5) = wpt1[0];
jacobi(2, 4) = -wpt1[0];
cout << jacobi << endl;
Vector3f wpt_jacobi = wpt1 + jacobi*delta;
the wpt_jacobi is -297.683960, 64.0022125, 625.767151
while the wpt2 which is correct is -254.784164, -8.84317398, 541.750977 they miss too much , is there anyone could help me I have use the eigen and lie group lib at https://github.com/stevenlovegrove/Sophus
I'm afraid that the it's the nonlinear reason , so I have written a iterated approach code but it still can't get the exactly result, anyone could tell me why :)?