mpkuse / cerebro

Intelligent place recognition module for vins-fusion
166 stars 44 forks source link

Cerebro process died #2

Closed zhanghanduo closed 5 years ago

zhanghanduo commented 5 years ago

Hi. I pulled down your latest docker image (tag: ros-kinetic-vins-tf-faiss) and cloned your latest cerebro code (65622640667) into the docker. During runtime, it gave the error like this: 11

Regardless of the whole image descriptor compute out of range error, the std::bad_alloc memory issue also existed on my native machine (with cerebro commit 3f2418f19). I was wondering it was my config or dependency problem, so I tried your docker image, yet this issue still exists.

My gcc version is also 5.4 with ROS kinetic and cuda 9.0. May I ask what code you are using now? Because your latest cerebro code still has tiny mistake which I had to correct to compile. In the CMakeLists.txt, line 106 (also 119) you shall remove that INCLUDE_DIRS include because you don't have include folder in the code. That will cause cmake error. Thanks anyway!

mpkuse commented 5 years ago

This looks like the server which computes the descriptor fails (based on rospy error message in your screenshot). Please go to the launch file and only print messages from server (ros-ervice) and give me the details. I am using the current master and I don't have this crash.

By server I mean this node:

        <node name="whole_image_desc_compute_server" pkg="cerebro" type="whole_image_desc_compute_server.py" output="log">
           <param name="config_file" type="string" value="$(arg config_path)" />
        </node>

You might also want to look at a standalone client I have which can query this server. The server and the client code can be found here: https://github.com/mpkuse/cerebro/tree/master/scripts

mpkuse commented 5 years ago

FYI, I completely eliminated the dependence on theia-sfm for pnp/p3p computation. Look at the current master branch (commit 62deadcb9c5286e3a8bf3f6ebcdb873456c55a56). So this should be easy to compile now. If you have to try it out, looking for feedback.