Closed zhanghanduo closed 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
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.
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:
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 haveinclude
folder in the code. That will cause cmake error. Thanks anyway!