65 std::function<double(double, double)>
f_;
69 double meanSquare_ = 0.0;
70 double meanAbs_ = 0.0;
100 double length,
double width,
121 static const std::map<std::string, Worlds>
worlds = {
146 using clk = std::chrono::steady_clock;
152 double duration_ = 0.0;
154 using Statistics = std::map<std::string, std::map<std::string, Statistic> >;
157 ErrorAndDuration interpolateAndComputeError(
const std::string world,
const std::string &method)
const;
159 void printStatistics(
const Statistics &stats)
const;
160 void publishGridMaps()
const;
172 double groundTruthResolution_ = 0.02;
173 double dataResolution_ = 0.1;
174 double interpolatedResolution_ = 0.02;
176 double worldWidth_ = 4.0;
177 double worldLength_ = 4.0;
AnalyticalFunctions createPolyWorld(grid_map::GridMap *map)
static const std::string demoLayer
AnalyticalFunctions createSineWorld(grid_map::GridMap *map)
ros::Publisher groundTruthMapPub_
AnalyticalFunctions createWorld(Worlds world, double highResolution, double lowResolution, double length, double width, grid_map::GridMap *groundTruthHighRes, grid_map::GridMap *groundTruthLowRes)
std::map< std::string, std::map< std::string, Statistic > > Statistics
static const std::map< std::string, Worlds > worlds
std::pair< Error, double > ErrorAndDuration
grid_map::GridMap interpolatedMap_
ros::Publisher interpolatedMapPub_
grid_map::GridMap dataSparseMap_
void interpolateInputMap(const grid_map::GridMap &dataMap, grid_map::InterpolationMethods interpolationMethod, grid_map::GridMap *inteprolatedMap)
AnalyticalFunctions createGaussianWorld(grid_map::GridMap *map)
AnalyticalFunctions createTanhWorld(grid_map::GridMap *map)
std::function< double(double, double)> f_
void fillGridMap(grid_map::GridMap *map, const AnalyticalFunctions &functions)
std::string interpolationMethod_
grid_map::GridMap groundTruthMap_
AnalyticalFunctions groundTruth_
std::chrono::steady_clock clk
Error computeInterpolationError(const AnalyticalFunctions &groundTruth, const grid_map::GridMap &map)
static const std::map< std::string, grid_map::InterpolationMethods > interpolationMethods
ros::Publisher dataSparseMapPub_
grid_map::GridMap createMap(const grid_map::Length &length, double resolution, const grid_map::Position &pos)
grid_map::GridMap createInterpolatedMapFromDataMap(const grid_map::GridMap &dataMap, double desiredResolution)
std::string interpolationMethod_