Wiki » Historique » Version 39
Baptiste Pelouas, 12/01/2015 10:21
1 | 1 | Baptiste Pelouas | Wiki |
---|---|---|---|
2 | ==== |
||
3 | 23 | Baptiste Pelouas | |
4 | 39 | Baptiste Pelouas | Sous Pages Wiki |
5 | =============== |
||
6 | 1 | Baptiste Pelouas | |
7 | 39 | Baptiste Pelouas | **[[logiciel]]** l'application software **AppPlatine3D**, l'interface utilisateur, les algorithmes de traitements de l'image, les connections series et usb. |
8 | **[[hardware]]** la **Platine3D** *in real life*, la mécanique, l'électronique mais aussi le code de l'arduino. |
||
9 | [[logo]] pour ce projet... |
||
10 | |||
11 | |||
12 | 1 | Baptiste Pelouas | Présentation |
13 | ============ |
||
14 | |||
15 | 39 | Baptiste Pelouas | Le projet **[MakerScanner](http://www.makerscanner.com)**, qui est la base de ce projet: |
16 | 30 | Baptiste Pelouas | <blockquote>Le principe illustré attachment:test_du_makerscanner.png ... |
17 | 39 | Baptiste Pelouas | Il permet d'obtenir un nuage de point coloré([format .ply](http://fr.wikipedia.org/wiki/Format_de_fichier_de_polygones)) du coté d'un objet. Il faut tourner manuellement le laser pour balayer l'objet. |
18 | 1 | Baptiste Pelouas | 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). |
19 | 39 | 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 **[meshlab](http://meshlab.sourceforge.net)**)... C'est compliqué et très vite fastidieux. De plus une calibration précise est nécessaire (optique et mécanique). |
20 | 1 | Baptiste Pelouas | </blockquote> |
21 | |||
22 | Le concept du présent projet est : |
||
23 | 22 | Baptiste Pelouas | |
24 | 15 | Baptiste Pelouas | * d'automatiser la rotation du laser et retenir l'angle. |
25 | 14 | Baptiste Pelouas | * d'automatiser les rotations de l'objet et de retenir l'angle de rotation effectué par ce dernier. |
26 | 15 | Baptiste Pelouas | * d'automatiser l'assemblage des fichiers dans un logiciel. |
27 | * (optionnel) automatiser la calibration d'un maximum de paramètres. |
||
28 | 39 | Baptiste Pelouas | * (optionnel) création d'un fichier maillé ([format .stl](http://fr.wikipedia.org/wiki/Fichier_de_stéréolithographie)) optimisé & cohérent pour une imprimante 3d. |
29 | 1 | Baptiste Pelouas | |
30 | 39 | Baptiste Pelouas | <img src="http://redmine.acolab.fr/attachments/download/51/iso_schema.png" height="30%" width="30%" title="schema rapide" alt="schema rapide"> |
31 | 14 | Baptiste Pelouas | |
32 | 1 | Baptiste Pelouas | Le principe de base géométrique |
33 | ------------------------------- |
||
34 | |||
35 | 14 | Baptiste Pelouas | Un peu de géométrie (niveau collège/lycée): la triangulation..."Deux angles et le côté commun" |
36 | 1 | Baptiste Pelouas | [cf. http://fr.wikipedia.org/wiki/Résolution_d'un_triangle] |
37 | 6 | Baptiste Pelouas | |
38 | 39 | Baptiste Pelouas | <img src="http://redmine.acolab.fr/attachments/download/43/Resolve_triangle_with_c_alpha_beta.png" height="15%" width="15%" title="Deux angles et le côté commun" alt="Deux angles et le côté commun"> |
39 | 1 | Baptiste Pelouas | |
40 | 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. |
||
41 | 13 | Baptiste Pelouas | |
42 | 1 | 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 : |
43 | 13 | Baptiste Pelouas | |
44 | 39 | Baptiste Pelouas | α | β | γ |
45 | ----- | ----- | ----- |
||
46 | <img src="http://redmine.acolab.fr/attachments/download/44/calc_a.png" height="60%" width="60%" title="calc_a.png" alt="calc_a.png"> | <img src="http://redmine.acolab.fr/attachments/download/45/calc_b.png" height="60%" width="60%" title="calc_b.png" alt="calc_b.png"> | <img src="http://redmine.acolab.fr/attachments/download/46/calc_C.png" height="60%" width="60%" title="calc_C.png" alt="calc_C.png"> |
||
47 | 13 | Baptiste Pelouas | |
48 | 39 | Baptiste Pelouas | |
49 | 13 | Baptiste Pelouas | 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(α)}... |
50 | |||
51 | C'est très bien mais ça reste de la 2D ! |
||
52 | 4 | Baptiste Pelouas | Voici un dessin (sans les formules) qui permet d'extrapoler en 3d le système vu ci-dessus. |
53 | 39 | Baptiste Pelouas | <img src="http://redmine.acolab.fr/attachments/download/47/2d_TO_3d.png" height="30%" width="30%" title="2d_TO_3d.png" alt="2d_TO_3d.png"> |
54 | 4 | Baptiste Pelouas | |
55 | 3 | Baptiste Pelouas | |
56 | Le résultat escompté |
||
57 | 1 | Baptiste Pelouas | -------------------- |
58 | |||
59 | 3 | Baptiste Pelouas | * un **nuage de points 3D coloré** (format .ply) |
60 | * ? un maillage 3D (coloré)? (format .stl) |
||
61 | |||
62 | Les composants |
||
63 | 1 | Baptiste Pelouas | -------------- |
64 | |||
65 | On cherche a rester le moins onéreux évidement... Donc, mode récupération activé! |
||
66 | |||
67 | * un **plateau circulaire** ou l'on pose l'objet a scanner, dont on pilote l'angle de rotation. |
||
68 | * un **laser** (rouge classe 1 voir 2) plan vertical, dont on pilote l'angle de rotation. |
||
69 | * 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. |
||
70 | 16 | 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. |
71 | 1 | Baptiste Pelouas | * une alimentation de pc ( 5 Volt principalement utilisé) |
72 | * 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). |
||
73 | 22 | Baptiste Pelouas | |
74 | 14 | Baptiste Pelouas | |
75 | La dimension maximum devrait permettre d'avoir un système facilement transportable. |
||
76 | 34 | Baptiste Pelouas | 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). |
77 | 36 | Baptiste Pelouas | |
78 | |||
79 | 34 | Baptiste Pelouas | Références |
80 | 1 | Baptiste Pelouas | ========== |
81 | 39 | Baptiste Pelouas | * **[MakerScanner](http://www.makerscanner.com)**: a la base de ce projet (pour le principe), logiciel en c++ et piece a imprimer pour fonctionner avec *PS3 Eye USB Camera*. |
82 | * **[a cheap 3D scanner](https://alicedownthecoffeepot.wordpress.com/2014/04/19/3dscanner/)**: présenté sur [hackaday.com](http://hackaday.com/2014/04/20/make-a-3d-scanner-for-60e-using-old-hardware/), projet très similaire au MakerScanner qui fonctionne avec un script mathlab. |
||
83 | * **[24-hour-junk-3d-scanner](http://www.lvl1.org/2013/02/13/24-hour-junk-3d-scanner/)**: projet très similaire au MakerScanner |
||
84 | * **[because 3d printer are so mainstrem](https://docs.google.com/document/d/1bWYblAxFJ35Dp5OcckQa8zqidA_gULUbBJ4SYsLzIaQ/edit?pli=1)**: un projet simple et mis en oeuvre! |
||
85 | * **[meshlab](http://meshlab.sourceforge.net)**: couteau suisse de la modélisation 3D pour les fichier de maillage de points. |
||
86 | 16 | Baptiste Pelouas | |
87 | |||
88 | 32 | Baptiste Pelouas | A voir |
89 | ------ |
||
90 | |||
91 | 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> |
92 | * <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. |