17 #include <Eigen/Dense>
19 #include <Eigen/StdVector>
22 #define TOL_LHM 0.00001
23 #define EPSILON_LHM 0.00000001
56 std::vector<Eigen::Matrix3d>
F;
65 lhm(Eigen::MatrixXd obj_pts_, Eigen::MatrixXd img_pts_, Eigen::MatrixXd cam_,
int n0);
74 bool compute_pose(Eigen::Ref<Eigen::Matrix3d> R_, Eigen::Ref<Eigen::Vector3d> t_);
96 Eigen::Matrix4d
qMatQ(Eigen::VectorXd
q);
103 Eigen::Matrix4d
qMatW(Eigen::VectorXd
q);
Eigen::MatrixXd Q
Trnaspose of Object points @obj_pts.
Eigen::Matrix4d qMatW(Eigen::VectorXd q)
Iternal Function of quaternion.
Eigen::Matrix4d qMatQ(Eigen::VectorXd q)
Iternal Function of quaternion.
double err
Storage matrix for each point.
std::vector< Eigen::Matrix3d > F
Translation Vector.
Eigen::Matrix3d G
Matrix for internal computations.
lhm(Eigen::MatrixXd obj_pts_, Eigen::MatrixXd img_pts_, Eigen::MatrixXd cam_, int n0)
Number of 2d/3d correspondences.
Eigen::MatrixXd img_pts
Object points in Camera Co-ordinate system.
int n
Error variable for convergence selection.
double err2
Error variable for convergence selection.
void absKernel()
Function to compute pose during an iteration.
Eigen::MatrixXd P
Camera intrinsic matrix.
bool compute_pose(Eigen::Ref< Eigen::Matrix3d > R_, Eigen::Ref< Eigen::Vector3d > t_)
Function to compute pose using LHM PnP algorithm.
Eigen::Matrix3d R
Transpose of Image points @img_pts.
void xform()
Transform object points in Body frame (Landmark Frame) to estimated Camera Frame.
Eigen::Vector3d t
Rotation Matrix.
void estimate_t()
Function to estimate translation given an estimated rotation matrix.
Eigen::MatrixXd cam_intrinsic
Image points in pixel co-ordinates.
GLdouble GLdouble GLdouble GLdouble q
This is the global namespace for all Mobile Robot Programming Toolkit (MRPT) libraries.