Voiture à air pressurisé

Bonjour à toutes et à tous!

Bienvenue sur le blog du projet de voiture à air pressurisé. Nous sommes trois étudiants en 2ème année du cycle préparatoire de Polytech Angers : Kieran Yvenou, Lucas Perret et Gabriel Drapeau. Nous avons pris plaisir à rédiger et à transmettre notre projet à travers ce blog.

Photo du groupe, respectivement de gauche à droite. Lucas Perret, Kieran Yvenou et Gabriel Drapeau

Photo du groupe, respectivement de gauche à droite. Lucas Perret, Kieran Yvenou et Gabriel Drapeau

Introduction à notre projet :

Notre projet consiste à reproduire, améliorer et imprimer si possible, une voiture à air pressurisé, nous avons eu accès au plan de conception et à plusieurs images de la voiture original. Nous avons dû comprendre le fonctionnement du système. Celui-ci consiste à remplir une bonbonne d’air qui va se vider par l’intermédiaire d’un système de pression qui va être entraîné par des pistons et des engrenages suite à une poussée de départ.

Voici une photo du véhicule à air pressurisé original :

Voiture a air pressurisé, jeu

Voiture a air pressurisé, jeu

Objectif de notre projet

L’objectif est premièrement de comprendre l’utilité de chaque pièce, de les reproduire sous Solid-Works (pour notre cas), d’optimiser certaines pièces pour permettre d’améliorer considérablement les capacités de notre véhicule. Nous pouvons améliorer de nombreuses choses, comme par exemple : la masse des pièces, le rendement des engrenages, la pression d’air ou encore la vitesse du véhicule…
Deuxièmement, nous avons pour objectif de faire une course entre deux véhicules crées et optimisés par deux équipes différentes, cependant par faute de temps, les prototypes n’ont pas pus être imprimés en 3D.

Conception assistée par ordinateur (SOLIDWORK-Student version) :

Nous avons reproduit le véhicule original sur SolidWorks, c’est-à-dire que nous avons reproduit chacune des pièces tout en comprenant leur utilité. Cette conception a été une grosse partie de notre travail. Il a fallu d’abord bien analyser les plans, la brochure… Puis comprendre les dimensions du véhicule et réadapter toutes les pièces avec leurs fonctions de base les unes par rapport aux autres car nous avons tous utilisé SolidWorks pendant ce projet.

Voici une photo de l’assemblage :

Assemblage du véhicule sous SolidWorks

Assemblage du véhicule sous SolidWorks

Essais du véhicule original dans les locaux de Polytech Angers :

Après 8 semaines de conception du véhicule, nous avons pu voir le véhicule original et le tester. Nous avons pu confirmer nos compréhensions sur le fonctionnement et sur l’utilité de chaque pièce mais aussi répondre aux différentes questions que nous pouvions avoir. Nous avons fait plusieurs essais sur le véhicule, nous avons mesuré sa vitesse linéaire, sa masse, les dimensions de certaines pièces…

Optimisation du véhicule :

La partie “Optimisation” est très importante puisqu’elle permet d’améliorer le véhicule tout en prenant en compte certaines contraintes (ex : couple, puissance, vitesse, masse). Nous avons amélioré plusieurs pièces, par exemple, nous avons modifié la surface des roues, nous avons ajouté une coque autour du véhicule pour l’esthétique et la propagation dans l’air, le fonctionnement du système a été amélioré. Nos optimisations n’ont pas pu être testées dans la réalité par faute de temps, mais la théorie confirme une amélioration des fonctions du véhicule.

Voici une capture du véhicule après les optimisations :

Assemblage du véhicule optimisé sous SolidWorks

Assemblage du véhicule optimisé sous SolidWorks

Par exemple, voici la surface des roues avants & arrières :

Roue avant avec surface arrondie

Roue avant avec surface arrondie


Roue arrière avec surface plane et siliconée

Roue arrière avec surface plane et siliconée

Les roues avant ont une surface arrondie pour diminuer les frottements, tandis que les roues arrière ont une surface plane et en silicone pour transmettre le couple et la vitesse.

coque pour le véhicule à air pressurisé

coque pour le véhicule à air pressurisé


Voici une image de notre coque.

Essais d’impression 3D de certaines pièces :

Nous avons imprimé 1 pièce pour vérifier nos dimensions et les épaisseurs d’impression. L’impression totale du véhicule n’était pas notre but, notamment par faute de temps, et d’imprimante 3d disponible. Dans notre cas, nous avons imprimé une roue avant:

Roue avant du véhicule optimisé

Roue avant du véhicule optimisé


Roue avant du véhicule optimisé

Roue avant du véhicule optimisé

Le travail en équipe est un atout non-négligeable :

Le travail en équipe lors de projets est très important, notamment dans les séances de “brainstorming”. En effet, chaque personne du groupe apporte des idées différentes, plus ou moins réalisables. L’importance réside dans la communication et les débats autour des idées proposées, cela a permis de clairement exprimer notre avis. Le travail d’équipe est une compétence importante et prédominante dans notre futur métier d’ingénieur.

Conclusion :

Ce projet a été très enrichissant du point de vue de l’utilisation de nos compétences acquises durant le cycle préparatoire. Le travail d’équipe, les brainstormings et la répartition des tâches nous a permis d’être efficace pendant nos séances. Nous avons pris beaucoup de plaisir à le réaliser et à le partager avec vous.

Armoire Escape Polytech

Bonjour à tous et à toutes !

Pour commencer, nous allons nous présenter. Manon Boursicot, Julia Routhier et Margot Descamps, 3 étudiantes en deuxième année de classe préparatoire à Polytech Angers. Cette année, de nombreux projets nous ont été proposés pour conclure notre seconde année de classe préparatoire. Nous avons choisi de réaliser une armoire qui servira dans le cadre de l’Escape Polytech.

L’année dernière, l’école d’ingénieurs Polytech Angers a mis en place un Escape Game, présenté sous le nom d’« Escape Polytech ». Ce jeu se présente sous la forme d’une chasse aux trésors, qui fait intervenir réflexion et curiosité sous forme d’énigmes successives. Le jeu se déroulait virtuellement du fait de la crise sanitaire. Cette année les organisateurs souhaitaient que certaines énigmes puissent être réalisées physiquement au sein même des locaux de Polytech. Pour ce faire, nous devions créer une armoire pouvant renfermer ces énigmes.
Le but de l’armoire est d’accueillir des modules, tous de tailles différentes. Ces derniers nécessitent une alimentation électrique et certaines un accès à internet. Notre armoire doit alors être modulable en fonction des besoins de chaque module. Les modules sont créés par d’autres groupes de projet, indépendamment de notre armoire. L’armoire doit également être facilement déplaçable.

Pour débuter notre projet, nous avons commencé par réfléchir aux différentes possibilités pour construire notre armoire. Nous avons finalement fait le choix d’une armoire en bois, séparée en deux par une planche verticale centrale, un placard en bas pour installer le matériel électrique et des étagères qui se fixent à n’importe quelle hauteur grâce à des taquets. Nous avons dessiné quelques croquis puis nous sommes passées à la modélisation CAO sur Solidworks :

Modélisation de l'armoire sur Solidworks sans les portes de placards

Modélisation de l’armoire sur Solidworks sans les portes de placards

Modélisation avec les portes de placards

Modélisation avec les portes de placards

Lorsque notre idée avait bien mûrie et que nous avions fini les recherches nécessaires, nous avons commandé le matériel nécessaire et nous sommes passées à la construction.
Tout d’abord, nous avons commencé par percer des trous dans la planche centrale et celles latérales Ces trous servent à insérer des taquets et ainsi positionner les étagères là où on le souhaite. En effet, ces étagères doivent avoir une taille ajustable.

Perçage des trous pour les taquets à l'aide d'un gabarit

Perçage des trous pour les taquets à l’aide d’un gabarit

Perçage des trous pour les taquets à l’aide d’un gabarit

Perçage des trous pour les taquets à l’aide d’un gabarit

Ensuite, nous avons commencé à assembler la structure du bas vers le haut. Pour cela nous avons percé légèrement les endroits où nous voulions mettre des vis pour assurer un vissage qualitatif. Sur la planche du haut nous avons en plus, fraisé les trous et mis de la colle à bois car les vis dépassaient.

Image4 Image5
179095256_508680916831955_6517192554588877179_n 172049527_561049301545133_6255938887781070247_n

Une fois la structure de l’armoire montée, nous avons fixé les goulottes préalablement percées et coupé les étagères sur un coin chacune pour qu’elles puissent laisser passer les goulottes. Ensuite nous avons fixé le champ thermocollant sur toutes les tranches apparentes des planches de l’armoire, à l’aide d’un fer à repasser. Enfin, nous avons fixé les portes des placards, les roulettes et le tableau électrique que nous avions monté nous-mêmes.

Fixation du champ thermocollant sur une porte de placard

Fixation du champ thermocollant sur une porte de placard

Fixation des roulettes sur l'armoire

Fixation des roulettes sur l’armoire

Armoire finie avec le tableau électrique fixé

Armoire finie avec le tableau électrique fixé

Nous avons beaucoup aimé ce projet. Finalement nous sommes parvenues à finir l’armoire dans les temps et conformément aux exigences.

Borne Arcade : Nouvelle génération

Vous avez toujours rêvé d’avoir une borne d’arcade, connaitre la sensation de jouer aux jeux vidéo comme vos parents, ou comme dans Kid Paddle… Notre projet est fait pour vous.

Nous avons voulu innover un petit peu et donner un coup de jeune à cette borne d’arcade, voilà d’où nous est venu l’idée de faire un meuble, ou bureau, cela dépend de l’utilisation que l’on en fait, en y intégrant tout ce qu’il faut pour une borne d’arcade, c’est-à-dire les composants essentiels comme les joysticks, l’écran et les boutons. Après plusieurs heures de réflexion et de recherche, nous voilà partis dans la conception de notre meuble arcade.

Notre projet s’est divisé en 2 grandes parties :

La partie électronique qui comprenait la programmation de la carte Raspberry Pi ainsi que tous les branchements à l’écran ainsi qu’aux boutons de la borne

La partie mécanique/menuiserie qui constituait à créer un meuble facile à transporter mais aussi penser au confort du joueur sur la borne

Electronique :

Les composants essentiels de la borne sont plutôt abordables ; une planche de commandes, composées des boutons et des joysticks. Un écran et une carte Raspberry Pi.

La carte Raspberry Pi est composée d’une broche contenant 2 ports appelés Gpio, qui permet de relier les commandes à la carte via les fils.

commande

Chaque broche correspond à une commande en particulier comme pour les axes des joysticks, des boutons start/select et des boutons classiques.

Il a fallu qu’on active les ports Gpio dans le fichier source de la carte, en la connectant en réseau à notre ordinateur, pour ouvrir dans le dossier système, modifier le fichier sur un logiciel de traitement de code (ici Notepad++).

raspberry

Ceci fait, nous avons effectué les connexions nécessaires sur les commandes en mettant sur une des broches des boutons, la masse et sur l’autre le fil associé à la bonne commande.

L’écran est donc un ancien écran d’ordinateur, démonté de sa coque que nous avons fixé grâce à 2 attaches en barres sur la façade de notre borne.

Nous avons réussi à limiter les dépenses de notre projet en récupérant des anciennes planches, des vis et des pots de peinture. De même pour l’écran qui appartenait à l’un de nous.

Montage :

Nous avons avant de commencer le montage, dessiné tous les plans dans le but d’avoir une base solide pour commencer nos découpes et le montage.

Nous avons opté pour un design de meuble qui soit à la fois modifiable et « simple » pour tout : déplacement, facile de montage/démontage.

Avec les planches récupérées, qui correspondaient plus ou moins à celles voulues. Nous avons pu faire nos découpes, en dessinant très précisément nos morceaux. Puis nous avons poncé les bordures de morceaux à l’aide d’une ponceuse à gros grains.

scie

Nous assemblions ensuite nos planches, en respectant le montage, avec des vis à bois et évidemment perceuse/visseuse. Voilà nos 3 modules fait.

Nous avons ensuite monté le bureau de la même façon, en réfléchissant à comment le stabiliser pour qu’il ne s’affaisse pas ou soit bancal.

Le meuble était prêt à être peint, on a pour cela appliqué une couche de sous peinture sur l’ensemble du meuble, puis après avoir choisi soigneusement quel couleur irait à quel endroit, recouvert de 3 couches de peinture en attendant 6h entre chaque.

borne 1

Nous avons fini par les bordures, et découpé dans la table du bureau l’emplacement des commandes.

borne 2

Le meuble vide n’était pas très chaleureux, nous l’avons décoré pour le mettre en conditions réelles pour qu’il se fonde parfaitement dans le décor.

Le rendu est le suivant:

borne3
borne 4
Borne arcade

Si vous souhaitez regarder une vidéo sur la borne d’arcade en fonctionnement, veuillez cliquer sur ce lien :

Projet Chorduino

Introduction :

Bonjour, nous sommes Pierre PORTRON et Yohann CONANEC, tous les deux étudiants en PEIP2-A à Polytech Angers.

Le but de ce projet était de créer un système permettant d’accompagner un musicien en jouant une série d’accords sur un synthétiseur. Pour cela nous avions à notre disposition une carte Arduino UNO, muni de boutons poussoirs et d’un écran LCD, une pédale, un câble MIDI-USB et un câble Arduino-USB

Travail réalisé :

1-Le codage des accords :

Un accord est un ensemble de notes joué simultanément, ils sont définis par le type d’accords ainsi que la note fondamentale, qui est la première note jouée.

Pour coder les types d’accords nous créons un tableau pour chaque type, contenant dans l’ordre, le nombre de notes, l’écart entre les prochaines notes et la note fondamentale.

tab acc

Afin de coder l’accord en lui-même nous avons numéroté chaque notes de 0 à 11 et chaque types d’accords de 0 à 19 que l’on multipliait par 12.
pour chaque accords on additionne la valeure de la note fondamentale et du type d’accord

exemple : type accord n7 : 2 * 12 = 24
note fondamentale D : 5
accords = 24 + 5 = 29

image_2021-06-16_165859

Afin de décoder l’accord lorsque l’on souhaite le jouer on trouve la note fondamentale en appliquant un modulo 12 à la valeur de l’accord et ont la divise par 12 pour trouver le type d’accord

Exemple :
Accords = 29
Note fondamentale= 29 % 12 = 5 = D
Type d’accord = 29 / 12 = 2 = n7

image_2021-06-16_170010

2-Jouer l’accord :

Pour jouer l’accord on le décode comme vu précédemment pour obtenir le type d’accord et la note fondamentale. Puis on utilise la fonction MIDI.sendNoteOn(note, volume) en additionnant à chaque fois la note fondamentale de la valeur noté dans le tableau du type d’accord.

image_2021-06-16_171125

3-Les grilles d’accords

Les grilles d’accords sont des tableaux d’accords ce qui nous permet de jouer plusieurs accords à la suite.

grille

Pour cela on regarde la valeur envoyée par la pédale (plus on appuie plus la valeur augmente)
Lorsque cette valeur dépasse 400 on joue le premier accord puis quand on la relâche on passe à l’accord suivant.

jouergrille

4-La liaison série

Pour entrer une grille manuellement, on utilise la liaison série Arduino présent sur l’IDE Arduino. On reçoit la nouvelle grille sous forme d’une chaîne de caractères que l’on transforme en un tableau d’entiers représentant les accords.

image_2021-06-16_173809

moniteur

Vidéos montrant le projet en fonctionnement :

drive.google.com/file/d/1ohHWEjFQPqnQ6lgYgXIuU3x8RuiLttEy/view?usp=sharing
https://drive.google.com/file/d/1pDgMJ5z21NYXAhiWjoK8Dx4-1u30MCZR/view?usp=sharing
https://drive.google.com/file/d/1osvTKHlHw0p1z_huiWoCOzXzyjFL0QGX/view?usp=sharing

Conclusion :

Ce projet nous aura finalement beaucoup apporté, notamment au niveau du travail de groupe sur un projet de cette durée.

Nous sommes très fiers du résultat même si plusieurs points pourraient être améliorés.

Merci beaucoup à M COTTENCEAU pour son aide.

Conception d’un carrousel simple (calculs RDM)

caroussel-6900bb71-0473-4d35-86b6-68f8f253f782

Bonjours à tous et toutes,

Nous sommes un groupe de 3 élèves, Justine, Peio et Arthur, en deuxième année à Polytech Angers et dans le cadre de notre projet de fin d’année, nous avons dû assurer la conception d’un carrousel simple ainsi que la réalisation des calculs de la résistance des matériaux (RDM).
Le carrousel est constitué de quatre poutres liées à l’axe principal et supporte chacune un câble auquel est accroché un siège pour enfants.

Croquis de ce carrousel simple :

Capture

  • Objectif du projet :
  • L’enjeu de ce projet fut de trouver des solutions techniques répondant aux différentes problématiques du projet, tout en gardant à l’esprit que l’interaction entre l’utilisateur et l’environnement extérieur est à prendre en compte.

    Ce projet a eu pour but de solliciter notre capacité d’analyse et d’organisation ainsi que de travailler en groupe tout en nous appuyant sur nos connaissances acquises lors de notre cycle préparatoire. Nous avons donc dû suivre méthodologiquement chaque étape bien que les choix de nos liaisons étaient libres et le choix de nos composants se faisait en fonction des résultats obtenus.

  • Les calculs et développement :
  • Pour mener à bien ce projet, nous avons commencé par définir les différentes liaisons entre les nombreuses pièces ce qui nous a permis d’avoir dès le départ une bonne vision de l’ensemble du carrousel. Ensuite, nous avons réalisé les calculs et les dimensionnements des forces ce qui a eu pour but de comprendre comment se répartissaient les charges et les forces au sein de notre carrousel. À l’aide des résultats obtenus et en continuant nos recherches, nous avons pu choisir le moteur ainsi que concevoir le réducteur qui permet de mettre en mouvement notre structure. Nous avons ensuite réalisé le dimensionnement des arbres de ce réducteur, ce qui nous a permis de définir quels roulements, entretoises, clavettes et circlips correspondraient au mieux à notre projet. Pour finir nous sommes passés à la modélisation CAO grâce à SolidWorks. Cela nous a permis une meilleure visualisation du réducteur de notre carrousel.

    Schéma de notre réducteur avec les entretoises :

    reducteur

    Les entretoises sont schématisées en bleu et en vert.
    Les arbres sont en rouge.
    Et les pignons et les roues sont en blanc (Z1 à Z6).

    Image de notre Excel de la partie dimensionnement des arbres :

    arbre 4

  • Les problèmes rencontrés :
  • Durant ce projet il y a eu beaucoup de calculs répétitifs à réaliser ce qui a donc augmenté la possibilité d’effectuer des erreurs de calcul et donc de fausser les résultats. De plus le choix des roulements ainsi que le calcul des différents torseurs fut également compliqué. Pour finir, une heure voire deux de prise en main du logiciel SolidWorks ont été nécessaires pour réaliser le réducteur du carrousel en CAO puisque nous ne maitrisions pas ce logiciel.

  • Ce que nous retenons :
  • Cette expérience fut aussi intéressante qu’enrichissante malgré le fait que nous n’avons pas pu concevoir notre carrousel à l’échelle 1/10 comme prévu initialement à cause de la crise sanitaire actuelle. Ce fut l’occasion d’en apprendre plus sur des sujets et des matières qui nous intéressaient et nous stimulaient. Nous avons dû faire des choix et faire confiance à nos résultats pour pouvoir avancer et réaliser à bien ce projet.

    Nous tenions à remercier particulièrement notre professeur encadrant Mr.Kachit qui nous a aidés durant toutes les étapes de la réalisation de ce projet et qui a pris de son temps pour nous expliquer certaines parties du projet afin qu’il soit certain que nous avions bien assimilé les notions vues tout au long de ce projet.

    Projet voiture RC roues 180°

    Introduction :

    Bonjour à tous, nous sommes Tony Barbier, Jean Nobel et Errol Sistach, tous trois étudiants en deuxième année à Polytech Angers.
    Dans le cadre de notre formation, nous sommes amenés à réaliser un projet. Le notre était la conception d’une voiture radiocommandée dont la particularité est la rotation de ses roues sur 180°.

    Nous avons choisi ce projet car il est complet, il nous a permis de toucher à plusieurs domaines différents : la CAO, la mécanique, la programmation et l’électronique.
    Les différentes étapes de notre projet ont été la modélisation, la programmation et finalement l’usinage de notre voiture.

    Travail réalisé :

    Présentation de la modélisation :

    Châssis
    Tout d’abord le châssis. Sur les parties gauches et droites, l’enlèvement de matière sur l’axe horizontal est fait pour laisser passer les servomoteurs. Les deux renfoncements moins profonds sont prévus pour les boulons de serrage lorsque les roues seront soit à 90° à droite soit 90° à gauche.
    Les trous sur les parties haute et basse sont faits pour laisser passer les roues quand elles seront complètement tournées.

    Essieu avant
    Voici l’essieu avant. Les deux essieux sont sensiblement identiques, la seule différence est qu’il n’y a pas de motoréducteurs (en jaune) à l’arrière.
    Chaque essieu est composé d’une barre et de deux équerres. Pour pouvoir tourner, le palonnier (l’hélice) du servomoteur est relié à la barre, les essieux seront alors dirigés à gauche ou à droite selon la direction où l’on veut aller.

    essieu vue dessus 1essieu vu dessus 2

    Pour finir cette partie, les roues arrières seront maintenues grâce à des carrés de fixation. Pour les roues avant, les motoréducteurs servent aussi d’arbres. carré de fixationfixation motoréducteurs

    Réception et test des composants :

    Arduinomotoréducteurservomoteur

    Après avoir réceptionné ces composants, nous avons branché les servomoteurs et les motoréducteurs à la carte Arduino, et nous avons tout alimenté avec une batterie pour vérifier leur bon état de fonctionnement.

    Programmation :

    Grâce aux bibliothèques AFMotor, Servo et SoftwareSerial il a été très facile de créer un programme pour piloter les moteurs. Il suffisait d’indiquer les pins sur lesquels les moteurs étaient fixés puis d’utiliser les fonctions incluses dans les bibliothèques pour les mettre en mouvement.

    téléphone
    Grâce au site Mit App Inventor nous avons créé une application Bluetooth Android qui communique avec le module Bluetooth HC-06 et donc pilote la voiture. L’application est constituée d’une interface utilisateur pour se connecter au module Bluetooth puis faire avancer/reculer et tourner la voiture. La partie programmation est intuitive et se fait à l’aide de blocs. Lorsque l’utilisateur appuie sur un bouton, l’application envoie un ordre (par exemple « l » en ASCII pour « left ») et le module Bluetooth récupère cet ordre pour le transmettre à la voiture.

    Mais la façon la plus simple de piloter la voiture reste celle sur ordinateur en utilisant le port USB de l’Arduino. Nous avons donc utilisé l’IDE Processing pour développer un programme permettant à l’utilisateur de communiquer avec la carte par l’intermédiaire d’un port USB.

    Usinage :

    Notre voiture est faite à partir d’une plaque en bois de 5mm d’épaisseur. Nous avons utilisé la fraiseuse du Fablab de Polytech Angers pour usiner chacune des pièces nécessaires à la réalisation de la voiture.

    Nous avons ensuite montés les pièces entres elles : usinage 1

    Puis nous avons soudé des fils électriques entre les motoréducteurs et la carte Arduino. Et pour finir, nous avons relié le palonnier de chaque servomoteur aux essieux respectifs.

    Conclusion :

    Ce projet nous aura été très formateur. C’était vraiment intéressant de se tourner vers quelque chose de plus concret.
    C’est toujours une bonne expérience de travailler en équipe, d’autant plus lorsque c’est un projet comme cela.
    Malheureusement, notre voiture était loin d’être parfaite mais nous sommes quand même fier du travail fourni et du résultat.

    Merci à M. Verron pour toute son aide.

    Tony Barbier, Jean Nobel, Errol Sistach.

    Virtual Plantation

    Bonjour, nous sommes deux étudiantes en deuxième année à Polytech Angers. Lors de notre 4ème semestre, nous nous sommes intéressées à la réalité virtuelle. En effet, nous avons réalisé le projet Virtual Plantation avec l’aide de notre professeur M. Richard.

    Qu’est-ce que le projet Virtual Plantation ?

    Ce projet se réalise sur Unity3D et Visual Studio. Unity3D est un logiciel qui permet de créer des jeux en 2D et en 3D. Visual Studio sert à programmer les scripts que nous pouvons intégrer dans Unity3D. Ces outils de réalité virtuelle vont nous permettre de concevoir et développer une simulation où nous sommes en immersion dans un champ de tournesol pour identifier certaines pathologies. Ce projet peut contribuer au développement et à l’innovation dans le domaine de la biologie.


    unity-masterbrand-black

    Le but de ce projet est de simuler un champ de tournesol contenant des tournesols sains et des tournesols malades, afin de déraciner et dénombrer les tournesols malades. Cette simulation peut s’adapter à tous types de plantes.

  • Design de notre scène
  • La première étape de notre projet était la création de la scène. Nous voulions créer une scène qui se rapprochait au mieux de la réalité. Nous avions donc imaginé des montagnes, traversées par un cours d’eau et une petite ferme située en bas des montagnes.


    Capture2

    Pour commencer, nous avons créé des reliefs afin de créer des montagnes et des collines. Ensuite, nous avons créé une sorte de cours d’eau en y ajoutant de la végétation, comme des roseaux. Puis nous avons créé un coin habitations, c’est-à-dire que nous avons téléchargé, dans l’assetStore d’Unity3D, des préfabs qui sont des éléments que nous plaçons dans la scène. Nous avons donc inséré un moulin à vent, deux granges, un puit, un pont, un château d’eau et un tracteur.
    habitation

    Pour finir le design de la scène, nous avons ajouté des arbres, de la pelouse et des buissons.
    Cette partie graphique est intéressante, on conçoit la scène comme on le souhaite. Les graphismes ont un rôle très important dans les jeux vidéo.

  • Réalisation de notre champ de tournesol
  • Bien sûr, l’élément principal de notre projet est le champ de tournesols !
    Pour faire apparaître un champ de tournesol, nous avons dû insérer un script. Nos scripts étaient programmés en langage C, nous pouvions les modifier à l’aide de VisualStudio.

    Dans le script, nous choisissons l’emplacement du champs, l’orientation ainsi que le nombre de tournesols malades et sains à placer. Nous devions respecter un pourcentage de 20 % de tournesols malades. Ensuite, en mode play, nous pouvions observer cela :

    Capture

    Mais rappelons que le but du projet était également de pouvoir les déraciner et de les dénombrer !

    Pour cela, nous avons créé un script permettant de déraciner et de compter le nombre de tournesols déracinés. Pour déraciner les tournesols, il suffit d’ajouter dans le script, une force selon l’axe y assez grande qui va permettre de projeter le tournesol.

    déracine

  • Ajout de champs de maïs et de marijuana et création d’un menu
  • Après avoir répondu aux attentes du projet, nous avions encore du temps. Nous avons donc pu créer deux autres champs : un champ de maïs et un champ de marijuana. Tous deux ont été créés selon le même principe que le champ de tournesol. C’est-à-dire que ces champs comprennent des plantes saines et des plantes malades. Nous avons également fait en sorte de pouvoir déraciner ces plantes ainsi que les compter.
    3champ

    Pour finir, nous avons pu améliorer notre scène avec certains détails, nous avons ajouté une musique de fond ainsi qu’un bip à chaque fois qu’une plante est déracinée.

    Nous avons également créé un menu et un bouton permettant de modifier le volume de la musique.

    menu

    Conclusion :

    Ce projet nous a fait découvrir, à toutes les deux, des nouveaux logiciels. Nous avons appris à manier Unity3D. Malgré plusieurs difficultés rencontrées, nous avons pu répondre aux attentes du projet. De plus, nous avons pu nous initier à la création de jeu vidéo.

    Ce projet a été très enrichissant et bénéfique pour nous, d’une part le coté créatif mais aussi les programmes qui se cachent derrière tous ces graphiques.

    Modélisation mathématique et simulation numérique de la phyllotaxie

    Bonjour à tous,

    Dans le cadre du dernier semestre de PEIP2, il nous est proposé de concevoir un projet par groupe d’étudiants. Nous sommes deux élèves à avoir travaillé sur ce projet, Paul Bolufer ainsi que moi-même Marc Berret. Le projet est encadré par des professeurs de l’école et a pour durée une centaine d’heures.

    L’objectif de ce projet est de réaliser un simulateur permettant de modéliser le développement de certaines plantes. Pour notre part, nous avons choisi de le faire sous le langage Python. La modélisation s’appuie sur des modèles mathématiques.

    1. Présentation du projet

    La phyllotaxie est la science qui étudie l’ordre dans lequel sont implantées les feuilles, ou plus globalement la disposition des éléments d’un fruit, d’une fleur ou d’un bourgeon.

    Nous avons ainsi décidé d’orienter notre projet vers la création d’un programme informatique permettant de simuler la disposition des feuilles lors de la croissance d’une plante.

    Pour réaliser ce simulateur, il nous a été nécessaire d’acquérir de nouvelles compétences telles que:
    – la maîtrise des outils mathématiques pour comprendre le comportement et l’évolution des plantes
    – la maîtrise d’un outil informatique pour réaliser ces simulations

    Et nous avons rapidement été confrontés à de premières contraintes comme:
    – la nécessité de réaliser un travail de documentation sur le sujet
    – comprendre les modèles mathématiques mis en jeu
    – apprendre un nouveau langage de programmation (Python)

    Il était alors important de bien structurer nos séances de travail, d’adopter une bonne organisation et de se partager les tâches afin de mener à bien notre projet.

    2. Travail réalisé

    Pour mener à bien ce projet, nous avons orienté notre travail en deux parties. Dans un premier temps, la documentation sur notre sujet, à savoir la phyllotaxie ainsi que les modèles mathématiques. Dans un seconde temps, la mise en pratique par le développement du simulateur sur le langage Python.

      2.1 Documentation

    Les différents types de phyllotaxie

    Il suffit de changer l’angle pour obtenir une nouvelle forme de phyllotaxie. Il en existe 4 différentes:

    Phyllotaxie verticillé :
    Elle présente au moins trois organes par nœud. L’angle entre un nœud et le suivant est de 45 degrés. Ce cas de phyllotaxie est assez fréquent dans la nature.

    Plants de véroniques de Virginie.

    Plants de véroniques de Virginie.

    Phyllotaxie opposée :
    Les feuilles sont opposées deux par deux et on observe une rotation de 90 degrés entre un nœud et le suivant.

    Branches de menthe

    Branches de menthe

    Phyllotaxie spiralée :
    Il s’agit de la forme la plus classique de phyllotaxie, on compte un seul organe par nœud et un angle de 137,5 degré entre un organe et le suivant. On la retrouve dans 92% des plantes.

    Pomme de pin

    Pomme de pin

    Phyllotaxie alternée :
    Elle présente une feuille par nœud et un angle de 180 degrés entre deux organes consécutifs.

    Branche de chêne

    Branche de chêne

    Représentation mathématique en deux dimensions (théorie)

    Pour dessiner les points, on utilise le repère polaire:
    r = c * sqrt(n)
    teta= n * angle
    avec n est le nombre de points, c est la distance entre le point.

    repère polaire

    repère polaire

    Nous pouvons passer du repère polaire au repère cartésien pour dessiner avec un code informatique. En effet, les langages de programmation ne comprennent pas le repère polaire.

    Pour faire ceci, on utilise les propriétés du cosinus et du sinus qui sont respectivement:
    cos = adj/hyp et sin = opp/hyp
    On trouve que cos(teta)= x/r et sin()= y/r et ainsi x=cos(teta)*r et y=sin(teta)*r

    Il suffira juste de faire une boucle en fonction de n et de préciser les paramètres de c et de l’angle.

      2.2 Mise en pratique sur Python

    Concrètement, une fois le sujet compris, il faut le retranscrire sur un programme informatique. Pour ce faire nous avons suivi des formations pour apprendre le langage Python.

    Représentation de la phyllotaxie spiralée en deux dimensions (langage Python, éditeur VSC)

    Code phyllotaxie en 2D sur Python

    Code phyllotaxie en 2D sur Python

    Explication du code:
    Il faut tout d’abord importer les modules turtle et math nécessaire pour faire la représentation sous forme de dessins et pour utiliser les outils mathématiques. (ligne 1 et 2)

    Ensuite, on crée la fonction phy2D (ligne 4) et on rentre les paramètres avec c la distance entre les points, e l’épaisseur. On fait une boucle qui va dessiner un grand nombre de points (n=1000).

    On passe du repère polaire au cartésien. D’ailleurs, dans notre variable a (ligne 9), on convertit notre angle en radian en multipliant par pi/180 et par n pour que a dépend du point choisi. Puis, on dessine les points en changeant à chaque fois de position (x,y).

    À la fin, il suffit simplement d’appeler la fonction en indiquant les paramètres et on obtient la figure ci-dessous:

    Représentation graphique de la phyllotaxie spiralée (angle d’or: 137.5 degrés)

    Représentation graphique de la phyllotaxie spiralée (angle d’or: 137.5 degrés)

    Représentation en deux dimensions d’une marguerite et d’un tournesol

    En s’appuyant sur le code précédent, on peut dessiner n’importe quelle plante en 2D. En effet, il suffit juste de créer des fonctions dessinant un pétale et les répéter le nombre de fois que l’on veut.

    Simulation marguerite

    Simulation tournesol

    Création de l’application et d’un menu

    Une fois que nos programmes pour représenter la phyllotaxie en 2D et avec des exemples concrets étaient fonctionnels sur Python, nous avons créé l’application pour les regrouper. Ainsi nous nous sommes aidés du module tkinter sur Python pour faire les boutons, le menu…

    À gauche se trouvent les choix des différents paramètres et à droite l’interface graphique de dessin.

    Interface principale du simulateur

    Interface principale du simulateur


    Conclusion

    Pour conclure, ce projet a été long mais motivant pour chacun d’entre nous. En effet, nous avons apprécié travailler en équipe. Nous sommes très fiers du travail réalisé et des notions que nous avons pu découvrir. Le résultat final est conforme au cahier des charges, tout au long de la réalisation de ce projet nous nous sommes adaptés à la fois aux modèles mathématiques ainsi qu’aux outils informatiques. Nous avons développé sous Python un simulateur complet permettant de modéliser la phyllotaxie en 2D mais aussi sous forme d’exemples avec le cas de la marguerite et du tournesol. Ce travail fut pour nous enrichissant, à la fois sur l’aspect des recherches, celui de la découverte mais aussi sur l’apprentissage d’un nouveau langage de programmation : Python.

    Développement d’un robot mobile pour la recherche en cartographie

    Bonjour, nous sommes deux étudiants en deuxième année préparatoire intégrée de Polytech Angers. Nous avons décidé de nous lancer dans la conception d’un robot mobile de cartographie, enfin pour être plus précis dans l’élaboration de son châssis. Le but est d’avoir un robot qui puisse accueillir différents capteurs pour acquérir des données, pour par exemple avoir une représentation 3D de l’intérieur du bâtiment de Polytech Angers.

    Un robot comme celui-ci dans le milieu professionnel peut avoir plusieurs utilisations. Par exemple, nous avons découvert dans nos recherches un robot aspirateur qui cartographie votre maison pour pouvoir mieux la connaitre et mieux l’aspirer. Vous imaginez donc qu’il y a d’autres utilisations possibles.

    Il y a eu plusieurs étapes durant la réalisation de ce projet. On a dû d’abord préparer les bases.

    Les schémas fonctionnels :
    Nous avons eu un cahier des charges à respecter. Le robot devait faire une certaine taille, pouvoir accueillir un certain nombre de capteurs plus ou moins différents, etc.
    Il a fallu faire des schémas fonctionnels, pour savoir comment aller communiquer les différentes parties du robot et aussi pour définir ces parties. On a donc eu accès aux fiches techniques des moteurs, de la carte mère et des capteurs pour pouvoir savoir comment tous ces éléments allaient communiquer.

    Ici on voit comment les différents éléments communiquent entre eux

    Ici on voit comment les différents éléments communiquent entre eux

    Le dimensionnement de la batterie :
    Après avoir réalisé ces schémas, on avait accès à pas mal d’informations techniques sur les différents éléments. On a donc pu dimensionner la batterie, c’est-à-dire savoir quel voltage et quelle intensité il fallait pour que le robot fonctionne pendant une durée déterminée. Pour cela, nous avons donc pris les informations techniques de chaque composant et fait un calcul.

    Grâce à Excel on a pu rentrer différentes informations et avec des formules trouver les bonnes dimensions pour la batterie.

    Grâce à Excel on a pu rentrer différentes informations et avec des formules trouver les bonnes dimensions pour la batterie.

    Ici, on avait besoin de 30 minutes d’autonomie et l’on arrive à 5400 mAh, ce qui équivaut à environ deux fois la batterie d’un téléphone moyen. On arrivait aussi à un certain voltage et à une certaine tension, on a donc dû trouver des convertisseurs pour alimenter les différents composants du robot, car ils n’ont pas tous besoin de la même tension/courant.

    La CAO :
    La plus grosse partie du projet. On avait posé les bases, il fallait ensuite élaborer le corps de ce robot. On a donc utilisé un logiciel de CAO pour faire cela. On voulait faire un robot à plusieurs étages avec une petite tour tout en haut pour accueillir le capteur le plus important, le Lidar. On voulait faire un étage inférieur pour accueillir les moteurs, la batterie et la carte mère, puis un étage supérieur avec plusieurs emplacements pour pouvoir poser différents capteurs.

    Le premier résultat que nous avions à montrer avec en bleu la petite tour surmontée du Lidar.

    Le premier résultat que nous avions à montrer avec en bleu la petite tour surmontée du Lidar.

    Après consultation avec nos professeurs, il y avait plusieurs défauts à corriger. Les deux gros points à corriger étaient l’emplacement des capteurs qu’on devait centraliser puis aussi l’originalité, car notre châssis n’apportait rien de spécial. On est donc reparti trouver des idées et après plusieurs essais, on a enfin trouvé une bonne solution pour corriger tous les défauts. On a donc décidé de changer la forme pour faire un robot avec une forme plus ovale, avec les deux roues motrices au centre, pour pouvoir avoir un réel centre pour placer les capteurs. Aussi, on a pris la décision de faire étage inférieur pour les moteurs et la batterie, puis un étage moyen pour la carte mère. Enfin, on a pensé à un troisième étage qui accueillerait un tour modulaire qui elle-même accueillerait les différents capteurs.

    La nouvelle proposition du robot, avec en vert la carte mère, en marron foncé les différents étages à capteurs.

    La nouvelle proposition du robot, avec en vert la carte mère, en marron foncé les différents étages à capteurs.

    Le principe de cette tour, c’est d’avoir des étages qui s’emboitent facilement, sans vis et sans collage, pour pouvoir en enlever ou en rajouter à notre guise.

    Ici on voit une vue éclatée des étages à capteurs avec en marron les troncs, et en violet les "terrasses" à capteurs.

    Ici on voit une vue éclatée des étages à capteurs avec en marron les troncs, et en violet les “terrasses” à capteurs.

    Ces différents étages auraient donc des trous où l’on pourrait emboîter n’importe quel capteur existant, il suffirait de créer un petit adaptateur à chaque fois.
    Le capteur en gris a son adaptateur en bleu qui s'emboîte dans la "terrasse" à capteurs

    Le capteur en gris a son adaptateur en bleu qui s’emboîte dans la “terrasse” à capteurs

    Pour finir, on a fait un adaptateur pour le Lidar pour qu’ils puissent s’emboîter tout en haut de la tour, quel que soit le nombre d’étages. Aussi une petite astuce pour pouvoir faire passer les différents fils entre la carte mère et les capteurs a été de creuser des demi-cercles tout autour des troncs.

    On voit ici en vue du dessus que même tout en haut de la tour on a accès à la carte mère en vert plusieurs étages plus bas.

    On voit ici en vue du dessus que même tout en haut de la tour on a accès à la carte mère en vert plusieurs étages plus bas.

    Conclusion :
    Pour finir le robot, il aurait fallu avoir plus de temps pour réaliser les différentes pièces nécessaires. Le but était de réaliser un châssis qui puisse accueillir différents capteurs et l’on a pu au moins le concevoir en CAO. Le travail des prochaines équipes, s’il y en a, sera de le construire et de le faire rouler, pour acquérir différentes données. Grâce à ce projet, nous avons appris beaucoup sur la conception d’un robot, et toutes les contraintes mécaniques et électroniques que cela implique. La plus grande difficulté sera celle d’avoir eu besoin de se remettre à l’utilisation d’un logiciel de CAO, mais c’est revenu avec le temps. On aurait aimé pouvoir construire le robot et pouvoir toucher à la partie informatique/électronique plus en profondeur, mais cela sera pour une autre équipe d’étudiants.

    Merci d’avoir lu notre article !

    Par Antoine Verin et Macine Benmansour.

    Distributeur de jetons

    Bonjour

    Nous sommes 2 étudiants de Polytech Angers en Peip 2, et l’objectif de notre projet était de créer un distributeur de jetons pour l’armoire à énigme. Lorsque les étudiants résoudront les énigmes de l’armoire, ils pourront gagner des jetons. Le rôle de notre distributeur est de vérifier combien de jeton l’étudiant a gagné et de lui fournir le nombre exact de jetons.

    Conception :

    Ne pouvant pas aller à l’école au départ, nous avons pu nous consacrer pleinement à la conception. Il fallait déjà réfléchir au système de distribution. Premièrement, nous avons décidé d’intégrer 3 distributeurs afin de donner des jetons de tailles différentes (ex : 1pt, 5pts, 10pts) car il serait impossible de donner 50 points avec des jetons 1pt par exemple.

    Cela compliquait la tâche car il fallait pouvoir adapter le système a différentes tailles de jetons, mais avant ça, il fallait réfléchir à comment stocker les jetons et amener le bon nombre de jeton à l’étudiant. Notre première idée était de stocker les jetons dans un tube et de les pousser vers le haut pour qu’un second piston le pousse vers la sortie mais on s’est vite rendu compte que ça allait être compliqué. Donc nous avons fait l’inverse, c’est-à-dire que les jetons seront stockés dans un tube puis distribué par le bas. Et cela grâce à une pièce circulaire qui contiendrait un trou de la taille du jeton.

    Cercle réceptacle

    Cercle réceptacle

    Tube réservoir de jetons

    Tube réservoir de jetons

    Même si nous laissions le choix de la taille des jetons, il fallait mettre une limite. Nous avons donc pris comme minimum une pièce de 1 centimes (Epaisseur : 1.5mm/Diamètre : 15mm) et comme maximum un jeton de poker (Epaisseur : 4mm/Diamètre : 40mm).

    Nous avons d’ailleurs profité d’un moment où nous attendions nos commandes pour faire un Excel qui calculait les dimensions de la pièce circulaire et de la pièce de stockage selon la taille du jeton :

    Excel valeurs

    Il fallait ensuite créer une glissière pour pouvoir amener les jetons à l’extérieur du module. C’est ce qui a été le plus compliqué à modéliser car il fallait un angle vertical pour avoir une pente et un autre angle pour 2 des 3 glissières car les pièce circulaires ne sont pas toutes alignées par rapport à la sortie.

    Module SolidWorks vu de gauche

    Module SolidWorks vu de gauche

    Module SolidWorks vu de derrière

    Module SolidWorks vu de derrière

    Nous avons aussi commencé à réfléchir à la face avant même si nous voulions nous occuper de cette partie à la fin du projet. Nous voulions donc y mettre un réceptacle pour récupérer les jetons donnés, un lecteur NFC pour lire la carte étudiante car c’est pour nous la meilleure façon de vérifier l’identité d’un étudiant. Nous voulions aussi mettre un petit écran afin de marquer des informations et un pavé numérique pour interagir avec le distributeur si besoin.

    Il fallait aussi réfléchir à la partie électronique. Pour commencer nous devions choisir entre deux cartes de commandes : une Raspberry et une Arduino car les 2 avaient leur propres avantages. Nous avons finalement opté pour une Raspberry Pi 4 avec un Shield motor ce que nous ne regrettons pas.

    Et pour la partie distribution au niveau de la pièce circulaire, nous avons décidé d’utiliser pour chaque module un moteur CC (Courant Continu) et 2 capteurs (nous reviendrons sur la partie code plus tard).

    Face avant du module créée sur SolidWorks

    Face avant du module créée sur SolidWorks

    Assemblage :

    On pouvait enfin passer à la partie concrète. Nous avons donc commandé les pièces suivantes : Raspberry pi 4, Capteurs, résistances, moteurs, Shield Adafruit.

    Nous avons en même temps fait imprimer une pièce circulaire afin de faire nos premiers tests, mais nous nous sommes rapidement rendu compte de plusieurs problèmes : premièrement, les moteurs étaient trop rapides donc nous avons dû en recommander avec un réducteur intégré.

    Deuxièmement, nous devions trouver un moyen de fixer les capteurs perpendiculairement aux pièces circulaires car ils n’avaient pas de système de fixation. Nous avons donc créé sur fusion 360 (logiciel de modélisation 3D) une pièce qui permettrait de fixer facilement les capteurs.

    résistance

    capteur

    Nous devions aussi réfléchir à comment nos pièces allaient tenir au sein du dispositif et au moyen de soutenir les différents étages. Nous avons entendu parler des plaques de dibond, utilisée pour les robots. Il y avait ce type de plaque en stock à Polytech donc nous avons choisi cette option.

    Avant de pouvoir passer aux premiers tests, il fallait faire des soudures car le Shield ne permettait pas de connecter les câbles directement. Nous ne savions pas souder sur des cartes donc nous avons appris avec l’aide de Mr Godon (enseignant à Polytech).

    Nous pouvions maintenant passer aux premiers tests. Nous avons fait ceux-ci sur un type de jeton (jetons de poker). Il fallait tout d’abord usiner une première plaque de dibond, nous avons donc appris à utiliser la Charly DMC, une fraiseuse numérique avec l’aide de Mr Lopes (responsable du FabLab).

    Il fallait en plus imprimer en 3D les pièces nécessaires mais les imprimantes de Polytech n’étaient plus disponibles. Par chance, Adrien avait une imprimante 3D chez lui donc nous pouvions donc faire les pièces futures nous-même. Nous nous sommes donc attaqués à l’assemblage des pièces sur la plaque de dibond, puis au test. Nous avons cependant remarqué quelques erreurs sur la plaque de dibond ce qui compliquait celui-ci.

    Par manque de temps, nous avons décidé de passer à l’assemblage final directement et donc d’usiner la vraie plaque de dibond en corrigeant les erreurs.

    Plaque Dibond finale

    Plaque Dibond finale

    Plaque avec éléments fixés

    Plaque avec éléments fixés

    Après avoir tout assemblé, nous avons remarqué un petit problème : les pièces rotatives étaient imprimées avec du PLA gris transparents et le capteur, très sensible, ne détectait pas la pièce. Nous avons donc dû peindre ces pièces avant de passer au programme.

    Après avoir connecté tous les câbles, nous pouvions passer au code (nous nous sommes occupés assez tardivement du code car nous avons estimés que ce n’était pas la tâche la plus longue à faire).

    Code :

    Voici comment doit fonctionner le code :

    Quand le dispositif est au repos, le cercle se place de sorte à ce que le trou qui accueil le jeton se situe toujours entre le capteur de gauche et le tube de stockage. Quand un jeton est demandé le moteur se met en marche en sens anti-horaire. Si le capteur de droite ne détecte pas de changement, c’est qu’il y a bien un jeton et si le capteur de gauche détecte un trou, c’est que le jeton est sorti. Au contraire, si le capteur de droite détecte un trou ou le capteur de gauche ne détecte pas de trou, c’est qu’il y a un problème donc la pièce va refaire 3 fois la boucle afin de vérifier qu’il y a bien un problème. Si c’est le cas, le programme doit prévenir l’utilisateur ou un professeur.

    Nous avons eu un souci lors de la création de ce programme : le capteur détectait au moins une fois un trou lors du passage d’un jeton car celui-ci ne prenait pas la largeur totale du trou. Nous avons donc dû créer une boucle qui vérifiait dans une courte durée le nombre de fois qu’un trou était détecté.

    Fin :

    Il nous restait un peu de temps pour faire une seconde plaque de dibond qui servirait de second étage et qui permettrait de fixer les tubes de stockage pour les jetons.

    Dispositif final

    Dispositif final

    Malheureusement le projet n’a pas pu être terminé. Il reste la partie extérieure à faire : notre objectif était de créer tout une boîte sans plafond qui renfermerait le dispositif. Toute cette partie se glisserait dans une autre boite qui permettrai de faire un système de tiroir pour pouvoir accéder à l’intérieur si besoin. Il faudrait aussi faire la face avant avec tout ce qui a été cité avant (écran, lecteur NFC..) et les glissières qui permettraient aux jetons de se diriger vers l’extérieur.

    Merci d’avoir lu cet article jusqu’au bout !