Skip to main content

Likelihood Field Alternative

Instead of per-beam ray casting in localization:
  • Precompute distance transform d(p)d(\mathbf p) to nearest occupied cell.
  • Likelihood:
p(ztkxt,m)=ηexp ⁣((d(ek))22σd2),p(z_t^k \mid \mathbf x_t, m) = \eta \exp\!\left(-\frac{(d(\mathbf e_k))^2}{2\sigma_d^2}\right), where ek\mathbf e_k is beam endpoint predicted without obstacle truncation. Pros: faster. Cons: less detailed modeling of short / max phenomena.

Integration in Particle Filter Localization

For particle ii with pose xt[i]\mathbf x_t^{[i]}: wt[i]wt1[i]kKp(ztkxt[i],m),w_t^{[i]} \propto w_{t-1}^{[i]} \prod_{k \in \mathcal K} p(z_t^k \mid \mathbf x_t^{[i]}, m), Optionally subsample beams K\mathcal K to reduce computation; use log-sum for stability.

9. Handling Correlation and Beam Selection

Adjacent beams correlated via shared surfaces; independence assumption optimistic. Mitigation:
  • Subsample (e.g., every 4th beam).
  • Clamp per-beam likelihood to lower bound.
  • Use adaptive beam selection near discontinuities.

10. Noise Sources and Effects

SourceEffect on Distribution
Surface reflectivity (sonar)Increases short / random components
Transparent / specular surfacesElevates random / max
Multi-pathBroadens phitp_{\text{hit}}
Timing quantizationSlight discretization at small ranges
Motion distortion (lidar while moving)Systematic curvature in scans
Compensations: deskewing using IMU/odometry, calibrating mixture weights.
Connect these docs to Claude, VSCode, and more via MCP for real-time answers.