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.
Dependencies: RoboClaw mbed StepperMotor
Fork of RoboClaw 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
