Commit a425893c authored by Guillaume Buret's avatar Guillaume Buret

Removed unused Etape in etape.h

parent 3fe61758
......@@ -72,13 +72,9 @@ HEADERS += \
../../include/strategie/zoneConstruction.h \
../../include/strategie/dijkstra.h \
../../include/hardware/tourelle.h \
../../include/strategie/clap.h \
../../include/strategie/gobelet.h \
../../include/strategie/tapis.h \
../../include/actionneurs/brasTapis.h \
../../include/actionneurs/brasKrabi.h \
../../include/actionneurs/brasLateraux.h \
../../include/strategie/deposerGobelet.h \
../../include/actionneurs/pinces.h \
../../include/strategie/ramasserPied.h \
../../include/hardware/microSwitch.h \
......@@ -154,14 +150,10 @@ SOURCES += \
../../src/strategie/etape.cpp \
../../src/strategie/dijkstra.cpp \
../../src/hardware/tourelle.cpp \
../../src/strategie/clap.cpp \
../../src/strategie/gobelet.cpp \
../../src/strategie/tapis.cpp \
../../src/actionneurs/brasTapis.cpp \
../../src/actionneurs/brasLateraux.cpp \
../../src/actionneurs/brasKrabi.cpp \
../../src/actionneurs/ascenseur.cpp \
../../src/strategie/deposerGobelet.cpp \
../../src/actionneurs/pinces.cpp \
../../src/strategie/ramasserPied.cpp \
../../src/simul/debugwindow.cpp \
......
......@@ -24,7 +24,7 @@ void eteindreLED2();
bool isLedOn(int led);
#endif
class Leds
class Led
{
public:
static void toggle(int index = 0);
......
#ifndef CLAP_H
#define CLAP_H
#include "position.h"
#include "mediumLevelAction.h"
#include "command.h"
#include "brasLateraux.h"
/** @class clap : le robot doit fermer 3 claps du bord de la table
*/
class Clap : public MediumLevelAction
{
public:
Clap();
/** @brief Constructeur
* @fn Clap(Position positionDepart, Position positionArrivee)
* @param les paramètres sont de type Position
*/
Clap(Position positionDepart, Position positionArrivee);
/** @brief Destructeur
*/
~Clap();
/** @brief Fonction appelée toutes les 50ms qui gère l'action Clap : le robot avance à la position de départ, ouvre son bras, avance à la position d'arrivée, ferme son bras.
* @fn int update()
* @return le statut ("status" dans le code) (attribut hérité de la classe MediumLevelAction) :
status = 0 : le robot commence l'action
status = 1 : le robot se déplace jusqu'à la position de départ
status = 2 : le robot s'oriente pour présenter son coté au clap
status = 3 : le robot ouvre son bras
status = 54 : le robot avance à la position d'arrivée
status = 55 : le robot ferme son bras
status = -1 : le robot a finit l'action
*/
int update();
Etape::EtapeType getType();
protected :
Position positionDepart;
Position positionArrivee;
};
#endif // CLAP_H
#ifndef DEPOSERGOBELET_H
#define DEPOSERGOBELET_H
#include "position.h"
#include "mediumLevelAction.h"
#include "command.h"
class DeposerGobelet : public MediumLevelAction
{
public:
DeposerGobelet();
DeposerGobelet(Position position);
~DeposerGobelet();
int update();
Etape::EtapeType getType();
protected :
Position position;
};
#endif // DEPOSERGOBELET_H
......@@ -26,37 +26,19 @@ public:
POINT_PASSAGE = 0,
COLLECT = 1,
FRUIT = 2,
DEPART = 5,
DEPOSE_FEU = 6,
DEPOSE_FRUIT = 7,
FEU_MINI_BRAS = 14,
FEU_COTE = 15,
CENTRE_TABLE = 16,
CLAP = 17,
GOBELET = 18,
RAMASSER_PIED = 19,
AMPOULE = 20,
TAPIS = 21,
DEPOSER_GOBELET = 22,
COIN_GAUCHE_HAUT = 24,
COIN_GAUCHE_BAS = 25,
SPOT_SOLITAIRE_COIN = 26,
ROBOT_POINT_PASSAGE = POINT_PASSAGE + ROBOT_VU_ICI,
ROBOT_COLLECT = COLLECT + ROBOT_VU_ICI,
ROBOT_FRUIT = FRUIT + ROBOT_VU_ICI,
ROBOT_DEPART = DEPART + ROBOT_VU_ICI,
ROBOT_DEPOSE_FEU = DEPOSE_FEU + ROBOT_VU_ICI,
ROBOT_DEPOSE_FRUIT = DEPOSE_FRUIT + ROBOT_VU_ICI,
ROBOT_FEU_MINI_BRAS = FEU_MINI_BRAS + ROBOT_VU_ICI,
ROBOT_CENTRE_TABLE = CENTRE_TABLE + ROBOT_VU_ICI,
ROBOT_CLAP = CLAP + ROBOT_VU_ICI,
ROBOT_GOBELET = GOBELET + ROBOT_VU_ICI,
ROBOT_PIED = RAMASSER_PIED + ROBOT_VU_ICI,
ROBOT_AMPOULE = AMPOULE + ROBOT_VU_ICI,
ROBOT_TAPIS = TAPIS + ROBOT_VU_ICI,
ROBOT_DEPOSER_GOBELET = DEPOSER_GOBELET + ROBOT_VU_ICI,
ROBOT_COIN_GAUCHE_HAUT = COIN_GAUCHE_HAUT + ROBOT_VU_ICI,
ROBOT_COIN_GAUCHE_BAS = COIN_GAUCHE_BAS + ROBOT_VU_ICI,
ROBOT_SPOT_SOLITAIRE_COIN = SPOT_SOLITAIRE_COIN + ROBOT_VU_ICI
......
#ifndef GOBELET_H
#define GOBELET_H
#include "position.h"
#include "mediumLevelAction.h"
#include "command.h"
class Gobelet : public MediumLevelAction
{
public :
Gobelet();
Gobelet(Position position);
~Gobelet();
int update();
Etape::EtapeType getType();
protected :
Position position;
};
#endif // GOBELET_H
......@@ -7,13 +7,9 @@
#include "strategiev3.h"
#include "etape.h"
#include "clap.h"
#include "gobelet.h"
#include "zoneConstruction.h"
#include "tapis.h"
#include "cabine.h"
#include "ramasserPied.h"
#include "deposerGobelet.h"
#include "manipulationCoinGaucheBas.h"
#include "manipulationCoinGaucheHaut.h"
#include "manipulationCoinGaucheHautPiedSolitaire.h"
......@@ -28,10 +24,7 @@ public:
Krabi2016(bool isYellow);
/** @brief Actions de Krabi */
Clap actionClap[3];
Gobelet actionGobelet[5];
Cabine actionCabine[2];
DeposerGobelet actionDeposerGobelet[3];
RamasserPied actionRamasserPied[8];
......
......@@ -7,7 +7,6 @@
#include "strategiev3.h"
#include "etape.h"
#include "clap.h"
class KrabiJunior2016 : public StrategieV3
{
......
#ifndef TAPIS_H
#define TAPIS_H
#include "position.h"
#include "angle.h"
#include "mediumLevelAction.h"
#include "command.h"
#include "brasTapis.h"
/** @class Tapis : le robot doit poser 2 tapis sur les marches.
*/
class Tapis : public MediumLevelAction
{
public:
Tapis();
/** @brief Constructeur
* @fn Tapis(Position position)
* @param le paramètre sont de type Position
*/
Tapis(Position position);
/** @brief Destructeur
*/
~Tapis();
/** @brief Fonction appelée toutes les 50ms qui gère l'action Tapis : le robot avance à la position puis déploie son bras pour poser le tapis.
* @fn int update()
* @return le statut ("status" dans le code) (attribut hérité de la classe MediumLevelAction) :
*/
int update();
Etape::EtapeType getType();
protected :
Position position;
Angle toLookAt;
BrasTapis::COTE cote;
};
#endif // TAPIS_H
#include "clap.h"
#include "strategieV2.h"
#include "mediumLevelAction.h"
#include "command.h"
#include "position.h"
#include "brasLateraux.h"
#ifndef ROBOTHW
#include <QDebug>
#endif
#define ATTENTE_ROTATION 500
#define ATTENTE_SORTIE_BRAS 10
Clap::Clap(){}
Clap::Clap(Position positionDepart, Position positionArrivee):MediumLevelAction(positionDepart)
{
this->positionArrivee = positionArrivee;
this->goBack = false;
}
Clap::~Clap(){}
Etape::EtapeType Clap::getType()
{
return Etape::CLAP;
}
int Clap::update()
{
if (status == 0)//Début
{
#ifndef ROBOTHW
qDebug() << "clap";
#endif
status++;
}
else if (status == 1)//Aller au point de départ
{
StrategieV2::setCurrentGoal(goalPosition, goBack);
status++;
}
else if (status == 2)//Se tourner une fois au point de départ
{
if (Command::isNear(goalPosition))
{
StrategieV2::lookAt(positionArrivee);
status++;
}
}
else if ((status <= 3 + ATTENTE_ROTATION) && (status > -1 ))//On attend que le robot se tourne : 50ms par incrémentation du status
{
status++;
}
else if (status == 4 + ATTENTE_ROTATION)//Sortir le bras
{
//Ouvrir le bras
if (positionArrivee.getX()<1500)
BrasLateraux::getRight()->expand();
else
BrasLateraux::getLeft()->expand();
status++;
}
else if ((status <= 5 + ATTENTE_ROTATION + ATTENTE_SORTIE_BRAS) && (status > -1 ))//On attend que le bras du robot s'ouvre : 50ms par incrémentation du status
{
status++;
}
else if (status == 6 + ATTENTE_ROTATION + ATTENTE_SORTIE_BRAS)//Avancer pour faire tomber le clap
{
StrategieV2::setCurrentGoal(positionArrivee, goBack);
status++;
}
else if (status == 56 + ATTENTE_ROTATION + ATTENTE_SORTIE_BRAS)//Fermer le bras une fois passé
{
if (Command::isNear(positionArrivee))
{
if (positionArrivee.getX()<1500)
BrasLateraux::getRight()->collapse();
else
BrasLateraux::getLeft()->collapse();
status++;
}
}
else if ((status <= 105 + ATTENTE_ROTATION + ATTENTE_SORTIE_BRAS) && (status > -1))
{
status++;
}
else if (status == 106 + ATTENTE_ROTATION + ATTENTE_SORTIE_BRAS){
status = -1;
#ifndef ROBOTHW
qDebug() << "Etape clap finie";
#endif
}
return status;
}
#include "deposerGobelet.h"
#include "pinces.h"
#include "strategieV2.h"
#include "mediumLevelAction.h"
#include "command.h"
#ifndef ROBOTHW
#include <QDebug>
#endif
DeposerGobelet::DeposerGobelet(){}
DeposerGobelet::DeposerGobelet(Position goalposition):MediumLevelAction(goalposition){}
DeposerGobelet::~DeposerGobelet(){}
Etape::EtapeType DeposerGobelet::getType()
{
return Etape::DEPOSER_GOBELET;
}
int DeposerGobelet::update()
{
if (status == 0)
{
#ifndef ROBOTHW
qDebug() << "deposerGobelet";
#endif
status++;
status = -1;
}
else if (status == 1)
{
StrategieV2::setCurrentGoal(this->goalPosition, this->goBack);
status++;
}
else if (status == 2)
{
if (Command::isNear(goalPosition))
{
StrategieV2::lookAt(goalPosition);
status++;
}
}
else if (status == 3)
{
if (Command::isLookingAt(goalPosition))
{
#ifndef ROBOTHW
qDebug() << "On lache le gobelet";
#endif
Pinces::getSingleton()->ouvrirPinces();
status++;
}
}
else if ((status <23) && (status > 0)) //On attend que les pinces aient laché le gobelet.
{
status++;
}
else if (status == 23)
{
#ifndef ROBOTHW
qDebug() << "On referme les pinces";
#endif
Pinces::getSingleton()->fermerPinces();
status++;
}
else if ((status <63) && (status > 0)) //On attend que l'ascenseur ferme ses pinces
{
status++;
}
else if (status == 63)
{
status = -1;
}
return status;
}
......@@ -191,10 +191,7 @@ int Etape::getNombreEtapesLieesParFinirEtape()
void Etape::finir(void)
{
if(this->type == FRUIT)
{
this->type = POINT_PASSAGE;
}
return;
}
void Etape::setScore(int score)
......@@ -363,18 +360,10 @@ QString Etape::getNameType(EtapeType type)
return "Passage";
case DEPART:
return "Départ";
case CLAP:
return "Clap";
case GOBELET:
return "Gobelet";
case RAMASSER_PIED:
return "Pied";
case AMPOULE:
return "Ampoule";
case TAPIS:
return "Tapis";
case DEPOSER_GOBELET:
return "Déposer Gobelet";
case CUBE_DEBUT:
return "Pousser les cubes a l'init";
default:
......@@ -394,18 +383,10 @@ QString Etape::getShortNameType(EtapeType type)
return "";
case DEPART:
return "Start";
case CLAP:
return "Clap";
case GOBELET:
return "Gob";
case RAMASSER_PIED:
return "Pied";
case AMPOULE:
return "Amp";
case TAPIS:
return "Tapis";
case DEPOSER_GOBELET:
return "D.G";
case CUBE_DEBUT:
return "Cube debut";
default:
......
#include "gobelet.h"
#include "pinces.h"
#include "ascenseur.h"
#include "strategieV2.h"
#include "mediumLevelAction.h"
#include "command.h"
#ifndef ROBOTHW
#include <QDebug>
#endif
Gobelet::Gobelet(){}
Gobelet::Gobelet(Position goalposition):MediumLevelAction(goalposition){}
Gobelet::~Gobelet(){}
Etape::EtapeType Gobelet::getType()
{
return Etape::GOBELET;
}
int Gobelet::update()
{
if (status == 0)
{
#ifndef ROBOTHW
qDebug() << "gobelet";
#endif
status++;
}
else if (status == 1)
{
StrategieV2::setCurrentGoal(this->goalPosition, this->goBack);
status++;
}
else if (status == 2)
{
if (Command::isNear(goalPosition, 175.0f))
{
StrategieV2::lookAt(goalPosition);
status++;
}
}
else if (status == 3)
{
if (Command::isLookingAt(goalPosition))
{
#ifndef ROBOTHW
qDebug() << "On baisse l'ascenseur";
#endif
Ascenseur::getSingleton()->baisserAscenseur();
status++;
}
}
else if ((status <23) && (status > 0)) //On attend que l'ascenseur se baisse
{
status++;
}
else if (status == 23)
{
#ifndef ROBOTHW
qDebug() << "On ouvre les pinces";
#endif
Pinces::getSingleton()->ouvrirPinces();
status++;
}
else if ((status <43) && (status > 0)) //On attend que l'ascenseur ouvre les pinces
{
status++;
}
else if (status == 43)
{
#ifndef ROBOTHW
qDebug() << "On ferme les pinces";
#endif
Pinces::getSingleton()->fermerPinces();
status++;
}
else if ((status <63) && (status > 0)) //On attend que l'ascenseur ferme ses pinces
{
status++;
}
else if (status == 63)
{
#ifndef ROBOTHW
qDebug() << "Etape gobelet finie";
#endif
StrategieV2::setCurrentGoal(this->goalPosition, this->goBack);
status++;
}
else if (status == 64)
{
if (Command::isNear(goalPosition))
{
StrategieV2::lookAt(goalPosition);
status++;
}
}
else if (status == 65)
{
status = -1;
}
return status;
}
......@@ -34,9 +34,6 @@ int KrabiJunior2016::getScoreEtape(int i){
case Etape::DEPART :
return 10;
break;
case Etape::TAPIS :
return 10;
break;
default :
return 0;
break;
......
......@@ -22,7 +22,7 @@ StrategieV3::StrategieV3(bool /*isYellow*/) : MediumLevelAction()
this->millisecondesRestantes = 90 * 1000;
#ifndef ROBOTHW
colorLiaisonsEtapes = QColor("blue");
colorLiaisonsEtapes = QColor(150,100,50);
colorEtapeGoal = QColor("red");
colorEtapesIntermediaires = QColor("yellow");
colorEtapes = QColor("orange");
......
#include "tapis.h"
#include "strategieV2.h"
#include "mediumLevelAction.h"
#include "command.h"
#include "position.h"
#ifndef ROBOTHW
#include <QDebug>
#endif
#define GRANDE_ATTENTE 300
Tapis::Tapis(){}
Tapis::Tapis(Position position):MediumLevelAction(position)
{
this->toLookAt = M_PI/2;
if (position == Position(1060, 848))
{
this->cote = BrasTapis::GAUCHE;
}
if (position == Position(1342, 848))
{
this->cote = BrasTapis::DROIT;
}
}
Tapis::~Tapis(){}
Etape::EtapeType Tapis::getType()
{
return Etape::TAPIS;
}
int Tapis::update()
{
if (status == 0)
{
#ifndef ROBOTHW
qDebug() << "tapis";
#endif
status++;
}
else if (status == 1)
{
StrategieV2::setCurrentGoal(goalPosition, goBack);
status++;
}
else if (status == 2)
{
if (Command::isNear(goalPosition))
{
StrategieV2::lookAt(toLookAt);
status++;
}
}
else if (status == 3)
{
if (Command::isLookingAt(toLookAt))
{
//ouvrir le bras
#ifndef ROBOTHW
qDebug() << "On ouvre le bras";
#endif
for (int i = 0; i<10000; i++);
BrasTapis::getSingleton(cote)->ouvrirBras();
status++;
}
}
else if (status < 3 + GRANDE_ATTENTE)
{
status++;
}
else if (status == 3 + GRANDE_ATTENTE)
{
//fermer bras
#ifndef ROBOTHW
qDebug() << "On ferme le bras";
#endif
BrasTapis::getSingleton(cote)->fermerBras();
status++;
}
else if (status < 3 + GRANDE_ATTENTE + GRANDE_ATTENTE)
{
status++;
}
else if (status == 3 + GRANDE_ATTENTE + GRANDE_ATTENTE) //On attend que les bras se ferment.
{
#ifndef ROBOTHW
qDebug() << "Etape tapis finie";
#endif