Simulation: Unterschied zwischen den Versionen
Keine Bearbeitungszusammenfassung |
PeterK (Diskussion | Beiträge) Keine Bearbeitungszusammenfassung |
||
Zeile 18: | Zeile 18: | ||
| '''Fkt. Nr.''' |
| '''Fkt. Nr.''' |
||
| '''Fkt. Name''' |
| '''Fkt. Name''' |
||
| '''Fkt. Name in MATLAB''' |
|||
| '''Beschreibung''' |
| '''Beschreibung''' |
||
|- |
|- |
||
| 1 |
| 1 |
||
| Einwurf |
| Einwurf |
||
| einwurf |
|||
| |
| |
||
* Zufallswert für den Einwurf des Balles ermitteln. (+/- 5°) |
* Zufallswert für den Einwurf des Balles ermitteln. (+/- 5°) |
||
Zeile 29: | Zeile 31: | ||
| 2 |
| 2 |
||
| akt. Ball Pos |
| akt. Ball Pos |
||
| ballnext |
|||
| |
| |
||
* Aus v<sub>x</sub>, v<sub>y</sub>, x<sub>alt</sub> und y<sub>alt</sub> wird x<sub>neu</sub> und y<sub>neu</sub> berechnet. |
* Aus v<sub>x</sub>, v<sub>y</sub>, x<sub>alt</sub> und y<sub>alt</sub> wird x<sub>neu</sub> und y<sub>neu</sub> berechnet. |
||
Zeile 34: | Zeile 37: | ||
| 3 |
| 3 |
||
| Ball Gerade |
| Ball Gerade |
||
| fehlt |
|||
| |
| |
||
* Aus x<sub>neu</sub>, y<sub>neu</sub>, x<sub>alt</sub> und y<sub>alt</sub> wird die Schnittgerade g<sub>Schnitt</sub> berechnet. (Eigentlich handelt es sich und die Fläche mit der oben beschriebenen Länge und der Breite des Balles. In einem verfeinerten Model könnte man noch die Rundung des Balles berücksichtigen.) |
* Aus x<sub>neu</sub>, y<sub>neu</sub>, x<sub>alt</sub> und y<sub>alt</sub> wird die Schnittgerade g<sub>Schnitt</sub> berechnet. (Eigentlich handelt es sich und die Fläche mit der oben beschriebenen Länge und der Breite des Balles. In einem verfeinerten Model könnte man noch die Rundung des Balles berücksichtigen.) |
||
Zeile 39: | Zeile 43: | ||
| 4 |
| 4 |
||
| Kollision |
| Kollision |
||
| collision |
|||
| |
| |
||
* Diese Funktion besteht selbst aus mehreren Teilfunktionen. |
* Diese Funktion besteht selbst aus mehreren Teilfunktionen. |
||
Zeile 45: | Zeile 50: | ||
| 5 |
| 5 |
||
| Schuss_Ausw. |
| Schuss_Ausw. |
||
| fehlt |
|||
| |
| |
||
* Es wird überprüft, ob die Spielerstange, an der der Spieler, der den Ball berührt hat, befestigt ist, sich gerade in Bewegung befindet. |
* Es wird überprüft, ob die Spielerstange, an der der Spieler, der den Ball berührt hat, befestigt ist, sich gerade in Bewegung befindet. |
||
Zeile 53: | Zeile 59: | ||
| 6 |
| 6 |
||
| Tor o. Bande |
| Tor o. Bande |
||
| in collision |
|||
| Es wird überprüft, ob der Ball außerhalb es Spielfeldes ist und ob sich die Schnittgerade mit einem der beiden Tore schneidet oder der Bande. |
| Es wird überprüft, ob der Ball außerhalb es Spielfeldes ist und ob sich die Schnittgerade mit einem der beiden Tore schneidet oder der Bande. |
||
|- |
|- |
||
| 7 |
| 7 |
||
| Spielstand |
| Spielstand |
||
| spielstand |
|||
| Handelt es sich um ein Tor, so wird der Spielstand modifiziert und zum Zustand idle gesprungen |
| Handelt es sich um ein Tor, so wird der Spielstand modifiziert und zum Zustand idle gesprungen |
||
|- |
|- |
||
| 8 |
| 8 |
||
| Bande_Ausw. |
| Bande_Ausw. |
||
| in collision |
|||
| Über Einfallswinkel gleich Ausfallswinkel werden alle Positionen und Vektoren neu berechnet. |
| Über Einfallswinkel gleich Ausfallswinkel werden alle Positionen und Vektoren neu berechnet. |
||
|- |
|- |
||
| 9 |
| 9 |
||
| I/O |
| I/O |
||
| fehlt |
|||
| Es handelt sich um die Funktion, die die Ein – und Ausgabe regeln soll. (Außer der Abfrage der Ballgeschwindigkeit beim Einwurf. Event. macht es allerdings Sinn die gleiche Funktion zu verwenden…) |
| Es handelt sich um die Funktion, die die Ein – und Ausgabe regeln soll. (Außer der Abfrage der Ballgeschwindigkeit beim Einwurf. Event. macht es allerdings Sinn die gleiche Funktion zu verwenden…) |
||
Die Ausgabe erfolgt auf einen Bildschirm (optisch) und alle Parameter werden an die KI-Programme weitergegeben. (Mensch und Comp., sofern beide elektronisch gesteuert werden.) Um die Bildrate der Ballerfassung zu Simulieren, werden die Parameter für die Comp. KI lediglich alle 10 ms weitergegeben. |
Die Ausgabe erfolgt auf einen Bildschirm (optisch) und alle Parameter werden an die KI-Programme weitergegeben. (Mensch und Comp., sofern beide elektronisch gesteuert werden.) Um die Bildrate der Ballerfassung zu Simulieren, werden die Parameter für die Comp. KI lediglich alle 10 ms weitergegeben. |
||
Zeile 83: | Zeile 93: | ||
* Alle Spieler mittig und mit Füßen nach unten auf dem Spielfeld |
* Alle Spieler mittig und mit Füßen nach unten auf dem Spielfeld |
||
* Ball außerhalb des Spielfeldes |
* Ball außerhalb des Spielfeldes |
||
|} |
|||
'''Zusätzlich für MATLAB benötigte Funktionen:''' |
|||
{| border="1" |
|||
|'''Z.Nr.''' |
|||
|'''Fkt. Name''' |
|||
|'''Beschreibung''' |
|||
|- |
|||
|1 |
|||
|drawdata |
|||
| |
|||
* Initialsierung der grafischen Oberfläche |
|||
* Darstellen des aktuellen Zustandes |
|||
|} |
|} |
Version vom 21. November 2008, 12:29 Uhr
Da unser Kicker ja nicht nur sinnlos nach vorne schießen soll und vorallem eine reelle Chance gegen ihn zu haben, wird eine KI (Künstliche Intelligenz) eingebaut. Um dies nun zu tun, brauchen wir ersteinmal eine Simulationumgebung, da noch keine Hardware zur Verfügung steht, an der das getestet werden kann.
Die Simulation wird vorraussichtlich in Mathlab/C++ programmiert und steht bis jetzt noch ganz am Anfang.
Ziel ist es vorallem, das ganze in Echtzeit zu simulieren, da das ganze natürlich auf jedem Rechner gleich schnell ablaufen soll.
Funktionen:
Fkt. Nr. | Fkt. Name | Fkt. Name in MATLAB | Beschreibung |
1 | Einwurf | einwurf |
|
2 | akt. Ball Pos | ballnext |
|
3 | Ball Gerade | fehlt |
|
4 | Kollision | collision |
|
5 | Schuss_Ausw. | fehlt |
|
6 | Tor o. Bande | in collision | Es wird überprüft, ob der Ball außerhalb es Spielfeldes ist und ob sich die Schnittgerade mit einem der beiden Tore schneidet oder der Bande. |
7 | Spielstand | spielstand | Handelt es sich um ein Tor, so wird der Spielstand modifiziert und zum Zustand idle gesprungen |
8 | Bande_Ausw. | in collision | Über Einfallswinkel gleich Ausfallswinkel werden alle Positionen und Vektoren neu berechnet. |
9 | I/O | fehlt | Es handelt sich um die Funktion, die die Ein – und Ausgabe regeln soll. (Außer der Abfrage der Ballgeschwindigkeit beim Einwurf. Event. macht es allerdings Sinn die gleiche Funktion zu verwenden…)
Die Ausgabe erfolgt auf einen Bildschirm (optisch) und alle Parameter werden an die KI-Programme weitergegeben. (Mensch und Comp., sofern beide elektronisch gesteuert werden.) Um die Bildrate der Ballerfassung zu Simulieren, werden die Parameter für die Comp. KI lediglich alle 10 ms weitergegeben. Um auch ohne Kickerhardware in der Praxis testen zu können, sollen die Eingaben sowohl von den KI-Programmen, als auch von der Tastatur möglich sein. |
Zusände:
Z.Nr. | Zustandsname | Beschreibung |
1 | Idle |
|
Zusätzlich für MATLAB benötigte Funktionen:
Z.Nr. | Fkt. Name | Beschreibung |
1 | drawdata |
|