vendredi 28 décembre 2012

Le blog pour 2013

Bonjour à tous ceux qui suivent encore ce blog de la coupe 2012 !

Comme vous l'aurez remarqué, il ne se passe plus grand chose ici. C'est normal puisque tout est sur le blog 2013:
http://olegeurobot2013.blogspot.fr/

J'ai souhaité distinguer les deux coupes puisque les thèmes sont completement differents.
Le premier blog est plus un blog de découverte du Mindstorms, de sa programmation de manière basique pour réaliser un robot avec roues folles pour l'odométrie et capteur ultrason pour la détection de l'adversaire.
Le second blog est plutôt une reprise du premier avec optimisation de tous les sujets :
- Amélioration de l'odométrie et du déplacement du robot : L'objectif est d'avoir une meilleure précision de localisation et d'augmenter la vitesse du robot
- Amélioration de la programmation de la stratégie : L'objectif est de n'avoir qu'un seul programme que l'on démarre côté rouge ou bleu et de donner les paramètres à l'installation du robot sur la table sans avoir à recharger le programme.
- Faire communiquer via bluetooth les briques : L'objectif est de soit faire gagner 3 actionneurs et 4 capteurs au robot principal, soit de piloter le robot secondaire à partir du robot principal ("Va protéger tel lieu." ...)

Si vous avez des questions particulières, n'hésitez surtout pas !

Klean

lundi 4 juin 2012

Quoi de prévu pour 2013 ?

Le thème d'Eurobot 2013, et donc de la coupe de France et des Trophées 2013, sera "Happy Birthday" pour le vingtième anniversaire de cette mythique coupe de robotique !

Pour l'instant rien n'a filtré hormis le titre, il est donc très difficile de prévoir quelque chose pour l'année prochaine.

Cependant, en attendant le règlement, qui devrait paraitre fin septembre début octobre, il est toujours possible d'améliorer les basiques de tout robot : le déplacement, l'évitement et l'Intelligence Artificielle qui permettrait au robot de réagir à tout imprévu ! En complément, suivant la difficulté du thème 2013, j'essaierais certainement le module de communication bluetooth afin de faire échanger deux briques NXT entre elles.
Pour avoir plus de capteurs et actionneurs ou pour faire communiquer deux robots ? La réponse après la parution du reglement ! En attendant : Vacances robotique !

à 1min40 : pilotage via bluetooth entre deux briques NXT

dimanche 20 mai 2012

Remerciements

J'ai beaucoup de personnes à remercier !

Vis à vis du temps passer sur ce projet, je tiens à remercier très chaleureusement ma femme pour tous les moments où j'étais sur mon robot plutôt que sur d'autres choses plus 'utiles', pour tous le soutien apporter quand ça ne marchait pas et pour la surprise des huitièmes de finale !

Vis à vis de mon classement (6ème), je n'aurais jamais pu l'atteindre si Ali Baba et l'équipe de primaires de Chaufour Notre Dame ne m'avait pas prêter une 'brique', quelques moteurs et capteurs. Mon robot secondaire, il est à vous, et ça a été 20 pts sur 5 matchs grâce aux bouteilles mais 20 pts de victoire aussi grâce à la diffèrence de points ! Sans ces 40 pts, oLeg n'aurait jamais pas été 6 ème !

Vis à vis de la préparation à la coupe, je remercie l'ENSIM du MANS pour tous les essais réalisés sur leur table de jeu, pour l'ambiance à la coupe et pour votre aide à la mise en place des robots sur les matchs.

Vis à vis du déroulement des matchs, je remercie pour leur fair-play et pour les échanges chaleureux les équipes (dans le désordre) :
- Sudriabotik
- ENSSAT Robotique
- ARD
- Club ECAM
- [Kro]Bot Jr

Vis à vis des échanges sympas avec les stands d'à côté, je remercie :
- INSA Strasbourg , 21ème c'est un très bon classement !
- INSA Toulouse , vous méritiez d'être dans les 16 mais il faudra moins de bugs !
- ENSIMELEC , on aurait voulu être à côté qu'on aurait pas réussi à le faire !

Merci pour les échanges techniques et la découverte de superbes robots :
- ARD : J'adore le look et je vous souhaite de faire tout ce que vous voulez faire !
- SPACE CRACKERS : Je suis un grand fan de votre robot, surtout de la mécanique du principal !
- INSA Toulouse : Je suis déçu pour vous, vous auriez pu faire beaucoup beaucoup mieux, ce sera pour l'année prochaine ;-) !
- SMART : Votre système d'évitement est génial !
- Poivron : Bon, je ferais pas un robot en bois mais je suis très content d'avoir contribué à ce que vous gagniez 5 pts en plus ;-) !
- Cubot : Parce que, quand même, vous avez failli ne jamais faire rentrer vos robots !

Et enfin un grand et très très gros merci à tous ceux qui sont venus me soutenir avant les phases finales et tout au long de la compétition !

Bilan 2012 d'oLeg

Rappel des Objectifs d'Oleg pour 2012 :- Efficacité :
J'envisage de faire qu'Oleg soit un robot efficace par rapport à son coût, au nombre de membres dans l'équipe, et bien entendu par rapport au nombre de points marqués ! Le but principal est de montrer qu'on peut faire quelque chose d'efficace avec 'peu' !
- Pédagogique :
Je ne sais pas encore comment rendre mon projet pédagogique mais dans l'idée je voudrais réussir à transmettre :
- cette passion de la robotique aux plus jeunes
- ma méthode de gestion de projet pour que chacun atteigne les objectifs qu'il s'est fixé

Conditions de réalisations d'Oleg :
Pour atteindre ces objectifs, je me suis définis plusieurs critères. Oleg devra au final :
- être le plus aéré et transparent possible : que tout le monde voit ce qu'il se passe dedans
- être le plus simple en terme d'actionneurs et capteurs

Résultat :

- 5 Victoires consécutives dans les phases éliminatoires
- 19 points marqués par match en moyenne (hors point de victoire) avec un mini à 4 points et un maxi à 33 points
- Une 6 ème place à la coupe de France de Robotique !

Tout ça avec 2 robots en base LEGO !

Le principal (OLEG) :
- 4 Capteurs (2 roues codeuses et 2 ultra sons pour l'évitement)
- 3 moteurs (2 roues motrices et 1 pince)
Pour la petite histoire, le programme du robot principal a été changé entre l'homologation et le premier match. Mais du premier match aux huitièmes de finale, ni le programme, ni les piles ( 6 x piles AA ...) n'ont été changé !

Le secondaire (OLAF) :
Les élements capteurs et moteurs ont été 'prêtés' par l'école de Chauffour Notre Dame (72) le 7 mai (à J-9), le secondaire a été terminé d'assemblé le 12 mai (à J-4) et enfin la programmation du secondaire n'a été débutée que le 15 mai (à J-1) !
- 2 Capteurs (1 ultra son pour l'évitement et un capteur de contact pour l'Arrêt d'Urgence et Démarrage)
- 2 Moteurs (Deux rours motrices)
Pour la petite histoire, j'avais prévus une caméra, une boussole et un troisieme moteur pour l'activateur de bouteille, par manque de temps et d'efficacité, je suis resté sur quelque chose de simple mais fiable.


Conclusion :

Cette 19 ème édition de la Coupe de France de Robotique m'a permise d'atteindre mes objectifs, je crois avoir prouvé qu'un robot simple, qui est loin d'avoir coûté 10 000€, qui ne nécessite pas d'expertise particulière peut être efficace et atteindre les phases finales de la coupe de France !
Par cette 19 ème édition, j'ai aussi réalisé un rêve de gosse, être derrière l'écran à attendre que le commentateur vous appelle, entendre les spectacteurs vous applaudire ... C'est tout simplement énorme !
Si vous aussi vous avez peu de moyen mais que vous voulez que ça marche, n'achetez pas forcément des Legos mais allez y petit pas par petit pas, faire rouler votre robot, faites le se reperer et se déplacer jusqu'où vous voulez. Mais ne faites rien d'autres avant tout ça. Quand il se déplacera bien alors là vous pourrez lui donner des bras et peut être qu'un jour vous aussi vous serez sélectionnés aux phases finales de la coupe de France de Robotique !

oLeg en huitième de finale !!

Tout simplement magnifique, un bonheur immense que d'avoir un robot qui fonctionne correctement et me permet d'arriver aussi bien classé. C'était inespéré, je visais une place dans les 30 premiers mais 6 ème c'est dingue !

Voici le classement des 16 premiers à l'issu des 5 matchs de qualifications :
EquipePointsMJVDEF
1erRCVA26355000
2ndClubElek16053101
3èmeSpace Crackers15555000
4èmeTélécom Robotics15355000
5èmeSupaero Robotik Club14855000
6èmeoLeg14555000
7èmeR3EA14254100
8èmeWheelsTeam13253110
9èmeBH Team12654001
10èmeLES DTRAQUES12454010
11èmeRobotnik11954100
12èmeAlpobot11753200
13èmeReims211452300
14èmeEirbot11354100
15èmeINTech11254100
16èmeS.M.A.R.T.10853200

RCVA bien entendu premier avec 100 pts d'avance sur le second. Pas de surprise pour le futur vainqueur ... Pour ma part, je constate que j'aurais pu conserver ma 5ème place si mon secondaire n'était pas tombé en panne puisque je n'ai que 3 points de retard sur Supaéro, école prestigieuse régulèrement très bien placée à la coupe.
Quand je vois le classement, je jubile, voir oLeg juste après Supaéro, devant BH Team (second en 2011), 37 points d'avance sur le super robot de SMART, j'ai vraiment réussi mon pari !


A ce niveau là, je sais que mes robots ne sont pas capables de dépasser les quarts de finales, en tout cas, je n'ai pas envie qu'ils passent au delà car ils ne sont pas aussi impressionnants que d'autres équipes. J'ai fais mes preuves, ce qui compte maintenant c'est le spectacle. Malgré tout, je veux tenter ma chance en 8ème car j'aimerais me faire éliminer à la loyal par Space Crackers, une équipe qui a un robot dont la mécanique est tout simplement géniale !


Mais bon, nous n'en sommes pas là, il me faut battre mes adversaires et il faut que Space Crackers gagne aussi leur match.


Le match éliminatoire des Huitièmes de finale :

J'affronte le robot Robotnik de l'INSA de Rennes. Un robot pas franchement impressionnant mais qui a eut le mérite, comme oLeg, d'être régulier. Leur robot est lent et je met en place une stratégie basique pour les contrer :
- Leur robot s'attaque a une partie de leur totem avant d'activer leurs bouteilles et c'est seulement à la fin qu'ils s'attaquent à la seconde partie de leur totem. C'est leur point faible, ayant deux robots, j'envoie mon secondaire activer rapidement les deux bouteilles et ensuite je le positionne au milieu du passage. Normalement leur robot voit mon secondaire et soit il s'arrête, soit il fait demi-tour, en tout cas je lui bloque le passage vers sa seconde bouteille. Au pire s'il fait le tour pour l'activer, mon principal sera venu lui prendre les points de son totem j'aurais toujours l'avantage. Mon robot secondaire reste donc au milieu du passage et se retire à la 55 ème seconde, mon robot principal a eut largement le temps d'arriver et de passer à ce moment là vers le totem adverse.

Voilà ma stratégie, simple mais normalement très efficace face à un adversaire qui n'aura comme je le pensais pas modifier son programme. Je suis donc très confiant, l'ambiance est géniale et ma famille est venu me supporter avec banderolle et t-shirts !

Voici le match :

Je ne sais pas ce que vous pensez de ce match mais moi je retiens que :
- L'adversaire est complètement aveugle, il ne voit aucun de mes deux robots et les poussent comme s'ils n'étaient pas là
- Aucun arbitre ne réagit et personne n'active l'arrêt d'urgence de l'adversaire
- Gràce à ça l'adversaire récupère l'autre partie de son totem est a donc plus de points

En théorie après un match comme celui-ci (les robots rentrent fortement en contact) on refait le match et si cela se renouvelle, on vérifie le système d'évitement des deux robots.

Pour ma part, j'ai demandé à rejouer le match et j'ai demandé à l'adversaire de vérifier que son système d'évitement fonctionnait toujours. L'adversaire m'a répondu qu'il n'avait 'pas le temps' de vérifier et après plusieurs demandes auprès des arbitres de refaire le match, la chef des arbitres m'a répondu : 'C'est le dernier match de 8ème, nous n'avons pas le temps de refaire le match.'
Je ne remercie donc pas l'arbitrage sur ce coup d'avoir permis à un robot théoriquement forfait de gagner ainsi en huitième (même si je peux comprendre leur réaction à cause du stress, de la fatigue et de la télé) et je remercie encore moins l'équipe de l'INSA de Rennes pour leur manque total de fair play et pour avoir offert un spectacle aussi naze aux spectateurs !

Quelques essais dans les stands prouveront que leur système d'évitement ne marchait effectivement plus, il ne fonctionnera pas plus au match suivant contre Space Crackers. Fort heureusement, il n'y aura pas eu de casse et Space Crackers me vengera.

Les matchs d'oLeg !!

Voici dans ce post le résumé et les vidéos prises durant les matchs.

1er match :  oLeg  14 - 0 Sudriabotik
Le robot adverse ne démarre pas et je me dis que je vais faire une razia sans adversaire !
Malheureusement le secondaire ne démarre pas, je n'ai jamais compris pourquoi. A la fin du match, j'ai refais le test en coulisse et il a démarré !
Pour le robot principal, il fait bien son match et là je me rend compte que les élèments de jeu 'neuf' ne sont pas les mêmes que lors des essais et des homologations. Ils sont (je trouve) moins élastiques et le robot se bloque dessus pour un rien.
Voici la vidéo du match où le robot se bloque sur une pièce d'un côté du totem (ça n'était jamais arrivé ...) et de l'autre côté c'est la pince qui se bloque sur une autre pièce (ça n'était jamais arrivé ainsi non plus !). Le robot arrive finalement a se débloquer, il rapporte une pièce en plus du lingot, il arrive à aller jusqu'au totem adverse mais les 90 secondes sont déjà écoulées !



Résultat :
1 lingot et 1 pièce blanche : 4 points pour oLeg qui gagne le match et repart avec les 10 pts de la victoire !
oLeg se classe ainsi 47 ème sur les 102 équipes homologuées à ce moment là.


Modifications avant le second match :
- Aucunes modifications sur le robot secondaire, par contre j'enlève les pinces du bas au robot principal pour éviter qu'il se coince à nouveau. Je m'enlève donc la possibilité d'emporter 4 pièces de plus par totem.

2ème match : (27ème) ENSTA Bretagne 5 - 24 oLeg (47ème)
Ce match a du être joué deux fois. La première fois, je gagne le match, l'adversaire marque un lingot puis se bloque. L'équipe adverse déclare simplement à l'arbitre que leur robot ne fera plus rien, l'arbitre appui donc sur l'arrêt d'urgence. A la fin du premier match, nous ne nous comprenons pas avec l'arbitre car il compte déclaré forfait l'équipe de l'ENSTA puisque l'arrêt d'urgence a été activé ! Nous discutons longuement avec l'arbitre et nous décidons de rejouer le match. Je prend un risque puisque l'ENSTA est 27ème mais cela me permettra finalement de marquer 2 points de plus et l'ENSTA récupère ses 5 points. Je gagne en plus un apéro à l'ENSTA pour mon fair play !

Côté oLeg, le robot principal fonctionne bien les deux fois, il vide le totem (14 points) et se retrouve nez à nez avec le robot adverse ensuite. Le robot secondaire fait bien son travail, il va activer les deux bouteilles mais l'arbitre ne les compte pas car les élements ne sont pas 'completement' activer !

Je n'ai pas de vidéo de ce match.

Résultat :
3 lingots et 5 pièces blanches : 14 points pour oLeg qui gagne le match et repart encore avec les 10 pts de la victoire !
oLeg se classe ainsi 27ème sur les 131 équipes homologuées à ce moment là.


Modifications avant le troisième match :
- Aucunes modifications sur le robot principal qui fait bien son travail.
- Je modifie le programme et un peu de mécanique sur le secondaire afin qu'il active 'complètement' les bouteilles. Ce sera une méthode un peu 'bourrin' mais ça marchera.

3ème match : (32ème) Club ECAM 15 - 39 oLeg (27ème)
Je m'attend à un match serré face à un adversaire qui marque régulièrement ses points. Nous avons échangé avant le match pour connaître leur trajet, je me rend compte que mon secondaire risque de les croiser ou bien d'être sur le passage lorsqu'ils iront activer leur deuxième bouteille. Je modifie donc mon programme à la dernière minute afin que mon robot secondaire s'en aille et retourne vers son bateau après avoir activer la deuxième bouteille.
En réalité le robot va subir une panne après avoir activer leur première bouteille. En reculant contre la bouteille, un câble d'alimentation va se déconnecter ce qui me laissera le champ libre pour le robot principal jusqu'à leur totem ! Pendant ce temps, le robot secondaire revient vers son bateau mais il se décale légèrement et vient activer la seconde bouteille de l'adversaire !

Résultat :
4 lingots, 2 bouteilles et 7 pièces blanches : 29 points pour oLeg qui repart encore avec les 10 pts de la victoire. Et après avoir donné 5 points à l'adversaire, j'ai encore droit à un apéro !
oLeg fait un bond prodigieux dans le classement et se classe 7ème sur 142 équipes homologuées.



Modifications avant le quatrième match :
- Je modifie légèrement le programme du secondaire afin qu'il revienne vers son bateau sans être aussi près de la bordure.

4ème match : (7ème) oLeg 43 - 25 ARD (29ème)
Ce match là est le meilleur match d'oLeg, celui où tout à fonctionner parfaitement et où j'affronte un superbe robot ! ARD à un robot merveilleux qui donnera de très belles choses dans les années à venir, c'est sûr !
A nouveau mon secondaire revient vers son bateau pour laisser de la place à l'adversaire et à nouveau mon principal est plus rapide que l'adversaire et arrive à lui chiper quelques points dans son totem !

Résultat :
L'adversaire marquera 23 points, un bon score ! Mais de mon côté il y avait :
5 lingots, 2 bouteilles et 8 pièces blanches : 33 points pour oLeg qui repart avec les 10 pts de la victoire.
oLeg grapille quelques points et se place désormais 5ème de la coupe de France de robotique ! A l'issu du 4 ème match, oLeg a 32 points d'avance sur le 16ème ! Sauf si mon dernier match est une catastrophe, je devrais être dans les phases finales, un vrai rêve de gosse !

pas de vidéo

Modifications avant le quatrième match :
- Me disant que je suis en phases finales, je décide d'améliorer le programme du robot secondaire car son système d'évitement ne me plait pas et n'est pas digne des phases finales : s'il y a un adversaire devant, il s'arrête et ne fait plus rien. Je décide de l'optimiser afin qu'il pivote sur lui même jusqu'à ce qu'il n'y ait plus rien et qu'il reprenne ensuite sa course. Malheureusement, nous verrons que tout le monde n'a pas le même souhait de ne voir que des matchs 'propres' en phases finales ...

5ème match : (5ème) oLeg 25 - 10 [Kro]bot Jr (56ème)
J'affronte une équipe qui a eut du mal à s'homologuer et qui n'a pu faire le premier match. Je suis un peu déçu de ne pas tomber sur une équipe du haut du classement mais c'est le jeu.
Le principal s'occupe bien de son totem avec ses traditionnels 15 points rapportés dans le bateau. Du côté du secondaire, petite panne technique puisqu'en se recalant, à peine sorti de la zone de départ, le robot a perdu une pile et n'a donc pas pu activer les bouteilles. Le principal n'ira pas jusqu'au totem adverse car il trouvera le robot adverse sur son chemin, les robots chercheront à s'éviter, en vain.

Résultat :
3 lingots et 6 pièces blanches : 15 points pour oLeg qui repart une cinquième et dernière fois avec les 10 points de la victoire. oLeg perd une place, 6 ème tout de même de cette prodigieuse compétition !

Pas de video

Homologations réussies

Ouvertures des portes de la coupe de France le mercredi 16 mai 2012, je passe l'homologation le mercredi soir vers 21h30.

Bilan :
3 lingots : 3 * 3 = 9 pts
10 pièces dont 2 noires = 8 * 1 = 8 pts
0 bouteilles : 0 pts

Concernant les bouteilles, les personnes qui ont fabriqués les tables ont positionnés un element décoratif au dessus de l'element qu'il faut pousser. Le robot principal, qui vient en contact contre ces element, ne pouvait pas activer completement les bouteilles à cause de l'element décoratif au dessus. Je décide donc de modifier ma stratégie : mon robot principal ne s'occupera que des totems et mon robot secondaire ne s'occupera que des bouteilles.

Remarques des arbitres :
- Le système d'évitement fonctionne, par contre, lorsqu'il y a un adversaire devant mon robot recule. Le problème est que si l'adversaire continue d'avancer, le mien continue de reculer et risque de ne pas éviter un robot qui se trouverait derrière.
La demande des arbitres est donc de programmer un évitement devant/derrière : lorsqu'il y a quelque chose devant, je recule mais s'il y a quelque chose devant et derrière, je m'arrête.

Travail à faire suite aux homologations :
- Modifier mécaniquement le robot secondaire pour qu'il puisse activer les bouteilles
- Modifier le programme des deux robots pour l'évitement.
- Modifier le programme des deux robots pour ma nouvelle stratégie

Tout ce travail a été réalisé dans la nuit (blanche ...) et j'ai pu valider mon homologation dès le lendemain matin, avant les premiers matchs.

mercredi 16 mai 2012

La coupe c'est aujourd'hui !

Déjà ?!
C'est ce que beaucoup d'équipes se disent le jour de l'ouverture de la coupe de France de Robotique.
Et moi aussi !

Hormis l'organisation et la liste des choses à emporter, aujourd'hui commenceront les homologations. Et je ne suis pas encore tout à fait près pour cette étape. Le robot principal est très fonctionnel, il y a un programme pour chaque côté (rouge ou violet) de la table donc lui ne m'inquiète pas vraiment. Par contre le secondaire ne se déplace toujours pas ! Depuis mon dernier message où je vous l'ai présenté, je n'ai pas retravaillé dessus et pour être homologué, il doit sortir de la zone de départ, éviter un adversaire et s'arrêter soit par Arrêt d'urgence soit au bout de 90 secondes. J'ai donc encore du boulot avant que le secondaire marque ses propres points ...

Pour tous ceux qui souhaitent passer à la Ferté Bernard, voici le planning. Pour info, il y aura aussi les équipes étrangères car la finale européenne se déroulera dimanche après midi ! Du très beau spectacle en perspective !

lundi 14 mai 2012

Présentation d'OLAF

Lundi 07 mai dernier, Ali Baba me prêtait quelques elements LEGO afin de réaliser mon robot secondaire : OLAF.
Après un petit peu plus de 12 heures de travail, dont 2 heures de montage uniquement en LEGO, l'usinage et l'assemblage d'OLAF sont terminés ! (Hors futures améliorations bien sûr)

OLEG (à gauche) et OLAF (à droite)

Vue de Face

Vue de Dos
Vue de Côté














OLAF a deux roues motrices mais pas de roues folles. Pour se repérer sur le terrain, OLAF a à sa disposition une NXTCAM, une caméra qui devrait lui permettre de suivre la ligne noire vers la première bouteille. Ensuite nous verrons bien ce qu'il sera capable de faire mais techniquement, s'il repère les objets, il pourra soit avaler les pièces tout en avançant, soit activer le troisième actionneur à l'arrière pour les lingots. Pour éviter l'adversaire, un capteur ultra-son est disposé à l'avant, à 8 cm du sol, ce qui lui permettra de détecter le plus petit adversaire ! Un capteur de contact, sur le dessus, permettra de démarrer (jack) et arrêter (Arrêt d'Urgence) le robot.
 

 
Attrape lingot à l'arrière du robot

lundi 7 mai 2012

Mais qui est Ali Baba ?

Ali Baba, voilà comment j'appelle la personne qui encadre les enfants de l'école primaire de Chaufour Notre Dame ! Ali Baba, c'est celui qui a eut la merveilleuse idée, il y a 3 ans, de faire concourir ses élèves à la coupe de France de Robotique. Idée farfelue selon certains puisque des enfants ne peuvent rivaliser avec des étudiants des plus grandes écoles d'ingénieurs. Effectivement, ces enfants ne concourent pas pour les phases finales mais une homologation est déjà une très grande victoire pour eux !

Leur robot est des plus simples, il est fabriqué à partir d'un kit lego Mindstorms et ils conçoivent seuls (oui oui, seuls !) toute sa structure ainsi que le programme. Le comportement du robot est donc très très simple. C'est ce qui fait la beauté de l'évènement Eurobot puisque chacun vient pour apprendre et découvrir. Les jeunes élèves viennent découvrir toutes les possibilités technologiques et certains élèves étudiants apprennent l'humilité lorsqu'ils perdent face à un tout petit robot fabriqué par des primaires ...

Préparation du robot avant un match lors de la coupe de France 2011

Bienvenue chez Ali Baba ...

... Et les 40 primaires !

Hé oui, ce soir j'avais rendez vous avec l'équipe de l'école primaire de Chaufour Notre Dame (72) pour 'emprunter quelques elements lego' afin de concevoir OLAF, le robot secondaire.

Quelle ne fut pas ma surprise lorsque, alors que je m'attendais à 'récupérer les restes', je suis finalement tombé véritablement dans la caverne d'Ali Baba !! Voyez plutôt :

1 Brique NXT, 3 Servomoteurs, 2 Ultra Son, 2 Capteurs de contact, 1 capteur luminosité, 2 vérins linéaires (50 mm et 100 mm) et les câbles ! Il reste une certaine 'surprise', trop compliquée pour des primaires donc disponible ! Et puisque c'est une surprise, vous ne saurez ce que c'est qu'une fois que le robot fonctionnera avec !

C'est tout simplement trop puisqu'il n'y a que 4 ports pour les capteurs et 3 pour les actionneurs. Mais tout de même, là où je pensais devoir faire preuve d'ingéniosité avec peu de moyen, je me retrouve avec l'effet inverse : J'ai trop de possibilités ! Allez, gardons la tête froide et finissons déjà ce robot principal !

samedi 5 mai 2012

Journée d'essai du 05/05 à l'Ensim

De 10h à 17h non stop de robotique, de quoi se mettre dans le rythme de la coupe qui approche à grand pas !

A noter aujourd'hui :
- Amélioration (mécanique et programmation) du fonctionnement de la pince
- Validation du déplacement en marche avant et arrière
- Validation du pousse pousse pièce (un seul blocage à cause d'une pièce sur plus d'une 30aine d'essai)

En fin d'après midi, un programme permettait au robot de marquer jusqu'à 28 pts ! Dans ce programme, le robot s'attaque au totem puis à la première bouteille avant de retourner sur l'autre face du totem avant enfin de tenter d'activer la seconde bouteille. Cette dernière action et la suite a été programmé très rapidement sans corrections, je n'ai donc pas de vidéo où le robot marque 28 pts mais actuellement, sans adversaire, OLEG marque environ 20 pts en environ 60 secondes ! Ci-dessous, le robot marque 22 points.

Je tiens à remercier particulièrement l'équipe de l'ENSIM sans qui je n'aurais pas pu tester OLEG dans d'aussi bonnes conditions. Le rendez vous est donné à nouveau samedi prochain pour la programmation des 30 dernières secondes (mais que va - t - il faire ?!).

mercredi 2 mai 2012

Combien de temps faut il pour faire un robot ?

Il n'y a pas plus tard qu'aujourd'hui on m'a demandé : "Combien de temps il t'a fallut pour faire ton robot ?"

Quelque soit le projet de robotique, quelque soit les robots que nous verrons à la coupe de robotique, il faut du temps et de l'argent pour mettre en forme notre créativité. Autant sur le côté financier nous faisons tous attention à notre budget (et c'est tant mieux !), autant nous ne savons pas toujours dire combien de temps nous avons passé à faire nos robots ... Personnellement, pour faire OLEG le robot principal, j'ai du travailler au moins 300 heures ! Et pourtant il n'est toujours pas fini, en même temps ce n'est jamais fini tant que nous n'avons pas exploité à 100% les capacités de nos machines.

Mais alors combien de temps faut-il pour faire un robot, combien de temps faut-il pour fabriquer un robot homologable ?

A l'heure actuelle je n'ai pas de réponse exacte, il faudrait savoir combien de temps auront mis chaque équipe pour rendre homologable leur robot. Pour ma part, à partir de lundi prochain je pourrais mettre à zéro le compteur du robot secondaire. En effet, une autre équipe de sarthe a accepté de me prêter des elements LEGO Mindstorms pour réaliser mon robot secondaire ! Je redigerais prochainement un message sur cette équipe sarthoise, certainement l'une des plus jeunes du concours. Je ne sais pas encore quels elements vont m'être prêtés et donc je ne peux pas encore commencer à faire le moindre schemas technique !

Ce qui m'amène à vous présenter par avance, les deux vikings Oleg (robot principal) et Olaf (robot secondaire) qui tenteront de dérober tout l'or de l'île cacahuète !

 Oleg :
Jeune et peu armé, c'est sa taille et son agilité qui lui permetteront de s'échapper avec son butin !

Olaf :
Seul viking à s'être porté volontaire avec Oleg pour cette périlleuse expédition, il ne sait pas lui même ce qu'il peut faire mais il veut bien le faire !

vendredi 27 avril 2012

Oleg passe à la télé !

Ce jeudi 26 avril 2012 avait lieu la présentation du robot de l'ENSIM à l'ENSIM même. En contact avec cette équipe depuis novembre, je me suis permis de passer les voir avec Oleg afin de faire quelques essais sur table grandeur nature. Ce fut l'occasion d'échanger sur la fabrication d'un robot en Lego puisque leur robot secondaire est un robot à base Lego !


Cet échange m'a permis de valider qu'au minimum Oleg sait marquer 8 pts en poussant le lingot puis la premiere bouteille. C'est tout ce que j'avais programmé pour cet échange mais Oleg a pu faire ce parcours à chaque fois en 14 secondes ce qui lui laissera encore 76 secondes pour atteindre les 20 pts que je vise pour objectif ! En tout cas il y a un point très clair c'est qu'une fois les batteries rechargées, le robot va plus vite et est beaucoup plus précis !

Du côté de l'ENSIM, leur robot principal est un robot volontairement simple où l'objectif était de réaliser une base roulante qui sera réutilisable les années suivantes. Pour le moment c'est très réussi. J'ai particulièrement aimé leur programmation sous téléphone androïd et les quelques pièces blanches réalisées à l'imprimante 3D !
Leur robot secondaire est un robot Lego qui a actuellement pour objectif de pousser les bouteilles. L'Ensim rencontre les mêmes difficultées que celles que j'avais rencontré avec la mécanique et la programmation Lego, j'ai pu leur expliquer les solutions que j'avais trouvé et celles que j'avais mis en place sur Oleg.

Nous nous reverrons le samedi 5 mai au même endroit, j'espère que d'ici là la pince sera terminée !

dimanche 22 avril 2012

Eviter les recifs (ou n'importe quel autre objet)

Il y a quelques semaines, j'avais posté un message concernant le fait de détecter et d'éviter l'adversaire, depuis le robot a beaucoup évolué mais le programme reste bien fonctionnel. Ainsi actuellement le robot arrête d'avancer  lorsqu'il détecte un objet devant lui (ou recule s'il est trop près) à partir du capteur ultra son.

Cet équipement est obligatoire pour l'homologation et reste très pratique pour éviter les chocs entre robots. Cependant tout équipement similaire ne permet pas de détecter à coup sûr tout robot adverse ou tout objet en travers du chemin. De plus cette année, il y a des elements de jeu (les pièces en l'occurence) qui risquent de poser problème à beaucoup d'équipes. Comme vous pouvez le constater sur la vidéo ci-dessous (Précoupe du Trégor) la loi de Murphy nous rappelle que chaque pièce est un piège, l'épaisseur de 1mm et la forme circulaire fait qu'il peuvent se coincer à peu près partout : sous le robot, entre le robot et le totem ou n'importe quel autre objet...

Vidéo de la précoupe du Trégor (31 mars 2012)

Le risque principal est donc que le robot continue d'avancer alors qu'une pièce l'en empêche. Il faut donc que le robot se rende compte qu'il n'avance plus avant de pouvoir réagir. Dans mon cas, la présence de roues codeuses, indépendantes des roues motrices, me permet de capter cela : lorsque les roues codeuses ne tournent plus (ou tournent en sens inverse) alors que la consigne est d'avancer, le robot doit reculer un peu avant de reprendre son déplacement. Bien entendu cela ne veut pas dire que la pièce se décoincera toute seule mais c'est un début !
Evitement de deux objets

dimanche 15 avril 2012

Pince pour les objets dans les totems

Voici la pince qui sera positionnée à l'arrière du robot principal.
Cette pince a pour rôle d'attraper le lingot du premier étage et les deux pièces au dessus.


Pince totalement ouverte :
Les bras sont à l'interieur du robot

Pince semi-ouverte :
Les bras sont à 90° du cap du robot

Pince fermée :
Les bras sont refermés sur les objets

L'ensemble des mouvements est piloté par un seul servo-moteur, le dernier disponible puisque les deux autres actionneurs sont les moteurs pour le déplacement.
Cette assemblage s'intègre à l'arrière du robot comme sur la photo ci-dessous.

Integration de la pince sur la face arrière du robot


Parmis les prototypes de pince que j'avais conçu il y a quelques semaines, j'avais réalisé une pince qui pouvait, en plus du lingot et des deux pièces du dessus, prendre les deux pièces au bas du totem. Après plusieurs simulations de trajets / stratégie, j'ai décidé de laisser vide la partie située sous la pince à l'arrière du robot.  Cela diminuera grandement la (mal)chance qu'une pièce empêche au robot de se plaquer contre le totem et cela pourrait même, en marche arrière, récupérer les pièces et lingots posés au sol !

Avant cela, il va falloir encore quelques heures de travail avant que cela soit intégrer mécaniquement et que cela fonctionne ...

jeudi 12 avril 2012

" ... ça roule ! "

Oui ça roule ! Et ça roule bien même !

Après avoir remis à jour tous les programmes suite à la mise à jour du firmware,
Après avoir modifier la mécanique du module déplacement,
Je me suis rendu compte que le robot se décalait au fur et à mesure de ces déplacements.

Pourtant le robot avait constament un bon cap et en ligne droite il parcourait toujours la bonne distance.

Finalement, après maintes essais, je me suis rendu compte que l'entraxe des roues folles ne correspondait pas à l'entraxe des roues motrices.
Je vous passe tous les essais et calculs effectués mais désormais le robot me communiquera la position du centre des roues motrices. Encore mieux lorsque je demanderais au robot de se déplacer jusqu'à une cible, c'est bien l'entraxe des roues motrices qui atteindra la cible !

Sans plus attendre voici une petite vidéo des performances du robot en terme de déplacement :
- 1 mètre parcouru en 3,7 secondes
- s'approche à moins de 10 mm de la cible avant de passer à la suivante
- erreur de moins de 5 mm au bout de 5 m parcourus

Prochaine phase :
- Montage mécanique de la pince
- Evitement total de l'obstacle

vendredi 30 mars 2012

"De la place pour deux ..."

Ce qu'il y a de bien lorsque l'on choisit de faire un robot simple, c'est qu'il y a de la place et qu'en cas de besoin, il est très facile de faire des modifications !

Dans mon cas, après une mise à jour des programmes de base (déplacement, système d'évitement, ...) et quelques essais de comportement, je me suis rendu compte que le module de déplacement et les roues folles comportaient quelques anomalies mécaniques.
Dans certaines situations, la roue folle n'était plus en contact avec la table ou bien se désolidarisait du capteur de rotation. J'ai donc du apporter quelques modifications à cette ensemble 'déplacement' qui est, d'experience, toujours l'élèment essentiel :
- Si le robot ne se déplace pas, il est forfait et non homologué
- S'il se déplace, il peut au pire vous homologuer, au mieux rapporter 80% de vos points


De plus nous avons la possibilité d'avoir un robot secondaire, et à mon avis, les chances de victoire (10 pts de plus !) sont bien plus grandes si vous possedez ce deuxième robot, même s'il ne sait que se déplacer ! Personnellement je n'ai pas (encore ?) de robot secondaire, et à un peu moins de 2 mois de la coupe de France, je suis franchement satisfait d'avoir choisi de réaliser un projet simple.
D'une part parce que si je réalise un second robot, je n'aurais quasiment pas à me soucier des contraintes techniques (dimensions, découpage, montage, déboguage,  ...), et d'autre part parce que les enseignements du premier robot me permettront de réaliser ce second robot 'bon du premier coup' en terme de mécanique de déplacement et en terme de programmation. Enfin bon, nous n'en sommes pas encore là car tout ce que j'ai pour faire un second robot c'est une plaque de polycarbonate transparente et des outils ...

dimanche 11 mars 2012

Prêt à se mouvoir !

Deux mois que je n'ai pas posté de messages sur ce blog !
Il faut avouer que je travaille dans un cabanon de 5m² non isolé et qu'avec les températures des dernières semaines, j'ai préféré rester au chaud !

Donc maintenant que le soleil est revenu, je m'y suis remis aussi ! Voici donc quelques photos du robot qui en l'état actuel :
- se déplace du point A au point B
- s'arrête et/ou recule lorsqu'il détecte un obstacle
- s'arrête complètement après 90sec
- s'arrête après appuis sur l'arrêt d'urgence
Bref,  il y a encore du travail pour l'actionneur principal qui n'est qu'à l'état de prototype mais le robot est déjà homologuable et  tous les concurrents n'en sont pas encore là ...





lundi 9 janvier 2012

Avancement du robot

Petite photo pour vous montrer l'avancement du robot Principal.
Voici la boîte qui contiendra toute la mécanique ! Elle est faite de plaques de polycarbonate transparente de 8 mm d'épaisseur.

Les dimensions sont :
21 cm de largeur
20 cm de longueur
23 cm de hauteur
C'est à quelque chose près les dimensions maximales du 'petit' robot ...

A bientôt pour le montage de la partie déplacement !

dimanche 8 janvier 2012

Upgrade : du NXT 1.0 à 2.0

Comment faire passer sa brique 1.0 à l'état de brique 2.0 ?
Ou l'art de se faire une bonne petite frayeur ...

Télécharger (légalement) et installer le logiciel NXT 2.0 :
Pour ceux qui comme moi possed(ai)ent la brique blanche 1.0 et le logiciel 1.0 qui allait avec, ou pour ceux qui ont perdu le cd d'installation, vous pouvez vous rendre sur cette page LEGO et télécharger une copie du CD d'installation du logiciel LEGO 2.0. Il est conseillé de désinstaller la version 1.0 avant l'installation de la 2.0.

Vous pourrez réutiliser vos anciens blocs et anciens programmes sans difficultées et vous observerez que ça bug beaucoup moins (surtout si vous êtes sous Seven ou Vista), ça va même plus vite.
Il y a de plus quelques petites choses en plus :
- Bloc capteur de couleur : puisque le nouveau capteur est un capteur de couleur et non un capteur photosensible
- Bloc communication BlueTooth : pour communiquer sans passer par les parametres de la brique
- Un éditeur de son et un éditeur d'image dans les outils pour pouvoir dire Bonjour en affichant votre bouille sur l'écran
- Bloc Constante : Enregistrez une constante qui restera dans la base globale du NXT, qui ne changera jamais (PI par exemple)
- Virgule Flottante : Rien que pour ça il faut passer en version 2.0, surtout si vous faites de l'odométrie ...
Même si le mieu c'est d'essayer par soit même, vous pouvez voir ici ( Détail complet ici ) le détail complet du set NXT 2.0 et de ce qu'il y a dedans.

Installer le microprogramme (Firmware) dans la brique :
Etape fondamentale si vous voulez que votre brique fonctionne avec le logiciel 2.0, mais c'est une étape qui peut faire flipper si un certain problème arrive ... qui m'est arrivé et ça se résoud, je vous rassure.
Pour installer ce microprogramme, il faut aller dans Outils / Mettre à jour le microprogramme du NXT.
Vous pourrez voir la liste des Firmwares que vous avez.
La 1.28 est celle du 1.0 (pour mon cas) et la 1.31 celle du 2.0. Mais au départ je ne l'ai pas la 1.31, il faut donc aller la chercher,
- soit en cliquant sur 'Vérifier' la mise à jour dans Outils / Mettre à jour le microprogramme,
- soit en allant directement sur le site LEGO/Mindstorms/Support/Files/Firmware et en téléchargeant la dernière version de Firmware.
Une fois que vous avez cette dernière version, vous connectez et allumez la brique à votre PC (par USB uniquement), vous réouvrez Outils / Mettre à jour le microprogramme,
vous sélectionnez Firmware V1.31 (ou plus récent)
et vous cliquez sur Télécharger.

A ce moment là, soit ça marche et dans ce cas les cases au dessous s'allument au fur et à mesure jusqu'à réussite. Soit (comme ça m'est arrivé) il ne se passe rien et la brique se coupe. Et vous commencerez à flipper quand vous entendrez un petit "clic ... clic ... clic ..." régulier provenir de la brique !!
Pas d'inquiétude ! C'est juste que la brique à perdu son firmware avant d'installer le nouveau. Il faut faire un reset de la brique pendant quelques secondes (jusqu'à entendre un petit clic) et recommencer l'installation du firmware, même si la brique est coupée. Je vous rappelle que le reset ne se situe pas sous les piles (même s'il y a un petit bouton) mais dans le trou juste sous le connecteur USB ! (Je me suis fais avoir, ce qui ne calme pas le gros coup de stress ...).

Si le logiciel vous affiche qu'il ne retrouve pas la brique, c'est soit que vous n'avez pas appuyez sur le bon bouton reset, soit que vous n'avez pas le bon driver USB. Dans ce cas, et même si ça marche, vous pouvez installer le dernier driver (pour ma part Fantom Driver). Personnellement, dès que j'ai trouvé le bon bouton reset cela à fonctionner direct. J'avais au préalable déjà installé le driver.

Installer le dernier Driver USB pour la brique :
Rendez vous sur le service support LEGO : LEGO/Mindstorms/Support/Files/Driver , télécharger le dernier driver puis installer le.
Voilà ça marche, il n'y a plus qu'à réouvrir vos anciens programmes et faire les modifs qui vous intéressent afin que vos créations soient plus performantes !

lundi 2 janvier 2012

Bonne Année 2012 !

Nous vous souhaitons une très bonne année 2012 !

Avec en exclusivité le robot RCVA 2012 !!