tii-racing / drone-racing-dataset

A fully-annotated, open-design dataset of autonomous and piloted high-speed flight
https://ieeexplore.ieee.org/document/10452776
MIT License
46 stars 7 forks source link

camera-imu calibration #4

Open maulanaazhari opened 2 weeks ago

maulanaazhari commented 2 weeks ago

Hi! thanks for open-sourcing the dataset.

Is there any chance you can provide the IMU calibration and camera extrinsics relative to the IMU? both following the kalibr format (https://github.com/ethz-asl/kalibr).

Thank you!

MichaelBosello commented 1 week ago

Thank you for your interest in our dataset.

Unfortunately, performing the camera-IMU calibration is not straightforward as the sensors are not hardware synchronized, and at the time we recorded the dataset, it was not our priority. We thus don't have the data needed to perform such calibration with the exact same drone used in the dataset.

Nevertheless, you can find the file drone_to_camera.json which has been reported to be a good approximation of the drone-to-camera transformation. drone_to_camera.json - Drone to camera in JSON format. Translation was measured by MoCap, rotation is an estimation, and includes the FLU to RDF conversion.

maulanaazhari commented 2 days ago

Thanks for the response.

I tried to reproject the gate corners into the camera optical frame by using:

  1. the odometry to transform the gate from the "map" frame to "drone" frame
  2. then use the drone_to_camera.json to transform from "drone" frame to "camera" frame.
  3. Then use the opencv projectPoints function to have the gate in the camera optical frame.

However, the result is not good. I guess due to the rotation just only an estimation (?) image

When I adjusted drone to camera rotation to q_xyzw = [-0.3641869, 0.3641869, -0.6061088, 0.6061088] the result is better. image

my question is: how did you verify that the drone_to_camera.json is a good enough approximation? since it doesn't give a good result in my case. However, there is also a chance that I have a bug in my code so the result of drone_to_camera.json is not good