Outils pour utilisateurs

Outils du site


wiki:projets:scanner_3d

Scanner 3D

Vous êtes dans Index-Projets-Scanner 3D

Cette documentation n'est pas à jour, elle sera éditée prochainement.

Informations générales

Statut

En cours depuis le 08/09/2013

  • 8/09/2013 : ouverture du projet,
  • 14/09/2013 : choix des composants,
  • 17/09/2013 : rédaction sommaire du cahier des charges,
  • 18/09/2013 : première ébauche de la présente documentation,
  • 23/09/2013 : Pot d'ouverture du PMC Lab’,
  • 26/09/2013 : MàJ de la documentation et du cahier des charges. Publication sur le présent wiki.

Participation

Porteur du projet Alexis Prel (contact : prenom.nom@etu.upmc.fr)
Autres participants :
Vous êtes tout à fait invités à nous contacter pour participer au projet, en particulier si vous avez quelques notions de contrôle de moteur pas à pas, mais également si vous êtes simplement curieux. Pensez à préciser vos nom, filière et aspirations.

Description générale

L’objectif est de créer un scanner 3D en utilisant un minimum d’électronique. Les informations apportées par une webcam et un laser sont croisées de façon informatique pour reconstituer un nuage de points correspondant à l’objet scanné. Contrairement au projet dont il est inspiré (le Fabscan), ce scanner ne nécessitera pas de démonter une webcam pour la connecter avec l’Arduino, ce qui permettra à l’utilisateur de venir avec sa propre webcam (par exemple celle embarquée dans son ordinateur portable) effectuer le scan.

Cahier des charges

Objectifs immédiats

  • Obtenir un système fonctionnel et fiable de scan 3D,
  • Conserver un prix inférieur à 100€,
  • Maintenir une durée de scan n'excédant pas une à deux minutes,
  • Fournir une interface graphique simple d'utilisation,
  • Permettre à l'utilisateur de venir avec sa propre webcam, par exemple celle embarquée dans son PC, sans avoir à la démonter.

Objectifs chiffrés :
À définir.

Dream test

Pouvoir scanner la clef d'un cadenas fermé, la réimprimer avec une imprimante 3D et ouvrir la serrure. :-D

Perspectives à (très) long terme

Améliorer le système de manière à effectuer un scan en temps réel, permettant de faire de la modélisation sous Blender avec rien de plus que de la patte à modeler.

Aspects techniques

Matériel utilisé

  • 1 × Laser ligne (i.e. il balaye un plan et projette une ligne, par opposition au pointeur).
  • 1 × Webcam (modèle Logitech c270)
  • 1 × Moteur pas à pas (200 positions) + interface de contrôle,
  • quelques pièces pour la boite elle même seront nécessaire à terme, l’idéal étant de les fabriquer avec une découpe laser. En attendant, une boite à chaussure fera l’affaire.

Partie mécanique

La figure ci-dessus schématise le principe général de fonctionnement. L’objet, solidaire d’une platine fixée sur l’axe d’un moteur pas à pas, effectue une rotation à 360°, en intersectant le plan du laser selon une ligne. La séquence est acquise via la webcam, puis analysée informatiquement

Partie électronique

L'Arduino, connectée au moteur pas à pas, au laser et éventuellement à la webcam d'une part et à l'ordinateur d'autre part, permet de contrôler le tout au cours du scan.

Idéalement, la webcam devrait pouvoir ne pas être démontée en compensant par un traitement d'image la partie de synchronisation entre moteur et acquisition vidéo.

Partie informatique

Outils existants utilisés :

  • Langage Arduino pour la carte,
  • Python pour le traitement et l'affichage Blender,
  • Éventuellement certains scripts pré-existants pour la mise en surface et le lissage,
  • Blender pour le rendu.

Processus de traitement informatique :

  1. Synchronisation : Associer à chaque image l'angulation du moteur au moment de l'acquisition.
  2. Réduction : éliminer les doublons de la séquence.
  3. Traitement de l'image : pour chaque image, produire la liste des points appartenant à la ligne d'intersection objet-laser.
  4. Triangulation : pour chaque point, effectuer une triangulation, connaissant sa position (x,y) dans l'image et l'angulation du moteur à la date correspondante.
  5. Primo-affichage : Afficher le nuage de points dans Blender.
  6. Mise en surface : Relier les points par des segments et les segments par des surfaces (meshing). Cette tâche, pas si triviale que cela, pourra être effectuée par des scripts pré-existants, certains sont très efficaces.
  7. Customisation : interface graphique simple permettant d'optimiser le lissage.
wiki/projets/scanner_3d.txt · Dernière modification: 2016/09/11 13:00 (modification externe)