VIS4ROB-lab / ccm_slam

CCM-SLAM: Robust and Efficient Centralized Collaborative Monocular SLAM for Robotic Teams
538 stars 107 forks source link

problem about traking lost. #37

Closed flyover-26 closed 2 years ago

flyover-26 commented 2 years ago

hi! I use d435i camera to test ccm-slam on one Xavier NX. And I found it's easy to get traking lost if I move d435i a little bit fast. I want to know if there is any reason to lead to this problem? Is this related to fps ?(my d435i's fps is 30) Thank you very much!

flyover-26 commented 2 years ago

And I want to use on NX with d435i to let the map merged happen. What I do is run server node and agent0 node,and I can get a map.And the I shut down agent0 node and run agent1 node on the same nx.And I also get a map.However,It seem that map merged didn't happen. I want to know is this method right to get merged map? thank you!

flyover-26 commented 2 years ago

IMG_20211214_153343 IMG_20211214_153350

patriksc commented 2 years ago

Hi!

flyover-26 commented 2 years ago

Thank you for your reply! Now I use d435i to test this project on pc. And I just run one agent on pc,when I open rviz to subcribe /ccm-slam/ImageClient0 the agent0 crash like this. qa1 By the way,I use ubuntu 18.04.

And I notice that you have a devel vision,does this has any difference comparing with master one? Thank you!

flyover-26 commented 2 years ago

I found If I set camera'resolution to 1280720 ,it can run nomally. But if I set it to 640480,it will crash.

patriksc commented 2 years ago

As mentioned in the readme For the newest version of CCM-SLAM (1.1), including functionalities to save and load maps, try out the devel branch

flyover-26 commented 2 years ago

thank you so much for your reply! Could you tell me when you do experienment with 3 UGV in real world,what resolution does your camera have?Will the stability of system be related to the resolution of camera?or the vision of ubuntu? like the problem above?

Is ccm-slam(1.1) for ubuntu 18.04? thank you so much for your patience!!!

patriksc commented 2 years ago

CCM-SLAM should work well with Ubuntu 18. Generally, a higher camera resolution can improve the quality of the SLAM estimate, but will also affect the timings. Both resolutions you mentioned should work (EuRoC has 752x480). However, be aware that different resolution will require different camera parameters (fx,fy,cx,cy, maybe even distortion coefficients) - so if you just change e.g. the resolution of the cam to 640x480 and not the camera parameters, this will fail.

flyover-26 commented 2 years ago

THANK YOU !!! Now I can let two maps merged, but I can not see red lines as you described.(ps:What I do is run server node and agent0 node,and I can get a map.And the I shut down agent0 node and run agent1 node on the same nx.And I also get a map.)

result.txt

In this result.txt,it seems map merged happened uncorrectly.

222

Could you tell me is this result correct? I appreciate your help!

patriksc commented 2 years ago

Covisiblity edges (red and gray) are only displayed if they have a weight above a certain threshold. This can be set via the parameter Viewer.CovGraphMinFeats - probably your edges are not strong enough. Whether this results is correct I cannot tell, since I neither know your camera motion nor the structure of your environment. What I can say is, the white and green point cloud seem to align (not really clear to say from the perspective though), which would be a good sign.

flyover-26 commented 2 years ago

thank you so much for your help! About resolution,I use gdb to debug this problem,and get error below. Could you give some advice on this? error3

flyover-26 commented 2 years ago

![Uploading error4.png…]()

flyover-26 commented 2 years ago

error4

patriksc commented 2 years ago

Not exactly clear what is going on from those logs - can you please try to spot the exact line that causes the segfault? Also, probably introduce a check whether mCurrentFrame in Viewer::UpdateFrame is valid or a nulltpr.

flyover-26 commented 2 years ago

that is the exact line I can provide. But sometimes,the program goes well with resolution 640x480.Most time it will crash with 640x480. Is this the problem with project or with d435i? I am clined to d453i to lead to this problem,because everying goes well with 1280x720.And do also good with 640x480 sometimes.Is this project sensitive to camera input? Thank you so much!!!

Accidently,I run nx as an agent0 and pc as agent1 、server. When map merged happened,I got a merge map with only white point.It seems not stable enough.And sometimes,I got a merged map with two diffenent color which is correct. Is there any reason about this? thank you so much for your help!

flyover-26 commented 2 years ago

ccm-ccm

all white point like this.

flyover-26 commented 2 years ago

I got the exact line that has error. Hope this will be helpful! Thank you so much for your patience.

gdb.txt

patriksc commented 2 years ago
patriksc commented 2 years ago

Problem seems resolved - closing the issue.