Ciclop 3D Scanner CC BY SA

Wir stellen euch Ciclop, den ersten 3D-DIY-Scanner von BQ, und Horus, eine Software für das 3D-Scannen vor.

Wie auch die anderen DIY-Produkte, unterliegen Ciclop und Horus einer freien Lizenz und gehören so zum technologischen Erbe der Menschheit. Die gesamte Information über das mechanische Design, die Elektronik, die Software, die Algorithmen, die Mathematik und die durchgeführten Experimente stehen der Gemeinschaft zur Verfügung.

Dies ermöglicht nicht nur, die Funktionsweise des Scanners zu verstehen, sondern auch ihn zu verändern, verbessern und weiterzuentwickeln. Wir wollen damit die Entwicklung dieser Geräte unterstützen und vorantreiben.

open

Der Scanner stützt sich auf bedeutende Projekte unseres technologischen Erbes, die für die Gemeinschaft entwickelt wurden, wie beispielsweise: GNU/Linux1, Python2, Reprap3 und Arduino4. Sie besitzen unsere ganze Bewunderung, Anerkennung und unseren Dank, da sie für die Durchführung dieses Projektes ausschlaggebend gewesen sind.

ciclop-banner

Stand der Technik

Es gibt verschiedene Möglichkeiten, um die Geometrie eines Objektes zu erfassen: Laser-Triangulation, strukturiertes Licht und Stereoskopie und andere. Erstere hat, im Vergleich zu den anderen, eine höhere Genauigkeit und Auflösung, auch wenn sie in Bezug auf die Materialien der zu scannenden Objekte gegrenzt ist.  Sie basiert darauf, mit einer Kamera die Projektion eines Laserstrahls auf ein Objekt einzufangen.

Auf dem Markt befinden sich bereits Laser mit Preisen, die von 500 € bis über 20.000 € reichen, aber sie basieren nicht auf freier Software und der Nutzer kann die Software daher nicht einsehen und auch keine Veränderungen durchführen.

Unter den freien Scanner stechen FabScan5 und MakerScanner6 hervor, allerdings können sie nicht im Kit gekauft werden; ihre Teile müssen einzeln erstanden werden.

Ciclop


Ciclop ist ein freies 3D-Scanner Kit. Auf der einen Seite bietet es dem Nutzer die Freiheit, sich direkt mit dem Scanner befassen und ihn verändern zu können und auf der anderen Seite das Angebot, alle Teile zusammen in einem Kit zu einem angemessenen Preis kaufen zu können.

Design

Die Struktur von Ciclop besteht aus in 3D gedruckten Teilen, M8 Gewindestangen, M8 Schrauben, M3 Schrauben, Muttern und Unterlegscheiben. Weiter gehört dazu eine Plexiglas-Drehscheibe mit 20 cm Durchmesser auf der das zu scannende Objekt platziert wird.  Sie ist mit einer rutschsicheren Schicht versehen, damit die Objekte während des Scannens nicht verrutschen können.

Die Plattform stützt sich auf ein Kugellager mit 110 mm Durchmesser. Die Bewegung wird mit einem Nema 17 Schrittmotor durchgeführt.

Elektronik

Der Sensor setzt sich aus einer HD Logitech C270Webcam in der Mitte, zwei Linienlasern der Klasse 17 an den Seiten und der Steuerplatine ZUM BT-3288 im Inneren des Vorderteils zusammen.

zum-bt328

ZUM BT-328

ZUM BT-328 ist eine auf Arduino basierende Platine, die die Steuerungssoftware des Motors und der Laser ausführt. Sie ist über ein USB-Kabel oder Bluetooth mit dem PC verbunden. Im oberen Teil ist die ZUM SCAN angeschlossen, ein vom Arduino CNC Shield9, abgeleitetes Shield mit zwei Treibern zur Steuerung des Schrittmotors und einem Aschluss für 4 Laser und 2 analoge Lichtsensoren (LDRs).

zum-scan

ZUM SCAN Shield

 Horus


Firmware

Die Firmware wurde von GRBL10 aus entwickelt, eine Software, die auch bei Projekten wie Marlin11 verwendet wird (die Firmware der freien 3D-Drucker). Steuert das Ein- und Ausschalten der Laser sowie die Steuerung der Position, der Geschwindigkeit und der Beschleunigung des Schrittmotors mit G-Code Befehlen.

Software

Das Hauptprogramm ist eine plattformübergreifende Desktop-Anwendung, die in Python2 entwickelt wurde. Sie verwendet wxPython12, NumPy13, SciPy14, Matplotlib15, OpenGL16 sowie eine optimierte Version für Linux in OpenCV17 .

Diese Anwendung ist der Kern des Scannens. Sie steuert die Kommunikationen, die Aufnahme und Synchronisierung von Daten, die Bildbearbeitung und das Erstellen und Visualisieren der Punktwolke.

Sie wurde für GNU/Linux (Ubuntu18) entwickelt und optimiert. Dennoch wurde sie auch in Windows -Systemen eingesetzt und auch von Mac unterstützt werden. Horus besteht aus drei Arbeitsbereichen, die der Nutzer auswählen kann.

Steuerung

In diesem Abschnitt kann jedes Element des Scanners einzeln gesteuert werden: die Parameter der Kamera, die Laser, die Motoren usw… Es ist dazu gedacht, dass die Maker und Entwickler jeweils mit den einzelnen Teilen Tests und Experimente durchführen können.

Kalibrierung

Der Bereich der Kalibrierung enthält die notwendigen Werkzeuge, um das Gerät kalibrieren zu können; von der Einstellung der Kamera, bis zur Triangulation der Laser und dem Erfassen der Dreh-Plattform.

Dieses System ist entworfen worden, um über die vom Nutzer erstellte Struktur die internen Parameter des Scanners automatisch kalkulieren zu können. Das ist sehr wichtig, denn da es sich um einen DIY-Scanner handelt, werden nie zwei Scanner genau gleich zusammengebaut. Es ist unmöglich, a priori die Dimensionen und Ausrichtung festzulegen, die ihr der Nutzer bei der Montage geben wird. Zusätzlich kann der Nutzer beim Scanner verschiedene Dimensionen und Positionen für die Laser und die Kamera festlegen. Horus kalibriert sich dabei automatisch, um einen perfekten Scan zu erzielen.

calibration

Horus: fases de la calibración

Scannen

In diesem Abschnitt kann die Art des Scans ausgewählt werden: mit/ohne Textur, ein/zwei Laser, Schrittzahl pro Umdrehung etc. Er bietet außerdem eine 3D-Umgebung, in der die Punktwolke in Echtzeit visualisiert werden kann und ein Videofenster angezeigt wird, das die verschiedenen Abschnitte der Bildbearbeitung anzeigt.

scanning

Die Scanzeiten hängen vom verwendeten Algorithmus  und der  Beschleunigung des Schrittmotors ab. Bei 800 Schritten pro Umdrehung (0.45º) liegen die Zeiten bei 2′ für den schnellsten Scan und bei 6′ für den langsamsten (mit Doppellaser) in Linux.

Das Ergebnis dieses Prozesses ist eine PLY19 -Datei. Hier finden sich noch ein paar weitere Beispiele:

scans Wizard

Außerdem enthält Horus einen Wizard, der mit einer schrittweisen Anleitung den Prozess des Kalibrierens und des Scannens vereinfacht.

Editierung der Maschen

Für das Nachbearbeiten einer Punktwolke  gibt es verschiedene freie Programme wie Blender20 oder MeshLab21, mit denen das Format PLY in STL22 umgewandelt werden kann. STL ist ein Format, das ein Dreiecksnetz erstellt. Dieses Archiv kann mit Programmen wie Cura23 für den 3D-Druck vorbereitet werden.

meshlab

Mallado con MeshLab: cálculo de las normales

Einmal in STL umgewandelt, kann das Modell mit Horus visualisiert werden.

mesh

Zukünftige Pläne

Wir wollen dieses Projekt weiterentwickeln und verbessern. Das Hauptgewicht erhält hierbei das Einfügen der Mechanismen der Nachbearbeitung und das Editieren der Maschen in Horus.

Uns interessiert die Meinung der Gemeinschaft. Deshalb sind wir offen für Vorschläge und Verbesserung über unsere Gruppe oder GitHub.

Wir animieren euch, Teil von unserem Projekt zu werden!

Veröffentlichungen

In den nächsten Wochen werden wir detailliert alle Entwicklungen, Unterlagen und Handbücher im Zusammenhang mit diesem Projekt unter der Lizenz Creative Commons BY-SA und GPL v2 veröffentlichen.

Seid ihr bereit?

Verweise

  1. Betriebssystem GNU/Linux
  2. Programmiersprache Python
  3. RepRap Gemeinschaft
  4. Arduino Gemeinschaft
  5. FabScan Projekt
  6. MakerScanner Projekt
  7. Sicherheitszertifikat Klasse 1 IEC60825-1:2014
  8. Steuerplatine ZUM BT-328
  9. Leistungsschild Arduino CNC Shield
  10. Steuerungssoftware CNC GRBL
  11. Firmware Marlin
  12. Grafik-Bibliothek wxPython
  13. Bibliothek zur Matrizenrechnung NumPy
  14. Bibliothek für wissenschaftliche Berechnungen SciPy
  15. Bibliothek zur Grafikerstellung Matplotlib
  16. Bibliothek für 3D-Grafiken OpenGL
  17. Bibliothek für Bildverarbeitung OpenCV
  18. Betriebssystem UbuntuUbuntu GNOME,  Kubuntu
  19. Meshing-Format PLY
  20. Dreidimensionaler Editor Blender
  21. Fortgeschrittener Meshing-Prozessor MeshLab
  22. Dreiecksnetz im Format STL
  23. 3D-Druck Assistent Cura

Ein Gedanke

  1. Ich weiss nicht, ob ich noch nützlich sein kann. Bin Physiko-Chemiker (früher Humboldt-Uni Berlin) und inzwischen Rentner. Habe beginnend bei 8-bit-Maschinen (Z80) früher viel programmiert (inc. Assembler). Habe mir jetzt einen Ciclop zusammengebaut ( 5 h gebraucht !) und bin begeistert.
    Was meine Freude stark in Grenzen hält ist die Nachbearbeitung der Meshes , da das hier verwendete PLY-Format gegenüber dem ‘normalen’ offensichtlich stark abgespeckt ist (keine ‘faces’ ?) und viele Konvertierungs-Programme dieses Format nicht lesen (können ?). Ich wollte scannen und nicht Schwerstarbeit bei der Bildbearbeitung leisten, also ich will kein ‘Künstler’ werden. Ich sehe in der Lösung dieses Problems einen Schwerpunkt für die weitere Entwicklung. Wenn es für mich trotzdem Aufgaben gibt ,mache ich mit.
    mfg dkersten

Die Kommentarfunktion ist geschlossen.