31 Eigen::Map<const Eigen::Vector4d> q(x);
34 Eigen::Map<const Eigen::Vector3d> d_th(delta);
35 Eigen::Matrix<double, 4, 1> d_q;
36 double theta = d_th.norm();
38 d_q << .5 * d_th, 1.0;
40 d_q.block(0, 0, 3, 1) = (d_th / theta) * std::sin(theta / 2);
41 d_q(3, 0) = std::cos(theta / 2);
46 Eigen::Map<Eigen::Vector4d> q_plus(x_plus_delta);
52 Eigen::Map<Eigen::Matrix<double, 4, 3, Eigen::RowMajor>> j(jacobian);
53 j.topRows<3>().setIdentity();
54 j.bottomRows<1>().setZero();