Skip to content
New issue

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

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

Already on GitHub? # to your account

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

Open
amao-kk opened this issue Dec 5, 2024 · 6 comments
Open

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

amao-kk opened this issue Dec 5, 2024 · 6 comments

Comments

@amao-kk
Copy link

amao-kk commented Dec 5, 2024

    感谢你们团队提供的这么优秀的项目,我在尝试复现该项目时,遇到了以下问题:
    首先,我拉取了你们提供的电脑版的镜像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):
目前不知道该如何解决,期待您的回复,再次感谢。

@kajo-kurisu
Copy link

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

@amao-kk
Copy link
Author

amao-kk commented Dec 13, 2024 via email

@xuhao1
Copy link
Collaborator

xuhao1 commented Dec 13, 2024

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

The bug has been fixed in the latest commit.

@kajo-kurisu
Copy link

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

The bug has been fixed in the latest commit.

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

@yx020802
Copy link

@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矩阵在加载时出现了问题,请问是与什么库的版本有关吗?期待您的答复

@canyueduxuan
Copy link

@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就可以成功运行了

# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants