mit-acl / dpgo

Distributed Pose Graph Optimization
MIT License
177 stars 26 forks source link

1 FAILED TEST: testDPGO.testRobustSinglePoseAveraging #2

Open adthoms opened 11 months ago

adthoms commented 11 months ago

@yuluntian in extending testStiefelProjection:

https://github.com/mit-acl/dpgo/blob/a238090c6427ad509370bd6c302bcac82c1be95f/tests/testUtils.cpp#L28

to cover an increased number of iterations (say j < 100):

https://github.com/mit-acl/dpgo/blob/a238090c6427ad509370bd6c302bcac82c1be95f/tests/testUtils.cpp#L32

testRobustSinglePoseAveraging fails with the following error:

/home/alex/catkin_ws/src/dpgo/tests/testPGO.cpp:120: Failure
Expected: ((ROpt - RTrue).norm()) <= (RMaxError), actual: 2.77197 vs 0.0282838
[  FAILED  ] testDPGO.testRobustSinglePoseAveraging (2 ms)

Empirically, it seems repeat calls to Matrix::Random() within testStiefelProjection produces this error (replacing Matrix::Random() with Matrix::Identity(), for example, seems to indicate this is the case):

adthoms commented 11 months ago

Alternatively, changing the number of iterations directly within testRobustSinglePoseAveraging to trial < 500, for example:

https://github.com/mit-acl/dpgo/blob/a238090c6427ad509370bd6c302bcac82c1be95f/tests/testPGO.cpp#L87

reproduces the identical error