AaltoVision / ADVIO

An Authentic Dataset for Visual-Inertial Odometry
240 stars 42 forks source link

Clarification about the extrinsics #16

Open karnikram opened 4 years ago

karnikram commented 4 years ago

Hello,

Thank you for creating this challenging dataset! It has been very useful.

I couldn't find the sensor coordinate frame conventions explicitly mentioned anywhere, but this is what I could infer from the visualization scripts: Screenshot from 2020-01-09 22-52-08

The ground-truth, ARCore, ARKit, and Tango poses are all given in a global IMU frame whose y-axis points upwards, z-axis towards the viewer, and x-axis towards the viewer's right. Is the y-axis always aligned with the gravity?

The camera to IMU transform (T_imu_cam) given in the extrinsics file is the matrix that transforms points in the camera's frame to the IMU's frame. This is the inverse of what Kalibr provides i.e. T_cam_imu.

Can someone please confirm this?

JzHuai0108 commented 4 years ago

I agree with you in the following points: (1) R_imu_cam = [1, 0, 0; 0, -1, 0; 0, 0, -1] as shown in your drawing of the coordinate frames. This is essentially the value provided in here. (2) The ground truth in poses.csv are poses of the IMU frame expressed in a world frame whose y-axis points upwards. But I am not sure how well the y-axis is aligned with gravity. (3) point of homogeneous coordinates in imu frame = T_imu_cam * point of homogeneous coordinates in camera frame.

666jonh666 commented 2 years ago

@JzHuai0108 Hello,I read your answers to several issues and learned a lot. Is T_cam_imu (given in the calibration file) the matrix that transforms points of homogeneous coordinates in imu frame to points of homogeneous coordinates in camera frame.

JzHuai0108 commented 2 years ago

You are right.

666jonh666 commented 2 years ago

@JzHuai0108 Thanks for your answer. I am a beginner in VIO. I have solved some doubts by reading the script code, but there are a few additional small questions about the calibration folder: 1.Are Accelerometer noise density and gyroscope noise density the standard deviation of IMU white Gaussian noise? Are accelerometer random walk and gyroscope random walk the standard deviation of the IMU bias random walk?

  1. Are iPhone IMU (approximate) additive biases additional deterministic errors? How should we use them?
  2. Do r1 and r2 of the camera distortion coefficient mean p1 and p2? Looking forward to your answer! I would appreciate it if you could help me :)
JzHuai0108 commented 2 years ago

First of all, I appreciate that your interest in VIO, but please be aware that I am not a maintainer of ADVIO, so I am unsure about the answers to questions about the dataset.

  1. I believe you can refer to the fantastic kalibr doc.
  2. I consider IMU biases stochastic errors instead of deterministic errors because they vary over time. Again, to use biases, refer to the above kalibr IMU noise model.
  3. I don't see where r1, r2, p1, and p2 come from. I think you can refer to the excellent opencv doc.
666jonh666 commented 2 years ago

@JzHuai0108 First, sorry about asking some trivial questions. So thanks for your wonderful answer and patience, it was surprisingly quick and helpful.