|
|
@@ -38,14 +38,40 @@ options = {
|
|
|
}
|
|
|
|
|
|
MAP_BUILDER.use_trajectory_builder_3d = true
|
|
|
-MAP_BUILDER.sparse_pose_graph.optimize_every_n_scans = 320
|
|
|
-MAP_BUILDER.sparse_pose_graph.constraint_builder.sampling_ratio = 0.03
|
|
|
-MAP_BUILDER.sparse_pose_graph.optimization_problem.ceres_solver_options.max_num_iterations = 10
|
|
|
--- Reuse the coarser 3D voxel filter to speed up the computation of loop closure
|
|
|
--- constraints.
|
|
|
-MAP_BUILDER.sparse_pose_graph.constraint_builder.adaptive_voxel_filter = TRAJECTORY_BUILDER_3D.high_resolution_adaptive_voxel_filter
|
|
|
-MAP_BUILDER.sparse_pose_graph.constraint_builder.min_score = 0.62
|
|
|
-MAP_BUILDER.sparse_pose_graph.constraint_builder.log_matches = true
|
|
|
+MAP_BUILDER.num_background_threads = 30
|
|
|
+
|
|
|
+MAX_3D_LASER_RANGE = 3.5
|
|
|
+TRAJECTORY_BUILDER_3D.laser_min_range = 0.1
|
|
|
+TRAJECTORY_BUILDER_3D.laser_max_range = MAX_3D_LASER_RANGE
|
|
|
+TRAJECTORY_BUILDER_3D.low_resolution_adaptive_voxel_filter.max_range = MAX_3D_LASER_RANGE
|
|
|
+TRAJECTORY_BUILDER_3D.low_resolution_adaptive_voxel_filter.min_num_points = 500
|
|
|
+TRAJECTORY_BUILDER_3D.high_resolution_adaptive_voxel_filter.max_range = MAX_3D_LASER_RANGE
|
|
|
+TRAJECTORY_BUILDER_3D.high_resolution_adaptive_voxel_filter.min_num_points = 250
|
|
|
+TRAJECTORY_BUILDER_3D.submaps.high_resolution_max_range = MAX_3D_LASER_RANGE
|
|
|
+
|
|
|
+TRAJECTORY_BUILDER_3D.motion_filter.max_time_seconds = 0.25
|
|
|
+TRAJECTORY_BUILDER_3D.motion_filter.max_angle_radians = math.rad(0.1)
|
|
|
+TRAJECTORY_BUILDER_3D.submaps.high_resolution = 0.035
|
|
|
+TRAJECTORY_BUILDER_3D.submaps.low_resolution = 0.2
|
|
|
+
|
|
|
+TRAJECTORY_BUILDER_3D.ceres_scan_matcher.occupied_space_cost_functor_weight_0 = 10.
|
|
|
+TRAJECTORY_BUILDER_3D.ceres_scan_matcher.occupied_space_cost_functor_weight_1 = 15.
|
|
|
+TRAJECTORY_BUILDER_3D.ceres_scan_matcher.previous_pose_translation_delta_cost_functor_weight = 4.
|
|
|
+TRAJECTORY_BUILDER_3D.ceres_scan_matcher.initial_pose_estimate_rotation_delta_cost_functor_weight = 1e3
|
|
|
+TRAJECTORY_BUILDER_3D.ceres_scan_matcher.covariance_scale = 1e-3
|
|
|
+TRAJECTORY_BUILDER_3D.ceres_scan_matcher.only_optimize_yaw = true
|
|
|
+
|
|
|
+SPARSE_POSE_GRAPH.constraint_builder.sampling_ratio = 0.2
|
|
|
+SPARSE_POSE_GRAPH.optimization_problem.ceres_solver_options.max_num_iterations = 10
|
|
|
+SPARSE_POSE_GRAPH.constraint_builder.adaptive_voxel_filter = TRAJECTORY_BUILDER_3D.high_resolution_adaptive_voxel_filter
|
|
|
+SPARSE_POSE_GRAPH.constraint_builder.min_score = 0.48
|
|
|
+SPARSE_POSE_GRAPH.constraint_builder.log_matches = true
|
|
|
+SPARSE_POSE_GRAPH.constraint_builder.fast_correlative_scan_matcher_3d.min_rotational_score = 0.
|
|
|
+SPARSE_POSE_GRAPH.constraint_builder.fast_correlative_scan_matcher_3d.linear_xy_search_window = 2.
|
|
|
+
|
|
|
+SPARSE_POSE_GRAPH.optimization_problem.huber_scale = 1e1
|
|
|
+SPARSE_POSE_GRAPH.optimization_problem.acceleration_scale = 1e-1
|
|
|
+SPARSE_POSE_GRAPH.optimization_problem.rotation_scale = 1e3
|
|
|
|
|
|
TRAJECTORY_BUILDER_3D.scans_per_accumulation = 1
|
|
|
|