Kart autonome

Bonjour à toutes et à tous et bienvenue !

Nous sommes quatre étudiants de PEIP2 à Polytech Angers et nous avons décidé, dans le cadre de notre formation de réaliser un kart autonome. Passionnés de mécanique et de programmation, vous êtes au bon endroit!

Introduction:

Avant de vous parler de ce que nous avons fait, il est important de vous expliquer ce qui a été réalisé par nos prédécesseurs. En effet, nous avons repris le projet des élèves de l’année passée. Ces derniers avaient réalisé un travail monumental en fabriquant à l’aide de pièces de récupération un châssis et une direction. C’est donc avec cette solide base que nous avons commencé notre projet. Cependant au vu de la complexité de notre tâche, nous nous sommes divisés cette dernière en plusieurs sous-parties : le frein, la direction, l’automatisation, la motorisation, et enfin, la carrosserie.

Le frein:

Le frein, élément indispensable sur tous les véhicules, est l’une des premières choses sur laquelle nous nous sommes attelés. De fait, l’année passée, les étudiants avaient dû, par manque de temps, se contenter d’un frein à main seulement sur la roue arrière droite. Ainsi nous avons décidé de réaliser un tout nouveau système de freinage, cette fois-ci à la pédale.

Etape 1: Assemblage des roues arrières

A l’origine, la raison pour laquelle le véhicule ne freinait que de la roue arrière droite provenait du fait que les deux roues n’étaient pas reliées. Cependant, on ne pouvait pas simplement effectuer l’assemblage à l’aide d’une tige en métal que l’on soudrait. En effet, cela aurait empêché nos suspensions de réaliser leur fonction, ou cette tige se serait cassée en cas d’efforts trop importants. Ainsi nous avons envisagé une solution technique nécessitant deux cardans, un arbre cannelé et une douille lisse nervurée (respectivement ci-dessous).

Les deux cardans nous permettent de gérer la différence de hauteur entre les roues. L’arbre et la douille permettent quant à eux de transmettre la rotation tout en gérant la variation de l’écart entre les roues. Effectivement, étant donné que nous avons un triangle de suspension à l’arrière, plus il y a du poids dans le véhicule, plus les roues s’écartent.

Etape 2: Mise en place du système

Une fois ce problème de roues réglé, nous avons réfléchi à un système de freinage à la pédale. Pour réaliser celui-ci, nous nous sommes servis d’un câble de frein de vélo, de plaques métalliques, d’une pédale et d’un frein à disque provenant d’un motoculteur. De cette manière, nous avons attaché le câble au frein puis nous l’avons tendu et caché à l’aide d’une plaque métallique. Enfin, nous l’avons attaché à la pédale. Cette dernière est fixée sur une tige métallique traversant perpendiculairement le kart dans la largeur. Grâce à la tension importante du câble, la pédale se relève d’elle-même. Cependant la course de celle-ci est faible.

Direction :

En parallèle, nous nous sommes attaqués à l’automatisation de la direction. Nos prédécesseurs avaient pour projet de gérer la direction avec un capteur relié à une carte Arduino pour contrôler un moteur électrique.

Nous pensions que cela aurait été assez rapide. Finalement, après avoir raccordé le moteur au volant de notre Kart, nous nous sommes rendus compte que le couple du moteur électrique était trop faible. Ainsi, nous avons décidé de concevoir un réducteur pour réduire la vitesse et augmenter le couple. Ne disposant que d’imprimantes 3D et d’une découpeuse laser, nous avons dû concevoir ce réducteur en plastique, en bois et en plexiglass. Après un long travail de CAO, nous nous sommes attelés à la réalisation du réducteur.

Après l’avoir terminé, nous l’avons testé sur notre kart. Malheureusement, un problème important est survenu: le moteur arrivait à bien faire tourner les arbres du réducteur, et par conséquent le volant. Cependant, quand nous tournions le volant, cela cassait le dernier arbre du réducteur dû à une différence de couple entre le moteur et le réducteur. Ainsi, nous avons décidé de concevoir un différentiel que nous placerions entre le moteur électrique et le réducteur. De cette manière, le moteur électrique entraîne le différentiel qui lui-même entraîne le réducteur, mais à l’inverse quand le volant tourne, il entraine le réducteur et arrive au différentiel qui continue de tourner mais n’entraine pas le moteur.

Pour finir, nous devions faire un bâti reliant le moteur, le différentiel et le réducteur. Cependant, l’impression de ce dernier a rencontré un problème. Ainsi, nous avons dû nous résoudre à faire le bâti en bois ce qui nous a pris plus de temps et de place. Enfin, nous avons réussi à coder un programme pour faire tourner le moteur en fonction de la direction demandé.

Automatisation:

A l’origine, l’objectif était d’automatiser à la fois la direction et le freinage. Malheureusement, par manque de temps, nous nous sommes rapidement concentrés sur la direction. Pour ce faire, nous avons utilisé un capteur lidar (capteur laser) et plus particulièrement le YDLIDAR G2 (image ci-dessus) qui permet de détecter, à 360 degrés, des obstacles allant de 0,12 à 12 mètres. Ce capteur, réputé simple d’utilisation, peut fonctionner sous Arduino. Ainsi, une fois la carte d’acquisition correctement reliée à notre appareil, il ne nous restait plus qu’à écrire le programme.

Dans un premier temps, nous avons défini ce que concrètement nous devions faire. De cette manière, nous avons déterminé qu’il fallait que le véhicule tourne en cas d’obstacle sur sa route et que dépendamment de la position de celui-ci (à droite ou à gauche), le kart choisisse le côté le plus optimal. Aussi, en cas de présence de plusieurs obstacles, il évite l’entrave la plus proche.

Une fois ceci bien défini, nous avons retranscrit cela en langage Arduino. Ainsi, nous avons demandé au capteur de réaliser plusieurs tours (afin d’avoir une meilleure précision) à l’aide de la condition: if (old_angle>angle). En effet, celle-ci signifie que la mesure de l’angle précèdent est supérieur à celle de l’angle du point actuellement étudié. Ce qui implique que le capteur a fait un tour complet. Des calculs de trigonométrie nous ont permis de localiser les différents obstacles. De cette manière, nous sommes parvenus à récupérer et à analyser les données du capteur.

Pour les plus téméraires d’entre vous, voici le code:

void loop() {
  


    if (lidar.waitScanDot() == RESULT_OK) {   //(lidar.waitScanDot() == RESULT_OK)
      const scanPoint &p = lidar.getCurrentScanPoint(); //Recuperation du point

      float angle = float(p.angle);        //Renommer la variable
      float distance = float(p.distance);  //Renommer la variable
      
      
      if (angle < old_angle){   // si le capteur a fait un tour complet
        nb_tour +=1;            // incrementation du nb de tours 
        
          if (nb_tour==30){     // nb tours au bout duquel on prend une décision
            nb_tour =0;         // reinitialisation de la variable 
            if(obs_droite == 1){
                printf("Tourner gauche\n");
                digitalWrite(11,LOW);         // activation des sorties digitales pour tourner à gauche
                digitalWrite(10,HIGH);        // 
                digitalWrite(12,LOW);         //
                distance_obs = 6000;          // réinitialise la distance de l'obs en dehors de notre zone de détection
                 obs_gauche = 0;              //Reinitialisation des variables obs
                 obs_droite = 0;              //

            }else if(obs_gauche == 1){
                printf("Tourner droite\n");
                digitalWrite(10,LOW);         // activation des sorties digitales pour tourner à droite
                digitalWrite(11,HIGH);        //
                digitalWrite(12,LOW);         //
                distance_obs = 6000;          // réinitialise la distance de l'obs en dehors de notre zone de détection
                printf("\n");
                 obs_gauche = 0;              //Reinitialisation des variables obs
                 obs_droite = 0;              //
            }else {
                printf("Avancer\n");
                digitalWrite(10,LOW);         // activation des sorties digitales pour avancer
                digitalWrite(11,LOW);         //
                digitalWrite(12,HIGH);        //
            }
            }

          

         
      }else{

        if (angle <= 258 && angle > 180){              // tourner à gauche 
          x = distance * cos (angle * PI/180 - PI);       // coordonnées de l'obs en mm 
          l = distance * sin (angle * PI/180 - PI);       // 
          if ( x<= 5000 && x >= 120 && l <= 555 && distance_obs>distance){  //condition pour que l'obs appartienne à la zone de détection et que l'obs détecté soit le plus proche
              distance_obs=distance;                   //nouvelle distance obs
              obs_gauche = 0;                          
              obs_droite = 1;

            }
          }
      }

        if (angle >= 102 && angle <= 180){        //tourner à droite
          l = distance * cos (angle* PI/180  - PI/2);        // coordonnées de l'obs en mm
          x = distance * sin (angle* PI/180  - PI/2);        // 
            if ( x<= 5000 && x >= 120 && l <= 555 && distance_obs>distance){  //condition pour que l'obs appartienne à la zone de détection et que l'obs détecté soit le plus proche
             
              distance_obs=distance;              //nouvelle distance obs     
              obs_gauche = 1;
              obs_droite = 0;
            
            }
      }
      old_angle = angle;                          //Mise a jour de la valeur de l'angle

    
    }else {
      // printf("Fail to get scan point!\n");
      delay(1);
    
    }
    
    
  } 

Ensuite, nous nous sommes servis des entrées/sorties digitales de notre carte Arduino afin de transmettre, en fonction des valeurs (0 ou 1) reçues, la commande à effectuer. Cette seconde carte contient le programme permettant de faire tourner le moteur chargé de la rotation du volant. Ce programme était fourni avec le moteur, nous l’avons simplement légèrement ajusté à nos besoins.

Motorisation:

Dans un premier temps, notre but était de fixer le moteur au kart. Nous avons utilisé le même principe que pour un vélo électrique. Nous avons intégré une partie rigide d’un cadre d’un ancien vélo. Puis, l’objectif consistait à relier le moteur au pignon par la chaîne mais aussi de raccorder le pignon à l’arbre. Pour cette dernière étape, nous avons créé une pièce 3D afin d’entraîner tout l’essieu arrière du kart.

Toutefois, lors de la mise en fonctionnement du moteur, nous avons été confrontés à un problème majeur qui a été la perte de puissance dû au soulèvement de l’essieu arrière. Pour essayer de résoudre ce problème, nous avons pensé à la réalisation d’une pièce 3D fixée aux suspensions pour empêcher ce soulèvement. Malheureusement, cette pièce a rompu lors de notre premier test car nous avions sous-estimé la pression soumise par l’essieu arrière sur la pièce. Le temps nous a manqué pour en concevoir une plus solide.

Carrosserie:

La dernière étape de notre projet a consisté à réaliser une carrosserie nous permettant ainsi de rendre notre véhicule plus esthétique. Dans ce but, nous avons utilisé des planches de contreplaqué que nous avons fixé au châssis à l’aide de vis. Nous nous sommes ensuite attelés à peindre notre kart aux couleurs de l’école.

Conclusion:

Nous sommes ravis d’avoir pu travailler sur ce projet à travers lequel nous avons appris énormément sur la mécanique et la programmation mais aussi l’organisation du travail en équipe. Au vu des difficultés rencontrées, nous sommes fiers du travail accompli bien que celui-ci ne soit pas pleinement abouti. Nous souhaitons particulièrement remercier notre tuteur de stage M. Lagrange, ainsi que toutes les personnes qui nous ont aidés sur ce projet: Boris pour toutes nos questions au fablab, M.Guyonneau pour son aide sur la programmation du capteur et enfin M.Bouljroufi pour ses conseils.

Nous vous remercions d’avoir lu notre blog et espérons qu’il vous ait plu.

Hugel Gaspard

Piccin Nathan

Denous Mathis

Genest Ethan

Liens des images utilisées:

Douille lisse nervurée : https://www.disumtec.com/fr/arbre-cannele-din-5463/55130009-douille-lisse-nervuree-din-5463.html

Arbre cannelé: https://www.prodealcenter.fr/arbre-cannele-1-3-8-6-cannelures-longueur-500-mm-1811428.html

Cardan : https://www.euromatik.fr/genouillere-cardan/2737-genouillere-acier-hexagonal-10-mm-hexagonal-10-mm-3663107017257.html

Moteur : https://www.conrad.com/en/p/joy-it-stepper-motor-nema-23-01-nema-23-01-3-nm-4-2-a-shaft-diameter-8-mm-1597326.html

Carte Arduino : https://store.arduino.cc/products/arduino-uno-rev3

Capteur YDLIDAR : https://www.generationrobots.com/fr/403021-telemetre-laser-360-degres-yd-lidar-g2.html

Banc d’essai pour une pompe à chaleur thermoacoustique

Bonjour à toutes et à tous !

Nous sommes Maël, Hugo et Nathan, trois étudiants en deuxième année du cycle préparatoire à l’école Polytechnique de l’Université d’Angers.

Avant toutes choses nous tenons à remercier toutes les personnes qui ont contribué à la réalisation de ce projet.

Nous voudrions dans un premier temps remercier, Rima AL ARIDI et Bassel CHOKR, les deux doctorants que nous avons assisté pendant ce projet et qui nous ont appris de très nombreuses notions avec une grande pédagogie malgré la barrière de la langue. Nous les remercions aussi pour leurs conseils, leur bienveillance et leur patience.

Ensuite nous voudrions remercier Hassan BOULJROUFI, assistant ingénieur électronique, pour son expertise sur la partie électrique et électronique du projet ainsi que pour ses nombreux conseils vis-à-vis de l’apprentissage de LabVIEW, de la réalisation de notre rapport et de notre rôle en tant qu’étudiant de deuxième années.

Enfin nous remercions Thierry LEMENAND, enseignant chercheur et responsable du projet, pour nous avoir donné la possibilité de travailler avec toutes ces personnes au sein de ce projet qui nous dépasse en tant qu’étudiant de deuxième années.

Contexte :

Lorsque l’on parle des principaux secteurs émetteurs de gaz à effet de serre, on évoque souvent le secteur du transport ou celui de l’industrie. Pourtant il existe d’autres secteurs occupant une part importante des émissions de gaz à effet de serre, comme le secteur du bâtiment. En effet, d’après les chiffres du Ministère de la transition écologique, ce secteur représente 23% des émissions de gaz à effet de serre en France ainsi que 43% des consommations énergétiques annuelles françaises. Afin de réduire cet impact, il est donc impératif de rénover les bâtiments mal isolés ou de favoriser l’installation de systèmes énergétiques plus performants et plus sobres, comme la pompe à chaleur.

Cependant, la pompe à chaleur actuelle n’est pas un dispositif parfait en termes d’émissions…

Pourquoi la pompe à chaleur classique présente une imperfection majeure ?

En effet, afin de fonctionner correctement, la pompe à chaleur thermodynamique doit utiliser des fluides frigorigènes car ces fluides permettent de transférer les calories extérieures à l’intérieur de l’habitation en utilisant le principe de compression / décompression. Ces fluides ayant un potentiel de réchauffement très élevé, en comparaison le CO2 a un potentiel de 1, car c’est l’unité de référence créée par le GIEC, tandis que le fluide R32, le plus utilisé pour les pompes à chaleur, en a un de 675, selon l’AFCE.

Heureusement des solutions pour remédier à ce problème existent !

Le projet ARKTEA

C’est donc pour faire disparaître les émissions dues aux fluides frigorigènes que le projet ARKTEA est né. Ce projet est le fruit d’une alliance de 4 entreprises françaises :

Arkteos, spécialiste dans le fabrication de pompes à chaleur
Equium, spécialiste dans le développement de pompe à chaleur thermoacoustique
ADNE, une bureau d’étude spécialisé dans différents domaines de la Physique
Laris, créateur du banc d’essai pour la pompe à chaleur

Le son au service l’environnement

Afin de remplacer les fluides frigorigènes et leur rôle au sein de la pompe, l’entreprise Equium a donc décidé de développer une pompe à chaleur utilisant le principe de la thermoacoustique. En effet, tout son est un mouvement d’ondes et comme on peut le voir sur l’animation suivante, ces ondes effectuent un mouvement de compression et de décompression ce qui permet de produire à la fois du chaud et du froid, tout comme les fluides frigorigènes :

Animation thermoacoutique

Bien évidemment, ce principe est naturel et n’émet quasiment pas de gaz à effet de serre.

“On pourrait se libérer de la menace climatique qui pèse sur nos têtes en changeant les règles du jeu, maintenant, en favorisant les écotechnologies comme la thermoacoustique.”

cédric françois, fondateur d’equium, TED x Rennes

Pourquoi trois étudiants de Polytech Angers ont un rôle à jouer dans ce projet ?

Comme dit précédemment, le laboratoire Laris participe à ce projet avec la création d’un banc d’essai pour la pompe à chaleur.

Ce banc constitue le projet de thèse de deux doctorants Libanais, Bassel et Rima. En tant qu’étudiant de deuxième année, nous avions plusieurs objectifs sur ce projet dont deux principaux. La première partie de notre travail consistait à réaliser l’acquisition de plusieurs températures et plusieurs voltages. Ces données sont issues de sondes de températures appelées PT100 et de débitmètres. Pour la deuxième partie principale, il nous était demandé de contrôler une résistance chauffante et notamment de la maintenir à une certaine température. Enfin, pendant toute la durée du projet nous avons été amenés à réaliser différentes tâches manuelles en plomberie et en électricité.

LabVIEW : un logiciel multitâches et très puissant

Afin de réaliser nos deux tâches principales, nous avons utilisé un logiciel de National Instruments nommé LabVIEW. Contrairement à d’autres langages de programmation comme le Python ou le langage C, la programmation sur LabVIEW s’effectue de manière beaucoup plus visuelle avec des blocs reliés entre eux.

On peut constater cela avec l’exemple suivant, illustrant la relation des gaz parfaits :

Programme LabVIEW illustrant la relation des gaz parfaits

Un programme LabVIEW est constitué de deux parties avec le block diagram comme ci-dessus et le front panel comme ci-dessous.

Acquérir des données et les classer avec LabVIEW

Afin de récupérer les différentes données de notre banc d’essai, nous avons donc construit un programme LabVIEW.

Pour commencer, nous avons réalisé une horloge permettant de définir la durée d’acquisition.

Programme LabVIEW permettant de donner une durée à l’acquisition

Ensuite, nous devions récupérer les données. Pour cela nous avons utilisé, sur le banc, des cartes d’acquisition liées aux différents capteurs de données et le module DAQ assisant sur LabVIEW.

Cela nous a permis de transférer les données du banc d’essai vers l’ordinateur.

Après cela, nous devions convertir ces données en tableau pour les classer dans un fichier Excel. Pour cela, nous avons donc utilisé ces deux premières parties du programme général.

Ici on cherche à récupérer la moyenne des valeurs de chaque capteur pour avoir une seule valeur toutes les x secondes.

Cette partie du programme nous permet ici de créer une colonne de tableau pour chaque données avec un nom associé.

Les deux programmes ci-dessus sont donc répétés autant de fois que nous avons de capteurs, soit huit.

Enfin, nous avons relié ces sept parties du programme à un module nommé “Write to measurement file” pour créer le fichier Excel avec les données.

Contrôler une résistance chauffante avec LabVIEW

Pour cette partie, il nous était demandé de maintenir à une certaine température une résistance chauffante présente sur la banc d’essai. Cette résistance a pour but de chauffer l’eau en provenance de la pompe à chaleur.

Photo de la résistance chauffante

Pour contrôler cette température avec LabVIEW, nous avons utilisé le principe de la régulation. Pour illustrer ce qu’est la régulation, nous pouvons prendre l’exemple d’un régulateur de voiture. En effet, lorsque l’on souhaite que notre voiture roule à 110 km/h, l’ordinateur de bord va calculer la puissance que le moteur va devoir délivrer afin de maintenir la vitesse désirée selon la forme de la route par exemple.

Pour en revenir à notre projet, nous avons conçu un programme LabVIEW utilisant le module de régulation PID ( Proportionnel Intégrale Dérivée) présent sur la version améliorée du logiciel.

Grâce à ce programme, nous pouvons chauffer notre résistance à la température souhaitée et en optimisant les paramètres de PID, avoir une régulation des plus optimisées.

Front panel associé au programme précédent, permettant d’optimiser la régulation

De la plomberie et de l’électricité

Pendant toute la durée du projet nous avons été amenés à réaliser différentes tâches en plomberie et en électricité.

Pour la partie plomberie, nous avons pu changer de nombreux tuyaux, gérer des fuites et surtout éponger le sol !

En ce qui concerne la partie électricité, nous avons participé au branchement des cartes NI ainsi qu’à la réalisation d’un relais statique ou encore l’ajout d’un écran sur les débitmètres.

Quels apports pour nous ?

Ce projet a été pour nous l’occasion de développer de nombreuses compétences comme la gestion d’un projet avec les imprévus qui vont avec, l’achat de composants ou encore la pratique de l’anglais scientifique tout au long du projet.

Ce projet nous a aussi permis de visualiser une application directe de la thermique, de l’électricité ou encore de la mécanique des fluides.

Aux étudiants de première année à Polytech Angers, nous vous invitons à choisir un projet comme le notre car cela vous permettra d’effectuer de nombreuses tâches variées dans différents domaines

Merci pour votre lecture !

Le panneau solaire en origami

Panneau solaire en origami

Bonjour à toi et bienvenue sur ce blog !

Nous sommes trois étudiantes en 2e année en cycle préparatoire à Polytech Angers.

Pichon Eléonore
Thiriot Emie
Pottier Inès

Il y a quelques mois, nous avons commencé à travailler sur un projet et nous l’avons maintenant terminé !

Nous avions plusieurs choix de projet et nous avons choisi celui portant sur les panneaux solaires en origami. Ce projet nous a particulièrement inspiré par son côté énergie renouvelable et écologique des panneaux solaires mais aussi par l’originalité et l’esthétisme de l’origami.

Quelle est l’origine de ce projet ?

Notre projet est inspiré d’un prototype réalisé par la Nasa permettant d’envoyer facilement un engin de taille raisonnable dans l’espace qui par la suite va se déplier en un très grand panneau solaire.

En effet, la Nasa s’est inspirée de la méthode de l’origami. Celle-ci permet d’optimiser la taille du panneau solaire et ainsi diminuer les coûts de l’envoi dans l’espace.

Quel est le but ?

Notre objectif est donc de réaliser un panneau solaire pouvant se replier sur lui-même grâce à une méthode d’origami et pouvant se déplier complètement sur un support inclinable afin de capter un maximum l’énergie solaire. Pour ce faire,

plusieurs objectifs se sont succédés :

La réflexion. . .

Tout d’abord nous avons fait de nombreuses recherches afin de comprendre le projet réalisé par la Nasa et de trouver nos propres idées pour concevoir notre projet. 

  • le pliage en origami

Nous avons essayé de réaliser le pliage du prototype de la Nasa mais sans grand succès. Nous avons ensuite cherché et testé d’autres pliages jusqu’à en trouver un qui nous plaisait particulièrement : le pliage Herringbone.

Pliage Herringbone

Ce pliage était esthétique sans être trop complexe à réaliser. Plus tard dans la réflexion, nous avons compris que ce pliage ne permettrait pas la pose des panneaux solaires. C’est pourquoi nous avons choisi un pliage plus simple et plus connu : le pliage en éventail.

  • la forme du support

Nous voulions un support qui tienne debout, qui puisse se replier jusqu’à être pris en main et qui permette au panneau solaire de s’incliner.

Une fois nos objectifs établis, nous avons chacune pensé à un support différent. Nous les avons ensuite mis en commun pour les comparer et repérer les avantages et les inconvénients de chacun de nos supports. Par la suite nous en avons créé un ensemble en associant nos idées. 

  • mouvement du support et CAO

La forme du support a aussi été choisie en réfléchissant à la manière dont il pouvait se replier. Ainsi grâce à la CAO nous avons pu visualiser nos différentes idées et nous rendre compte que certaines ne fonctionnaient pas du tout. 

  • choix des matériaux

En ce qui concerne les matériaux nous avions des choix à faire.

Pour le support : 

Au début nous pensions utiliser l’imprimante 3D et donc le réaliser en plastique. Finalement la taille que nous avons choisie ne permettait pas de le réaliser de cette manière. Nous avons donc réfléchi à d’autres matériaux qui pouvaient correspondre à nos attentes, c’est-à-dire un matériau assez résistant pour que notre support soit solide mais pas trop lourd pour qu’il puisse être transportable lorsqu’il est plié. Nous avons finalement retenu le bois qui est plutôt solide, assez léger, écologique et esthétique. Afin d’assembler les différentes parties du support, nous avons choisi des vis et des écrous.

Pour le panneau solaire

Nous devions trouver un panneau solaire flexible afin de pouvoir le plier en origami. Après des recherches nous avons trouvé un film photovoltaïque. Cependant nos demandes auprès du fournisseur n’ont pas abouties et puis nous n’étions pas certaines que ce film pourrait complètement se plier. Nous avons donc décidé de représenter notre panneau solaire par un pliage en papier peint fixé sur le support avec de la colle des deux côtés.

Quelle idée avons-nous retenu ?

Finalement après toutes ces recherches et toutes ces réflexions, notre projet s’est un peu plus concrétisé.

Pour récapituler, nous avons un support en bois se repliant sous forme d’un “pont”

De chaque côté du support, il y a des rondins en bois autour desquels nous pouvons enrouler et fixer notre panneau solaire (représenté par notre papier peint) plié en éventail. 

Place à la réalisation !

Pour réaliser notre projet nous avons dû passer du temps à faire des calculs pour être sûr de notre dimensionnement.

Ensuite nous avons commandé nos matériaux.

Puis nous avons pris les mesures, coupé, poncé, percé, vissé et fixé nos différentes parties pour réaliser notre support.

Pour finir nous avons pris les mesures, découpé, plié et fixé le papier peint sur le support. 

Les problèmes rencontrés ; c’est bien beau mais tout n’a pas été si simple

Durant ce projet nous avons malgré tout rencontré certains problèmes. 

Le choix du pliage en origami : Le pliage Herringbone n’était pas possible à cause des panneaux solaires que nous devions poser dessus. 

Le film photovoltaïque était introuvable

La taille de notre assemblage ne permettait pas l’utilisation de l’imprimante 3D.

En recevant notre commande de matériaux nous nous sommes rendu compte que certains morceaux de bois étaient abîmés.

C’est déjà la fin… Voici un petit bilan de ce projet :

Nous sommes contentes d’avoir réalisé ce projet de fin d’année ensemble. En effet, cela nous a appris à travailler en équipe, à favoriser notre autonomie et à bien s’organiser ensemble, en se répartissant les tâches. De plus, nous avons trouvé cela intéressant de s’occuper d’un projet dans son intégralité, de commencer par la recherche en passant par la conception et jusqu’à la réalisation. Cependant nous aurions aimé que la réalisation finale corresponde davantage à l’idée que l’on avait de base  d’un panneau solaire transportable et que celui-ci fonctionne réellement. Malgré tout, ce projet était une belle expérience !

Alors, en espérant que ces explications t’aient plu, merci d’avoir pris le temps de lire cette page de blog !

Nous remercions particulièrement Adel Haddad pour nous avoir accompagnées tout au long de ce projet.

Abonnez-vous à notre compte instagram en cliquant sur l’icône suivant :

Virtual House

Introduction :

Le réchauffement climatique est de plus en plus alarmant et d’après les scientifiques, nous sommes la dernière génération à pouvoir inverser cette tendance. Les émissions de CO2 sont trop importantes et entraînent la planète vers un réchauffement désastreux de +3°C. Cependant, il est encore possible d’inverser la tendance en transformant radicalement l’économie et en plafonnant ces émissions. Pour ce faire, il est important que chacun prenne conscience de son impact sur l’environnement, que l’on soit un professionnel ou un particulier.

Dans ce projet « Virtual House », nous avons souhaité limiter notre étude aux particuliers, afin que nos propositions soient les plus adaptées possibles, que les prises de conscience soient les plus importantes et que les changements soient effectifs. Notre objectif est donc de sensibiliser chaque particulier sur son comportement vis-à-vis de sa consommation d’énergie et du changement climatique actuel. Ainsi, nous nous sommes focalisés sur l’utilisation des équipements électroménagers et de leur impact, afin de montrer à l’utilisateur qu’il est possible de réduire son impact sur l’environnement par des gestes simples. Notre projet cherche à répondre à la problématique sous la forme d’une prise de conscience interactive et ludique, tout en restant instructif afin de permettre d’apprendre à mieux consommer.

Le projet :

1/ La conception de la maison

Une des premières réalisations du projet a été l’environnement de l’utilisateur et donc la maison. Le maquettage a permis d’obtenir :

Maquettage du RDC et de l’étage

Puis, à l’aide de nos premières compétences Unity et des « Préfabs » à notre disposition, nous avons pu créer et meubler la maison pour obtenir une première modélisation :

Extérieur de la maison et exemple d’une pièce de la maison

Nous avons pensé notre maison afin de refléter la réalité et rendre l’expérience plus immersive. Par la suite, nous avons ajouté nos éléments importants : les équipements interactifs.

Les éléments interactifs sont repérables par les cercles rouges

2/ L’utilisateur et ses mouvements : le déplacement et le champ de vision

Les équipements de la maison sont interactifs grâce à des scripts qui permettent à l’utilisateur d’interagir avec eux.

Le premier exemple d’interactivité est la maison elle-même. Cet équipement est interactif puisque l’utilisateur peut s’y déplacer. Le clavier permet les déplacements avant, arrière et latéraux, et la souris permet un mouvement de la tête et donc du champ de vision : vers le haut, le bas, la droite et la gauche.

La fonction Update permet le déplacement par le calcul des positions « curSpeedX » et « curSpeedY », ainsi que la direction choisie : « moveDirection ».

Un second exemple est le champ de vision de l’utilisateur. L’intérêt est de définir ce que « regarde » l’utilisateur afin d’interagir avec l’environnement. Nous avons décidé d’utiliser un raycast. Un raycast est un rayon qui permet de récupérer les informations relatives à chaque objet traversé par celui-ci.

Raycast

Dans l’exemple ci-contre, le raycast est représenté par le trait rouge (ici émis par la tête de notre utilisateur et représentant ses yeux) pointant dans la direction dans laquelle il regarde.

Ce rayon n’est pas visible par l’utilisateur.

Ainsi, le rayon traverse l’équipement (exemple un interrupteur) seulement si l’utilisateur regarde ce dernier. Une étiquette « Player » est définie pour l’utilisateur et permet d’interagir avec l’équipement uniquement lorsque le raycast rencontre un équipement ayant une étiquette « Interaction ».

Enfin, si l’utilisateur cesse de regarder l’interrupteur, il retrouve alors l’étiquette « Player1 ». Ainsi l’utilisateur peut interagir avec l’interrupteur uniquement s’il est dans la zone définie et qu’il regarde l’interrupteur.

Le code ci-dessous permet de transcrire cela :

Script de la création du raycast

3/ Les équipements interactifs

Un exemple d’interaction est la possibilité pour l’utilisateur d’allumer et d’éteindre les lumières. Cela permet de comparer les consommations d’un équipement en marche ou à l’arrêt.

L’image ci-dessous présente les trois états d’un bouton : à l’arrêt, dans le champ de vision de l’utilisateur (avec la possibilité de l’actionner) et le bouton actionné.

Bouton à l’arrêt, dans le champ de vision et actionné

Pour réaliser cette interaction, nous avons écrit le script suivant :

Script d’interaction avec les lumières

Ainsi, nous avons réalisé des scripts pour : le mouvement des portes, la télévision et les ordinateurs, le lave-linge, les toilettes, la douche, les robinets, la baignoire…

4/ La sensibilisation

Pour rappel, notre objectif est que l’utilisateur puisse constater la consommation d’un équipement afin d’y être sensibilisé et de modifier son comportement dans le but d’agir pour la planète et aussi peut-être pour ses économies.

Afin de réaliser cela, nous avons dans un premier temps recensé, pour chacun des équipements, ses consommations d’électricité et/ou d’eau moyennes par jour ou par année. Puis, afin d’améliorer la compréhension de l’utilisateur, nous avons placé ces calculs dans un contexte (celui d’un couple sur une semaine) et proposé un scénario à l’utilisateur :

Scénario proposé à l’utilisateur

De même, nous avons agrégé les besoins en chauffage en regroupant les déperditions de chaque paroi et les apports de chaleur, tout en prenant en compte le rendement du système de chauffage. Nous avons par la suite codé afin de retranscrire ces données.

Script de calcul de l’onglet simulation

Enfin, nous avons ajouté une interface afin de modifier et visualiser ces données et calculs.

Aperçus de l’onglet simulation

Conclusion :

Ce projet répond aux attentes mais est bien sûr perfectible. Nous aurions aimé implémenter un mode réalité virtuelle afin d’améliorer le côté ludique de notre projet. De même, nous pensons qu’il serait intéressant d’intégrer un fichier météo, et de permettre le choix d’une température de consigne dans le bâtiment. Cela améliorerait la qualité des scénarii. Enfin, un code couleur de consommation pourrait faire ressortir les équipements gourmands.

Virtual House, un projet réalisé par Mathys Chien Chow Chine, Antonin Geille, Léo Moncoiffet et Mathis Nagmar, Peip2

Lien du compte rendu : https://files.u-angers.fr/data/f-e20a3117fec1991c.pdf

Lien d’une vidéo de présentation : https://youtu.be/vXtRVafyJbQ

Broie ton plastique avec ELODY5000 !

Présentation

Nous sommes 3 étudiants en PeiP2 à Polytech Angers, et vous présentons à travers ce blog le parcours que nous avons emprunté lors de la réalisation de notre projet : Broie ton plastique.

Figure 1 : Broyeur de plastique final – cliquer pour consulter l’article sur Polytech Angers

Le FabLab de l’école dispose de nombreuses imprimantes 3D RDM, c’est-à-dire à dépôt de filament, régulièrement utilisées par les élèves lors de TP ou bien pour des projets divers. Ces différentes utilisations génèrent une quantité importante de plastique non exploité par la suite : supports d’impression, rebuts… Le but de ce projet est de revaloriser tous ces déchets, en les broyant pour par la suite pouvoir recréer des bobines de plastique grâce à l’extrudeuse déjà existante au FabLab.

Nous reprenons le projet en cours de création : à notre arrivée, le broyeur est déjà réalisé, le moteur ainsi que son variateur ont déjà été choisis, commandés, et réceptionnés. Notre rôle est de finaliser le projet :  concevoir le système de sécurité, le réaliser et tout assembler.

Cahier des charges

Notre mission consiste à rendre le broyeur fonctionnel tout en assurant la sécurité des usagers. Cela comprend : fixer le moteur et le broyeur au bâti, accoupler leurs arbres, intégrer un bouton d’arrêt d’urgence, couper l’alimentation du moteur lors de l’ouverture du capot, concevoir et réaliser un carter pour éviter tout contact avec les arbres en rotation ainsi que l’engrenage, mettre un bouton poussoir à disposition permettant d’actionner le moteur dans le sens opposé afin de pallier les potentiels bourrages du broyeur, et finalement un potentiomètre afin de pouvoir contrôler manuellement la vitesse de rotation du moteur.

Branchement du moteur

Nous disposons d’un moteur qui fonctionne en triphasé : c’est-à-dire qu’il est alimenté par 3 phases contrairement au système de courant monophasé qui lui n’est composé que d’une phase et d’un neutre (le système monophasé est le plus répandu, et alimente certainement votre réseau domestique). Ainsi, pour alimenter le moteur, nous devons utiliser un variateur de tension qui prendra du monophasé en entrée, et sortira du triphasé pour le moteur. Après avoir compris tout ceci, et avec le matériel nécessaire; incluant notamment des câbles de mise à la terre pour protéger l’utilisateur, et plus généralement des câbles suffisamment épais pour supporter la charge de courant; il a suffi de suivre les consignes du constructeur pour procéder au câblage. Une fois cela fait, nous avons pris soin d’ajouter un bouton d’arrêt d’urgence coupant l’alimentation du système si enclenché, ainsi que plusieurs câbles de mise à la terre reliés à la carcasse du moteur, au bâti ainsi qu’au variateur afin de protéger l’utilisateur de potentielles fuites de courant.

Figure 2 : Panneau de commande

Contrôles du moteur

Le variateur que nous utilisons pour alimenter le moteur est programmable. Il dispose de plus de mille paramètres tous réglable individuellement. Par ailleurs, il propose certaines pré configurations de commande avec un schéma électrique associé. Ainsi, en sélectionnant la configuration la plus adaptée par rapport au cahier des charges, et en connectant tous les boutons aux bonnes entrées et sorties du variateur selon le schéma en question, nous disposons de deux boutons de commande et d’un potentiomètre pour régler la vitesse de rotation. Pour une meilleure présentation, nous avons pris le temps de modéliser et imprimer en 3D un boîtier avec des emplacements pour les boutons, ainsi que des autocollants pour une meilleure lisibilité des commandes.

Figure 3 : Boîtier de commande

Protéger l’utilisateur

Afin de protéger l’utilisateur, nous avons mis en place un capot ouvrant au-dessus de l’entonnoir, et en dessous duquel nous avons placé un capteur détectant l’ouverture du capot, afin de couper l’alimentation du moteur s’il est en fonctionnement. Finalement, nous avons conçu un carter de protection en bois afin de cacher les éléments tournant notamment l’engrenage, pour éviter de s’y blesser.

Figure 4 : Broyeur vu du dessus

Revalorisation des déchets

Figure 5 : Bac de récupération à 2 étages avec tamis

Pour finir, nous avons eu l’idée de concevoir un bac de récupération à deux étages, avec une grille les séparant de manière à filtrer les débris à la bonne dimension pour l’extrudeuse. Ceux qui ne conviennent pas pourront subir un nouveau passage au broyeur jusqu’à passer entre les mailles de la grille.

Figure 6 : Extrudeuse et échantillon de bobine créée

Vous pouvez observer ci-dessus un échantillon de bobine créé par l’extrudeuse, à partir de billes de plastique. Lorsque l’extrudeuse sera de nouveau opérationnelle, nous pourrons exploiter le plein potentiel du broyeur et tenter de recréer des bobines à partir des déchets broyés!

Le meilleur pour la fin

Si vous voulez contemplez le broyeur en fonctionnement, nous vous invitons à consulter la procédure d’utilisation vidéo juste ici :

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.

    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.

    Conception, modélisation, réalisation et commande d’un système mécatronique : Robot Diwheel

    par Jad THALAL, Guillaume TREMBLIER, Hugo LE GUILLOUS

    Bonjour à tous!

    Nous sommes trois étudiants en 2ème année du cycle préparatoire d’ingénieur à Polytech Angers. Dans le cadre de notre formation, nous avons été amenés à réaliser un projet tutoré liant plusieurs domaines (mécanique, capteurs, informatique, modélisation d’un système, automatique…).

    photo3

    La grande source d’inspiration de ce projet se trouve dans le modèle EDWARD (Electric Diwheel With Active Rotation Damping), il s’agit d’un projet de l’université d’Adélaïde consistant en un Diwheel grandeur nature capable d’embarquer un humain.

    le modèle EDWARD

    Le modèle EDWARD

    Ce projet consistait en la modélisation puis la réalisation d’un robot Diwheel télécommandable par wiimote et automatisé afin de s’auto-balancer. En effet, la structure du robot, avec ses deux grandes roues, a la fâcheuse tendance de se pencher d’une manière trop importante lors des accélérations et des décélérations.

  • Modélisation et représentation du système
  • La première partie du projet a consisté à représenter notre robot Diwheel en un système mécatronique composé de deux parties : les roues et le corps du Robot. En effet, le corps du Diwheel peut être représenté comme un pendule de masse m qui oscille d’un certain angle dû à l’accélérations des roues.

    Représentation du système étudié

    Représentation du système étudié

    À la suite de plusieurs calculs de vitesses, d’énergies cinétiques, d’énergies potentielles et en passant par des équations de Lagrange, qui sont détaillés dans le rapport du projet Diwheel, on a réussi à modéliser par représentation d’états notre Diwheel en utilisant un système à temps continu de type CLSS. Notre système est un système d’ordre 4.
    Cependant, comme on pouvait si attendre, le système en boucle ouverte n’est pas stable, ce qui nous contraint à établir un asservissement du système et ainsi avoir un système en boucle fermé.
    Pour ce faire on a utilisé le logiciel Scilab:

    Système en boucle fermé (Xcos Scilab)

    Système en boucle fermé (Xcos Scilab)

  • Récolte des données/capteur
  • Nous avons par la suite réalisé une expérience pour pouvoir récolter les données de l’angle de balancement de notre Diwheel à l’aide de l’application Lego Mindstorms et du capteur gyroscopique. Dans le but de reproduire le balancement de notre robot en simulation.

    Programme sur Lego Mindstorms pour la récolte des données

    Programme sur Lego Mindstorms pour la récolte des données

    Angle de balancement du Diwheel

    Angle de balancement du Diwheel


    De cette expérience on en conclut que l’angle maximal d’inclinaison et d’environ 40 degrés et qu’au bout de 5s le Diwheel se stabilise et arrête d’osciller.

  • Controle du Robot
  • Cette partie consistait à contrôler le Diwheel avec une Wiimote. Nous nous sommes donc penchés sur plusieurs pistes. Dans un premier temps nous avons essayé de connecter la wiimote directement à l’EV3. Pour ceci nous sommes allés dans les paramètres Bluetooth de l’appareil. La Wiimote était bien détectée par l’EV3 mais lors de l’appairage impossible de connecter les deux ensembles car nous revenions en permanence sur le menu d’appairage. Nous avons tenté aussi de faire un relais avec l’ordinateur, c’est-à-dire que les informations de la Wiimote seraient envoyées à l’ordinateur, et l’ordinateur à son tour les enverrait au Diwheel. Nous avons trouvé des exemples de ce type sur internet et nous avons donc installé Visual Studio Code afin d’envoyer des informations en python à l’EV3 mais nous n’avons pas réussi à envoyer les informations.

    Nous avons quand même pu contrôler le Diwheel à l’aide de nos smartphones, grâce à l’application LEGO MINDSTORMS Commander disponible dans le play store.

  • Conclusion
  • Le résultat final est conforme au cahier des charges car nous avons obtenu dans la forme un prototype capable d’effectuer les actions du cahier des charges. Cependant nous avons eu de gros problèmes avec la partie Scilab ainsi que la partie connectivité ce qui ne nous a pas permis de remplir le cahier des charges en entier. Pour des futurs projets nous pourrions améliorer nos méthodes de travail afin de travailler plus efficacement. Mais les clés qui nous ont manqué pour terminer ce projet sont les connaissances. Tant en programmation qu’en automatique, il est certain qu’avec un bagage plus important nous aurions pu venir à bout de ce projet.

    Système de stationnement automatisé sur Arduino​

    Bonjour à toutes et à tous !

    Introduction

    Nous sommes Esteban Cornu, Mattéo Jupille et Alexis Maupas des élèves en deuxième année de cycle préparatoire ingénieur et nous allons vous présenter notre projet intitulé “Système de stationnement automatisé sur Arduino”. Ce projet nous a vraiment attiré lors de la sélection car il correspond au domaine dans lequel nous souhaitons évoluer dans le cycle d’ingénieur. En effet, le projet possède toute une partie basée sur la programmation qui fait écho à la filière SAGI ainsi que sur la partie qualité, innovation et fiabilité qui nous initie à la filière QIF.
    Le but est dans un premier temps de découvrir l’Arduino sur laquelle aucun de nous n’avait travaillé auparavant, mais nous étions tous impatients de commencer. Dans un second temps, le projet a permis de nous faire découvrir toutes les étapes à suivre pour mener à bien un projet. Pour cela, il faut s’organiser en répartissant correctement les tâches au sein du groupe dans le but d’être plus efficace. Tout au long du projet nous avons été épaulés par Monsieur Haddad.

    Objectifs du projet

    1. Trouver un moyen pour rendre un parking autonome
    2. Concevoir et Programmer un parking situé en plein cœur d’une ville
    3. Réaliser une maquette fonctionnelle de ce parking

    Travail réalisé

    1. Etude d’automatisation

    Nous avons établi trois possibilités pour réaliser ce parking automatisé. La première option consiste à utiliser une carte Arduino avec deux caméras à reconnaissance de plaque d’immatriculation. La deuxième sollicite une carte Arduino avec des capteurs optiques et la dernière se compose d’une carte Raspberry Pi avec deux caméras à reconnaissance de plaque.

    Comparaison des 3 options

    Après avoir comparé les 3 alternatives en fonction du prix, de la fiabilité, de la complexité nous avons retenu la deuxième option.

    Explication du fonctionnement :
    Un écran LCD indique le nombre de places restantes si le nombre de place est supérieur à 0 alors un véhicule peut rentrer. Des capteurs optiques placés sous le sol avant et après la barrière vérifient si la voiture est bien rentrée avant de refermer la barrière. La barrière s’ouvre et se ferme à l’aide d’un servomoteur. Puis la voiture peut se garer sur n’importe quelle place libre. Pour aider le conducteur nous avons placés des LED vertes et rouges au bout de chaque place. Si la LED est verte alors la place est libre, elle passera au rouge lorsque le véhicule sera bien garé au-dessus du capteur optique présent sur chaque place. A chaque fois qu’une voiture se gare un chronomètre associé à la place est lancé ce qui permet de vérifier le temps passé dans le parking. Lorsqu’un automobiliste décide de partir, l’écran affiche le prix à payer en fonction du chronomètre lié à sa place puis il peut partir par la barrière de sortie fonctionnant de la même manière que celle d’entrée.

    2. Conception du parking

    A. Agencement Parking

    Nous devions ensuite imaginer l’agencement des places de parking ainsi que la position des barrières d’entré et de sortie mais aussi prévoir un emplacement pour cacher la carte Arduino.

     Croquis Parking Arduino

    Nous avons ajouté deux places de parking pour personnes à mobilité réduite selon l’arrêté du 1er août 2006 en respectant les normes.
    Le temps était maintenant venu pour nous de réaliser ce parking en 3D à l’aide du logiciel en ligne OnShape en taille réelle. Cette étape a pour but de nous aider à dimensionner le projet mais aussi de nous projeter dans le futur pour connaitre précisément l’emplacement de chaque composant.

    Parking En 3D

    Parking de 30m x 16m

    B. Programmation

    Afin de pouvoir contrôler tous les composants nous avons utilisé une carte Arduino MEGA car il fallait beaucoup d’entrées analogiques pour les capteurs optiques ainsi que beaucoup de sorties digitales pour contrôler chaque LED.

    Sachant que nous attendions la livraison des composants nous en avons profité pour réaliser des tests sur le logiciel en ligne TinkerCad qui permet de simuler une carte Arduino pour venir y connecter des composants eux aussi virtuels. Ces nombreux tests nous ont permis de comprendre le fonctionnement de chaque composant ainsi que la manière de le brancher à la carte. Nous avons donc utilisé les librairies ServoMoteur et LiquidCrystal pour contrôler la barrière et l’écran LCD facilement. Cette étape nous a fait gagner beaucoup de temps car dès la réception des composants nous avons pu passer à la réalisation sans trop se soucier si le parking fonctionnera une fois l’assemblage des pièces 3D et de la planche en bois terminé.

    TinkerCad-LCD

    TinkerCad-LCD

    3. Réalisation de la maquette

    La réalisation de la maquette à commencer lorsque nous avons reçu nos composants. Nous avons d’abord tracé l’emplacement de chaque élément (places, pièces 3D, …) pour ensuite commencer à découper la planche.

    Découpage de la planche

    Découpage de la planche

    Perçage de la planche

    Perçage de la planche

    Soudure des composants

    Soudure des composants

    Après le découpage et le percage de la planche nous avons placé tous les composants ainsi que tous les pièces 3D.

    L’étape suivant était de souder tous les composants entre eux afin de les connecter à la carte Arduino ce fut très long et périlleux en raison du nombre de composants à alimenter.

    Nous avons ajoutés quelques détails comme les panneaux de sens interdit et les signalisations pour les places handicapées.

    Résultat final

    Conclusion

    Pour conclure, nous sommes très reconnaissants d’avoir participé à ce projet pour clôture notre deuxième année préparatoire. En effet, nous avons pu découvrir ou approfondir plusieurs domaines comme la programmation Arduino, la conception assistée par ordinateur, la gestion du temps, la fabrication d’une maquette fonctionnelle, … En plus des connaissances, nous avons appris à concevoir de A à Z un projet ce qui va beaucoup nous aider dans nos futures missions en tant qu’étudiant en école d’ingénieur. Nous sommes très fiers car nous considérons avoir réussi à répondre correctement au cahier des charges en essayant d’innover. Nous profitons de cette conclusion pour remercier Monsieur Haddad pour nous avoir accompagné à concevoir ce projet.

    Esteban Cornu Mattéo Jupille Alexis Maupas

    Borne d’arcade multijoueur transportable

    Bonjour à tous!

    Nous sommes deux étudiants (Titouan Loiseau et Amand Messé) en deuxième année du cycle ingénieur à Polytech Angers, et dans le cadre de nos études nous avons réalisé un projet en groupe. Le thème de notre projet était “Borne d’arcade”, et nous étions 3 groupes sur le même thème. Alors histoire d’innover, on a décidé de faire une borne d’arcade un peu originale.

    Notre idée était de réaliser deux bornes d’arcade identiques mais distinctes, pouvant jouer en multijoueur, avec la contrainte que ces dernières doivent être transportables.
    On est donc parti sur un design dit “Tabletop” qui désigne les bornes d’arcade qui se posent sur une table pour jouer, à l’exception que nos bornes auraient un écran pliable afin de gagner de la place.

    Image non chargée

    Exemple de borne d’arcade “Tabletop”

    Contraintes:

    Chacune des deux bornes devait être pour 1 joueur, et devait comporter les éléments suivants:

    • 8 boutons (A, B, X, Y, L, R, Start, Select)
    • Un joystick
    • Des haut-parleurs
    • Un écran repliable
    • Des prises USB et Ethernet à l’arrière pour connecter une manette ou un câble réseau à la borne

    Modélisation:

    On a donc modélisé la borne telle qu’on la voulait sur Solidworks (un logiciel de conception assistée par ordinateur), en prenant en compte les dimensions des éléments que l’on a choisis (boutons, joystick, etc…).

    Image non chargée

    Modèle Solidworks de la borne d’arcade

    Émulation:

    Pour la partie logicielle, nous avons utilisé un Raspberry Pi dans chaque borne qui fait office de mini-ordinateur afin de jouer aux jeux. Nous avons installé dessus un système d’exploitation appelé Recalbox qui est spécialisé dans l’émulation d’une multitude de systèmes et qui a été créé pour être utilisé dans les bornes d’arcade. En plus, Recalbox possède une fonction nommée Netplay, qui permet de jouer à des jeux multijoueur en réseau en connectant les Raspberry Pi à internet.

    De base, nous voulions que les bornes puissent se connecter directement entre elles via un câble sans avoir à passer par un réseau externe. Nous avons lu plusieurs posts faits sur le forum de Recalbox et l’un des modérateurs a dit qu’à l’aide d’un câble Ethernet croisé, c’était possible. Malheureusement, on n’a trouvé aucune autre information sur ce sujet, et nous n’étions pas sûrs qu’une telle liaison marcherait. Nous avons tout de même décidé d’essayer, et nous avons connecté les deux Raspberry Pi ensemble et lancé le netplay.

    Image non chargée

    Essai de liaison directe

    Et malheureusement, cela n’a pas fonctionné, et nous n’avons pas réussi à résoudre ce problème.

    Image non chargée

    Echec de la liaison directe

    Réalisation:

    Après avoir commandé le matériel, on a commencé à couper les planches et à monter les bornes.

    Image non chargée

    Image non chargée

    Image non chargée Photos de la borne d’arcade une fois montée

    Malheureusement on n’a pas pu tout faire à temps, notamment l’usinage des pièces pour les écrans.

    Conclusion:

    Au final ce projet nous a plu, et le voir prendre forme était plaisant. Même si nous n’avons pas pu le finir en entier, ce projet nous a permis de mieux nous rendre compte de l’organisation que représente sa réalisation. Nous sommes heureux d’avoir fait ce projet qui représente pour nous une belle expérience de notre parcours en études d’ingénierie.

    Merci d’avoir lu cet article, en espérant qu’il vous ait plu!