Kimera-VIO
Kimera-VIO copied to clipboard
VIO-ROS process dies after a few seconds on Euroc dataset
Hello community, I installed Kimera VIO-ROS following the installation guide. In the BackendParams.yaml I changed the autoInitialize flag to 1 wich was recommended here to counter an error if we have no ground truth odometry topic. I start roscore, VIO and rviz now each in a seperate terminal with
Command:
roscore
roslaunch kimera_vio_ros kimera_vio_ros_euroc.launch
rviz -d $(rospack find kimera_vio_ros)/rviz/kimera_vio_euroc.rviz
rosbag play --clock /home/Downloads/V1_01_easy.bag
For a better overview I only show a few lines where errors occur. I get a few warnings that the VIO backend is taking very long and rectifing already happened and one error from mesh.ccp very shortly after the few first dataoutputs.
W1125 03:08:23.989534 3842 PipelineModule.h:336] Callbacks for module: VioBackend are taking very long! Current latency: 16 ms.
I1125 03:08:24.048943 3828 KimeraVioRos.cpp:137] Statistics
----------- # Log Hz {avg +- std } [min,max]
Display [ms] 11 3.62988 {14.5455 +- 46.5926} [0,155]
Mesher [ms] 6 1.99776 {16.3333 +- 18.8750} [2,48]
Stereo Data Provider [ms] 0
VioBackend [ms] 6 1.99721 {18.0000 +- 33.5917} [0,84]
VioFrontend Frame Rate [ms] 18 6.66235 {15.1667 +- 16.8776} [4,67]
VioFrontend Keyframe Rate [ms] 5 1.93169 {387.000 +- 89.3448} [331,542]
VioFrontend [ms] 24 7.91406 {106.542 +- 166.615} [4,542]
Visualizer [ms] 6 1.99696 {3.66667 +- 6.25033} [0,16]
backend_input_queue Size [#] 6 1.99704 {1.00000 +- 0.00000} [1,1]
data_provider_left_frame_queue Size [#] 1047 338.665 {505.551 +- 27.6795} [1,1015]
data_provider_right_frame_queue Size [#] 1047 338.636 {505.551 +- 27.6747} [1,1015]
display_input_queue Size [#] 11 3.56073 {1.00000 +- 0.00000} [1,1]
frontend_input_queue Size [#] 30 9.62357 {4.53333 +- 1.16658} [1,5]
mesher_backend Size [#] 6 1.98001 {1.00000 +- 0.00000} [1,1]
mesher_frontend Size [#] 24 7.84601 {2.33333 +- 1.40393} [1,6]
visualizer_backend_queue Size [#] 6 1.97999 {1.00000 +- 0.00000} [1,1]
visualizer_frontend_queue Size [#] 24 7.84605 {2.33333 +- 1.40393} [1,6]
visualizer_mesher_queue Size [#] 6 1.98045 {1.00000 +- 0.00000} [1,1]
I1125 03:08:24.164039 3828 KimeraVioRos.cpp:137] Statistics
----------- # Log Hz {avg +- std } [min,max]
Display [ms] 11 3.62988 {14.5455 +- 46.5926} [0,155]
Mesher [ms] 6 1.99776 {16.3333 +- 18.8750} [2,48]
Stereo Data Provider [ms] 0
VioBackend [ms] 6 1.99721 {18.0000 +- 33.5917} [0,84]
VioFrontend Frame Rate [ms] 18 6.66235 {15.1667 +- 16.8776} [4,67]
VioFrontend Keyframe Rate [ms] 5 1.93169 {387.000 +- 89.3448} [331,542]
VioFrontend [ms] 24 7.91406 {106.542 +- 166.615} [4,542]
Visualizer [ms] 6 1.99696 {3.66667 +- 6.25033} [0,16]
backend_input_queue Size [#] 6 1.99704 {1.00000 +- 0.00000} [1,1]
data_provider_left_frame_queue Size [#] 1086 340.169 {524.564 +- 27.5563} [1,1054]
data_provider_right_frame_queue Size [#] 1086 340.153 {524.564 +- 27.5652} [1,1054]
display_input_queue Size [#] 11 3.56073 {1.00000 +- 0.00000} [1,1]
frontend_input_queue Size [#] 30 9.62357 {4.53333 +- 1.16658} [1,5]
mesher_backend Size [#] 6 1.98001 {1.00000 +- 0.00000} [1,1]
mesher_frontend Size [#] 24 7.84601 {2.33333 +- 1.40393} [1,6]
visualizer_backend_queue Size [#] 6 1.97999 {1.00000 +- 0.00000} [1,1]
visualizer_frontend_queue Size [#] 24 7.84605 {2.33333 +- 1.40393} [1,6]
visualizer_mesher_queue Size [#] 6 1.98045 {1.00000 +- 0.00000} [1,1]
W1125 03:08:24.247588 3841 StereoMatcher.cpp:130] sparseStereoMatching: StereoFrame is already rectified!
W1125 03:08:24.250111 3841 StereoCamera.cpp:263] Rectifying already rectified stereo frame ...
I1125 03:08:24.282434 3828 KimeraVioRos.cpp:137] Statistics
----------- # Log Hz {avg +- std } [min,max]
Display [ms] 11 3.62988 {14.5455 +- 46.5926} [0,155]
Mesher [ms] 6 1.99776 {16.3333 +- 18.8750} [2,48]
Stereo Data Provider [ms] 0
VioBackend [ms] 6 1.99721 {18.0000 +- 33.5917} [0,84]
VioFrontend Frame Rate [ms] 18 6.66235 {15.1667 +- 16.8776} [4,67]
VioFrontend Keyframe Rate [ms] 5 1.93169 {387.000 +- 89.3448} [331,542]
VioFrontend [ms] 24 7.91406 {106.542 +- 166.615} [4,542]
Visualizer [ms] 6 1.99696 {3.66667 +- 6.25033} [0,16]
backend_input_queue Size [#] 6 1.99704 {1.00000 +- 0.00000} [1,1]
data_provider_left_frame_queue Size [#] 1127 341.691 {544.589 +- 28.8991} [1,1095]
data_provider_right_frame_queue Size [#] 1127 341.676 {544.589 +- 28.8991} [1,1095]
display_input_queue Size [#] 11 3.56073 {1.00000 +- 0.00000} [1,1]
frontend_input_queue Size [#] 30 9.62357 {4.53333 +- 1.16658} [1,5]
mesher_backend Size [#] 6 1.98001 {1.00000 +- 0.00000} [1,1]
mesher_frontend Size [#] 24 7.84601 {2.33333 +- 1.40393} [1,6]
visualizer_backend_queue Size [#] 6 1.97999 {1.00000 +- 0.00000} [1,1]
visualizer_frontend_queue Size [#] 24 7.84605 {2.33333 +- 1.40393} [1,6]
visualizer_mesher_queue Size [#] 6 1.98045 {1.00000 +- 0.00000} [1,1]
I1125 03:08:24.377308 3842 RegularVioBackend.cpp:212] Tracker has a LOW_DISPARITY status.
E1125 03:08:24.378720 3843 Mesher.cpp:1729] Delaunay Triangle out of image (size: x: 0, y: 0, height: 480, width 752
Triangle: x, y:
90.257, 115.419
107.145, 370.838
-2256, -2256
However the program keeps running. rviz does show me a grayscale picture on the "Left Image" screen and features on the "Debug img" screen. Even a map gets generated, but no mesh is shown. The whole process is stuttering a bit and lasts for about 10 seconds. Then VIO crashes with the following output error
Console output:
[kimera_vio_ros/kimera_vio_ros_node-1] process has died [pid 3828, exit code -9, cmd /home/ubuntu/catkin_ws/devel/lib/kimera_vio_ros/kimera_vio_ros_node --use_lcd=false --vocabulary_path=/home/ubuntu/catkin_ws/src/Kimera-VIO/vocabulary/ORBvoc.yml --flagfile=/home/ubuntu/catkin_ws/src/Kimera-VIO/params/Euroc/flags/Mesher.flags --flagfile=/home/ubuntu/catkin_ws/src/Kimera-VIO/params/Euroc/flags/VioBackend.flags --flagfile=/home/ubuntu/catkin_ws/src/Kimera-VIO/params/Euroc/flags/RegularVioBackend.flags --flagfile=/home/ubuntu/catkin_ws/src/Kimera-VIO/params/Euroc/flags/Visualizer3D.flags --logtostderr=1 --colorlogtostderr=1 --log_prefix=1 --v=0 --log_output=false --log_euroc_gt_data=false --output_path=/home/ubuntu/catkin_ws/src/Kimera-VIO-ROS/output_logs/ --viz_type=0 --visualize=true reinit_flag:=reinit_flag reinit_pose:=reinit_pose odometry:=odometry resiliency:=resiliency imu_bias:=imu_bias optimized_trajectory:=optimized_trajectory pose_graph:=pose_graph mesh:=mesh frontend_stats:=frontend_stats debug_mesh_img/image_raw:=debug_mesh_img/image_raw feature_tracks/image_raw:=feature_tracks/image_raw time_horizon_pointcloud:=time_horizon_pointcloud __name:=kimera_vio_ros_node __log:=/home/ubuntu/.ros/log/5cc60c64-4dc2-11ec-a7f4-080027835f03/kimera_vio_ros-kimera_vio_ros_node-1.log].
log file: /home/ubuntu/.ros/log/5cc60c64-4dc2-11ec-a7f4-080027835f03/kimera_vio_ros-kimera_vio_ros_node-1*.log
This specific log file does not exist in the directory, how can I see the log? all the other logs that are in the folder show me the same error message as above.
A screenshot of the rviz interface:
Please give also the following information:
I only run 4 GB of RAM on my virtual machine which caused compiler errors during building. The -j1 parameter and many building attempts helped to get it done.
- Kimera-Vio-ROS version 5.0.0
- GTSAM version used: 4.1.0
- OpenGV version used: opengv_catkin version 0.0.1
- OpenCV version used: 3.4.2
- Operating system and version (e.g. Ubuntu 16.04 or Windows 10): Ubuntu 18.04
- Did you change the source code? (yes / no): no
I am facing the same issue as well.
If this is still an issue for either of you, does it work if you use a dataset that has gt odometry and set autoinitialize to 0?