正态分布在占用栅格地图构建的使用
本章介绍如何使用正态分布的概率完成mapping
正态分布的参数定义
正态分布表达式中有两个参数,即期望(均数)μ和标准差σ,σ2为方差。
μ是正态分布的位置参数,描述正态分布的集中趋势位置。概率规律为取与μ邻近的值的概率大,而取离μ越远的值的概率越小。正态分布以X=μ为对称轴,左右完全对称。正态分布的期望、均数、中位数、众数相同,均等于μ。
这个公式只要西格玛 u 设置合理可以使用到建图中。在之前的文章中有介绍过
http://blog.cvosrobot.com/?post=626
- double sigma_t = 5;//这里可以直接去搜标准的正态分布 一看就明白
- double A = 1 / (sqrt(2*M_PI*sigma_t));
- double C = pow((theta/sigma_t),2);
- double B = exp(-0.5*C);
- double Ptheta = A*B ;
- //小数点有偏差
- double Pdist = (SonarDist - dist/2)/SonarDist;
- double P = (Pdist*2)*Ptheta;
- double Px=0,logPx=0 ;
- //printf("dist:%f %d %d\n",dist,SonarDist,thick);
- if (dist > (SonarDist - thick) && dist < (SonarDist + thick))// #occupied region
- {
- Px = 0.5 + Ptheta;//这路的Ptheta 可以改成0.5*cell
- //printf("Px:%f \n",Px);
- logPx = log(Px/(1-Px));
- Sonars_logs[Yimg][Ximg] = logPx;
- //printf("logPx:%f \n",logPx);
- // #occ = np.append(occ,[x],0)
- }