Skip to content

Validate ORB SLAM with TUM Dataset #172

@adayoegi

Description

@adayoegi

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions