[EVENEMENT] Fribot 2010 : Alcatraz

Les expositions et meetings entre passionnés.
Avatar de l’utilisateur
Nico71
Level 14
Level 14
 
Messages: 9618
Âge: 35 ans
expertgbbexpertsoft3dexperttrialtruckmoceurtechnicexpertvainqueurconcours3

Messagepar Nico71 » Dim Avr 25, 2010 2:45 pm

roboleo a écrit:Je remarque les gardiens qui sont également des robots munis de 2 capteurs de lumière, qui tournent en permanence. A éviter, déjà une difficulté sérieuse à surmonter.


Les capteurs de couleur ne servaient qu'à suivre la trajectoire, pour l'éviter on s'est servi du capteur ultrason, au début avec un tactique de passer à gauche si on le voit à droite ou à droite si on le voit à gauche mais le temps de calculer et de bouger on pouvait lui rentrer dedans (il suit une ligne et non des allers retours) donc après on a juste attendu qu'il passe pour traverser tout droit.

roboleo a écrit:Le fait d'aller chercher la clé dans le camp opposé est une stratégie astucieuse qui déstabilise l'adversaire surtout s'il n'a pas prévu cette hypothèse. Vitesse et manoeuvre inattendue, c'était déjà un bon début.


Petite précision, ce n'est pas une tactique mais bien quelque chose d'imposée, les robots devaient aller chercher la clé dans le coté opposé à celui de départ. C'était ambiguë à cause du terme coté adversaire dans mon post, désolé. Vis à vis de l'adversaire on se mettait d'accord au niveau des trajectoires avec l'autre équipe avant le match, ça évitait les collisions (mais pas tout le temps ^^)

roboleo a écrit:Pour la suite, le choix entre code morse ou serrure complique le nombre de possibilités donc la programmation. Avez-vous fait un choix ou bien les 2 éventualités étaient-elles prises en compte?
La cerise sur le gâteau c'est le bon tunnel… Comment avez-vous "lu" le code morse?


On a choisie de lire le code morse avant d'aller actionner la serrure. D'autre équipe on fait l'inverse mais ça rajoute un aller retour (mais ils mettent la clé plus vite). Pour le morse, on cherchait une impulsion courte prouvant que c'était le code C, avec un timer qui compte le nombre de ms. Si après 4secondes (temps de 1 C envoyé par les projecteurs), il n'y a pas de court, c'est que c'est le code M qui est envoyé. Pendant les matchs de qualif et les quars, le code morse était pas encore au point, on avait mis alors un bumper pour tester chaque tunnel, si il était effondré, le robot allait à l'autre en suivant une ligne.

roboleo a écrit:Pour l'ambiance, je me doutais bien qu'elle serait top! Y avait-il un grand public? ;)


Oui, plus grand que l'année dernière d'après les organisateurs, beaucoup de monde sont passés aussi autour de la table de test (qui était au niveau supérieur par rapport à l'année dernière). Des fois c'était impossible de faire marcher le robot avec la 20 aine de personnes autour plus 3 à 4 robots d'autres équipes. En fin de journée, il y avait moins d'équipes sur le plateau. En quart de final, on avait presque le plateau pour nous tout seul ;)

Avatar de l’utilisateur
Nico71
Level 14
Level 14
 
Messages: 9618
Âge: 35 ans
expertgbbexpertsoft3dexperttrialtruckmoceurtechnicexpertvainqueurconcours3

Messagepar Nico71 » Dim Avr 25, 2010 3:54 pm

Je vous présente maintenant notre robot :

Image
Image

3 moteurs, 2 pour les roues, 1 pour l'outil. Un capteur US à l'arrière, un capteur de couleur à l'avant monté sur pivot.

Avant de passer à la vidéo, ce petit robot à une histoire. D'abord, pendant le show de présentation, on apprend que la hauteur de la serrure pourra être variable, cad descendre de 3cm. La hauteur de clé reste à la même hauteur. Cette idée de la part des organisateurs était pour faire une challenge mécanique, donc d'avoir un outil à hauteur variable.

On commence à réfléchir et on se dit, on a un capteur de couleur, il faut qu'il puisse faire du suivi de ligne (donc regarder par terre) et aussi en l'air (départ et code morse) donc on doit le monter sur pivot. On décide d'intégrer la variation de hauteur directement dans la première construction, avec un moteur de disponible, les deux mouvements doivent être liés.

Mais avant de faire ceci, on se dit que le bras du haut avec l'aimant ne doit pas gêner le capteur quand il regarde en l'air (le capteur doit être au centre et l'outil aussi), donc il faut prévoir un mécanisme pour que le bras se replie devant le capteur. Pas simple mais bon, je dis "faisable" alors on commence et je construis.

Image

Mais la bonne blague c'est que, dans le NXT il n'y a qu'un capteur couleur, jusqu'à là normale, mais dans la boite qu'on avait, il y en avait 2 ! On se documente auprès des autres équipes, puis auprès des coachs, non c'est normal, il y a deux capteurs justement un pour regarder en l'air et un autre par terre !

Le robot étant déjà construit et la calibration faite, on décide ne pas le démonter et donc on se retrouve à être la seule équipe sur les 16 équipes à n'avoir qu'une seule capteur de couleur. Le challenge mécanique était donc de faire un bras à hauteur variable mais pas qu'il puisse se retracter ou même un capteur rotatif, on s'est retrouvé avec le robot avec la mécanique la plus fouillée :petuncable: Et j'en suis pas peu fier parce que les gens autour nous complimentaient souvent sur ce mécanisme et les visiteurs aussi qui appréciaient de voir ça :)

On avait aussi un des robots les plus compacts. Mais trêves de bavardages, voici pourquoi les gens aimaient notre robot :


http://www.youtube.com/watch?v=FMgyTH1bCcs

Pour vous expliquer, j'ai d'abord pensez à un bête système parallélogramme pour régler la hauteur, ensuite j'ai commencé à asymétriser le système pour lui donner des comportements non linéaire, et finalement, on arrive avec un parallélogramme avec une bielle plus courte que l'autre et une fixée plus en arrière, c'est exactement ce que j'avais expérimenté sur ma supercar décapotable pour la capote.

Image
Image
Image

Donc au final, un système compliqué (mais simpliste) qui permet d'économiser un capteur mais surtout qui offre une bonne cinématique aux spectateurs :petuncable:

Avatar de l’utilisateur
stechnics
Level 8
Level 8
 
Messages: 884
Localisation: landes(40)
Âge: 39 ans
moceurtechnicjunior

Messagepar stechnics » Dim Avr 25, 2010 5:33 pm

Eh ben ça devait être intéressant d'avoir participé à cette compétition 8)
Même si vous n'avez pas terminé premier sur le podium, c'est tout de même une belle performance d'avoir fini là où vous en êtes arrivés ;)
Par contre pour la difficulté, je crois que c'est peu de le dire, le challenge était relevé. Ne serait-ce déjà d'essayer d'arriver à comprendre quelle était la marche à suivre, c'est un bon début :P
En fait, si j'ai bien compris, le moteur central actionnait 2 choses à la fois, le capteur et l'outil avec l'aimant. En effet mettre ça au point n'a pas dû être évident, le système est bien ingénieux.
Par contre quelque chose que je saisis pas très bien c'est que tu dis qu'il y a un code morse mais comment vous procédez pour en faire avec du NXT?
Sinon j'attends une vidéo pour voir comment un parcours complet se déroulait ;)

Avatar de l’utilisateur
Alban42800
Level 11
Level 11
 
Messages: 2473
Localisation: Loire (42)
Âge: 51 ans
expertgbbexpertnxtvainqueurconcours

Messagepar Alban42800 » Dim Avr 25, 2010 8:48 pm

Comme tous j'ai été surpris par le nombre de choses différentes à faire cette année, impossible de tout mémoriser du premier coup.
Voici donc la première vidéo : Ce que dois faire le robot.

Faut que je revois mon format d'export car elle devrait normalement sortir en HD :/
Mais pour ce soir c''est déjà ça.

Edit : Honte à moi je n'ai pas cité les crédits :
Toutes les photos et vidéos sont de Nico71

yannoch
Level 4
Level 4
 
Messages: 74
Localisation: diemoz
Âge: 48 ans

Messagepar yannoch » Lun Avr 26, 2010 6:38 pm

Superbe.
L'épreuve avait l'air très complexe, et votre robot impressionant.
encore bravo à vous.

Avatar de l’utilisateur
PG52
Level 11
Level 11
 
Messages: 2665
Localisation: Moselle
Âge: 28 ans
moceurtechnicjuniorvainqueurconcours2

Messagepar PG52 » Lun Avr 26, 2010 7:38 pm

Impressionnant :loveyes:

Le robot est génial ! C'est fou ce que l'on peut faire avec un NXT :D Et le coup du double capteur, :lol: mais franchement, vous vous en êtes vraiment bien sorti, bravo :clap:

L'idée du parallélogramme déformable pour orienter l'aimant, c'est beau...
Et le robot a un charme fou avec toute cette mécanique et ces capteurs :loveyes:

Félicitations !

Thibaud
Level 6
Level 6
 
Messages: 333
Localisation: Paris
expertnxt

Messagepar Thibaud » Lun Avr 26, 2010 7:54 pm

Que dire de plus que ce qui a été dit par mes deux coéquipiers :) ou compagnons d'évasion...
Je pense que le challenge était bien léché et les différents petits défi plutôt sympa. La lecture du morse était a mon sens un peu compliquée et la piste beaucoup trop glissante. Mais c'est le jeux!
Le souci principal aura été la différence flagrante entre la piste de test et la piste de compétition. Car finalement la luminosité nous aura fait beaucoup de surprise.
J'imagine que pour les organisateurs le fait que peut d'équipes aient pu sortir d'alcatraz à quand même du être frustrant (au point où ils ont fini par retirer les sentinelles en cours de route...)
Enfin c'était une super journée!!!
Venez voir mes créations ;) NXTGEN
-----
La team BrickBot

Avatar de l’utilisateur
Alban42800
Level 11
Level 11
 
Messages: 2473
Localisation: Loire (42)
Âge: 51 ans
expertgbbexpertnxtvainqueurconcours

Messagepar Alban42800 » Mar Avr 27, 2010 9:18 am

Vous avez vu la piste, le challenge et le robot. Voici maintenant ce qu'il s'est passé Samedi dernier...

à 8h00 le show commence, la vidéo d'introduction passe sur grand écran puis le terrain est dévoilé. Première surprise : Le thème Alcatraz est fort.
L'an dernier la piste était noire avec quelques objets de formes simples (rectangles, cylindres). Cette année la piste est imprimée, on voit l'intérieur des cellules, la pelouse de la prison. Les objets suggèrent mieux la simulation : Les tunnels, gardiens (robots NXT).
C'est certain l'organisation à fait très fort et a pris des risques car il y a de nombreux actionneurs et lumières programmés : Ouverture des tunnels, envoi du code morse, défaillance du système d'alarme. Ces systèmes demandent une grande fiabilité pour assurer le concours toute une journée.

Frédéric Noyer, le président nous dévoile comment s'évader d'Alcatraz, il enchaîne les explications et nous nous rendons compte de la complexité du concours. Quand il a terminé je ne me souviens même plus du début de son explication...
Nous notons que le capteur de lumière sera utilisé pour détecter les signaux envoyés par les projecteurs (orienté en haut) puis pour le suivi de ligne (orienté en bas). Nous notons aussi que l'endroit ou l'on prend la clé est à la même hauteur que la serrure mais qu'en finale la serrure sera plus basse de 3cm.

Nous voici lâchés dans les stands avec un pc et la boite de LEGO NXT éducation, cette année j'ai apporté un clavier AZERTY (en suisse c'est QWERTZ) qui nous facilite la programmation.
On donne les contraintes robotique à Nico :
- Robot compact pour faciliter les manœuvres et limiter les risques de collisions :P (expérience Fribot 2009)
- Capteur de lumière orientable et bras aimant réglable en hauteur avec le même moteur :petuncable:
- Un maximum de poids sur l'essieu moteur.
- 2 heures pour le réaliser :nunu:

Pendant ce temps avec Thibaud nous commençons le programme. La première chose est de détecter le départ et la bonne sortie de la cellule.
Avant le début du match les 2 zones de la cellule sont éclairés, nous démarrons le robot, puis les deux zones sont éteintes puis rallumées.
Ensuite, après un temps variable une zone s'éteint : C'est par cette "porte" qu'il faut sortir :think:
Nous décidons de l'emplacement du robot au début du match (sur la première zone) Nico nous ferra un système de calage très pratique (visible sur la première vidéo) qui positionne précisément le robot à 40cm du bord X et 25cm du bord Y.
Notre programme attend d'abord l'extinction puis l'allumage de la zone. Ensuite il faut attendre l'extinction de l'un des projecteur... notre robot va faire des aller/retour d'une zone à l'autre jusqu'à trouver une zone éteinte. Finalement ce code est assez simple :
Code: Tout sélectionner
//attente de l'extinction
while(ls.readNormalizedValue()> lumiere) Delay.msDelay(100);
//attente de l'allumage
while(ls.readNormalizedValue() < lumiere) Delay.msDelay(100);
//aller et retour en attendant l'extinction d'une des deux cellules
float sens = 1f;
while(ls.readNormalizedValue()>=lumiere)
{
pilot.travel(36f * sens); //
sens = -sens; // va en A ou B
}

Les seuils de niveau de lumière "éclairé" et "éteint" ont été mesurés plus tard sur la piste, quand le robot était terminé.
Nous avons ensuite effectués les essais avec une lampe de poche pour déclencher le robot. ça marche mais ce n'est pas idéal pour tester toutes les combinaisons...

Ensuite le robot doit passer sans percuter le gardien, c'est un robot gardien aveugle qui ne donne pas l'alerte si on lui passe devant, il faut juste l'éviter. Le gardien se déplace lentement en suivant un ovale dessiné au sol.
Notre robot se situe à un bout de l'ovale et notre stratégie est d'attendre si le gardien est devant nous et de passer sinon. Nous différencions s'il est proche ou loin afin de savoir s'il va dans un sens ou dans l'autre (partie de l'ovale la plus proche ou la plus loin) ce qui nous permet d'attendre plus longtemps s'il s'approche, le temps qu'il reparte.
Nous avons passé du temps sur cette partie, à se demander s'il ne valait pas mieux essayer de longer un mur en dehors de la trajectoire du gardien ou passer entre les deux gardiens. Ce n'est pas évident d'éviter un robot qui arrive perpendiculairement :ouch:

S'en suit une série de déplacements pour rejoindre la ligne à suivre pour prendre la clé.

Si vous avez tout lu, vous pouvez regarder la vidéo qui suit ;) en HD depuis youtube. Filmé par Nico, monté par moi.


Nargzul
Level 1
Level 1
 
Messages: 7

Messagepar Nargzul » Mar Avr 27, 2010 11:56 am

Bonjour!

Je suis le chef d'équipe de Omnibot 2.0, vous nous avez battu en quart de finale en ayant sortit de la prison avant nous ;).

Tout d'abord, bravo pour votre robot ;) Je dois avouer avoir été impressionné par sa grande stabilité, le notre n'était pas autant stable(et surtout on a eu de gros problèmes de précisions, mais passons).

J'étais intéressé à savoir comment vous aviez fait pour le suivis de la ligne qui est très rapide(niveau software donc), car nous avons quelques soucis a trouver quel était le bon moyen de le faire. Utilisez vous le tacho pilot ou pas du tout?

J'espère que vous êtes bien rentré et espère vous revoir l'année prochaine

Julien d'Omnibot 2.0 :)

Avatar de l’utilisateur
Alban42800
Level 11
Level 11
 
Messages: 2473
Localisation: Loire (42)
Âge: 51 ans
expertgbbexpertnxtvainqueurconcours

Messagepar Alban42800 » Mar Avr 27, 2010 1:08 pm

Salut Omnibot,

Voici le cœur du suivi de ligne :
Code: Tout sélectionner
Motor.A.setPower(0);
Motor.C.setPower(0);
Motor.A.forward();
Motor.C.forward();
while(time.elapsed()<tempo)
  {
  if ( ls.readNormalizedValue() > ligneBlanche ) // on tourne à gauche
    {
    Motor.A.setPower(70);
    Motor.C.setPower(40);
    }
  else // on tourne à droite
    {
    Motor.A.setPower(40);
    Motor.C.setPower(70);
    }
  }

Comme tu le vois on joue modérément sur la puissance des moteurs.

J'espère aussi qu'il y aura des Français l'an prochain, moi je ne pense pas (eurobot prend trop de temps).
Passe par le topik de présentation http://www.techlug.fr/Forum/presentation-membres.html du forum pour te présenter, c'est la règle ici. ;)

Nargzul
Level 1
Level 1
 
Messages: 7

Messagepar Nargzul » Mar Avr 27, 2010 1:22 pm

Okay, mais vous faites tout en jouant sur les moteurs? Ou vous utilisez un peu des niveau d'abstractions plus haut?(Genre le TachoNavigator, qui permet d'avoir une carte, faire directement des arc de cercles, etc...)

Edit: j'ai fais la petite présentation ;)

Edit2: Eurobot? C'est aussi une compétition robotique?

Avatar de l’utilisateur
Alban42800
Level 11
Level 11
 
Messages: 2473
Localisation: Loire (42)
Âge: 51 ans
expertgbbexpertnxtvainqueurconcours

Messagepar Alban42800 » Mar Avr 27, 2010 1:28 pm

On mixe la tachonavigation (avec goto, travel et rotate) et pour le suivi de ligne on commande directement les moteurs. J'en parlerai plus tard, le récit commencé ce matin n'est pas terminé.

Avatar de l’utilisateur
Alban42800
Level 11
Level 11
 
Messages: 2473
Localisation: Loire (42)
Âge: 51 ans
expertgbbexpertnxtvainqueurconcours

Messagepar Alban42800 » Jeu Avr 29, 2010 7:24 am

Les premières phases de tests sont hésitantes, il faut d'abord dire au programme quelle est la roue droite et gauche et lui dire dans quel sens les roues doivent tourner pour que le robot avance. L'avant de notre robot c'est les yeux (capteur ultrasons). Nous utilisons la fonction rotate(90) qui fait tourner le robot mais à droite ou à gauche ? encore un test à vérifier.
Comme expliqué à Nargzul le suivi de ligne est géré facilement, on avance en modulant la puissance des moteurs pour rester à la limite ligne noire/ligne blanche. On roule ainsi pendant 4 secondes en marche arrière. Avant cela le robot aura baissé le bras et le capteur de lumière.
Un ou deux réglage des puissances moteurs pour arriver à 40% et 70% qui font rouler le robot vite et bien pour arriver pile poil sur la clé.

Jusque là nous avions utilisé les commandes de navigation de Lejos qui permettaient au programme de connaître sa position sur la table. Après le suivi de ligne avec la commande des moteurs directement en puissance le robot est "perdu". Il existe heureusement une commande pour dire au robot ou il se trouve et ça tombe bien car nous savons ou se trouve le robot : Devant la clé.
Nous courrons donc sur la piste poser le robot devant la clé et mesurer ses coordonnées X et Y.
La commande setPosition(x,y,heading) demande un 3éme paramètre : heading : C'est l'orientation du robot. Nous avons d'ailleurs déjà utilisé cette fonction au début car le robot commence le match en (40,25,0).
Après le "setPosision" nous allons vers la serrure pour y mettre la clé. A partir de là notre vie à basculé dans l'incompréhension : Le robot est parti du côté opposé :think: problème de heading :non: problème de rotate dans le mauvais sens :pfff: rien n'y fait, nous passons du PC à la piste de nombreuses fois mais à aucun moment le robot va vers la serrure. Il est 14h30, une charmante hôtesse nous a déjà prévenu 10 minutes avant, puis 5 minutes avant et maintenant il faut aller se présenter à la première manche de qualification :whine:

Voici le film de quelques essais et de la première qualif :


Après cela nous retournons rapidement aux stands : Il faut régler les problèmes parce que là notre robot ne fait pas grand chose et il reste 1h10 avant la manche suivante :gasp:

Avatar de l’utilisateur
Nico71
Level 14
Level 14
 
Messages: 9618
Âge: 35 ans
expertgbbexpertsoft3dexperttrialtruckmoceurtechnicexpertvainqueurconcours3

Messagepar Nico71 » Jeu Avr 29, 2010 7:53 am

Pour la manche de qualification, le fait que nous ayons pris la clé sans activer la serrure nous a qualifié. Nono a eu des problèmes avec leur gardien et n'a pas saisie la clé. Vous remarquerez aussi que la pris de clé le fait dévier, parce qu'on ne l'a pas tiré dans l'axe.

Le set position et heading nous a bien fait galerer :/ Pendant ce temps moi je mocais une moto :tare:

Avatar de l’utilisateur
semtou
Level 7
Level 7
 
Messages: 525
Localisation: Toulouse
Âge: 55 ans

Messagepar semtou » Jeu Avr 29, 2010 9:02 am

En tous les cas Bravo Nico pour la mécanique, :resp: c'est une superbe leçon d'utilisation des engrenages mais on aurai pu se douter qu'un moceur comme toi aller nous sortir un robot digne de se nom. Maintenant que tu y as gouté au NXT tu vas nous en mettre un dans un Trial Truck ?
Bravo aussi à :clap: Thibaud et à Alban :clap: pour la programmation car cette année il me semble que :ouch:
Super les vidéos on s'y croirait.
"Ce qui se conçoit bien s’énonce clairement et les mots pour le dire viennent aisément..." Nicolas Boileau-Despreaux
Mon blog = http://semtou.skyrock.com/
Ma galerie photos = http://www.brickshelf.com/cgi-bin/gallery.cgi?m=SEMTOU


Retourner vers Les évènements Lego

Qui est en ligne ?

Utilisateurs parcourant actuellement ce forum : Aucun utilisateur inscrit et 4 invités