hengli / camodocal

CamOdoCal: Automatic Intrinsic and Extrinsic Calibration of a Rig with Multiple Generic Cameras and Odometry

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

question about calibration with GPS_INS

HeXu1 opened this issue · comments

commented
  1. It seems mistake in CamRigOdoCalibration::addGpsIns function?
    the detail of this function is:
    CamRigOdoCalibration::addGpsIns(double lat, double lon, double alt,double qx, double qy, double qz, double qw,uint64_t timestamp)
    {
    // convert latitude/longitude to UTM coordinates
    double utmX, utmY;
    std::string utmZone;
    LLtoUTM(lat, lon, utmX, utmY, utmZone);
    PosePtr pose = boost::make_shared();
    pose->rotation() = Eigen::Quaterniond(qw,qx,qy,qz);
    pose->translation() = Eigen::Vector3d(utmX, utmY, -alt);
    pose->timeStamp() = timestamp;
    m_gpsInsBuffer.push(timestamp, pose);
    }
    a> LLtoUTM(lat, lon, utmX, utmY, utmZone); the result of utmX and utmY are utmNorthing and utmEasting,but not east and west?
    b> pose->translation() = Eigen::Vector3d(utmX, utmY, -alt); why change alt to negative?

  2. question about CamOdoThread::threadFunction(void) function.
    why change GPS_INS like follows?

gpsIns->x() = interpGpsIns->translation()(1);
gpsIns->y() = -interpGpsIns->translation()(0);
gpsIns->z() = interpGpsIns->translation()(2);
Eigen::Matrix3d R = interpGpsIns->rotation().toRotationMatrix();
double roll, pitch, yaw;
mat2RPY(R, roll, pitch, yaw);
gpsIns->yaw() = -yaw;

thanks a lot !
@hengli

commented

and the two camera calibration result seems same.
follows are my calibration results, but they fixed in the car's two sides~
========== Camera 0 ==========
Rotation:
0.82906 -0.09246 0.55147
-0.55064 0.03662 0.83394
-0.09730 -0.99504 -0.02055
Rotation Q:
-0.67324 0.23881 -0.16865 0.67918
Translation:
-17.15513 -43.04372 0.00000

========== Camera 1 ==========
Rotation:
0.83106 -0.08341 0.54989
-0.54897 0.03557 0.83508
-0.08922 -0.99588 -0.01623
Rotation Q:
-0.67300 0.23491 -0.17113 0.68015
Translation:
-16.87811 -43.36809 -0.10674

@HeXu1
Did you figure out if it is an issue in the GPU code or if it is some data mismatch?