horizon.yaml 3.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687
  1. common:
  2. lid_topic: "/livox/lidar"
  3. imu_topic: "/livox/imu"
  4. time_sync_en: false # ONLY turn on when external time synchronization is really not possible
  5. preprocess:
  6. lidar_type: 1 # 1 for Livox serials LiDAR, 2 for Velodyne LiDAR, 3 for ouster LiDAR,
  7. scan_line: 6
  8. blind: 2 #4m point distance<blind ignored
  9. max_iteration: 10
  10. mapping:
  11. acc_cov: 0.1
  12. gyr_cov: 0.1
  13. b_acc_cov: 0.0001
  14. b_gyr_cov: 0.0001
  15. fov_degree: 100
  16. det_range: 260.0
  17. extrinsic_est_en: true # true: enable the online estimation of IMU-LiDAR extrinsic
  18. extrinsic_T: [ 0.05512, 0.02226, -0.0297 ]
  19. extrinsic_R: [ 1, 0, 0,
  20. 0, 1, 0,
  21. 0, 0, 1]
  22. publish:
  23. path_en: true
  24. scan_publish_en: true # false: close all the point cloud output
  25. dense_publish_en: false # false: low down the points number in a global-frame point clouds scan.
  26. scan_bodyframe_pub_en: false # true: output the point cloud scans in IMU-body-frame
  27. pcd_save:
  28. pcd_save_en: false
  29. interval: -1 # how many LiDAR frames saved in each pcd file;
  30. # -1 : all frames will be saved in ONE pcd file, may lead to memory crash when having too much frames.
  31. # voxel filter paprams
  32. odometrySurfLeafSize: 0.4 # default: 0.4 - outdoor, 0.2 - indoor
  33. mappingCornerLeafSize: 0.1 # default: 0.2 - outdoor, 0.1 - indoor
  34. mappingSurfLeafSize: 0.4 # default: 0.4 - outdoor, 0.2 - indoor
  35. # robot motion constraint (in case you are using a 2D robot)
  36. z_tollerance: 1 # meters
  37. rotation_tollerance: 1 # radians
  38. # CPU Params
  39. numberOfCores: 4 # number of cores for mapping optimization
  40. mappingProcessInterval: 0.15 # seconds, regulate mapping frequency
  41. # Surrounding map
  42. surroundingkeyframeAddingDistThreshold: 1.0 # meters, regulate keyframe adding threshold
  43. surroundingkeyframeAddingAngleThreshold: 0.2 # radians, regulate keyframe adding threshold
  44. surroundingKeyframeDensity: 2.0 # meters, downsample surrounding keyframe poses
  45. surroundingKeyframeSearchRadius: 50.0 # meters, within n meters scan-to-map optimization (when loop closure disabled)
  46. # Loop closure
  47. loopClosureEnableFlag: true # use loopclousre or not
  48. loopClosureFrequency: 4.0 # Hz, regulate loop closure constraint add frequency
  49. surroundingKeyframeSize: 50 # submap size (when loop closure enabled)
  50. historyKeyframeSearchRadius: 1.5 # meters, key frame that is within n meters from current pose will be considerd for loop closure
  51. historyKeyframeSearchTimeDiff: 30.0 # seconds, key frame that is n seconds older will be considered for loop closure
  52. historyKeyframeSearchNum: 20 # number of hostory key frames will be fused into a submap for loop closure
  53. historyKeyframeFitnessScore: 0.25 # icp threshold, the smaller the better alignment
  54. # Visualization
  55. globalMapVisualizationSearchRadius: 1000.0 # meters, global map visualization radius
  56. globalMapVisualizationPoseDensity: 10 # meters, global map visualization keyframe density
  57. globalMapVisualizationLeafSize: 1.0 # meters, global map visualization cloud density
  58. # visual iktree_map
  59. visulize_IkdtreeMap: true
  60. # visual iktree_map
  61. recontructKdTree: true
  62. # Export settings
  63. ndtLoopMatch: true # false -- icp
  64. locate_mode: false
  65. locate:
  66. init_pos: [-7.129,1.2,0]
  67. init_rpy: [0,0,0.00]
  68. savePCD: true # https://github.com/TixiaoShan/LIO-SAM/issues/3
  69. savePCDDirectory: "/doc/ros_ws/map/zkxy_livox" # in your home folder, starts and ends with "/". Warning: the code deletes "LOAM" folder then recreates it. See "mapOptimization" for implementation