外观
踩坑Robotics Stack Exchange2015-07-20
低方差重采样中 weight(i) 越界怎么办
本文由 AI 根据公开内容整理,可能有误,请以原文为准:Low variance resampling algorithm for particle filter(Robotics Stack Exchange #7705)
状态:已解决
问题
按《Probabilistic Robotics》实现低方差重采样时,r = rand 取 0-1,循环中访问 weight(i) 时 i 超过数组维度;提问者考虑循环移位权重数组但不确定是否正确。
环境
Linux / ROS 机器人软件与控制通用开发环境
解决办法
- 将
r的取值从0-1改为0到M^-1,其中M对应粒子数或state_size。 - 在 MATLAB 中可按该范围生成初始随机偏移,例如用
rand/state_size替代r = rand。 - 不需要通过循环移位
weight数组绕过越界;修正r后,U = r + (m - 1)/state_size会落在期望的分段概率空间内。
原问题作者:Kelly;采纳答案作者:holmeski。原内容依 CC BY-SA 4.0 授权,本页摘要同样依 CC BY-SA 4.0 授权。
来源
本页事实对应的公开页面,以原文为准。