Ciclop 3D Scanner CC BY SA

Nous avons le plaisir de te présenter Ciclop, le premier scanner 3D DIY de BQ, et Horus, un logiciel de numérisation 3D.

Comme nos autres produits DIY, Ciclop et Horus sont sous licence libre et appartiennent au patrimoine technologique mondial. Toutes les informations sur la conception mécanique, l’électronique, le logiciel, les algorithmes, les mathématiques et les expériences réalisées seront à disposition de la communauté.

Chacun peut étudier le fonctionnement du scanner, mais aussi le modifier et le faire évoluer. L’objectif est de contribuer au développement de ces appareils.

open

Notre scanner s’appuie sur de grands projets du patrimoine technologique mondial développés par la communauté, notamment GNU/Linux1, Python2, Reprap3 et Arduino4. Ces projets ont toute notre admiration ; ils nous ont apporté une aide décisive.

ciclop-banner

Techniques utilisées

Il existe plusieurs techniques pour capturer la géométrie tridimensionnelle d’un objet : la triangulation laser, la lumière structurée, la vision stéréoscopique, etc. La triangulation laser est celle qui a comparativement le plus de précision et la meilleure résolution mais elle ne permet pas de numériser tous les matériaux. Elle capture avec une caméra la projection d’un faisceau laser sur l’objet.

Il existe déjà des scanners laser allant de 500 euros à plus de 20 000 euros, mais ils ne sont pas open source et les utilisateurs ne peuvent ni étudier leur logiciel ni les modifier.

Parmi les scanners open source, on peut citer FabScan5 et MakerScanner6, mais ils ne sont pas disponibles sous forme de kit et il faut acheter les matériaux séparément.

Ciclop


Ciclop est un scanner 3D en kit open source. Tu peux donc l’étudier et le modifier librement et acheter tous ses composants en une seule fois, à un prix équilibré.

Conception

Ciclop se compose de pièces imprimées en 3D, de tiges filetées M8, de vis M8, de vis M3, d’écrous et de rondelles. L’objet à numériser doit être placé sur une plateforme tournante. Cette plateforme en méthacrylate de 20 cm de diamètre est recouverte d’antidérapant pour éviter que l’objet bouge pendant la numérisation.

La plateforme repose sur un roulement à billes de 110 mm de diamètre. Elle est activée par un moteur pas-à-pas Nema 17.

Électronique

Le capteur est composé d’une webcam HD Logitech C270 au centre, de deux modules laser ligne de classe 17 sur les côtés et d’une carte contrôleur ZUM BT-3288 .

zum-bt328

ZUM BT-328

La carte ZUM BT-328 est basée sur Arduino. Elle exécute le firmware de contrôle du moteur et des lasers. Elle communique avec ton ordinateur via un câble micro-USB ou via Bluetooth. La ZUM SCAN, une shield dérivée de la Arduino CNC Shield9, contient 2 pilotes de contrôle de moteurs pas-à-pas et des connexions pour 4 lasers et 2 capteurs analogiques de luminosité (LDR). Elle est connectée à la partie supérieure de la ZUM BT-328.

zum-scan

ZUM SCAN Shield

 Horus


Firmware

Le firmware a été développé à partir de GRBL10, qui est utilisé dans d’autres projets, par exemple Marlin11 (le firmware des imprimantes 3D open source). Il permet de contrôler la marche et l’arrêt des lasers, mais aussi la position, la vitesse et l’accélération du moteur pas-à-pas via des commandes G-code.

Logiciel

Le programme principal est une application de bureau multi-plateforme développée en langage Python2. Il s’appuie sur wxPython12, NumPy13, SciPy14, Matplotlib15, OpenGL16 et une version optimisée pour Linux de OpenCV17.

Cette application est au coeur de la numérisation. Elle gère les communications, la capture et la synchronisation des données, le traitement de l’image et la génération et l’affichage du nuage de points.

Elle a été développée et optimisée pour GNU/Linux (Ubuntu18), Windows et Mac.

Horus comporte trois espaces de travail sélectionnables par l’utilisateur.

Contrôle

Cet espace permet de contrôler librement chacun des éléments du scanner : les paramètres de la caméra, les lasers, les moteurs, etc… Il est pensé pour permettre aux makers et aux développeurs de tester les composants de l’appareil séparément.

Calibration

Cet espace contient les outils nécessaires pour calibrer l’appareil, depuis le paramétrage de la caméra en passant par la triangulation laser et la détection de la plateforme tournante.

Ce système est pensé pour calculer automatiquement les paramètres internes du scanner à partir de la structure montée par l’utilisateur. C’est un point très important car comme Ciclop est un scanner DIY, il ne sera jamais monté exactement de la même manière par deux personnes. Il est impossible de déterminer à priori les dimensions et les orientations résultant du montage. De plus, l’utilisateur peut monter un scanner avec différentes dimensions et positions pour les lasers et la caméra. Horus s’auto-calibre correctement pour obtenir des numérisations parfaites.

calibration

Horus : étapes de calibration

Numérisation

Cette section permet de définir la numérisation : simple ou avec texture, utilisation de un ou deux lasers, degrés par pas, etc. Elle permet également d’observer en temps réel la formation du nuage de points mais aussi la vidéo des différentes phases du traitement de l’image.

scanning

La durée de la numérisation dépend de l’algorithme utilisé et de l’accélération et du pas du moteur. Avec 800 pas par tour (0,45º) la numérisation dure de 2 à 6 minutes (avec les deux lasers) sur Linux.

Le résultat est un fichier PLY19.

scansAssistant 

Horus comporte également un assistant qui simplifie le processus de calibrage et de numérisation en guidant l’utilisateur pas-à-pas.

Maillage

Pour réaliser le maillage à partir du nuage de points, tu disposes de plusieurs logiciels open source comme Blender20 ou MeshLab21, qui permettent de passer d’un fichier PLY à un fichier STL22. Le format STL définit un maillage 3D composé de triangles. Ce fichier peut être imprimé en 3D en utilisant par exemple le logiciel Cura23.

meshlab

Maillage avec MeshLab : calcul des normales

Une fois le fichier converti au format STL, le modèle peut être visualisé sur Horus.

mesh

Nos projets

Nous voulons que ce projet continue à évoluer et à s’améliorer. Nous travaillons notamment sur l’intégration dans Horus des mécanismes de post-traitement 3D et de maillage.

Nous sommes toujours à l’écoute de la communauté. N’hésite pas à nous adresser des suggestions sur notre Groupe ou sur GitHub.

Rejoins le projet !

Publications

Dans les semaines à venir nous publierons plus d’informations sur ce projet sous licence Creative Commons BY-SA  et GPL v2.

Prépare-toi !

Références

  1. Système d’exploitation GNU/Linux
  2. Langage de programmation Python
  3. Communauté RepRap
  4. Communauté Arduino
  5. Projet FabScan
  6. Projet MakerScanner
  7. Certificat de sécurité Classe 1 IEC60825-1:2014
  8. Carte contrôleur ZUM BT-328
  9. Arduino CNC Shield
  10. Logiciel de contrôle CNC GRBL
  11. Firmware Marlin
  12. Bibliothèque graphique wxPython
  13. Bibliothèque de calcul matriciel NumPy
  14. Bibliothèque de calcul scientifique SciPy
  15. Bibliothèque de génération de graphiques Matplotlib
  16. Bibliothèque de graphiques 3D OpenGL
  17. Bibliothèque de vision artificielle OpenCV
  18. Système d’exploitation UbuntuUbuntu GNOME,  Kubuntu
  19. Format de maillage PLY
  20. Editeur tridimensionnel Blender
  21. Traitement avancé de maillages MeshLab
  22. Format de maillage STL
  23. Assistant d’impression 3D Cura

2 commentaires

  1. Bonjour,

    je suis intéressée par ce scanner, est-ce que c’est compatible avec Windows 8 et 10 , est-ce que la notice est en français

    merci

    cordialement

    Sylvie

Les commentaires sont fermés.