Skip to content

MULLS SLAM Parameter List

Yue Pan edited this page Dec 13, 2020 · 3 revisions
Parameters Description Default value
motion_compensation_method method for motion compensation of lidar (0: disabled, 1: uniform motion model (from point-wise timestamp), 2: from azimuth, 3: from azimuth (rotation-only), 4: imu-assisted) 0
scan_to_scan_module_on conduct scan-to-scan registration before scan-to-map registration or just conduct scan-to-map registration false
initial_scan2scan_frame_num only conduct scan to scan registration for the first ${initial_scan2scan_frame_num} frames when the feature points in the local map is not enough 3
used_feature_type used_feature_type (1: on, 0: off, order: ground, pillar, beam, facade, roof, vetrex). ground, facade and roof points are planar points (using point-to-plane distance metric), pillar and beam are linear points (using point-to-line distance metric), vertex points are spherical points (using point-to-point distance metric). "111111"
adaptive_parameters_on use self-adaptive parameters for different surroundings and road situation false
semantic_assist_on apply semantic mask to assist the geometric feature points extraction, only available when the semantic segementation module is on or the semantic mask is provided false
cloud_down_res voxel size (m) of the voxel downsampling for the point cloud. if it is set as 0.0, then the voxel downsampling would be disabled 0.0
cloud_pca_neigh_r pca neighborhood searching radius (unit: m) for target point cloud 0.5
cloud_pca_neigh_k use only the k nearest neighbor in the r-neighborhood to do PCA 20
gf_grid_size grid size (unit: m) for ground segmentation 2.0
gf_in_grid_h_thre height threshold (unit: m) above the lowest point in a grid for ground segmentation 0.3
gf_neigh_grid_h_thre height threshold (unit: m) among neighbor grids for ground segmentation 2.2
ground_normal_method method for estimating the ground points' normal vector ( 0: directly use (0,0,1), 1: estimate normal in fix radius neighborhood , 2: estimate normal in k nearest neighborhood, 3: use ransac to estimate plane coeffs in a grid) 0
sharpen_with_nms_on use non-maximum supression to get the sharpen feature points from unsharpen points or not (use higher threshold) true
linearity_thre pca linearity minimum threshold for target point cloud 0.65
planarity_thre pca planarity minimum threshold for target point cloud 0.65
curvature_thre pca local curvature threshold 0.1
fixed_num_downsampling_on enable/disable the fixed point number downsampling (processing time's standard deviation would br smaller) true
ground_down_fixed_num fixed number of the detected ground feature points (for source point cloud) 500
pillar_down_fixed_num fixed number of the detected pillar feature points (for source point cloud) 150
facade_down_fixed_num fixed number of the detected facade feature points (for source point cloud) 350
beam_down_fixed_num fixed number of the detected beam feature points (for source point cloud) 100
roof_down_fixed_num fixed number of the detected roof feature points (for source point cloud) 0
unground_down_fixed_num fixed number of the unground points used for PCA calculation 15000
corr_weight_strategy weighting strategy for correspondences (1: on, 0: off, order: x,y,z balanced weight, residual weight, distance weight, intensity weight) "1101"
z_xy_balance_ratio the weight ratio of the error along z and x,y direction (only available when balanced weight is enabled) 1.0
pt2pt_res_window residual window size for the residual robust kernel function of point to point correspondence (only available when residual weight is enabled) 0.1
pt2pl_res_window residual window size for the residual robust kernel function of point to plane correspondence (only available when residual weight is enabled) 0.1
pt2li_res_window residual window size for the residual robust kernel function of point to line correspondence (only available when residual weight is enabled) 0.1
reg_intersection_filter_on filter the points outside the intersection aera of two point cloud during registration true
normal_shooting_on using normal shooting instead of nearest neighbor searching when determing correspondences false
corr_dis_thre_init distance threshold (unit: m) between correspondence points at begining (the first iteration). Increase this value when the vehicle is moving fast 1.5
corr_dis_thre_min minimum distance threshold (unit: m) between correspondence points at begining 0.5
dis_thre_update_rate update rate (divided by this value at each iteration) for distance threshold between correspondence points 1.1
converge_tran registration convergence threshold for translation (unit: m) 0.001
converge_rot_d registration convergence threshold for rotation (unit: deg) 0.01
post_sigma_thre the maximum threshold for the posterior standard deviation of the least square adjustment during the registration (unit:m). if the posterior standard deviation is larger than this value, the registration would be regarded as failed. 0.25
reg_max_iter_num_s2s max iteration number for icp-based registration (scan to scan) 15
reg_max_iter_num_s2m max iteration number for icp-based registration (scan to map) 15
reg_max_iter_num_m2m max iteration number for icp-based registration (map to map) 20
local_map_max_pt_num max feature point number allowed for the local map 20000
local_map_max_vertex_pt_num max vertex key point number allowed for the local map 1000
local_map_radius the radius (unit: m) of the local map (regarded as a sphere aera) 100.0
local_map_recalculation_frequency recalculate the linear features (pillar, beam points) in the local map every ${local_map_recalculation_frequency} frame 99999
append_frame_radius the radius (unit: m) of the frame that used to append into the local map 60.0
apply_map_based_dynamic_removal use map based dynamic object removal or not false
dynamic_removal_radius the radius (unit: m) of the map based dynamic object removing (only available when the dynamic object removal is on) 30.0
initial_guess_mode use which kind of initial guess(0: no initial guess, 1: uniform motion(translation only), 2: uniform motion(translation+rotation), 3:imu based) 0
loop_closure_detection_on do loop closure detection and pose graph optimization or not false
submap_accu_tran accumulated translation (unit: m) for generating a new submap 40.0
submap_accu_rot accumulated rotation (unit: deg) for generating a new submap 120.0
submap_accu_frame accumulated frame number for generating a new submap 150
robust_kernel_on turn on the robust kernel function in pgo true
cooling_submap_num waiting for several submaps (without loop closure detection) after applying a successful pgo 2
equal_weight_on using equal weight (identidy matrix) for the information matrix in pose graph optimization false
diagonal_information_matrix_on use diagonal information matrix in pgo or not false
max_iter_inter_submap max iteration number for inter submap pgo 100
max_iter_inner_submap max iteration number for inner submap pgo 100
pose_graph_optimization_method use which library to do pgo (select from g2o, ceres and gtsam) "ceres"