MISTLab / Swarm-SLAM

Sparse Decentralized Collaborative Simultaneous Localization and Mapping Framework for Multi-Robot Systems
https://lajoiepy.github.io/cslam_documentation/html/index.html
MIT License
391 stars 40 forks source link

Disabling logging breaks stereo SLAM #38

Closed mjforan closed 4 months ago

mjforan commented 5 months ago

My configuration is similar to the stereo examples and it works okay:

/**:
  ros__parameters:
    frontend:
      left_image_topic: "/stereo/left/image_rect"
      right_image_topic: "/stereo/right/image_rect"
      left_camera_info_topic: "/stereo/left/camera_info"
      right_camera_info_topic: "/stereo/right/camera_info"
      odom_topic: "odom"
      sensor_base_frame_id: "ar0234_front_right_optical_frame"
      sensor_type: "stereo"
      inter_robot_loop_closure_budget: 1
      inter_robot_detection_period_sec: 1
      max_queue_size: 100
      similarity_threshold: 0.8
      global_descriptors_topic: "global_descriptors"
      image_crop_size: 376
      intra_loop_min_inbetween_keyframes: 20
      pnp_min_inliers: 18
      detection_publication_period_sec: 1.0
      detection_publication_max_elems_per_msg: 10
      enable_intra_robot_loop_closures: true
      keyframe_generation_ratio_threshold: 1.0
      use_vertex_cover_selection: true
      map_manager_process_period_ms: 10 #100
      enable_sparsification: true
      global_descriptor_technique: "cosplace"
      nn_checkpoint: "/models/resnet101_512.pth"
      cosplace:
        backbone: "resnet101"
        descriptor_dim: 512
    neighbor_management:
      enable_neighbor_monitoring: true
      max_heartbeat_delay_sec: 5.0
      init_delay_sec: 5.0
      heartbeat_period_sec: 1.0
    backend:
      pose_graph_optimization_start_period_ms: 10000
      pose_graph_optimization_loop_period_ms: 100
      max_waiting_time_sec: 60
      enable_broadcast_tf_frames: true
    evaluation:
      enable_logs: true
      log_folder: "results"
      enable_gps_recording: false
      enable_pose_timestamps_recording: true
      enable_sparsification_comparison: false
    visualization:
      enable: true
      publishing_period_ms: 1000

However, when I set evaluation.enable_logs: false the backend crashes:

[ERROR] [pose_graph_manager-3]: process has died [pid 55, exit code -11, cmd '/Swarm-SLAM/install/cslam/lib/cslam/pose_graph_manager --ros-args -r __node:=cslam_pose_graph_manager -r __ns:=/r0 --params-file /config/argus_stereo.yaml --params-file /tmp/launch_params_9vl8y1jx'].
lajoiepy commented 4 months ago

Sorry for the delayed response, I had trouble reproducing this bug, but I added a line referencing this issue in the start-up instructions in case someone else experiences it.