Robot's source code
Dependencies: mbed
Diff: Map/Map.h
- Revision:
- 109:53918ba98306
- Parent:
- 39:09c04fd42c94
- Child:
- 119:c45efcd706d9
--- a/Map/Map.h Mon May 04 13:00:28 2015 +0000 +++ b/Map/Map.h Tue May 05 16:35:53 2015 +0000 @@ -1,16 +1,48 @@ +#ifndef MAP_H +#define MAP_H -#ifndef MAP_H_ -#define MAP_H_ +#include "defines.h" #include "Obstacle.h" +#include "Point.h" +#include <vector> +#define DIAG_COST 0.7071067/2 +#define NDIAG_COST 0.5/2 + +#define LOG_LEVEL 2 //4 debug(very slow) - 3 errors/warnings/infos - 2 errors/warnings - 1 errors - 0 none +#define LOG_ASTAR 1 +#define LOG_TENDEUR 1 + + + +class SimplePoint +{ + public: + SimplePoint(float x, float y) : x(x),y(y) {} + SimplePoint(const SimplePoint &p) : x(p.x),y(p.y) {} + bool operator!=(SimplePoint& p) {return x!=p.x||y!=p.y;} + virtual ~SimplePoint() {} + float x,y; +}; class Map { public: Map(); - + ~Map(); + void build(); + + int getHeight(float x, float y); + + // mpc : metre par case, par defaut chaque case fait 10cm + // Position en mm !! + char AStar(float x, float y, float goal_x, float goal_y, float mpc=100); + + + std::vector<SimplePoint> path; private: + std::vector<Obstacle*> obstacles; };