-
Notifications
You must be signed in to change notification settings - Fork 63
Description
Upon running the roslaunch d2vins realsense.launch command, we get the error
`
root@shadow2002:~/swarm_ws# roslaunch d2vins realsense.launch
... logging to /root/.ros/log/247ef09c-b307-11f0-bafe-d4f32d64527b/roslaunch-shadow2002-55601.log
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://shadow2002:34235/
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.17.4
NODES
/
d2comm (d2comm/d2comm_node)
d2pgo (d2pgo/d2pgo_node)
d2vins (d2vins/d2vins_node)
auto-starting new master
process[master]: started with pid [55624]
ROS_MASTER_URI=http://localhost:11311
setting /run_id to 247ef09c-b307-11f0-bafe-d4f32d64527b
process[rosout-1]: started with pid [55653]
started core service [/rosout]
process[d2vins-2]: started with pid [55663]
nice: cannot set niceness: Permission denied
process[d2pgo-3]: started with pid [55664]
process[d2comm-4]: started with pid [55665]
D2Comm starting....
PGO Loaded VINS config from /root/swarm_ws/src/D2SLAM/config/realsense_d435/d435_single.yaml
[D2PGO] In single mode enable_pcm 1 pcm_thres 2.8
[D2PGO] PGOState: is 6dof
[D2Comm] Try to initialize LCM URI: udpm://224.0.0.251:7667?ttl=1
[D2PGONode@1] Initialized
[INFO] [1761550371.161736958]: [D2Comm] Drone 1 ready.
[INFO] [1761550371.162565133]: [D2Comm] Starting d2comm lcm thread.
Read VINS config from /root/swarm_ws/src/D2SLAM/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:32:51][info][d2frontend_params.cpp,D2FrontendParams,L180] [D2FrontendParams] enable_search_local_aera not found, use default
[07:32:51][info][d2frontend_params.cpp,D2FrontendParams,L231] [D2Frontend] Using lazy broadcast keyframe: false
[07:32:51][info][d2frontend_params.cpp,readCameraConfigs,L346] Read camera from config file
[07:32:51][info][d2frontend_params.cpp,readCameraConfigs,L370] Camera 0: topic: /camera/infra1/image_rect_raw, calib: /root/swarm_ws/src/D2SLAM/config/realsense_d435/left.yaml, T: T [+0.099,+0.020,+0.010] YPR [-89.4,-1.0,-89.4]
[07:32:51][info][d2frontend_params.cpp,readCameraConfigs,L370] Camera 1: topic: /camera/infra2/image_rect_raw, calib: /root/swarm_ws/src/D2SLAM/config/realsense_d435/right.yaml, T: T [+0.099,-0.030,+0.011] YPR [-89.3,-1.0,-89.4]
[07:32:51][info][d2frontend_params.cpp,generateCameraModels,L264] [D2Frontend] Read camera from /root/swarm_ws/src/D2SLAM/config/realsense_d435/left.yaml
[07:32:51][info][d2frontend_params.cpp,generateCameraModels,L264] [D2Frontend] Read camera from /root/swarm_ws/src/D2SLAM/config/realsense_d435/right.yaml
[07:32:51][warning][d2frontend_params.cpp,generateCameraModels,L284] [D2Frontend] No photometric calibration file provided
[07:32:51][info][d2frontend_params.cpp,generateCameraModels,L309] [D2Frontend] Focal length initialize to: 460.0
[07:32:51][info][loop_cam.cpp,LoopCam,L34] Init CNNs using onnx
2025-10-27 07:32:53.521424326 [W:onnxruntime:, session_state.cc:1166 VerifyEachNodeIsAssignedToAnEp] Some nodes were not assigned to the preferred execution providers which may or may not have an negative impact on performance. e.g. ORT explicitly assigns shape related ops to CPU to improve perf.
2025-10-27 07:32:53.521443455 [W:onnxruntime:, session_state.cc:1168 VerifyEachNodeIsAssignedToAnEp] Rerunning with verbose output on a non-minimal build will show node assignments.
Trying to init MobileNetVLADONNX@/root/swarm_ws/src/D2SLAM/models/netvlad_series/mobilenetvlad_dyn_size.onnx tensorrt 0 fp16 1 int8 0 pca 1
[D2FrontEnd] Loading PCA for MobileNetVLADONNX:
trying to print the path of the pca config file:
PCA Comp shape 1024 x 4096 mean 4096
[07:32:54][warning][,,L] [Superpoint]: deserialize engine failed; try to read from
[10/27/2025-07:32:54] [I] [TRT] [MemUsageChange] Init CUDA: CPU +2, GPU +0, now: CPU 181, GPU 258 (MiB)
[10/27/2025-07:32:58] [I] [TRT] [MemUsageChange] Init builder kernel library: CPU +1451, GPU +266, now: CPU 1708, GPU 524 (MiB)
Stack trace (most recent call last):
#7 Object "", at 0xffffffffffffffff, in
#6 Source "/root/swarm_ws/src/D2SLAM/d2vins/src/d2vins_node.cpp", line 329, in start [0x64f4de1bcf6d]
326: d2vins.stopFrontend();
327: d2vins.stopAllThread();
328: return 0;
> 329: }
#5 Source "../csu/libc-start.c", line 308, in libc_start_main [0x76c3cac2d082]
#4 | Source "/root/swarm_ws/src/D2SLAM/d2vins/src/d2vins_node.cpp", line 320, in D2VINSNode
| 318: // spdlog::set_level(spdlog::level::debug);
| 319:
| > 320: D2VINSNode d2vins(n);
| 321: // ros::AsyncSpinner spinner(4);
| 322: // spinner.start();
Source "/root/swarm_ws/src/D2SLAM/d2vins/src/d2vins_node.cpp", line 308, in main [0x64f4de1bc491]
305: }
306:
307: public:
> 308: D2VINSNode(ros::NodeHandle &nh) { Init(nh); }
309: };
310:
311: int main(int argc, char **argv) {
#3 Source "/root/swarm_ws/src/D2SLAM/d2vins/src/d2vins_node.cpp", line 254, in Init [0x64f4de1f9937]
251: }
252:
253: void Init(ros::NodeHandle &nh) {
> 254: D2Frontend::Init(nh);
255: initParams(nh);
256: estimator = new D2Estimator(params->self_id);
257: if (params->estimation_mode > D2Common::SINGLE_DRONE_MODE) {
#2 Source "/root/swarm_ws/src/D2SLAM/d2frontend/src/d2frontend.cpp", line 305, in Init [0x76c3cd006218]
302: it = new image_transport::ImageTransport(nh);
303: cv::setNumThreads(1);
304:
> 305: loop_cam = new LoopCam((params->loopcamconfig), nh);
306: feature_tracker = new D2FeatureTracker((params->ftconfig));
307: feature_tracker->cams = loop_cam->cams;
308: loop_detector =
#1 Source "/root/swarm_ws/src/D2SLAM/d2frontend/src/loop_cam.cpp", line 44, in LoopCam [0x76c3ccf79cbb]
41: SuperPointConfig sp_config = config.superpoint_config;
42:
43: superpoint_ptr = std::make_unique(sp_config);
> 44: if (superpoint_ptr->build()){
45: SPDLOG_INFO("SuperPoint build success");
46: } else {
47: SPDLOG_ERROR("SuperPoint build failed");
#0 | Source "/root/swarm_ws/src/D2SLAM/d2frontend/src/CNN/superpoint_tensorrt.cpp", line 50, in c_str
| 48: }
| 49:
| > 50: profile->setDimensions(super_point_config.input_tensor_names[0].c_str(),
| 51: OptProfileSelector::kMIN, Dims4(1, 1, 100, 100));
| 52: profile->setDimensions(super_point_config.input_tensor_names[0].c_str(),
Source "/usr/include/c++/9/bits/basic_string.h", line 2305, in build [0x76c3cd25334f]
2302: /
2303: const _CharT
2304: c_str() const _GLIBCXX_NOEXCEPT
>2305: { return _M_data(); }
2306:
2307: /**
2308: * @brief Return const pointer to contents.
Segmentation fault (Address not mapped to object [(nil)])
[d2vins-2] process has died [pid 55663, exit code -11, cmd nice --20 /root/swarm_ws/devel/.private/d2vins/lib/d2vins/d2vins_node __name:=d2vins __log:=/root/.ros/log/247ef09c-b307-11f0-bafe-d4f32d64527b/d2vins-2.log].
log file: /root/.ros/log/247ef09c-b307-11f0-bafe-d4f32d64527b/d2vins-2*.log
`
My guess is that something is wrong in how realsense.launch and d435 yaml are setup, a lot of the paths are missing. I had to hardcode the path to mobileVLAD pca csv, because that was giving a similar error.
@xuhao1 can you kindly share how to fix this?