Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Kimera crashes whenever a loop is detected. #209

Open
brytsknguyen opened this issue Apr 11, 2023 · 0 comments
Open

Kimera crashes whenever a loop is detected. #209

brytsknguyen opened this issue Apr 11, 2023 · 0 comments

Comments

@brytsknguyen
Copy link

Description:

Install Kimera on ubuntu 20.04 with the recommended instructions. Kimera VIO works fine. However if you select use_lcd, the software crashes. I have also tested on a virtual machine running ubuntu 18.04, same problem.

Command:

# roslaunch kimera_vio_ros_euroc.launch from kimera_vio_ros repo, with gdb launch prefix

<node name="kimera_vio_ros_node" pkg="kimera_vio_ros" type="kimera_vio_ros_node"
        output="screen" ns="kimera_vio_ros"
        args="--use_lcd=$(arg use_lcd)
              --vocabulary_path=$(arg path_to_vocab)
              --flagfile=$(arg params_folder)/flags/Mesher.flags
              --flagfile=$(arg params_folder)/flags/VioBackend.flags
              --flagfile=$(arg params_folder)/flags/RegularVioBackend.flags
              --flagfile=$(arg params_folder)/flags/Visualizer3D.flags
              --logtostderr=1
              --colorlogtostderr=1
              --log_prefix=1
              --v=$(arg verbosity)
              --log_output=$(arg log_output)
              --log_euroc_gt_data=$(arg log_output)
              --output_path=$(arg log_output_path)
              --viz_type=$(arg viz_type)
              --visualize=$(arg visualize)"
              launch-prefix="gdb -ex run --args">

Console output:


# GBD backtrace 

Thread 24 "kimera_vio_ros_" received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0x7fff967fc700 (LWP 161936)]
__GI___libc_free (mem=0x25) at malloc.c:3102
3102    malloc.c: No such file or directory.
(gdb) bt
#0  __GI___libc_free (mem=0x25) at malloc.c:3102
#1  0x00007ffff345f0ea in void Eigen::internal::lmpar2<double>(Eigen::ColPivHouseholderQR<Eigen::Matrix<double, -1, -1, 0, -1, -1> > const&, Eigen::Matrix<double, -1, 1, 0, -1, 1> const&, Eigen::Matrix<double, -1, 1, 0, -1, 1> const&, double, double&, Eigen::Matrix<double, -1, 1, 0, -1, 1>&) () at /home/tmn/kimera_ws/devel/lib/libkimera_vio.so
#2  0x00007ffff34cdb2c in Eigen::LevenbergMarquardt<Eigen::NumericalDiff<opengv::relative_pose::modules::fivept_nister::PollishCoefficientsFunctor, (Eigen::NumericalDiffMode)0>, double>::minimizeOneStep(Eigen::Matrix<double, -1, 1, 0, -1, 1>&) () at /home/tmn/kimera_ws/devel/lib/libkimera_vio.so
#3  0x00007ffff34cb7d3 in opengv::relative_pose::modules::fivept_nister::pollishCoefficients(Eigen::Matrix<double, 10, 20, 0, 10, 20> const&, double&, double&, double&) ()
    at /home/tmn/kimera_ws/devel/lib/libkimera_vio.so
#4  0x00007ffff347c6a2 in opengv::relative_pose::modules::fivept_nister_main(Eigen::Matrix<double, 9, 4, 0, 9, 4> const&, std::vector<Eigen::Matrix<double, 3, 3, 0, 3, 3>, Eigen::aligned_allocator<Eigen::Matrix<double, 3, 3, 0, 3, 3> > >&) () at /home/tmn/kimera_ws/devel/lib/libkimera_vio.so
#5  0x00007ffff344fe06 in opengv::relative_pose::fivept_nister(opengv::relative_pose::RelativeAdapterBase const&, opengv::Indices const&) () at /home/tmn/kimera_ws/devel/lib/libkimera_vio.so
#6  0x00007ffff3450101 in opengv::relative_pose::fivept_nister(opengv::relative_pose::RelativeAdapterBase const&, std::vector<int, std::allocator<int> > const&) () at /home/tmn/kimera_ws/devel/lib/libkimera_vio.so
#7  0x00007ffff343a0ac in opengv::sac_problems::relative_pose::CentralRelativePoseSacProblem::computeModelCoefficients(std::vector<int, std::allocator<int> > const&, Eigen::Matrix<double, 3, 4, 0, 3, 4>&) const ()
    at /home/tmn/kimera_ws/devel/lib/libkimera_vio.so
#8  0x00007ffff326cb0e in opengv::sac::Ransac<opengv::sac_problems::relative_pose::CentralRelativePoseSacProblem>::computeModel(int) () at /home/tmn/kimera_ws/devel/lib/libkimera_vio.so
#9  0x00007ffff33ced4c in VIO::LoopClosureDetector::geometricVerificationNister(unsigned long const&, unsigned long const&, gtsam::Pose3*, std::vector<unsigned long, std::allocator<unsigned long> >*, std::vector<unsigned long, std::allocator<unsigned long> >*) () at /home/tmn/kimera_ws/devel/lib/libkimera_vio.so
#10 0x00007ffff33cf345 in VIO::LoopClosureDetector::geometricVerificationCheck(unsigned long const&, unsigned long const&, gtsam::Pose3*, std::vector<unsigned long, std::allocator<unsigned long> >*, std::vector<unsigned long, std::allocator<unsigned long> >*) () at /home/tmn/kimera_ws/devel/lib/libkimera_vio.so

Console output:


# Without GBD

W0411 20:28:49.462188 162651 StereoMatcher.cpp:130] sparseStereoMatching: StereoFrame is already rectified!
W0411 20:28:49.462203 162651 StereoCamera.cpp:263] Rectifying already rectified stereo frame ...
W0411 20:28:49.469087 162655 DataProviderModule.cpp:68] Waiting for IMU data...
W0411 20:28:49.519409 162655 DataProviderModule.cpp:68] Waiting for IMU data...
I0411 20:28:49.564196 162499 KimeraVioRos.cpp:139] Statistics
-----------                                  #  Log Hz  {avg     +- std    }    [min,max]
Display [ms]                                      189   9.98260 {0.121693 +- 0.00000}   [0,23]
Lcd [ms]                                           95   5.01784 {41.4000 +- 3.12301}    [37,62]
Mesher [ms]                                        95   5.02646 {6.61053 +- 2.58183}    [2,16]
Stereo Data Provider [ms]                           0
VioBackend [ms]                                    95   5.02843 {8.90526 +- 3.78989}    [0,17]
VioFrontend Frame Rate [ms]                       284   15.0656 {1.76408 +- 1.15137}    [1,8]
VioFrontend Keyframe Rate [ms]                     94   5.00709 {34.4894 +- 13.8547}    [22,65]
VioFrontend [ms]                                  379   19.9890 {10.0026 +- 16.2115}    [1,65]
Visualizer [ms]                                    95   5.01770 {0.0210526 +- 0.144321} [0,1]
backend_input_queue Size [#]                       95   3.95213 {1.00000 +- 0.00000}    [1,1]
data_provider_left_frame_queue Size [#]           380   15.7613 {1.00000 +- 0.00000}    [1,1]
data_provider_right_frame_queue Size [#]          380   15.7613 {1.00263 +- 0.00000}    [1,2]
display_input_queue Size [#]                      189   7.84623 {1.00000 +- 0.00000}    [1,1]
frontend_input_queue Size [#]                     379   15.7174 {1.00000 +- 0.00000}    [1,1]
lcd_backend_queue Size [#]                         95   5.02447 {1.00000 +- 0.00000}    [1,1]
lcd_frontend_queue Size [#]                       379   19.9734 {2.72296 +- 1.21089}    [1,5]
mesher_backend Size [#]                            95   3.95103 {1.00000 +- 0.00000}    [1,1]
mesher_frontend Size [#]                          379   15.7182 {2.72296 +- 1.21089}    [1,5]
visualizer_backend_queue Size [#]                  95   5.02790 {1.00000 +- 0.00000}    [1,1]
visualizer_frontend_queue Size [#]                379   19.9850 {2.72296 +- 1.21089}    [1,5]
visualizer_lcd_queue Size [#]                      95   5.01778 {1.00000 +- 0.00000}    [1,1]
visualizer_mesher_queue Size [#]                   95   5.02640 {1.00000 +- 0.00000}    [1,1]
W0411 20:28:49.568740 162655 DataProviderModule.cpp:68] Waiting for IMU data...
W0411 20:28:49.618680 162655 DataProviderModule.cpp:68] Waiting for IMU data...
W0411 20:28:49.635601 162648 StereoMatcher.cpp:130] sparseStereoMatching: StereoFrame is already rectified!
W0411 20:28:49.635615 162648 StereoCamera.cpp:263] Rectifying already rectified stereo frame ...
W0411 20:28:49.664433 162651 StereoMatcher.cpp:130] sparseStereoMatching: StereoFrame is already rectified!
W0411 20:28:49.664449 162651 StereoCamera.cpp:263] Rectifying already rectified stereo frame ...
W0411 20:28:49.668896 162655 DataProviderModule.cpp:68] Waiting for IMU data...
W0411 20:28:49.720077 162655 DataProviderModule.cpp:68] Waiting for IMU data...
W0411 20:28:49.769026 162655 DataProviderModule.cpp:68] Waiting for IMU data...
W0411 20:28:49.818542 162655 DataProviderModule.cpp:68] Waiting for IMU data...
W0411 20:28:49.850425 162648 StereoMatcher.cpp:130] sparseStereoMatching: StereoFrame is already rectified!
W0411 20:28:49.850450 162648 StereoCamera.cpp:263] Rectifying already rectified stereo frame ...
W0411 20:28:49.868350 162655 DataProviderModule.cpp:68] Waiting for IMU data...
W0411 20:28:49.880959 162651 StereoMatcher.cpp:130] sparseStereoMatching: StereoFrame is already rectified!
W0411 20:28:49.880975 162651 StereoCamera.cpp:263] Rectifying already rectified stereo frame ...
W0411 20:28:49.917809 162655 DataProviderModule.cpp:68] Waiting for IMU data...
W0411 20:28:49.967880 162655 DataProviderModule.cpp:68] Waiting for IMU data...
W0411 20:28:50.019332 162655 DataProviderModule.cpp:68] Waiting for IMU data...
W0411 20:28:50.039240 162648 StereoMatcher.cpp:130] sparseStereoMatching: StereoFrame is already rectified!
W0411 20:28:50.039255 162648 StereoCamera.cpp:263] Rectifying already rectified stereo frame ...
W0411 20:28:50.067591 162651 StereoMatcher.cpp:130] sparseStereoMatching: StereoFrame is already rectified!
W0411 20:28:50.067608 162651 StereoCamera.cpp:263] Rectifying already rectified stereo frame ...
W0411 20:28:50.068687 162655 DataProviderModule.cpp:68] Waiting for IMU data...
W0411 20:28:50.118539 162655 DataProviderModule.cpp:68] Waiting for IMU data...
W0411 20:28:50.164909 162655 DataProviderModule.cpp:68] Waiting for IMU data...
W0411 20:28:50.218595 162655 DataProviderModule.cpp:68] Waiting for IMU data...
W0411 20:28:50.237824 162648 StereoMatcher.cpp:130] sparseStereoMatching: StereoFrame is already rectified!
W0411 20:28:50.237839 162648 StereoCamera.cpp:263] Rectifying already rectified stereo frame ...
E0411 20:28:50.258699 162650 Mesher.cpp:1729] Delaunay Triangle out of image (size: x: 0, y: 0, height: 480, width 752
 Triangle: x, y: 
0, 2256
529.698, 442.679
659.564, 415.301
W0411 20:28:50.268348 162651 StereoMatcher.cpp:130] sparseStereoMatching: StereoFrame is already rectified!
W0411 20:28:50.268366 162651 StereoCamera.cpp:263] Rectifying already rectified stereo frame ...
W0411 20:28:50.269194 162655 DataProviderModule.cpp:68] Waiting for IMU data...
W0411 20:28:50.318542 162655 DataProviderModule.cpp:68] Waiting for IMU data...
W0411 20:28:50.368016 162655 DataProviderModule.cpp:68] Waiting for IMU data...
W0411 20:28:50.418123 162655 DataProviderModule.cpp:68] Waiting for IMU data...
W0411 20:28:50.438990 162648 StereoMatcher.cpp:130] sparseStereoMatching: StereoFrame is already rectified!
W0411 20:28:50.439006 162648 StereoCamera.cpp:263] Rectifying already rectified stereo frame ...
W0411 20:28:50.466760 162651 StereoMatcher.cpp:130] sparseStereoMatching: StereoFrame is already rectified!
W0411 20:28:50.466776 162651 StereoCamera.cpp:263] Rectifying already rectified stereo frame ...
W0411 20:28:50.467871 162655 DataProviderModule.cpp:68] Waiting for IMU data...
[kimera_vio_ros/kimera_vio_ros_node-2] process has died [pid 162499, exit code -11, cmd /home/tmn/kimera_ws/devel/lib/kimera_vio_ros/kimera_vio_ros_node --use_lcd=true --vocabulary_path=/home/tmn/kimera_ws/src/Kimera-VIO/vocabulary/ORBvoc.yml --flagfile=/home/tmn/kimera_ws/src/Kimera-VIO/params/Euroc/flags/Mesher.flags --flagfile=/home/tmn/kimera_ws/src/Kimera-VIO/params/Euroc/flags/VioBackend.flags --flagfile=/home/tmn/kimera_ws/src/Kimera-VIO/params/Euroc/flags/RegularVioBackend.flags --flagfile=/home/tmn/kimera_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/tmn/kimera_ws/src/Kimera-VIO-ROS/output_logs/ --viz_type=0 --visualize=true left_cam/image_raw:=/cam0/image_raw right_cam/image_raw:=/cam1/image_raw imu:=/imu0 left_cam/camera_info:=/cam0/camera_info right_cam/camera_info:=/cam1/camera_info 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/tmn/.ros/log/bbbcdbb8-d86c-11ed-9a47-813417ced95d/kimera_vio_ros-kimera_vio_ros_node-2.log].
log file: /home/tmn/.ros/log/bbbcdbb8-d86c-11ed-9a47-813417ced95d/kimera_vio_ros-kimera_vio_ros_node-2*.log

Additional files:
Please attach all the files needed to reproduce the error.

Please give also the following information:

  • Kimera-Vio branch, tag or commit used: master
  • GTSAM version used: 9902ccc0a4f62123e91f057babe3612a95c15c20 (tag: 4.2a8)
  • OpenGV version used: 91f4b19c73450833a40e463ad3648aae80b3a7f3
  • OpenCV version used: 4.2.0
  • Operating system and version (e.g. Ubuntu 16.04 or Windows 10): ubuntu 20.04
  • Did you change the source code? (yes / no): no,
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant