Voili voilou

Dependencies:   RoboClaw StepperMotor mbed

Fork of Robot2016_2-0 by ARES

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