Airsoft Pellet Bitmaps (build blog): Unterschied zwischen den Versionen

Aus Hackerspace Ffm
Wechseln zu: Navigation, Suche
(Artefakte)
(Artefakte)
Zeile 30: Zeile 30:
 
=== Farbsensor von Watterott ===
 
=== Farbsensor von Watterott ===
 
[http://www.watterott.com/de/ColorSense-Module Farbsensor Module - ColorSense Module] - Tests stehen aus
 
[http://www.watterott.com/de/ColorSense-Module Farbsensor Module - ColorSense Module] - Tests stehen aus
 +
 +
 +
== Sortierung ==
 +
Testaufbau: Die Sortierung erfolgt mit Hilfe von zwei Kreisscheiben, die von Servomotoren bewegt werden. In beiden Scheiben ist ein 7 mm Loch für ein Pellet. Sind beide Löcher an der gleichen Position, wird das Pellet ausgeworfen. Sind die Löcher nicht deckungsgleich, kann das Pellet durch synchrone Bewegung der Servos an eine Position bewegt werden.
 +
 +
Im aktuellen Setup ist damit steuerbar:
 +
* Holen eines Pellets aus einen zuführenden Röhrchen
 +
* Erfassung der Farbe mit einem [[Airsoft_Pellet_Bitmaps_(build_blog)#Farbsensor_Eigenbau|Farbsensor]]
 +
* Auswurf des Pellets in eines von sechs Fächern
 +
 +
<gallery perrow="5">
 +
Datei:120 Setup 4 IMAG1576.jpg|Test-Rack
 +
Datei:120_Setup_4_IMAG1579.jpg|Servos und Scheiben
 +
Datei:221 Pellet Trigger IMAG1655.jpg|Zuführung und Farbsensor
 +
Datei:230 Pellet Separator Test IMAG1668.jpg|Zuschnitt von Winkeln für Separatorfächer
 +
Datei:230 Pellet Separator Test IMAG1670.jpg|Separatorfächer
 +
Datei:230 Pellet Separator Test IMAG1671.jpg|Separatorfächer
 +
Datei:230 Pellet Separator Test IMAG1672.jpg|Sortierung Tests
 +
</gallery>
  
 
=== Farberkennung per Software ===
 
=== Farberkennung per Software ===
Zeile 42: Zeile 61:
 
Datei:Color quantifier test 3D diagram.PNG|Visualisierung von Farbmesswerten in OpenSCAD
 
Datei:Color quantifier test 3D diagram.PNG|Visualisierung von Farbmesswerten in OpenSCAD
 
</gallery>
 
</gallery>
 +
  
 
== Software Repository ==
 
== Software Repository ==

Version vom 18. April 2014, 18:22 Uhr

Das Projekt

Ziel des Projekts ist die Erzeugung von physischen Bitmap-Bildern mit Airsoft pellets.

Die Pellets kommen in verschiedenen Farben und sollen entsprechend der Bildvorlage in einen vertikalen Bilderrahmen einsortiert werden.

Artefakte

Das Projekt entsteht aus einer Reihe von Hard- und Software-Artefakten, die später zu den individuellen Maschinen zusammengeführt werden:

  • Hardware
    • Aufbewahrung der Pellets
    • Transport der Pellets
    • Farberkennung, Sortierung und Verteilung der Pellets
    • Positionierung der Pellets und Aufbau als vertikales Bild
  • Software

Farberkennung

Die Farbe eines Pellets soll schnell und eindeutig erkannt werden.

Farbsensor Eigenbau

Der Sensor besteht aus einer 5 mm RGB LED und einem Fototransistor mit Verstärkerschaltung. LED und Transistor sind in einem Winkel von 45° angeordnet, der sich bei Tests als günstig erwiesen hat und wenig störende Reflektionen und Umgebungslicht einfängt.


Farbsensor von Watterott

Farbsensor Module - ColorSense Module - Tests stehen aus


Sortierung

Testaufbau: Die Sortierung erfolgt mit Hilfe von zwei Kreisscheiben, die von Servomotoren bewegt werden. In beiden Scheiben ist ein 7 mm Loch für ein Pellet. Sind beide Löcher an der gleichen Position, wird das Pellet ausgeworfen. Sind die Löcher nicht deckungsgleich, kann das Pellet durch synchrone Bewegung der Servos an eine Position bewegt werden.

Im aktuellen Setup ist damit steuerbar:

  • Holen eines Pellets aus einen zuführenden Röhrchen
  • Erfassung der Farbe mit einem Farbsensor
  • Auswurf des Pellets in eines von sechs Fächern

Farberkennung per Software

Die eigentliche Erkennung der Farbe erfolgt analog zur Farberkennung in der Wikipedia per Quantifizierung. Die drei Messwerte für rot, grün und blau werden dabei als dreidimensionale Koordinaten X, Y und Z im RGB-Raum interpretiert. Es wird eine Reihe von Messwerten aufgenommen und nach dem Muster "wenn dominante Farbe rot dann klassifiziere Pellet rot" verarbeitet.

Der Mittelwert aller Messwerte zu einer erkannten Farbe ergibt einen Markerpunkt. Spätere Messwerte ermitteln mit Hilfe der Euklidischen Distanz den nächstgelegenen Markerpunkt und ordnen damit das Pellet einer Farbe zu.

Zur Visualisierung der Messwerte in RGB-Raum wird aus Processing eine Datei im OpenSCAD Format erzeugt: Datei:3D diagram example colors.scad (für Wiedergabe der Farbe nur Preview Rendering / 'F5')


Software Repository

pellet_patter software on github    Software auf github

unter anderem mit Processing Code zur Umwandlung von Bitmap-Bildern in den Farbraum der Pellets: