Construire et programmer un robot
Transcription
Construire et programmer un robot
Travail de maturité 2014-2015 Construire et programmer un robot 1ère partie : proposition de projets 1 Introduction Duant ce travail de maturité, vous allez construire et programmer une machine réalisant une fonctionnalité de votre choix, à l'aide de moteurs, capteurs et d'un microprocesseur «LEGO Mindstorm NXT ». La première partie du travail consiste à décrire 2 ou 3 projets que vous souhaitez réaliser. Un seul de ces 2 ou 3 projets sera finalement retenu. 2 Eléments à prendre en compte pour votre projet Votre projet devra respecter les éléments suivants : 1. avoir une fonctionnalité ou configuration de base : votre projet doit comporter une première fonctionnalité ou configuration, suffisamment simple pour pouvoir être mise en oeuvre, sans trop de difficultés. Exemple : dans le cas d'un distributeur de bonbons, la fonctionnalité de base consiste à faire tomber un bonbon lorsque l'utilisateur appuie sur un bouton (i.e sur le capteur tactile). 2. être extensible : votre description de projet comportera plusieurs fonctionnalités supplémentaires, qui viendront étendre la fonctionnalité de base décrite au point 1. Exemple : toujours dans le cas du distributeur de bonbons, on peut étendre la fonctionnalité de base de plusieurs manière : ◦ en permettant l'introduction de pièces de monnaie ◦ en permettant à l'utilisateur d'entrer un code pour vider/charger le distributeur ◦ en permettant à l'utilisateur de choisir entre différentes sortes de bonbons ◦ etc, etc... 3. être réalisable avec le matériel à disposition : La liste ci-dessous indique le matériel que vous pouvez utiliser. Bien sûr, il n'est pas obligatoire d'utiliser l'ensemble du matériel1 : ◦ 2 briques LEGO Mindstorms NXT ◦ 6 moteurs ◦ 2 capteurs ultrasons (mesure de distances) ◦ 2 capteurs de luminosité 1 La moitié du matériel (1 brique Mindstorms NXT, 3 moteurs, et 1 capteur de chaque type) vous est remise rapidement. Si nécessaire, l'autre moitié sera disponible, juste avant les vacances de Noël 1 ◦ 2 capteurs tactiles ◦ 2 capteurs sonores Si votre projet le justifie et sur demande, il est possible, d'obtenir un peu de matériel supplémentaire. En plus, des moteurs et capteurs, il sera probablement nécessaire d'utiliser également des briques LEGO. Environ 6 kilos de LEGO seront mis à disposition du groupe. Pour le reste, il sera possible d'obtenir des pièces d'occasion à un prix raisonnable, par exemple sur la plateforme www.ricardo.ch 4. présenter un caractère un peu nouveau : il faut éviter de reproduire à l'identique un robot qui a déjà été créé. Bien sûr, on peut s'inspirer du travail d'autres, et même reprendre une fonctionnalité qui a déjà été réalisée, mais la conception et la construction doivent être suffisamment différentes pour présenter un projet original. 3 Outils pour programmer votre robot 3.1 Programmation JAVA Programmer votre robot en JAVA offre de nombreuses possibilités. De plus, quelques librairies ont été développées pour faciliter le développement d'une application pour les robots LEGO Mindstorms en JAVA. 3.1.1 Java Developpement Kit Pour écrire une application en JAVA, il est nécessaire d'avoir le kit de développement JAVA (JDK). Il peut être téléchargé à cette adresse : http://www.oracle.com/technetwork/java/javase/downloads/index-jsp-138363.html 3.1.2 LeJOS LeJOS (www.lejos.org) offre une suite complète pour le développement d'applications pour Mindstorms, qui contient : 1. un « firmeware » à installer sur le Mindstorms (qui remplace celui installer d'origine par LEGO) 2. un ensemble de fonctions (librairies) permettant de programmer le robot, ainsi qu'un ensemble de fonctions permettant l'interaction ordinateur - robot, via bluetooth 3. des outils pour compiler et charger les programmes sur le robot 4. des outils pour aider au développement 5. de nombreux exemples de programme Pour installer LeJOS, suivre la partie « Getting Started » du didacticiel disponible ici : http://www.lejos.org/nxt/nxj/tutorial/index.htm 2 3.1.3 Eclipse Eclipse est un environnement de développement, à télécharger à l'adresse www.eclipse.org -> Download2. Une fois Eclipse installé, il faudra installer le plug-in pour LeJOS. Pour ce faire, lire les instructions disponibles à cette adresse : http://www.lejos.org/nxt/nxj/tutorial/Preliminaries/UsingEclipse.htm 3.2 Programmation avec le logiciel LEGO Mindstorms NXT Programmer avec le logiciel LEGO est plus simple mais offre également moins de possibilités. Par conséquent, il est conseillé pour les personnes n'ayant jamais programmé. Le logiciel peut être téléchargé sur le site de LEGO à cette adresse :http://www.lego.com/enus/mindstorms/downloads/software/nxt-software/download-software/ Attention : prendre le logiciel pour NXT et pas EV3. 3.3 Autres Il est aussi possible d'utiliser un autre langage et d'autres outils que ceux proposés ci-dessus. Par exemple, le robot peut être programmé en C (www.robotC.net), avec Matlab (http://www.mindstorms.rwth-aachen.de/), etc... Toutefois, les désavantages de cette troisième option, par rapport aux deux premières (JAVA ou logiciel LEGO) sont les suivants : 1. il est possible que l'acquisition des logiciels (robotc ou Matlab par exemple) ne soit pas gratuite 2. en cas de problèmes, je ne pourrai vous offrir qu'un support limité. 4 Rédaction des propositions de projet Chaque proposition de projet contiendra les éléments suivants : 1. une description (1/2 page A4) en français 3 de la fonctionnalité que vous souhaitez implémenter 2. une indication sur les outils que vous souhaitez utiliser (soit JAVA - leJOS - Eclipse, soit le logiciel LEGO Mindstorms, soit d'autres outils de votre choix, à préciser) 3. une liste du matériel LEGO nécessaire (indiquer le nombre et le type de capteurs, le nombre de moteurs, le nombre de briques NXT) 2 3 choisir la version (32 bits ou 64 bits) correspondant à votre ordinateur. Toutefois, en cas de problèmes avec le robot, même sur un ordinateur 64 bits, essayer d'installer la version 32 bits d'eclipse. il est aussi possible de rédiger les documents en anglais ou en allemand. Dans ce cas, tous les documents, y compris le rapport final, seront rédigés dans la langue choisie. 3 5 Quelques exemples pour vous inspirer Comme source d'inspiration, je mets ici quelques exemples de projets réalisés par d'autres4 : • Tri des pièces LEGO, d'après leur couleur5 :https://www.youtube.com/watch? v=jDQgvLB_wnA&index=13&list=PL96B2CAEE0661A097 • Guitare électrique : https://www.youtube.com/watch?v=a-gcrhmxcKY • Coffre-fort : https://www.youtube.com/watch?v=XjWt4O4bSjQ • Bancomat : https://www.youtube.com/watch?v=U9CFAZuc1tg6 • Distributeur automatique : https://www.youtube.com/watch?v=uNyO6mYTXIk Pour information uniquement, voici encore quelques projets plus complets, mais qui vont au-delà des exigences d'un travail de maturité : • • • 4 5 6 Machine à bière: https://www.youtube.com/watch?v=tSXTirkNrCA Machine pour construire des avions en papier: https://www.youtube.com/watch? v=TDiIOTjyHzU Machine pour résoudre des sudoku : https://www.youtube.com/watch?v=Mp8Y2yjV4fU bien sûr il ne s'agit pas de reproduire à l'identique un de ces projets. on pourrait y ajouter une extension consistant à faire le tri, également d'après la forme (ou la longueur) ou https://www.youtube.com/watch?v=L0Z-ym0k89Q pour une version plus complète, qui va au-delà d'un travail de maturité 4