summaryrefslogtreecommitdiff
path: root/2005/i/robert/src/ai/ai.hh
diff options
context:
space:
mode:
Diffstat (limited to '2005/i/robert/src/ai/ai.hh')
-rw-r--r--2005/i/robert/src/ai/ai.hh16
1 files changed, 14 insertions, 2 deletions
diff --git a/2005/i/robert/src/ai/ai.hh b/2005/i/robert/src/ai/ai.hh
index 5905156..8454706 100644
--- a/2005/i/robert/src/ai/ai.hh
+++ b/2005/i/robert/src/ai/ai.hh
@@ -40,7 +40,7 @@ class Ai
// Modules de controle du robot
Motor motor_;
Es es_;
- //OVision oVision_;
+ OVision oVision_;
// Scheduler du robot
scheduler::Scheduler scheduler_;
scheduler::SchedulableReadFd schedulableMotor_;
@@ -50,6 +50,8 @@ class Ai
const int vitesseAsc_;
// Temps de temporisation
const int tempoDebutMatch_;
+ // Tableau de bonne quilles
+ std::vector<Zone> goodSkittles_;
public:
/// Constructeur.
@@ -85,13 +87,15 @@ class Ai
bool sync (void);
/// Reset la PWM à zéro.
void resetPwm (void);
-
+
// Balistique non fiable.
void runBalNonFiable (void);
// Balistique fiable.
void runBalFiable (void);
// Pour les tests.
void runTest (void);
+ /// Automate suiveur de ligne vision
+ void runVisionLine(void);
/// Initialise le robot pour faire un match (placement).
void initMatch (void);
@@ -100,9 +104,17 @@ class Ai
// Va du point de départ au pont pour protéger les quilles.
void protectQuillePont (void);
void setMaxSpeed (int l, int r);
+ void scanVision(bool followLine);
void setAccel (int a);
void runProtectFond (void);
void parcourtFond (void);
+ // *** Fonctions de vision
+ // On scan tout autour du robot
+ void scanVision (void);
+ // On analyse les quilles pour ne garder que les prétendants
+ void analyseSkittles(std::vector<std::vector<Zone> > skittlesBrut);
+ // On remonte la ze quille la meilleur détecté par la cam
+ void remonteWithCam (void);
};
#endif // ai_hh