summaryrefslogtreecommitdiff
path: root/2005/i/robert/src/ai/ai.cc
diff options
context:
space:
mode:
authorhaller2005-04-27 21:42:37 +0000
committerhaller2005-04-27 21:42:37 +0000
commit9b4d2709fc7ebd2285e5f5d0cb98d72e8d6e2d03 (patch)
tree3d2e1d07d1ee939d39be6e8794742c597141df9b /2005/i/robert/src/ai/ai.cc
parentf0ccf37dce1373d0e3ca70a68772de98ed67d995 (diff)
Modification de deux trois choses
Y'a encore du boulot
Diffstat (limited to '2005/i/robert/src/ai/ai.cc')
-rw-r--r--2005/i/robert/src/ai/ai.cc33
1 files changed, 16 insertions, 17 deletions
diff --git a/2005/i/robert/src/ai/ai.cc b/2005/i/robert/src/ai/ai.cc
index 2fbe9cb..7331d8c 100644
--- a/2005/i/robert/src/ai/ai.cc
+++ b/2005/i/robert/src/ai/ai.cc
@@ -31,7 +31,6 @@ Ai::Ai(const Config & config)
roundDuration_(config.get<int>("ai.roundDuration")),
vitesseAsc_(config.set<int>("ai.vitesseAsc"))
{
- /// XXX comment on lance le robot? apelle dans main??
}
/// Initialise le robot
@@ -41,7 +40,9 @@ void Ai::init(void)
motor_.init();
// initialise la carte es
es_.init();
- // XXX Faut-il initialiser la vision
+ // on init la vision
+ ovision_.init(es_.getColor() ? Group::ZoneType::RedSkittle :
+ Group::ZoneType::GreenColor);
}
/// stop le robot
@@ -64,10 +65,10 @@ void Ai::run(void)
waitJack(false);
// Attend la seconde sortie du jack(Daniel)
waitJack(true);
- // XXX on lance le temps
- Timer::get_time();
+ // on lance le temps
+ Timer::start_round();
// Aller devant la boule
- goTo(x, y, 0); // XXX l'angle 0 ca pointe ou??
+ goTo(x, y, 0);
// Taper la boule
basic(d);
// se placer devant nos quilles près du pont
@@ -88,35 +89,33 @@ void Ai::run(void)
void Ai::waitJack (bool out)
{
while (es_.stateJack() != out)
- update(); // XXX Le timeout, générale statique ou argument de update
- /// on verra
+ update();
}
/// Rejoint un point. (argument en mm)
-void Ai::goTo (double x, double y) // XXX Y'a une vitesse par defaut?? non
+void Ai::goTo (double x, double y ,double a)
{
while (motor_.getX() != x || motor_.getY() != y)
{
- motor_.goTo(x,y); /// XXX On peut pas mettre un arg pour a? oui c'est cool et surcharger
+ motor_.goTo(x,y,a);
update();
}
}
/// Recale contre une bordure.
+// XXX Voir ca plus précisemment
void Ai::recale (void)
{
while(!es_.capteursContact())
{
- motor_.recalage(); //XXX hum...
+ motor_.recalage();
update();
}
}
-/// Mouvement basic. XXX c'est quoi les arguments là??
-void Ai::basic (double v, double d)
+/// Mouvement basic.
+void Ai::basic (double d)
{
- motor_.setSpeed(v); // XXX Vitesse par defaut à restorer?
- // XXX A chercher dans config??
do
{
motor_.linearMove(d);
@@ -140,14 +139,14 @@ void Ai::ascenceur (bool monte)
{
while(es_.stateAsc() != monte ? true : false)
{
- es_.moveAsc(monte); // XXX bon le nom de la fonction est à chier on est d'accord
- // XXX On peut régler la vitesse de l'asc( config)
+ es_.moveAsc(monte);
+ // XXX On peut régler la vitesse de l'asc( config min max acc haut et bas entier unité ons'entape)
update();
}
}
/// Désactive les ventouse
-void Ai::ventouses (void)
+void Ai::ventouses (void) /// XXX Temps à régler dans la config
{
es_.ventouses();
while(!es_.stateVentouses()) // XXX Ca, ca doit servir à rien