Config Parameters

General

bag_path

Type: String

The path from the root of the project to the ROS bag file to be processed.

pose_number

Type: Integer

The number of lidar scans (and poses) to load from the bag file.

odom_topic

Type: String

The topic to pull odometry data from, this topic should have the nav_msgs/Odometry data type, or if differential_odom is set to true, it can be of type CobotMsgs/CobotOdometry.

lidar_topic

Type: String

The topic to pull LiDAR data from, this topic should have the sensor_msgs/LaserScan type.

differential_odom

Type: Boolean

True if using CobotOdometry message, false otherwise.

pose_output_file

Type: String

The path to the file to output the pose positions too, this writing will be triggered when the user hits the WriteButton in RViz.

map_output_file

Type: String

The path to output the text file to output the vector map to. If unset then when the user hits the Vectorize Button in RViz there will be no text output.

Performance

translation_weight

Type: Double

The multiplier applied to the translation error when optimizing the pose-graph.

rotation_weight

Type: Double

The multiplier applied to the rotation error when optimizing the pose-graph.

stopping_accuracy

Type: Double

When the scans change by less than this amount (in meters), the optimization iteration is deemed solved.

max_lidar_range

Type: Double

The maximum distance LiDAR data is allowed to be from the robot.

rotation_change_for_lidar

Type: Double

The amount of rotation needed to signal a lidar scan capture (in radians).

translation_change_for_lidar

Type: Double

The amount of translation needed to signal a lidar scan capture.

lidar_constraint_amount

Type: Integer

The number of poses to compare each pose too. For example the default is 10, therefore we compare and try to minimize error between the current pose and the past ten, for every pose.

outlier_threshold

Type: Double

Points further than this distance (in meters) cannot be counted as the same point during ICL/ICP in the optimization phase.

Human-In-The-Loop

hitl_lc_topic

Type: String

The topic that HITL Slam tool send the message to trigger HITL Slam, probably best to not change unless you know what you are doing.

hitl_line_width

Type: Double

Points further than this will not count as falling on the HITL LC line and therefore will not be used for HITLSlam.

hitl_pose_point_threshold

Type: Integer

The amount of points needed to include a pose for HITL Slam.

Autonomous Loop Closure

auto_lc

Type: Boolean

Automatically loop close or not

keyframe_chi_squared_test

Type: Boolean

Whether or not to use chi_squared test for keyframes

keyframe_min_odom_distance

Type: Double

Distance between keyframes if chi^2 is not in use

keyframe_local_uncertainty_filtering

Type: Boolean

Whether or not to use local uncertainty filtering for keyframes

local_uncertainty_condition_threshold

Type: Double

All scans with local uncertainty less than this threshold are one step closer to being used for automatic lc, if keyframe_local_uncertainty_filtering is on

local_uncertainty_scale_threshold

Type: Double

All scans with local uncertainty scale less than this threshold are one step closer to being used for automatic lc, if keyframe_local_uncertainty_filtering is on

local_uncertainty_prev_scans

Type: Integer

The amount of previous scans to use for calculating local uncertainty if keyframe_local_uncertainty_filter ing is on

lc_match_threshold

Type: Double

Threshold used in automatic loop closure.

lc_base_max_range

Type: Double

Base max range to consider a loop closure

lc_max_range_scaling

Type: Double

How much max range to consider a loop closure increases as nodes get more distant

lc_translation_weight

Type: Integer

Loop closure translation multiplier, used during loop closure for odometry residuals.

lc_rotation_weight

Type: Double

Loop closure rotation multiplier, used during loop closure for odometry residuals.

lc_min_keyframes

Type: Integer

Minimum number of keyframes that must exist between loop closures.

lc_debug_output_dir

Type: String

Used to dump images from auto-lc

Normal Computation

nc_neighborhood_size

Type: Double

The neighborhood size to consider when RANSACing for normals.

nc_neighborhood_step_size

Type: Double

How much the neighborhood increases with each iteration.

nc_mean_distance

Type: Double

You got me, this one's just a constant.

nc_bin_number

Type: Integer

The number of buckets to use in the Hough transform.