Space Chase ist ein Lehrprojekt im Rahmen des Modulpools der Hochschule Bremen. Die Teilnehmerinnen teilen sich dazu in Projektteams mit bis zu sieben Mitarbeiterinnen auf. Jedes Team programmiert im Laufe des Semesters eine KI (Künstliche Intelligenz) in Matlab, die die autonome Bewegung ihres „Spaceballs” steuert. Am Ende des Semesters tritt im Rahmen eines Turniers jeder Spaceball im Zweikampf gegen die Spaceballs der anderen Teams an. Die sich daraus ergebenen Tabelle (Rangliste) fließt zu 50% in die Note ein; die verbleibenden 50% ergeben sich aus der Dokumentation, dem Intro und der Webseite (Originalität, Design, Korrektheit, . . . ).
Im Spiel werden – wie Abbildung 1.1 zu sehen – die beweglichen Spaceballs (rot und blau) genau wie die ortsfesten Tankstellen (grün) und Minen (grau) als ausgefüllte Kreise in der Ebene dargestellt. Das Spielfeld wird durch Banden begrenzt. Das Ziel des Spiels ist es, den Gegner mit mehr Treibstoff zu berühren. Dazu fliegt der Spaceball möglichst schnell möglichst viele Tankstellen an und weicht dabei Minen, Banden und gegebenenfalls dem Gegner aus.
Inhaltsverzeichnis
I Bedienungsanleitung
1 Einführung
2 Spielablauf
2.1 Tankstellen, Minen und Banden
2.2 Anzeigen
3 Regeln
II Unter der Haube
4 Blockschaltbild
5 Simulation
5.1 spaceballs
5.2 teams_einlesen
5.3 team_daten
5.4 spielfeld_erstellen
5.5 schnitt_kreis_bande
5.6 schnitt_kreis_kreis
5.7 spielfeld_darstellen
5.8 schritt
5.9 spielfeld_aktualisieren
5.10 beschleunigung
5.11 spiel
5.11.1 spiel.rot
5.11.2 spiel.rot.spur
5.11.3 spiel.rot.mitarbeiter
5.11.4 spiel.farbe
5.11.5 spiel.mine
5.11.6 spiel.tanke
6 rot_intro
6.1 Bilder und Sound
6.1.1 mitarbeiter.jpg
6.1.2 Logo.jpg
6.1.3 intro.wav
6.2 Code
III Mathematisches Werkzeug
7 Vektorprojektion
8 Hessesche Normalform
8.1 Beispiele
9 Kollision eines Kreises mit einer Gerade
9.1 Beispiel
10 Kollision zweier Kreise
10.1 Beispiel
11 Kreis durch drei Punkte
11.1 Beispiel
11.2 Alternativer Weg
12 Tangenten an zwei Kreise
12.1 Tangenten t1 und t2
12.2 Tangenten t3 und t4
12.3 Diskriminante
12.4 x und y vertauschen
12.5 Beispiel
12.5.1 Ohne Vertauschung von x und y
12.5.2 Mit Vertauschung von x und y
Zielsetzung & Themen
Das Projekt Space Chase zielt darauf ab, Studierenden die eigenständige Programmierung einer Künstlichen Intelligenz (KI) in Matlab zu ermöglichen, welche in einem kompetitiven Turnierszenario autonome Bewegungsstrategien für sogenannte "Spaceballs" steuert. Die Forschungsfrage fokussiert sich auf die effiziente Umsetzung taktischer und strategischer Verhaltensweisen innerhalb eines dynamischen, durch physikalische Kollisionsbedingungen eingeschränkten Spielfeldes.
- Entwicklung autonomer KI-Algorithmen in Matlab zur Steuerung von Spaceballs.
- Implementierung physikalischer Simulationsmechanismen (Kollisionserkennung, Bewegung, Treibstoffmanagement).
- Strukturierte Datenhaltung und Visualisierung in einer Simulationsumgebung.
- Mathematische Modellierung geometrischer Probleme (Vektorprojektion, Kollisionsanalysen, Tangentenberechnung).
- Wettbewerbsorientierte Leistungsbewertung durch Turnierranglisten und Projektdokumentation.
Auszug aus dem Buch
1 Einführung
Space Chase ist ein Lehrprojekt im Rahmen des Modulpools [1] der Hochschule Bremen. Die Teilnehmerinnen teilen sich dazu in Projektteams mit bis zu sieben Mitarbeiterinnen auf. Jedes Team programmiert im Laufe des Semesters eine KI (Künstliche Intelligenz) in Matlab, die die autonome Bewegung ihres „Spaceballs” steuert. Am Ende des Semesters tritt im Rahmen eines Turniers jeder Spaceball im Zweikampf gegen die Spaceballs der anderen Teams an. Die sich daraus ergebenen Tabelle (Rangliste) fließt zu 50 % in die Note ein; die verbleibenden 50 % ergeben sich aus der Dokumentation, dem Intro und der Webseite (Originalität, Design, Korrektheit, . . . ).
Im Spiel werden – wie Abbildung 1.1 zu sehen – die beweglichen Spaceballs (rot und blau) genau wie die ortsfesten Tankstellen (grün) und Minen (grau) als ausgefüllte Kreise in der Ebene dargestellt. Das Spielfeld wird durch Banden begrenzt. Das Ziel des Spiels ist es, den Gegner mit mehr Treibstoff zu berühren. Dazu fliegt der Spaceball möglichst schnell möglichst viele Tankstellen an und weicht dabei Minen, Banden und gegebenenfalls dem Gegner aus.
Zusammenfassung der Kapitel
1 Einführung: Bietet einen Überblick über das Lehrprojekt Space Chase, die Anforderungen an die teilnehmenden Teams und die grundlegenden Spielregeln.
2 Spielablauf: Beschreibt die Spielmechaniken, die Bedingungen für den Spielausgang sowie die Interaktionen mit Objekten wie Tankstellen, Minen und Banden.
3 Regeln: Definiert die formalen Anforderungen an die Projektarbeit, die Abgabetermine, die Zusammensetzung der Note sowie technische Vorgaben für die Programmierung der KI.
4 Blockschaltbild: Visualisiert die Struktur der Matlab-Dateien und das Zusammenwirken der verschiedenen Unterprogramme innerhalb der Simulationsumgebung.
5 Simulation: Bildet den technischen Hauptteil, der die algorithmische Umsetzung der Simulation, die Initialisierung der Spielobjekte und die grafische Darstellung detailliert erläutert.
6 rot_intro: Beschreibt das unabhängige Programm zur grafischen Vorstellung des roten Teams inklusive Bild- und Soundeinbindung.
7 Vektorprojektion: Vermittelt die mathematischen Grundlagen für die Kollisionsanalyse, insbesondere die Projektion von Vektoren auf eine Gerade.
8 Hessesche Normalform: Führt die mathematische Darstellung von Geraden ein, die zur Berechnung von Abständen im Spielfeld essenziell ist.
9 Kollision eines Kreises mit einer Gerade: Leitet die mathematischen Formeln her, um den Zeitpunkt und Ort einer Kollision zwischen einem kreisförmigen Spaceball und einer geraden Bande zu bestimmen.
10 Kollision zweier Kreise: Erklärt die Berechnung des Berührzeitpunktes und der Orte bei der Kollision zweier sich bewegender kreisförmiger Objekte.
11 Kreis durch drei Punkte: Zeigt eine numerische Methode zur Bestimmung von Mittelpunkt und Radius eines Kreises auf, der durch drei definierte Punkte verläuft.
12 Tangenten an zwei Kreise: Detailliert die mathematische Herleitung zur Bestimmung der vier gemeinsamen Tangenten zweier Kreise, inklusive der Berücksichtigung von Sonderfällen.
Schlüsselwörter
Matlab, Künstliche Intelligenz, Simulation, Spaceballs, Kollisionserkennung, Vektorgeometrie, Hessesche Normalform, Programmierung, Projektarbeit, Algorithmus, Spielmechanik, Tangentenberechnung, Hochschulprojekt, Automatisierung, Grafikdesign.
Häufig gestellte Fragen
Worum geht es in diesem Lehrprojekt grundsätzlich?
Es handelt sich um ein Projekt der Hochschule Bremen, bei dem Teams eine KI in Matlab programmieren, um die Bewegung eines "Spaceballs" in einem Wettbewerb gegen andere Teams zu steuern.
Was sind die zentralen Themenfelder der Arbeit?
Die Schwerpunkte liegen auf der algorithmischen Steuerung, der mathematischen Modellierung physikalischer Kollisionen und der strukturierten Softwareentwicklung innerhalb einer Simulationsumgebung.
Was ist das primäre Ziel des Spaceballs?
Ziel ist es, den gegnerischen Spaceball mit einer höheren Menge an gesammeltem Treibstoff zu berühren, während man gleichzeitig Minen und Banden vermeidet.
Welche wissenschaftlichen Methoden kommen zum Einsatz?
Die Arbeit nutzt Methoden der Vektorgeometrie, wie die Hessesche Normalform, Vektorprojektionen und quadratische Gleichungen zur Analyse von Kollisionen und geometrischen Konstruktionen.
Was wird im Hauptteil der Arbeit behandelt?
Der Hauptteil gliedert sich in die technische Implementierung der Simulationsschleife, die Visualisierung von Objekten im Darstellungsfenster sowie die mathematischen Werkzeuge zur Kollisionsberechnung.
Welche Kriterien sind für die Benotung ausschlaggebend?
Die Note setzt sich zu 50 % aus der Platzierung in der Turnierrangliste und zu 50 % aus der Qualität der Dokumentation, der Webseite sowie der Originalität und Korrektheit der Umsetzung zusammen.
Wie wird sichergestellt, dass die Simulation fair bleibt?
Durch symmetrische Zufallsverteilung der Tankstellen und Minen zu Beginn jedes Spiels starten beide Teams unter gleichen Bedingungen.
Warum wird von symbolischen Berechnungen im Code abgeraten?
Symbolische Berechnungen verlangsamen die Rechenzeit erheblich, was bei den tausenden Aufrufen innerhalb der Simulationsschleife zu Performance-Problemen führt.
Wie wird die Simulation bei Bedarf vorzeitig abgebrochen?
Die Simulation ist so implementiert, dass ein Mausklick in das Spielfenster ein Abbruchsignal an die Simulationsschleife sendet, was ein geordnetes Beenden ermöglicht.
Was passiert, wenn zwei Spaceballs einander berühren?
Wenn beide die gleiche Anzahl an Tankstellen besucht haben, passiert nichts. Andernfalls gewinnt der Spaceball, der erfolgreicher beim Sammeln von Treibstoff war.
- Arbeit zitieren
- Prof. Dr.-Ing. Jörg Buchholz (Autor:in), 2019, Space Chase 2018, München, GRIN Verlag, https://www.grin.com/document/512691