Exemplo n.º 1
0
void
compute_prob_point( carmen_vascocore_map_t *map, int x, int y )
{

  if ( x>=0 && x<map->mapsize.x &&
       y>=0 && y<map->mapsize.y ) {
    if (get_mapsum(x,y,*map)>0) {
      if (0) {
	map->mapprob[x][y]     = map->maphit[x][y] / map->mapsum[x][y];
      } else {
	map->mapprob[x][y]     = 1.0;
      }
    } else {
      map->mapprob[x][y]     = carmen_vascocore_settings.local_map_std_val;
    }
  }
    
}
Exemplo n.º 2
0
void
convolve_calc_point( carmen_vascocore_map_t *map,
		     carmen_gauss_kernel_t kernel, int hk,
		     int x, int y, double std_val )
{
  int                     k;
  double                  ksum = 0.0;

  if (x-hk>=0 && x+hk<map->mapsize.x) {
    for (k=0;k<2*hk+1;k++) {
      if (get_mapsum(x+k-hk,y,*map)>0) {
	ksum +=  ( kernel.val[k] * map->mapprob[x+k-hk][y] );
      } else {
	ksum +=  ( kernel.val[k] * std_val );
	}
    }
    map->calc[x][y]     = ksum;
    map->updated[x][y]  = UPDT_X;
  }
}
Exemplo n.º 3
0
Arquivo: map.c Projeto: lixiao89/MBot
void
compute_prob_point( MAP2 *map, int x, int y )
{

  double          pobj;

  pobj = log(settings.local_map_object_prob/
	     (1.0-settings.local_map_object_prob));
  
  if ( x>=0 && x<map->mapsize.x &&
       y>=0 && y<map->mapsize.y ) {
    if (get_mapsum(x,y,*map)>0) {
      if (0) {
	map->mapprob[x][y]     = map->maphit[x][y] / map->mapsum[x][y];
      } else {
	map->mapprob[x][y]     = 1.0;
      }
    } else {
      map->mapprob[x][y]     = settings.local_map_std_val;
    }
  }
  
}