18 #ifndef OPTIMIZATION_COMMON_SE3_LOCAL_PARAMETERIZATION_H_
19 #define OPTIMIZATION_COMMON_SE3_LOCAL_PARAMETERIZATION_H_
23 #include <ceres/autodiff_local_parameterization.h>
25 #include <Eigen/Geometry>
30 bool operator()(
const T* x,
const T* delta, T* x_plus_delta)
const {
31 const Eigen::Transform<T, 3, Eigen::Isometry> pose =
Isometry3(x);
32 const Eigen::Transform<T, 3, Eigen::Isometry> pose_delta =
Isometry3(delta);
33 const Eigen::Transform<T, 3, Eigen::Isometry> updated_pose = pose * pose_delta;
35 for (
int i = 0; i < 6; ++i) {
36 x_plus_delta[i] = updated_pose_vector[i];
45 #endif // OPTIMIZATION_COMMON_SE3_LOCAL_PARAMETERIZATION_H_