
Time is good
Fork of Robot2016_2-0 by
Revision 56:4fd9636dfb36, committed 2016-05-04
- Comitter:
- IceTeam
- Date:
- Wed May 04 19:43:53 2016 +0200
- Parent:
- 55:dfeee9e5c0af
- Child:
- 57:86f491f5b25d
- Commit message:
- Changement dans la gestion des objectifs
Changed in this revision
--- a/Functions/defines.h Wed May 04 16:27:51 2016 +0000 +++ b/Functions/defines.h Wed May 04 19:43:53 2016 +0200 @@ -1,6 +1,9 @@ #ifndef DEFINES_H #define DEFINES_H +/* Dernier Changement : Romain 19h23 +Inclu dans main.cpp Map/map.h func.h */ + #include "mbed.h" #include "../RoboClaw/RoboClaw.h" #include "../Odometry/Odometry.h"
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Map/Objectif/objectif.h Wed May 04 19:43:53 2016 +0200 @@ -0,0 +1,13 @@ +#ifndef OBJECTIF_H +#define OBJECTIF_H + +class Objectif { +public: + Objectif (int type, float x_obj, float y_obj, float y_objectif); + +private: + int type; + float x_objectif, y_objectif, thet_object; +}; + +#endif \ No newline at end of file
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Map/Objectif/objectif_type.h Wed May 04 19:43:53 2016 +0200 @@ -0,0 +1,6 @@ +#ifndef OBJECTIF_TYPE_H +#define OBJECTIF_TYPE_H + +#define OBJ_BLOC 1 + +#endif \ No newline at end of file
--- a/Map/map.cpp Wed May 04 16:27:51 2016 +0000 +++ b/Map/map.cpp Wed May 04 19:43:53 2016 +0200 @@ -4,6 +4,11 @@ } void map::Build (int couleur, int formation) { + max_x_table = 2800; + max_y_table = 1800; + min_x_table = 0; + min_y_table = 0; + addObs(obsCarr (800, 100, 100, 15)); addObs(obsCarr (2200, 100, 100, 15)); @@ -83,17 +88,20 @@ ended = false; tmp = obs[i].getPoints (); + // On vérifie si le point est sur la table + if (tmp.p0.getX() < min_x_table || tmp.p0.getY() < min_y_table || tmp.p0.getX() > max_x_table || tmp.p0.getY() > max_y_table) + val[0] = false; // On vérifie si le point croise un obstacle - for (j = 0; j < os; ++j) + for (j = 0; j < os && val[0]; ++j) if (obs[j].getCroisement (tmp.p0, close[indTMP1])) val[0] = false; // On vérifie si le point existe déjà dans la liste ouverte - for (j = 0; j < open.size (); ++j) { + for (j = 0; j < open.size () && val[0]; ++j) { if (open[j] == tmp.p0) val[0] = false; } // On vérifie si le point existe déjà dans la liste fermée - for (j = 0; j < close.size (); ++j) { + for (j = 0; j < close.size () && val[0]; ++j) { if (close[j] == tmp.p0) val[0] = false; } @@ -102,14 +110,16 @@ } // On repete l'operation pour le second point - for (j = 0; j < os; ++j) + if (tmp.p1.getX() < min_x_table || tmp.p1.getY() < min_y_table || tmp.p1.getX() > max_x_table || tmp.p1.getY() > max_y_table) + val[1] = false; + for (j = 0; j < os && val[1]; ++j) if (obs[j].getCroisement (tmp.p1, close[indTMP1])) val[1] = false; - for (j = 0; j < open.size (); ++j) { + for (j = 0; j < open.size () && val[1]; ++j) { if (open[j] == tmp.p1) val[1] = false; } - for (j = 0; j < close.size (); ++j) { + for (j = 0; j < close.size () && val[1]; ++j) { if (close[j] == tmp.p1) val[1] = false; } @@ -118,14 +128,16 @@ } // On répète l'opération pour le troisième point - for (j = 0; j < os; ++j) + if (tmp.p2.getX() < min_x_table || tmp.p2.getY() < min_y_table || tmp.p2.getX() > max_x_table || tmp.p2.getY() > max_y_table) + val[2] = false; + for (j = 0; j < os && val[2]; ++j) if (obs[j].getCroisement (tmp.p2, close[indTMP1])) val[2] = false; - for (j = 0; j < open.size (); ++j) { + for (j = 0; j < open.size () && val[2]; ++j) { if (open[j] == tmp.p2) val[2] = false; } - for (j = 0; j < close.size (); ++j) { + for (j = 0; j < close.size () && val[2]; ++j) { if (close[j] == tmp.p2) val[2] = false; } @@ -134,14 +146,16 @@ } // On répète l'opération pour le quatrieme point - for (j = 0; j < os; ++j) + if (tmp.p3.getX() < min_x_table || tmp.p3.getY() < min_y_table || tmp.p3.getX() > max_x_table || tmp.p3.getY() > max_y_table) + val[3] = false; + for (j = 0; j < os && val[3]; ++j) if (obs[j].getCroisement (tmp.p3, close[indTMP1])) val[3] = false; - for (j = 0; j < open.size (); ++j) { + for (j = 0; j < open.size () && val[3]; ++j) { if (open[j] == tmp.p3) val[3] = false; } - for (j = 0; j < close.size (); ++j) { + for (j = 0; j < close.size () && val[3]; ++j) { if (close[j] == tmp.p3) val[3] = false; }
--- a/Map/map.h Wed May 04 16:27:51 2016 +0000 +++ b/Map/map.h Wed May 04 19:43:53 2016 +0200 @@ -6,6 +6,7 @@ #include "nVector.h" #include "controle.h" #include "Odometry.h" +#include "../AX12/AX12.h" #define MAP_RIGHTSIDE 1 #define MAP_LEFTSIDE 2 @@ -26,6 +27,8 @@ nVector<pointParcours> path; bool endedParc; // Definit s'il existe un chemin parcourable dans le dernier FindWay Odometry* Codo; + + float min_x_table, min_y_table, max_x_table, max_y_table; }; #endif \ No newline at end of file