Repository navigation
11. Label markers
The system models a robotic perception stack that integrates lidar-based spatial mapping with QR code recognition events. The objective is to maintain a consistent representation of the environment and to correlate heterogeneous sensor events in time.
The LabelMarker is a 2D occupancy structure.
Each marker stores the following state variables:
-
label: the QR-code label -
location: the 2D location of label marker -
weight: the weight of signal (confidence) -
t_marker: timestamp of the last camera event related to this marker -
t_clean: timestamp of the clean marker
Each marker represents a local estimate of environmental occupancy derived from lidar observations and camera recognition event. All the label markers are grouped as a map of unique label id markers.
A LiDAR event is defined as:
where:
-
tis the timestamp -
ris the sensor direction -
Sis the set of measured returns
Let:
-
$M_i$ : be an existing marker matching the recognized label -
$\hat{p}$ : be the fused position estimate from LiDAR and camera -
$\lambda > 0$ : temporal decay factor
Define:
If a marker is detected within the correlated camera–LiDAR angular sector:
If label is not present in the map:
- create
$M_i$ - initialize:
$location = \hat{p}$ $weight = 1$ $t_{marker} = t$
If no marker is detected:
- increment
no_detection_counter
Define LiDAR change condition:
If LiDAR state changes, store current scan context.
If:
then:
- reduce remaining marker weights in cleaning region by
$-\frac{t - t_{marker}}{\tau_{clean}} w$ clamping to 0, 1 - remove markers where
$w = 0$
The receptive region
Let:
-
$p=(x,y)$ be a point in the robot-centered frame -
$θ(p)$ be the bearing angle of$p$ -
$∥p∥$ be the Euclidean distance -
$r_C(t)$ is the current camera pointing direction -
$r_L(t)$ is the current LiDAR pointing direction (or beam angle)
A point is visible to the camera if:
where:
-
$θ_{cam}$ is the horizontal field of view of the camera
A point is consistent with LiDAR sensing if:
where:
-
$θ_{lidar}$ is the horizontal field of view of the LiDAR
A point must lie within the effective sensing range:
where:
-
$d(t)$ is the instantaneous LiDAR measured distance along direction$θ(p)$ -
$d_{max}$ is the maximum reliable sensing distance
The receptive region is defined as:
A camera event is defined as:
C = (t, m, d)
where:
-
tis the timestamp -
mis the recognized marker -
dis the marker direction relative to the camera frame
Each camera event must be associated with a LiDAR event such that:
Let:
-
t_pbe the proximity event timestamp -
t_cbe the camera event timestamp -
Δt_corrbe the correlation window
A valid association satisfies:
t_p < t_c ≤ t_p + Δt_corr
The system defines a discrete state space for camera-proximity correlation:
Occurs if:
- no camera event exists, or
- the camera event occurs before the proximity event
Valid ⇔ (t_c > t_p) ∧ (t_c ≤ t_p + Δt_corr)
Invalid ⇔ t_c > t_p + Δt_corr
In this case, spatial correspondence cannot be reliably established.
- Sensor timestamps are globally ordered or synchronized
- Lidar and camera events are processed in discrete time steps
- Geometric projections assume a calibrated and fixed sensor frame relationship
Release: 0.26.0