Création d’un carrousel en CAO

Amateurs de sensations fortes ? Ce projet va vous intéresser !!

Bonjour à tous et à toutes, nous sommes 4 étudiantes Pauline Fouville, Élodie Branchereau, Julie Dandin et Lison Dalby. Dans le cadre de notre PEIP 2 à Polytech Angers, nous avons modélisé en 3 dimensions un carrousel pour 4 enfants. Avec l’aide de Monsieur Ibrahim, nous avons travaillé pendant des mois pour créer celui qui nous conviendrait parfaitement.

Ce projet a été préalablement divisé en deux grandes parties :

– Une partie avec des calculs de résistance des matériaux, où le groupe en charge de ce travail devait effectuer les calculs de choix de la motorisation, des arbres, des roulements, du réducteur etc..

– Et l’autre partie, dont notre groupe était en charge avec le dimensionnement et la conception des pièces sur le logiciel SolidWorks.

C’est cette seconde partie qui nous a le plus intéressées car il s’agit de choses beaucoup plus concrètes. De plus, la maitrise de la CAO est nécéssaire dans la plupart des branches de l’ingénierie et notamment dans celles vers lesquelles on pense s’orienter. Un autre groupe de projet s’est occupé de la première

Notre défi a été de nous adapter du mieux possible aux contraintes qui nous étaient imposées (vitesse de rotation, poids des enfants, …). Nous avions tout de même de nombreux choix à faire sans aucune obligation tels que la forme des pièces et le choix des matériaux.

Dès la première séance, nous avons commencé à lister toutes les pièces et les moyens de fixation dont nous aurons besoin. Les calculs de puissance du moteur, de l’angle d’inclinaison, et des roulements a sans doute été la partie la plus rapide. Ce qui nous a pris le plus de temps a été la modélisation 3D de l’intégralité des pièces. En effet, nous avons passé quelques séances à prendre en main le logiciel SolidWorks afin de pouvoir réaliser les pièces et faire les simulations de forces rapidement et du mieux possible par la suite.

Nous avons ainsi modélisé une grande partie des pièces donc nous avions besoin mais nous en avons également sélectionné certaines sur des bibliothèques en ligne que nous ne pouvions pas créer comme les roulements ou les vis et boulons par exemple. Tout au long du projet nous avons veillé à ce que notre système soit opérationnel sans se préoccuper de l’esthétisme du carrousel (couleurs, design…). Si nous avions eu davantage de temps, ce critère aurait été intéressant à traiter.

Ce fut un projet qui nous a occupé pendant près de quatre mois et qui nous a appris de nombreuses choses. En effet, grâce à ce projet, nous avons su être autonomes, travailler en équipe et gérer l’organisation de notre travail.

Sur les 5 dernières séances, nous avions décidé d’imprimer notre maquette CAO en 3 dimensions pour avoir un rendu réel et pouvoir mieux visualiser notre travail. Nous avons donc du modifier certaines pièces qui étaient trop complexes pour être imprimées correctement par l’imprimante mais également changer la taille de notre carrousel afin qu’il puisse correspondre aux dimensions fixées par celles de l’imprimante Cependant lors de la mise en oeuvre de ce projet final, l’imprimante 3D de l’école est tombée en panne et nous n’avons malheureusement pas pu finaliser cette réalisation.

Finalement, nous sommes toutes les 4 très satisfaites du travail réalisé !

Projet GNSS

Introduction :

Bonjour, nous sommes Antoine Stourbe et Franck Gluszek, étudiants en deuxième année préparatoire intégrée de Polytech Angers. Dans le cadre de notre projet de conception nous avons décidé d’améliorer un robot photomètre afin qu’il puisse se déplacer et se localiser précisément en milieu extérieur, notamment un stade où son usage pourrait témoigner un intérêt réel dans le milieu des médias.

Intérêt du projet :

Beaucoup pourraient se demander à quoi pourrait servir un robot ayant pour but de mesurer la lumière de manière autonome. Ce qu’il faut savoir c’est que de nombreuses normes d’éclairages sont définies dans le monde du bâtiment et aujourd’hui il est bien plus simple de sur-éclairer plutôt que de prendre manuellement chaque mesures. C’est notamment le cas pour ne nombreux stades où il est nécessaire d’avoir une bonne couverture lumineuse afin de garantir une retransmission agréable aux téléspectateurs .

Les tests :

Afin de vérifier si le gps pourrait être installé sur le robot il faut savoir s’il est suffisamment précis et nous permettra de sortir une position du robot permettant en premier lieux de le déplacer en autonomie et puis de sortir une carte des mesures fiables. C’est là que moi et mon collègue intervenons, notre rôle se constituait de tester le gps pour savoir si oui il ferait l’affaire. Et pour cela nous avons effectué trois tests.

Le premier avait pour but de vérifier si le matériel fonctionnait bien. Pour cela nous avons simplement fait le tour de notre école pour savoir s’il pouvait situer notre position de manière correcte. Le résultat ayant été très concluant nous avons décidé de pousser les expérimentations.

Le premier tests :

premier test

premier test

En rouge nous avons notre position réel et en bleue celle donnée par le gps.

Le second test a été réalisé afin d’avoir une idée de la précision du gps. Pour cela nous nous sommes servis d’un parking afin d’avoir une référence précise entre une position x et celle donnée par le gps x’. Dans ce test nous avons fait 2 tours afin d’augmenter les données récoltées. Et malgré certaines mesures vraiment défaillantes le gps à su précisément retranscrire notre parcour. Seulement les points parasites étaient suffisants à eux-même pour dire que le gps n’était pas fiable. Nous avons donc émis l’hypothèse qu’en marquant une pause à chaques “étapes” nous pourrions éliminer ces coordonnées parasites.

Second test

Second test

C’est ici que notre troisième test rentre en jeux. Lui aussi avait été fait sur un parking et consistait en deux parcours, l’un des deux serait fait en mouvement constant et l’autre se verrait marqué de pauses de 10 secondes à l’aller puis de 5 au retour afin de voir si ce temps permettrait au gps de mieux se calibrer sur notre position.

Premier parcour du troisième test

Premier parcour du troisième test


Deuxième parcour du troisième test

Deuxième parcour du troisième test

Ici nous avons constaté que les données du second parcours étaient bien plus proches de notre trajet que le parcours initial. Seulement les coordonnées n’étaient clairement pas assez précise pour situer notre robot dans ne serait-ce que 250cm².

Problématiques rencontrées :

La principale problématique à laquelle nous avons dû faire face est celle de la programmation. En effet malgré les cours fournis durant notre année scolaire nous nous sommes sentis démunis face à cet aspect très présent de notre projet, cela est principalement dû à notre manque d’expérience certain. Malgré cela nous avons réussi à dépasser nos lacunes et mettre en places des programmes réalisés par nos soins, notamment un programme récupérant les trames données par le gps et les stockant dans un fichier texte afin de pouvoir avoir une trace constante des données récupérées.
Le second problème auquelle nous avons fait face fut celui de prendre en compte tout ce qui pouvait fausser les données récupérées par le gps. En effet les données fournies par le gps peuvent être faussées en fonction des conditions météorologiques, de dégagement nuageux, de la présence de corps métalliques ou imposants tel que des bâtiments. Tout autant de choses qu’il faut aussi prendre en compte dans un cas de situation réel, la taille des tribunes d’un stade pouvant par exemple grandement fausser les données reçues par le robot et par conséquent celles qu’il renvoies.

Conclusion :

Lors de ce projet nous avons pu apprendre en quoi consistent les tests permettant de vérifier si oui ou non un composant peut remplir une fonction donnée. Que cela demande une certaine rigueur et que par dessus tout il ne faut s’attendre à rien, juste se fier aux résultats. La plus grande difficulté à laquelle nous avons dû faire face est notre lacune en programmation, mais cette dernière nous à forcer à nous dépasser. Nous aurions apprécié pouvoir effectuer des tests sur le robot mais cela aurait été dans le cas ou les tests précédents se trouvaient être concluants.
Pour finir nous pouvons affirmer que le gps ne conviendrait pas à l’élaboration de ce robot et qu’il faudrait trouver une solution alternative à ce dernier.

Le matériel à disposition :

Le rover

Le rover

Le capteur gps

Le capteur gps

La carte arduino

La carte arduino

En vous remerciant pour votre attention !
Antoine Stourbe
Franck Gluszek

Projet Course en Cours

Bonjour à tous !
Nous sommes deux étudiants en deuxième année du cycle préparatoire de Polytech Angers. Passionnés par le monde de l’automobile nous avons décidé de travailler sur le projet Course en Cours qui consiste à réaliser un vehicule miniature.

1)Présentation du projet:
Course en Cours est un concours centré sur le domaine de la science et de la technologie, lancée pour la première fois en 2006. Le but étant d’inventer, de concevoir en 3D, fabriquer et faire courir un vehicule miniature en respectant un certain cahier des charges. La course se déroulera sur une piste rectiligne de 20m, le véhicule devra se mesurer à d’autres voitures venues de toute la France. Notre projet à été encadré par M.IBRAHIM Mohamed, Responsable de la 4ème année QIF.

2) Travail effectué
Pour réaliser ce véhicule, nous avons procédé à l’ensemble de l’étude énergétique du véhicule en prenant compte des dimension, du poids, de l’aérodynamisme et du design du véhicule.
Après avoir récolter l’ensemble des informations nécessaires, nous avons réalisé la maquette du véhicule à l’aide de Solidworks, voici une image de la base et de la carrosserie.
Carrosserie de la voiture :

carosserie

Châssis de la voiture :

chassis

La coque ainsi que le châssis ont été fabriqué avec de l’ABS, un thermoplastique résistant au chocs et qui a la particularité d’être très léger.

Conclusion:

Ce projet nous a permis de créer et développer notre propre modèle de voiture à partir de contraintes spécifiques à la course sur circuit. En effet, nous avons dû nous adapter à celles ci afin d’obtenir un véhicule compétitif respectant le cahier des charges demandé et nos envies personnelles. Trouver les pièces correspondant à nos attentes et dimensionner notre maquette fût très difficile du fait du peu d’informations disponibles sur les produits correspondants. De ce fait, nous avons perdu pas mal de temps à chercher des produits correspondants à ce que l’on recherchait et dont nous connaissions les dimensions, ce qui a entraîné un report de l’impression de la maquette car il fallait la dimensionner en fonction des pièces que nous allions utiliser

Soufflerie aérodynamique à flux laminaire

Bonjour à tous!

En cette fin de cycle préparatoire de Polytech Angers, nous avons pu réaliser un projet de conception. Nous nous sommes imposé comme objectif de réaliser un projet qui nécessiterait la mise en pratique de compétences et connaissances acquises durant ce cycle préparatoire.Quant au choix de notre sujet, nous avons décidé d’approfondir un phénomène découvert lors d’une séance de travaux pratique de mécanique appliquée. En effet, ce TP était consacré à l’étude de l’écoulement de l’air. Concept que nous avions déjà abordé en première année, en mécanique des fluides. L’un des objectifs, ce jour-là, fut de mesurer la portance et la traînée aérodynamiques d’une aile pour différents angles d’attaques d’un profil d’aile.

avion plat
Nous avons pu conclure qu’après un certain angle d’incidence entre l’aile et le flux d’air généré par le tunnel, l’aile perd subitement la plupart de sa portance aérodynamique ce qui s’apparente à sa capacité à “voler”. Cela correspond dans l’aviation au phénomène de décrochage, qui est la principale cause d’accident mortel en aviation commerciale.avion décollage
Ainsi, nous avons choisi d’étudier ce phénomène et de l’expliquer de manière simple et visuelle en construisant notre propre soufflerie aérodynamique à flux laminaire.

Objectifs :

Afin d’expliquer simplement comment une aile subit un décrochage nous avons donc construit une soufflerie, avec l’ajout de vapeur épaisse pour visualiser l’action de l’air sur l’aile. En effet lors du décrochage, on peut visuellement noter des turbulences dans l’air.

Observez sur le dessin ci-dessous les flux d’air sur toute la surface de l’aile.

aile plat

À mesure que l’angle d’attaque augmente, le flux d’air supérieur commence à se séparer de la queue de l’aile. Cela crée des turbulences dans son sillage.

aile décollage

Enfin, l’avion décroche lorsque l’angle d’attaque critique, spécifique à la surface portante, est dépassé. Après quoi, le flux d’air supérieur se sépare soudainement de l’aile, ce qui réduit dangereusement la portance. L’avion est donc en situation de décrochage.

aile décrochage

Expérimentations :

Une de nos première réalisation fut de créer une ébauche en 3D de notre projet afin de pouvoir étudier les problèmes auxquels nous allions être confrontés. Pour cela, nous avons utilisé le logiciel Sketchup Web qui a l’avantage d’être sur un serveur en ligne et donc d’être accessible sur n’importe quel ordinateur, sans avoir à télécharger de logiciel.

projet 3D

  • Un des éléments principaux de notre soufflerie , l’aile(4), fut imprimés en 3D afin d’assurer une pièce la plus lisse possible. Le forme de l’aile est un véritable profilé, car il correspond au profil NACA 4418 utilisé sur de véritables aéronefs.
  • Pour notre expérience, nous avions besoin d’amener de la vapeur dans notre tunnel, nous avons donc placé un ventilateur(5) à l’envers, à sa sortie. Ce qui a pour effet d’aspirer l’air, avec peu de perturbations.
  • Toutefois, cet air est très turbulent et donc rend la visualisation difficile, nous avons donc placé une structure en nid d’abeilles(1), imprimée en 3D, afin de rectifier le flot d’air et ainsi avoir un flux plus ou moins laminaire.
  • Afin de pouvoir observer les flux de vapeur plus facilement nous avons placé une rangée de LEDs(2) sur le dessus du tunnel.
  • Pour pouvoir mesurer la vitesse du vent nous avons mis en place une sonde de Pitot(3), nous l’avons placé sur le bas du tunnel, là où elle génère le moins de turbulence.

photo légende

Enfin, le pilotage de l’ensemble fut réalisé grâce à la carte programmable Arduino Uno. Le pilotage du ventilateur, des lumières et du servomoteur se fait à l’aide de potentiomètre et de bouton-poussoir.
La mesure de la vitesse du vent dans le tunnel est lisible depuis l’environnement de développement d’Arduino.

breadboard

Aperçu du rendu final :

Conclusion :

L’expérience fut donc enrichissante et stimulante, que ce soit en terme de travail d’équipe ou de résolution de problèmes. De plus, ce fut l’occasion d’en apprendre davantage sur des sujets qui nous passionnent, et d’expérimenter dans ces domaines. Nous avons pu travailler avec de nombreux professeurs et techniciens qui nous ont partagé leurs connaissances et expériences, ce que nous avons particulièrement apprécié et nous les en remercions.

Macadré Clément
Guerineau Maxence

Projet Peip2 : Dépollution, un serious game basé sur Unity3D

Logo du jeu - Dépollution

Logo du jeu – Dépollution

    Bonjour chers lecteurs et lectrices,

Nous sommes trois étudiants du second cycle préparatoire de Polytech Angers, Alexandre, Arthur et Veton. Durant notre quatrième semestre, nous devions travailler sur un projet de conception pour un total de 80h. Nous avions choisi celui qui portait sur la mise en sécurité d’un site industriel pour l’intérêt qu’il offrait à la fois sur les filières BEMS et SAGI par le biais des contrôles de sécurité sur un site industriel et sur l’utilisation d’un moteur graphique. Dépollution est un serious game basé sur Unity 3D.

Photo de groupe De gauche à droite : Veton G., Arthur C. et Alexandre B.

Photo de groupe
De gauche à droite : Veton Gashi, Arthur Cochennec et Alexandre Bataille

  • Notre objectif

    Le but de ce projet est d’apprendre à reconnaître les différents polluants et dangers que nous pourrions trouver sur un site industriel désaffecté et de pouvoir évaluer leur dangerosité. Le joueur devra utiliser la solution adéquate pour décontaminer chaque composant sensible du site suivant les mesures qui lui seront annoncés.

    Le jeu se veut à la fois sérieux et ludique, principe du serious game en anglais. Vous jouerez le rôle de l’ancien directeur dont son but consiste à nettoyer toute la zone dans un temps imparti.

    Avec cette article nous voulons vous présenter comment nous en sommes arrivé là. D’une part, nous avons découpé le travail en trois parties: la conception du terrain, le codage et la collecte de données. Pour le dernier, nous n’en parlerons que brièvement. Il ne s’agit que de recherches approfondies sur les différents produits et matériaux toxiques que l’on peut retrouver dans une centrale.

  • Le level design

    Petite aparté, le level design consiste en la création des niveaux et l’environnement présent(s) dans un jeux vidéos ainsi que ses éléments décoratifs.

    Dans notre cas, nous avons décidé de démarrer sur une île pour sa simplicité aux niveaux des bordures (la carte étant entourée d’eau) et qui est plutôt grande afin de créer différentes zones.

    Capture d'écran de notre usine sur Unity 3D

    Capture d’écran de notre usine sur Unity 3D


    L’usine présente un complexe industriel similaire aux centrales à charbon déjà existantes. Nous avons choisi une usine à charbon plutôt qu’une centrale nucléaire par exemple, parce que celle-ci présente davantage d’éléments polluants de risques différents et plus ou moins dangereux pour l’homme et l’environnement.

    Capture d'écran de la carrière sur ledit logiciel

    Capture d’écran de la carrière sur ledit logiciel


    Nous souhaitions rajouter une carrière afin d’ajouter un autre univers lié à l’exploitation des ressources naturelles, ici celle du charbon.

    Capture d'écran du lac (Unity 3D)

    Capture d’écran du lac (Unity 3D)


    Enfin, nous avons créé un lac pour le refroidissement de la centrale, lui-même lié à la carrière via l’écoulement des eaux.

  • Le game design

    Le game design quant à lui décrit tout ce qui se rapporte aux règles du jeu, à l’élaboration des mécaniques de gameplay, à la physique des éléments et bien plus.

    Celui-ci se résume au codage que nous avons fait avec le langage C#. Le codage est sans aucun doute la partie la plus fastidieuse et la plus complexe du projet.

    D’une part, nous avions choisi de commencer par l’élaboration d’un cycle jour/nuit ainsi qu’un chronomètre. Très vite, nous avons remplacé le second par une barre de vie qui diminue au fil du temps et qui décélère plus le joueur arrive à dépolluer correctement. Nous avons ensuite ajouté une fenêtre de fin pour indiquer que le joueur a réussi sa mission et a contrario, un game over. Puis nous avons fini sur les éléments toxiques, avec des interactions pouvant ajouter une couleur en fonction du bon ou du mauvais choix qui a été émis.

    Voici une petite présentation du jeu en vidéo :

  • Les problèmes rencontrés

    Nous avions rencontré quelques problèmes au cours de nos sessions de projet. Avant toute chose, nous devions nous approprier le logiciel Unity3D à l’aide du cours de M. Richard et le projet initial mis à disposition par M. Capelle, nos deux professeurs référents. Malheureusement, nous n’avons pas reçu la partie xml du fichier sur laquelle nous devions nous reposer afin de générer un texte automatique.
    À cela s’ajoute la corruption de données dû aux mises à jour. Il était donc important de vérifier que nous avions la bonne version de Unity, celle avec laquelle nous avions commencé la première fois. D’autre part, le jeu est assez volumineux et pas bien optimisé ce qui rajoute de la latence lorsque nous voulons ajouter de la flore sur la carte, comme des arbres par exemple ou bien de l’eau en mouvement. Ainsi, nous avons dû nous dispenser de ces idées pour la conception du terrain.

  • Ce que nous retenons de ce projet

    Le projet était en somme très attrayant, nous avons pu découvrir les différentes étapes lors de la conception d’un jeu vidéo, mais aussi comprendre le fonctionnement d’un moteur graphique. Également, ce projet nous a permis d’approfondir nos connaissances au niveau de la programmation avec des exemples concrets comme la création d’un game over.

    La partie sur l’élaboration du terrain demandait assez de minutie et de patience mais le rendu final était au delà de ce que nous nous imaginions. L’environnement est soigné, détaillé et les textures sont de plutôt bonne qualité.

    D’un point de vue global, ce projet nous a permis de progresser sur notre manière d’appréhender un travail de groupe, sur la diffusion des connaissances et sur notre organisation.

    Lanceur de ficelle

    Bâti

    Bâti

    Lanceur de ficelle

    Lanceur de ficelle

     

     

     

     

     

     

     

     

     

    Bonjour,

    Nous sommes 2 étudiants de 2ème année du cycle préparatoire de Polytech Angers. Lors de notre 4ème semestre, nous avons eu la chance de travailler sur le projet            ” lanceur de ficelle”.

    Un lanceur de ficelle, c’est quoi ?

    C’est tout simple ! Un lanceur de ficelle est un système constitué de 2 roues qui propulsent un fil continuellement.Voici une vidéo pour mieux comprendre le principe:  https://www.youtube.com/watch?v=rffAjZPmkuU

     

    Les objectifs : 

    En partant du prototype déjà créé par le groupe précédent (voici son article : https://blog.univ-angers.fr/istiaprojetsei2/2018/06/20/projet-lanceur-de-ficelle/ ), nous devions créer des ondulations puis automatiser le système pour réaliser automatiquement des formes spécifiques.

    Travail réalisé  :

    1) Prise en main

    Dans un premier temps, nous avons pris en main le prototype réalisé l’année dernière puis nous avons remplacé le pack de pile qui alimentait les moteurs par un transformateur. Cela a permis d’avoir une source d’énergie plus stable.

    2) Recherche de solutions

    Nous avons commencé par chercher une solution pour créer des ondulations. Nous avons finalement retenue 3 solutions. Premièrement, utiliser un servomoteur pour diriger l’axe et ainsi créer des vagues :

    Servomoteur  de l'axe

    Servomoteur de l’axe

    Après plusieurs essais, nous avons conçu un bras en carton commandé par le servomoteur pour “taper” la ficelle et ainsi créer des vagues.

    Bras en carton

    Bras en carton

    Enfin, nous avons remarqué que sur le prototype précédent, le fil subissait beaucoup de frottements. C’est pourquoi nous avons conçu un guide pour l’envoyer entre les 2 roues et limiter le plus possible les frottements. Il a été conçu sous SolidWorks puis imprimer en 3D.

    Guide conçu sous SolidWorks

    Guide conçu sous SolidWorks

     

     

     

     

     

     

    Guide monté sur le prototype

    Guide monté sur le prototype

     

     

     

     

     

    Voici la version finale du prototype :

    Prototype final

    Prototype final

    3) Automatisation

    Puisque que notre prototype fonctionnait plutôt bien, nous avons débuté l’automatisation du système. L’automatisation c’est fait via une carte Arduino et un shield. Un Shield est une extension de l’Arduino qui permet d’alimenter nos 2 moteurs avec un courant suffisamment important. Puis nous avons écrit un programme commandant les 2 moteurs et les 2 servomoteurs simultanément pour obtenir des figures.

    Carte Arduino et Shield

    Carte Arduino et Shield

    4) Conception de la version finale

    Etant satisfait de notre prototype et de l’automatisation, nous avons poursuivit le projet par la conception de la version finale. Le but est de réduire la taille du lanceur et de le rendre plus stable. La solution retenue était de déplacer le centre de gravité du lanceur vers le centre du bâti. Nous avons donc conçu un bâti complètement démontable pour pouvoir l’imprimé pièce par pièce. Voici quelques exemples de fichier SolidWorks :

    Côté gauche

    Côté gauche

    Bas

    Bas

     

     

     

     

     

    Bâti complet

    Bâti complet

    Puis nous les avons imprimés via l’imprimante 3D disponible au Fablab. Voici le résultat avec seulement certaines pièces :

    Bâti

    Bâti

     

     

     

     

     

     

     

     

     

    Nous avons aussi imprimé le bras qui permet de “taper” le fil :

    Bras

    Bras sous SolidWorks

    Bras imprimé

    Bras imprimé

    Afin de distribuer la rotation du servomoteur à l’axe, nous avons opté pour un système poulie-courroie . Nous avons commandé la courroie et conçu sous SolidWorks puis imprimer les poulies :

    Système poulie-courroie

    Système poulie-courroie

     

     

     

     

     

     

     

     

     

    La plaque contenant les moteurs et le servomoteur du bras a aussi été conçue sous SolidWorks pour ensuite être usinée via un Charly Robot . C’est une commande numérique qui permet, à l’aide d’une fraise, de détourer une pièce. 

    Version prototype

    Version prototype

    Version finale

    Version finale

    Des roulements aux extrémités de l’axe ont été ajoutés pour assurer une rotation avec le moins de frottements possible.

    Conclusion 

    Nous sommes fiers du résultat obtenu. La version prototype fonctionnait très bien. Cependant le passage à la version finale fut assez complexe et malheureusement nous n’avons pas pu terminer la version finale.

     

     

     

     

    Bras Robot

    Salut les Polypotes !

    Actuellement en deuxième année de cycle préparatoire ingénieur, nous avons choisi de nous intéresser à la robotique dans le cadre de notre projet de conception. Notre groupe se compose de Victor, Emma et Stanislas. Nous sommes trois étudiants souhaitant rejoindre la filière SAGI, la robotique nous intéresse donc tout particulièrement. Le projet du bras robot nous a permis d’avoir une première approche de ce domaine, de découvrir le fonctionnement des actionneurs et du microcontrôleur (carte Arduino Uno). De plus, nous avons eu l’occasion de nous essayer à la cinématique afin de modéliser notre bras sur Matlab ou Python. Notre professeur référent, M.Chatti nous a guidé étape par étape tout du long de notre projet.

    IMG_3467

    Au commencement de notre projet, nous avons reçu le bras tel qu’il est sur la photo ci – dessus. Il venait d’être fabriqué à l’aide de l’imprimante 3D à Polytech Angers et était composés de 6 servomoteurs qui effectuent des rotations lui permettant de se déplacer dans toutes les direction de l’espace. A première vue, nous avons décelé quelques défauts, par exemple, certains servomoteurs n’avaient pas un assez grand couple pour soulever le bras et porter un objet, de plus d’autres ne fonctionnaient même pas.

    Pour commencer nous avons décidé de nous intéresser aux actionneurs; les servomoteurs. Il fallait les tester afin d’être sûr de leur bon fonctionnement. Pour ce faire nous avons utilisé des potentiomètres ainsi qu’une carte Arduino. Les potentiomètres avaient pour objectif de donner une consigne au microcontrôleur qui avait lui même pour but d’envoyer un signal aux actionneurs, les servomoteurs. Nous avons simulé notre programme et nos branchements sur le logiciel TinKerCad.

    tinkercad

    Après avoir testé et changé les servomoteurs qui ne fonctionnaient pas bien nous nous sommes occupés de connecter la carte Arduino au smartphone. Pour ceci on a utilisé un module Bluetooth à brancher sur la carte, et une application Android que nous avons créé à l’aide d’une application développée par Google et le MIT; MIT app inventor, qui permet de créer des applications installables sur tous les smartphones Android.

    Interface de MIT app inventor avec notre code en block

    Interface de MIT app inventor


    Nous avons configuré l’interface de l’application pour y installer six curseurs (un pour chaque moteur) et ainsi contrôler toutes les articulations du bras.

    L’application, une fois connectée au module Bluetooth de la carte, envoie un signal Bluetooth à chaque déplacement d’un curseur, qui indique le moteur concerné ainsi que la position désirée par l’utilisateur. La carte reçoit ce signal et pilote les servomoteurs en fonction de la position donnée.
    Sur l’image ci-dessus on peut voir deux boutons clap numérotés 1 et 2. Ce sont les boutons scénario. Sur Arduino, nous avons programmé un enchaînement de positions pour chaque servomoteur qui va créer un mouvement en répétition, ce qui permet de répéter une action comme on peut voir dans la vidéo ci-dessous, où le bras vide une boîte de chewing-gum puis la replace à un autre endroit.

    Nous avons aussi ajouté à notre programme un moyen d’enregistrer les positions de servomoteurs envoyées depuis l’application pour ensuite répéter automatiquement la série mouvement demandé précédemment par l’utilisateur, pour que chacun puisse créer son propre scénario directement depuis l’application.

    Cinématique directe/inverse:
    Par la suite, nous nous sommes renseignés sur:
    – La cinématique directe(calculer la position finale de la pince à partir des positions de toutes les articulations.)
    – La cinématique inverse(calculer les positions nécessaires aux articulations pour obtenir une position finale du bras, à partir de la position de la pince.)
    Cependant, par manque de temps, nous n’avons pas pu approfondir la cinématique inverse. Avec une étude de cinématique inverse nous pourrions donner une position en X,Y,Z d’un objet et le bras ferait les mouvements nécessaires pour que la pince atteigne cette position le plus rapidement possible.

    Pour la cinématique directe, il est possible de calculer la position finale de la pince avec plusieurs approches différentes, par exemple à l’aide des relations trigonométriques existantes dans un triangle rectangle ou à l’aide d’équations de cercles. Nous avons donc fait des programmes sur Python et Matlab pour effectuer ces calculs, ce qui nous à permis de modéliser le bras en fonction des positions qu’on lui à donné.

    Interface final  de la cinematique du bras, sur matlab

    Interface finale de la cinématique du bras, sur Matlab

    Problèmes:
    Quelques problèmes sont apparus, liés aux branchements et à la puissance des servomoteurs, nous avons donc eu besoin de changer deux des 6 servomoteurs car il avaient besoin d’un plus grand couple. Nous avons donc acheté deux servomoteurs d’un couple supérieur à 20kg.cm pour soulever le bras. Nos anciens servomoteurs ne dépassaient pas 13kg.cm. Les nouveaux moteurs n’étant pas de la même taille, nous avons imprimé une nouvelle pièce adaptée aux nouvelles dimensions(en blanc ci-dessous).


    Malgré l’acquisition de moteurs plus puissants, nous avions toujours des problèmes pour contrôler le bras. Ces problèmes étaient en fait dû au manque d’alimentation, la carte Arduino avait du mal à alimenter les 6 servomoteurs. Nous avons donc branché la moitié des moteurs sur un générateur pour leurs fournir 6V et ainsi leur donner une plus grande puissance, ce qui a fonctionné, puisque nous avons fini par faire fonctionner parfaitement le bras avec une charge dans la pince.

    Pour finir, nous avons trouvé ce projet très intéressant car il nous à permis d’approfondir nos connaissances en robotique et de découvrir de nouvelles choses telles que la cinématique qui nous sera probablement très utiles pour la suite de nos études.

    Merci de nous avoir lu jusqu’au bout!

    Virtual City

    Bonjour/Bonsoir à tous !

    Nous sommes trois étudiants en deuxième année du cycle préparatoire de Polytech Angers. Dans le cadre de nos études futures, nous avons choisi ce projet pour travailler sur la réalité virtuelle afin d’améliorer nos compétences.

    Dirigé par Monsieur Richard, “Virtual City”, développée sous Unity3D, a avant toute chose un but médical. Cet environnement virtuel sera utilisé par des personnes atteintes de troubles de la mémoire, le patient sera plongé dans la ville et devra suivre un trajet prédéfini où seront placés différents événements.

    A la fin de la séance, nous recueillerons ce que le patient a pu retenir de cette expérience, il devra ainsi faire travailler sa mémoire.
    Cahier des charges :

    • Installation du périphérique Oculus Rift.
    • Développer la ville en la rendant interactive et la plus réelle possible.

    • Se déplacer dans la ville via deux modes de transport différents.

    • Réalisation d’un menu pour faciliter le choix entre les différentes scènes.

    Unity 3D :

    Unity 3D est un logiciel, ou plus précisément, un moteur de jeu multi-plateforme en 2D ou 3D (console, smartphone, PC) développé par Unity Technologies. Cet outil permet de créer des jeux que cela soit pour les débutants ou pour les plus expérimentés avec plusieurs langages de programmation possibles : C++,C# et JavaScript. Ce logiciel gratuit (avec des fonctionnalités professionnels payantes) est aujourd’hui utilisé pour la création de minimum 50% des jeux vidéos.

    Oculus Rift :

    L’Oculus Rift est un casque de réalité virtuelle conçu par l’entreprise Oculus VR qui immerge totalement l’utilisateur dans des mondes virtuels. Projet lancé en 2012, la mise sur le marché mondial du produit se fait qu’en 2016. Une fois l’Oculus équipé, l’utilisateur pourra observer deux écrans (les mêmes)  pour chaque oeil, c’est ce système qui permet d’être immergé totalement. C’est grâce à un système de capteurs posé dans la pièce que le casque et les manettes se repèrent dans l’espace et c’est ainsi que nos mouvements se traduisent dans le jeu.

    Réalisation du projet :

    1. Redesign complet de la ville et Création d’un menu

    En premier lieu après avoir pris en main le logiciel, nous voulions finaliser l’apparence de la ville. Pour se faire nous avons ajouté de la verdure avec la création d’un parc en plein milieu de la ville. Nous avons refait le ciel et ajouter différentes météos comme un mode pluie ou un mode nuit par exemple. En parallèle, nous avons créé un menu pour nous permettre de switcher entre les différents modes de jeu, gérer l’audio du jeu,etc.

    Menu principal du jeu

    Menu principal du jeu

    2.  Animation de la ville et ajout d’événements

    Pour animer notre ville, nous avons organisé un trafic routier géré par un système de feux de signalisation. Nous avons ajouté des piétons qui circulent sur les trottoirs, des gens qui discutent. Au niveau du parc, nous avons fait un “jeu” qui consiste à ramasser un déchet pour le jeter dans une poubelle. Un acte citoyen ça fait pas de mal !

    Vue de la ville à travers le parc

    Vue de la ville à travers le parc

    3. Installation du périphérique Oculus

    C’est le moment déterminant de notre projet. On veut donner une expérience intéressante à ceux qui joueront à notre simulation. Nous avons aussi optimisé les déplacements de notre personnage en voiture ou à pied, le fait de pouvoir attraper des objets, etc.

    4. Dernières modifications

    Les dernières heures de travail, on s’est consacré aux détails comme remettre à échelle les objets, les personnages. Après plusieurs phases de test, nous avons corrigé certains bugs.

     

    Conclusion

    Ce projet a été très enrichissant pour nous, même si nous avons pas fait les mêmes types de travaux. Chacun a pu développer ses capacités et apprendre que cela soit humainement ou sur Unity. La répartition des tâches a été une clé pour bien finaliser notre projet dans les temps.

     

    EVA : Extra – Vehicular Activity

    Bonjour à tous !

    Notre groupe, composé de Victor Fourgeoux, Quentin Dubois et Mathieu Laisné, tous étudiants en PEiP-2, a réalisé une station spatiale en réalité virtuelle afin d’expérimenter l’Activité Extra-Véhiculaire (ou Extra-Vehicular Activity en anglais).

    Pour ce faire, nous avons utilisé le moteur de jeu Unity3D ainsi que le langage de programmation C#.

      OBJECTIFS

    Notre objectif principal était de réaliser une station spatiale, semblable à l’ISS, afin de pouvoir la visiter à l’intérieur, comme à l’extérieur. Au fil du projet, nous nous sommes rajoutés de nouveaux objectifs afin de rendre le projet plus interactif et immersif.

    Nous devions aussi :

  • Faire un menu au démarrage du jeu permettant d’évoluer à l’intérieur ou l’extérieur.
  • Permettre le déplacement du joueur en extérieur en s’agrippant à des poignée.
  • Permettre la réparation de pièce cassée à l’extérieur de la station.
  • Permettre le déplacement entre l’extérieur et l’intérieur de la station.
  • Donner vie à l’intérieur de la station.
    Vue Extérieure de la station

    Vue Extérieure de la station

      CRÉATION DE L’INTÉRIEUR

    Afin de créer l’intérieur de la station, nous avons créer une première scène. Une scène, dans Unity, est semblable à un niveau dans un jeu-vidéo; on peut y placer différents objets, programme, personnages, etc.
    Pour former l’intérieur, nous nous sommes basé sur un plan que nous avons au préalable réalisé sur papier. Ensuite, en utilisant des “packages” nous avons assemblé des modules. Les packages sont des ressources (modèle 3D, 2D, ou programmes) réalisés et mis à disposition par les utilisateurs du moteur. Le package que nous avons utilisé nous a été fournit par Paul Richard.

    Nouveau couloir

    Nouveau Couloir

    Après cela, viens l’agencement de l’intérieur et la création de patrouille dans la station. Nous avons utilisé des personnages pré-fait (Astrella et Adam) qui sont disponibles dans l’Asset Store d’Unity. Nous y avons ensuite ajouté des programmes les dictant une routine à réaliser.

    Hall Intérieur

    Hall Intérieur avec les personnages


    Ensuite nous avons du rajouter la réalité virtuelle, qui est gérée par un package fournit par Oculus, afin de permettre l’intégration du casque Oculus Rift. Ce package est suffisant pour gérer les mouvements en présence de gravité et permet aussi d’attraper les objets que l’on désigne “grabbable”.

    Enfin, nous avons créé un script en C# permettant de sortir de la station en rentrant en contact avec une combinaison. Celà se traduisait par un changement entre la scène “Intérieur” et “Extérieur”.

    Combinaison pour sortir

    Combinaison pour sortir

      CRÉATION DE L’EXTÉRIEUR

    Extérieur de la station

    Extérieur de la station


    Pour créer l’extérieur de la station nous avons créé une seconde scène. Dans cette dernière nous avons importé des packages fourni contenant des modules de station. Nous avons ensuite dessiné un plan sur papier pour choisir la forme que prendrait notre station. Ensuite, nous avons dû placer tout les modules disponibles en suivant notre plan pour créé notre vaisseau.

    Ensuite, pour permettre le mouvement sans gravité par le biais de jets packs, nous avons dû modifier les programmes fournis par Oculus. Nous y avons aussi ajouté la gestion des réservoirs d’oxygène ainsi que de carburant. De cette manière, l’oxygène diminue en fonction du temps jusqu’à un seuil critique, et le carburant diminue quand le joueur utilise les joysticks. Cette perte est visualisable grâce à deux barres, semblables aux barres de vie dans les jeux-vidéos.

    Barres d'oxygène (en haut) et de carburant (en bas)

    Barres d’oxygène (en haut) et de carburant (en bas)

    Finalement, nous avons créé un script permettant de s’accrocher à des poignées afin de se tirer le long de la station, ainsi que plusieurs script permettant la réparation de pièces ou leurs remplacement dans l’espace après avoir appuyer sur une touche.

    Une partie du script gérant les poignées

    Script appliqué aux poignées, permettant leur utilisation

    Concernant l’EVA, nous avons permis au joueur de pouvoir remplacer des panneaux solaires cassés autour de la station. Pour les réparer le joueur doit s’en approcher, puis une instruction s’affiche et indique au joueur de rester appuyer sur un bouton des Controllers. Et après 2 secondes, le panneau se répare.

      GESTION DES COLLISIONS

    Enfin, nous avons dû gérér les collisions. Les collisions sont une partie très importante dans la conception de jeux-vidéos. En effets, des collisions mal gérées peuvent créer des bugs, notamment le joueur traversant les objets et le sol.
    Normalement, lors de la création de modèles 3D avec des logiciels tel que 3ds Max, un Mesh est créé. Ce mesh, qui est donc un ensemble de triangles dans l’espace, permet ensuite de faire un collider. Le collider permet donc la collision soit en extérieur (en convexe) soit en intérieur, comme avec des couloirs.

    Collider d'un Module

    Collider d’un Module

      MENUS ET CHARGEMENT

    Pour finir, nous avons relié l’intérieur et l’extérieur avec un menu permettant de choisir si nous voulons lancer le jeu dans l’intérieur, dans l’extérieur ou quitter.

    Menu au lancement

    Menu au lancement


    Ceci consistait à créer une nouvelle scène de menu en 2D, qui permettait au joueur de cliquer avec sa souris sur les 3 options qui lui était proposé. Après avoir choisit l’espace où il allait évoluer, le joueur n’as plus qu’à enfiler le casque Oculus Rift et la simulation commence !

    photo eva

      CONCLUSION

    Notre résultat final est assez conforme à nos attentes et à nos buts. Malgré quelques “bugs” autour du déplacement grâce aux poignées, tout les mouvements en 0G sont semblables à la réalité. L’implémentation de l’Oculus Rift est aussi réussie, ainsi que les différents changements d’environnement (menu, intérieur & extérieur). Nous remercions M.RICHARD pour son aide apportée à notre projet.

    Ballon-sonde Stratotech

    Lien

    Bonjour à tous !

    Nous sommes un groupe de 4 étudiants de PEIP 2 qui, accompagné de M.Lagrange, a eu le projet d’envoyer un ballon-sonde dans la stratosphère, c’est-à-dire à environ 30 km d’altitude. L’objectif du projet était de faire un film de la courbure de la Terre, et de récupérer des données telles que l’altitude, la température, et la pression.

    C’est un projet qui a été choisi par un autre groupe cette année, nous avons donc dû réfléchir à un point d’originalité à ajouter, pour nous démarquer. C’est ainsi que nous avons choisi d’effectuer le lancer du ballon un peu avant le lever du soleil, pour avoir de belles images au-dessus d’Angers et dans la stratosphère. Vous allez voir que tout ne s’est pas passé comme prévu !

    Capture d’écran 2019-06-17 à 11.14.28

    Avant toute chose, au début du projet, nous avons demandé une autorisation à la DGAC (Direction Générale de l’Aviation Civile), un organisme qui s’occupe de la sécurité du trafic aérien. En effet, notre ballon ne devait pas perturber le vol des avions et autres, et il était primordial de le faire en premier puisque sans cette autorisation, pas de lancer possible.

    Nous avons fait toutes les démarches nécessaires, et ensuite est venu le temps des recherches, puisqu’il y a de nombreuses contraintes à respecter lorsqu’on envoie un ballon dans la stratosphère !

    Le vol a une durée approximative de 3 heures, il faut que tous les composants électroniques, et les caméras, puissent tenir aussi longtemps.
    La température pendant le vol peut descendre jusqu’à -60°C ! Il est primordial d’isoler la nacelle au maximum pour garder la chaleur à l’intérieur.

    Par rapport à ces contraintes, voici la liste de ce qui compose notre dispositif :

    Ce dispositif est composé de :

    1 ballon gonflé à l’hélium
    1 parachute
    1 réflecteur radar (imposé par la DGAC pour que le ballon soit repérable sur les radars des avions)
    1 nacelle en polystyrène contenant 2 caméras, 2 capteurs (altitude, température, pression), 1 carte Arduino, 1 émetteur radio/GPS, 1 batterie, ainsi qu’un dispositif GSM de secours.

    Capture d’écran 2019-06-17 à 11.52.17

    Vous comprenez qu’un des grands enjeux de notre projet a été de le retrouver après l’avoir lancé, nous avions été prévenus, c’était un point très important et nous devions tout mettre en oeuvre pour retrouver le ballon. Nous avons donc réfléchi à une solution efficace pour le rechercher, et nous avons décidé de recevoir en temps réel la position du ballon, pour le suivre en direct et le retrouver facilement. Cette transmission se fait par ondes radio, or aucun de nous 4 n’avait de connaissances particulières dans le domaine. C’est à ce moment que nous avons contacté le club de Radioamateurs d’Angers, une association composée de membres passionnés, qui nous ont été d’une grande aide dans la réalisation du projet.
    https://arml.r-e-f.org/index.php

    Capture d’écran 2019-06-17 à 11.25.47

    Les membres de l’association nous ont donné beaucoup de leur temps, et de leurs conseils, pour nous aider, pour nous faire comprendre comment la transmission radio fonctionnait, et nous les remercions pour cela. Ce sont eux qui nous ont conseillé quant à l’émetteur que nous devions placer dans la nacelle, et ils nous ont également aidé pour sa programmation. Nous pouvons dire que sans eux, nous n’aurions pas pu suivre le ballon, ni le retrouver !

    Maintenant que le projet est abouti, que la programmation des capteurs est terminée (même si elle nous a donné beaucoup de fil à retordre), que la nacelle est prête à être lancée, et que nous avons notre solution pour rechercher le ballon pendant son vol, nous allons le lancer.

    Le 25 mai, à 6h35 du matin, après 3 heures de préparation et plusieurs tentatives qui n’ont pas abouties, le ballon s’envole enfin, vers une destination inconnue. La vitesse ascensionnelle du ballon était très faible, certainement à cause du poids de la nacelle, ce qui était déjà un mauvais présage pour la durée du vol, qui allait être plus longue que prévue ! Nous prenons la voiture et suivons le ballon grâce au dispositif dans la nacelle, et nous allons direction plein sud !

    Capture d’écran 2019-06-17 à 11.49.59

    Le voyage n’a pas été sans embûches et nous avons à plusieurs reprises perdu le signal du ballon, ce qui nous a inquiété et nous a emmené jusqu’à Bordeaux. Nous avons patienté longtemps, en recevant quelques nouvelles toutes les heures, mais le ballon continuait de monter ! Il devait éclater aux alentours de 30 km d’altitude, et il l’a fait, à 13h, et est retombé peu de temps après dans une clairière remplie de fougères. Au final, le vol aura duré 6 heures, et nous aurons fait 1000 km pour aller le chercher ! (et rentrer chez nous ensuite)

    Capture d’écran 2019-06-17 à 11.43.08

    Au final, nous avons récupéré notre ballon, et nous en sommes fiers ! Malheureusement, comme tout ne peut pas être parfait, nous n’avons récupéré que quelques minutes de vidéo des caméras, nous ne savons pas pourquoi mais elles se sont arrêtées toutes seules, malgré les tests que nous avions effectué au préalable. Nous avons quand même de belles données récupérées par les capteurs !
    Vous trouverez plus bas le trajet du ballon, et la vidéo que nous avons montée avec les images que nous avons récupéré.

    Capture d’écran 2019-06-17 à 11.58.00

    Capture d’écran 2019-06-17 à 11.59.22

    La vidéo montrant le jour de lancement est disponible sur le lien ci-dessous.