utiasASRL / pyboreas

Devkit for the Boreas autonomous driving dataset.
BSD 3-Clause "New" or "Revised" License
90 stars 9 forks source link

questions about the imu.csv #24

Closed Kailthen closed 1 year ago

Kailthen commented 1 year ago

Thanks for your work, i have 3 questions about the imu.csv: 1 IMU data formart is [GPSTime,angvel_z,angvel_y,angvel_x,accelz,accely,accelx], are the units [rad s^-1] and [m s^-2] ? 2 It seems that gravitational acceleration has been substructed from [accelz] ,right ? 3 From pyboreas/tutorials/intro.ipynb, T_camera_applanix = np.matmul(T_camera_lidar, get_inverse_tf(T_applanix_camera)), is it right ?

I am trying to run ORBSLAM3 with boreas dataset, do you have any tutorials for VIO?

keenan-burnett commented 1 year ago

Hi Kailthen,

Apologies for the delayed response.

  1. Yes.
  2. Yes.
  3. No, that's not correct. Note that we define transformations as T_b_a where this represents the the pose from a to b, alternatively this matrix transforms data in frame a into frame b. In your provided code, np.matmul(T_camera_lidar, get_inverse_tf(T_applanix_camera)) is wrong because this multiplies: T_c_l * T_c_a, the inner indices (l, c) don't match so this isn't allowed. Have a look at section 7.3 from this book for a more detailed explanation.

If you want T_camera_applanix, you can get this from the calibration using the following:

import numpy.linalg as npla
bd = BoreasDataset(root, split=split, verbose=True)
seq = bd.sequences[0]
calib = seq.calib
T_camera_applanix = calib.T_camera_lidar @ npla.inv(calib.T_applanix_lidar)

We don't have any tutorials for doing VIO with the boreas dataset, unfortunately.

Hopefully that answers your questions. Let me know if there is anything else I can help with.