MIT-SPARK / Kimera-VIO

Visual Inertial Odometry with SLAM capabilities and 3D Mesh generation.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

VIO-ROS process dies after a few seconds on Euroc dataset

Shaq06 opened this issue · comments

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:

small
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?