Closed vkee closed 7 years ago
@vkee thanks so much for pointing this out! I spent the morning looking into it... And here's what I found. You presented 2 issues:
You're totally right here! The camera transformation was flipped, and the changed are so small with respect to the average distance to the obstacles that I didn't notice this qualitatively.
Here's the before (white is SGM stereo overlay):
Here's the after:
And here's a super crappy screenshot of the TF layout with the fix:
This one is correct in my version. There's 2 options here: inverting the transform or not inverting it. If you don't invert it, the velodyne ends up behind the IMU, etc. etc.
The reason that the TF is not exactly matching the calibration file is just that: because it's inverted.
Why do we need to invert it, since the TF has the IMU as the parent and the velodyne as the child? Because KITTI uses different transformation conventions from ROS: ROS uses passive transformations (the transformation between IMU and Velodyne would be the transformation that would take the coordinate frame of the IMU to the coordinate frame of the velodyne), and KITTI uses active transformations (the transformation that would take points in the IMU coordinate frame to the velodyne coordinate frame). It can be seen that these are inverses of each other. If you look at the calibration data from calib_imu_to_velo.txt you will also see this: the rotation is (almost) identity but the transformation is -0.8 0.3 -0.8
. If you compare that to what you see in the photo, clearly this needs to be inverted if you consider passive transformations; the IMU is below the velodyne, etc.
So the IMU and velodyne is already correct, as far as I can tell. And the passive-vs-active confusion was exactly the same issue that caused the cam reversal... So again, thanks for catching that!
Cheers, Helen
Thanks for explaining and fixing it so fast, I was so confused what was happening!
Hi,
I was able to generate the bag with the raw dataset but I noticed that there are some issues with the tf generated by this tool. It is not consistent with what is in the figure from the paper
As you can see in a screenshot I made from playing the bag generated of 2011_09_30_drive_0020, the cameras are not in the correct poses. Additionally, it appears that the left and right cameras are flipped, as well as their relative positions (order from left to right is 1, 3, 0, 2 instead of 2, 0, 3, 1). The displacement between the GPS/IMU and the velodyne along the y axis should be 0.32 but it is over a centimeter off while the calibration file was correct).
Do you have any ideas about this discrepancy?
Thanks!