Projet

Général

Profil

Wiki » Historique » Version 44

Baptiste Pelouas, 17/05/2015 14:48

1 41 Baptiste Pelouas
{{toc}}
2
3 1 Baptiste Pelouas
Wiki
4
====
5 23 Baptiste Pelouas
6 39 Baptiste Pelouas
Sous Pages Wiki
7
===============
8 1 Baptiste Pelouas
9 39 Baptiste Pelouas
**[[logiciel]]** l'application software **AppPlatine3D**, l'interface utilisateur, les algorithmes de traitements de l'image, les connections series et usb.
10
**[[hardware]]** la **Platine3D** *in real life*, la mécanique, l'électronique mais aussi le code de l'arduino.
11
[[logo]] pour ce projet...
12
13
14 1 Baptiste Pelouas
Présentation
15
============
16
17 39 Baptiste Pelouas
Le projet **[MakerScanner](http://www.makerscanner.com)**, qui est la base de ce projet:
18 30 Baptiste Pelouas
<blockquote>Le principe illustré attachment:test_du_makerscanner.png ...
19 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.
20 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).
21 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).
22 1 Baptiste Pelouas
</blockquote>
23
24
Le concept du présent projet est :
25 22 Baptiste Pelouas
26 15 Baptiste Pelouas
 *  d'automatiser la rotation du laser et retenir l'angle.
27 14 Baptiste Pelouas
 *  d'automatiser les rotations de l'objet et de retenir l'angle de rotation effectué par ce dernier.
28 15 Baptiste Pelouas
 *  d'automatiser l'assemblage des fichiers dans un logiciel.
29
 *  (optionnel) automatiser la calibration d'un maximum de paramètres.
30 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.
31 1 Baptiste Pelouas
32 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">
33 14 Baptiste Pelouas
34 1 Baptiste Pelouas
Le principe de base géométrique
35
-------------------------------
36
37 14 Baptiste Pelouas
Un peu de géométrie (niveau collège/lycée): la triangulation..."Deux angles et le côté commun"
38 1 Baptiste Pelouas
[cf. http://fr.wikipedia.org/wiki/Résolution_d'un_triangle]
39 6 Baptiste Pelouas
40 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">
41 1 Baptiste Pelouas
42
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.
43 13 Baptiste Pelouas
44 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 :
45 13 Baptiste Pelouas
46 39 Baptiste Pelouas
α | β | γ
47
----- | ----- | -----
48
<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">
49 13 Baptiste Pelouas
50 39 Baptiste Pelouas
51 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(α)}...
52
53
C'est très bien mais ça reste de la 2D !
54 4 Baptiste Pelouas
Voici un dessin (sans les formules) qui permet d'extrapoler en 3d le système vu ci-dessus.
55 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">
56 4 Baptiste Pelouas
57 3 Baptiste Pelouas
58
Le résultat escompté
59 1 Baptiste Pelouas
--------------------
60
61 3 Baptiste Pelouas
* un **nuage de points 3D coloré** (format .ply)
62
* ? un maillage 3D (coloré)? (format .stl)
63
64
Les composants
65 1 Baptiste Pelouas
--------------
66
67
On cherche a rester le moins onéreux évidement... Donc, mode récupération activé!
68
69
* un **plateau circulaire** ou l'on pose l'objet a scanner, dont on pilote l'angle de rotation.
70
* un **laser** (rouge classe 1 voir 2) plan vertical, dont on pilote l'angle de rotation.
71
* 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.
72 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.
73 1 Baptiste Pelouas
* une alimentation de pc ( 5 Volt principalement utilisé)
74
* 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).
75 22 Baptiste Pelouas
76 14 Baptiste Pelouas
77
La dimension maximum devrait permettre d'avoir un système facilement transportable.
78 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).
79 36 Baptiste Pelouas
80
81 34 Baptiste Pelouas
Références
82 1 Baptiste Pelouas
==========
83 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*.
84 43 Baptiste Pelouas
* **[Build a 30$ laser Scanner](http://www.instructables.com/id/Build-a-30-laser/?ALLSTEPS)**: instructable pour un scanner abordable (30$), sur le même fonctionnement géométrique sans rotation de l'objet et avec plusieurs lasers-lignes. Projet trouvé par .AleX. . A voir !!
85 44 Baptiste Pelouas
* **[Cheap-DIY-laser-scanner-is-quite-impressive](http://www.csksoft.net/blog/post/lowcost_3d_laser_ranger_1.html)**(en français GoogleTraduction [ici](http://translate.google.com/translate?sl=zh-CN&tl=fr&js=n&prev=_t&hl=en&ie=UTF-8&layout=2&eotf=1&u=http%3A%2F%2Fwww.csksoft.net%2Fblog%2Fpost%2Flowcost_3d_laser_ranger_1.html) ): un clone de Kinect homemade chinois, tout semble y être, notamment les liens vers des sources interressentes au niveau des algorithmes (interpolation).
86 39 Baptiste Pelouas
* **[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.
87
* **[24-hour-junk-3d-scanner](http://www.lvl1.org/2013/02/13/24-hour-junk-3d-scanner/)**: projet très similaire au MakerScanner
88 40 Baptiste Pelouas
* **[Because 3D printers are so mainstream these days...](https://docs.google.com/document/d/1bWYblAxFJ35Dp5OcckQa8zqidA_gULUbBJ4SYsLzIaQ/edit?pli=1)**: un projet simple et mis en oeuvre!
89 39 Baptiste Pelouas
* **[meshlab](http://meshlab.sourceforge.net)**: couteau suisse de la modélisation 3D pour les fichier de maillage de points.
90 16 Baptiste Pelouas
91
92 42 Baptiste Pelouas
93 32 Baptiste Pelouas
A voir
94
------
95
96 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>
97
* <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.
98 42 Baptiste Pelouas
* [SCIENCES POUR TOUS](http://spt06.chez-alice.fr/) : trés bon site de bidouillage pour être *précis*, merci les astronomes