-
Notifications
You must be signed in to change notification settings - Fork 820
Description
I am using mono ORB SLAM to run with TUM dataset. Everything works well except the groundtruth.txt provided starts with an offset (real world camera pose) while ORB SLAM outputs a relative pose change to its initial pose.
I tried to subtract every single value with the initial value in groundtruth, but cannot get a correct answer.
For example, using rgbd_dataset_freiburg1_xyz dataset,
My KeyFrameTrajectory.txt starts and ends with
1305031109.411329 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000
...
1305031128.347423 -0.1738054 0.1043030 0.0929417 -0.0599872 -0.0735068 -0.0325272 0.9949574
The ground truth goes with
...
1305031109.4158 1.3097 0.8065 1.6132 0.6932 0.5932 -0.2755 -0.3028
...
1305031128.3455 1.2823 0.5845 1.4489 0.6715 0.6469 -0.2800 -0.2284
...
Thus we can see the angle of ground truth goes from
[ 156.5623909, 133.9769335, -62.2229352 ] (a)
to
[ 142.3680597, 137.1524912, -59.3641947 ] (b)
While the diff I get from ORB SLAM (from KeyFrameTrajectory.txt )is
[ -6.8913988, -8.3826331, -3.7558409 ] (c)
Similarly, we can see that position of gt goes from [1.3097 0.8065 1.6132] (a) to [1.2823 0.5845 1.4489] (b), while the diff in ORB is [-0.1738054 0.1043030 0.0929417 ] (c)
In short, I cannot get (a) ~= (b) + (c). The equal sign only works in perfect, but in the example above they are even not close to approximations.
I am not sure if this is the nature of ORB SLAM, or is there anything wrong in my understanding?
P.S. I have looked into some other issues such as #28 , but did not get help from those info.
Any hints would be appreciative, thank you.