IMA4 2017/2018 P67 : Différence entre versions

De Wiki de Projets IMA
(Semaine 4 : optimisation de rotation des moteurs, premier scan avec la kinect et modélisations 3D : Avancer dans de nombreux points !)
(Semaine 4 : optimisation de rotation des moteurs, premier scan avec la kinect et modélisations 3D : Avancer dans de nombreux points !)
Ligne 494 : Ligne 494 :
 
De plus il faudrait que je commence à '''modéliser et imprimer certaines pièces '''pour faire la '''partie mécanique du projet'''. Je pense me tourner vers l''''impression 3D''' car je ne sais pas pendant combien de temps la '''découpeuse laser''' va être '''hors service'''). Si tout se passe bien, cette partie sera '''terminée à la réception du capteur de mesure de distance''', et je pourrais ainsi '''procéder au différents tests''' dès que le capteur sera arrivé.
 
De plus il faudrait que je commence à '''modéliser et imprimer certaines pièces '''pour faire la '''partie mécanique du projet'''. Je pense me tourner vers l''''impression 3D''' car je ne sais pas pendant combien de temps la '''découpeuse laser''' va être '''hors service'''). Si tout se passe bien, cette partie sera '''terminée à la réception du capteur de mesure de distance''', et je pourrais ainsi '''procéder au différents tests''' dès que le capteur sera arrivé.
  
==Semaine 4 : optimisation de rotation des moteurs, premier scan avec la kinect et modélisations 3D : Avancer dans de nombreux points ! ==
+
==Semaine 4 : optimisation de rotation des moteurs, premier scan avec la kinect et modélisations 3D : Avancée dans de nombreux points ! ==
  
 
Cette semaine, j'ai travaillé durant les nombreuses heures de trous que nous avions, et également chez moi les soirs de la semaine et le week end, ainsi, j'ai pu avancer largement cette semaine ! En voici un détail :
 
Cette semaine, j'ai travaillé durant les nombreuses heures de trous que nous avions, et également chez moi les soirs de la semaine et le week end, ainsi, j'ai pu avancer largement cette semaine ! En voici un détail :
Ligne 555 : Ligne 555 :
 
Désormais il faudra déterminer si il est plus '''judicieux et facile '''de scanner via '''une mise en rotation de la caméra kinect''' ou via''' une mise en rotation de l'objet'''. Un '''compromis''' peu également être fait avec, imaginons, '''une rotation de l'objet à scanner '''et '''la caméra montant sur un bras''' (comme un arc de cercle) selon '''l'axe z '''et légèrement '''selon y''', pour '''s’incliner une fois au dessus de l'objet'''.
 
Désormais il faudra déterminer si il est plus '''judicieux et facile '''de scanner via '''une mise en rotation de la caméra kinect''' ou via''' une mise en rotation de l'objet'''. Un '''compromis''' peu également être fait avec, imaginons, '''une rotation de l'objet à scanner '''et '''la caméra montant sur un bras''' (comme un arc de cercle) selon '''l'axe z '''et légèrement '''selon y''', pour '''s’incliner une fois au dessus de l'objet'''.
  
L'avantage de la mise en rotation de la caméra, c'est que si le montage est fonctionnel dans un cas, il le sera dans tous les autres ! En effet, la caméra ne changeant pas de poids et effectuant à chaque scan la même action, il suffit juste de trouver une solution qui fonctionne une fois.  
+
L'avantage de la mise en''' rotation de la caméra''', c'est que si le montage est '''fonctionnel dans un cas''', il le sera '''dans tous les autres''' ! En effet, '''la caméra ne changeant pas de poids '''et effectuant à '''chaque scan la même action''', il suffit juste de trouver une solution qui '''fonctionne une fois''', pour que celle ci '''fonctionne tout le temps'''.  
Le problème c'est qu'elle est plus compliqué à mettre en place mécaniquement (rail pour la caméra ? support pour l'objet ? Moteurs assez puissants ? problème d'équilibre de l'ensemble du montage....)
+
Le problème c'est qu'elle est plus '''compliquée''' à mettre en place''' mécaniquement''' ('''rails''' pour la caméra ? '''Support '''pour l'objet ? '''Moteurs''' assez '''puissants '''? problème d''''équilibre '''de l'ensemble du montage....)
  
Si à l'inverse je dois mettre uniquement l'objet en rotation, bien que je gagne en facilité pour l'aspect programmation et mécanique (un simple plateau en rotation) et en "conception" mécanique, il y a un risque de non fonctionnement dans certains cas. En effet, imaginons qu'un objet trop lours soit disposés sur le plateau, il pourrait faire pencher le plateau sous son poids et donner un scan oblique. De plus, si l'objet est vraiment trop lourd, il peut augmenter le couple nécessaire à la mise en rotation du plateau, jusqu'à éventuellement bloquer ce dernier, sous un poids trop important... Enfin cette technique empèche aussi le scannage en vue du haut, de l'objet... Autant de questions auxquelles il faut encore répondre !
+
Si à l'inverse je dois mettre''' uniquement l'objet en rotation '''(avec une caméra immobile), bien que je gagne en '''facilité''' pour l'aspect '''programmation '''(un simple plateau en rotation) et en '''"conception" mécanique''', il y a un''' risque de non fonctionnement dans certains cas'''. En effet, imaginons qu''''un objet trop lourd''' soit disposés sur le plateau, il pourrait faire '''pencher le plateau sous son poids''' et donner un '''scan oblique'''. De plus, si l'objet est vraiment trop lourd, il peut''' augmenter le couple nécessaire à la mise en rotation du plateau''', jusqu'à éventuellement '''bloquer''' ce dernier, sous un poids trop important... Enfin cette technique''' empêche aussi le scannage en vue du haut''', de l'objet... Autant de questions auxquelles il faut encore répondre !
  
Je déterminerait la configuration optimale au fur et à mesure des tests et des conseils des différents professeurs et membres du Fabricarium.
+
Je déterminerais la """configuration optimale""" au fur et à mesure des """tests """et des""" conseils des différents professeurs""" et """membres du Fabricarium""".
  
  

Version du 15 février 2018 à 15:31


Présentation générale

Objectifs

L'objectif de ce projet et de réaliser un scanner 3D permettant de modéliser un objet existant, en fichier .STL exploitable par une imprimante 3D. L'idée étant de laisser ce scanner à disposition des élèves, au Fabricarium de l'école.

Description

A l'heure actuelle, l'idée de duplication et de clonage d'objet est en pleine extension. En effet, les futuristes s'accordent à dire que l'imprimante 3D sera disponible dans les habitations au même titre qu'une imprimante classique papier, d'ici quelques années. Que ce soit pour de la vaisselle, des jouets ou encore de la décoration. Les logiciels de modélisations sont de plus en plus nombreux et de plus en plus accessibles aux non initiés ( par exemple le logiciel de modélisation fourni avec Windows 10). Toutefois, la conception et la modélisation d'objets complexes du quotidien, est parfois délicate et chronophage.

Tout comme une photocopieuse, l'idée du projet et de « photocopier » un objet. L'objectif principal sera de scanner l'objet et d'ensuite le sauvegarder en format STL sur une carte SD ou dans un dossier. Les logiciels qui permettent d'imprimer en 3D, comme CURA par exemple, ont plusieurs fonctions qui permettent des modifications (d'échelle notamment), à partir du fichier STL. Ainsi, l'utilisateur pourra modifier quelques paramètres de son objet avant de le dupliquer.

Pour ce faire, il existe deux méthodes (voir même trois). En effet, il existe le scan via technologie laser (capteur de distance), le scan via utilisation d'une caméra permettant de créer un nuage de points via un émetteur laser infrarouge et un récepteur infrarouge (type kinect), et enfin la photogrammétrie. Les deux premières techniques seront exploités et nous essaierons de les mêler afin d'obtenir le meilleur scan possible en combinant les avantages des deux méthodes sans en avoir les inconvénients.

Une attention toute particulière sera apporté à la tenue à jour de l'avancement du projet. Effectivement, l'ensemble des membres du Fabricarium doit pouvoir connaître l'avancement exacte du projet, qu'il s'en intéresse de près ou de loin.

Ensuite selon la complexité demandée et l'avancement du projet, il sera possible de l'améliorer avec différentes options. La première étant de corriger automatiquement le scan avant son rendu en fichier STL. En effet, si par exemple le support de l'objet est scanné, il faut en faire abstraction. Les trous, bien qu'en nombre limité, seront sûrement présents pour les objets complexes, il faudra alors les combler. Cette tâche peut être réalisée manuellement mais il convient qu'il serait plus agréable et pratique pour l'utilisateur, que le scanner s'en charge automatiquement. Ensuite, il pourrait être utile de lier directement le scanner et l'imprimante. Afin de ne pas avoir à transférer la carte SD d'une machine vers l'autre, encore une fois pour des raisons pratiques. Puis, il serait intéressant que le fichier scanné puisse également s'enregistrer dans un format modifiable par un logiciel de modélisation. Par exemple une tasse avec une anse cassée, pourrait être rapidement réparé (qu'on scanne ou non la anse). Enfin, la version la plus aboutie du projet serait d'ajouter une interface graphique au scanner afin de pouvoir faire toutes les étapes précédentes facilement et de manière agréable.

Cette duplication rapide et accessible gratuitement permettra aux étudiants de l'école de dupliquer leur objets facilement.

Analyse du projet

Il existe déjà plusieurs techniques permettant de scanner des objets. Parmi elles, trois sont assez pratiquées mais contiennent toutes des inconvénients non négligeables.

Analyse du premier concurrent

FabScanPi
Result3d.jpg

La détection des contours de l'objet par un détecteur de distance laser est la technique la plus répendue pour les utilisateurs non professionnels. L'idée est d'utiliser un faisceau laser projeté sur l'objet de manière verticale. Ce faisceau est alors analyser par le capteur. L'avantage de ce système est que les points du faisceau laser ne se dilate pas avec la distance. L'objet est ensuite mis en rotation sur l'axe verticale afin d'en faire le contour complet. L'ensemble de ces données de distance est alors enregistré sur une carte SD. Un logiciel permet ensuite d’exploiter toute les sauvegardes en un fichier STL. Le scan est stable et correct.

Cependant, la précision du rendu laisse à désirer. En effet, ce type de scanner permet de contenter les utilisateurs ne cherchant pas un résultat professionnel mais est loin de convenir dans le cadre d'une reproduction fidèle. Un scanner de ce type est disponible en open source : le FabScanPI. De plus ce type de scanner ne prend pas en compte la vison vue du « haut » de l'objet. Une tasse serait alors représentée comme étant un cylindre plein (pour le contenant) avec un disque encastré dedans (correspondant à la anse).

Analyse du second concurrent

Kinect.jpg

Il existe ensuite la possibilité de scanner avec une caméra qui créer un nuage de points en 3D. Le principe est sensiblement le même que celui expliqué précédemment mais dans un environnement en 3 dimensions. La caméra envoie des ondes qui seront ensuite réfléchies sur l'environnement extérieurs et analysées par le capteur présent sur la caméra. Cette technique présente comme avantage de pouvoir ajouter la couleur au scanner grâce à la caméra (ce qui ne nous importe pas vraiment dans le cas d'une duplication d'objet, mais éventuellement dans celui d'une modification par logiciel de modélisation). Il est possible de déplacer la caméra et ainsi de scanner des objets plus grands (pièce à vivre, habitation, etc). Il est alors possible de survoler nos objets et d'en détecter les éventuelles complexités (comme la tasse évoquée juste avant) Cependant la présence de « bruits » comme les trous ou les mauvais scan, sont ainsi plus présents . De plus, la caméra scanne tout l’environnement de part sa puissance. Les murs de la pièces, le support etc... tout est scanné. Contrairement à la technique précédente, il ne suffit plus de « descendre » le fichier scanné à un axe en z=0 pour supprimer le support. En effet ici, le scan s'étant réalisé avec une mobilité de la caméra, l'objet scanné ne donne pas forcément un scan droit. Une retouche est alors nécessaire pour corriger les défauts du scan. Enfin ce type de scanner utilisant cette technologie est très onéreux.

Cependant il existe une caméra peu chère que la communié s'est accaparé. La caméra qui nous intéresse est la kinect. Effectivement, cette caméra, originalement prévue pour l'utilisation avec la console de salon Xbox 360 de Microsoft, est désormais complètement « Reverse Engineered » et la communauté peut désormais utiliser la caméra pour des projets comme le notre. Son faible coup et son abondance sur les marché permettent un accès à une technologie précise, à moindre coup. Il est conseillé de la programmer en C#, mais ceci n'est pas indispensable. Des logiciels tels que Skanect ou Kinect-Fusion, totalement openSource, permettent de retoucher les scans faits avec la caméra de manière assez simple et de les rendre sous forme STL.

Analyse du troisième concurrent

Homme scanné via photogrammetrie
Femme.jpg

Enfin il existe aussi la technique de photogrammétrie. L'idée est de prendre une centaine de photos d'un objet avec un appareil photo puissant, comme un reflex. Ensuite un logiciel payant (environ 40 euros par mois) vous permet de « build » votre objet sous forme de fichier STL après plusieurs heures de traitement. Ce système est donc onéreux et chronophage. Il ne sera donc normalement pas exploité dans ce projet, cependant je tenais à l'évoqué car il constitue à l'heure actuelle, la façon la plus précise et la plus « simple » de scanner un objet. Le coté pécuniaire étant sont seul très gros inconvénient.


Il faut noter que toutes ses méthodes ont une limite communes : le transparent ! Un verre de lunettes ne permettra pas pas un scan précis, de par le phénomène de réflexion. Il faut alors peindre l'objet avec de la peinture temporelle pour pouvoir le scanner. Ce qui n'est pas pratique.

Positionnement par rapport à l'existant

L'idée va ainsi être de tester les techniques évoquées précédemment et essayer de les combiner afin d'obtenir un système qui combine les avantages des systèmes sans en avoir les inconvénients. Afin d'en faciliter l'utilisation par un étudiant Lambda.

Le but de mon projet de Scanner 3D est d'être accessible facilement et gratuitement, par tous, via le fabricarium de l'école. La tenue à jour de l'avancement du projet est essentielle dans l'élaboration du scanner. Le wiki servira de point d'avancement pour toutes les personnes voulant s'intéresser de près ou de loin au projet. Afin de limiter les coûts et de conserver le maximum de qualité du scan, je vais utiliser la caméra kinect. Cette dernière sera mise en rotation à 360 degrés, via un système de moteurs, autour d'un objet à scanner en position fixe. Cette caméra montera le long d'un bras incurvé en forme d'arc de cercle. Une fois arrivée en haut elle aura scan l’intégralité de la pièce sous tous les points de vue d'une demi sphère (l'hémisphère sud n'étant pas exploitable à cause du support). Ensuite je tenterai de modifier un logiciel existant via api ou documentation, pour qu'il fasse exactement ce que je veux, afin de paramétrer au mieux le build et d'optimiser le rendu du fichier STL. Ce système stable limitera le bruit d'un mouvement de caméra (avantage du concurrent 1) avec la qualité de scan du concurrents 2.

Enfin, le projet sera suivi par l'équipe des FabManagers que je formerai une fois le scanner réalisé (et tout au long de son élaboration). Je mettrai aussi une documentation papier et informatique pour quiconque souhaitant en apprendre plus sur le système et/ou l'améliorer par la suite.

Ce scanner 3D serait donc un projet d'un étudiant fait pour les étudiants afin de leur permettre de dupliquer leur objets, dans quelques but que ce soit.

Scénario d'usage du produit ou du concept envisagé

Imaginons Bill, un étudiant en MECA3, tout récemment arrivé à Polytech en début d'année. Il a peu de revenu et souhaite limiter au maximum ces dépenses mensuelles.

Pourtant, un soir, un peu trop énervé après un examen de thermodynamique il ouvre son réfrigérateur un peu trop violemment et casse la poignée en deux. Impossible pour lui de la réparer car elle est fendue en deux et le point de colle qu'il a mis ne suffit pas. Une poignée de frigo ça ne se trouve pas si facilement ! Puis c'est un vieux qu'il avait récupéré de sa famille. Impossible de retrouver une poignée neuve. Devrais-t-il renoncer à ouvrir son garde manger réfrigérant ? Non !

Comme tous les étudiants de Polytech Lille, il a accès au Fabricarium de l'école. Après avoir pris connaissance de l'existence d'un scanner 3D à l'école, il décide de se renseigner sur son utilisation via la documentation mise à disposition des élèves. Comme toutes machines du Fabricarium, il se fait formé à son utilisation par un des membres du Fabricarium.

Il place donc sa poignée, rafistolée vulgairement avec un point de colle, dans le scanner. Quelques minutes plus tard, il dispose d'un fichier STL, de la forme de sa poignée de réfrigérateur. Il lance donc l'impression du fichier sur l'imprimante 3D du FAB. Le soir même, Bill peut de nouveau utiliser son réfrigérateur comme au premier jour.

Il se dit que cet outil est vraiment utile et qu'il serait utile d'en profiter ! Il duplique alors sa coque de téléphone . Il met ce fichier STL sur un drive. On ne sait jamais ! Peut être qu'un jour il oubliera sa coque de téléphone chez ses parents, et il sera bien heureux de pouvoir en réimprimer une identique le moment voulu, lorsque son pauvre portable sera nu, sans défense. En plus les imprimantes 3D se démocratise de plus en plus. Il y en a dans les bureaux de postes, dans les magasins de type LeroyMerlin, chez des particuliers, etc... ça ne devrait pas être trop difficile de trouver un endroit ou imprimer ce dont il a besoin.

Ensuite, dans l'année, après avoir découper une pièce de bois, il l'a travaillé avec minutie afin d'en faire un axe complexe, contenant une roue demi crantée. La pièce est parfaite pour son projet en cours de dynamique du solide. Il utilise alors le scanner pour faire une sauvegarde de cet axe avant de le retravailler et éventuellement le modifier de façon irréversible.

Et c'est ainsi que Bill a également pu se faire un deuxième porte manteau mural, lui qui en avait qu'un seul, pour son manteau d'hiver . Ou encore, en utilisant la même méthode, il a pu dupliquer sa petite figurine Pikachu qu'il avait étant enfant.

En ouverture, on peut supposer que ce système de scanner devienne de plus en plus développé. Au point d'être utilisé par les entreprises. Imaginez qu'une pièce du meuble de Bill casse ! Alors IKEA qui possède une base de donnée de fichier scannés de ses meubles, lui envoie le fichier STL à imprimer, pour son pied d'étagère Shtomël ! Ce scanner à donc permis de faciliter la vie des étudiants de Polytech Lille. Comme ce fut le cas pour Bill, le scanner a permis de dupliquer des objets et d'en faire des copies sous forme de fichier STL, que ce soit dans un but ludique, utile, ou dans le cadre d'un projet d'études.

Réponse à la question difficile

Les deux questions qui me durent posées lors de la première présentation étaient : "Jusqu'à quelle taille d'objet pouvons nous scanner ?" ainsi que "Combien de temps durera un scan ?"

Selon les différentes dispositions auxquelles j'ai pensé lors de l'élaboration d'un "prototype" sur papier, la taille de l'objet à scanner devrait être au maximum d'environ 30 cm cube et de minimum 3 cm cube pour avoir un scan précis. Pour ce qui est du temps du scan (hors temps d'impression du fichier STL), il devrait être de moins d'environ 5 minutes pour être considéré comme efficace.

Préparation du projet

Le projet sera amené à évolué dans le temps, en fonction des réussites, des échecs et de ce que le Fabricarium souhaite ou non.


Cahier des charges

Le scanner devra être le plus simple possible d'utilisation ! Il devra permettre dans un premier temps, de remplir l'objectif principal : permettre de pouvoir réimprimer une pièce en 3D, le plus fidèlement possible par rapport à la pièce d'origine. Peu importe la technique utilisée. La suite de ce projet consistera à améliorer ces différents scans et optimiser la duplication des objets pour le rendre accessible au non initiés. L'objet scanné devra avoir une taille raisonnable pour permettre un scan optimal (ni trop petit, ni avec de trop grande dimensions). Le scanner doit être "autonome" et une fois lancé, l'utilisateur n'a pas à intervenir sur le scanner (à part pour récupérer le fichier .STL sur la carte SD à la fin du scan.


De plus, j'ai décider d'utiliser le plus de matériel déjà à disposition. L'idée étant d'utiliser les ressources disponibles au Fabricarium, à l'école (à disposition des IMAs) ou encore disponible dans ma réserve de matériel personnelle. Cela me permet alors de limiter les dépenses, afin de réaliser le projet le moins coûteux possible pour l'école. En effet, il va s'en dire que si les frais de mon projet étaient trop grands, il serait plus intéressant pour le Fabricarium d'investir dans un scanner à plusieurs centaines d'euros chez un professionnel.

Choix techniques : matériel et logiciel

Je vais utiliser dans un premier temps le scanner avec capteur de distance laserafin d'en tester les limites et d'en tirer les avantages. Ensuite j'utiliserai la méthode du scan via la caméra kinect afin de saisir les fondamentaux de la procédure à suivre (tolérance aux vibrations, création de trous,...) pour obtenir un scan optimal. J'essayerai alors de combiner les deux techniques afin de faire une sorte de scanner hybride, possédant les avantages des deux techniques, sans en avoir les inconvénients.


Liste des tâches à effectuer

Les différentes tâches à effectuer :

étape 1 :Élaborer un scanner avec le capteur de distance et l'analyser en profondeur afin de s'en inspirer un maximum pour en tirer les avantages de cette méthode de scan.

étape 2 : Faire un scan avec la caméra kinect afin d'en tirer les enseignements d'un scan avec caméra

étape 3 : Faire des nombreux points avec l'équipe du Fabricarium pour répondre à leurs attentes et faire quelque chose qui correspond le mieux a leur besoins.

étape 4 : Conception d'un modèle hybride permettant un scan de meilleur qualité que les deux méthodes précédentes et de manière plus facile.

étape 5 : Améliorations de ce dernier système réaliser afin d'en faire un scanner le plus aboutit possible.

Calendrier prévisionnel

Le projet étant à rendre au moi de mai, mais comptant une marge d'erreurs et d'améliorations éventuelles, le calendrier prévisionnel optimal serait donc :

Fin de l'étape 1 : Début février,la première technique de scan, par capteur de distance laser, a été testée, exploitée et étudiée.

Fin de l'étape 2 : Fin Février, la seconde technique de scan, via caméra kinect, a été testée, exploitée et étudiée.

Fin de l'étape 3 : Mi mars, les réunions avec le fabricarium ont abouti sur un modèle final a confectionner.

Fin de l'étape 4 : Fin Avril, le scanner final est réalisé et opérationnel.

Fin de l'étape 5 : Le temps restant sera consacré à l'amélioration de ce dernier modèle, et à l'analyse du projet (erreurs commises, décisions judicieuses ou non). Je consacrerais également un temps de formation pour les membres de Fabricarium, afin qu'ils puissent eux même former les étudiants par la suite, pour pouvoir utiliser ce scanner. Si le projet n'est pas totalement terminé ou encore améliorable, ces mêmes membres pourront poursuivre le projet afin d'atteindre l'objectif principal : donner accès à un scanner 3D aux étudiants de l'école.

Réalisation du Projet

Feuille d'heures

Étant présent à chacune des séances facultatives de 2h du lundi, et responsable de la salle E306le jeudi de 8h à 10h, en plus des séances obligatoires de 4h le mercredi après midi, mon temps de travaille consacré à ce projet est de minimum 8h par semaine à l'école (sauf cas exceptionnel). S'ajoute à ces heures, les heures personnelles faites chez moi le week end et lors de la semaine (trou dans l'emploi du temps et/ou séance prolongée). En effet, il faut que je compense le fait d'être seul pour avoir une avancée similaire aux autres groupe en binôme.


Tâche Prélude Heures S1 Heures S2 Heures S3 Heures S4 Heures S5 Heures S6 Heures S7 Heures S8 Heures S9 Heures S10 Total
Analyse du projet / recherche 15H 2H 2H 1H
Récupération du matériel 1H 1H (au frabricarium)
Mise en place de l'alimentation / soudure 2H 2H 1H
Code et mise en rotation optimisée des moteurs 3H 3H 4H
rédaction du wiki 4H 3H 2H30 3H
conception et réalisation de pièce (découpe laser / Imprimante 3D) 1H30
Test de la kinect
etape
etape
etape
etape
total 19H 11H 8H30 10H30

Prologue : Partons sur de bonnes bases

Avant d'entamer officiellement le projet, avec des créneaux horaires prévus à cet effet, un travail en amont à dû être réalisé.


En effet, premièrement, un long travail de recherche à était fait. Il fallait que je puisse voir les technologies existantes. De plus je devais m'assurer que le fait de réaliser "une photocopieuse d'objet" était faisable !

Parallèlement, je me suis rapproché de Rodolphe Astori afin de soumettre mon projet et de demander si celui ci intéresserait éventuellement le Fabricarium. L'idée lui plu aussitôt !

Après avoir étudier longuement les différentes technologies existantes, ainsi que leur défauts,j'ai décidé de proposer l'idée de proposer mon projet aux professeurs responsables.

Une fois le sujet approuvé par ces derniers, je pouvais alors me rapprocher des membres du fabricarium pour leur exposé le projet oralement, et commencer à réunir les personnes suscitant un plus ou moins grand intérêt pour le scanner. Cela me permis alors de fixer un premier cahier des charges.

Une fois ceci fait, j'ai alors continuer longuement mes recherches et ai opté pour différents composants, sélectionné selon leur qualité, leur prix, et les avis des internautes, les suggestions des professeurs et de certains IMA les ayant testé.


J'ai donc dès le début du moi d'octobre, commencé à élaborer différents prototype sur papier et exploré différentes options pour réaliser le scanner.

De plus la présentation devant une partie de la classe et un professeur référent, m'a permis de confirmer certains choix et également de voir différentes options à étudier, auxquelles je n'avais pas pensé !

Puis, un temps fut également consacré à la recherche de matériel nécessaire. La plupart du matériel étant déjà disponible à l'école, chez moi, ou à faible coût sur internet, j'ai décidé de commander une petite partie du matériel afin de pouvoir manipuler certains éléments qui m'étaient jusqu'alors inconnus. Finalement les délais de livraison étant très longs, je me suis retrouvé avec des livraisons en "compte gouttes", sans vraiment pouvoir tester grands chose. Ce n'est pas très dérangeant étant donné que cette partie de "test" était "facultative", le projet ne commençant officiellement qu'au second semestre.

Enfin, la rédaction du wiki fut également un peu chronophage mais nécessaire. Surtout que ce wiki est également le seul moyen simple que chacun (professeurs et membres du fabricarium notamment) puisse connaître l'avancement du projet ainsi que les lignes directrices du travail effectué.

Semaine 1 : Alimentations, soudures et test du matériel

Cette semaine, le projet fut officiellement lancé ! Comme le conseillé le sujet du projet, je devait tester les deux types de scans possibles (par capteurs de mesure de distance et par kinect). J'ai alors décidé de commencer par la première méthode.

Certaines concertations avec les professeur furent nécessaires pour voir différentes options à choisir concernant le matériel qui était à disposition.

Par exemple, afin d'éviter les coûts liés à l'achat d'une alimentation 12 V continu', j'ai repris une alimentation de PC utilisée pour un ancien PFE et prenant la poussière depuis quelques temps.


Les premières heures furent donc consacré aux désossement de certaines pièces d'anciens projets ainsi qu'au fait de rassembler les différents pièces nécessaires déjà à disposition.

Suite à quoi je décidai de commencer par la partie alimentation. En effet, pensant avoir une alimentation sur secteur classique, je n'avais pas prévu de me retrouver avec une alimentation de PC. Cependant, cette modification est un avantage car elle me permettra d'alimenter l'ensemble de mes composants. Mais surtout, le poids assez important de l'alimentation servira de contrepoids éventuel pour la caméra Kinect.

Effectivement, je ne connais pas encore la forme finale de mon scanner mais il est probable qu'un bras tourne autour de l'objet à dupliqué. Auquel cas il sera nécessaire de compenser le poids de la caméra lorsque celle si sera éloigné de l’objet, et donc lorsqu'elle créera un déséquilibre évident de l'ensemble. Ce contrepoids créer par l'alimentation permettra ainsi d'éviter de devoir scellé le scanner sur une grande plaque.

J'ai d'abord du me renseigner sur comment fournir du 12 Volt (nécessaire au pilotage des moteurs) avec l'alimentation mise à ma disposition. Après quelques recherche, j'ai donc boucler l'alimentation sur la terre, pour la court-circuiter. Après quoi je pouvais normalement disposer de 5V (fil rouge) et de 12V (fil jaune de l'alimentation). L'alimentation ne démarrait pas cependant.

Mot2.jpg
Cont.jpg

J'ai donc décidé de dénuder de nouveaux câbles et de souder de nouveau les extrémités afin de les rendre de nouveaux exploitables. En effet le problème venait de là et une fois les nouveaux câbles mis en place, l'alimentation démarrait normalement. Les anciens câbles devaient très certainement avoir un peu mal vieilli depuis le temps. J'en ai alors profiter pour découper quelques câbles d'avances, anticipant le fait de devoir alimenter l’Arduino et sûrement d'autre composant pas la suite. L'alimentation marche (photo avec le voltmètre à l'appui), il faut alors que je procède aux soudures de mes différents composants pour pouvoir les tester !

L'étape fut donc un peu minutieuse sachant que je devait souder les pins sur mes deux contrôleurs moteurs, sur mon Arduino pro micro reçu récemment et sur les mes moteurs pour pouvoir les connecter facilement à une Breadboard/planche à pain.

125.jpg

Une fois ceci réaliser, j'ai donc upload un code simpliste de rotation de moteur sur l’Arduino UNO dont je disposais afin de vérifier la bonne transmission de l'information des moteurs et de contrôler mes soudures par la même occasion. J'ai alors réalisé le montage correspondant pour procéder aux tests. Bien entendu, cela n'a pas marché du premier coup, j'avais une soudure un peu grossière que j'ai eu à retoucher rapidement. Le deuxième essai fut le bon ! J'ai donc pu vérifier que mes deux moteurs ainsi que les deux contrôleurs moteurs fonctionnait correctement. C'était le cas !

J'avais donc à la fin de ma deuxième séance une alimentation qui fonctionnait correctement; des moteurs et un circuits permettant une mise en rotation efficace d'un moteur. Il me suffit alors de reproduire un second montage identique et de modifier légèrement le code pour contrôler deux moteurs. L’idée étant d'utiliser un moteur pour mettre en rotation l'objet et un autre pour permettre l'élévation du capteur de mesure de distance le long de l'objet à scanner.


J'ai alors essayé de remplacer mes moteur NEMA 17 par ceux du projet de Jean Wasilewski. Les moteurs étaient censés faire la même chose, car de modèle identiques. Cependant, ce deuxième types de moteurs ne réagissait pas de la même façon et faisait des sorte de "sursaut". Je n'ai pas eu le temps de déterminer l'origine du problème. Plus tard je reviendrais sur ce problème. Sachant que les moteurs fonctionnait avec un autre contrôleur moteurs sur le projet de Jean, je reprendrais donc ses mêmes contrôleurs si j'ai besoin d'utiliser ses moteurs. Le problème vient peut être aussi du code. Je décide de poursuivre sur une autre partie du projet. En effet, même si les deux moteurs de J.W. ne fonctionnait pas, les deux miens marchaient correctement et pour le moment je n'en n'avait besoin que de deux. Je prendrais donc le temps de venir régler ce problème (sûrement très simple à résoudre) lorsque j'aurai besoin de plus de moteurs, sûrement dans la suite du projet.

Pour conclure la première séance de 4H, j'ai donc était acheté du bois à Leroy Merlin (avec de l'argent prêté par Monsieur Redon), découpé aux dimensions de la découpeuse laser du Fabricarium, afin de refaire le stock disponibles pour les IMA cette année.

J'ai ensuite dans la semaine, utiliser un peu des mon temps libre lors des pauses pour aller demander quelques conseils à Rodolphe Astori (notamment son point de vue sur la réalisation d'un prototype en bois, face à celui en aluminium). Il m'a alors conseillé de commencer sur un système en bois pour prototyper le tout, et si les résultats sont satisfaisant, nous pourront passer sur un modèle plus rigide en aluminium, éventuellement découpé chez un de leur partenaire, le TechShop.


adaptateur soudé pour permettre l'alimentation de l'Arduino grâce à l'alimentation du PC

Le week end, j'ai repris la caisse de matériel pour mon projet (avec l'accord de Monsieur Redon) pour pouvoir continuer le projet chez moi. J'ai alors pu dénuder et souder d'autre câbles, ainsi qu'un adaptateur Arduino. Cela me permet ainsi d'alimenter mon Arduino directement avec l'alimentation du PC mise à disposition. Elle est là, autant l'exploiter au maximum !

N'ayant pas encore le capteurs de mesure de distance (seule pièce à réellement indispensable à commander), il faudra donc que je commence d'autres tâches avant de tester ce composant. Les différentes tâches à réaliser sont explicités ci après, dans les objectifs pour les semaines suivantes.

Fin de la semaine 1, fonctionnement des moteurs

L'objectif pour les prochaines semaines est de finir le premier type de scanner pour respecter le calendrier prévisionnel. Il faut donc faire fonctionner les moteurs issus du projet de Jean Wasilewski ainsi qu'entamer une première modélisation 3D des pièces nécessaires pour la réalisation du premier scanner à mesure de distance laser. Suite à ça je devrait faire la carte électronique de l'ensemble. Il faudra également que j'organise une réunion avec certains membres du Fabricarium intéressés par le projet, pour leur présenter l'avancement de ce dernier. Une fois ceci réalisé, je pourrais passer aux second type de scanner et il faudra que je tente un scanner avec la kinect. Et commencer à proposer des schémas prototypes pour la réalisation de mon scanner final, à Rodolphe et aux membres du Fabricarium.

Semaine 2 : rassemblement du matériel, les idées prennent formes

Cette semaine fut un peu moins une réussite que la précédente malheureusement. Bien que j'ai continué à travailler sur le sujet lors des deux séances "facultatives" du lundi et jeudi et celle du mercredi, je me suis retrouvé confronté à certains problèmes. En effet, premièrement, j'ai souhaité upload mon code (qui fonctionnait parfaitement sur une arduino uno), sur une arduino pro micro. Malheureusement cela ne marchait pas. Après plusieurs heures à comprendre le problème, à réupload, déconnecter-reconnecter, etc... Il s'est avéré qu'une mauvaise soudure couplée à un faux contact entre la pro micro et le câble USB (câble défectueux) était à l'origine du dysfonctionnement (Je ne m'en apercevrait qu'après plusieurs heures de frustration).

partie mécanique "élévatrice du capteur"
partie mécanique "rotation du plateau"

Je n'ai pas non plus réussi à faire fonctionnait les moteur de Jean Wasilewski. Je pense que ceci était dû à de mauvaise valeur de capacité. Je reviendrais sur le problème plus tard car je n'ai pas besoin de faire tourner plus de deux moteurs pour le moment.


L'idée du scanner est de faire s'élever un capteur de mesure de distance qui enregistrera des données sur une carte SD. L’élévation peut se faire avec corroie ou avec le rotation d'une vis d’Archimède. Je verrai selon les avantages et les inconvénients de chacune des deux méthodes, celle que je décide d'utiliser. Le capteurs de mesure de distance n'étant pas encore arrivé, je décide alors de me lancer dans la recherche de nouveaux éléments de matériel pour confectionner la structure de mon scanner.


J'ai ainsi pu beaucoup avancer sur la recherche et la récupération de matériel. Cela m'a permis de m'éclaircir certains points sombres et de résoudre certains problèmes. Le Fabricarium est une véritable mine d'or lorsqu’on cherche une pièce de récupération ! J'ai donc pris plusieurs composants (non électronique) que je n'avais pas prévu d'utiliser à la base mais qui sans doute faciliterons tôt ou tard mon projet (roulements à billes, barre de métal, coupleurs etc...). Il me manquait également un coupleur permettant de faire la jonction entre un moteur (axe de 5 mm) et l'axe de type hélicoïdale (vis d’Archimède)( 8 mm). Finalement je dû attendre le week end pour en récupérer un chez mes parents, ceux du fabricarium n'étant pas au bon diamètre.


J'avais ainsi lors de cette semaine peu avancé d'un point de vue physique et visible. Mais j'avais cependant rassembler différents éléments qui m’éviteront d'être freiné plus tard.


L'apparence du scanner prend peu à peu forme. L'idée sera de mettre en rotation un objet sur un plateau situé au dessus d'un premier moteur nema 17. Le capteur de mesure de distance enregistrera les informations sur une carte SD (il faudra voir comment cela est possible (via Raspberry ou l’Arduino sera peut être suffisante). Une autre partie du scanner permettra de faire s’élever la capteurs de mesure de distance petit a petit de sorte à scanner l'objet de sa base à son sommet. Il me reste à déterminer la méthode d’élévation qui a le plus d'avantages. Le test devra être fait une fois que le capteur de mesure de distance sera reçu.

De plus j'ai pu récupérer vendredi soir, des capacités avec des valeurs correspondantes à celles dont j'avais besoin pour faire tourner les moteurs de l'ancien projet de 5A (à savoir 47 µF).


Enfin, après avoir un peu échanger avec Ropdolphe du Fabricarium, ce dernier m'a conseillé d'utiliser le logiciel "onshape", qui est un logiciel de CAO en ligne qui permet, tout comme un drive, de partager ses fichiers de modélisations et de pouvoir les modifier. Cela permettra l'échange et l'éventuelle amélioration des pièces que j'aurais commencé à créer, avant de les imprimer.


Pour la semaine prochaine il faudrait que je fasse tourner mes moteurs ensembles, que j'implémente le code sur mon arduino pro micro et de me décider sur le fait que je fasse monter le capteurs de mesure de distance via une corroie ou alors via un axe en forme de vis d'Achimède permettant l'ascension du capteur.

Semaine 3 : une belle avancée mais également quelques erreurs

C'est reparti ! Les choses vont de nouveau mieux ! Bien que je n'ai pas encore reçu le capteur de mesure de distance, j'ai tout de même réussi à régler pas mal des problèmes de la semaine dernière !


La soudure défectueuse de l’Arduino pro Micro a était détectée et réparée ! De plus le petit problème de connexion dû au câble USB défectueux fut détecté également assez rapidement. En effet après avoir exploré toute les différentes sources éventuelles de problème, le problème ne pouvait venir que d'une erreur "bête" mais ce sont souvent les plus dures à détecter !

En plus de cela, un problème de bread Board est venu également jouer un peu avec mes nerfs. En effet, il s’avérait que la masse commune n'était pas commune sur toute la planche à essai, mais uniquement sur une moitié ! J'ai perdu un peu de temps sur ce léger problème, simpliste, mais face auquel je n'avais encore jamais était confronté jusqu'alors. Je savais, de par mes tests de la première semaine que le problème ne pouvait pas venir de mes contrôleurs moteurs ni de mon code ! Je pu donc trouver la source du souci rapidement et procéder à la suite !

Cod.jpg

Effectivement, tout ceci étant réglé, je me lance sur le montage global  ! Je me muni alors de la BreadBoard, de l’Arduino pro Micro et des deux contrôleurs moteurs ! j'y ajoute les deux moteurs Nema 17 et je les associe à leur partie respective. Le premier est attaché à un axe type vis d’Archimède, qui permettra de faire s'élever le capteur de mesure de distance, via le coupleur que j'ai pu récupérer chez moi le week end. Il est un peu trop "souple" mais je compenserai cette flexibilité via l'ajout de tuteurs en métal, trouvé au FAB et de toute manière essentiels pour éviter que le capteur ne "tourne" en même temps que l'axe sur lequel il est fixé. Le second moteur Nema sera quand à lui relié à un plateau tournant. La logique de solidité et de facilité de fixation voudrait que je modélise et imprime un plateau avec un axe de 8mm pour fixer à un des coupleurs dont je dispose. Cependant l'état du scanner étant encore au rang de prototype, je décide de gagner un peu de temps en découpant un simple disque à la découpeuse laser, que j'ai ensuite fixé à un coupleur via de la colle. Le montage est un peu grossier mais me permettra de faire mes premiers tests. Je referais alors la pièce en version finale à l'impression 3D un peu plus tard. Le but étant d'avancer le plus loin possible, de sorte à pouvoir procéder ensuite le plus rapidement aux tests de scans avec la caméra kinect (deuxième type de scanner à explorer dans mon sujet de projet). Je découpe alors ce disque à la découpeuse laser du Fabricarium (j'avais anticipé le fait de devoir l'utiliser pour le projet, j'ai donc ainsi suivi la formation obligatoire du Fabricarium sur cette machine lors du premier semestre). Le résultat, suite au collage, n'est pas transcendant mais fera amplement l'affaire pour faire les premiers tests.


J'ai donc ensuite upload un code simpliste sur une Arduino UNO et le même sur une Arduino pro micro afin de vérifier le fonctionnement des deux micro contrôleurs (surtout pour contrôler une fois de plus les soudures faites par mes soins sur la Micro). Le code est simple mais permet de comprendre le contrôle des moteurs qui n'est pas forcément si évident aux premiers abords. Voici le code qui a était mis sur les deux Arduino. Ce code sera bien entendu modifier par la suite, et adapté à la situation, une fois la partie mécanique terminée et assemblée.

Montage global avec plateau découpé au laser

A noter que malheureusement, quelques heures plus tard la découpeuse laser tombera en panne (hors service suite à un problème de filtre). Je ne sais pas pour combien de temps la machine sera inaccessible, mais je serai sûrement obligé de procédé exclusivement à une création de pièces via imprimante 3D par la suite si le problème persiste. Cela risque de me ralentir dans les jours et semaines à venir. En effet, la découpe laser étant beaucoup plus rapide qu'une conception et une impression chronophage de pièces sur une imprimante.


Ainsi après quelques petits réglages j'ai donc un montage global fonctionnel où mon alimentation de PC permet de rendre "autonome" une Arduino UNO ou MEGA (non utilisée pour le moment mais sûrement utile par la suite), ainsi que de fournir le courant et la tension nécessaire pour alimenter mon Arduino pro micro, et les deux moteurs Nema 17.

Comme on peut le voir sur le montage générale présent dans la vidéo ci jointe, le montage fonctionne parfaitement ! Le plateau avec l'objet tournant permet de mettre en rotation un objet sans avoir besoin d'un couple trop important. Le tout n'est cependant pas très stable. Ceci est due à la fixation et aux matériaux un peu rudimentaires utilisés. Comme déjà précisé précédemment, cette partie sera ensuite normalement améliorée via la création d'une pièce en 3D.

[video montage fonctionnel]


Un problème est survenu, sans gravité pour le moment mais à surveiller. En effet les contrôleurs moteurs chauffent de manière anormale. Pas d'odeur de brûlé ni de fumée apparente mais il semblerait que cela chauffe trop malgré tout. A surveiller. Afin de compenser cette augmentation de chaleur, j'ai donc récupérer un dissipateur (et un ventilateur de petite taille facultatif pour la suite éventuellement) afin de refroidir les deux pièces. La taille n'est pas tout à fait adaptée mais elle fera l'affaire. Effectivement le dissipateur est un peu gros mais je peux le mettre sur les deux contrôleurs moteurs en même temps si cela est possible (il faudra prendre ceci en compte lors du routage de la carte électronique (selon la disposition, la carte électronique devra être adaptée)).

Fonctionnement de l'ensemble

Fin de semaine : prise de conscience de l'erreur, heureusement sans gravité ni dégâts matériel

J'ai compris mon erreur, cause du fonctionnement anormal, origine de l'échauffement... En effet, mes moteurs ont besoin de 2A pour fonctionner et mes contrôleurs moteurs ont un fonctionnement conseillé jusque 0.725 Ampère... Je pensais gagner du temps et éviter un coût en utilisant mes contrôleurs moteurs personnels, mais ceux ci n'étaient pas tout à fait adaptés. Après avoir vu avec Mr Boé, il faut que l'on change de contrôleurs moteurs. Je vais donc me tourner vers les contrôleurs moteurs de l'ancien PFE. Il faut donc absolument que je me fasse fonctionner correctement les moteurs de Jean Wasilewski. Auquel cas nous serons obligé de rajouter des contrôleurs moteurs à la liste de matériel nécessaire au projet. Je vais donc me focaliser sur le fonctionnement de ces moteurs qui utilisent un pont en H pour fonctionner. Le fonctionnement est différent mais n'a pas l'air plus difficile.

Je vais donc rapidement (ce week end si possible) me focaliser là dessus, pour essayer de régler ce problème afin d'éviter d'avoir à engendrer de nouveaux achats de composants et ainsi devoir attendre les délais de livraison. Le problème n'est pas dramatique mais aurait pu être évité, je suis totalement responsable de cette erreur et j'aurais dû prêter davantage attention à la datasheet de mes contrôleurs moteurs. Je m’étais basé sur plusieurs sources d'internet faisant fonctionner les moteurs Nema 17 avec les mêmes contrôleurs moteurs sans prêter attention au fait que ceux ci pouvaient ne pas être totalement adaptés. La priorité est donc désormais de refaire remarcher le tout avec mes nouveaux composants.

Ensuite, plus tard, les différentes étapes qui sont la suite logique de l'avancement du projet (et donc a travaillé les semaines suivantes) sont donc de penser à commencer la carte électronique (bien que d'autres éléments vont venir s'y ajouter) mais le fait d'avoir une idée de ses dimensions me permettra de savoir où et comment la placer sur le montage final. De plus il faudrait que je commence à modéliser et imprimer certaines pièces pour faire la partie mécanique du projet. Je pense me tourner vers l'impression 3D car je ne sais pas pendant combien de temps la découpeuse laser va être hors service). Si tout se passe bien, cette partie sera terminée à la réception du capteur de mesure de distance, et je pourrais ainsi procéder au différents tests dès que le capteur sera arrivé.

Semaine 4 : optimisation de rotation des moteurs, premier scan avec la kinect et modélisations 3D : Avancée dans de nombreux points !

Cette semaine, j'ai travaillé durant les nombreuses heures de trous que nous avions, et également chez moi les soirs de la semaine et le week end, ainsi, j'ai pu avancer largement cette semaine ! En voici un détail :

De façon à ne plus reproduire la même erreur, j'ai donc réétudié' mes datasheets dans le détail. Résultat : j'ai donc deux types de moteurs NEMA 17 like. Un type à 12V et 0.7 Ampère et un a 12V et 1.7A. De plus j'ai deux types de contrôleurs, un ayant une possibilité de fonctionnement de 475 à 875 milliampère, ainsi que ceux de l'ancien PFE que je n'arrive pas à faire fonctionner pour une raison toujours inconnue. Ou plutôt si, j'arrive à les faire fonctionner mais pas avec une rotation fluide. En effet, je constate des soubresauts qui sont dus à un mauvais réglage du potentiomètre pour le courant de phase. Je vais donc continuer avec les moteurs de 0.7A et avec les contrôleurs moteurs de 0.475 à 0.875A. Ceux ci fonctionnent très bien ensemble et je pourrais revenir sur le problème si j'ai besoin de plus de moteurs ou de changer la méthode de contrôle des moteurs.

Plus tard dans la semaine, Alexandre Boé me donnera un contrôleur moteur pouvant supporter jusqu'à 3 Ampères pour mon deuxième type de moteur à 1.7A. Le TB6560, utilisé actuellement sur un projet d'IMA5. Malheureusement, le mien étant cassé, je ne peux pas le tester sur des valeurs supérieures à 1.4A (le switch numéro 1 étant cassé). Je corrigerai donc ceci avec une soudure pour feinter un switch activé sur la valeur 1.


En parallèle j'ai décidé de réaliser mes premiers tests avec la caméra kinect. En effet, il était selon moi temps de commencer à exploiter cette méthode de scan. De plus, la commande des composants venant d'être lancée, il fallait que j'attende la réception de mon capteur de mesure de distance. Je ne pouvait donc guère avancer sur la méthode de scanner avec ce dit capteur. Je décide alors de tester la caméra de Microsoft.

J'ai donc commencé par beaucoup me renseigner sur la caméra, son fonctionnement et sur les différents drivers à installer. J'en ai profité pour essayer également d'installer les drivers pour la version de la seconde caméra kinect, le KINECT V2, disponible avec la console XBOX ONE. J'ai testé rapidement avec ma KINECT V2 personnelle, mais très peu de logiciels gratuits permettent un scan avec cette caméra. Je reste donc sur ma première idée, celle de rester avec la caméra, largement reverse engineering, la caméra KINECT for Microsoft, première version.

J'ai donc du téléchargé en premier un SDK version 1.8 (fonctionnant avec la première version de la caméra). Celui si permet de faire fonctionner la caméra sur un système d'exploitation et de pouvoir commencer certains premiers test de bon fonctionnement de la caméra (détection, couleur, profondeur, etc...)

J'ai ensuite chercher à téléchargé un logiciel permettant un scan et la création d'un fichier STL. Des logiciels de ce type existent en effet et permettent un scan correct pour le commun des mortels. Cependant, la qualité que nous recherchons doit ici être optimale afin de scanner avec précision un objet complexe.

Mes prédécesseurs d'IMA5' ayant également travaillé sur un scanner il y a de ça quelques années, utilisaient KinectFusion(aussi appelé KinFu). Après quelques recherches il s'avère que ce logiciel est devenu un peu obsolète et il convient mieux d'utiliser de nouveaux logiciels, optimisés et étant apparu récemment. Je décide alors de tester un logiciel dont j'ai beaucoup vu ressortir le nom lors de mes recherches sur le sujet : Skanect.

L'installation et le paramétrage de la caméra et du logiciel ne sont pas si intuitifs que cela aux premiers abords. Cependant après quelques minutes de prise en main, le paramétrage a tendance à se répéter, voir même à être rébarbatif. Il suffit de le faire correctement une fois, et d'enregistrer les réglages afin de gagner du temps par la suite.

J'ai alors tenté de scanner un buste d'un étudiant de l'école. Pourquoi un buste ? Tout simplement parce que le logiciel proposait une option de scan de personne, déjà paramétrée, d'environ 2m cube. De plus, il est plus facile de s’apercevoir de la qualité des détails sur un visage d'un charmant étudiant en mécanique, que sur une tasse de café (bien que...)


Voici mes différents retours sur le test :

Les points positifs :

Le logiciel, une fois configuré correctement est assez facile d'utilisation et propose une correction du scan (remplissage des trous, lissage, amélioration divers) Skanect permet un rendu en STL, ce qui est en accord parfait avec le projet. La qualité du scan et la puissance de la caméra sont assez surprenantes, je m'attendais à un résultat de qualité moindre.

Les points négatifs :

Malheureusement il y a de très gros points négatifs, notamment la difficulté de scanner ! En effet, pour mon premier scan, j'ai dû m'y reprendre environ à 20 fois avant d'avoir mon premier scan de réalisé, et encore, de bien mauvaise qualité ! Effectivement, la stabilité de la caméra est extrêmement dure à gérer ! Dès que la caméra bouge un peu trop rapidement (dans le cas d'une rotation de la caméra autour de l'objet immobile, à scanner) ou que l'objet à scanner bouge un peu trop (dans le cas d'une rotation de l'objet sur un plateau), le scan plante. Il est alors possible de rectifier le tir, mais cela est à double tranchant : soit le logiciel redetecte l'objet correctement et le scan peut reprendre, soit le logiciel détecte de façon erronée l'objet et on peut se retrouver avec des formes qui ne ressemblent en rien à l'objet de départ (visage avec un nez qui en fait la taille d’environ 5 nez)

La mise en rotation stable de la caméra est très difficile et délicate.

Les corrections automatiques proposées ont tendance à corriger l'objet de manière un peu "brute" et les détails sont alors perdus. Ce qui est problématique, lorsqu'on souhaite reproduire un objet scanné à l’identique;

Le rendu peut paraître correct, une fois ramener à des dimensions imprimables (environ 10cm cube), mais cela est assez évident. En effet, cela revient au même que de prendre une photo avec un appareil photo de qualité moyenne et de rendre la photo en dimensions très petites, la qualité semble augmentée ! Il en est de même dans notre cas, des contours grossiers paraissent ainsi très précis une fois le buste réduit fortement de taille. Le résultat sera bien moins satisfaisant sur un objet d'environ 15 cm cube que nous souhaiterions reproduire à l'échelle 1/1.

Comme évoqué précédemment, il a fallu que je m'y reprenne à de nombreuses reprises pour avoir mon premier scan ! Soit je tournais trop vite autour de la personne, soit la personne en question n'était pas à la bonne "profondeur" (distance de la caméra), soit le scan plantait pour une raison inconnue,... il fallait donc recommencer de 0 ! Et quand le scan parvenait à être réalisé, il était très peu convaincant (trous dans la tête, menton digne d'un frère Bogdanov, pas d'oreilles, etc...

J'ai donc tenté diverses techniques : - rotation de la caméra autour de l'objet -> beaucoup de ratés à cause des la faibles stabilité de la caméra (je la portais simplement dans mes mains) - rotation de la personne (sur une chaise de bureau) et caméra fixe -> "trous" au dessus de la tête car hors champs de la caméra, et rotation parfois trop rapide de l'intéressé, engendrant un échec de scan. Ou encore des modifications terrifiantes du faciès (dûes à la modification de position, en effet il est très difficile de rester totalement immobile lorsque l'on est mis en rotation).


En conclusion les premiers scans étaient donc plutôt difficiles à réaliser de part le manque d'expérience ! Je m'attendais à un résultat très moche mais facile à obtenir, j'ai finalement un scan très difficile à obtenir mais pour un résultat plus correct que ce que je pensais !


Lors des prochaines séances il faudra que je retente de nombreuses conditions de scan (obscurité, différentes distances de la caméra, différentes vitesses de rotation de l'objet, ou de la caméra, différentes tailles d'objets, etc...) Je n'ai en effet' pas eu le temps de tester de nombreuses configurations cette semaine, les heures défilant trop vite !

Désormais il faudra déterminer si il est plus judicieux et facile de scanner via une mise en rotation de la caméra kinect ou via une mise en rotation de l'objet. Un compromis peu également être fait avec, imaginons, une rotation de l'objet à scanner et la caméra montant sur un bras (comme un arc de cercle) selon l'axe z et légèrement selon y, pour s’incliner une fois au dessus de l'objet.

L'avantage de la mise en rotation de la caméra, c'est que si le montage est fonctionnel dans un cas, il le sera dans tous les autres ! En effet, la caméra ne changeant pas de poids et effectuant à chaque scan la même action, il suffit juste de trouver une solution qui fonctionne une fois, pour que celle ci fonctionne tout le temps. Le problème c'est qu'elle est plus compliquée à mettre en place mécaniquement (rails pour la caméra ? Support pour l'objet ? Moteurs assez puissants ? problème d'équilibre de l'ensemble du montage....)

Si à l'inverse je dois mettre uniquement l'objet en rotation (avec une caméra immobile), bien que je gagne en facilité pour l'aspect programmation (un simple plateau en rotation) et en "conception" mécanique, il y a un risque de non fonctionnement dans certains cas. En effet, imaginons qu'un objet trop lourd soit disposés sur le plateau, il pourrait faire pencher le plateau sous son poids et donner un scan oblique. De plus, si l'objet est vraiment trop lourd, il peut augmenter le couple nécessaire à la mise en rotation du plateau, jusqu'à éventuellement bloquer ce dernier, sous un poids trop important... Enfin cette technique empêche aussi le scannage en vue du haut, de l'objet... Autant de questions auxquelles il faut encore répondre !

Je déterminerais la """configuration optimale""" au fur et à mesure des """tests """et des""" conseils des différents professeurs""" et """membres du Fabricarium""".


Puis, pris dans un élan de courage, j'ai décidé de modéliser en 3D mes premières pièces. Bien que Rodolhe Astori m'ait conseillé de faire mes modélisations sur ONSHAPE (sorte de drive ou les utilisateurs ayant l'autorisation, peuvent modifier les pièces), j'ai modélisé les pièce ssimplistes sur FreeCAD. Cela me permettait de me refamiliariser avec un logiciel de CAO basique, car je n'avait plus touché à un logiciel de ce type depuis plusieurs mois (modélisation 3D de la manette de jeux vidéo pour la partie Bonus du tutorat système au S7). De plus, les deux pièces que j'ai modélisé étaient relativement simple : un plateau tournant pour remplacé celui fait à la découpeuse laser précédement et trop peu stable lorsqu'un objet lourd est position dessus. Ainsi qu'un "tuteur" servant à éviter la rotation de ce qui supportera le capteur de mesure de distance, lorsque celui ci sera positionner sur la vis sans fin, lui permettant de s'élever.

L’impression du tuteur à était une semi réussite (légère torsion due au décollement de la pièce lors de l'impression (surface pas assez adhésive sur ma dagoma personnelle)) mais cela devrait faire l'affaire. Cependant, mon impression du plateau tournant fut une catastrophe (torsion du plateau, impression ratée car trop grossière,... La quantité de PLA diminuant a vue d’œil sur ma bibone personnelle, j'ai donc décidé de tenter une nouvelle impression au Fabricarium la semaine prochaine. Effectivement, cette pièce allant être scannée de manière inévitable, car elle est en contacte direct avec l'objet à scanner, il aut que cette pièce soit la plus parfaite possible afin de pouvoir la faire disparaitre rapidement au moment du rendu (descendre la rendu 3D sous un plan horizontale jusqu'à ce que le plateau tournant scannée, disparaissent sous ce plan, et ensuite réaliser une troncature). Si le plateau est voilé ou avec des défauts, le résultats ne sera jamais correcte et une erreur constante se répétera à chaque scan, il faut donc évite cela en créeant à tout prix une pièce impeccable !


La semaine prochaine, il faudra que je test les moteurs 1.7A avec le nouveau contrôleurs fourni par Alexandre Boé, pour ce faire, il faudra que je répare dans un premier temps le switch. De plus, mon alimentation ayant subit quelques dommages (soudure cassées à cause des diverses manipulations, je me devrait de faire une petite session réparation en début de semaine. Si le capteur de mesure de sitance est reçu, je pourrais réaliser mes premiers tests dessus. Je pourrais ainsi commencer à concevoir un premier jet de carte électronique, en vue d'avoir un PCB satisfaisant, assez rapidement. Dans le cas contraire je poursuivrait les modélisations 3D des pièces nécessaires, cette fois ci en m'initiant à ONSHAPE, afin de pouvoir recevoir une aide éventuelle via le système de modification à distance proposé par cette application. J'ai actuellement un léger retard par rapport à mon calendrier prévisionnel mais cela n'est pas dramatique, un investissement constant et régulier devrait me permettre de vite rattraper ce retard. Enfin, je pense organiser une petite réunion informative sur mes avancées, auprès des membres du Fabricarium, intéressés par le projet !


texte gras

corriger photo

screen skanect

mettre photo

ableau + mettre datasheet en lien

Semaine 5

mis a jour wiki

en vue d'une premiere reu fab impression 3d au fab

Semaine 6

Semaine 7

Semaine 8

Semaine 9

Semaine 10

Semaines supplémentaires

Documents Rendus