Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Fork of Timer 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
