PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Anfänger sucht Lösungsvorschläge



Neugierig01
26.10.2017, 13:25
Hallo liebe Forumgemeinde,
ich habe folgende Idee, die ich gerne umsetzen möchte: Ein Tischkicker, der die Bewegungen des Balls erkennt und diese auswertet. Dieses erfolgt aus meiner Sicht am besten anhand von Sensoren im Ball und in den Füssen der Spielfiguren bzw. dem Tor. Sobald eine Berührung erfolgt, wertet der Computer die Bewegungen des Balls aus. Somit können die Spielzüge und der Spielverlauf nachvollzogen werden.

Ziel ist es, dass das System irgendwann dann den Spielverlauf kommentieren kann, ähnlich wie bei einem Fussball-Computerspiel.

Die Frage ist nun, wie dieses aus Eurer Sicht am besten technisch umgesetzt werden kann? Welche Art von Sensoren würden sich eignen? Wie aufwendig ist es, eine derartige Lösung zu entwickeln? Ich entschuldige ich schon mal im voraus: Ich kenne mich zwar mit Programmierung etwas aus. Ansonsten würde ich mich hier aber als Anfänger outen. Aber über hilfreiche Anregungen und Diskussionen würde ich mich trotzdem freuen.

Viele Grüße

Ceos
26.10.2017, 13:33
Den Boden des Spielfeld mit einem Raster von Hallsensoren zupflastern und in den Ball einen kleinen Magneten, so kannst du die Bewegung des Balls verfolgen, der Rest dann durch die Auswertung seiner Bewegung

Richtungsänderung mitten auf dem Feld = kick von einer der Spielfiguren, deren Positionen zumindest in Längsrichtung immer gleich bleibt
Wenn du jetzt noch die getroffene Figur auswerten willst würde ich Beschleunigungssensoren in die Figuren einbauen, alle Figuren einer Stange sollten immer die gleiche Beschleunigung haben, die getroffene Figur hat eine Beschleunigungs-Störung durch den Aufprall des Ball, den du auswerten können müsstest.

Wenn du außerdem noch auswertest wann die Figuren mit dem Kopf oben und unten sind kannst du sogar noch zwischen Köpfer und Kick unterscheiden (die natürliche Schwerkraft sollte für die Auswertung der Figurposition auch während einer Rotation ausreichend sein)

So könntest du auch gleich eine Heatmap für die Figureihen machen ;D einfach aufzeichnen welche Figuren wie oft und in welche Richtung gedreht worden sind (auch die Seitwärtsbewegung lässt sich mit den Beshleunigungssensoren messen)

Urinstein
26.10.2017, 14:51
Hallo Neugierig,

deine Idee gefällt mir sehr gut. Wenn das Spiel nur kommentiert werden soll dürften dir ja sehr grobe Informationen reichen (wer schiesst, wohin wird geschossen, hält der Torwart, fällt ein Tor etc.).

Gehen wir erstmal davon aus du willst die Ballposition so genau wie möglich bestimmen, mit dem Fall durfte ich mich in letzter Zeit näher beschäftigen (Link (https://www.roboternetz.de/community/threads/70708-Ball-and-Plate-Plattform-%28aka-Kugelwippe%29)). Hier stehen dir zwei Möglichkeiten zur Verfügung:
- Touchpanel (resistiv, kapazitiv, induktiv)
- Optische Auswertung

Das ganze Spielfeld mit einem (oder mehreren) Touchpanels auszukleiden ist vermutlich übertrieben, zumal jedes Panel bestimmte Anforderungen an die verwendeten Bälle stellt. Für ein resistives Touchpanel ist ein klassischer Kickerball beispielsweise viel zu leicht.
Eine Optische Auswertung wäre ohne weiteres möglich, wenn es dir nichts ausmacht eine Art Oberbau anzubringen, auf dem eine Kamera montiert ist. Je größer der Kontrast zwischen Ball und Untergrund ist, desto leichter fällt dir später die Auswertung. Bestenfalls nutzt du also einen weißen Ball auf dunkelgrünem Untergrund und verzichtest auch bei den Spielern auf zu helle Farben. Die Bildauswertung sollte kein Problem sein, dazu solltest du ausreichend Anleitungen finden.

Ansonsten finde ich die genannten Ideen mit Hall- und Beschleunigungssensoren auch sehr gut. Wenn du die Stellung der Spielfiguren kennst kannst du auch gleich Strafpunkte beim Überdrehen einführen... ;)

viele Grüße,
Tom

Siro
26.10.2017, 19:17
Figur Auswertung: Idee von Ceos:
Gibt ein bischen Kabelsalat wenn jede Figur seine Daten irgendwo hinbringen muss.
Plus Minus Data sind also mindestens 3 Drähte die ja pro Figur über die entsprechende Stange geführt werden müssen.
In der Figur einen MEMS IMU6050 von Invensense und einen kleinen Controller, sofern man das in die Figuren überhaupt reinbekommt.
Drehrate und Beschleunigung sind so messbar. Hier reicht vermutlich ein 8 Beiniger Microcontroller PIC/Arduino/LPC800 oder ähnlich.
Siro

Peter(TOO)
26.10.2017, 21:27
Eine andere Möglichkeit wäre ein RasPi mit Kamera-Modul und eine Glasplatte.

Mit der Kamera filmt man das ganze Spielfeld von unten.
An den Füssen der Figuren kann man noch Strichcods anbringen, damit man die Spieler unterscheiden kann.
Im ersten Schritt könnte man einen farbigen Ball nehmen, welcher dann durch die Farbe erkannt werden kann.

Für die RasPi-Camera gibt es Bibliotheken, welche Objekte erkennen und verfolgen können. Auch für die Erkennung von Strichcodes gibt es dazu Bibliotheken.

MfG Peter(TOO)

Ceos
27.10.2017, 06:34
von unten filmen finde ich ehrlich gesagt garnicht mal schlecht, von oben stören die figuren eher

Neugierig01
27.10.2017, 08:58
Super.Vielen Dank für die schnellen Antworten. Da sind gute Vorschläge. Ich hatte auch überlegt, ob Sensoren im Spielfeld eine Möglichkeit wäre. Ich bin mir aber unsicher, ob im Betrieb nicht teils ungenaue Daten gesammelt würden. Bei einem richtigen Kickerspiel rollt der Ball ja nicht nur, sondern fliegt teils über das Spielfeld. Würden die Hallsensoren dann auch noch zuverlässig arbeiten? Zudem müsste ich hab quasi das gesamte Spielfeld mit Sensoren abdecken. Das wären eine Menge Sensoren.

Generell gilt aus meiner Sicht zunächst: Es soll einfach und zuverlässig sein. Es genügt völlig zu messen, welcher Spieler/Torwart den Ball berührt und wann ist ein Tor gefallen ist.
Optische Auswertung find ich auch interessant. Am besten natürlich auch von unten, wobei die Platte allerdings schon grün sein sollte.

Ceos
27.10.2017, 09:34
ob im Betrieb nicht teils ungenaue Daten gesammelt würden
abhängig vom magneten im ball kannst du den auch ganz gut aus 1-3cm entfernung noch messen. ementsprechend dicht oder lose kannste du dann die sensoren verteilen, ich denke es wärend schon ein paar zig hallsensoren (cent-ware) nötig plus ein paar ADC starke controller um die sensoren zu messen

die sensoren messen magnetfelder und wenn der ball irgendwo zwischen den sensoren hängt, bekommst du halt einen teilwert von dem einen und einen teilwert vom anderen benachbarten sensor die du dann anteilig nach feldstärke nimmst um zu brechnen wo der ball nun genau ist. Bei der optischen auswertung musst du dich halt mit eben den optischen algorithmen auseinandersetzen, bei der sensor variante halt eher mit der verdrahtung und dem auswerten der sensoren selber, bei den figuren würde ich auf 1 controller pro reihe + 1 g-sensor pro figur setzen und die daten dann optisch oder kabellos einsammeln, den keiner will verdrehte kabel am kicker weil er überdreht hat XD

Peter(TOO)
27.10.2017, 12:34
abhängig vom magneten im ball kannst du den auch ganz gut aus 1-3cm entfernung noch messen. ementsprechend dicht oder lose kannste du dann die sensoren verteilen, ich denke es wärend schon ein paar zig hallsensoren (cent-ware) nötig plus ein paar ADC starke controller um die sensoren zu messen

Das Papierformat A4 hat rund 21x30cm Bei einem Sensor pro cm , sind dies schon 630 Sensoren.

Bei 10 Abtastungen/Sekunde sind dies 6'300 Messwerte, also etwa 150µs pro Messwert. Der ADC ist dabei noch kein Problem, aber du hast nicht mehr Zeit zum Rechnen, muss ja alles Real Time sein.

Ceos
27.10.2017, 12:40
ich würde die jetzt nicht zwingend im 1cm raster platzieren, das wäre extrem übertrieben!

ich würde erstmal ein testraster bauen, so mit 5cm zwischen den sensoren und gucken wie die ergebnisse so aussehen

Tomy83
28.10.2017, 06:00
ich werfe mal eine andere Idee in die Runde. In den Seitenwänden werden Lichtschranken installiert, und als Matrix aufgebaut. Somit hast du ein unsichtbares Netz über der Spielfläche gespannt. Vorteile würde ich in der Auswertung sehen, da kein ADC ausgelesen werden muss. Der Ball wird auch nicht mit Magneten beschwert.

Peter(TOO)
28.10.2017, 08:33
ich werfe mal eine andere Idee in die Runde. In den Seitenwänden werden Lichtschranken installiert, und als Matrix aufgebaut. Somit hast du ein unsichtbares Netz über der Spielfläche gespannt. Vorteile würde ich in der Auswertung sehen, da kein ADC ausgelesen werden muss. Der Ball wird auch nicht mit Magneten beschwert.
Hat halt seine Probleme.
Wie unterscheidest du den Ball von der Spielfigur?
Du kannst teilweise nicht unterscheiden ob 3 oder 4 Objekte auf dem Feld stehen, bzw. bei 3 Objekten kann es 4 Lösungen geben.

Tomy83
28.10.2017, 09:40
Da die Spielfigur nicht den Boden berührt, kann man in den Spalt zwischen Boden und Figur, den Sensor positionieren. Ergibt für mich nur ein Objekt, den Ball. Ich will aber nicht behaupten das die Lösung besser ist als die Magnetsensoren.
Für eine optische Lösung fällt mir ein Kickstarter Projekt ein. Ein Kammeramodul welches 2D ein Objekt erfasst und per Schnittstelle die Koordinaten bereitstellt. Mit passend farbigen Ball, im Kontrast zu den Spielfiguren könnte das klappen. Es war als Ergänzung zu Lego Mindstorm für (~150€/$ ???) entwickelt.

https://www.roboternetz.de/community/threads/63005-Kamera-Modul-mit-eingebauter-Bilderkennung