正态分布在占用栅格地图构建的使用

本章介绍如何使用正态分布的概率完成mapping

正态分布的参数定义

正态分布表达式中有两个参数,即期望(均数)μ和标准差σ,σ2为方差。
正态分布具有两个参数μ和σ^2的连续型随机变量的分布,第一参数μ是服从正态分布的随机变量的均值,第二个参数σ^2是此随机变量的方差,所以正态分布记作N(μ,σ2)。
μ是正态分布的位置参数,描述正态分布的集中趋势位置。概率规律为取与μ邻近的值的概率大,而取离μ越远的值的概率越小。正态分布以X=μ为对称轴,左右完全对称。正态分布的期望、均数中位数、众数相同,均等于μ。


这个公式只要西格玛  u 设置合理可以使用到建图中。在之前的文章中有介绍过

http://blog.cvosrobot.com/?post=626


  1. double sigma_t = 5;//这里可以直接去搜标准的正态分布 一看就明白
  2. double A = 1 / (sqrt(2*M_PI*sigma_t));
  3. double C = pow((theta/sigma_t),2);
  4. double B = exp(-0.5*C);
  5. double Ptheta = A*B ;
  6. //小数点有偏差
  7. double Pdist = (SonarDist - dist/2)/SonarDist;
  8. double P = (Pdist*2)*Ptheta;
  9. double Px=0,logPx=0 ;
  10. //printf("dist:%f %d %d\n",dist,SonarDist,thick);
  11. if (dist > (SonarDist - thick) && dist < (SonarDist + thick))// #occupied region
  12. {
  13. Px = 0.5 + Ptheta;//这路的Ptheta 可以改成0.5*cell
  14. //printf("Px:%f \n",Px);
  15. logPx = log(Px/(1-Px));
  16. Sonars_logs[Yimg][Ximg] = logPx;
  17. //printf("logPx:%f \n",logPx);
  18. // #occ = np.append(occ,[x],0)
  19. }




sitemap