Landmark Localizer
Landmark Localizer
Landmark Localizer computes vehicle pose by detecting pre-deployed artificial markers (AR Tags or LiDAR retroreflectors) in the environment. The absolute coordinates of these markers are pre-annotated in the Lanelet2 map.
AR Tag Based Localizer
The AR Tag localizer uses cameras to detect AprilTag 16h5 tags. Detection flow: receive RGB image → ArUco library identifies tags → transform to base_link → filter over-distance detections → landmark_manager looks up map tags → compute ego pose. Covariance scales dynamically with distance to tag: coeff = max(1.0, pow(distance / 5, 3)).
LiDAR Marker Localizer
LiDAR Marker Localizer searches for specific intensity pattern retroreflectors in point clouds. Detection flow: split point cloud into rings by x-axis direction → search for intensity changes matching intensity_pattern → accumulate match counts across rings → regions exceeding vote_threshold are identified as retroreflectors → landmark_manager computes ego pose.
Interfaces
| Localizer | Input | Output |
|---|---|---|
AR Tag | Image + CameraInfo + LaneletMap + EKF Pose | PoseWithCovarianceStamped |
LiDAR Marker | PointCloud2 + HADMapBin + EKF Pose | PoseWithCovarianceStamped |