3D-Scanner

Eine Projektarbeit von Felix Widmaier & Benjamin Reetz, TGI-J1, Schuljahr 2018-19.

 

Motivation

Ein Roboter verfügt im Einsatz zumeist nicht direkt über eine Karte der Umgebung, ein Kapitän eines Schiffes muss stets den Überblick über das Gewässer, in welchem er fährt, wahren und ein autonomes Auto muss stets die Umgebung analysieren können um mögliche Gefahren im Straßenverkehr zu vermeiden. Deshalb ist es nötig, dass zu jeder Zeit eine Karte der aktuellen Umgebung erstellt werden kann, mit möglichst wenig Energie und in kürzest möglicher Zeit. Schließlich kann sich die Situation zu jedem Zeitpunkt ändern. Hierfür existieren bereits Sy- steme, welche die Entfernung gleichmäßig gewählter Punkte im Raum der Reichweite messen, durch diese Werte ein Bild der Umgebung errechnen und dieses häufig sogar grafisch darstellen können. Sie basieren meist auf Ultraschall oder auf Lasertechnologie und sind klein, mobil und damit universell einsetzbar, ob für automatisierte Navigation, Überprüfung der Gegebenheiten oder der Suche von Menschen, Tieren und Gegenständen. Dieses Projekt dient der Entwicklung eines solchen Scanners, welcher mittels eines LIDAR (Light detection and ranging) - Sensors einen Raum abtastet und im Anschluss die gemessenen Entfernungen der einzelnen Punkte durch einer Software grafisch darstellen und somit ein Bild der gescannten Umgebung erschaffen kann.

Auftrag

Ziel des Projektes ist, ein Gerät zu entwickeln, mit welchem ein Raum eines Gebäudes ge- scannt werden kann. Dabei sollen die gescannten Punkte mithilfe eines weiteren Programmes dargestellt werden.

Hardware

Schematischer Aufbau des Systems

Die Schrittmotoren müssen so bewegt werden, dass der Tfmini den Raum abtasten kann. Weiterhin müssen die Messwerte und die jeweiligen Winkel, welche von den Motoren angefahren wurden zum PC übertragen werden.

Ein Arduino Uno steuert die beiden Schrittmotoren und liest die Messwerte des LIDARs aus. Der PC erhält über die serielle Leitung den folgenden Strting: λ;α1;α2”
Wobei λ für die gemessene Distanz steht. α1 und α2 stehen jeweils für die Winkel, die von den Schrittmotoren angefahren wurden.

Im Projekt soll der LIDAR „Tfmini“ von Benewake verwendet werden.

Software

Systemarchitektur

Das Programm läuft über Processing in einer Java Runtime, welche sich auf einem Rechner innerhalb eines Betriebssystem befindet.

Die Software ist in drei Bereiche unterteilt:

  1. Daten
  2. Steuerungslogik
  3. grafische Oberfläche (GUI)

Daten werden entweder einer auf der Festplatte gespeicherten Datei entnommen oder direkt über die angeschlossene Hardware übermittelt.
Dem Benutzer ist es möglich, mithilfe der Maus Einstellungen zu verändern oder Vorgänge zu starten beziehungsweise zu beenden.