Rapport final

2 310 vues

Publié le

Rapport final du groupe 11.76 BAC 1 UCL

Publié dans : Carrière
0 commentaire
0 j’aime
Statistiques
Remarques
  • Soyez le premier à commenter

  • Soyez le premier à aimer ceci

Aucun téléchargement
Vues
Nombre de vues
2 310
Sur SlideShare
0
Issues des intégrations
0
Intégrations
4
Actions
Partages
0
Téléchargements
27
Commentaires
0
J’aime
0
Intégrations 0
Aucune incorporation

Aucune remarque pour cette diapositive

Rapport final

  1. 1. Groupe 1176 Afsar Aris Arnould Julien Berrada Yassine Bian Yu Borges de Almeida Ivo Rui Bondroit Jérôme Delacroix Arnold Gier David Mortier Denis Rapport de projetLe projet expliqué à travers ce rapport est la consécration de mois de travail sur un robotchargé de jouer au basket de façon autonome. L’historique du développement du “Michael Mouse" depuis les premières semaines d’apprentissage jusqu’au concours en passant par la construction de la maquette et l’écriture du code y sera détaillé avec soin. Notre solution, que nous avons imaginée durant ces trois derniers mois, est caractérisée parl’efficacité de ses compétences. Tout cela dans le but d’aboutir à une solution mesurée etcompétitive. Le groupe 1176 est fier et honoré de vous présenter le fruit de son travail, le “Michael Mouse" qui, nous l’espérons, vous plaira autant que nous. Avec lui, plus de stress. Complètement autonome, il vous fera gagner tous vos paris de match de robot-basket ! Année académique 2012 - 2013 Professeur : Raucent Benoît 5 décembre 2012 Tuteur : Bollen Xavier FSAB 1501 - Projet
  2. 2. Groupe 1176 Décembre 2012Table des matières1 Introduction 32 L’engin final 4 2.1 Dimensionnement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 2.2 Dessin 2D . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 2.3 Fiche technique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 2.4 Comparaison des trois engins . . . . . . . . . . . . . . . . . . . . . . . . . . 93 L’engin final 104 Aspects techniques du robot 10 4.1 Motorisation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 4.1.1 Courbe caractéristique d’un moteur . . . . . . . . . . . . . . . . . . 10 4.1.2 Estimation de la vitesse du prototype LEGO® . . . . . . . . . . . . 11 4.1.3 Autonomie du prototype LEGO® . . . . . . . . . . . . . . . . . . . . 15 4.2 Cinématique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 4.2.1 Trajectoire rectiligne . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 4.2.2 Trajectoire curviligne . . . . . . . . . . . . . . . . . . . . . . . . . . 17 4.2.3 Changement de trajectoire . . . . . . . . . . . . . . . . . . . . . . . . 18 4.2.4 Etude balistique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 4.3 Statique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 4.3.1 Concetion de l’engin . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 4.3.2 Plan horizontal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 4.3.3 Plan incliné . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 4.4 Informatique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 285 Le bilan du travail de groupe et les bilans individuels 37 5.1 Bilan individuel : Afsar Aris . . . . . . . . . . . . . . . . . . . . . . . . . . 38 5.2 Bilan individuel : Arnould Julien . . . . . . . . . . . . . . . . . . . . . . . . 39 5.3 Bilan individuel : Berrada Yassine . . . . . . . . . . . . . . . . . . . . . . . 39 5.4 Bilan individuel : Bian Yu Borge de Almeida Ivo Rui . . . . . . . . . . . . . 39 5.5 Bilan individuel : Bondroit Jérome . . . . . . . . . . . . . . . . . . . . . . . 40 5.6 Bilan individuel : Delacroix Harold . . . . . . . . . . . . . . . . . . . . . . . 40 5.7 Bilan individuel : Gier David . . . . . . . . . . . . . . . . . . . . . . . . . . 41 5.8 Bilan individuel : Mortier Denis . . . . . . . . . . . . . . . . . . . . . . . . . 426 Conclusion 42Bibliographie 447 Annexes 45 7.1 Cahier des charges . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 7.1.1 Choix des fonctions . . . . . . . . . . . . . . . . . . . . . . . . . . . 47 7.2 Fiche technique de l’engin réel . . . . . . . . . . . . . . . . . . . . . . . . . . 50 7.3 Descpription de la solution présentée durant l’avant-projet . . . . . . . . . . 52 7.4 Programme Java . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55 7.5 Évaluation du travail de groupe . . . . . . . . . . . . . . . . . . . . . . . . . 69 7.5.1 Bilan S6 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92FSAB 1501 - Projet 1 Rapport final
  3. 3. Groupe 1176 Décembre 2012 7.5.2 Bilan S12 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95 7.6 Pourquoi travailler en groupe ? . . . . . . . . . . . . . . . . . . . . . . . . . 98 7.7 Grilles des inducateurs du groupe . . . . . . . . . . . . . . . . . . . . . . . . 99 7.8 Estimation du prix . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101 7.9 Règlement du concours . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101 Planning . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106 7.10 Spécification technique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106FSAB 1501 - Projet 2 Rapport final
  4. 4. Groupe 1176 Décembre 20121 Introduction Suite au succès rencontré par les jeux paralympiques de Londres, le CIP (Comitéinternational paralympique) a envisagé d’introduire une nouvelle discipline pour des pa-raplégiques profonds : le robot-basket. C’est dans ce but que le CIP nous a mandatés afinde concevoir et créer un robot capable de jouer au basket. Ceci comprend le fait que lerobot soit capable de se repérer dans l’espace, de détecter son adversaire et la balle, de semouvoir aisément, d’attraper et de lancer la balle... En somme, tout ce qui est nécessaireau robot pour qu’il puisse jouer au basket de façon autonome. Plus précisément, notre robot final, que nous avons nommé “Michael Mouse", exécu-tera les taches suivantes, qui nous sont imposées par le client dans le CDC (cahier descharges). Tout d’abord, il se repérera sur le terrain. Ensuite, il détectera son adversaireainsi que la balle. Une fois la balle localisée, il se placera au-devant afin de la saisir etde tenter de l’envoyer dans le panier. Durant les déplacements, la balle sera située sur unbalcon à l’arrière du robot. Cela laissera la chance à l’équipe adversaire de récupérer laballe en la faisant tomber au moyen d’un choc, ce qui constituera un jeu plus attractif.Au moment du tir, la balle étant toujours située sur le balcon, un mécanisme permettrade rabattre entièrement le balcon afin que la balle puisse retourner à l’intérieur du robot.Puis, suite à une aspiration, la balle sera amenée au canon pour qu’elle puisse être pro-pulsée, on l’espère, jusqu’au panier. Le travail a bien évidemment été réalisé en plusieurs étapes. Tout d’abord nous avonsétabli un cahier de charges qui reprend les fonctionnalités, les performances et les contraintesauxquelles nous devions faire face. Ce cahier est en quelque sorte le lien entre le client etle concepteur, à savoir nous. Une fois les objectifs définis, chaque membre de l’équipe s’estmis à réfléchir à la solution qui lui semblait être la plus efficace et ce, pour chacune desfonctionnalités du robot. Ensuite, chacun exposait ses idées trouvées, puis nous procédionsà une mise en commun afin de retenir la meilleure solution. Après avoir évalué le robotle plus adapté possible, nous l’avons modélisé sous forme d’une maquette afin de se faireune meilleure représentation du robot. En semaine 9, nous avons été lancés sur la conception d’un prototype en LEGO afinde confronter notre solution à la réalité. Ce prototype avait pour objectif d’approfondirnos connaissances en informatique et en physique et de mettre en pratique ce que nousavons imaginé pour notre robot durant les 9 premières semaines. Toutes ces étapes nousont permis de passer d’une simple idée à une solution finale optimisée. Nous avons donc rédigé ce rapport afin que vous puissiez juger le travail que nousavons fourni durant ces 12 semaines pour la conception et la création d’un robot-basket. Tout d’abord nous commencerons par vous décrire notre solution finale dans les moindresdétails. Vous trouverez ensuite les aspects techniques du robot, à savoir : la motorisation,la cinématique, la statique et l’informatique. Après la partie technique, il y aura un largebilan sur le travail de groupe et l’apport individuel de chacun des membres. Nous termi-nerons par une conclusion suivie de la bibliographie et des annexes.FSAB 1501 - Projet 3 Rapport final
  5. 5. Groupe 1176 Décembre 20122 L’engin final2.1 DimensionnementType et quantité de batteries : Avant de calculer le nombre et le type des batteries requises, il est de mise de déter-miner quel moteur sera utilisé. Suite aux calculs pour le rapport de réduction, il était demise de trouver un moteur permettant de satisfaire certains critères, notamment la vitessede sortie du moteur et le couple du moteur. Nous avons donc choisi le moteur Siemens1FT6021-6AK7 250W, 24V, 6.000 tours par minute et un couple de 400 mNm. Un moteurde 250W veut dire 250J utilisées par seconde. Le CDC stipule une autonomie de 15 mi-nutes, donc la batterie devra être capable de tenir durant 900 secondes, c’est-à-dire fournir225.000 Joules ou 62.5Wh par moteur (en supposant que le moteur tourne toujours à fond,situation extrême). De plus le moteur Siemens 1FT6021-6AK7 demande une batterie de24V. D’après ces données il faut trouver une batterie permettant une marge dans l’auto-nomie et capable de fournir le voltage requis et une énergie supérieure à celle demandéepar les 3 moteurs étant donné qu’il y a aussi les capteurs et la turbine qui demandent del’énergie. Sur le site iCampus de l’UCL la batterie qui correspond le mieux à la situationserait la VARTA A23 utilisé deux fois pour être mise en série avec elle-même pour avoir24V qui procurerait 960Wh. Grâce à cette solution, le nombre serait limité à deux batteriesde faible volume par rapport aux autres proposées et il n’y aurait pas de dépenses inutilespour des batteries plus puissantes, tout en dépassant largement l’autonomie stipulée dansle CDC.Rapport de réduction : Étant donné que le match se joue sur un terrain de basket, il est supposé que le terrainest plat et que par conséquent il n’y a pas de pente. – Calcul du couple de la roue : Force de frottements équivalente : 305 kg · 0.4N/kg = 122 N Couple de la roue roue : Force totale · Rayon de la roue = 4.575 Nm 1 2 – Calcul du rapport de réduction : En se basant sur le site officiel du fabricant du moteur Siemens 1FT6021-6AK7 : lecouple du moteur vaut 0.4Nm. En partant de là, le calcul est très simple. Croue Rapport de réduction = = 11.4375 Cmoteur 1. Le couple est divisé par deux car il s’agit d’un couple pour une seule roueFSAB 1501 - Projet 4 Rapport final
  6. 6. Groupe 1176 Décembre 2012Calcul de la vitesse nominale : Pour calculer la vitesse nominale, c’est assez simple. Grâce au rapport de réduction(11.4375) et à la vitesse maximale de sortie du moteur (6000trs/min) il est assez simplede déterminer la vitesse angulaire de la roue et par là la vitesse linéaire nominale du robot(en supposant qu’il n’y a pas de glissement, c’est-à-dire que les roues ne patinent pas). Vitesse angulaire de la roue : 6000 trs/min 1 · = 8.743 trs/sec 60 sec 11.4375 Vitesse linéaire nominale de la roue : ω v= · 2π · r = 8.743 · 0.075 · 2π = 4.12 [m · s−1 ] 2πÉvaluation de la masse du robot final : Pour l’évaluation de la masse du robot, il faut tenir compte du dimensionnement durobot et des matériaux utilisés. Ci-dessous sont les calculs pour trouver la masse du robot.Pour commencer, il faut calculer les différentes masses par matériau. – Volume total d’acier : (masse volumique : 7.800kg/m3 ) Plaque du bas : 100cm x 120cm x 1cm = 12.000cm3Plaque du haut – Trou pour le canon : (100cm x 120cm x 0.5cm)-(25cm x 25cm x 0.5cm)= 5.687,5cm3Ramassette : 25cm x 30cm x 0.5cm = 375cm3Armatures (4x) : 80cm x 2cm x 2cm = 1.280cm3Toit avant (1.5x) : 35cm x 30cm x 2cm = 3.150cm3Total : 22.492,5 cm3 = 175,4415 kg – Volume total de polyméthacrylate de méthyle (plexiglas) : (masse volumique : 1185kg/m3 ) Parois latérales (2x) : 80cm x 120cm x 1cm = 9.600cm3Paroi arrière – balcon : (80cm x 100cm x 1cm) – (25cm x 41cm x 1cm) – (8cm x 25cm x1cm) = 6.775cm3Paroi avant – ouverture couloir : (100cm x 80cm x 1) – (48cm x 25cm x 1cm) = 6.800cm3Balcon : 25cm x 25cm x 1cm = 625cm3Trappes (2x) : 25cm x 25cm x 1cm = 625cm3Contours couloir intérieur (3x) : 95cm x 25cm x 1cm = 2.375cm3Contours cheminée (3x) : 55cm x 25cm x 1cm = 1.375cm3Canon : ((26cm)2 -(25cm)2 ) x π x 80cm = 12.817,698cm3Total : 40992,698cm3 = 48,57634713 kg – Batteries : (masse volumique 2.5kg/dm3 ) 2 batteries de 211mm x 175mm x 190mm = 14.0315dm3 = 35,07875kg – 2 moteurs de 1.2kgFSAB 1501 - Projet 5 Rapport final
  7. 7. Groupe 1176 Décembre 2012 – Turbine + compresseur = 42 kg Masse totale de l’engin = 304.7 kgFSAB 1501 - Projet 6 Rapport final
  8. 8. Groupe 1176 Décembre 20122.2 Dessin 2DFSAB 1501 - Projet 7 Rapport final
  9. 9. Groupe 1176 Décembre 2012FSAB 1501 - Projet 8 Rapport final
  10. 10. Groupe 1176 Décembre 20122.3 Fiche technique Voir annexe 7.2.2.4 Comparaison des trois engins Critère Avant-projet Prototype LEGO Engin final Forme cubique classique, relati- parallélépidède vement compact Nombre de mo- 2 pour les roues, 2 pour les roues et 2 pour les roues, teurs un pour l’ascen- 1 pour la pince 1 pour le canon et seur, un pour les une turbine portes et 3 pour le canon Nombre de roues 2 motrices 1 folle 2 motrices 2 motrices 1 folle Saisie Rampe d’accès au Pince de type Rampe d’accès couloir “Forklift" au couloir avec brosses sur le côté Détection 3 bornes aux Ultrason et cap- 3 bornes aux bords du terrain teur de lumière bords du terrain permettant une permettant une triangularisation triangularisation Autonomie 100% autonome 100% autonome 100% autonome Nous avons forcément été limités par les contraintes du modèle LEGO, ce qui expliquele changement de certains critères, mais la réalisation expérimentale à ses avantages : ellenous a montré diverses failles de certains critères déterminés lors de l’avant-projet qui nousont permis une optimisation de l’engin final.FSAB 1501 - Projet 9 Rapport final
  11. 11. Groupe 1176 Décembre 20123 L’engin final4 Aspects techniques du robot4.1 Motorisation4.1.1 Courbe caractéristique d’un moteur En S5, il a été demandé de réaliser une courbe caractéristique (couple-vitesse angulaire)expérimentalement. Pour ce faire, un moteur électrique a été posé sur une table de hauteurd’un mètre qui suspendait une masse le long d’un fil.Lors de l’expérience, l’intensité, la masse et le voltage ont été varié à plusieurs reprises,pour avoir les courbes que voici avec les données nécessaires :FSAB 1501 - Projet 10 Rapport final
  12. 12. Groupe 1176 Décembre 2012 Une des choses qu’il faut retenir est que chaque moteur détient sa propre courbecaractéristique.4.1.2 Estimation de la vitesse du prototype LEGO® Tout d’abord, voici une liste des différentes pertes possible de rendements liées à dif-férents frottements : – Frottements internes au moteur – Frottements des pneus sur le sol – Frottements de l’air (peut être négligés du à la vitesse faible, n’interviendra donc pas dans les calculs) – Frottements de transmission Voici ce qui est utilisé : Putile = Puissance utile Pabsorbée = puissance absorbée Pméca = puissance mécanique qui sort du moteur Pélec = puissance électrique ηélec = rendement électrique ηméca = rendement mécanique ηtotal = rendement total Une formule générale du rendement s’écrit sous la forme : Putile η= PabsorbéeFSAB 1501 - Projet 11 Rapport final
  13. 13. Groupe 1176 Décembre 2012 Le rendement est toujours inférieur ou égal à 1. Calcul du rendement total : ηtotal = ηméca · ηélec Pméca ηélec = Pélec Cmoteur · ωmoteur = V ·I Putile ηméca = Pméca Croue · ωroue = Cmoteur · ωmoteurFSAB 1501 - Projet 12 Rapport final
  14. 14. Groupe 1176 Décembre 2012 Croue · ωroue ⇒ ηtotal = (4.1) V ·I4.1.2.1 Frottement équivalent Tout d’abord, le frottement équivalent est la somme de tout les frottements présentsur le prototype LEGO, de manière à contrer la force et avancer à vitesse constante. Il faut commencer par peser le prototype de manière à avoir son poids : Masse du robot = 0.813kg Poids du robot = 0.813 · 9.81 = 7.98N Ensuite, il faut trouver expérimentalement l’angle d’inclinaison de la pente à partirduquel le prototype se met à rouler, initialement au repos. Pour trouver cet angle ditcritique, le prototype a été placé sur un sol incliné pour ensuite mesurer l’angle à partirduquel il s’est mit en mouvement. Voici un schéma de l’expérience : Figure 4.1 – Frottement équivalent Ici, αcritique = 9◦ En décomposant les forces selon l’axe des e2 : ˆ Fe2 = −W + Ffr. éq. = 0 ˆ Ffr. éq. = W = m · g · sin α Dans le cas du prototype LEGO : Ffr. éq. = 0.813 · 9.81 sin(9◦ ) = 1.248 [N ]4.1.2.2 Vitesse Il est maintenant possible de déterminer la vitesse linéaire de notre robot. Pour cefaire, il faut procéder par différentes étapes. Tout d’abord, la formule de la vitesse linéaire,en sachant que notre robot se déplace sans glissement : v = ωroue · Rroue Pour pouvoir arriver à cette formule, il faut calculer les différents éléments suivant : Le couple de la roue (Croue ) afin de vaincre les forces de frottements équivalents :FSAB 1501 - Projet 13 Rapport final
  15. 15. Groupe 1176 Décembre 2012 Ff r. éq. · rroue 2 Croue = 2 Ensuite le rapport de réduction, qui est lié au couple de la roue par rapport au coupledu moteur : Croue Rapport de réduction = Cmoteur Dans le cas présent, le rapport de réduction est de 1 car il n’y a aucun engrenage entrele moteur et la roue (VOIR IMAGE PROTYPE LEGO). Après avoir mesuré le rayon de la roue du prototype LEGO® qui vaut 2.75cm, il estpossible de déterminer le couple de la roue : 0.01716 · 0.0275 Croue = = 0.01716 [Nm] 2 Figure 4.2 – Courbes couple-vitesse d’un moteur LEGO® Grâce à la Figure 4.2, donnée dans le livret S9, il en ressort une expression analy-tique du couple en fonction de la vitesse angulaire. Ce graphique permet de connaitre lavitesse pour différents niveaux de commandes même si en réalité il est possible de choisirbeaucoup plus précisément la vitesse dans notre programme Java. Comme il s’agit de droites, il est facile de les représenter sous forme de cette équation : Croue = a · ωroue + b Niveau de commande C(ωmoteur ) ωroue [rad · s−1 ] v [m · s−1 ] 20% −0.02 · ωmoteur + 0.04 1.142 0.031 40% −0.017 · ωmoteur + 0.09 4.28 0.12 60% −0.018 · ωmoteur + 0.015 7.38 0.20 80% −0.019 · ωmoteur + 0.21 10.82 0.297 100% −0.22 · ωmoteur + 0.31 13.31 0.37 2. Le couple est divisé par deux car il s’agit d’un couple pour une seule roueFSAB 1501 - Projet 14 Rapport final
  16. 16. Groupe 1176 Décembre 2012 En pleine puissance, le robot a une vitesse de 0.37 [m · s−1 ].4.1.3 Autonomie du prototype LEGO® En supposant que toute l’énergie disponible dans les piles du RCX est utilisée pourfaire avancer le robot et vaincre les frottements, la distance totale que pourra parcourir lerobot se déplaçant à l’horizontal et à vitesse constante peut se calculer comme suit. Sachant que la batterie du LEGO® est capable de délivrer un courant de 2.2 A avecune tension de 7.4 V pendant une heure lorsque celle-ci est pleinement chargée. Wbatterie = P · ∆t [J] = 7.4 · 2.2 · 1 · 3600[J] = 58608 [J] La distance totale que pourra parcourir le robot peut se trouver grâce aux formules(4.2) et (4.3) : Wroue = Wbatterie · ηtotal = 58608 · 0.35 = 20512.8[J] (4.2) Wroue = Ffr. éq. · ∆x (4.3) La distance que va parcourir le robot est donc de : Wroue 20512.8 ∆x = = = 16436.54 [m] Ffr. éq. 1.248 Et comme : ∆x 16436.54 ∆t = = = 44423.08 [s] v 0.37 Le robot est donc capable de parcourir une distance de 16.44 km et a une autonomiede 12 heures et 20 minutes. Ces résultats restent bien évidemment qu’une approximation. En effet, ici, il est considéré que toute la batterie est utilisée et ce à la même puissanceà tout moment, comme pourrait le montrer la Figure 4.3. Or la réalité est bien loin deça, une batterie commence par se décharger assez lentement pour ensuite avoir un tempsde décharge un peu plus constant et va finir par se décharger très rapidement, comme lemontre la Figure 4.4. Cependant, il est possible de remarquer que la batterie n’est pastotalement déchargée, il lui restera toujours de l’énergie mais cette énergie ne sera pasutilisable. Il y a également d’autres critères qui entrent en jeu, comme par exemple l’ordinateurde bord qui consomme énormément d’énergie, que ce soit en utilisant la pince, le sonar oule capteur lumière. Mais également les outils de mesures utilisé qui étaient peu précis.FSAB 1501 - Projet 15 Rapport final
  17. 17. Groupe 1176 Décembre 2012 Figure 4.3 – Décharge théorique d’une batterie Figure 4.4 – Décharge réelle d’un batterie4.2 Cinématique Pour ordonner au robot d’entamer un chemin rectiligne, ou plutôt de commencer un vi-rage, la vitesse angulaire donnée aux deux roues motrices diffère d’une situation à l’autre.Si par exemple le robot est programmé pour commencer une trajectoire rectiligne, lesvitesses angulaires données aux deux roues doivent être les mêmes. Par contre, si le pro-gramme veut que le robot entame un virage avec un certain rayon de courbure, les vitessesangulaires des deux roues deviennent différentes et doivent être calculées précisément.Voici ce qui sera utilisé lors des calculs : – ωb Vitesse angulaire de la roue B – ωc Vitesse angulaire de la roue C – ωmoteur Vitesse angulaire du moteur – ω Vitesse angulaire du robot lors d’un virage – Vb Vitesse relative du centre de la roue B – Vc Vitesse relative du centre de la roue C – V Vitesse relative du centre de masse du robot – K Rapport de réduction – 2d Distance entre les roues – r Rayon des roues B et C – R Rayon de courbure du virageFSAB 1501 - Projet 16 Rapport final
  18. 18. Groupe 1176 Décembre 20124.2.1 Trajectoire rectiligne Le robot est supposé ne pas glisser. Pour qu’il n’y ait pas de glissement, il faut que lesvitesses des deux points de contacts soient les mêmes. Pour le roulement sans glissement,mathématiquement cela s’écrit ω= V r Figure 4.5 – Chemin rectiligne ωmoteur = Kωb = Kωc ωmoteur ⇒V = r K4.2.2 Trajectoire curviligne Lorsque le robot entame son virage, il est consdéré comme rigide donc l’angle balayépar le robot au niveau de la roue B en un temps donné est égal à celui balayé par le robotau niveau de la roue C par ce même laps de temps. Figure 4.6 – Chemin courbé Vb Vc = R R + 2dFSAB 1501 - Projet 17 Rapport final
  19. 19. Groupe 1176 Décembre 2012De là, Vb et Vc peuvent être trouvé l’un en fonction de l’autre R Vb = Vc R + 2d R + 2d Vc = Vb RTout comme ωb et ωc R ωb = Vc r(R + 2d) R = ωc R + 2d R + 2d ωc = Vb Rr R + 2d = ωb RLes équations disent formellement que la roue intérieure au virage a une vitesse relativeet une vitesse angulaire plus faible que son opposée. Grâce aux équations trouvées, tourner à droite ou à gauche en respectant un certain rayon de courbure devient possible en respectant deux raports : ωb R Gauche : = ωc R + 2d ωb R + 2d Droite : = ωc R⇒ Du moment que le rapport est respecté, peu importe la vitesse du robot pendant levirage, il pourra toujours effectuer le virage décidé.4.2.3 Changement de trajectoire Une fois la cinématique des deux trajectoires étudiée, il faut étudier la réunion desdeux : le moment où le robot va vouloir entamer son virage en venant d’un chemin recti-ligne. Les hypothèses sont les suivantes : il commence une trajectoire en ligne droite à vitesseconstante, puis entame un virage en MCU (mouvement circulaire uniforme).Au point x1 , le point où le robot entame son virage, l’accélération du robot est à la fois 2nulle et à la fois égale à V ⇒ il y a donc une discontinuité de l’accélération au point x1 . R Pour ce qui est de la vitesse relative du robot en ce point, elle vaut à la fois deuxvaleurs, ce qui conduit comme avec l’accélération à une discontinuité de la vitesse en cepoint. Et vu que v(t + ∆t) − v(t) v (t) = lim = a(t), ∆t→0 ∆tCela voudrait dire que v (t1 )=∞ ! Il est donc impossible pour le robot d’entamer un arcde cercle parfait.Voici deux graphiques qui montrent la discontinuité de la vitesse et de l’accélaration enfonction du temps au point du changement de trajectoire.FSAB 1501 - Projet 18 Rapport final
  20. 20. Groupe 1176 Décembre 2012 Figure 4.7 – Vitesse en fonction Figure 4.8 – Accélération en du temps fonction du temps Pour commencer son virage, le robot va donc devoir s’arrêter, se positionner en va-riant les vitesses angulaires de ses roues motrices, et ensuite seulement pouvoir avoir unetrajectoire en arc de cercle.4.2.4 Etude balistique Pour pouvoir propulser une balle avec précision, l’étude balistique est crutiale poursavoir avec présision la trajectoire de la balle au court du temps.Ici, les choses seront simplifiées pour que les solutions analytiques restent accessibles, àsavoir, négliger les forces de frottements et imposer que la balle n’aura aucun spin lors desa trajectoire. Les données : – La balle sera au niveau du sol avant d’être propulsée – L’élastique de la catapulte aura une raideur k – L’angle d’inclinaison aura une inclinaison θ – La hauteur et longueur maximale que la balle atteindra sera hmax et Lmax – La hauteur jusqu’où le contact entre la balle et l’élastique se fera sera h – La masse de la balle sera notée m Les calculs : La trajectoire de la balle sera une trajectoire plan (pas d’air ni de spin pour influencerson mouvement). Alors, deux équations scalaires, l’une en x et l’autre en y, suffiront àmodéliser le mouvement (deux degrés de liberté), x(t) = v0 cos(θ)t gt2 y(t) = v0 sin(θ)t − 2Pour calculer v0 , la vitesse initiale du lancé, le théorème de la conservation d’énergie sembleêtre le plus approprivé. ⇒ K1 + U1él + U1pot = K2 + U2él + U2potDans ce cas-ci, l’énergie stockée dans l’élastique sera transformée en énergie cinétique etFSAB 1501 - Projet 19 Rapport final
  21. 21. Groupe 1176 Décembre 2012potentielle. K1 = 0 kx2 U1él = 2 U1pot = 0 mv0 2 K2 = 2 U2él = 0 U2pot = mgh kx2 mv02 ⇒ = + mgh 2 2 kx2 v0 = − 2gh mUne fois v0 trouvé, il peut être remplacé dans les équations de la balistique afin de trouverhmax et Lmax . kx2 gt2 − 2gh · sin(θ)t − = 0 m 2 2 kx2 ⇒ t1 = 0 et t2 = g m − 2gh · sin(θ), t2 sera gardé.Pour trouver ymax , il suffit d’égaler la dérivée de y(t) à 0 pour avoir le temps que la balleprendra pour atteindre sa hauteur maximale, et ensuite remplacer t par ce nouveau tempst3 . 2 ( kx − 2gh) sin(2θ) m Lmax = g kx2 m − 2gh sin2 (θ) hmax = 2FSAB 1501 - Projet 20 Rapport final
  22. 22. Groupe 1176 Décembre 20124.3 Statique Pour pouvoir programmer le robot afin qu’il puisse se diriger seul, éviter des obstacleset accomplir un certain nombre de tâches, il est important de connaitre toutes les forcesqui s’appliquent sur ce dernier dans plusieurs situations.Voici les données qui seront utilisées lors des calculs : – Na Réaction du sol sur la roue A – Nb Réaction du sol sur la roue B – Nc Réaction du sol sur la roue C – ff Forces de frottements du sol aux points d’application des roues – µs Coefficient de frottement statique – m Masse du robot – g Constante gravitationnelle de la Terre – e e e (ˆ1 ,ˆ2 ,ˆ3 ) Base orthonormée sur laquelle s’appuiera les calcules Pour être en équilibre, ces conditions-ci doivent être satisfaites : la somme de toutesles forces et moments de forces qui s’appliquent au robot doivent être nulles. Autrementdit : Fi = 0 i τi = 0 i4.3.1 Concetion de l’engin Afin d’effectuer au mieux les calculs, il faut tout d’abord décrire l’engin sur lequel seraappliqué les équations. Trois roues lui seront attribués pour raison de stabilité, car vu quel’engin sera posé sur un sol plan, alors trois points de contacts suffiront à stabiliser l’engin.Cela peut s’expliquer mathématiquement. En effet, pour pouvoir avoir une équation car-tésienne d’un plan, il suffit juste de trois points. Donc ici, cela signifirait qu’une quatrièmeroue serait une contrainte supplémentaire.Pour la conception : – Deux roues motrices à l’avant séparées d’une distance 2d – Une roue folle à l’arrière qui est à une distance l du centre de l’essieu qui relie les deux roues motrices – Le centre de gravité est situé à une hauteur h du sol et à une distance d du centre de l’essieu4.3.2 Plan horizontal Tout d’abord, lorsque le robot est au repos sur un sol plat. Le point d’application pour les moments de force sera le milieu entre les deux rouesarrières au niveau du sol.FSAB 1501 - Projet 21 Rapport final
  23. 23. Groupe 1176 Décembre 2012 Figure 4.9 – Vue latérale Figure 4.10 – Vue du dessus → − F e3 = 0 (4.4) → = 0 − τ (4.5) De (4.4), il est facile d’extraire l’équation scalaire qui en sort, à savoir, Na + Nb + Nc = m · g (4.6) Ensuite, (4.5) donne comme indiqué l’équation vectorielle des moments de force appli-qués au point choisi, à savoir : (−2dˆ1 ⊗ Nc e3 ) + ((−dˆ1 + (l − d)ˆ2 ) ⊗ −mgˆ3 ) + ((−dˆ1 + lˆ2 ) ⊗ Na e3 ) = 0 e ˆ e e e e e ˆ ⇒ 2dNc e2 − dmgˆ2 − (l − d)mgˆ1 + (dNa e2 + lNa e1 ) = 0 ˆ e e ˆ ˆ ⇒ (lNa − (l − d)mg)ˆ1 + (dNa + 2dNc − dmg)ˆ2 = 0 e e Les deux autres équations scalaires sont, 2dNc + dNa = mg (4.7) lNa − mg(l − d) = 0 (4.8) Grâce aux trois équations scalaires (4.6), 4.7 et 4.8, les trois forces de réactions appli-quées aux roues peuvent être facilement trouvées (3 équations à 3 inconnues), et donc, (l − d)mg Na = (4.9) l dmg Nb = (4.10) 2l dmg Nc = (4.11) 2lFSAB 1501 - Projet 22 Rapport final
  24. 24. Groupe 1176 Décembre 20124.3.3 Plan incliné Lorsque le robot se trouvera sur un plan incliné, les forces de réactions ne seront plusles mêmes, donc il faut les recalculer. Deux cas seront abordés : – Lorsque le robot sera dans sa position longitudinale – Lorsque le robot sera dans sa position transversale Dans chacun de ces deux cas, l’angle maximal avant que le robot se mette à glisser etcelui avant qu’il se mette à basculer seront calculés. Premier cas : Le robot a les deux roues motrices freinées et est positionné avec la roue libre vers lebas. Le point où seront appliqués les moments de force sera le point de contact entre laroue A et le sol. Figure 4.11 – Vue latérale → − F e2 = 0 (4.12) → − F e3 = 0 (4.13) → = 0 − τ (4.14)Les équations (4.12), (4.13) donnent ces deux équations scalaires que voici, mg sin α = ff (4.15) Na + Nb + Nc = mg cos α (4.16)FSAB 1501 - Projet 23 Rapport final
  25. 25. Groupe 1176 Décembre 2012 (Ici, ff = µs (Nb +Nc ), les forces de frottements dues aux roues B et C) Ensuite, l’équation (4.14) donne : ((−l + dˆ1 ) ⊗ Nb e3 ) + ((−lˆ2 − dˆ1 ) ⊗ Nc e3 ) + ((−lˆ2 + dˆ1 ) ⊗ −µs Nb e2 ) (4.17) e ˆ e e ˆ e e ˆ +((−lˆ2 − dˆ1 ) ⊗ −µs Nc e2 ) + ((−dˆ2 + hˆ3 ) ⊗ (mg sin αˆ2 − mg cos αˆ3 )) = 0 (4.18) e e ˆ e e e e ⇒ (dmg cos α−lNb −lNc −hmg sin α)ˆ1 +(dNc −dNb )ˆ2 +(dµs Nc −dµs Nb )ˆ3 = 0 (4.19) e e e Les trois équations qui sortent de cette équation vectorielle sont : − lNb − lNc + dmg cos α − hmg sin α = 0 (4.20) dNc − dNb = 0 (4.21) dµs Nc − dµs Nb = 0 (4.22) Les équations (4.21) et (4.22) disent que Nb = Nc . A partir de cette donnée, (4.20)devient −2lNb = hmg sin α − dmg cos α = 0 dmg cos α − hmg sin α ⇒ Nb = Nc = 2lDonc, avec (4.16), d cos α − h sin α Na = mg(cos α − ) (4.23) lPour l’angle pour lequel le robot glisse, la condition générale est que Ff >µs N . Ici, l’enginse mettra à glisser une fois que ff <mgsin α. ff < mg sin α µs (Nb + Nc ) < mg sin α d cos α − h sin α µs ( ) < sin α l µs d arctan < α l + µs hL’angle d’inclinaison maximal du robot dans sa position longitudinale juste avant qu’il semette à glisser est arctan l+µdh . µs sPour que le robot bascule, il faut que Nb et Nc soient négatifs. dmg cos α − hmg sin α < 0 2l d cos α < h sin α d arctan < α hL’angle d’inclinaison maximal du robot dans sa position longitudinale juste avant qu’il se dmette à basculer est arctan h .FSAB 1501 - Projet 24 Rapport final
  26. 26. Groupe 1176 Décembre 2012 Figure 4.12 – Vue transversale Deuxième cas : Cette fois-ci, le robot est en position transversale donc la force defrottement de la roue A (libre) interviendra. Le point d’application pour les moments deforce sera le même que celui du plan horizontal, à savoir le point au milieu des roues B etC au niveau du sol. → − F e1 = 0 (4.24) → − F e3 = 0 (4.25) → = 0 − τ (4.26)De 4.24et 4.25, il vient, ffa + ffb + ffc = mg sin α (4.27) Na + Nb + Nc = mg cos α (4.28)Pour l’équation 4.26, le développement du calcul est le suivant :(lˆ2 ⊗µs Na e1 )+(lˆ2 ⊗Na e3 )+(((l−d)ˆ2 +hˆ3 )⊗(−mg sin αˆ1 − mg cos αˆ3 ))+(dˆ1 ⊗Nb e3 )+(−dˆ1 ⊗Nc e3 ) = 0 e ˆ e ˆ e e e e e ˆ e ˆ⇒ (lNa − (l − d)mg cos α)ˆ1 + (dNb − dNc − hmg sin α)ˆ2 + ((l − d)mg sin α − lµs Na )ˆ3 e e eIl en sort, (l − d)mg sin α Na = (4.29) lµs dNc − dNb = hmg sin α (4.30)Avec (4.28), il est facile de trouver les deux autres forces de réactions du sol : mg sin α(l − d) h sin α Nb = cos α − − (4.31) 2 lµs d mg sin α(l − d) h sin α Nc = cos α − + (4.32) 2 lµs dL’engin va se mettre à glisser à partir du moment où mg sin α>ff mg sin α > µs (Na + Nb + Nc ) sin α(l − d) sin α(l − d) mg sin α > µs mg + cos α − lµs lµs α > arctan µsFSAB 1501 - Projet 25 Rapport final
  27. 27. Groupe 1176 Décembre 2012L’angle d’inclinaison maximal du robot dans sa position transversale juste avant qu’il semette à glisser est arctan µsPour l’angle de bascule dans sa position transversale, des tests expérimentaux ont étéeffectués pour voir si la roue A (libre) se soulevait du sol en même temps ou juste aprèsla roue B, qui se trouve au point le plus haut. Il a été remarqué que la roue B se soulevaitd’abord, donc les calculs seront basés sur cette hypothèse. Nb < 0 mg sin α(l − d) h sin α cos α − − < 0 2 lµs d dlµs arctan < α (l − d)d + hlµsL’angle d’inclinaison maximal du robot dans sa position transversale juste avant qu’il se dlµsmette à basculer est arctan (l−d)d+hlµs Calcul du centre de masse Une fois les forces et angles critiques trouvés pour chacun des cas étudié, il faut main-tenant estimer le centre de masse pour pouvoir ainsi remplacé les paramètres fixés plushaut, ce qui donnerait une idée approximative des angles et forces calculés. Pour ce faire, le robot sera simplifié au maximum pour faciliter les calculs. Il seraconstitué de cinq assemblages d’objets, à savoir : deux disques à l’avant remplaçant lesdeux roues, un disque à l’arrière remplaçant la roue folle, un parallélépipède rectnagleremplaçant le corps, et un cylindre au dessus du corps incliné de 30 degrés par rapport ausol pour remplacer le canon. La formule générale pour trouver le centre de masse est Figure 4.13 – Vue latérale du robot final simplifié − −→ mi → − ri OG = i m1Ici, vu que le rebot est décomposé en cinq objets, le but est de claculer le vecteur posi-tion des centres de masses de chaque objet et ensuite appliquer la formule. La formuleest utilisable car la densité de chaque objet est uniforme. Le repert a été choisi pour quel’origine soit centre du robot, et vu que tout est centré et que la masse est uniformémentdistribuée, il n’y aura pas de composante e1 . ˆFSAB 1501 - Projet 26 Rapport final
  28. 28. Groupe 1176 Décembre 2012Le centre de masse du robot , après de longs calculs, est − −→ OG = 0.52ˆ2 + 63ˆ3 e e (4.33)FSAB 1501 - Projet 27 Rapport final
  29. 29. Groupe 1176 Décembre 20124.4 InformatiqueIntroduction Pour le prototype LEGO ont été utilisées à la fois des pièces LEGO Technix “normales"et des pièces LEGO Mindstorms, qui s’emboitent parfaitement dans les LEGO Technix etqui permettent d’animer la construction. On passe ainsi d’une “simple" construction LEGOà un robot complexe. Dans cette partie seront développées ces pièces LEGO Mindstormsainsi que le code informatique du prototype LEGO.Les pièces LEGO MindstormsFigure 4.14 – La boite de LEGO Mindstorms mise à disposition comprenait 3 moteurset 4 capteurs différentsLe NXT Le NXT est à proprement parler le cerveau du robot. Il est muni de 4 entrées, de3 sorties et d’une mémoire interne sur laquelle peut tourner un programme capable decommander les moteurs et de récupérer les valeurs mesurées par les capteurs. Le NXT possède aussi un écran LCD qui peut afficher du texte ou des données ainsique 4 boutons qui permettent de paramétrer le robot et choisir le programme à exécuter. De plus, le NXT est aussi doté d’une interface Bluetooth et d’un port USB, qui luipermettent de communiquer avec d’autres appareils. Le port USB permet au NXT decommuniquer avec un ordinateur (et permet ainsi par exemple le transfert de fichiers).L’interface Bluetooth permet au NXT, en plus de communiquer avec un ordinateur, deFSAB 1501 - Projet 28 Rapport final
  30. 30. Groupe 1176 Décembre 2012communiquer avec d’autres NXT (un robot pourrait par exemple en commander d’autres),avec un téléphone portable (un smartphone pourrait commander un robot) ou avec cer-tains autres périphériques disposant d’une interface Bluetooth (il est par exemple possiblequ’un robot se connecte à un GPS pour récupérer des informations telles que la localisa-tion).Les moteurs Les servomoteurs sont au nombre de trois et permettent au robot de se déplacer oud’effectuer certaines actions comme prendre un objet ou le lancer. Ils disposent aussi d’uncapteur de rotation qui leur permet de mesurer les rotations qu’ils effectuent.Les capteurs Les capteurs permettent au robot de mesurer différents paramètres et fournissent auNXT des données précises. Ces capteurs sont au nombre de quatre différents et bien qu’ilsn’aient pas tous été utilisés dans le prototype LEGO, ils seront tous détailles ici. Afind’utiliser les différents capteurs il faut préalablement créer une instance à l’aide de leurconstructeur correspondant et bien que ces derniers soient tous différents ils peuvent cha-cun être créés avec comme seul argument le port sur lequel le capteur est connecté. – Le capteur photosensible : Le capteur photosensible permet de mesurer l’intensité lumineuse de différentes cou- leurs (l’intensité s’exprimant sur une échelle de nuances de gris), de mesurer l’in- tensité lumineuse dans son environnement ou de faire la distinction entre lumière et obscurité. – Capteur de son : Le capteur de son permet de mesurer le niveau de décibels et peut fonctionner en deux modes : en mode dBA il mesure uniquement l’intensité sonore des sons audiblesFSAB 1501 - Projet 29 Rapport final
  31. 31. Groupe 1176 Décembre 2012 par l’oreille humaine et en mode dB il mesure tous les sons, y compris ceux qui se trouvent dans une plage de fréquence que l’oreille humaine ne peut entendre. Après avoir créé une instance du capteur, il suffit d’appeler la méthode readValue() afin de récupérer l’intensité sonore ambiante. – Le capteur d’ultrason : Le capteur d’ultrason fonctionne comme un sonar, il mesure la distance en émettant des ondes et en calculant le temps nécessaire pour que les ondes soient réfléchies et reviennent. Le capteur ultrason peut mesurer des objets à une distance allant de 0 à 2,5 mètres mais il faut cependant être prudent lors de l’utilisation du cap- teur car il n’est précis qu’a trois centimètres près et après une batterie de tests il s’avère que sa précision est fonction de la distance à laquelle se trouve l’objet dont il mesure la distance. Pour récupérer la distance mesurée par le capteur, c’est la méthode getDistance() qu’il faut appeler après avoir créé une instance du capteur. – Le capteur de pression : Le capteur de pression fonctionne comme un bouton poussoir : soit il est enfoncé et la valeur renvoyée par isPressed() est true, soit il est relaché et la valeur renvoyée par isPressed() est false.FSAB 1501 - Projet 30 Rapport final
  32. 32. Groupe 1176 Décembre 2012Java – Lejos Le langage JAVA est le langage qui a été utilisé pour la programmation du robot. Afinde pouvoir programmer le robot en java il a fallu installer lejos, une machine virtuelle quiremplace le firmware du NXT par un firmware lejos, qui permet au NXT d’interpréter lecode java. Lejos comprends aussi une librairie de classes qui permettent d’utiliser des méthodespropres au robot en plus des méthodes java de base et un compilateur qui permet decompiler des fichiers java en fichiers qu’on peut envoyer sur le NXT.Programmation par taches Après une rapide analyse des fonctionnalités que le robot devait effectuer, il est viteapparu qu’une “simple" programmation séquentielle ne suffirait pas, car elle rendrait lecode peu modulable, avec plusieurs conditions imbriquées et plusieurs appels répétitifs deméthodes. Le choix s’est alors porté sur une programmation événementielle, ou les différentesactions du robot ont été découpées en plusieurs tâches telles qu’attraper la balle, lancer laballe, retourner à la zone de départ,... sont placées dans différentes classes qui comprennentchacune trois méthodes : takeControl(), action() et suppress(). La première méthode estla condition d’activation de la tâche, elle renvoie true lorsque les conditions d’activationde cette tache sont remplies. La méthode action() est l’ensemble des actions à effectuerlorsque cette tâche à le contrôle. Enfin, la méthode suppress() est l’ensemble des actionsa effectuer quand une tache plus prioritaire prends le contrôle afin d’arrêter les actions encours (typiquement, arrêter le robot) Toutes ces taches sont ensuite assemblées dans un Arbitrator, qui va “arbitrer" cesdifférentes taches. Si la condition d’activation d’une tache est satisfaite, cette tache prendsle contrôle et exécute la méthode action() de cette tâche. Lorsque la condition d’activationd’une tache plus prioritaire que celle actuellement en cours est satisfaite, l’exécution dela tache actuelle est avortée par l’appel de la méthode suppress() de cette méthode et latâche plus prioritaire prends le contrôle. Pour l’activation des différentes taches, les conditions dépendent de booléens qui sontfalse depuis le début et qui deviennent true uniquement une fois la tache précédente ac-complie avec succès. Cette méthode a été préférée a l’utilisation d’un compteur qui estincrémenté à la fin de l’exécution de chaque tache, car le code est ainsi plus modulableet qu’il est plus facile d’insérer une éventuelle méthode supplémentaire, ce qui est arrivéà plusieurs reprises lors du développement du code, sans avoir à modifier les conditionsd’activation de toutes les autres taches et ainsi risquer des erreurs d’activation et de prio-rités.Evolution du code et de l’algorithme Tout d’abord, les performances à réaliser ont été analysées et une première ébauche destructure a été écrite. Ensuite des méthodes de test qui ne faisaient qu’afficher les valeursFSAB 1501 - Projet 31 Rapport final
  33. 33. Groupe 1176 Décembre 2012mesurées par les capteurs ont permis de comprendre le fonctionnement des différents cap-teurs, leurs points forts ainsi que leurs faiblesses, et ont permis de déterminer à quel pointles mesures effectuées par les capteurs étaient fiables et précises. Fort de ca une premièreébauche de code a pu être écrite avec comme valeurs numériques uniquement des valeursthéoriques. Une fois ce code la fonctionnel, ces valeurs ont été calibrées. Dans un derniertemps, le code a été épuré et rendu modulable, entre autres par l’utilisation de variablespour stocker toutes les valeurs numériques. Figure 4.15 – Schéma des différentes classes, chaque classe étant une tache différente La classe robot contient la classe main qui assemble toutes les autres. C’est celle-ciqui contient l’initialisation des Behaviors, crée l’Arbitrator, et lance ce dernier juste aprèsavoir lancé le chronomètre. La classe actionUn permet au robot d’aller vérifier si la zone se trouve du «1e coté», lepremier coté étant là où la méthode determineDistance() a déterminé qu’il y avait le plusde probabilité que la zone noire se trouve. La classe actionUnBis permet au robot de prendre la balle une fois que la zone noireest trouvée. Pour ce faire le robot recule, abaisse la pince, ré avance puis lève légèrementla pince pour prendre la balle. La classe actionUnTer permet au robot d’aller chercher la balle du « 2e coté » uni-quement si elle n’a pas été trouvée du premier côté. La classe actionDeux permet au robot d’aller derrière la ligne M1, perpendiculairementà celle-ci afin de pouvoir commencer à chercher la ligne grise. La classe actionTrois permet au robot de trouver l’endroit où la ligne grise intersecteavec la ligne M1.FSAB 1501 - Projet 32 Rapport final
  34. 34. Groupe 1176 Décembre 2012 La classe actionQuatre permet au robot de retourner derrière la ligne M2 tout en res-tant aligné sur l’intersection entre la ligne M1 et la ligne grise et donc aligné sur le panier,ainsi que de lancer la balle dans le panier. La classe actionCinq permet au robot de retourner à sa position initiale au moyen dela méthode goTo(). La classe emergencyRestart permet de redémarrer le robot en appuyant sur le boutonescape du NXT sans devoir réinitialiser la console ni recalibrer le robot. La tache attendqu’un bouton soit poussé pour redémarrer l’exécution du programme au début. Le tableau suivant reprend les différents Behavior dans l’ordre croissant de priorité : 1 2 3 4 5 6 7 8 actionUnTer actionUn actionUnBis actionDeux actionTrois actionQuatre actionCinq emergencyRestart Figure 4.16 – Ordre d’exécution des différentes tachesExplication de la console Pour pouvoir facilement débuguer le code, nous avons utilisé la classe RConsole, quiFSAB 1501 - Projet 33 Rapport final
  35. 35. Groupe 1176 Décembre 2012permet de transmettre simplement des données afin qu’elles soient affichées sur un pc.Les données sont transmises soit par USB soit par Bluetooth, et permettent ainsi desuivre en temps réel et sur pc l’avancement du robot. Pour utiliser la console, il faut éta-blir une connexion entre le robot et l’ordinateur avec une des méthodes open (il existeplusieurs méthodes open dépendamment de si l’on veut établir une connexion par USB,par Bluetooth, ou via n’importe laquelle des deux). Il suffit ensuite d’appeler la méthodeRConsole().println() pour afficher du texte sur la console et finalement la méthode RCon-sole.close() pour couper la connexion. Pour recevoir les données l’ordinateur il faut lancerla console via la commande ‘nxjconsole’ dans l’invite de commande. Le robot utilise la console pour envoyer un message à chaque fois qu’il rentre ou sortd’une tache et à chaque fois qu’il lit la valeur d’un des capteurs. Le robot est programméde telle manière qu’il envoie un message après chaque opération conséquente qu’il effectue,afin de pouvoir aisément localiser une éventuelle erreur dans le code. Au début de l’exécution du code, la méthode initializeConsole() est appelée. Elle per-met de choisir d’utiliser ou non la console en fonction du bouton pressé et le cas échéantattend que la connexion soit établie, dans le cas contraire la suite du programme est exé-cuté. Cette méthode est appelée avant même la création des Behaviors. La méthode console() permet d’envoyer des données vers la console. Il est nécessaired’appeler cette méthode plutôt que de directement appeler RConsole.println() car la mé-thode console vérifie qu’une connexion est établie et évita ainsi de tenter d’envoyer desdonnées tandis qu’aucune connexion n’est établie, ce qui risquerait de provoquer des er-reurs et interrompre l’exécution du code. Si la connexion n’est pas établie, la méthodeconsole() affiche le texte sur l’écran LCD du NXT uniquement si le deuxième paramètreest true. Si la méthode console() est appelée sans préciser le deuxième paramètre, il prendla valeur true par défaut. La méthode addPrefix() permet de «mettre en page» le textequi sera envoyé à la console afin de le rendre facilement lisible et analysable sur la console.On a ainsi en un coup d’œil une vue précise et claire des données affichées dans la console. Même si l’implémentation de la console a pris un peu de temps à mettre en place(comprendre le fonctionnement, créer les méthodes,...), l’utilisation de la console a été trèspratique et a été un gain de temps non négligeable pour debugger le code. En effet il nefallait pas suivre le robot pour lire les données sur l’écran LCD, il était possible de garderles données affichées même après l’arrêt du robot et il était très facile de localiser l’erreurdans le code.Mapping / cartographie Le robot est équipé d’un système de mapping, qui lui permet de déterminer à tout mo-ment sa position sur un axe cartésien virtuel, ce qui permet de simplifier considérablementles mouvements du robot. Pour mettre en place ce système de mapping, trois classes sontutilisées : OdometryPoseProvider, Pose et Point. OdometryPoseProvider permet de créerun objet qui enregistre tous les déplacements réalisés par un objet de type MoveProvidertel que DifferentialPilot. La classe Pose permet de créer un objet Pose qui représente uneposition (des coordonnées en x et y et un angle). Un objet Pose peut être créé manuelle-ment ou récupéré d’un objet OdometryPoseProvider à l’aide de la méthode getPose(). Laclasse Point quant à elle permet de créer des objets Point, qui représente un point selonFSAB 1501 - Projet 34 Rapport final
  36. 36. Groupe 1176 Décembre 2012 ces coordonnées en x et y. Cette dernière classe a été nécessaire car certaines méthodes de la classe Pose nécessitent un objet de type Point comme argument. Exemple de récupération de la position du robot :1 OdometryPoseProvider pp = new OdometryPoseProvider ( p i l o t ) ;2 // Deplacment t e l s que p i l o t . t r a v e l ( ) ou p i l o t . r o t a t e ( )3 Pose p o s e = pp . g e t P o s e ( ) ;4 i n t x = p o s e . getX ( ) ;5 i n t y = p o s e . getY ( ) ; Le mapping permet au robot de se rendre directement vers un point déterminé, et pour cela une méthode goTo() a été implémentée qui permet au robot de se rendre en ligne droite vers un point, qui est définit par ses coordonnées x et y ainsi que par l’angle par rapport à l’axe x. Cette méthode calcule l’angle de départ et de fin ainsi que la distance à parcourir et cette méthode fait appel à une autre, shortAngle() qui permet de «nettoyer» l’angle. Les calculs des angles donnaient souvent des angles de plus de 180◦ ou même 360◦ , et il existe donc un angle plus court à faire parcourir au robot pour qu’il arrive au même angle. Améliorations possibles Plusieurs idées de méthodes, de classes ou de fonctionnalités ont été imaginées durant la programmation certaines n’ont pas pu être implémentées soit par manque de temps, soit parce qu’elles dépassaient de loin nos compétences ou encore parce qu’elles dépassaient de loin le cadre de ce cours. Voici les améliorations qui ont été envisagées : – Le calibrage, au lieu de se faire en un point sur du gris et en un point sur du noir pourrait se faire en plusieurs points par couleurs, afin de pouvoir calculer une moyenne et avoir des valeurs encore plus précises – Une tache prioritaire avoidCollision() avec conne condition d’activation une méthode booléenne riskCollision() pourraient être implémentées pour éviter que le robot ne cogne une paroi du terrain lors de ces déplacements. A chaque moment, en fonction de la position actuelle ainsi que de l’angle, qui sont connus grâce à la cartographie, la méthode riskCollision() vérifie qu’aucun point du robot ne s’approche de moins qu’une distance critique des bords du terrain. Si le robot s’approche trop des bords, la tache prends le contrôle et le mouvement est donc directement avorté. La tache rectifierait la trajectoire et le robot pourrait ensuite reprendre son déplacement. FSAB 1501 - Projet 35 Rapport final
  37. 37. Groupe 1176 Décembre 2012 – La vitesse de chaque mouvement pourrait être optimisé à la vitesse limite acceptable sans perte de précision, afin de gagner du temps sans pour autant perdre en fiabilité et en efficacité.FSAB 1501 - Projet 36 Rapport final
  38. 38. Groupe 1176 Décembre 20125 Le bilan du travail de groupe et les bilans individuels Etant composé uniquement de bisseurs, nous avions déjà vécu cette expérience une fois,mais cela n’a pas empêché pour autant de devoir encore apprendre beaucoup de chose.Tout d’abord nous avons dû apprendre à nous connaitre puis à s’organiser et cela resta undéfi malgré l’expérience passé. De plus notre groupe se trouve être plus nombreux que l’année précèdent (8 garçons),ce qui aura pour effet direct de nous faire penser que l’on aurait moins personnellementà fournir vu qu’on est plus. Cette méprise sur l’attitude à avoir nous avait conduits droitdans le mur lors du pré-jury qui fut catastrophique. Alors depuis S6, on s’est tous remis àbosser comme il faut, à s’impliquer et à fournir sa part du travail. En premier lieu nous avons mis à jour notre comportent à adopter, les différents pointsur lesquelles il fallait bosser pour s’améliorer sont énumérer ci-dessous, ainsi que des in-dicateurs pour ceux-ci. Pour la production du groupe, après le pré-jury, le bilan du travail qui a été effectuéavant montrait bien qu’il y avait beaucoup de chose à faire. Donc nous nous sommes mis àfaire toute les tâches demandées en séance ainsi que les demandes de séance suivante. Pource rapport, nous avions déjà prévu le coup en attribuant les parties du robot à chacunpour avoir un robot performant. Pour l’apprentissage réalisés, nous avions encore beaucoup de chose à apprendre carnous avons pu travail sur des parties du rapport que nous n’avions pas touché l’annéedernière, ce qui nous a permis d’apprendre des nouvelles compétence mais nous avonsaussi renforcer nos bases dans d’autres matière en aidant les autres. Pour la participation et l’implication de chacun, avant la semaine 6 aucun d’entre nousne s’impliquait réellement dans quoi que ce soit mais suite à la gifle du pré-jury, l’un aprèsles autres nous nous sommes mis entièrement dans ce projet. Chacun apportant ces capa-cités au profit du groupe. Pour l’organisation du travail, nous n’avions pas énormément préparé le planning pourle pré-jury, alors nous avons mis au point un agenda/planning qui nous aida à la réalisa-tion du projet. Il n’est tout de même pas parfait mais son utilité fut primordiale au bondéroulement. Pour la répartition des rôles, dès le début de la quadrimestre, nous nous ne sommespas distribuer les rôles, mais au fur et à mesure que les séances se succédaient, on a vus’installer des caractères qui ont pris des rôles à leur mesure, par exemple Denis était celuiqui énumérerait les objectifs de séance, Harold et Aris sont ceux qui poussait les autres,Ivo était le secrétaire et s’occupait des publications, etc. Pour l’expression de chacun, on se trouve dans un groupe, où tout le monde est trèsouvert d’esprit et où l’échange est facile et respecter. Pour la coopération et le climat de travail, c’était un gros défaut que l’on avait avant lepré-jury et que l’on a essayé de régler mais pas avec un énormément de succès et beaucoupde temps pour y parvenir. Le groupe n’était au départ que rarement complet mais durantces 5 dernières semaines, on était tous présent et près au travail.FSAB 1501 - Projet 37 Rapport final
  39. 39. Groupe 1176 Décembre 2012 Pour la gestion des conflits, il n’y en a pas eu grand nombre et même si il y en a eu ilsont toujours été constructifs et brefs. Ce diagramme montre l’évolution que notre groupe a subit l’or des différentes semainesclés. Les indicateurs : – Il faut faire un planning complet dès le début du projet et avec des points le plus précis possible. – Il faut garder tous les sources consultées pour la bibliographie. – Il faut s’impliquer dès le premier jour et s’avancer le plus tôt possible pour ne pas être pris à la dernière minute.5.1 Bilan individuel : Afsar Aris Après plusieurs mois passés au sein de notre groupe, je peux dire que ce projet fut uneexpérience enrichissante. Dès les premières semaines, une très bonne entente, peut-êtreun peu trop bonne, s’est établie au sein du groupe. Certes, il n’y avait pas vraiment deconflit grâce à cela mais lorsque des travaux de plus grosse ampleur sont arrivés, il a falluse remettre en question. J’étais très mal organisé et je n’ai pas apporté mon maximum. Je n’avais pas vraimentde volonté à poursuivre le projet puisqu’aucun membre du groupe ne prenait la peine defaire ce qui lui était demandé, ce qui était une erreur de notre part. Arrivé au pré-jury,notre groupe s’est fortement fait critiqué quant à la qualité de notre rapport. En effetcelui- ci fut de très mauvaise qualité. Mais heureusement pour nous, nous avons pu nousressaisir et j’ai tout de suite eu plus de plaisir à travailler avec un groupe qui se rendaitcompte de l’ampleur du projet. Le groupe a acquis une dynamique de travail plus ou moins soutenue, qui est le fruitde six semaines de travail et de coopération, et non pas douze ! En effet, nous avons dûfaire un travail de 12 semaines en 6-7 semaines seulement. Pour ma part, j’en ressors plusriche et plus apte à travailler en équipe. Étant en arch l’an passé, ce fut mon premiertravail de cette ampleur en groupe. J’ai pu découvrir quels étaient mes point forts et ceuxFSAB 1501 - Projet 38 Rapport final
  40. 40. Groupe 1176 Décembre 2012où j’éprouvais plus de difficultés, trouver ma place au sein d’un rôle, ce qui me servir sansdoute dans les années à venir.5.2 Bilan individuel : Arnould Julien Voici maintenant douze semaines passées en première année d’ingénierie civile. . . Pourla deuxième fois ! D’un point de vue personnel, s’il fallait choisir un unique mot pour qualifier ces douzesemaines, à coup sûr le mot téméraire serait de mise. En effet, le fait de bisser avec relati-vement peu de cours a germé une illusion telle que cette année serait sans peine ni travailardu, sous prétexte que « tout a déjà été vu et revu l’an dernier ». Il est vrai que, d’uncôté, les matières ont été étudiées l’an dernier et que le programme n’a que très peu dedifférences avec l’actuel ; par contre, d’un autre côté, la nonchalance et la procrastinationrépétée ont fait que, pour des tâches simples, un retard insensé a été accumulé. Aprèsune première remise à niveau relativement « musclée » au pré-jury, le groupe a décidé deprendre enfin les devants, cessant de se reposer sur le principe que d’être un groupe debisseurs n’avait que des avantages. Certes, il y a des avantages à avoir déjà parcouru lamatière, mais l’avantage doit être utilisé dans le bon sens : il doit permettre un approfon-dissement plus profond dans la matière et le projet en soi, plutôt que de se reposer sur unrésultat acceptable, pour un moindre effort. Ce quadrimestre a permis de remettre en question la position que devrait avoir unbisseur vis-à-vis de ses études : toujours viser un objectif élevé, sans choisir un résultatarrangeant, et surtout obtenu de manière peu éducative.5.3 Bilan individuel : Berrada Yassine Un long périple vient donc maintenant de s’achever en même temps que ce projet, ilfut difficile de créer un robot capable de jouer au basket. Pour y parvenir je me suis misà jouer au basket à l’ADEPS du Blocry pendant les permanences pour le basketball. J’ai de cette façon appréhender la vision du jeu, les règles de ce sport et les différentsaspect qui sont mis en oeuvre pour chacune des actions que le robot se devra de savoireffectuer. Avec l’expérience accumulé, j’ai voulu aider le groupe à avancer en émettant desidées, et j’ai aussi contribuer au calcul des aspects physique du robot. Au sein du groupe, je me suis directement bien entendu avec chacun et je sentaisune atmosphère amicale autour de notre groupe, mais le début n’était pas très productifparce qu’on était tous dissipé et pas très prompt au travail les 4 premières semaines. Pourrattraper notre retard, on a tous du travailler doublement et moi y compris en faisant mestâches, de plus j’était toujours là prêt à aider quelqu’un.Mon appréciation de cette période de projet est que le projet était intéressant, que mongroupe était marrant et travailleur par moment avec toujours une excellente ambiance.5.4 Bilan individuel : Bian Yu Borge de Almeida Ivo Rui Dès le début le projet de ce robot m’a intéressé et passionné car je pratique moi-mêmedu basketball depuis maintenant presque 10 ans, j’ai gagné un certain nombre de cham-pionnats.FSAB 1501 - Projet 39 Rapport final
  41. 41. Groupe 1176 Décembre 2012 L’intérêt que je trouvais dans ce rapport est de comparer ma vision pratique de cesport à la vision théorique que me procure ce projet. En comparant ma technique de tir personnelle et la technique optimisée théorique quenous avons vue dans la partie physique du rapport j’ai ressenti des doutes quant à lapossibilité de ce tir en pratique. Le déroulement du projet ne posait de problème qu’à cause du manque d’implicationdans le groupe mais suite à l’échec au pré-jury, nous avons mis les bouchés double pour àla fois rattraper notre retard et mieux approfondir le sujet. Mon manque de présence était un facteur négatif que je me suis efforcé de corrigerpour pouvoir profiter de tout ce que l’on pouvait m’apporter. Je me suis alors mis à disposition du groupe pour toutes sortes de tâches telles que larédaction des questions du livret (To do list, Synthèse des bilans individuels, icampus, etc.)L’entente dans le groupe maintenait une bonne ambiance qui cependant ne permettait pastoujours une bonne productivité. Cependant, dès la semaine 7, le sérieux était de misependant les séances avec de moins en moins de moments où nous étions dissipés. Pourle rapport nous nous y sommes pris à l’avance comme notre expérience nous le dictaiten répartissant minutieusement les tâches à chacun, de manière à ne pas nous retrouverpressés par le temps manquant et pouvoir retravailler le tout pour limiter le nombred’erreurs.5.5 Bilan individuel : Bondroit Jérome Nous voilà déjà arrivé à la fin de ce projet Q1 et ce pour la deuxième fois. Lors despremières semaines, le travail était plutôt difficile car tout le groupe avait déjà réalisétoutes les taches demandées l’an passé. Je voyais plus ce projet comme une répétition. Encommençant l’année je me suis direct dit que ça n’allait pas être évident de recommencerce projet. Cela c’est confirmé dès le pré-jury, ou nous sommes arrivés là avec un manquede travail évident ! Après cette grosse “claque", c’est en groupe que nous avons décidé deréellement se mettre à travailler. Je me suis rendu compte que si je devais recommencerce projet c’est parce que je n’avais pas acquis toutes les notions qu’il peut représenterl’an passé. Je me suis donc mis sérieusement à travailler, d’abord en rattrapant le retardaccumulé lors des premières semaines et ensuite en réalisant toutes les taches demandéeschaque semaine. Les réunions de groupe devenaient de plus en plus régulières au fil dessemaines.Je me suis donc rendu compte que le faite d’être bisseur devait être vu comme un avantageplutôt qu’un inconvénient, d’un part parce que la matière a déjà été vue en partie unepremière fois mais également d’autre part parce que ça permet d’en apprendre plus sur ceprojet, de faire des recherches bien plus détaillé. Nous devons viser bien plus haut que lesautres groupes de FSA11 car nous sommes partis avec bien plus d’avance qu’eux. Au finalje ne regrette pas avoir du recommencer ce projet.5.6 Bilan individuel : Delacroix Harold Cette année nous avons eu beaucoup de mal à nous mettre dans le bain pour le projetet au pré-jury un énormément manque de travail se fut ressentir autant dans notre rapportFSAB 1501 - Projet 40 Rapport final
  42. 42. Groupe 1176 Décembre 2012que dans notre maquette et notre présentation. La cause vient entre autre du fait que nousétions “blazé” devant ce projet qui ressemble en grande partie à celui de l’année passéeet une atmosphère de fainéantise qui sait installé très vite au sein du groupe. En séancenous arrivions, répartissions les tâches et repartions, avant la fin de la séance, sans avoirfait de travail de fond. La séance d’après rien de ce qui avait demandé et prévu était faitet des nouvelles choses à faire venaient s’ajouter aux anciennes. Au final c’est une petitesemaine avant le pré-jury que le groupe a commencé à s’y mettre et tout fut bâclé. Le point positif est qu’après s’être pris une claque en s6, tout le groupe sait ressaisiet une ambiance beaucoup plus studieuse et entreprenante fut installée. Les “to do liste”furent mieux remplies et le travail était vérifié chaque semaine. Maintenant, après 6 se-maines de vraie implication de la pars du groupe, on sent que le rapport est le fruits deréfections beaucoup plus approfondies et qu’il y a eu un travail sérieux derrière. Encoreune fois le plus gros c’est fait assez tard et nous n’avons malheureusement pas assez profitédu fait que nous soyons bisseur pour prendre de l’avance avant les trois jours de bloquepour rédiger le rapport. L’avantage d’être d’en un groupe de bisseur, surtout comme le notre où nous savonsque la raison première de notre échec est un manque clair de travail, est qu’on apprend àne pas trop compter sur les autres et cela nous oblige à plus nous investir personnellement. J’ai beaucoup plus ressenti l’importance du travail en groupe cette année car nousavons vraiment un groupe où chacun a ces points forts ; l’un est doué pour l’informatique,l’autre pour les calcules et enfin le dernier rédige assez bien. Le tout bien coordonné donneun résultat bien meilleur qu’un travail fait par un élève seul. Je suis donc, au final, satisfait du travail dans l’ensemble malgré le départ plutôt mé-diocre et les quelques laisser aller qui se sont ressenti jusqu’au bout.5.7 Bilan individuel : Gier David Tout d’abord, je trouve que le groupe, malgré les problèmes auxquels nous avons euà faire face, s’en est relativement bien sorti au niveau de l’évolution du travail d’équipe.Étant arrivé en retard en raison de problèmes d’inscription, je n’ai pas vu les débuts dugroupe, mais même lorsque je suis arrivé il manquait relativement d’organisation et demotivation ce qui a changé au cours des semaines. Non seulement nous commencions ànous connaître mutuellement mais en plus nous découvrions avec qui nous travaillions lemieux, comment pousser la productivité à son maximum et optimiser autant que possiblenotre technique de travail en équipe. Un exemple concret qui explique assez bien la situa-tion (sans citer de noms, les rôles ont changé maintes fois au cours des semaines) : Unmembre du groupe se retrouve dissipé après une longue période de concentration et c’estlà qu’un autre membre du groupe intervient, nous sommes toujours là pour nous motiverentre nous à terminer le travail. Plus nous progressions dans le projet, plus l’organisationet le travail productif évoluaient positivement, nous permettant au fil des semaines de finirles travaux bien avant l’échéance et de diminuer le stress dû aux travaux vite faits justeavant l’échéance. Personnellement, comme je l’ai déjà précisé plus haut, je suis arrivé plus tard que lesautres dans le groupe mais je pense avoir compensé cette absence du début non seulementFSAB 1501 - Projet 41 Rapport final
  43. 43. Groupe 1176 Décembre 2012par un travail motivé pour montrer au groupe que je veux participer et aider autant quepossible et vraiment être intégré dans le groupe mais aussi par un soutien des autresmembres en les aidant dans leurs parties lorsque j’avais fini la mienne. Je pense mériterma place dans ce groupe autant que quiconque ayant été là depuis le début.5.8 Bilan individuel : Mortier Denis Je trouve que le bilan du travail de groupe, au même titre que l’entièreté du rapport,reflète bien le travail que nous avons effectué tout au long de ces douze semaines. J’aibeaucoup aimé travailler en groupe, car le travail en groupe permet un partage de savoirs :il y a plus dans huit cerveaux que dans un. . . Etant un groupe de bisseurs, nous étionsforts de l’expérience de l’année passée, ce qui fut un avantage non négligeable. Nous avonsen effet essayé de ne pas refaire les erreurs de l’année passée. Le « risque » du travail degroupe est par exemple que chacun travaille là où il a le plus de facilités et que les autresn’apprennent rien sur ce point-là. Pour éviter cela nous avons essayé de ne pas forcémentconfier une partie à celui qui «gère» le mieux dans ce domaine, et nous faisions une miseen commun à chaque fois où l’on se partageait des taches. Tout au long de ces douzesemaines il y a eu une très bonne ambiance au sein du groupe, sans toutefois être exagéréeet non propice au travail. Nous avons toujours su faire ce qui nous était demandé, parfoisen s’organisant de manière plutôt « exotique », et je suis content du travail réalisé par legroupe.6 Conclusion Voila la fin de ce premier projet de l’année et, malgré les difficultés qu’il y a eu pours’ y mettre, un résultat satisfaisant a été atteint. Maintenant une solution de robot aété fournie et celui-ci peut jouer une partie de basket après avoir été programmé par untétraplégique. Ce robot ouvre donc une porte sur un nouveau sport des jeux paralympiques.Les avantages qui ressortent de “Micheal Mouse” sont qu’il va permettre un jeu attractifet agréable à regarder malgré qu’il ait été trop difficile de le faire dribbler avec le ballon.C’est dans cette optique que la plus grande partie possible du robot est faite en plexiglacepour permettre au public de voir un maximum de ce qui se passe à l’intérieur de l’engin.Pour la même raison, “Micheal Mouse” est muni d’ un balcon dont la balle pourra tomberà tout moment et de parchoques pour pouvoir gêner son adversaire. Toujours pour amuserla galerie, la balle n’émet qu’à trois mettre de rayon pour que les robots la cherchents’ils sont plus écartés que cela et donc cela oblige les participants à implémenter un bonprogramme. La disposition et la structure du robot a été réalisé dans le but d’être parée à touteséventualités et surtout de pouvoir capter la balle avec un maximum de facilité. Un toitplacé à l’avant permet de prendre la balle même si elle rebondit et grâce au balais tournantil est possible de capter les ballons décentrés par rapport au robot. Au final, le résultat est un “Micheal Mouse” attractif et préparé a toutes les circons-tances, mais celui-ci est loin d’être parfait. Déjà aucun effort n’a été fourni au niveau del’estétique ce qui le fait resembler à une souris et une maison. Mais, plus important, lerobot est assez lourd et sont système de lancement est loin d’être simple. Ce nouveau sportne peut aussi être jouer que sur un terrain très bien aménagé avec les balises et l’enceinteen plexiglace nécessaire. Cela rajoute des coûts importants et empêche donc se sport dese jouer n’importe où car les infrastructes sont assez encombrantes . Il est clair que si nous avions eu plus de temps nous aurions approffondi presqueFSAB 1501 - Projet 42 Rapport final

×