D2SLAM icon indicating copy to clipboard operation
D2SLAM copied to clipboard

运行时,[d2vins-2] process has died异常结束

Open amao-kk opened this issue 1 year ago • 6 comments

    感谢你们团队提供的这么优秀的项目,我在尝试复现该项目时,遇到了以下问题:
    首先,我拉取了你们提供的电脑版的镜像hkustswarm/d2slam:x86,然后在此基础上成功编译:

Warnings << quadcam_depth_est:symlink /root/swarm_ws/logs/quadcam_depth_est/build.symlink.002.log
Warning: Cannot symlink from /root/swarm_ws/devel/.private/quadcam_depth_est/lib/libtensorrt_utils.so to existing file /root/swarm_ws/devel/lib/libtensorrt_utils.so Warning: Source hash: 986e8faa4c75bded65acb88c4a79bfc4 Warning: Dest hash: 847e1150d1349fc58494c4b84de91b61

................................................................................................................ Finished <<< quadcam_depth_est [ 0.2 seconds ]
Finished <<< d2vins [ 0.3 seconds ]
[build] Summary: All 15 packages succeeded!
[build] Ignored: None.
[build] Warnings: 1 packages succeeded with warnings.
[build] Abandoned: None.
[build] Failed: None.
[build] Runtime: 2.0 seconds total. 我在尝试运行的时候,roslaunch d2vins realsense.launch,出现了以下的报错: Checking log directory for disk usage. This may take a while. Press Ctrl-C to interrupt Done checking log file disk usage. Usage is <1GB.

started roslaunch server http://amao-ZHENGJIUZHE-REN7000-28IMB:44837/

SUMMARY

PARAMETERS

  • /d2comm/lcm_uri: udpm://224.0.0.25...
  • /d2comm/self_id: 1
  • /d2pgo/is_4dof: False
  • /d2pgo/self_id: 1
  • /d2pgo/vins_config_path: /root/swarm_ws/sr...
  • /d2vins/accept_min_3d_pts: 30
  • /d2vins/depth_far_thres: 100
  • /d2vins/detector_match_thres: 0.7
  • /d2vins/enable_loop: True
  • /d2vins/enable_network: True
  • /d2vins/enable_pub_remote_img: False
  • /d2vins/enable_sub_remote_img: False
  • /d2vins/init_query_thres: 0.2
  • /d2vins/inter_drone_init_frames: 3
  • /d2vins/is_4dof: False
  • /d2vins/jpg_quality: 75
  • /d2vins/lcm_uri: udpm://224.0.0.25...
  • /d2vins/loop_cov_pos: 0.1
  • /d2vins/lower_cam_as_main: False
  • /d2vins/match_index_dist: 100
  • /d2vins/match_index_dist_remote: 20
  • /d2vins/min_direction_loop: 1
  • /d2vins/min_match_per_dir: 20
  • /d2vins/min_movement_keyframe: 0.1
  • /d2vins/netvlad_model_path: /root/swarm_ws/sr...
  • /d2vins/nonkeyframe_waitsec: 5.0
  • /d2vins/odometry_consistency_threshold: 3.0
  • /d2vins/output_path: /home/dji/output/
  • /d2vins/output_raw_superpoint_desc: False
  • /d2vins/pca_comp_path: /root/swarm_ws/sr...
  • /d2vins/pca_mean_path: /root/swarm_ws/sr...
  • /d2vins/pca_netvlad: /root/swarm_ws/sr...
  • /d2vins/pos_covariance_per_meter: 0.01
  • /d2vins/query_thres: 0.2
  • /d2vins/recv_msg_duration: 0.5
  • /d2vins/self_id: 1
  • /d2vins/send_all_features: False
  • /d2vins/send_img: False
  • /d2vins/send_whole_img_desc: False
  • /d2vins/show: False
  • /d2vins/superglue_model_path: /root/swarm_ws/sr...
  • /d2vins/superpoint_model_path: /root/swarm_ws/sr...
  • /d2vins/superpoint_thres: 0.1
  • /d2vins/triangle_thres: 0.012
  • /d2vins/vins_config_path: /root/swarm_ws/sr...
  • /d2vins/yaw_covariance_per_meter: 0.003
  • /rosdistro: noetic
  • /rosversion: 1.16.0

NODES / d2comm (d2comm/d2comm_node) d2pgo (d2pgo/d2pgo_node) d2vins (d2vins/d2vins_node)

auto-starting new master process[master]: started with pid [14105] ROS_MASTER_URI=http://localhost:11311

setting /run_id to 193c768a-b2dd-11ef-ad5a-34cff669d92b process[rosout-1]: started with pid [14126] started core service [/rosout] process[d2vins-2]: started with pid [14133] process[d2pgo-3]: started with pid [14134] process[d2comm-4]: started with pid [14135] D2Comm starting.... [D2Comm] Try to initialize LCM URI: udpm://224.0.0.251:7667?ttl=1 [ INFO] [1733384815.800856639]: [D2Comm] Drone 1 ready. [ INFO] [1733384815.801877646]: [D2Comm] Starting d2comm lcm thread. PGO Loaded VINS config from /root/swarm_ws/src/D2SLAM/d2vins/../config/realsense_d435/d435_single.yaml [D2PGO] In single mode enable_pcm 1 pcm_thres 2.8 [D2PGO] PGOState: is 6dof [D2PGONode@1] Initialized Read VINS config from /root/swarm_ws/src/D2SLAM/d2vins/../config/realsense_d435/d435_single.yaml superpoint_config.max_keypoints: 150 superpoint_config.onnx_path: superpoint_config.engine_path: superpoint_config.keypoint_threshold: 0.000000 [07:46:56][info][d2frontend_params.cpp,D2FrontendParams,L181] [D2FrontendParams] enable_search_local_aera not found, use default

[07:46:56][info][d2frontend_params.cpp,D2FrontendParams,L232] [D2Frontend] Using lazy broadcast keyframe: false [07:46:56][info][d2frontend_params.cpp,readCameraConfigs,L344] Read camera from config file [07:46:56][info][d2frontend_params.cpp,readCameraConfigs,L368] Camera 0: topic: /camera/infra1/image_rect_raw, calib: /root/swarm_ws/src/D2SLAM/d2vins/../config/realsense_d435/left.yaml, T: T [+0.099,+0.020,+0.010] YPR [-89.4,-1.0,-89.4] [07:46:56][info][d2frontend_params.cpp,readCameraConfigs,L368] Camera 1: topic: /camera/infra2/image_rect_raw, calib: /root/swarm_ws/src/D2SLAM/d2vins/../config/realsense_d435/right.yaml, T: T [+0.099,-0.030,+0.011] YPR [-89.3,-1.0,-89.4] [07:46:56][info][d2frontend_params.cpp,generateCameraModels,L262] [D2Frontend] Read camera from /root/swarm_ws/src/D2SLAM/d2vins/../config/realsense_d435/left.yaml [07:46:56][info][d2frontend_params.cpp,generateCameraModels,L262] [D2Frontend] Read camera from /root/swarm_ws/src/D2SLAM/d2vins/../config/realsense_d435/right.yaml [07:46:56][warning][d2frontend_params.cpp,generateCameraModels,L282] [D2Frontend] No photometric calibration file provided [07:46:56][info][d2frontend_params.cpp,generateCameraModels,L307] [D2Frontend] Focal length initialize to: 460.0 [07:46:56][info][loop_cam.cpp,LoopCam,L34] Init CNNs using onnx Trying to init MobileNetVLADONNX@/root/swarm_ws/src/D2SLAM/d2frontend/../models/mobilenetvlad_dyn_size.onnx tensorrt 0 fp16 1 int8 0 pca 1 [D2FrontEnd] Loading PCA for MobileNetVLADONNX: d2vins_node: /usr/include/eigen3/Eigen/src/Core/Block.h:120: Eigen::Block<XprType, BlockRows, BlockCols, InnerPanel>::Block(XprType&, Eigen::Index) [with XprType = Eigen::Matrix<float, -1, -1>; int BlockRows = 1; int BlockCols = -1; bool InnerPanel = false; Eigen::Index = long int]: Assertion (i>=0) && ( ((BlockRows==1) && (BlockCols==XprType::ColsAtCompileTime) && i<xpr.rows()) ||((BlockRows==XprType::RowsAtCompileTime) && (BlockCols==1) && i<xpr.cols()))' failed. Stack trace (most recent call last): #11 Object "", at 0xffffffffffffffff, in #10 Source "/root/swarm_ws/src/D2SLAM/d2vins/src/d2vins_node.cpp", line 326, in _start [0x56191d7fbe6d] 323: d2vins.stopFrontend(); 324: d2vins.stopAllThread(); 325: return 0; > 326: } #9 Source "../csu/libc-start.c", line 308, in __libc_start_main [0x7fa92dde3082] #8 | Source "/root/swarm_ws/src/D2SLAM/d2vins/src/d2vins_node.cpp", line 317, in D2VINSNode | 315: // spdlog::set_level(spdlog::level::debug); | 316: | > 317: D2VINSNode d2vins(n); | 318: // ros::AsyncSpinner spinner(4); | 319: // spinner.start(); Source "/root/swarm_ws/src/D2SLAM/d2vins/src/d2vins_node.cpp", line 305, in main [0x56191d7fb2a1] 302: } 303: 304: public: > 305: D2VINSNode(ros::NodeHandle &nh) { Init(nh); } 306: }; 307: 308: int main(int argc, char **argv) { #7 Source "/root/swarm_ws/src/D2SLAM/d2vins/src/d2vins_node.cpp", line 254, in Init [0x56191d837ee7] 251: } 252: 253: void Init(ros::NodeHandle &nh) { > 254: D2Frontend::Init(nh); 255: initParams(nh); 256: estimator = new D2Estimator(params->self_id); 257: d2vins_net = new D2VINSNet(estimator, params->lcm_uri); #6 Source "/root/swarm_ws/src/D2SLAM/d2frontend/src/d2frontend.cpp", line 295, in Init [0x7fa93030796e] 292: loop_net = 293: new LoopNet(params->_lcm_uri, params->send_img, 294: params->send_whole_img_desc, params->recv_msg_duration); > 295: loop_cam = new LoopCam(*(params->loopcamconfig), nh); 296: feature_tracker = new D2FeatureTracker(*(params->ftconfig)); 297: feature_tracker->cams = loop_cam->cams; 298: loop_detector = #5 Source "/root/swarm_ws/src/D2SLAM/d2frontend/src/loop_cam.cpp", line 38, in LoopCam [0x7fa93027b2ff] 35: netvlad_onnx = new MobileNetVLADONNX( 36: config.netvlad_model, img_width, img_height, config.cnn_enable_tensorrt, 37: config.cnn_enable_tensorrt_fp16, config.cnn_enable_tensorrt_int8, > 38: config.netvlad_int8_calib_table_name); 39: 40: SuperPoint::SuperPointConfig sp_config = config.superpoint_config; 41: superpoint_ptr = std::make_unique<SuperPoint>(sp_config); #4 | Source "/root/swarm_ws/src/D2SLAM/d2frontend/include/d2frontend/CNN/mobilenetvlad_onnx.h", line 38, in row | 36: auto pca = load_csv_mat_eigen(params->pca_netvlad); | 37: // This first row is the mean | > 38: pca_mean = pca.row(0).transpose(); | 39: // // The rest is the components | 40: pca_comp_T = pca.block(1, 0, pca.rows() - 1, pca.cols()); | Source "/usr/include/eigen3/Eigen/src/plugins/BlockMethods.h", line 861, in Block | 859: inline RowXpr row(Index i) | 860: { | > 861: return RowXpr(derived(), i); | 862: } Source "/usr/include/eigen3/Eigen/src/Core/Block.h", line 120, in MobileNetVLADONNX [0x7fa9302a91cd] 117: EIGEN_DEVICE_FUNC 118: inline Block(XprType& xpr, Index i) : Impl(xpr,i) 119: { > 120: eigen_assert( (i>=0) && ( 121: ((BlockRows==1) && (BlockCols==XprType::ColsAtCompileTime) && i<xpr.rows()) 122: ||((BlockRows==XprType::RowsAtCompileTime) && (BlockCols==1) && i<xpr.cols()))); 123: } #3 Source "/build/glibc-LcI20x/glibc-2.31/assert/assert.c", line 101, in __assert_fail [0x7fa92ddf2fd5] #2 Source "/build/glibc-LcI20x/glibc-2.31/assert/assert.c", line 92, in __assert_fail_base [0x7fa92dde1728] #1 Source "/build/glibc-LcI20x/glibc-2.31/stdlib/abort.c", line 79, in abort [0x7fa92dde1858] #0 Source "../sysdeps/unix/sysv/linux/raise.c", line 51, in raise [0x7fa92de0200b] Aborted (Signal sent by tkill() 14133 0) [d2vins-2] process has died [pid 14133, exit code -6, cmd nice --20 /root/swarm_ws/devel/lib/d2vins/d2vins_node __name:=d2vins __log:=/root/.ros/log/193c768a-b2dd-11ef-ad5a-34cff669d92b/d2vins-2.log]. log file: /root/.ros/log/193c768a-b2dd-11ef-ad5a-34cff669d92b/d2vins-2*.log ^C[d2comm-4] killing on exit [d2pgo-3] killing on exit terminate called without an active exception [rosout-1] killing on exit [master] killing on exit shutting down processing monitor... ... shutting down processing monitor complete done 然后在运行数据集时,启动该镜像时也是遇到了同样的报错: d2vins_node: /usr/include/eigen3/Eigen/src/Core/Block.h:120: Eigen::Block<XprType, BlockRows, BlockCols, InnerPanel>::Block(XprType&, Eigen::Index) [with XprType = Eigen::Matrix<float, -1, -1>; int BlockRows = 1; int BlockCols = -1; bool InnerPanel = false; Eigen::Index = long int]: Assertion (i>=0) && ( ((BlockRows==1) && (BlockCols==XprType::ColsAtCompileTime) && i<xpr.rows()) ||((BlockRows==XprType::RowsAtCompileTime) && (BlockCols==1) && i<xpr.cols()))' failed. Stack trace (most recent call last): 目前不知道该如何解决,期待您的回复,再次感谢。

amao-kk avatar Dec 05 '24 07:12 amao-kk

我也遇到了一样的问题,请问你解决了吗

kajo-kurisu avatar Dec 13 '24 03:12 kajo-kurisu

抱歉,目前我还没解决这个问题,仍在尝试中,如果有了结果会进行分享,也期待您成功的解决方案。

发自我的iPhone

------------------ 原始邮件 ------------------ 发件人: kajo-kurisu @.> 发送时间: 2024年12月13日 11:32 收件人: HKUST-Aerial-Robotics/D2SLAM @.> 抄送: amao-kk @.>, Author @.> 主题: Re: [HKUST-Aerial-Robotics/D2SLAM] 运行时,[d2vins-2] process has died异常结束 (Issue #53)

我也遇到了一样的问题,请问你解决了吗

— Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you authored the thread.Message ID: @.***>

amao-kk avatar Dec 13 '24 06:12 amao-kk

@amao-kk @kajo-kurisu 这是错误的设置了onnx的路径造成的,请自行在launch中修改至 models/netvlad_series/mobilenetvlad_dyn_size.onnx 或者拉去最新主干代码解决这一问题

The bug has been fixed in the latest commit.

xuhao1 avatar Dec 13 '24 13:12 xuhao1

@amao-kk @kajo-kurisu 这是错误的设置了onnx的路径造成的,请自行在launch中修改至 models/netvlad_series/mobilenetvlad_dyn_size.onnx 或者拉去最新主干代码解决这一问题

The bug has been fixed in the latest commit.

感谢您的回复,我最近在排查中已经修改了该路径,还是出现了该问题,我目前使用的是12月12号的代码,后续我将更改代码分支重新测试

kajo-kurisu avatar Dec 13 '24 14:12 kajo-kurisu

@amao-kk @kajo-kurisu 这是错误的设置了onnx的路径造成的,请自行在launch中修改至 models/netvlad_series/mobilenetvlad_dyn_size.onnx 或者拉去最新主干代码解决这一问题

The bug has been fixed in the latest commit.

感谢您的回复,这个错误似乎并不是路径问题造成的,今天我尝试了使用你们更新后的镜像,仍有这个问题: d2vins_node: /usr/include/eigen3/Eigen/src/Core/Block.h:120: Eigen::Block<XprType, BlockRows, BlockCols, InnerPanel>::Block(XprType&, Eigen::Index) [with XprType = Eigen::Matrix<float, -1, -1>; int BlockRows = 1; int BlockCols = -1; bool InnerPanel = false; Eigen::Index = long int]: Assertion `(i>=0) && ( ((BlockRows==1) && (BlockCols==XprType::ColsAtCompileTime) && i<xpr.rows()) ||((BlockRows==XprType::RowsAtCompileTime) && (BlockCols==1) && i<xpr.cols()))' failed. 这个似乎是pca矩阵在加载时出现了问题,请问是与什么库的版本有关吗?期待您的答复

yx020802 avatar Dec 14 '24 09:12 yx020802

@amao-kk @kajo-kurisu 这是错误的设置了onnx的路径造成的,请自行在launch中修改至 models/netvlad_series/mobilenetvlad_dyn_size.onnx 或者拉去最新主干代码解决这一问题 The bug has been fixed in the latest commit.

感谢您的回复,这个错误似乎并不是路径问题造成的,今天我尝试了使用你们更新后的镜像,仍有这个问题: d2vins_node: /usr/include/eigen3/Eigen/src/Core/Block.h:120: Eigen::Block<XprType, BlockRows, BlockCols, InnerPanel>::Block(XprType&, Eigen::Index) [with XprType = Eigen::Matrix<float, -1, -1>; int BlockRows = 1; int BlockCols = -1; bool InnerPanel = false; Eigen::Index = long int]: Assertion `(i>=0) && ( ((BlockRows==1) && (BlockCols==XprType::ColsAtCompileTime) && i<xpr.rows()) ||((BlockRows==XprType::RowsAtCompileTime) && (BlockCols==1) && i<xpr.cols()))' failed. 这个似乎是pca矩阵在加载时出现了问题,请问是与什么库的版本有关吗?期待您的答复

我也是遇到这个问题,我使用去年8月份的branch就可以成功运行了

canyueduxuan avatar Dec 15 '24 07:12 canyueduxuan