Wiki » Historique » Version 33
  Baptiste Pelouas, 04/01/2015 15:39 
  
| 1 | 1 | Baptiste Pelouas | Wiki | 
|---|---|---|---|
| 2 | ==== | ||
| 3 | 23 | Baptiste Pelouas | * **[[logiciel]]** l'application software **AppPlatine3D**, l'interface utilisateur, les algorithmes de traitements de l'image, les connections series et usb. | 
| 4 | * **[[hardware]]** la **Platine3D** *in real life*, la mécanique, l'électronique mais aussi le code de l'arduino. | ||
| 5 | 1 | Baptiste Pelouas | |
| 6 | Présentation | ||
| 7 | ============ | ||
| 8 | |||
| 9 | 15 | Baptiste Pelouas | Le projet **<a href="http://www.makerscanner.com">MakerScanner</a>**, qui est la base de ce projet: | 
| 10 | 30 | Baptiste Pelouas | <blockquote>Le principe illustré attachment:test_du_makerscanner.png ... | 
| 11 | 21 | Baptiste Pelouas | Il permet d'obtenir un nuage de point coloré(<a href="http://fr.wikipedia.org/wiki/Format_de_fichier_de_polygones">format .ply</a>) du coté d'un objet. Il faut tourner manuellement le laser pour balayer l'objet. | 
| 12 | La présence d'un plan vertical derrière l'objet permet de déduire l'angle entre le faisceau laser et la base (axe de rotation & centre optique de la webcam). | ||
| 13 | 1 | Baptiste Pelouas | Si l'on veut un scan complet, il faut donc faire plusieurs fois le processus en faisant tourner un peu l'objet a chaque fois, puis assembler les fichier avec un logiciel (par exemple **<a href="http://meshlab.sourceforge.net">meshlab</a>**)... C'est compliqué et très vite fastidieux. De plus une calibration précise est nécessaire (optique et mécanique). | 
| 14 | 30 | Baptiste Pelouas | </blockquote> | 
| 15 | 14 | Baptiste Pelouas | |
| 16 | 1 | Baptiste Pelouas | Le concept du présent projet est : | 
| 17 | 22 | Baptiste Pelouas | |
| 18 | 15 | Baptiste Pelouas | * d'automatiser la rotation du laser et retenir l'angle. | 
| 19 | 14 | Baptiste Pelouas | * d'automatiser les rotations de l'objet et de retenir l'angle de rotation effectué par ce dernier. | 
| 20 | * d'automatiser l'assemblage des fichiers dans un logiciel. | ||
| 21 | 15 | Baptiste Pelouas | * (optionnel) automatiser la calibration d'un maximum de paramètres. | 
| 22 | * (optionnel) création d'un fichier maillé (<a href="http://fr.wikipedia.org/wiki/Fichier_de_stéréolithographie">format .stl</a>) optimisé & cohérent pour une imprimante 3d. | ||
| 23 | 14 | Baptiste Pelouas | |
| 24 | 29 | Baptiste Pelouas | <img src="http://redmine.acolab.fr/attachments/download/51/iso_schema.png" title="schema rapide" alt="schema rapide"> | 
| 25 | 24 | Baptiste Pelouas | |
| 26 | 14 | Baptiste Pelouas | Le principe de base géométrique | 
| 27 | ------------------------------- | ||
| 28 | |||
| 29 | Un peu de géométrie (niveau collège/lycée): la triangulation..."Deux angles et le côté commun" | ||
| 30 | 6 | Baptiste Pelouas | [cf. http://fr.wikipedia.org/wiki/Résolution_d'un_triangle] | 
| 31 | |||
| 32 | 11 | Baptiste Pelouas | <img src="http://redmine.acolab.fr/attachments/download/43/Resolve_triangle_with_c_alpha_beta.png" title="Deux angles et le côté commun" alt="Deux angles et le côté commun"> | 
| 33 | 1 | Baptiste Pelouas | |
| 34 | 13 | Baptiste Pelouas | Vue de dessus, soit A l'axe de rotation du faisceau laser, B le point focal de la webcam, C le point de l'objet éclairé par le faisceau. | 
| 35 | 1 | Baptiste Pelouas | |
| 36 | 13 | Baptiste Pelouas | On considère donc un triangle dont un côté c et les deux angles α et β qui le bordent sont connus. Le dernier angle s'obtient par complément à π et les deux autres côtés par la loi des sinus : | 
| 37 | |||
| 38 | * <img src="http://redmine.acolab.fr/attachments/download/46/calc_C.png" title="calc_C.png" alt="calc_C.png"> | ||
| 39 | * <img src="http://redmine.acolab.fr/attachments/download/44/calc_a.png" title="calc_a.png" alt="calc_a.png"> | ||
| 40 | * <img src="http://redmine.acolab.fr/attachments/download/45/calc_b.png" title="calc_b.png" alt="calc_b.png"> | ||
| 41 | |||
| 42 | Il faudra ensuite convertir ces données en coordonées cartésiennes et donc choisir un référentiel. L'axe de rotation (A) aura les coordonnées {x=0,y=0} et le point focal (B) {x=0,y=c}. Donc le point éclairé (C) aura pour coordonnées {x=b*cos(α),y=b*sin(α)}... | ||
| 43 | |||
| 44 | C'est très bien mais ça reste de la 2D ! | ||
| 45 | 4 | Baptiste Pelouas | Voici un dessin (sans les formules) qui permet d'extrapoler en 3d le système vu ci-dessus. | 
| 46 | <img src="http://redmine.acolab.fr/attachments/download/47/2d_TO_3d.png" title="2d_TO_3d.png" alt="2d_TO_3d.png"> | ||
| 47 | |||
| 48 | 3 | Baptiste Pelouas | |
| 49 | Le résultat escompté | ||
| 50 | 1 | Baptiste Pelouas | -------------------- | 
| 51 | |||
| 52 | 3 | Baptiste Pelouas | * un **nuage de points 3D coloré** (format .ply) | 
| 53 | * ? un maillage 3D (coloré)? (format .stl) | ||
| 54 | |||
| 55 | Les composants | ||
| 56 | -------------- | ||
| 57 | |||
| 58 | 14 | Baptiste Pelouas | On cherche a rester le moins onéreux évidement... Donc, mode récupération activé! | 
| 59 | |||
| 60 | 1 | Baptiste Pelouas | * un **plateau circulaire** ou l'on pose l'objet a scanner, dont on pilote l'angle de rotation. | 
| 61 | * un **laser** (rouge classe 1 voir 2) plan vertical, dont on pilote l'angle de rotation. | ||
| 62 | 16 | Baptiste Pelouas | * une **webcam** pour visualiser le trait(rouge) déformé émis par le laser sur l'objet. La précision du scan dépendra directement de sa résolution. | 
| 63 | 1 | Baptiste Pelouas | * un arduino Uno (actuellement: un YABBAS), et divers composants électroniques pour piloter les objets ci-dessus, et faire la liaison avec le logiciel de traitement. | 
| 64 | * une alimentation de pc ( 5 Volt principalement utilisé) | ||
| 65 | 22 | Baptiste Pelouas | * un **[[logiciel]]** de traitement pour effectuer les calculs ( et calibrations ), et fournir le résultat. Écrit en JAVA (au vu de mes compétences en programmation et de l'espoir d'une portabilité accru). | 
| 66 | 14 | Baptiste Pelouas | |
| 67 | |||
| 68 | 1 | Baptiste Pelouas | La dimension maximum devrait permettre d'avoir un système facilement transportable. | 
| 69 | J'ai donc choisi de regrouper l'hardware dans une ***platine vynile*** (trouver dans une casse) et d'utilisé son plateau a priori fait pour tourné rond. On aurrai aussi partir d'un micro-onde ayant un plateau tournant, mais ils ne sont pas conçus pour une rotation stable (a discuter). | ||
| 70 | 16 | Baptiste Pelouas | |
| 71 | 1 | Baptiste Pelouas | Références | 
| 72 | 16 | Baptiste Pelouas | ========== | 
| 73 | 30 | Baptiste Pelouas | * **<a href="http://www.makerscanner.com">MakerScanner</a>**: a la base de ce projet (pour le principe), logiciel en c++ et piece a imprimer pour fonctionner avec *PS3 Eye USB Camera*. | 
| 74 | * **<a href="https://alicedownthecoffeepot.wordpress.com/2014/04/19/3dscanner/">a cheap 3D scanner</a>**: présenté sur <a href="http://hackaday.com/2014/04/20/make-a-3d-scanner-for-60e-using-old-hardware/">hackaday.com</a>, projet très similaire au MakerScanner qui fonctionne avec un script mathlab. | ||
| 75 | 33 | Baptiste Pelouas | * **<a href="http://www.lvl1.org/2013/02/13/24-hour-junk-3d-scanner/>24-hour-junk-3d-scanner</a>**: projet très similaire au MakerScanner | 
| 76 | 30 | Baptiste Pelouas | * **<a href="http://meshlab.sourceforge.net">meshlab</a>**: couteau suisse de la 3D | 
| 77 | 16 | Baptiste Pelouas | |
| 78 | |||
| 79 | 32 | Baptiste Pelouas | A voir | 
| 80 | ------ | ||
| 81 | |||
| 82 | 31 | Baptiste Pelouas | * <a href="http://www.danielgm.net/cc/">CloudCompare</a> : inspection de mesh, présentation sur <a href="http://fr.wikipedia.org/wiki/CloudCompare">Wikipedia</a> | 
| 83 | * <a href="http://ccwu.me/vsfm/">VisualSFM</a> : de la photogrammétrie "pure" et open source, pour obtenir de la 3D a partir de simple photographie. |