hengli / camodocal

CamOdoCal: Automatic Intrinsic and Extrinsic Calibration of a Rig with Multiple Generic Cameras and Odometry
Other
1.16k stars 389 forks source link

question about calibration with GPS_INS #112

Open HeXu1 opened 2 years ago

HeXu1 commented 2 years ago

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

HeXu1 commented 2 years ago

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

sandeepnmenon commented 2 years ago

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