CamOdomCalibraTool icon indicating copy to clipboard operation
CamOdomCalibraTool copied to clipboard

Angle Axis inversion

Open JadTawil-theonly opened this issue 4 years ago • 2 comments

Can you explain why the following is done when computing the change in angle for the camera frame?

Eigen::AngleAxisd rotation_vector(q_cl);
Eigen::Vector3d axis = rotation_vector.axis();
double deltaTheta_cl = rotation_vector.angle();  
if(axis(1)>0)
{
  deltaTheta_cl *= -1;
  axis *= -1;
} 

What does it mean that axis(1) > 0, and why should you multiply by -1?

JadTawil-theonly avatar Feb 10 '20 20:02 JadTawil-theonly

Can you explain why the following is done when computing the change in angle for the camera frame?

Eigen::AngleAxisd rotation_vector(q_cl);
Eigen::Vector3d axis = rotation_vector.axis();
double deltaTheta_cl = rotation_vector.angle();  
if(axis(1)>0)
{
  deltaTheta_cl *= -1;
  axis *= -1;
} 

What does it mean that axis(1) > 0, and why should you multiply by -1?

In our case, the z-axis of body (or odom) towards up (0 0 1), and the y-axis of camera towards down which should be [0 -1 0].

chaizheng2157 avatar Mar 17 '20 09:03 chaizheng2157

Eigen::Matrix3d Rcl = Rwc.inverse() * Rwl; // c: current l: last Eigen::Quaterniond q_cl(Rcl); 您好,这个注释是对的吗,这个求解的是上一帧在当前帧的表示??

will1991 avatar Apr 27 '20 03:04 will1991