The fuse stack provides a general architecture for performing sensor fusion live on a robot. Some possible applications include state estimation, localization, mapping, and calibration.
I am attempting to compute jacobians with respect to the orientation. I am computing them wrt the 3d tangent space. I am assuming to "lift" them back into the manifold that ceres expects (4d quaternion) I multiply my jacobian on the right with the jacobian computed in ComputeMinusJacobian? I am assuming the quaternion is given as (w, x, y, z).
i.e.
jacobian = df_dq * ComputeMinusJacobian(q)
where df_dq is the jacobian of function f wrt q, and is a 3x3 matrix
However when i compare the analytical jacobian of this to the numerical jacobian they are not close. I am computing the numerical jacobian directly in the 4d quaternion space by perturbing it as if it were a 4d vector.
I am attempting to compute jacobians with respect to the orientation. I am computing them wrt the 3d tangent space. I am assuming to "lift" them back into the manifold that ceres expects (4d quaternion) I multiply my jacobian on the right with the jacobian computed in ComputeMinusJacobian? I am assuming the quaternion is given as (w, x, y, z).
i.e.
jacobian = df_dq * ComputeMinusJacobian(q)
where df_dq is the jacobian of function f wrt q, and is a 3x3 matrix
However when i compare the analytical jacobian of this to the numerical jacobian they are not close. I am computing the numerical jacobian directly in the 4d quaternion space by perturbing it as if it were a 4d vector.