HKUST-Aerial-Robotics / D2SLAM

$D^2$SLAM: Decentralized and Distributed Collaborative Visual-inertial SLAM System for Aerial Swarm
273 stars 33 forks source link

when enable_loop:=true, the process died after a while #1

Open yinloonga opened 1 year ago

yinloonga commented 1 year ago

Thanks for your great work!

I compiled the program from the source code and then got the results in TUM corridor4_512 dataset as the following pic:

It's obvious that $D^2SLAM$ gets a better result by using a single drone compared with the GT (the topic /vrpn_client/raw_transform) in yellow.

However, when I enable_loop:=true, then got error messages from the terminal just as the follow pic. From the call stack, we know that the ERROR is about the loop_detector module.

I try to find this bug but get nothing yet. And I believe the author can find it faster!

So if you have time, could you give me some advice or fix it in the future.

Looking forward to your reply!

Peize-Liu commented 1 year ago

Thank you for your message. We appreciate your interest in our work. We have noted the issue you mentioned, and we apologize for any inconvenience it may have caused. The first author Hao Xu is currently busy with other tasks, but we will make sure to prioritize this issue and address it as soon as possible. We expect to have a resolution by next month. Thank you for your patience and understanding.

xuhao1 commented 1 year ago

@yinloonga Which config file you are using when testing? Please provide full command line

yinloonga commented 1 year ago

After post-test, whether it is on the fisheye camera or binocular camera datasets. Some data structures have out of range problems. The way I do it is to filter out most of the information. I recently ported code to a Jeston NX and it works. Since I haven't no time to run it in real environment yet, I'll keep giving feedback and try to offer some suggestions if possible.

Wenminggong commented 1 year ago

I can run d2vins with _enableloop=false successfully in single drone situation, however, when setting _enableloop=true, the process terminated by the same error @yinloonga mentioned above. I think the reason is that _remoteindex is empty. In single drone situation, the drone will not get remote images, as a result, _remoteindex will be empty. It means that d2vins can not support for state estimation of single drone?

Looking for your reply. @xuhao1 @Peize-Liu @yinloonga Thanks.

xuhao1 commented 1 year ago

@yinloonga @Wenminggong I found this is due to faiss lib. It requires k > 0 in latest faiss version when perform kNN searching. So I fixed the issue and also lock version of faiss in docker to avoid futher issue. Thanks for your feedback and sorry for late reply.

kajo-kurisu commented 12 months ago

I meet a similar problem . When I run the dataset-corridor3_512_16-sync-comp.bag on a single drone, i get error messages from the terminal and the program is interrupted. error1 error2

xuhao1 commented 11 months ago

@kajo-kurisu Could you have a trial on dev branch?

kajo-kurisu commented 11 months ago

@kajo-kurisu Could you have a trial on dev branch?

i meet this problem on develop branch , and if i set the arg "show" to false in tum.launch,the problem disappear. <arg name="show" default="false" />

when the arg is set to true, the program will die when the bag plays for about 50 seconds