Fixed-map ray caster used by LightCast's sensor model.
constexpr float FIELD_SIZE_IN
Field side length, inches (12 ft).
Tuning knobs for the LightCast particle filter and the EKF.
float snapDiverge
EKF cov trace (in²) above which MCL may snap.
float outlierGapIn
Readings this much shorter than expected → neutral.
float ekfQPos
Position process noise, in² per second.
float ekfQVel
Velocity process noise.
float snapConverge
MCL std dev (in) below which it's trusted.
float sensorSigmaIn
Distance-sensor noise std dev, inches.
float ekfQTheta
Heading process noise, rad² per second.
float initHeadingSigmaRad
Initial particle heading spread, radians (~3°).
float maxRangeIn
Max ray-cast distance, inches.
float initPosSigmaIn
Initial particle x/y spread around starting pose, inches.
int numParticles
Particle count — reduce if CPU load is high.