p_hit=0.6, p_occ=0.85 的完整计算
已知:
p_hit = 0.6
p_occ = 0.85
L0 = 0
先算单次命中证据:
l_hit
= logit(0.6)
= ln(0.6/0.4)
≈ 0.405465
再算占用阈值:
l_occ
= logit(0.85)
= ln(0.85/0.15)
≈ 1.734601
代入:
n
= ceil((l_occ-L0)/l_hit)
= ceil((1.734601-0)/0.405465)
= ceil(4.278)
= 5
4. 命中更新公式
公式是:
L_new = min(
L_old + logit(p_hit) × hit_count, logit(p_max)
)
各变量含义:
L_old 更新前该栅格积累的占用证据
p_hit 一次传感器命中提供的占用证据强度
logit(p_hit) 一次命中对应的 log-odds 增量
hit_count 本批次命中该栅格的次数
p_max 允许保存的最大占用概率
logit(p_max) log-odds 上限
L_new 更新后的 log-odds
5. 未命中更新公式
公式是:
L_new = max(
L_old + logit(p_miss) × miss_count,
logit(p_min)
)
各变量含义:
L_old 更新前的 log-odds
p_miss 一次射线穿过提供的空闲证据
logit(p_miss) 一次 miss 对 log-odds 的增量
miss_count 射线穿过该栅格的次数
p_min 允许保存的最小占用概率
logit(p_min) log-odds 下限
L_new 更新后的 log-odds
要让 miss 降低占用概率,必须满足:
p_miss < 0.5
1.要增强占用概率,参数取值的方向是:
p_hit > 0.5 -> 越大越增加占用证据
p_hit = 0.5 -> 不提供任何证据
p_hit < 0.5 -> 命中反而降低占用概率
因此当前公式要求:
0.5 < p_hit < 1
2.要降低占用概率,必须满足:
0 < p_miss < 0.5
取值规律是:
p_miss 越接近 0.5 -> l_miss 越接近 0 -> 空闲证据越弱 -> 需要更多 miss
p_miss 越小越接近 0 -> l_miss 负值越大 -> 空闲证据越强 -> 需要更少 miss
判断空闲需要满足:
L_current + n × l_miss < l_free
如果当栅格当前p=0.98达到p_max时
当前 log-odds:
L_current = logit(0.98)
= ln(0.98 / 0.02)
≈ 3.891820
每次 miss 减少:
l_miss = logit(0.49)
= ln(0.49 / 0.51)
≈ -0.040005
已知空闲阈值:
l_free = logit(0.499)
= ln(0.499 / 0.501)
≈ -0.004000
代码判断空闲使用严格小于:
prob < cfg_.l_free
所以需要满足:
L_current + n × l_miss < l_free
代入数值:
3.891820 + n × (-0.040005) < -0.004000
整理:
n × 0.040005 > 3.891820 + 0.004000
n > 3.895820 / 0.040005
n > 97.38