Pool-Billard Assistenz: Unterschied zwischen den Versionen

Aus HSHL Mechatronik
Zur Navigation springen Zur Suche springen
Zeile 59: Zeile 59:
Je nach Verwendung wird der Vektor normalisiert, hierbei wird der Vektor durch eigene Länge geteilt.
Je nach Verwendung wird der Vektor normalisiert, hierbei wird der Vektor durch eigene Länge geteilt.
Länge eines Vektors errechnet man durch einen Wurzel von Summe aller Vektorkomponenten in Quadrat.
Länge eines Vektors errechnet man durch einen Wurzel von Summe aller Vektorkomponenten in Quadrat.
[[Datei:Schlagrichtung.jpg|320px|thumb|right|Schlagrichtung]]
[[Datei:Schlagrichtung.jpg|320px|thumb|left|Schlagrichtung]]
<br />
<br />
<br /><br />
<br /><br />

Version vom 7. Juni 2016, 10:32 Uhr


Autoren: Christo Tsibadze, Kevin Penner
Betreuer: Prof. Schneider

Aufgabenstellung

Realisierung einer Billard-Assistenz-Software, mit Hilfe von Matlab und dessen Bildverarbeitungs-Tools: Es soll ein "Billard-Assistenz-Software" entwickelt werden, die aus einem Video (oder Live-Cam) Billard Kugel- und Queue -Positionen erkennt und mit einer Algorithmus die Abprallrichtung einer Zielkugel "vorhersagt" (berechnet). Vor dem Schlag soll anhand der Queue- und Kugel-Positionen erkannt werden in welcher Richtung die weiße Kugel geschlagen wird und falls die weiße Kugel einen anderen Kugel trifft, dann in welcher Richtung diese abprallen wird. Die berechnete Richtungen sollen auf dem Video eingeblendet werden. Für die Bildverarbeitung sowie Programmierung wurde MATLAB R2016a verwendet. Eine CAD-Software wurde während der Entwicklung des Algorithmus zur Prüfung der Ergebnisse eingesetzt.


Erwartungen an die Projektlösung

  • Sammeln von weiteren Erfahrungen in Bildverarbeitung mit MATLAB
  • Umsetzung der in die Vorlesung gewonnenen Kenntnisse in die Praxis
  • Tieferer Einblick in die geometrische Physik
  • Sammeln von Erkenntnissen durch Problemstellungen
  • Erstellung eines spektakulären Videos, welches die Software demonstriert

Plannung

Projektplan

Die Gesamtaufgabe wurde wie folgt aufgeteilt:


  • Kevin Penner:
    • Automatische Erkennung von Queue- und Kugelpositionen in einer Videoquelle
    • sowie Unterscheidung der Kugeln, weiße- oder Zielkugel


  • Christo Tsibadze:
    • Ein Algorithmus programmieren, der die Schlagrichtung der weißen Kugel berechnet
    • Erkennung ob die weiße Kugel nach dem Schlag einen anderen Kugel trifft oder nicht
    • Falls die weiße Kugel eine andere Kugel trifft, Berechnung in welcher Richtung die andere Kugel abprallt.


Die Aufgabe ist freiwillig. Zeitlich wurde für das Projekt im 6. Semester je ca. 3 Stunden pro Woche investiert. Zur Ideenfindung oder Besprechung der Problemlösungsstrategien wurde regelmäßiges Wochen-Meeting gehalten.

Erkennung von Queue- und Kugelpositionen

Erkennung bzw. Ortung der weißen Kugel

blabla bla bla bla Kevinski

Queuepositionserkennung

blabla bla bla bla Kevinski

Erkennung der Positionen der restlichen Kugeln

blabla bla bla bla Kevinski

Algorithmus für Berechnungen

Schlagrichtung weiße Kugel

Da zwei Positionen bekannt sind ( Queue-X, Queue-Y und Weiß-X, Weiß-Y) ist es leicht die Schlagrichtung zu ermitteln. Einen Vektor aus zwei gegebenen Punkten wird durch Differenzen der X- und Y-Komponenten bebildet. Je nach Verwendung wird der Vektor normalisiert, hierbei wird der Vektor durch eigene Länge geteilt. Länge eines Vektors errechnet man durch einen Wurzel von Summe aller Vektorkomponenten in Quadrat.

Schlagrichtung


















Treffer oder kein Treffer

blabla bla bla bla Christo

Falls Treffer: Abprallrichtung Ansatz 1

blabla bla bla bla Christo

Falls Treffer: Abprallrichtung Ansatz 2

blabla bla bla bla Christo


Dokumentation

Video


Hier wird ein Link zum Youtube bereitstehen wenn das Video fertig ist.


Fazit

Die von uns angestrebte Ziele wurden erreicht!

  • ... hat sehr viel Spaß gemacht.
  • ...Die kreative Idee
  • Eigenkritik: BLALALALLLALALBLALALABLABLABLA
  • Mit mehr zeitlichen Ressource wären in diesem Projekt weitere Ziele denkbar:
    • Eingelocht oder nicht
    • Kugelabprall an den Banden
    • Berechnung ob die getroffene Kugel weiteren Kugeln trifft und ob diese nochmals weitere Kugeln treffen und dessen Richtungen visualisieren.
    • ...


Ende gut, alles gut :)




→ zurück zum Hauptartikel: DSB SoSe2016