Scanner DIY

De fablabo
Aller à : navigation, rechercher


Réalisation d'un scanner 3d à balayage laser

704px-Scanner1.jpg

Contributeur·ice·s

Statut du projet

Fonctionnel

Statut de la publication

{{{status_pub}}}

License

CC-by-sa-3.0

Inspiration

Fichiers source

Outils

Ingrédients

Lien





Définition

Un scanner 3D mesure le positionnement d'un échantillonnage de points dans un système de coordonnées. Il existe plusieurs technologies pour numériser un objet en 3D. Le projet retient le principe de la triangulation qui utilise la lumière laser pour sonder son environnement. Le point laser, l'appareil photo et l'émetteur laser forment un triangle. L'angle du côté de l'appareil photo peut-être déterminé en regardant l'emplacement du point laser dans le champ de vision de l'appareil photo. Ces trois données déterminent la forme et les dimensions du triangle et donnent la position du point (ou bande) laser.

Scanner2.jpg

La technologie de scanner basée sur la triangulation date de 1978.

Objectif

Réaliser un scanner 3D open hardware et open software multi plateforme, ou à défaut, sous linux. Une bonne ergonomie du logiciel de commande sera recherchée pour un accès de l'ensemble au plus grand nombre. Le parti pris technologique est celui du balayage laser, pour des raisons essentiellement économiques, même si d'autres solutions existent. Elle seront abordées à titre documentaire. Il sera recherché une simplification dans les emprunts aux productions existantes.

Méthodologie

Aujourd'hui, il existe déjà des solutions ouvertes très intéressantes, des projets de recherche universitaires, des initiatives personnelles DIY (do it yourself) et bien sûr des produits commerciaux qui sont totalement opérationnels. La méthode de travail à développer est de recenser un certain nombre de ces solutions pour en étudier les caractéristiques et alimenter une réflexion concourante à la mise au point d'un résultat reproductible.

Etat de l'art

SCANNERS à BALAYAGE LASER

3D-Scanning-2.jpg


a - Les projets aboutis

MakerScanner

Assemblage.jpg

http://www.makerscanner.com/

MakerScanner utilise la projection d'une ligne laser sur un objet et enregistre sa position par rapport à une surface de référence plane. IL propose la construction et l'assemblage de pièces imprimées en 3D, une camera et un pointeur laser.

XflatBackgroundArea.png.pagespeed.ic.AhVvDxY1w .png

MAKERSCANNER.png

Le logiciel possède une interface simple et intuitive. L'ensemble est par ailleurs très bien documenté sur un site dédié (L’existence du site est attribuable à la grandeur d'âme de la marque Makerbot). Le développement du projet semble cependant stoppé, la version du soft est la 0.3.1. Le code source est accessible via http://www.makerscanner.com/files/makerscanner-0.3.1.tar.gz L'édition du nuage de points obtenu est éditable dans un logiciel tiers comme Meshlab pour l'édition et le maillage du scan.

Un projet alternatif a été développé sur la base logicielle Makerscanner - https://www.thingiverse.com/thing:21672

IMG 1892 display large preview featured.jpg

Spinscan

http://www.thingiverse.com/thing:9972

5925011533 d9dac35187 o display large preview featured.jpg

En 2011 Tony Buser publie le Spinscan, un scanner 3D open source basé sur un laser et un appareil photo numérique équipé d'une table tournante.

Ce projet fondateur a inspiré de nombreux autres scanners open source et aurait inspiré le MakerBot®Digitizer.

Fabscan 100

Le projet Fabscan 100 est intéressant à plus d'un titre. Il a commencé par une thèse de septembre 2011 de Francis Engelmann dans le cadre d'un groupe de travail de l'université RWTH Aachen en Allemagne (The Media Computing Group). http://hci.rwth-aachen.de/FabScan

Prot3Setup.png

Il pose les bases de la fabrication d'un matériel technologiquement complexe, proposé et conçu comme un produit "Do-It-Yourself" accessible à toute personne ayant un intérêt suffisant pour construire son propre scanner. L'installation utilise une webcam ordinaire, un module laser abordable, un moteurs pas à pas et une carte Arduino Uno dans sa version la plus récente.

Le prototype de 2011 a été modifié en 2014 après la reprise du développement par René Bohne et Mario Lukas. La rotation du module laser, commandé par un moteur pas à pas dans la première version a été supprimé au profit d'un réglage à la main. La webcam utilisée est une logitech C270, le montage le l'ensemble contient moins de vis et l'électronique a été revue. Puis, la partie avant et le montage de la camera ont été modifiés. http://hci.rwth-aachen.de/fabscan2014_front.

Images.jpg

Enfin, la dernière évolution corrige la découpe du boitier et porte le nom de FabScan CUBE http://hci.rwth-aachen.de/fabscanCUBE.

3 0.jpg

Le logiciel mis en oeuvre - FabScan - utilise OpenCV , l'algorithme Powercrust, C ++ et Objective-C. https://github.com/francisengelmann/FabScan100. Il est capable de cartographier un nuage de points en couleur de l'objet, transformer le nuage de points en surface maillée et la convertir en STL, format de fichier de stéréolithographie utilisé entre autres pour l'impression 3D. Aucun logiciel de post-traitement (comme MeshLab) n'est nécessaire, ce qui rend cette solution à la fois simple, compact et autonome.

SkullResults.png

Un tutoriel est disponible pour la version Linux puis un film décrivant le développement du projet. http://www.mariolukas.de/2014/07/scannen-mit-dem-fabscan/ - http://youtu.be/3Q2Xv1Y1mdU

Un logiciel doté d'une interface très conviviale Simple3DScan à été développé par Wolfgang Schmidt. Il n'existe malheureusement qu'une version Windows pour le moment. http://wolfgangschmidt.info/simple3dscan/

Compilation de FabScan100

Pour obtenir les sources :

  git clone https://github.com/francisengelmann/FabScan100.git 

La compilation a été faite sur linux fedora21 avec les dépendances déjà résolues

La compilation n'est pas directe :

  • L'utilisation de qt-creator facilite les choses
  • Il y a des modifications à faire dans le fichier qtTest.pro

Le fichier modifié est ici : Fichier:FabScan100-modifie QtTest.pro

La compilation sous MacOs à échouée à cause des problèmes de link de bibliothèques

C2scan

IMG 0904.jpg

Le projet C2scan s'inscrit dans la filiation directe du projet Fabscan. http://c2scan.com/ Il exploite les principes concrétisés par son aïeul, tout en apportant des amélioration qui sont reprises par tous les projets de scanner 3d open source et commerciaux actuels. C2scan incorpore deux modules laser convergeant vers le centre du plateau tournant. Il s'agit maintenant d'un appareil ouvert, donc sans boitier, qui permet une plus grande liberté de manœuvre pour la mise en place des sujets à numériser et le réglage des faisceaux laser. De plus, ce modèle permet la translation verticale motorisée du bloc lasers.

IMG 0901 preview featured.jpg

Le logiciel de contrôle sur base Fabscan (Cebscan) a été modifié pour la gestion de la translation verticale du bloc lasers / caméra et le support du double laser.Il gère aussi la désactivation de la mise au point automatique de la camera qui représente un problème pour la numérisation. https://github.com/cebbaker/cebscan/tree/Current

Laser Scanner 3D SkanDal

310px-Ensemble 2.jpg

Ce projet totalement documenté est d'un grand intérêt intérêt pédagogique. C'est un modèle avec 2 Lasers, piloté par des scripts en Python, sous Licence GPL V2, développé par la Labomedia. http://wiki.labomedia.org/index.php/Laser_Scanner_3D_SkanDal Ce modèle exige le recours à un logiciel tiers pour l'édition des nuages de points produits, notamment pour le maillage. Il dispose d'outils de réglage précis pour la position des lasers, de l'axe vertical de la camera, de la position de l'axe moteur. Tous ces paramètres sont ajustables par des sliders dans l'interface logicielle.

600px-Sliders.png

Le Laser Scanner 3D SkanDal s'utilise dans une chambre noire pour isoler les lignes laser.

300px-S 0.png

Ciclop 3D Scanner

Ciclop-675x379.png

http://diwo.bq.com/en/presentacion-ciclop-horus/

Avec le projet Ciclop, on entre dans une nouvelle ère de production de scanner 3d de bureau DIY. L'offre matérielle et logicielle est particulièrement bien pensée, la documentation est abondante, l'ensemble est très homogène et professionnel.Le système a été conçu pour calculer les paramètres du scanner internes automatiquement par auto-étalonnage, garantissant ainsi sur chaque modèle assemblé une précision maximum. Cerise sur le gâteau, le logiciel est un modèle d'ergonomie et de simplicité.

Horus-scanning-parameters-470x324.png

Ce modèle, fait indéniablement sortir le scanner 3d personnel des garages des pionniers pour entrer dans une ère industrielle comme l'avait fait avant lui l'imprimante 3d personnelle. A ce titre le produit est proposé dans l'offre commerciale de la société HQ http://www.bq.com/gb/3d-world sous forme de kit à monter. Il reste cependant complètement open source. Tous les fichiers des composants de sa fabrication, les notices de montage et le code du logiciel sont téléchargeables et ouverts. http://www.bq.com/gb/support/ciclop

Assembly-675x337.jpg

Ce produit est promis à un bel avenir et permettra à tout les passionnés de 3d de s'équiper à moindre coût d'un matériel libre et évolutif.

ATLAS 3D

Maxresdefault.jpg

ATLAS 3D est open source et open hardware. FreeLSS, le logiciel qui fait fonctionner le scanner a été publié sur Github sous la licence GPL. http://www.freelss.org/ La source des fichiers OpenSCAD pour toutes les pièces 3D imprimés sont pour le moment livrés dans un kit commercial.

468ce0b43699d78ae721bf16e97f2e3c original.png

Le produit a bénéficié d'une campagne de collecte de fonds pour son lancement. https://www.kickstarter.com/projects/1545315380/atlas-3d-the-3d-scanner-you-print-and-build-yourse/description La grande singularité de ce projet, est de fonctionner de manière autonome et de produire directement des modèles 3d maillés imprimables. Le logiciel fonctionne sur une carte Raspberry Pi, il n'y a donc pas de pilotes ou de logiciels à installer sur un ordinateur connecté en usb. Un navigateur Web est utilisé pour communiquer avec le scanner. Après la numérisation, le navigateur Web est employé pour télécharger les modèles qui en résultent.La solution technologique adoptée permet aussi d'abaisser les coût avec le module camera de 5 mégapixels du Raspberry Pi.

F7670ff70916bdb9a0977497ce2d12b9 original.png

L'interface logiciel est claire et conviviale.

S0.png

Raptor 3D

A peine mis au point et déjà copié. Le monde de l'open source est sans pitié pour le travail des développeurs et autres inventeurs. Le site reprapuniverse.com met déjà en vente un kit d'assemblage sur le même principe que le projet ATLAS 3D mais avec des pièces usinées à la découpe laser. http://reprapuniverse.com/catalog/raptor3dscanner.php?osCsid=5e7792b0e40ce643b7214dd99b6e6b82

Raptor 3D scanner color printer full 360 diy kit.jpg

Le résultat est cependant intéressant car il propose un kit d'assemblage complet.

Sardauscan

Le concepteur du Sardauscan, le designer belge Fabio Ferretti, définit son projet comme le "moins cher des scanner 3d de la terre" où "un scanner laser 3d pour moins de 30$". Sous ces appellations racoleuses se cache un projet étonnant, mais sérieux et opérationnel. https://www.thingiverse.com/thing:702470

Sardauscan-is-a-diy-3d-scanner-that-you-can-3d-print-and-build-for-under-4.jpg

Le materiel utilisé est un Arduino Nano, 1 à 4 modules lasers, un moteur pas à pas avec son contrôleur et une webcam hercule hd. Les instructions de montage sont disponibles sur l’excellent site instructables.com http://www.instructables.com/id/Build-a-30-laser/.

F0DY3G8I800X19M.MEDIUM.jpg

Le logiciel, écrit en C# et WinForms, est conpilé sur une version de Visual 2010, ce qui le destine aux utilisateurs Windows. Cependant, là encore la surprise est grande de découvrir la qualité de son interface et la richesse des menus.

FJDX1MAI800X7YH.MEDIUM.jpg

Ce modèle surprenant représente un outsider de taille face à une offre de solutions grandissante et de plus en plus professionnelle.

b – Les projets en cours de développement, embryonnaires ou inaboutis

Pyscan 3D En cours de développement.

http://www.labfab.fr/portfolio/pyscan3d/

http://diablotronic.free.fr/Pyscan3d/pyscan3d.html

Open3DScanner

https://matthewshotton.wordpress.com/tag/3d-scanner/

Logiciel splinesweep code absent

https://code.google.com/p/splinesweep/

PyLatScan

https://github.com/mvhenten/pylatscan

https://www.flickr.com/photos/57913158@N05/

SCANNERS à LUMIÈRE STRUCTURÉE

Je signale au passage un logiciel très intéressant de scanner à lumière structurée http://www.real3d.pk/3dracs.html

3D underworld de scanner à lumière structurée open-source

http://www.3dunderworld.org/

Projector-Camera Calibration

http://mesh.brown.edu/calibration/ http://mesh.brown.edu/calibration/software.html Projet interessant de lumière structurée (logiciel sous windows)

SCANNERS IRM

Scanner open source IRM (imagerie par résonance magnétique - IRM) http://www.tricorderproject.org/blog/towards-an-inexpensive-open-source-desktop-ct-scanner/

Analyse et commentaires

Géométrie des châssis

Ens Scanner 02.jpg

Quatre modèles de scanner sont retenus pour un examen détaillé de leurs caractéristiques dimensionnelles. Le FABSCAN, le C2SCAN, le CICLOP et l'ATLAS 3D.

FABSCAN 100

Ens Fabscan.jpg

Description Fabscan.jpg

Cotation Fabscan.jpg

C2SCAN

Ens C2scan.jpg

Legendes C2scan.jpg

Cotations C2scan a.jpg

CICLOP

Ensemble Ciclop.jpg

Legendes Ciclop.jpg

Cotations Ciclop a.jpg

ATLAS 3D

Ensemble Atlas3d.jpg

Légendes atlas3d.jpg

Cotations Atlas3d a.jpg

Tableau de comparaison

Tableau comparaison.jpg

Synthèse

En cours d'élaboration.

Webographie

Généralités:

http://makezine.com/2015/01/15/5-diy-3d-scanners-to-watch/

GNU:

http://www.gnu.org/software/libmicrohttpd/

Electronique:

http://fr.wikipedia.org/wiki/General_Purpose_Input/Output http://fritzing.org/home/ http://fr.wikipedia.org/wiki/Fritzing http://fr.wikipedia.org/wiki/Raspberry_Pi https://www.raspberrypi.org/introducing-raspberry-pi-model-b-plus/

Code:

http://sourceforge.net/projects/raspicam/files/