Bei unserer Vorgehensweise haben wir nichts dem Zufall überlassen: Zuerst analysierten wir alle Aufgaben nach Schwierigkeit, Punkten und Zeitaufwand. Die Lösung bauten wir modular auf – von kleinen Teilaufgaben bis zum fertigen Grundgerüst inklusive optimierter Reihenfolge und Farbverlauf.
Spannend wurde es beim Testing: Nach dem Software-Check per Plot-Befehl folgte das Feintuning direkt auf dem Spielfeld. Wir haben so lange optimiert, bis unser Ziel erreicht war: eine stabile Erfolgsquote von 9/10.
Modulare Antriebsmotoren: Die Motoren dienen als Kraftquelle für alle externen Mechanismen. Durch die strategische Positionierung können verschiedene Aufsätze direkt mit der Antriebsachse gekoppelt werden, um Rotationsbewegungen für die Aufgabenlösung zu übertragen.
Farbsensor zur Aufsatzerkennung: Dieser Sensor fungiert als schnelles Identifikationssystem. Er scannt beim Ankoppeln eine spezifische Farbmarkierung am Aufsatz, wodurch die Software automatisch erkennt, welches Programm oder welche Bewegungsabläufe für das aktuelle Modul geladen werden müssen.
Sicherheits-Farbsensor (Bodenkontakt): Ein nach unten gerichteter Sensor, der als "Totmannschalter" dient. Er erkennt den Kontrast zum Boden; wird der Roboter während eines Laufs angehoben, registriert der Sensor den Lichtwechsel und löst einen sofortigen Programmabbruch oder Reset aus, um Fehlfunktionen zu vermeiden
Um maximale Flexibilität im Wettbewerb zu gewährleisten, basiert unsere Hardware auf einem einheitlichen Kopplungssystem:
(1) Standardisierte Schnittstelle: Die mechanische Verbindung zwischen Fahrgestell und Aufsatzmodulen ist universell gestaltet. Dies ermöglicht einen schnellen, präzisen Wechsel zwischen verschiedenen Werkzeugen, ohne den Roboter umbauen zu müssen.
(2) Optimierter Lösemechanismus: Ein spezieller Verschluss sorgt für maximale Stabilität während der Fahrt, lässt sich jedoch mit minimalem Kraftaufwand lösen. Diese Balance garantiert sowohl Betriebssicherheit als auch eine hohe Zeitersparnis bei Umrüstvorgängen.
Entwicklungsumgebung & Struktur
VS Code: Nutzung einer professionellen IDE für erweiterten Funktionsumfang.
Strukturierung: Einsatz einer klaren Ordnerstruktur zur Erhöhung der Übersichtlichkeit.
Speicher- & Datenmanagement
Persistente Kalibrierung: Nutzung des internen Speichers (Read/Write) für kalibrierte Farbwerte.
Sofortige Verfügbarkeit: Sensorwerte sind ohne erneute Kalibrierung direkt einsatzbereit.
Objektorientierte Programmierung (OOP)
Robot-Class: Zentralisierung aller Hardwarespezifikationen (Ports, Maße) und Basis-Bewegungen.
Tool-Classes: Abstraktion der Werkzeugsteuerung für einen intuitiven Prozess.
Funktionale Steuerung: Programmierung nach tatsächlicher Bewegung statt Motorumdrehungen.
Hardware-Schutz: Implementierung von Software-Limits (Endanschläge), um mechanische Schäden zu verhindern.
Nahtlose Anbindung: Einfache Integration externer Bibliotheken (z. B. Matplotlib).
Frühzeitige Visualisierung: Berechnete Pfade werden bereits vor dem Feldtest grafisch dargestellt.
Effektive Fehlererkennung: Engstellen und Kollisionsrisiken werden in der Simulation identifiziert.
Zeitersparnis: Optimierungen erfolgen direkt im Code, ohne zeitintensive physische Testläufe.
Beschleunigte Entwicklung: Schnellere Iterationszyklen durch Vorab-Validierung.
Dimensionssprung: Übergang von der 2D-Visualisierung zur 3D-Simulation mittels PyVista.
Realitätsnahe Modellierung: Abbildung komplexer physikalischer Faktoren (z. B. Wandkollisionen).
Präzise Validierung: Testen von Bewegungsabläufen in einer digitalen Umgebung, die dem realen Spielfeld entspricht.
Fehlerprävention: Identifikation von räumlichen Hindernissen und Engstellen vor dem physischen Einsatz.