Voili voilou
Dependencies: RoboClaw StepperMotor mbed
Fork of Robot2016_2-0 by
Diff: Map/Map.h
- Revision:
- 11:9c70a7f4d7aa
- Child:
- 31:8bcc3a0bfa8a
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Map/Map.h Tue Jan 05 15:48:25 2016 +0100 @@ -0,0 +1,49 @@ +#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; + std::vector<Obstacle*> obstacles; + private: +}; + + +#endif