Unity Polytech

Si vous aimez l’univers du jeu vidéo, ainsi que l’univers 3D et que vous souhaitez découvrir Polytech Angers, alors vous êtes tombé au bon endroit !

  • Introduction
  • Nous sommes trois étudiants en deuxième année de cycle préparatoire à Polytech Angers (FERRON Yves, PIERRE Enzo, DOYEN Maxime). Nous allons vous partager notre fabuleuse expérience notre projet de conception en seconde année ! Notre projet est inédit cette année, nous n’avions donc aucune trame de départ. Il consiste à réaliser une visite virtuelle de Polytech Angers afin que le joueur puisse se déplacer dans l’école à distance. Evidemment pour mener à bien ce projet, nous avons eu recours à des logiciels spécifiques : d’une part Unity et d’autre part Visual Studio.

    Quels sont ces logiciels ?

    Unity est un logiciel de conception 3D, on y trouve des centaines d’outils permettant de créer de multiples univers 2D ou 3D. C’est d’ailleurs avec ce logiciel que bon nombre de jeux vidéo sont réalisés. Quant à Visual Studio est un logiciel de programmation, dans notre cas il permet la création de script servant à effectuer des actions/mouvements liés à Unity (Par exemple l’ouverture d’une porte ou encore le passage d’un étage à l’autre). Avec l’utilisation de ces deux logiciels, nous avons pu créer Polytech Angers virtuellement.

  • Déroulement du projet

  • La modélisation 3D

    Dans un premier temps, il nous a fallu reconstruire la structure principale du bâtiment, pour ce faire nous avons repris les plans de Polytech Angers afin de copier au mieux l’école. Cela a commencé par les murs, puis les fenêtres et enfin les textures. Une fois fait, il nous a fallu remplir l’intérieur de ces murs par de la décoration. Les tables, chaises, claviers et écrans que nous avons créé, ont formé des bureaux. Nous avons placé ces derniers pour faire nos salles. Enfin, ne voulant pas rester enfermé, nous avons conçu un terrain représentant la rue adjacente.

    EvolutionBatiment


    Animation et Interaction

    Après avoir bien avancé la modélisation, nous sommes passés à l’animation du joueur et à l’interaction. Afin de déplacer le joueur nous avons utilisé Visual Studio avec du C# (langage de programmation), pour faciliter l’implémentation du joueur dans la scène nous utilisons le “character controller” qui est un composant préconfiguré sur Unity, ce qui facilite grandement les réactions qu’à le joueur face à des marches notamment. Voulant que la visite soit interactive, nous avons ajouté une animation sur les portes; pour ce faire nous utilisons des animations en plus d’un programme, toujours en C#, qui vont nous permettre d’avoir un mouvement fluide sur l’ouverture et la fermeture des portes.


    Menu

    Enfin, pour un rendu général plus propre nous avons pensé à créer un menu. Celui-ci permettra au joueur de comprendre comment se déplacer et interagir durant la visite, ainsi que de paramétrer les sensibilités de vitesses de rotation et de déplacement. En jeu, cela permet aussi de mettre la visite en pause; avant la création de ce menu le curseur continuait d’être traqué par le programme de rotation de la caméra du joueur même lorsque celui-ci ne le voulait pas, ce qui avait pour conséquence placer l’utilisateur dans une position assez peu confortable (caméra visant le sol ou le ciel par exemple).

  • Difficultés éprouvées
  • L’un des aspects les plus compliqués a été le changement d’étage dans le bâtiment. Pour des soucis d’optimisation nous avons opté pour que chaque étage constitue une scène différente (une scène peut être considérée comme un niveau dans un jeu vidéo), l’école ayant plusieurs escaliers il est possible d’apparaître à plusieurs endroits différents. Cependant lorsque Unity charge une nouvelle scène (le prochain étage en l’occurrence), il supprime toutes données de l’étage précédent, ce qui a pour conséquence que l’on ne sait plus quel escalier a pris le joueur.
    Le second souci, plus handicapant, est le nombre d’images par seconde (processus agissant sur la fluidité de l’image). En effet pour chaque étage nous avons modélisé toutes les salles qui le composent ce qui a eu pour conséquences de rajouter de nombreux objets. Tous ces objets demandent beaucoup de ressources à l’ordinateur, ce qui a créé des moments où l’ordinateur ne supportait pas le nombre trop important d’objets à afficher.

  • Conclusion
  • Nous avons pris un réel plaisir à mener à bien ce projet, malgré le nombre conséquent d’heures de travail que nous avons dû fournir pour cela. Nous n’avons éprouvé aucune marque de lassitude bien au contraire, en voyant le projet se dessiner au fil des jours, nous avons été de plus en plus motivés à le mener à terme. Grâce à ce projet, nous avons donc appris à manipuler deux nouveaux logiciels, appris à travailler en équipe à se partager la charge de travail. Enfin, ce projet a été fructueux a constitué une source de développement personnel pour chacun d’entre nous.

    comparaison de notre travail avec le bâtiment réel :
    Comparaison Reel_Unity

    Merci d’avoir pris le temps de lire notre article.

    Maquette d’une maison connectée

    Bonjour à toutes et à tous,

    Nous sommes Amir GUERFI, Walid JALALI, Jonas CHERON et Valentin HUREL, quatre étudiants en deuxième année de cycle préparatoire du parcours des écoles d’ingénieurs Polytech. Nous avons pris énormément de plaisir à réaliser le projet de création d’une maquette de maison connectée, supervisé par notre professeur, Monsieur Riahi.

    Présentation du projet :

    Modèle de maison sur Revit

    Modèle de maison sur Revit

    L’objectif de ce projet est de réaliser une maquette à échelle réduite d’une maison individuelle équipée d’un enregistreur autonome de données (température, humidité, taux de CO2, …). Ces dernières peuvent être exploitées par la suite pour l’étude et la modélisation du comportement des occupants de la maison. Cette solution peut être facilement déployée sur un bâtiment à échelle réelle.

    De ce fait, la réalisation de ce dernier s’est déroulée en trois parties distinctes :

    La première partie consistait à la conception de la maison. Nous avons de ce fait, à l’aide d’un logiciel de CAO, imaginé et dessiné une maison à l’échelle réelle avec une porte et deux fenêtres comme le stipulait le cahier des charges. Une fois les plans réalisés, nous avons tous ensemble décidé de l’échelle adoptée pour la réalisation d’une maquette de cette maison. Il fallait donc trouver le juste milieu entre une maquette assez grande pour pouvoir travailler aisément dessus et une maquette de taille raisonnable afin de limiter les coûts de fabrication et de faciliter le stockage de cette dernière. Nous avons donc décidé de retenir l’échelle 1/20ème afin de satisfaire ces contraintes.

    La deuxième étape de ce projet était d’apprendre à manipuler une carte Arduino et les différents capteurs imposés par le cahier des charges. Ces derniers étaient composés de capteurs de température, d’humidité, de CO2, de luminosité et d’ouverture/fermeture de fenêtres. Il fallait donc programmer et relier tous ces capteurs avec la carte Arduino à l’aide de codages complexes afin d’enregistrer les différentes données de la maison et de les afficher dans un tableau Excel.

    Enfin, le projet s’est terminé par la réalisation concrète de la maquette avant d’y intégrer tous les capteurs et de réaliser les différentes mesures.

    Travail Réalisé :

    La première contrainte de cette modélisation était de penser à construire une maison dont la réalisation en maquette réelle à échelle réduite ne poserait pas trop de problème.
    Afin d’avoir des composants à nos dimensions et un design voulu, nous avons modélisé ces fenêtres, volets et porte avant de les importer dans notre maison. Pour finir, nous avons ajouté des textures aux murs, sol et toit de notre maison afin de la rendre plus réelle et design.

    Ensuite nous avons commencé la partie « programmation » des différents capteurs. En effet, l’objectif premier de notre étude est de recueillir les données de notre maquette. Nous avons pour cela utiliser une carte Arduino Uno R3 qui nous a permis de recueillir les mesures sur un tableur Excel. Cependant, afin de mieux comprendre leur fonctionnement, nous avons traité chaque capteur séparément, avant de les rassembler.

    Carte Arduino Uno R3

    Carte Arduino Uno R3

    Ainsi, nous avons débuté par le capteur de luminosité. Nous avons fait le choix d’une photorésistance GL5528. Ce capteur est composé d’une résistance dont la résistivité varie en fonction de l’intensité lumineuse. Ainsi, la résistance du capteur diminue lorsque l’intensité lumineuse de l’environnement augmente. Nous obtenons en sortie une tension électrique que nous convertissons ensuite en luxmètre par le biais de la formule :

    AnalogToResistance

    Avec U = 5 volts, la tension délivrée par l’Arduino.
    Analog est la valeur analogique en sortie de la photorésistance.
    1024 est le nombre de valeurs possibles. L’Arduino code sa tension aux bornes du port analogique (0V à 5V) sur 10 bits, soit 2^10 = 1024.
    Et donc V en volts.

    VoltToResistance

    Avec R_0 = 10 000 ohms et R en ohm.

    ResistanceToLux

    L en lux.

    Pour le montage de capteur, il était impératif d’ajouter une résistance en série de 10 000 Ω. Nous recueillons la valeur de la tension en sortie sur le pin analogique A0, capable de lire la valeur d’une tension renvoyée par notre capteur.

    Photoresistance GL5528

    Photoresistance GL5528

    Ensuite, nous nous sommes attaqués au capteur d’ouverture fermeture de référence ADA375. Celui-ci se compose de plusieurs fils, on relie le premier sur la GND de l’Arduino et le second sur le pin DIGITAL n°4. Lorsque les deux parties sont en contact, le capteur laisse passer le courant (circuit fermé) et renvoie 0. A l’inverse, lorsque que l’on les éloigne l’une de l’autre, le courant ne circule plus (circuit ouvert), ainsi le capteur renvoie 1.

    Capteur d’ouverture fermeture ADA375

    Capteur d’ouverture fermeture ADA375

    En outre, nous avons traité le capteur de température et d’humidité : AM2302 (version filaire de la DHT22). Ce capteur est composé d’un capteur d’humidité capacitif et d’une thermistance qui mesurent l’humidité et la température de l’air ambiant. L’AM2302 est connecté au pin 5V, au pin GND et renvoie un signal numérique sur le pin de sortie digital n°2.

    Capteur de température et d’humidité  AM2302

    Capteur de température et d’humidité AM2302

    Plus tard dans le projet, nous avons fait l’acquisition du capteur d’environnement et de CO2 de référence CCS811. Il s’agit d’un capteur environnemental qui nous permettra de connaître la présence de COV dans notre maquette et d’en déduire le niveau de composés organiques volatils totaux (TVOC en anglais). Il permet également de déterminer le taux de CO2 équivalent présent dans l’air.

    Capteur d’environnement CCS811

    Capteur d’environnement CCS811

    Voici donc une représentation graphique du montage des capteurs sur l’Arduino :

    Représentation du montage des capteurs sur l'Arduino

    Représentation du montage des capteurs sur l’Arduino

    Vous pourrez aussi visualiser le code du programme de notre Arduino via ce lien :
    https://create.arduino.cc/editor/amir49/53ccc0f1-98a0-45bf-ab38-cf373de0ea6f/preview

    Enfin, pour réaliser notre maquette, la première opération consistait à déterminer les dimensions et l’échelle de cette maquette. Nous avons pris comme référence le fait que nous voulions que notre maquette fasse 50 cm de long. La longueur réelle de notre maison étant de 10 m, notre maquette est donc une reproduction de notre maison à l’échelle 1/20. Nous avons donc poursuivi en convertissant toutes les côtes de notre maison grâce à l’échelle calculée. Ensuite, nous avons préparé des plans de découpe pour chaque pièce composant notre maquette.

    Pour assembler ces pièces, nous avons opté pour de la colle à bois ainsi que des équerres pour le toit.

    Pour nos ouvertures, nous avons découpé des planches de plexiglas pour les fenêtres et de contre-plaqué pour la porte. Puis, nous les avons fixés aux murs de notre maison à échelle réduite avec des charnières. A l’extérieur, nous avons ajouté des volets coulissants sur rails. Enfin, nous avons fixé les différents capteurs, aux fenêtres et au sol de la maison. Nous avons également fixé la carte Arduino à l’intérieur de la maison et passé un câble afin de relier la carte Arduino à un ordinateur.

    Plan du mur de la façade avant de la maison

    Plan du mur de la façade avant de la maison

    Plan1

    Notre maquette ce présente donc ainsi :

    Maquette maison

    Maquette maison

    Problèmes rencontrés :

    Lors de la réalisation de la maquette, nous nous sommes rendu compte que certaines formes géométriques dessinées en CAO étaient relativement complexes à réaliser dans la réalité.
    Pendant cette opération, nous avons été surpris par la difficulté à réaliser des découpes droites à l’aide de la scie sauteuse.
    Par la suite, nous avons été confrontés à un problème plus important. Nous ne savions pas comment réaliser les trous de fenêtres dans les panneaux de contreplaqués.
    Pour finir, nous avons dû trouver une solution afin de pouvoir, si souhaité, réduire la luminosité à l’intérieur de la maison. Néanmoins, nous n’avions plus de charnières disponibles. Nous avons donc réfléchi à un autre système de volets amovibles avec le peu de matériaux restants.

    Critique des résultats obtenus :

    Une fois la maquette finalisée et les capteurs installés, nous avons pris le temps de relever et d’analyser les différentes données transmises par la carte Arduino sur l’ordinateur. De ce fait, nous avons pu observer que les capteurs d’ouverture et de fermeture des fenêtres étaient fonctionnels. En effet, les capteurs transmettent une certaine valeur lorsque les fenêtres étaient fermées et une autre valeur lorsqu’elles étaient ouvertes.
    Aussi, lorsque les volets étaient fermés, le capteur de luminosité envoyait une valeur beaucoup plus faible que lorsque les volets étaient ouverts.
    Nous avons également obtenu des valeurs cohérentes de la part du capteur de température et d’humidité.
    Enfin, dans le but d’analyser le capteur de qualité d’air, nous avons ou non souffler sur ce capteur. Nous avons ainsi remarqué des différences flagrantes au niveau des résultats en fonction des différentes conditions citées ci-dessus.

    Tableau résultats

    Tableau résultats

    Montage Arduino dans la maquette

    Montage Arduino dans la maquette

    Conclusion

    Ce projet fut pour nous très enrichissant. Nous avons pris un réel plaisir à travailler sur notre maison intelligente. Nous avons fait le choix de travailler sur cette maquette car il s’agit d’un projet concret dont la prochaine étape aurait été de l’appliquer dans une réelle pièce. De plus, nous avons été amenés à travailler sur différents aspects. En effet, dans le cadre de ce projet, il y avait de la programmation, de la CAO et la construction finale de la maquette.

    Photomatonsaïque : des photos en mosaïque

    Galerie

    Cette galerie contient 2 photos.

    Bonjour à tous ! Nous sommes deux étudiants en deuxième année du cycle préparatoire de l’école d’ingénieur Polytech Angers. Dans cet article, nous allons vous parler de notre projet de conception sur lequel nous avons travaillé tout au long du … Continuer la lecture

    Serious Game Innovation

      Bonjour à tous,

    Nous sommes 3 étudiants de deuxième année du cycle préparatoire à Polytech Angers : Théo, Basile et Simon. Lors de notre dernier semestre, nous avons eu l’opportunité de réaliser un projet de notre choix. Nous allons donc vous présenter notre projet de groupe « SERIOUS GAME INNOVATION ». Nous devions créer un jeu ludique tout en apportant les éléments nécessaires à la compréhension et à l’apprentissage de certains procédés d’innovation. Le but du jeu est de développer des innovations autour de l’automobile. A la fin c’est le joueur ayant le plus d’argent qui gagne la partie.

    • Nos objectifs

    Le but de ce projet était d’allier le côté ludique et apprentissage de l’innovation dans un jeu de société. Pour ce faire, nous devions construire notre jeu autour d’une interface numérique facilitant le décompte des points ainsi que la gestion des comptes en banque. De plus, ce jeu doit pouvoir être réalisé en cours ou lors d’une formation d’entreprise sur l’innovation. Le cahier des charges nous proposant plusieurs contraintes comme la durée du jeu ou le matériel nécessaire, nous avons dû penser à des solutions, celles-ci devant être les meilleurs pour permettre une bonne immersion des joueurs dans le jeu.

    • Découverte, documentation et analyse fonctionnelle

    Cette partie nous a permis d’appréhender le sujet et de clarifier les objectifs. Nous avons découvert notre cahier des charges, puis nous nous sommes renseignés sur les Serious Game existants sur le marché. Cela nous a permis de mieux visualiser le jeu à réaliser.
    Ensuite, nous avons débuté la partie analyse fonctionnelle indispensable dans notre projet. Celle-ci avait pour objectif de déterminer avec objectivité les fonctions que devait satisfaire notre produit afin de valider le cahier des charges. Certaines fonctions étaient imposées par le cahier des charges comme la cible du jeu, tandis que d’autres comme le matériel étaient plus libres. Cette partie nous permis d’identifier certains points forts et failles du projet, et donc de travailler dessus par la suite pour apporter une amélioration, ou une atténuation d’une contrainte.

    • Développement et conception

    Cette partie est sûrement la plus intéressante et la plus longue du projet. Tout d’abord, nous allons vous parler de notre application, qui est l’outil principal de notre jeu. Après de longues réflexions et essais, nous avons décidé de la programmer en langage C. Ce langage nous a permis d’avoir une plus grande liberté de création ainsi qu’une certaine fiabilité permettant la gestion bancaire de la partie. C’est sans aucun doute ce qui nous a pris le plus de temps surtout par son côté expérimental. Nous avons fait évoluer notre programme au fur et à mesure du projet, ce qui nous a permis d’y intégrer par exemple le plateau de jeu en version numérique (c’est-à-dire les données concernant les cartes et les différents événements). Notre application regroupe :

      – L’interface et la fiche des joueur
      – Un système de comptage de points
      – Une gestion bancaire pour les joueurs avec notamment une fonctionnalité de prêt bancaire
      – Une banque de donnée comportant les éléments physiques du jeu
      – La possibilité d’acheter certaines ressources
      – Un système de gestion du temps et du nombre de tours

    Interface de l'application avec les différentes possibilités

    Interface de l’application avec les différentes possibilités

    Dans un second temps, nous avons travaillé sur la création de différents procédés de jeu comme les cartes innovation, les cases évènements, et tous les aspects « sérieux » en lien avec l’innovation. Tout d’abord les éléments sérieux de notre jeu doivent permettre la compréhension et l’apprentissage de certains procédés d’innovation. Pour une bonne jouabilité, les cartes ont été conçues de manière physique, celles-ci regroupent les informations nécessaires au développement. On y trouve par exemple le prix de lancement, la rentabilité, les employés nécessaires et enfin des phrases reprenant certains concepts de l’innovation mais aussi des faits marquants liés à l’innovation automobile.

    Pour améliorer le réalisme du jeu, nous avons pris en compte l’aspect de la concurrence en classant les innovations dans différentes catégories. Par exemple, si plusieurs joueurs développent des innovations d’une même catégorie ils devront se partager le marché et donc leurs bénéfices seront réduits. L’application se charge donc de diminuer automatiquement le gain des joueurs si leurs innovations appartiennent au même secteur.

    La répartition des innovations pour créer de la concurrence

    Répartition des innovations dans le système de concurrence

    Ensuite, le plateau est un aspect important du jeu. Il est constitué de cases “évènements” qui ont pour but de représenter les aléas dans les entreprises. Nous avons décidé de créer un design liant le côté ludique avec le thème de l’automobile, notre choix s’est donc porté vers le célèbre jeu vidéo Mario Kart, qui nous permettait de pouvoir inclure nos cases évènements sur le tracé du « circuit Yoshi ».

    Plateau de jeu

    Plateau de jeu

    • Conception du matériel en 3D et en bois

    Pour compléter le projet et acquérir de nouvelles compétences, nous avons conçu des pièces sur SolidWorks pour ensuite les imprimer en 3D. Pour rester dans le thème de l’automobile, nous avons choisi des pions représentant des véhicules.

    Les 4 pions appartenant chacun à un joueur

    Les 4 pions appartenant chacun à un joueur

    Puis, d’autres pièces ont été conçus et imprimés dans le but d’améliorer l’expérience de jeu : une boite pour la pioche des cartes innovations et une roulette permettant au joueur d’avancer son pion sur le plateau. A chaque tour le joueur lance la roulette et il pourra avancer son pion de 1,2,3 ou 4 cases. Nous avons choisi de concevoir une roulette plutôt qu’un dé pour éviter les « 5 » et « 6 » et ainsi empêcher qu’un joueur finisse le tour trop rapidement. Cela apporte également de l’originalité au jeu.

    La flèche qui désignera la case sur le socle.

    La flèche qui désignera la case sur le socle.

    Le socle de la roulette permettant aux joueurs de savoir le nombre de cases à parcourir.

    Le socle de la roulette permettant aux joueurs de savoir le nombre de cases à parcourir.

    Le support de pioche qui permet de stocker les cartes innovations.

    Le support de pioche qui permet de stocker les cartes innovations.

    • La boîte de rangement

    Pour pouvoir ranger et transporter le jeu, nous avions conçu une boite de rangement en 3D pouvant accueillir tous les éléments du jeu comme cela était requis par le cahier des charges. Dans l’objectif de réduire au maximum le volume de la boite, nous avons créé une ergonomie spéciale de la boite.

    Boite de rangement pouvant contenir tous les éléments du jeu.

    Boite de rangement pouvant contenir tous les éléments du jeu.

    Cependant, nous avons eu des difficultés à imprimer la boite en termes de durée d’impression et à cause de la chaleur : le fil sortant de la buse ne se solidifiait pas assez rapidement pour obtenir un résultat correct. Nous avons donc décidé de la fabriquer en bois avec les moyens du FABLAB de l’école. Le résultat et tout aussi correct et permet bien de ranger et de transporter tout le jeu.

    Boîte de rangement en bois

    Boîte de rangement en bois

    • Conclusion

    En conclusion, nous sommes très heureux du résultat obtenu. Nous avons apprécié travailler sur ce projet. Notre jeu fonctionne très bien. Il est à la fois ludique et sérieux comme nous le demande le cahier des charges. Nous sommes également fiers du système automatique et digital de comptage des points et de gestion que nous avons programmé pour améliorer l’expérience des joueurs. Enfin ce projet nous a permis d’apprendre à utiliser SolidWorks ainsi que l’imprimante 3D car nous n’avions pas eu l’occasion de le faire en première année à cause des conditions sanitaires.

    Pour finir, ce projet est une réussite collective pour tous les 3 car nous avons su apprendre, travailler en autonomie et développer des compétences spécifiques qui seront indispensables dans notre future vie professionnelle.

    Jeu complet

    Jeu complet


    Roulette imprimée en 3D

    Roulette imprimée en 3D


    Support de pioche imprimée

    Support de pioche imprimée

    Merci de votre lecture

    Galinier Simon, Moissonnier Théo, Perly Basile

    Création d’un mur de lumières pour Escape Polytech

    Bonjour à toutes et à tous ! Nous sommes trois étudiants de 2ème année actuellement en fin de cycle préparatoire de Polytech Angers et nous allons vous présenter notre projet réalisé plus tôt dans l’année : Le Mur-Lumières.


    CAO

    Rendu 3D de notre mur lumière

    Nous avons utilisé des outils de CAO pour perfectionné le design de l’ensemble et éviter les erreurs de conceptions.

    Programmmation

    Une petit partie du code de notre projet

    Un script python permet de contrôler le comportement de l’ensemble des élements.

    Assemblage

    Assemblage de la machine

    Pour concrétiser le projet nous avons réalisé la fabrication de tout le bâti et le câblage nécessaire au bon fonctionnement.


    Introduction de notre projet :

    Vue générale du Mur Lumières

    Ce projet fait partie d’un lot de projets associés à l’escape Polytech, un escape-game réalisé par les enseignants chercheurs de Polytech qui ont décidés de demander de l’aide aux étudiants pour créer des mini-jeux futurs. Le nôtre consiste à reproduire une forme sur un écran d’ampoules Philips HUE 5×5 à l’aide de boutons qui pilotent les ampoules : à vous de trouver la bonne combinaison !

    Création du bâti :

    Dans notre projet, il nous a fallu créer un bâti pour pouvoir stocker tous les autres composants et déplacer le tout facilement. Ainsi, l’utilisation de SolidWorks nous a paru nécessaire pour créer ce que nous avons choisi de faire : une borne d’arcade. Cette partie du projet n’a pas été la plus longue du fait que le bâti était plutôt simple à réaliser.
    Cette CAO a ensuite permis la découpe puis l’assemblage des pièces dans du bois acheté chez un de nos fournisseurs.

    Création du programme gérant les Ampoules Philips :

    Pour contrôler les ampoules connectées, nous avons utiliser un pont Philips Hue se connecte aux ampoules avec le protocole ZigBee. Aussi, les 16 boutons que nous avons utiliser requièrent une carte PacLed 64 pour changer leurs couleurs simplement. Pour faire fonctionné tout les composants électronique ensemble nous avons utiliser un script python sur un Raspberry Pi 4. Ce programme permet de contrôler le clavier à l’aide d’un Arduino Uno, l’écran LCD, le pont, les boutons de couleurs avec la PacLed. Le code est pensé pour être le plus modulable et évolutif possible. Nous avons fait attention à ce que le code permette une grande résilience face aux éventuels petites interférences et perturbations qui pourrait survenir à cause de l’utilisation de fils non isolé pour transmettre de l’information entre les composants.

    Assemblage et Tests réalisés à Polytech :

    Une fois toute la partie programmation terminée, nous avons pu amener les planches découpées à Polytech pour y faire l’assemblage. Par la suite, nous nous sommes occupés de la longue partie concernant le branchement des multiples câbles (électriques et électroniques) avant de relier les cartes Arduino et Raspberry à nos autres composants.
    Malgré quelques heures de complications à performer le code pour satisfaire toutes les conditions souhaitées, nous sommes arrivés à terminer le projet en temps et en heure !

    Vue arrière du boîtier ouvert

    Vue arrière du boîtier ouvert

    Déroulement d’une partie :

    Une partie peut donc se dérouler de la façon suivante :
    – Le joueur arrive et sélectionne son niveau à l’aide du clavier qui lui confirme par la suite grâce au LCD

    Ampoules de toutes les couleurs
    panneau de commandes avec les boutons de couleurs

    – Il essaye de trouver la bonne combinaison de boutons pour avancer dans le jeu et parvenir à trouver le résultat désiré
    – Lorsqu’il trouve, un code s’affiche sur l’écran LCD et le joueur peut passer au niveau suivant.

    Conclusion :

    Grâce à l’importance de la communication et du travail d’équipe au sein de notre groupe, nous avons pu répondre à un cahier des charges qui semblait impossible si l’on s’y attaquait seul. Ce projet nous a d’autre part permis de développer nos compétences en CAO, en programmation et surtout nous a offert des connaissances en matière d’électricité, de moyens d’assemblages et sur bien d’autres domaines. Nous tenons à remercier encore une fois toutes les personnes ayant contribué au projet et nous espérons que ce projet, dont nous avons pris beaucoup de plaisir à réaliser, sera amené à être améliorer les prochaines années.

    Projet d’une Voiture à Ressort

      Bonjour à tous !
  • Nous sommes trois étudiants de Polytech Angers. Durant ce dernier semestre, il nous a été demandé de travailler sur un projet. Nous nous sommes imposé comme objectif de réaliser notre projet de conception sur un sujet qui nous permettrait d’utiliser, les connaissances apprises durant ces deux années. Ayant plus de facilités dans les matières mécaniques, notre choix s’est fixé sur plusieurs projets et le projet de voiture à ressort a été retenu.
  • Ce projet était consacré à la conception d’un véhicule automobile miniature. Ce véhicule devait fonctionner à ressort ainsi que respecter le cahier des charges de Course en Cours.
  • Afin d’atteindre cet objectif, nous avons travaillé en plusieurs étapes. Une étape de documentation et de brouillon, une étape de calcul et de conception et une étape de réalisation.
  • 1) Documentation et Brouillon

  • Cette étape n’est pas la plus intéressante mais elle est nécessaire pour pouvoir répondre aux objectifs annoncés. Ces différentes recherches nous ont amené à différentes conclusion:
  • Dimensions maximales de la voitures : 350*120*180mm
    Diamètre des roues : entre 54mm et 60mm
    Poids minimal : 700g
    Utilisation d’un châssis plein en aluminium
    Coque en plastique

  • De manière à avoir une idée du poids et de la forme finale, nous avons réalisé un brouillon en CAO. Ce brouillon n’est qu’un début et il a été amené à être modifié.
  • Voici le premier brouillon réalisé:

    brouillon2

    2) Étude énergétique et conception

    2-a) Engrenages et ressorts

  • Dans le but d’obtenir le meilleur véhicule possible, il était nécessaire de déterminer avec précision ce qui se passait au niveau du bloc moteur et de quoi celui-ci était fait.
    Cette étude nous a amené à un bloc moteur composé de 4 roues dentées afin de transmettre la puissance aux roues ainsi que 1 ressort pour créer cet effort.
  • Voici le bloc moteur final, relié aux roues motrices (arrières) :

    engrenages

  • Nous avons opté pour 4 engrenages afin de réduire l’effort nécessaire à mettre sur les roues pour recharger le ressort et pour optimiser au maximum la puissance transmise par le ressort.
  • Afin de réaliser tous ces calculs, il nous fallait les caractéristiques du ressort à utiliser. C’est pourquoi nous avons commandé 2 types de ressort et simulé l’expérience avec les 2.
  • Ces résultats nous ont permis de choisir le ressort suivant :

    ressort

    Dimensions : 10*1.5*1540 mm
    Module de Young : 206 Gpa
    Constante de raideur : k = 0.376217532 Nm/rad

    2-b) Fixation bloc moteur et roues

  • Le bloc moteur se situe au niveau des roues arrière et grâce à 2 étages d’engrenage, il est possible de faire tourner le ressort afin de le serrer.
    Il était nécessaire de trouver un moyen de fixer les roues ainsi que les différents éléments au châssis.
  • Nous avons pour cela utilisé des paliers à semelles, des rondelles de serrage, des “roues libres” ainsi qu’une pièce permettant de fixer le ressort à l’arbre.
  • fix ressort

  • Voici cette pièce, qui à l’aide d’un moyeu (servant à fixer cette pièce autour de l’arbre) fixe le ressort à l’arbre afin qu’il ne bouge pas.
  • Le ressort est inséré dans la fente que voici.

    2-c) Coque

    Grâce à Solidworks nous avons pu créer cette coque :

    coque

    3) Fabrication et montage

  • Suite à un problème survenu dans la fabrication et par manque de temps, nous n’avons pas pu fabriquer la coque et le châssis à du être réalisé en bois.
  • Voici la voiture finale réalisée avec une adaptation des mesures en raison du passage d’un châssis en aluminum à bois :

    IMG_20210604_174229

    Prudhomme Alban
    Guillouët Basile
    Seznec Alexandre

    Projet Peip2 Vélo RV

    Bonjour à tous !

    Notre groupe d’étudiants en seconde année de classe préparatoire à Polytech Angers est composé de Victor DEBUIRE, Amaury MENAGE, Victor LODA et Titouan ROUSSEAU. Nous avons ensemble réalisé un parcours animé pour vélo en réalité virtuelle.

    Contexte : L’utilisation de la réalité virtuelle (VR en anglais) s’étant de plus en plus et touche de nombreux domaines (médical, industriel, tourisme, défense, génie civil, jeux vidéo, etc.). Dans ce projet, nous nous sommes penchés sur le rôle qu’elle peut jouer dans l’expérience de consommation. En effet, en présentant un lieu à visiter à travers un casque VR, on peut étudier les réactions d’un consommateur et en déduire par exemple son attractivité.

    Objectif : L’objectif initial était donc de créer numériquement un circuit à parcourir à vélo, constitué d’une série d’événements (passants, circulation, animaux, sons), puis de le faire tester à des clients potentiels, et d’étudier comment sont initiées leurs réactions comportementales et quelles sont les influences sur leurs sensations (surprise, joie, peur) pour pouvoir appréhender les émotions ressenties et les changements d’attitude.

    Outils : Pour construire l’environnement virtuel, nous avons utilisé Unity3D, un casque Oculus Quest 2 et nos animations ont été codées avec Visual Studio.

    Déroulé du projet : Tout d’abord, il a fallu que nous répartitions nos heures entre les différentes étapes du projet ;

    • Prise en main du logiciel Unity
    • Choix des animations à mettre dans notre parcours
    • Evolution en VR
    • Perfectionnement pour rendu final
    • Visualisation du contenu par les clients
    • Recueil des résultats

    Nous avons donc commencé par apprendre les bases d’Unity3D grâce à de la documentation et des TD fournis par M.RICHARD, notre encadrant de projet. D’abord l’aspect graphique, puis la physique des objets et enfin le codage.

    Test de la physique des matériaux sous Unity3D

    Test de la physique des matériaux sous Unity3D


    Exemple de code pour déplacer un objet avec la souris

    Exemple de code pour déplacer un objet avec la souris

    Ensuite, nous avons ensemble choisi l’animation que chacun allait faire. Titouan s’est occupé d’un groupe qui joue de la musique et de ses sons, Victor L du vélo et du parcours, Amaury des passants et des voitures, Victor D du parc et des oiseaux. Voici quelques exemples du résultat :

    Voici une des espèces d’oiseaux présente dans le parc de notre ville. En approchant à vélo, on peut entendre de plus en plus clairement leurs chants, et en voir quelques-uns voltiger près de nous. Pour cela, Victor D a utilisé des assets (des packs de contenu) contenant des oiseaux et des chants présents sur le site d’Unity, et a désigné certains espaces comme box colliders (espace défini comme infranchissable, durs, réels) dans la ville, pour que les oiseaux puissent s’y poser. Les mouvements effectués par les oiseaux suivent un algorithme.

    Oiseau qui chante et bat des ailes dans le parc

    Oiseau qui chante et bat des ailes dans le parc

    Pour ce qui est de l’animation des passants dans la ville, cela s’est fait en deux étapes. Tout d’abord, nous avons utilisé le site Mixamo, un site contenant une multitude d’animation possibles pour des projets unity ainsi que de nombreuses textures de personnages différentes. Amaury a donc téléchargé depuis ce site des animations de personnages qui marchent afin de rendre la ville vivante. La deuxième étape était de définir le trajet de ces passants. Pour cela, nous avons utilisé le NavMesh : une fonctionnalité du logiciel Unity qui permet grâce à un algorithme de définir automatiquement les zones où les personnages choisis (appelés NavMesh agents) peuvent se déplacer librement et les zones qui représentent un obstacle physique (mur, trou, …). Pour cette étape, il y a eu d’abord une phase de test sur un projet Unity à part pour être à l’aise avec le NavMesh, puis la retranscription sur la ville finale.

    Test de mouvements de passants

    Test de mouvements de passants

    Lors du brainstorming concernant les stimuli que nous souhaitions intégrer TiTouan a eu l’idée d’ajouter un groupe de musique. L’idée étant de jouer sur le volume et le panning du son afin de créer une sensation de son en 3 dimensions : plus l’utilisateur se rapproche du groupe de musique plus le volume est fort, et selon la position de celui-ci le son est orienté plus à droite ou à gauche.

    Afin d’accentuer le réalisme, le son de la guitare électrique émane directement de l’amplificateur et le son de la batterie directement d’elle-même. Titouan a créé des audios sources qu’il a paramétrées de telle sorte à ce que selon la position de la caméra l’audio soit réaliste : l’effet doppler entre en jeu et les sons paraissent plus aigus à distance ; de plus au fur et à mesure que la caméra approche le volume des sons augmente progressivement.

    Les personnages et animations qui ont été utilisés proviennent du site Mixamo d’Adobe, et les objets eux sont libres de droits et proviennent du site Sketchfab. Les personnages jouent en boucle leurs animations dès que la simulation est lancée, pour cela un animator a été créé pour chaque personnage ; Titouan a assigné à chacun l’animation correspondante et cochée la case loop. Il en est de même pour la musique, la case loop est cochée dans les paramètres des audios sources : elles jouent dès que la simulation est lancée et sont donc synchronisées ensembles.

    Explications - Titouan

    Représentation 3D de la zone du son

    Explications - Titouan_2

    Algorithme dirigeant le son

    Afin de reconstituer une balade à vélo dans notre ville virtuel, Victor L a recherché dans le store Unity une modélisation 3D d’un vélo. Une fois le vélo implémenté dans la ville, la caméra a été modifiée pour lier la vue de l’utilisateur au vélo. De plus, la caméra a été rendue orientable à 360 degrés, pour suivre les mouvements de tête de l’utilisateur à l’aide du casque VR.

    Explications - VictorL

    Vue du vélo

    Puis est venu le moment de tester la VR. Comme pour Unity, il fallait avant tout comprendre son fonctionnement, pour ensuite incorporer le casque et l’environnement VR à notre parcours. Nous avons donc essayé certains tutoriels de déplacement et de visuel, malheureusement nos ordinateurs n’étaient pas assez puissants pour supporter notre projet et il existait des problèmes de compatibilité entre Windows et le casque mis à notre disposition. Par manque de matériel adapté, il nous a fallu oublier cet aspect du projet.

    Finalement, nous avons pris la décision de nous concentrer sur l’aspect propre du projet pour rendre quelque chose de visuellement attractif et qu’il soit possible d’explorer en VR éventuellement plus tard si possible. Nous avons donc changé de ville pour une beaucoup plus grande, et chacun à perfectionné ce qu’il avait déjà réalisé.

    Voici quelques images du rendu final du projet :

    Ville à visiter à travers notre parcours

    Ville à visiter à travers notre parcours

    À l’aide de plusieurs modèles de villes, de route et d’objets, Victor D a recréer entièrement une partie de quartier, où il a notamment placé le parc. Pour cela, il a repris des parties déjà existantes et les a replacés à un endroit avec peu d’activité dans la ville. Le parc a été implanté au milieu de ce nouveau quartier et Victor D a raccourci les trottoirs pour que l’on voie mieux la terre, ce qui rend le tout plus vivant et plus réaliste.

    Partie du quartier ajouté à la ville d'origine

    Partie du quartier ajouté à la ville d’origine

    Une fois le parc placé et la ville finalisée, nous avons pu placer les personnages. Pour cela, nous avons choisi différentes animations et différents personnages sur le site Mixamo. Une partie des piétons sont fixes et répètent leur animation en boucle (les personnages faisant du sport dans le parc), les autres en revanche sont mobiles et étaient donc plus compliqués à placer. En effet, Amaury a dû suivre un tutoriel pour créer le script permettant de faire marcher les personnages dans la rue. Nous avons donc fait en sorte que les personnages avancent tout droit en continu et que lorsqu’ils rencontrent un obstacle, ils fassent demi-tour.
    Pour que les personnages (maintenant définis comme navmesh agent) puissent détecter les zones autorisées et les obstacles, nous avons utilisé le navmesh. Toute la route et les trottoirs sont des zones autorisées, le reste des éléments de la ville sont des obstacles.

    Définition de l'espace où les personnages peuvent se déplacer

    Définition de l’espace où les personnages peuvent se déplacer

    Dans un souci d’amélioration des détails et afin d’accentuer le réalisme Titouan a tenu a différencié les paramètres des audios sources de la guitare et de la batterie : la portée du son émanant de la batterie a été augmentée, car ce sont des sons secs et graves qui se propagent à 360° là où le son de la guitare est seulement propagé depuis l’amplificateur.

    De plus, Titouan a décidé de composer lui-même la musique jouée par le groupe. Cela a permis d’ajuster la reverb afin de rendre le rendu encore plus réaliste étant donné que le groupe joue dans une rue encerclée d’immeuble où la réverbération des sons doit être importante.

    Explications - Titouan_3

    Vue de la zone son dans le quartier

    Explications - Titouan_4

    Orchestre

    Pour créer l’itinéraire du vélo à travers la ville, nous avions plusieurs options : utiliser les box colliders, créer un itinéraire scripter avec des coordonnées, ou utiliser un nouvel asset appelé “Path Creator”, un créateur d’itinéraire pour les objets. Après avoir étudié et testé les trois options, Victor L a choisi le Path Creator. L’outil Path Creator nous permet de créer une ligne en 2 ou 3 dimensions dans Unity. Une fois cette ligne créée, nous pouvons utiliser un script pour déplacer des objets le long de cette ligne. Victor L a donc lié le vélo au chemin et a codé un script pour déplacer le vélo dessus. En gardant à l’esprit que le script devra plus tard être adapté à la pédale d’un vélo.

    Explications - VictorL_2

    Vue d’ensemble du parcours vélo

    Conclusion : Dans l’ensemble, nous sommes très contents de ce que nous avons réussi à réaliser sous Unity3D. Nos connaissances dans le domaine de la programmation et de la Réalité Virtuelle se sont grandement élargies, et tant l’aspect créatif que scientifique ou technique ont beaucoup plus à chacun de nous. Certes, les complications liées au COVID et au travail à distance ne nous ont pas permis de concrétiser nos objectifs jusqu’au bout, mais cela ne nous a pas empêchés de réaliser beaucoup de choses. Notre groupe tient finalement à remercier M.RICHARD et M.LEVEAU pour leur participation.

    Projet biomimétisme

    Bonjour à tous et à toutes,

    Nous sommes Chloé Creel et Maëlys Châtel-David, étudiantes en deuxième année de classe préparatoire à Polytech Angers. Lors de notre 4ème semestre, dans le cadre de notre formation d’ingénieur, nous avons réalisé un projet de conception dont le thème était l’innovation. L’objectif de notre projet était de lier la méthode de résolution TRIZ et le biomimétisme pour créer une base de données d’illustration. Mais qu’est-ce que TRIZ ou le biomimétisme, et en quoi cela concerne-t-il l’innovation ? Découvrons le maintenant.


    1. Présentation du projet

    Innover, inventer, l’être humain le pratique depuis peu, seulement quelques millénaires. Processus lent, créatif et complexe, l’innovation est primordiale dans nos vies, pour assurer notre survie et pour mieux vivre. De plus, aucun domaine n’est épargné par l’innovation, que ce soit dans la médecine, les transports, la communication ou encore l’énergie, chaque domaine innove, en particulier s’il fait appel à des ingénieurs, puisque l’innovation est au cœur de leur métier.

    C’est pour aider les chercheurs et les ingénieurs à innover que la méthode TRIZ a été créée. Inventée par Genrich Altshuller en 1946, TRIZ (acronyme de Théorie de Résolution des Problèmes Inventifs, venant du russe Теория Решения Изобретательских Задач) est une méthode pour résoudre des problèmes d’innovation technique. Il y a en tout 40 principes TRIZ et une matrice permet de déterminer quel principe est le plus adapté à chaque problème posé. TRIZ permet de guider les ingénieurs vers des solutions astucieuses et facilement réalisables.

    Premières lignes et premières colonnes de la matrice TRIZ  © https://www.180-360.net/10-questions-triz

    Premières lignes et premières colonnes de la matrice TRIZ
    © https://www.180-360.net/10-questions-triz

    Cependant, dans le contexte actuel de protection de l’environnement, les méthodes d’innovation évoluent, et une d’elles est la copie de la nature. C’est ce qu’on appelle le biomimétisme. Théorisé pour la première fois par Leonardo Da Vinci au XVème siècle, le biomimétisme est un sujet dont on entend actuellement beaucoup parlé. S’inspirant de la nature qui innove depuis 4.8 milliards d’années, le biomimétisme s’inscrit dans l’efficacité optimale et dans le développement durable. En effet, comme la nature qui fonctionne sur un principe d’économie et qui ne génère aucun déchet, l’objectif du biomimétisme est de concevoir des produits durables, qui “créent des conditions propices à toutes les formes de vie.” (J.BENYUS). Le but est de s’inspirer, voire de copier les solutions développées par la nature dans les problématiques d’ingénierie ou autre.

    Le but de notre projet était de lier biomimétisme et principes TRIZ. Nous devions créer une base de données d’illustrations de chaque principe inventif TRIZ sous forme d’une fiche par principe. L’objectif était que pour chacun des quarante principes TRIZ, nous trouvions des illustrations issues du biomimétisme.

    2. Travail réalisé

    a. Recherches

    Avant de commencer à créer notre base de données, nous devions faire un travail préliminaire de recherches sur TRIZ, pour comprendre les principes et toutes leurs subtilités. Puisque la méthode TRIZ vient de l’Union Soviétique, les définitions que nous avions à disposition étaient les traductions françaises, qui étaient des traductions de définitions anglaises, elles-mêmes traduites du russe. Nous avons, en accord avec notre encadrant Mr. P. Crubleau, traduit nous-mêmes les définitions anglaises pour les réécrire avec nos propres mots, plus “simples”.

    Après ce long travail de compréhension des principes TRIZ, nous avons dirigé nos efforts sur le contenu de notre base de données, et donc sur les recherches d’illustrations issues du biomimétisme.

    Avec cinquante-deux heures de recherches à notre actif, nous avons réussi à établir le système qui fonctionnait le mieux. Le plus dur était de trouver de nouveaux exemples de biomimétisme, car les mêmes exemples revenaient souvent dans beaucoup d’articles. Par exemple, le train Shinkansen, le velcro ou le Geckskin sont des innovations issues du biomimétisme qui ont déjà fait leurs preuves depuis de nombreuses années et qui, par conséquent, sont très souvent présentées dans les ressources existantes sur le biomimétisme.
    Nous avons donc rapidement voulu nous détacher des exemples plus traditionnels – même si ils sont intégrés à notre base de données -, puisque notre objectif était de couvrir le plus de principes possibles. Nous avons donc essentiellement essayé de trouver des ressources contenant plusieurs dizaines d’exemples à la fois, voire plus, bien que leurs explications soient de ce fait moins détaillées, et de trier sur le volet en faisant des recherches plus approfondies en parallèle. Les résultats de cette approche étaient positifs, puisqu’au moment de l’écriture de cet article, notre base de données contient 79 exemples, répartis sur 36 principes différents.

    Graphique circulaire de la répartition des principes TRIZ en fonction du nombre d'exemples

    Graphique circulaire de la répartition des principes TRIZ en fonction du nombre d’exemples

    Même si, au cours de nos recherches, nous avons pu faire face à plusieurs déceptions en raison d’exemples qui ne relevaient finalement pas du biomimétisme, nous avons trouvé que cette méthode était la plus efficace.

    De plus, nous enrichissons la base initiale de 4 principes supplémentaires qui ne se classent dans aucun des principes TRIZ. Nous avons longuement débattu pour savoir s’il était pertinent d’intégrer les exemples « sans TRIZ » que nous avions trouvés, jusqu’à ce que notre superviseur, Mr. Pascal Crubleau, nous convainque qu’il s’agissait d’une richesse plutôt qu’une faiblesse du projet et que nous devrions même l’exploiter afin de pouvoir ouvrir un débat sur la pertinence des quarante principes existants. Nous les avons dénommés en fonction des actions qu’ils effectuaient. Ces illustrations démontrent que cette base de données peut et doit évoluer pour suivre l’évolution des connaissances.

    Les "Sans-Triz" : principes que nous avons inventé

    Les “Sans-Triz” : principes que nous avons inventé

    b.Mise en forme sur Notion

    Notre base de données se trouve sur le site américain Notion. Disponible en français et en anglais, elle est divisée en quarante et une catégories dans les deux langues. Les quarante premières catégories correspondent aux quarante principes TRIZ de la méthode et la dernière correspond aux « hors TRIZ ».

    Base de données en français et en anglais (41 catégories/fiches)

    Base de données en français et en anglais (41 catégories/fiches)

    Chaque catégorie mène à une définition du principe et aux exemples biomimétiques trouvés. Nous avouons que les exemples ne sont pas répartis uniformément, puisque certains principes sont illustrés avec un exemple alors que d’autres avec quatre. Chaque illustration est cependant explicitée, pour permettre à l’innovateur de s’en inspirer. Ainsi, chaque exemple explique le phénomène naturel qui a inspiré l’innovation et comment l’entreprise ou l’inventeur s’en est servi.
    Par exemple, prenons le principe 18 de la matrice TRIZ : Vibrations mécaniques. Au fil de nos recherches, nous avons trouvé 3 exemples issus du biomimétisme qui illustrent le principe de “Vibrations mécaniques” : un moteur à ondulation inspiré des nageoires des poissons, une hydrolienne inspirée des anguilles et une canne blanche à ultrason inspirée des chauves-souris. Chacun des 3 exemples est vérifié par plusieurs sources différentes, présente des photos d’illustration ainsi qu’une explication claire et rapide de son inspiration naturelle, de son utilisation ainsi que de son lien avec le principe TRIZ.

    Principe 18 "Vibrations mécaniques" (en anglais et en français)

    Principe 18 “Vibrations mécaniques” (en anglais et en français)

    Illustrations issues du biomimétisme du principe 18 "Vibrations mécaniques"

    Illustrations issues du biomimétisme du principe 18 “Vibrations mécaniques”

    Nous avons fait le choix de traduire tout notre projet en anglais, afin de le rendre accessible à un public plus large (et pas uniquement francophone) et pour le diffuser plus facilement. Cette base de données s’adapte ainsi à un public international.

    Voici le lien de la base de données : Base de données Projet Biomimétisme

    3. Conclusion

    Pour conclure, ce projet a demandé beaucoup de travail de recherche et de découverte. Mais il s’est révélé très intéressant et motivant. Le thème du biomimétisme nous a donné envie de travailler sur ce projet et nous ne le regrettons pas.

    Notre base de données est conforme au cahier des charges et nous sommes toutes deux très satisfaites du résultat final.
    Ce fut enrichissant, à la fois sur l’aspect intellectuel et humain. Nous avons beaucoup appris sur le biomimétisme et sur la création d’une base de données. De plus, la découverte de la méthode TRIZ a été intéressante.
    Nous tenons à remercier notre professeur encadrant Mr. Crubleau pour toute l’aide apportée tout au long du projet.

    Merci d’avoir lu notre article.

    Par Chloé Creel et Maëlys Châtel–David

    Les automates animés

    Dans les magasins, sur les stands, dans les fêtes foraines ou encore dans la conception de films d’animation, les automates animés sont présents.
    Mais qu’est-ce vraiment ?
    Voici la définition Wikipédia :

    Définition

    Wikipédia : Définition

    D’après les informations récoltées, c’est un mécanisme qui, à l’aide d’un seul moteur, reproduit un mouvement naturel.
    Dans les magasins, cela donne un coté plus vivant au stand et permet de vendre plus de jouets. Dans la fête foraine, on va attirer plus d’enfants sur l’attraction car si ça bouge, ça attire l’œil.
    Pour ce qui est des films d’animation, l’utilisation est différente. Disney, par exemple, utilise les automates pour que les mouvements des personnages soient plus simples à modéliser.
    En effet, on va alors créer le mouvement désiré et on augmentera ou baissera la vitesse en fonction de la scène ; tout devient plus simple.

    DisneyAutomate

    DisneyAutomate

    Mais tout d’abord, présentons nous, nous sommes Léo Festoc, Jonas Guerniou et Thomas Gazon, 3 élèves en PEIP 2 A à Polytech Angers et aujourd’hui, nous allons vous présenter notre projet.
    Les automates vous intéressent ? Voici notre démarche de conception :
    Nous nous sommes d’abord intéressés aux recherches du laboratoire Disney et nous avons modélisé notre propre automate : un chien.

    Image chien

    Image chien


    Pourquoi un chien ? Après avoir vu plusieurs automates Disney qui étaient pour beaucoup soit des félins, soit des chiens,
    nous nous sommes dit qu’il serait plus judicieux de choisir quelque chose qui ressemble au mieux à ce qui a été le plus développé.
    De plus, au départ, cela nous semblait plus simple.

    Si vous avez un choix à faire, il faut bien y réfléchir car vous allez passer du temps dessus.

    Après avoir fait ce choix d’automate, il faut passer à l’étape du choix des mouvements :
    quels mouvements vous voulez, combien vous en voulez, etc… Si vous voulez plus de simplicité, basez-vous sur des automates que vous pouvez visualiser en vidéo.

    Choix du Logiciel

    Logo Solidworks

    Logo Solidworks

    Après avoir choisi les mouvements, la réalisation en CAO peut débuter !
    Il faut d’abord choisir le logiciel en fonction de vos ressources, vos budgets et votre matériel.

    Notre choix s’est porté directement sur SolidWorks car nous avions des bases sur celui-ci, uniquement.

    Choix du logiciel fait, faites chauffer la carte graphique et le processeur, la modélisation commence !
    Modélisation

    Les pattes
    La première étape consiste à dessiner la partie qui sera en mouvement. Pour nous, il s’agit de l’une des pattes (nous avons commencer par l’arrière).
    Par exemple, voici notre patte arrière en 4 parties comportant la patte inférieure, la cuisse, un milieu et une bielle de soutient pour le mouvement

    Patte arrière

    Patte arrière


    Par la même occasion, nous avons modélisé la patte avant.
    Ensuite, il faut quelque chose pour tenir tout cela : un corps.
    Il suffit simplement de dessiner un corps et de créer un assemblage avec celui-ci.
    Avec des extrusions préalablement faites, nous pouvons alors contraindre les pattes avec le corps et commencer à réfléchir à la trajectoire. Pour cela, nous observons le mouvement et dessinons une esquisse qui sera la trajectoire.

    Le mécanisme

    Pour que le mouvement soit transmis à la patte, il nous faut deux roues et deux bielles
    Voici un exemple :

    Roue et Bielle

    Roue et Bielle


    Nous ajoutons le mécanisme en le contraignant avec les pattes. Nous pouvons alors commencer à chercher la bonne configuration pour avoir une trajectoire semblable à notre précédente esquisse.
    On ne vous cache pas que, si vous regardez cette vidéo, Disney lab. montre un logiciel développé en interne pour faire ces trajectoires plus facilement en donnant directement la configuration des roues et bielles.
    Disney lab
    Video Disney Lab.

    Cependant, ce serait trop beau si c’était aussi simple. En effet, ce logiciel n’existe pas pour le grand public.
    Il faut donc y aller « à tâtons » pour trouver les bonnes longueurs.
    (Conseil : mettez des variables pour pouvoir modifier plus simplement les distances.)
    Ensuite, lorsque nous pensons avoir trouver une configuration qui correspondrait, nous pouvons utiliser motion sous SolidWorks pour tracer la trajectoire du point. Cela nous donne un aperçu de si la configuration est bonne ou s’il faut continuer à modifier.
    Comme nous avions la même trajectoire pour la patte avant et arrière, celle-ci n’a été faite qu’une seule fois.

    Lorsque nous sommes fixés sur la trajectoire, nous pouvons alors nous concentrer sur le mécanisme complet.
    Il faut ajouter tous les mécanismes (4 pour nous car 4 pattes) et s’assurer que tout passe, sans que les pièces ne se touchent.
    (Nous avons modifier le corps pour passer le mécanisme avant et arrière, puis fait une symétrie pour avoir la même chose du coté opposé)

    Le bâti

    L’étape suivante est de créer le bâti pour accueillir l’automate.
    Notre technique a été de créer une boite avec des dimensions qui englobent les mécanismes, puis de les modifier pour tenir le corps, faire passer les bielles et faire passer des arbres pour tenir les roues dentées.

    Bati avec extrusion

    Bâti avec extrusion


    Une fois le bâti fini, place à la transmission intégrale. Après un bon moment de réflexion, nous avons décidé d’utiliser une cascade de pignons pour pouvoir transmettre les mouvements entre tous les pignons et avoir les mêmes vitesses de rotations.
    Conseil : il est plus judicieux d’utiliser une cascade de pignons plutôt qu’une transmission pignon chaine ou courroie et roue.
    (Il faut savoir que nous avons dû modifier tous nos engrenages, qui, au départ, avaient des tailles différentes, pour pouvoir avoir les bonnes vitesses de rotation.)
    On a également dû revoir le bâti pour que tous les pignons passent.

    Le bâti fini, il ne reste plus qu’à ajouter tous les pignons et les contraindre afin de modéliser entièrement l’automate.

    Modélisation pignon

    Modélisation pignon


    Voici la dernière étape avant une possible réalisation concrète. Il faut maintenant essayer la modélisation en faisant une animation avec un moteur sur un pignon pour voir si tout tourne correctement.
    Si vous êtes arrivés là et que ça fonctionne, bravo vous pouvez maintenant réfléchir à la réalisation concrète !

    Conclusion

    La conception d’un automate animé pour la première fois n’est pas une mince affaire, même si le cahier des charges n’est pas des plus compliqués à respecter. Avec une bonne connaissance des logiciels, une vue d’ensemble du projet au départ et de la rigueur, ce projet peut être mené à bien aisément.
    Dans le cadre de notre semestre 4 à Polytech Angers, ce projet a permis de regrouper certaines matières que nous avons travaillées au cours de nos 2 années de prépa.
    Nous pensons avoir bien respecté le cahier des charges dans notre travail, même si le projet n’est pas complètement terminé. Des améliorations pour que les mouvements soient plus naturels et fonctionnent correctement auraient pu être faites.

    Ce projet nous a donc permis de travailler en équipe et de développer plus de compétences sur SolidWorks. Au final, même si celui-ci n’aura pas été terminé, nous n’en tirons que du positif.
    Si vous êtes arrivés jusque-là, merci de votre lecture !

    Voici les annexes :

    Source image Disney : disneyresearch.com
    Source Image solid works : solidwork.com


    Cryptographie Visuelle

    Nous sommes deux étudiants en peip2A à Polytech Angers, Baptiste Marchand et Clément Veyer. Cet article vous présente notre projet de cryptographie visuelle. Ce projet s’est effectué dans le cadre des projets de fin de cycle préparatoire aux écoles Polytech. Nous avons choisi ce projet car, tous deux, nous voulons poursuivre nos études d’ingénieur dans le domaine informatique, et ce projet s’inscrit parfaitement dans notre démarche.

    La cryptographie visuelle, qu’est-ce que c’est?
    La cryptographie visuelle est l’art de protéger des messages sous formes d’images. On obtient alors des “masques” qui sont en fait des images en noir et blanc générées aléatoirement. La méthode a été créée par Moni Naor et Adi Shamir en 1994, deux chercheurs en mathématiques et informatique. Ce qu’il y a de tout à fait particulier avec ce concept, c’est qu’il est à la fois accessible à tout le monde car très visuel, mais paradoxalement quasi impossible à cracker sans disposer de tous les masques nécessaires.

    Image 1 : exemple de cryptographie visuelle avec deux masques jetables

    Image 1 : exemple de cryptographie visuelle avec deux masques jetables

    Présentation du projet
    Le but de ce projet était à la base très simple : créer un programme python permettant d’effectuer une cryptographie visuelle à partir d’une image que l’on veut cacher. Dans notre groupe, nous nous sommes fixés plusieurs objectifs qui découlent du premier. Dans un premier temps, la création d’une GUI (Graphic User Interface) qui regrouperait l’ensemble des méthodes que nous avons pu mettre au point. Mais également, sur l’idée de Sébastien Lagrange, nous nous sommes fixés l’objectif de créer un jeu de cartes classique (32 cartes) qui permettrait de révéler un symbole différent pour chaque combinaison de carte, soit (31*32)/2 = 496 combinaisons différentes.

    Méthode basique des masques jetables
    Cette méthode est l’essence même de toutes les autres. Elle prend une image en noir et blanc, constitué donc de 0 et de 1 et la divise en 2 images distinctes. La première des deux images est générée complètement aléatoirement. La seconde, est générée en fonction du masque et de l’image d’origine. Pour faire le choix de couleur de de cette image, on utilise un XOR. Si on applique de nouveau un XOR aux images chiffrées, on retrouve l’image secrète à la perfection. Et si l’on superpose physiquement les 2 images (OU), on retrouve l’image secrète, mais imparfaite car cette fois-ci elle possède du bruit, comme illustré sur l’Image 1.

    Pour faire notre premier programme qui appliquait donc cette méthode, voici les étapes que nous avons suivi sur python, à l’aide du module Pillow :
    • on demande à l’utilisateur l’image à crypter (qui doit être purement en noir et blanc)
    • on ouvre le fichier (png ou jpg) et on en fait une matrice de pixels de valeurs 0 ou 255
    • on crée un premier masque aléatoirement (donc 50% noir et 50% blanc)
    • on crée le second masque, en faisant pour chaque pixel, un xor entre le pixel original, et celui du premier masque
    • on enregistre les deux masques, et le tour est joué!

    Améliorations
    Cette première méthode fonctionne très bien, mais après l’avoir terminée, nous avons vite compris le potentiel de cryptographie visuelle. On pourrait par exemple réduire le bruit, augmenter le nombre de masques, ou encore avoir des masques imagés.
    Mais pour faire tout cela, il faut quadrupler la taille des masques créés. On a ainsi, pour chaque pixel original, une matrice de 2*2 pixels.
    Nous pouvons donc nous permettre de représenter les pixels par des niveau de gris. Tel que: noir 0% = 0 pixels noir sur les 4, 25% = 1 pixel noir sur les 4, 50% = 2/4 , 75% = 3/4, 100% = 4/4.
    Si on reprend la première méthode avec la taille quadruplée, on obtient les cas suivants :

    Image 2 : différentes combinaisons pour chaque pixel original en ayant quadruplé la taille des masques

    Image 2 : différentes combinaisons pour chaque pixel original en ayant quadruplé la taille des masques

    Les combinaisons en haut de l’image décrivent un pixel original blanc, et celles d’en bas décrivent un pixel original noir. On aura, en superposant les masques, un blanc qui est en fait un gris 50%, et un noir 100%.

    Une fois qu’on a fait cela, on imagine aisément que, si on veut maintenant trois masques, on aura un résultat avec un blanc 75%. En effet, on superpose trois matrices de 2*2 pixels qui laissent passer un seul pixel blanc.

    Avec cette nouvelle méthode, la taille quadruplée réduit le bruit observé par l’oeil humain, et les trois masques permettent une sécurité de plus : si on superpose 2 des 3 masques, on n’observe rien du tout à part du gris. Voici le résultat qu’on obtient :

    Image 3 : Exemple de cryptographie visuelle à trois masques

    Image 3 : Exemple de cryptographie visuelle à trois masques

    Méthode des masques imagés
    Cette méthode est la plus convaincante de toutes, car les masques ont maintenant un sens. Il faut donc 3 images pour cette méthode, 2 images seront visibles et la 3ème secrète, cachée dans les deux autres. Pour ce faire, on utilise bien sûr les masques à taille quadruplée.

    Les masques ont des pixels blancs représentés en 50% et des pixels noirs en 75%.
    L’image obtenue par la superposition (OU) des deux masques imagés, elle possède des pixels blancs en 75% et des pixels noirs en 100%.

    A partir d’ici, on distingue 8 possibilités distinctes:
    4 possibilités ou le pixel secret est blanc, donc un pixel 75% obtenu une fois superposé
    Le premier masque est blanc, le second aussi
    Le premier masque est noir, le second aussi
    Le premier masque est blanc, le second noir
    Le premier masque est noir, le second est blanc (équivalent au précédent)

    Et 4 autres ou le pixel secret est noir, donc un pixel 100%, obtenu une fois superposé:
    Le premier masque est blanc, le second aussi
    Le premier masque est noir, le second aussi
    Le premier masque est blanc, le second noir
    Le premier masque est noir, le second est blanc (équivalent au précédent)

    Nous avons décomposé les différentes configurations de pixel que nous avons choisi dans le tableau blanc ci-contre (en haut):
    Microsoft whiteboard
    Mais le plus important est de comprendre la logique:
    Lorsqu’un pixel à coder est noir, on fait en sorte de ne pas superposer les pixel noirs des masques pour qu’une fois les masques superposé, il ne reste pas de pixel blanc (noir 100%).
    Au contraire, si le pixel a coder est blanc, on fait en sorte de superposer les pixels noirs des masques pour que lorsque l’on superpose les masques, un des 4 pixels reste blanc (noir 75%).
    L’œil humain est aisément capable de faire la distinction entre du noir 75% et du noir 100%. Ce qui lui permet donc de percevoir cette image obtenue, comme vous pouvez en faire l’expérience ci-dessous.

    Image 4 : exemple de cryptographie visuelle avec deux masques imagés

    Image 4 : exemple de cryptographie visuelle avec deux masques imagés

    Pour terminer
    Pour finir, nous avons d’une part créé une interface graphique qui regroupe toutes les méthodes développées. Télechargez le dossier contenant un exécutable ci-dessous :
    Et dont voici un tuto d’utilisation : https://youtu.be/8tiozFkfo8A

    Et d’autre part, nous avons élaboré un jeu de 32 cartes sur la base des masques imagés, mais où chaque combinaison de cartes fait apparaitre une symbole différent (voir notre gitlab) .

    Nous avons voulu terminer en beauté en développant un algorithme de VSS (Visual Secret Sharing) qui permet de générer n masques, puis en superposant superposant au moins k parmi ces n masques, nous pourrions observer l’image secrète. Malheureusement, nous avons à peine eu le temps de finir notre travail de recherche à ce sujet.
    Pour avoir plus de précisions sur ces trois projets, nous vous conseillons également de télécharger notre rapport complet, disponible à la fin de cet article.

    Conclusion
    Pour conclure, ce projet nous a permis d’abord de mettre en application nos connaissances en terme d’algorithmique et d’adaptation à un langage de programmation. Effectivement, nous n’avions encore jamais vraiment programmé en python, et nous avons réussi assez rapidement à nous accommoder au langage qui a l’avantage d’être facile à appréhender.
    Nous avons également eu l’occasion de faire un travail de documentation important pour essayer de bien comprendre tous les concepts, même si nous n’avons pas eu l’occasion de tout mettre en application. Pour cela, nous avons exploité de nombreux articles de recherche, notamment ceux de Moni Naor et Adi Shamir, mais également des articles français. Cela nous a permis d’effectuer un “semblant” de travail de recherche assez intéressant.
    Finalement, nous sommes fier du travail que nous avons produit et avons accompli nos 2 objectifs principaux. Avec plus de temps, nous aurions pu essayer de développer la méthode ultime de VSS.

    Télécharger le rapport de notre projet :