S.L.A.M.dunk SLAM/Depthmap not working


#1

Hi,

we are currently trying to use the S.L.A.M.dunk to evaluate it’s capabilities for indoor positioning.
However, we experiencing some huge troubles getting the thing to produce something useful.

Please find attached some screenshots highlighting the problem.

The setting we used for SLAM was ‘lax’, as ‘tough’ would only produce pink on the missing_depth_overlay.

We think, that something is wrong with the camera calibration, but we are not entirely sure.
Please also have a look at the extrinsics.yml:

%YAML:1.0
R1: !!opencv-matrix
rows: 3
cols: 3
dt: d
data: [ 9.9991416931152344e-01, 3.9055324159562588e-03,
-1.2505405582487583e-02, -3.9055324159562588e-03,
9.9999237060546875e-01, 2.4421180569333956e-05,
1.2505405582487583e-02, 2.4421180569333956e-05,
9.9992179870605469e-01 ]
R2: !!opencv-matrix
rows: 3
cols: 3
dt: d
data: [ 9.9997361598584888e-01, 1.1732893218290418e-03,
-7.1797639983282469e-03, -1.1846920316811998e-03,
9.9999826817606641e-01, -1.5887151932530241e-03,
7.1778884514464222e-03, 1.5972166388947783e-03,
9.9997308799403750e-01 ]
R: !!opencv-matrix
rows: 3
cols: 3
dt: d
data: [ 9.9998219247912867e-01, 2.7209217060272764e-03,
-5.3277775279870852e-03, -2.7123632143893723e-03,
9.9999526507107495e-01, 1.6068404330419849e-03,
5.3321261138797593e-03, -1.5923233559529506e-03,
9.9998464657407016e-01 ]
T: !!opencv-matrix
rows: 3
cols: 1
dt: d
data: [ -7.0708847045898438e-01, -8.2961778389289975e-04,
5.0768638029694557e-03 ]

and the intrinsics.yml:

%YAML:1.0
M1: !!opencv-matrix
rows: 3
cols: 3
dt: d
data: [ 4.2947698508543249e+02, 0., 2.4946877591210978e+01, 0.,
4.2947698508543249e+02, -1.6190484612753039e+01, 0., 0., 0. ]
M2: !!opencv-matrix
rows: 3
cols: 3
dt: d
data: [ 4.3065399494320678e+02, 0., -1.8162624824438694e+01, 0.,
4.3065399494320678e+02, -9.8895766746225036e+00, 0., 0., 0. ]
D1: !!opencv-matrix
rows: 4
cols: 1
dt: d
data: [ 3.2708001538663822e-03, -6.3490339020952173e-04,
5.3266093520935755e-05, -1.4254817756635036e-06 ]
D2: !!opencv-matrix
rows: 4
cols: 1
dt: d
data: [ 3.3711781922572959e-03, -6.5377892212434101e-04,
5.4619402821460860e-05, -1.4081921394572145e-06 ]

It starts with the camera matrices. The official documentation says there is a 1 at M(2,2) however, in the matrices stored in the /factory folder this value is zero. Another thing is the T matrix which starts with 70cm difference between the cameras?

I hope we can fix the problem regarding our S.L.A.M.dunk, as we are really keen on using it! :slight_smile:

Best regards,
Janis


#2

Hi,

There is indeed something wrong,

I’m not sure I can help you with that but in any case, here are my calibration files:

extrinsics.yml

%YAML:1.0
R1: !!opencv-matrix
   rows: 3
   cols: 3
   dt: d
   data: [ 9.9992936849594116e-01, 1.3616121141240001e-03,
       -1.1807307600975037e-02, -1.3616121141240001e-03,
       9.9999904632568359e-01, 8.0387699199491180e-06,
       1.1807307600975037e-02, 8.0387699199491180e-06,
       9.9993026256561279e-01 ]
R2: !!opencv-matrix
   rows: 3
   cols: 3
   dt: d
   data: [ 9.9998601845959978e-01, -1.2401313006919600e-03,
       -5.1704077971586665e-03, 1.2150113479385363e-03,
       9.9998760113123142e-01, -4.8638729173105842e-03,
       5.1763767818577963e-03, 4.8575146124010616e-03,
       9.9997483195892067e-01 ]
R: !!opencv-matrix
   rows: 3
   cols: 3
   dt: d
   data: [ 9.9997484415832960e-01, 2.5766449728673551e-03,
       -6.6311169464957484e-03, -2.5442847893966348e-03,
       9.9998505123424952e-01, 4.8798574245206500e-03,
       6.6435908719564554e-03, -4.8628700590060562e-03,
       9.9996616320410991e-01 ]
T: !!opencv-matrix
   rows: 3
   cols: 1
   dt: d
   data: [ -7.0709705352783203e-01, 8.7692437227815390e-04,
       3.6560322623699903e-03 ]

and intrinsics.yml:

%YAML:1.0
M1: !!opencv-matrix
   rows: 3
   cols: 3
   dt: d
   data: [ 4.3208475173519122e+02, 0., 3.1715455921413422e+00, 0.,
       4.3208475173519122e+02, 4.3386884945181237e+00, 0., 0., 0. ]
M2: !!opencv-matrix
   rows: 3
   cols: 3
   dt: d
   data: [ 4.3035479735733753e+02, 0., -4.4938399171412584e+00, 0.,
       4.3035479735733753e+02, -8.7702399887826914e+00, 0., 0., 0. ]
D1: !!opencv-matrix
   rows: 4
   cols: 1
   dt: d
   data: [ 2.4773491718392084e-03, -4.8442276831324921e-04,
       4.1985740142276683e-05, -1.4393551376973632e-06 ]
D2: !!opencv-matrix
   rows: 4
   cols: 1
   dt: d
   data: [ 5.1128200069441672e-03, -9.7551033022670694e-04,
       7.5496059712640943e-05, -5.7701730934686036e-07 ]

I don’t know what the tolerance margins are and I may have missed something but there doesn’t seem to be major differences.


Slamdunk calibration parametes
#3

Hi,

thank you very much for providing your calibration files!
We can safely say that this is not the issue as the calibration has no major differences…

We are a little bit stuck here… The Kalamos appilcation is not providing any useable output.
Running the SLAM externally by accessing the camera images through ROS is causing a too much CPU usage so the framerates are insufficient for SLAM.

Any ideas on how to proceed?
Is anyone else experiencing such problems?

Best regards,
Janis


#4

Do you find any explanations on the 0.7 in the translation matrix ? It seems really weird and when I do a calibration using ros I have 0.2 (and this is far more logical)