Fawkes API  Fawkes Development Version
amcl_utils.h
00001 /***************************************************************************
00002  *  amcl_utils.h - AMCL utils
00003  *
00004  *  Created: Thu Aug 23 18:10:03 2012
00005  *  Copyright  2012  Tim Niemueller [www.niemueller.de]
00006  ****************************************************************************/
00007 
00008 /*  This program is free software; you can redistribute it and/or modify
00009  *  it under the terms of the GNU General Public License as published by
00010  *  the Free Software Foundation; either version 2 of the License, or
00011  *  (at your option) any later version.
00012  *
00013  *  This program is distributed in the hope that it will be useful,
00014  *  but WITHOUT ANY WARRANTY; without even the implied warranty of
00015  *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00016  *  GNU Library General Public License for more details.
00017  *
00018  *  Read the full text in the LICENSE.GPL file in the doc directory.
00019  */
00020 
00021 #ifndef __PLUGINS_AMCL_AMCL_UTILS_H_
00022 #define __PLUGINS_AMCL_AMCL_UTILS_H_
00023 
00024 #include "map/map.h"
00025 
00026 #include <vector>
00027 #include <string>
00028 
00029 #define CFG_PREFIX "/plugins/amcl/"
00030 
00031 namespace fawkes {
00032 
00033   class Configuration;
00034 
00035   namespace amcl {
00036 #if 0 /* just to make Emacs auto-indent happy */
00037   }
00038 }
00039 #endif
00040 
00041 map_t *
00042 read_map(const char *map_file,
00043          float origin_x, float origin_y, float resolution,
00044          float occupied_threshold, float free_threshold,
00045          std::vector<std::pair<int, int> > &free_space_indices);
00046 
00047 void
00048 read_map_config(Configuration *config,
00049                 std::string  &cfg_map_file, float &cfg_resolution,
00050                 float &cfg_origin_x, float &cfg_origin_y, float &cfg_origin_theta,
00051                 float &cfg_occupied_thresh, float &cfg_free_thresh);
00052 
00053 
00054 } // end namespace amcl
00055 } // end namespace fawkes
00056 
00057 #endif