Winkerrätsel - Entschlüsselung der Signalcodes: Unterschied zwischen den Versionen

Aus HSHL Mechatronik
Zur Navigation springen Zur Suche springen
Keine Bearbeitungszusammenfassung
(ADD: Anforderungen)
Zeile 4: Zeile 4:
'''Autor:''' [[Benutzer:Benedikt_Lipinski| Benedikt Lipinski]] und [[Benutzer:Weiran_Wang| Weiran Wang]]
'''Autor:''' [[Benutzer:Benedikt_Lipinski| Benedikt Lipinski]] und [[Benutzer:Weiran_Wang| Weiran Wang]]


[[Datei:SemaphoreAttention.png|mini|alternativtext=Strichfigürchen mit einer Kommunikationsaufforderung durch Flaggensignal|-]]
[[Datei:SemaphoreAttention.png|mini|alternativtext=Strichfigürchen mit einer Kommunikationsaufforderung durch Flaggensignal|"Attention", darf ich um Ihre Aufmerksamkeit bitten - Mit dieser Flaggen bewegung wird in der Flaggen Semaphore eine Verbindung aufgebaut. {{Anker|AttentionMessage}}]]
=Einleitung=
=Einleitung=
Unter Flaggenwinken versteht man in der Nautik nicht das wilde Gestikulieren mit einer Fahne, sondern vielmehr ein komplexes System rein optischer Kommunikation. Während sich an Land schon früh die Kommunikation mittels optischer Telegrafie durchsetzte<ref name"ClaudeChappe">SELLERI, Stefano, 2017. Claude Chappe and the first telecommunication network (without electricity). URSI Radio Science Bulletin [online]. März 2017. Bd. 2017, Nr. 360, S. 96–101. [Zugriff am: 1 Oktober 2024]. DOI 10.23919/URSIRSB.2017.8113174. Verfügbar unter: https://ieeexplore.ieee.org/document/8113174/?arnumber=8113174
Unter Flaggenwinken versteht man in der Nautik nicht das wilde Gestikulieren mit einer Fahne, sondern vielmehr ein komplexes System rein optischer Kommunikation. Während sich an Land schon früh die Kommunikation mittels optischer Telegrafie durchsetzte<ref name"ClaudeChappe">SELLERI, Stefano, 2017. Claude Chappe and the first telecommunication network (without electricity). URSI Radio Science Bulletin [online]. März 2017. Bd. 2017, Nr. 360, S. 96–101. [Zugriff am: 1 Oktober 2024]. DOI 10.23919/URSIRSB.2017.8113174. Verfügbar unter: https://ieeexplore.ieee.org/document/8113174/?arnumber=8113174
Zeile 12: Zeile 12:
==Flaggen Semaphore==
==Flaggen Semaphore==
{{#ev:youtube|https://www.youtube.com/watch?v=LFWQ6usrSCM| 450 |right|Video 1:|frame}}
{{#ev:youtube|https://www.youtube.com/watch?v=LFWQ6usrSCM| 450 |right|Video 1:|frame}}
Eine Kommunikation über Flaggen  ist, anders als man auf den ersten Blick vermuten könnte, gar nicht so weit von der Kommunikation entfernt, die uns Studierenden der 2020er Jahren in den Informatikmodulen gelehrt wird<ref name"InformatikCodierung">Codierung von Texten - Fakultät für Elektrotechnik, Informatik und Mathematik - Fakultäten - Kategorien - Videoportal der Uni Paderborn, [kein Datum]. [online]. [Zugriff am: 1 Oktober 2024]. Verfügbar unter: https://videos.uni-paderborn.de/category/video/codierung-von-texten/3a9cfca393633045f308a88c20e8ad82/7</ref>. Denn die für Menschen lesbare Codierung einzelner Flaggenpositionen ist nichts anderes als die Codierung von Zeichen in eine Bitfolge, nur dass sich an  dieser Stelle die Codierung der Nachricht und das Transportprotokoll unterscheiden<ref name"NMMC">Education Codes and Communication, [kein Datum]. National Museum of the Marine Corps [online]. [Zugriff am: 1 Oktober 2024]. Verfügbar unter: https://www.usmcmuseum.com/uploads/6/0/3/6/60364049/nmmc_semaphore_flag_booklet_final_1.pdf</ref>.  
Eine Kommunikation über Flaggen  ist, anders als man auf den ersten Blick vermuten könnte, gar nicht so weit von der Kommunikation entfernt, die uns Studierenden der 2020er Jahren in den Informatikmodulen gelehrt wird<ref name"InformatikCodierung">Codierung von Texten - Fakultät für Elektrotechnik, Informatik und Mathematik - Fakultäten - Kategorien - Videoportal der Uni Paderborn, [kein Datum]. [online]. [Zugriff am: 1 Oktober 2024]. Verfügbar unter: https://videos.uni-paderborn.de/category/video/codierung-von-texten/3a9cfca393633045f308a88c20e8ad82/7</ref>. Denn die in dem video zusehende und für Menschen lesbare Codierung einzelner Flaggenpositionen ist nichts anderes als die Codierung von Zeichen in eine Bitfolge, nur dass sich an  dieser Stelle die Codierung der Nachricht und das Transportprotokoll unterscheiden<ref name"NMMC">Education Codes and Communication, [kein Datum]. National Museum of the Marine Corps [online]. [Zugriff am: 1 Oktober 2024]. Verfügbar unter: https://www.usmcmuseum.com/uploads/6/0/3/6/60364049/nmmc_semaphore_flag_booklet_final_1.pdf</ref>.  
Die Kommunikation mit den Flaggen beginnt mit der Aufforderung zum Verbindungsaufbau (Attention).
Die Kommunikation mit den Flaggen beginnt mit der Aufforderung zum Verbindungsaufbau (Attention [[#Anker:AttentionMessage]]).
{| class="wikitable"
{| class="wikitable"
|+ style = "text-align: left"|Tabelle 2: Semaphore Alphabet
|+ style = "text-align: left"|Tabelle 1: Semaphore Alphabet
|-
|-
! #   
! #   
Zeile 58: Zeile 58:
Auch in der Mathematiksoftware Matlab gibt es bereits Beispiele für Vorstufen einer Armpositionserkennung<ref name"DeepLearningToolBox">Estimate Body Pose Using Deep Learning - MATLAB & Simulink - MathWorks Deutschland, [kein Datum]. [online]. [Zugriff am: 2 Oktober 2024]. Verfügbar unter: https://de.mathworks.com/help/deeplearning/ug/estimate-body-pose-using-deep-learning.html</ref> In beiden Fällen führt der Weg zur Buchstabenerkennung über den Schritt einer Schätzung der Körperhaltung. Konkret ist in diesem Fall die Ermittlung mittels Deep Learning Algorithmen gemeint.  
Auch in der Mathematiksoftware Matlab gibt es bereits Beispiele für Vorstufen einer Armpositionserkennung<ref name"DeepLearningToolBox">Estimate Body Pose Using Deep Learning - MATLAB & Simulink - MathWorks Deutschland, [kein Datum]. [online]. [Zugriff am: 2 Oktober 2024]. Verfügbar unter: https://de.mathworks.com/help/deeplearning/ug/estimate-body-pose-using-deep-learning.html</ref> In beiden Fällen führt der Weg zur Buchstabenerkennung über den Schritt einer Schätzung der Körperhaltung. Konkret ist in diesem Fall die Ermittlung mittels Deep Learning Algorithmen gemeint.  
=Anforderungen=
=Anforderungen=
{| class="wikitable"
|+ style = "text-align: left"|Tabelle 2: Anforderungen an das Winkerrätsel
|-
! ID  !! Inhalt !! Erstellt von:!! Erstellt am:!! Geprüft von: !! Geprüft am:
|-
! 1 !!System Anforderungen
|-
| 1.1  || Das System muss eine Person durch bildbasierte Verfahren identifizieren.  || Benedikt Lipinski || 10.10.2024  ||  ||  ||
|-
| 1.2  || Das System muss die Armhaltung erkennen. || Benedikt Lipinski  ||  10.10.2024  ||  ||  ||
|-
| 1.3  || Das System muss die Position der Arme in Winkel umwandeln.  ||  Benedikt Lipinski  || 10.10.2024  ||  ||  ||
|-
| 1.4  || Das System muss die Winkel in Buchstaben einteilen.||Benedikt Lipinski  ||  10.10.2024  ||  ||  ||
|-
| 1.5  || Das System muss eine Rückmeldung über den eingegebenen Buchstaben geben.  || Benedikt Lipinski  || 10.10.2024  ||  ||  ||
|-
| 1.6  || Das System muss eine Rückmeldung über die richtige Eingabe signalisieren, wenn der Buchstabe richtig angezeigt wird.  || Benedikt Lipinski  ||  10.10.2024  ||  ||  ||
|-
| 1.7  ||Das System muss bei korrekter Eingabe eine korrekte Stelle des Lösungswortes ausgeben. || Benedikt Lipinski  || 10.10.2024  ||  ||  ||
|-
| 1.8  ||Zur Erkennung der menschlichen Körperhaltung ist die Open-CV-Bibliothek zu verwenden.  || Benedikt Lipinski  || 10.10.2024  ||  ||  ||
|-
| 1.9  ||Die verwendete Kamera muss eine Auflösung haben, bei der eine Person vollständig in das Bild passt.  || Benedikt Lipinski  || 10.10.2024  ||  ||  ||
|-
| 1.10  ||Das Spiel soll per Knopfdruck oder über eine angeschlossene Tastatur gestartet werden.  || Benedikt Lipinski  || 10.10.2024  ||  ||  ||
|-
| 1.11  ||Der Schwierigkeitsgrad muss über eine Taste oder eine angeschlossene Tastatur einstellbar sein.  || Benedikt Lipinski  || 10.10.2024  ||  ||  ||
|-
| 1.12  ||Im Profi-Spielmodus sollen nicht nur Buchstaben, sondern auch kurze Wörter oder Zahlen eingegeben werden. || Benedikt Lipinski  ||  10.10.2024  ||  ||  ||
|-
| 1.13  ||Im Profi-Spielmodus soll die bisherige Eingabe auf dem Bildschirm angezeigt werden.  || Benedikt Lipinski  || 10.10.2024  ||  ||  ||
|-
| 1.14  ||Im Spielmodus Profi muss das Löschen der letzten Ziffer durch ein Flaggensignal möglich sein.  || Benedikt Lipinski  || 10.10.2024  ||  ||  ||
|-
| 1.15  ||Das System soll nach Möglichkeit in Matlab realisiert werden; sollten gute Gründe gegen die Verwendung von Matlab sprechen, wird alternativ die Sprache Python verwendet.  || Benedikt Lipinski  || 10.10.2024  ||  ||  ||
|-
! 2 !!Oganisatorische Anforderungen
|-
| 2.1  ||Das Rätsel soll nach Erklärung innerhalb von 5 Minuten lösbar sein.|| Benedikt Lipinski  ||  10.10.2024  ||  ||  ||
|-
| 2.2  ||Das Puzzle soll verschiedene Schwierigkeitsgrade haben. || Benedikt Lipinski  || 10.10.2024  ||  ||  ||
|-
| 2.3  ||Das Material zum Verständnis des Puzzles sollte in nicht-elektrischer Hardware vorhanden sein. || Benedikt Lipinski  || 10.10.2024  ||  ||  ||
|-
| 2.4  ||Das System muss zur Aufbewahrung und zum Transport in einen Schuhkarton passen.  || Benedikt Lipinski  || 10.10.2024  ||  ||  ||


|}
= Funktionaler Systementwurf/Technischer Systementwurf =
= Funktionaler Systementwurf/Technischer Systementwurf =


Zeile 66: Zeile 113:
== Material und Stückliste ==
== Material und Stückliste ==
{| class="wikitable"
{| class="wikitable"
|+ style = "text-align: left"|Tabelle 2: Semaphore Alphabet
|+ style = "text-align: left"|Tabelle 3: Materialliste
|-
|-
! #  !! Anzahl !! Material
! #  !! Anzahl !! Material
|-
|-
| 1.|| 1 ||Paar Signalflaggen ||
| 1.|| 1 ||Paar Signalflaggen ||
|-
|-
Zeile 104: Zeile 150:


= Quellen =
= Quellen =
---
→ zurück zur Übersicht: [[:Kategorie:ProjekteET_MTR_BSE_WS2024|WS 24/25: Escape Game]]
→ zurück zur Übersicht: [[:Kategorie:ProjekteET_MTR_BSE_WS2024|WS 24/25: Escape Game]]

Version vom 10. Oktober 2024, 09:27 Uhr

Autor: Benedikt Lipinski und Weiran Wang

Strichfigürchen mit einer Kommunikationsaufforderung durch Flaggensignal
"Attention", darf ich um Ihre Aufmerksamkeit bitten - Mit dieser Flaggen bewegung wird in der Flaggen Semaphore eine Verbindung aufgebaut. Vorlage:Anker

Einleitung

Unter Flaggenwinken versteht man in der Nautik nicht das wilde Gestikulieren mit einer Fahne, sondern vielmehr ein komplexes System rein optischer Kommunikation. Während sich an Land schon früh die Kommunikation mittels optischer Telegrafie durchsetzte[1], wurde auch in der Schifffahrt die Kommunikation mittels Flaggenzeichen, den so genannten Semaphoren, immer populärer. Heute wird aufgrund der leistungsfähigen Funktechnik in der Regel nicht mehr mit Flaggen kommuniziert. Dennoch soll die Kommunikation via flaggen auch im Zeitalter der Elektronischen kommunikation zum Einsatz kommen, z.B. von der US Navy bei der Betankung von Schiff zu Schiff.[2]
Der Spieler soll nun selbst die Rolle eines Kommunikationspartners übernehmen und seinem Gegenüber (dem Spiel) eine geheime und verschlüsselte Nachricht zukommen lassen.

Theoretische Grundlagen

Flaggen Semaphore

Video 1:

Eine Kommunikation über Flaggen ist, anders als man auf den ersten Blick vermuten könnte, gar nicht so weit von der Kommunikation entfernt, die uns Studierenden der 2020er Jahren in den Informatikmodulen gelehrt wird[3]. Denn die in dem video zusehende und für Menschen lesbare Codierung einzelner Flaggenpositionen ist nichts anderes als die Codierung von Zeichen in eine Bitfolge, nur dass sich an dieser Stelle die Codierung der Nachricht und das Transportprotokoll unterscheiden[4]. Die Kommunikation mit den Flaggen beginnt mit der Aufforderung zum Verbindungsaufbau (Attention #Anker:AttentionMessage).

Tabelle 1: Semaphore Alphabet
#
1 A Buchstabe A im Semaphorealphabet 2 B Buchstabe B im Semaphorealphabet 3 C Buchstabe C im Semaphorealphabet 4 D

Buchstabe D im Semaphorealphabet

5 E Buchstabe E im Semaphorealphabet 6 F Buchstabe F im Semaphorealphabet 7 G Buchstabe G im Semaphorealphabet 8 H Buchstabe H im Semaphorealphabet
9 I Buchstabe I im Semaphorealphabet 10 J Buchstabe J im Semaphorealphabet 11 K Buchstabe K im Semaphorealphabet 12 L Buchstabe L im Semaphorealphabet
13 M Buchstabe M im Semaphorealphabet 14 N Buchstabe N im Semaphorealphabet 15 O Buchstabe O im Semaphorealphabet 16 P Buchstabe P im Semaphorealphabet
17 Q Buchstabe Q im Semaphorealphabet 18 R Buchstabe R im Semaphorealphabet 19 S Buchstabe S im Semaphorealphabet 20 T Buchstabe T im Semaphorealphabet
21 U Buchstabe U im Semaphorealphabet 22 V Buchstabe V im Semaphorealphabet 23 W Buchstabe W im Semaphorealphabet 24 X Buchstabe X im Semaphorealphabet
25 Y Buchstabe Y im Semaphorealphabet 26 Z Buchstabe Z im Semaphorealphabet

Bestehende Arbeiten

Die Eingabe von Flaggensignalen in ein Computersystem ist nicht nur als Rätsel für ein Escape-Game interessant, sondern auch in anderen Projekten ein nicht zu vernachlässigender Faktor. Beispielsweise kann die Abbildung des Flaggenalphabets auf die Arme eines Benutzers dazu verwendet werden, Tastenanschläge auf der Tastatur zu simulieren. Ein Beispiel dafür ist das GitHub-Projekt des Entwicklers everythingishacked, der eine vollständige Tastatursimulation mit Hilfe von Handsemaphoren in Python umgesetzt hat[5]. Auch in der Mathematiksoftware Matlab gibt es bereits Beispiele für Vorstufen einer Armpositionserkennung[6] In beiden Fällen führt der Weg zur Buchstabenerkennung über den Schritt einer Schätzung der Körperhaltung. Konkret ist in diesem Fall die Ermittlung mittels Deep Learning Algorithmen gemeint.

Anforderungen

Tabelle 2: Anforderungen an das Winkerrätsel
ID Inhalt Erstellt von: Erstellt am: Geprüft von: Geprüft am:
1 System Anforderungen
1.1 Das System muss eine Person durch bildbasierte Verfahren identifizieren. Benedikt Lipinski 10.10.2024
1.2 Das System muss die Armhaltung erkennen. Benedikt Lipinski 10.10.2024
1.3 Das System muss die Position der Arme in Winkel umwandeln. Benedikt Lipinski 10.10.2024
1.4 Das System muss die Winkel in Buchstaben einteilen. Benedikt Lipinski 10.10.2024
1.5 Das System muss eine Rückmeldung über den eingegebenen Buchstaben geben. Benedikt Lipinski 10.10.2024
1.6 Das System muss eine Rückmeldung über die richtige Eingabe signalisieren, wenn der Buchstabe richtig angezeigt wird. Benedikt Lipinski 10.10.2024
1.7 Das System muss bei korrekter Eingabe eine korrekte Stelle des Lösungswortes ausgeben. Benedikt Lipinski 10.10.2024
1.8 Zur Erkennung der menschlichen Körperhaltung ist die Open-CV-Bibliothek zu verwenden. Benedikt Lipinski 10.10.2024
1.9 Die verwendete Kamera muss eine Auflösung haben, bei der eine Person vollständig in das Bild passt. Benedikt Lipinski 10.10.2024
1.10 Das Spiel soll per Knopfdruck oder über eine angeschlossene Tastatur gestartet werden. Benedikt Lipinski 10.10.2024
1.11 Der Schwierigkeitsgrad muss über eine Taste oder eine angeschlossene Tastatur einstellbar sein. Benedikt Lipinski 10.10.2024
1.12 Im Profi-Spielmodus sollen nicht nur Buchstaben, sondern auch kurze Wörter oder Zahlen eingegeben werden. Benedikt Lipinski 10.10.2024
1.13 Im Profi-Spielmodus soll die bisherige Eingabe auf dem Bildschirm angezeigt werden. Benedikt Lipinski 10.10.2024
1.14 Im Spielmodus Profi muss das Löschen der letzten Ziffer durch ein Flaggensignal möglich sein. Benedikt Lipinski 10.10.2024
1.15 Das System soll nach Möglichkeit in Matlab realisiert werden; sollten gute Gründe gegen die Verwendung von Matlab sprechen, wird alternativ die Sprache Python verwendet. Benedikt Lipinski 10.10.2024
2 Oganisatorische Anforderungen
2.1 Das Rätsel soll nach Erklärung innerhalb von 5 Minuten lösbar sein. Benedikt Lipinski 10.10.2024
2.2 Das Puzzle soll verschiedene Schwierigkeitsgrade haben. Benedikt Lipinski 10.10.2024
2.3 Das Material zum Verständnis des Puzzles sollte in nicht-elektrischer Hardware vorhanden sein. Benedikt Lipinski 10.10.2024
2.4 Das System muss zur Aufbewahrung und zum Transport in einen Schuhkarton passen. Benedikt Lipinski 10.10.2024

Funktionaler Systementwurf/Technischer Systementwurf

Funktionaler Systementwurf

Technischer Systementwurf

Material und Stückliste

Komponentenspezifikation

Ansatz

Umsetzung (HW/SW)

Komponententest

Ergebnis

Fehler

Zusammenfassung

Lessons Learned

Projektunterlagen

Projektplan

Projektdurchführung

YouTube Video

Quellen

---

→ zurück zur Übersicht: WS 24/25: Escape Game

Tabelle 3: Materialliste
# Anzahl Material
1. 1 Paar Signalflaggen
2. 1 -2 Map mit Flaggensignalen
3. 1 Webcam
4. 1 Raspberry Pi
5. 1 Display für Raspberry Pi
6. 1 Tastatur oder Knopf Zur Steuerung
  1. SELLERI, Stefano, 2017. Claude Chappe and the first telecommunication network (without electricity). URSI Radio Science Bulletin [online]. März 2017. Bd. 2017, Nr. 360, S. 96–101. [Zugriff am: 1 Oktober 2024]. DOI 10.23919/URSIRSB.2017.8113174. Verfügbar unter: https://ieeexplore.ieee.org/document/8113174/?arnumber=8113174
  2. Navy Seaman Ryan Ruona uses semaphore flags to signal another ship., [kein Datum]. [online]. [Zugriff am: 1 Oktober 2024]. Verfügbar unter: https://www.defense.gov/Multimedia/Photos/igphoto/2001244016/
  3. Codierung von Texten - Fakultät für Elektrotechnik, Informatik und Mathematik - Fakultäten - Kategorien - Videoportal der Uni Paderborn, [kein Datum]. [online]. [Zugriff am: 1 Oktober 2024]. Verfügbar unter: https://videos.uni-paderborn.de/category/video/codierung-von-texten/3a9cfca393633045f308a88c20e8ad82/7
  4. Education Codes and Communication, [kein Datum]. National Museum of the Marine Corps [online]. [Zugriff am: 1 Oktober 2024]. Verfügbar unter: https://www.usmcmuseum.com/uploads/6/0/3/6/60364049/nmmc_semaphore_flag_booklet_final_1.pdf
  5. EVERYTHINGISHACKED, [kein Datum]. Semaphore [online]. Verfügbar unter: https://github.com/everythingishacked/Semaphore
  6. Estimate Body Pose Using Deep Learning - MATLAB & Simulink - MathWorks Deutschland, [kein Datum]. [online]. [Zugriff am: 2 Oktober 2024]. Verfügbar unter: https://de.mathworks.com/help/deeplearning/ug/estimate-body-pose-using-deep-learning.html