summaryrefslogtreecommitdiff
path: root/2005/i/robert/src/ai/ai.cc
diff options
context:
space:
mode:
Diffstat (limited to '2005/i/robert/src/ai/ai.cc')
-rw-r--r--2005/i/robert/src/ai/ai.cc45
1 files changed, 36 insertions, 9 deletions
diff --git a/2005/i/robert/src/ai/ai.cc b/2005/i/robert/src/ai/ai.cc
index 7cd50ab..b3b4f09 100644
--- a/2005/i/robert/src/ai/ai.cc
+++ b/2005/i/robert/src/ai/ai.cc
@@ -52,7 +52,10 @@ Ai::Ai(const Config & config)
Ai::~Ai (void)
{
// On réinitialise
- init ();
+ // Initialise les moteurs
+ motor_.init();
+ // initialise la carte es
+ es_.init();
// On sync
do
{
@@ -71,8 +74,8 @@ void Ai::init(void)
// initialise la carte es
es_.init();
// on init la vision
- oVision_.init(motor_.colorState() ? Group::redSkittle :
- Group::greenSkittle);
+// oVision_.init(motor_.colorState() ? Group::redSkittle :
+// Group::greenSkittle);
while (!update());
}
@@ -235,7 +238,21 @@ Ai::setAccel (int a)
{
motor_.setAccel (a);
while (!update ());
-}/*}}}*/
+}
+
+/// Renvoye l'état du bouton de sélection de couleur.
+bool
+Ai::colorBouton (void)
+{
+ return motor_.colorState ();
+}
+/// Renvoye si l'objet devant nous est trop prêt.
+bool
+Ai::objectInFront (void)
+{
+ return es_.obsTropPres ();
+}
+/*}}}*/
// *** Les runs ***/*{{{*/
// Balistique non fiable.
@@ -268,6 +285,16 @@ Ai::runProtectFond (void)
parcourtFond ();
}
+void Ai::runVisionLine(void)
+{
+ init();
+ initTest();
+ do
+ {
+ scanVision(true);
+ basic(100);
+ }while(motor_.getY() < 1700);
+}
// Pour les Tests.
void
Ai::runTest (void)
@@ -410,11 +437,11 @@ void Ai::scanVision (bool followLine) /// XXX mettre un argument
for (int i = 0; i < (followLine ? 1 : 4) ; i++)
{
// On prend la photo
- oVision_.takeShoot();
- // On analyse la photo
- oVision_.update();
+// oVision_.takeShoot();
+// // On analyse la photo
+// oVision_.update();
// On mets la liste brute dans le vector
- skittles.push_back(oVision_.getSkittles());
+// skittles.push_back(oVision_.getSkittles());
// on tournicote
motor_.rotation(angleDepart + ((i + 1) * M_PI/4));
}
@@ -452,7 +479,7 @@ void Ai::remonteWithCam(void)
{
int x, y , angle, dist;
Zone zeSkittles = goodSkittles_.back();
- oVision_.getLoc(zeSkittles, x, y, angle, dist);
+// oVision_.getLoc(zeSkittles, x, y, angle, dist);
dist -= 9;
rotation(motor_.getA() + angle);
setMaxSpeed(2,1);