rpng / ov_secondary

Secondary posegraph adapted for interfacing with OpenVINS, based on VINS-Mono / VINS-Fusion.
https://docs.openvins.com/
GNU General Public License v3.0
58 stars 21 forks source link

loop fusion node hang up randomly #3

Open jiahuiLiuliu opened 3 years ago

jiahuiLiuliu commented 3 years ago

Hi, sorry to disturb you. When I run the thread of loop fusion node,the thread often hang up randomly, like this:

================================================================================REQUIRED process [loop_fusion_node-1] has died!
process has died [pid 482161, exit code -11, cmd /home/pub/l00345734/open-vins-org/workspace/catkin_ws_ov/devel/lib/loop_fusion/loop_fusion_node /home/pub/l00345734/open-vins-org/workspace/catkin_ws_ov/src/ov_secondary-master/config/master_config.yaml /vins_estimator/extrinsic:=/ov_msckf/loop_extrinsic /vins_estimator/keyframe_point:=/ov_msckf/loop_feats /vins_estimator/keyframe_pose:=/ov_msckf/loop_pose /vins_estimator/intrinsics:=/ov_msckf/loop_intrinsics /vins_estimator/pose:=/ov_msckf/poseimu /loop_fusion_node/match_image:=/ov_secondary/match_image /loop_fusion_node/pose_rect:=/ov_secondary/poseimu /loop_fusion_node/odometry_rect:=/ov_secondary/odomimu __name:=loop_fusion_node __log:=/home/l00345734/.ros/log/5e3f87d0-c999-11eb-ad18-f7d32d82d75d/loop_fusion_node-1.log].
log file: /home/l00345734/.ros/log/5e3f87d0-c999-11eb-ad18-f7d32d82d75d/loop_fusion_node-1*.log
Initiating shutdown!
================================================================================
[loop_fusion_node-1] killing on exit
shutting down processing monitor...
... shutting down processing monitor complete

so, could you give me some advise? thanks very much.

goldbattle commented 3 years ago

Yes I also saw this issue, but was unsure what caused it since it originates from the VINS-Fusion codebase. I don't have a solution at this point, and I only saw the issue maybe once every 50 or so runs. Can you use gdb and provide a backtrack (bt) to where this fails? Thanks!

jiahuiLiuliu commented 3 years ago

Thanks for your response. I think this issue maybe caused by the reason that the same ros node registered twice, because sometimes would appear this warnning:

[ WARN] [1623306906.784923813]: Shutdown request received.
[ WARN] [1623306906.786901073]: Reason given for shutdown: [[/loop_fusion_node] Reason: new node registered with same name]

When I used this command: export ROS_MASTER_URI=http://localhost:10086, the issue occured low frequency. I will use gdb to locate the problem, if I find any information, I will notify you in time.

And anotherr question that I want ask for advise.
First I run posegraph.launch, but it stopps at

"[POSEGRAPH]: waiting for camera info topic..."

then I modified one line code: //ros::Subscriber sub_image = n.subscribe("/cam0/image_raw", 2000, image_callback); ros::Subscriber sub_image = n.subscribe("/ov_msckf/loop_depth_colored", 2000, image_callback); Could you tell me is it right or not I use the information "/ov_msckf/loop_depth_colored"?

Thanks again for sharing the system.

goldbattle commented 3 years ago

You might need to use the new topics if you are using the latest version of the main open_vins repo. See issue #4. The camera topic needs to be the cam0 topic that openvins uses.

jiahuiLiuliu commented 3 years ago

I haved changed the launch,But openvins didn't need to play the rosbag,it reads dataset from the launch, should I play the rosbag for the posegraph specially? Thanks again.

junwoonlee commented 7 months ago

In my case, it was because "point_2d_norm" is not appropriately cleared in function KeyFrame::findConnection. In this reason, the error occurs in

reduceVector(matched_2d_cur_norm, status);

After adding "point_2d_norm.clear()" in the KeyFrame::findConnection, the error was cleared in my case.