You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Grid cell size (m). Smaller = more precise, more memory.
hit_increment
0.007
Probability increase per scan when a cell is hit. Controls how fast a new static object is learned.
miss_decrement
0.015
Probability decrease per scan when a cell is not hit. Controls how fast a removed object is forgotten.
threshold
0.7
Cells at or above this probability are classified as static background.
inflation_radius
1
Number of cells to inflate around each occupied cell. Every cell within this radius of a static cell is also masked, eliminating flickering at object edges.
grid_half_size
20.0
Half-width/height of the grid (m). The grid is centred on the robot.
publish_grid
true
Publish the occupancy grid on static_background_grid for debugging.
publish_filtered_pcl
true
Publish the filtered point cloud on filtered_scan.
Radius Outlier Removal (radius_outlier_removal.*)
Only declared when enable_radius_outlier_removal: true.
Uses Open3D's RemoveRadiusOutliers on the 2D point cloud (z = 0) after the flicker filter.
Parameter
Default
Description
min_points
5
Minimum number of neighbours a point must have within radius to be kept.
radius
0.3
Search radius (m). Points with fewer than min_points neighbours within this distance are removed.
LMB Tracker (lmb_tracker.*)
Parameter
Default
Description
max_dt
1.0
Maximum allowed time step (s). Updates with a larger dt are skipped.
gate_threshold
6.0
Squared Mahalanobis distance gate (~95 % confidence for χ² with 2 DOF).
birth_existence_prob
0.01
Initial existence probability assigned to a new track. Keep low so multiple detections are required before a track is confirmed.
death_existence_prob
0.05
Tracks with existence probability below this are deleted.
survival_prob
0.9999
Probability that an existing object is still present in the next step.
detection_prob
0.05
Probability that an existing object produces a measurement.
kf_pos_uncertainty
0.2
Position uncertainty (std, m) for Kalman filter initialisation and measurement noise.
kf_vel_uncertainty
0.4
Velocity uncertainty (std, m/s) for Kalman filter initialisation.
kf_acc_uncertainty
1.0
Acceleration uncertainty (std, m/s²) used as process noise.
PMBM Tracker (pmbm_tracker.*)
Parameter
Default
Description
max_dt
1.0
Maximum allowed time step (s). Updates with a larger dt are skipped.
gate_threshold
9.21
Squared Mahalanobis distance gate (~99 % confidence for χ² with 2 DOF).
survival_prob
0.99
Probability that an existing Bernoulli survives to the next step.
detection_prob
0.9
Probability that an existing object is detected.
birth_intensity
0.1
PPP birth intensity. Relative to clutter_intensity, governs the initial existence probability of a new Bernoulli (~birth / (birth + clutter)).
clutter_intensity
0.5
Expected number of clutter measurements per unit area per scan.
death_existence_prob
0.05
Bernoullis whose marginal existence probability falls below this are removed.
confirm_existence_prob
0.5
Bernoullis at or above this marginal probability are output as confirmed tracks.
max_hypotheses
10
Maximum number of global hypotheses retained after pruning.
kf_pos_uncertainty
0.2
Position uncertainty (std, m) for Kalman filter initialisation and measurement noise.
kf_vel_uncertainty
0.4
Velocity uncertainty (std, m/s) for Kalman filter initialisation.
kf_acc_uncertainty
1.0
Acceleration uncertainty (std, m/s²) used as process noise.
Usage
# Build
colcon build --packages-select lidar_objects_tracker lidar_objects_tracker_msgs
# Run node directly
ros2 run lidar_objects_tracker objects_tracker_node
# Or use the launch file (also plays a bag and resets RViz)
ros2 launch lidar_objects_tracker objects_tracker_launch.py bag_path:=/path/to/bagfile.bag