Objektorientierte Daten- und Zeitmodelle für die Echtzeit ...
Objektorientierte Daten- und Zeitmodelle für die Echtzeit ...
Objektorientierte Daten- und Zeitmodelle für die Echtzeit ...
Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.
YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.
8.2. ÜBERBLICK ÜBER DAS IM ROBOCUP ENTWICKELTE SENSORDATENMODUL 195<br />
Bestimmen der Absolutposition des Balles (ÐÐÄÓ Ð = ÐÐÄÓ ÐÙÒ ØÓÖ): Ausgehend von<br />
der relativen Ballposition, der alten absoluten Ballposition, den von den anderen Robotern<br />
ermittelten absoluten Ballpositionen <strong>und</strong> der eigenen Roboterposition wird <strong>die</strong> absolute<br />
Ballposition in Spielfeldkoordinaten bestimmt:<br />
ËÐÐÈÓ×× ÐÐÄÓ Ð ËÐÐÈÓ×ÊÐ Ë ÐÐÈÓ×× Ë ÐÐÖÓ℄ÈÓ×× ËÊÓÓØÈÓ××<br />
Robotersegmentation (ÊÓÓØ×ËÑ = ÊÓÓØ×ËÑÙÒ ØÓÖ): Im klassifizierten Farbbild wird<br />
nach anderen Robotern gesucht. Für <strong>die</strong>se wird <strong>die</strong> Position relativ zum Roboter ermittelt.<br />
Konnten <strong>die</strong> Roboter anhand ihrer Farbmarkierung der eigenen oder der gegnerischen<br />
Mannschaft zugeordnet werden, wird <strong>die</strong>s als Attribut mit abgespeichert:<br />
ËÊÓÓØ×Ê ËÊÓÓØ×ÈÓ×ÊÐ℄ ÊÓÓØ×ËÑ ËÓÐÓÖÊ<br />
Toresegmentation (ÓÐ×ËÑ = ÓÐ×ËÑÙÒ ØÓÖ): Im vorklassifizierten Farbbild wird nach<br />
den Toren gesucht <strong>und</strong> deren Position relativ zum Roboter bestimmt, wobei insbesondere<br />
der freie Teil des Tores interessiert. Dabei wird zwischen dem eigenen <strong>und</strong> dem gegnerischen<br />
Tor unterschieden:<br />
ËÇÛÒÓÐÊ ËÇÛÒÓÐÈÓ×ÊÐ ËÇÔÔÓÐÊ ËÇÔÔÓÐÈÓ×ÊÐ<br />
ÊÓÓØ×ËÑ ËÓÐÓÖÊ<br />
Bestimmung des Free Motion Space (Ñ×ËÑ = Ñ×ËÑÙÒ ØÓÖ): Aus den Spielfeld- <strong>und</strong><br />
Roboterregionen <strong>und</strong> unter Berücksichtigung der Ballregion wird der freie Raum vor dem<br />
Roboter ermittelt:<br />
ËÅËÈÓ×ÊÐ℄ Ñ×ËÑ ËÓÐÓÖÊ<br />
Selbstlokalisation (ËÐÄÓ Ð = ËÐÄÓ ÐÙÒ ØÓÖ): Der Selbstlokalisationsfunktor kapselt zwei<br />
verschiedene Lokalisationsverfahren, ein relatives <strong>und</strong> ein absolutes. Das relative Verfahren<br />
versucht anhand der Roboterodometrie bzw. der Farbübergänge im vorklassifizierten<br />
Farbbild <strong>die</strong> Roboterposition zu korrigieren. Dieses Verfahren ist relativ schnell, benötigt<br />
jedoch eine halbwegs genaue Schätzung der Position, wo<strong>für</strong> i.d.R. <strong>die</strong> im vergangenen<br />
Zyklus ermittelte Position ausreicht. War <strong>die</strong>se Schätzung nicht gut genug, kann<br />
das anhand eines Fehlermaßes <strong>und</strong> durch einen Konsistenzcheck, in den <strong>die</strong> extrahierten<br />
Torpositionen einfließen, erkannt werden. In <strong>die</strong>sem Fall wird ein absolutes, allerdings<br />
auch deutlich langsameres Lokalisationsverfahren verwendet. Dieses kann initial, d.h.<br />
ohne Vorwissen <strong>die</strong> eigene Position auf dem Spielfeld bestimmen. Dies geschieht auf der<br />
Basis von Grauwertkanten sowie von extrahierten Spielfeldmerkmalen, wie Linien <strong>und</strong><br />
Toren:<br />
ËÊÓÓØÈÓ×× ËÐÄÓ Ð ËÓÐÓÖÊ ËÇÓÑØÖÝÈÓ× ËÑÖÁÑ<br />
ËÇÛÒÓÐÈÓ×ÊÐ ËÇÔÔÓÐÈÓ×ÊÐ ËÄÒ×Ê<br />
Diese Aufzählung zeigt bereits <strong>die</strong> zwischen den Funktoren bestehenden Abhängigkeiten.<br />
Diese werden durch <strong>die</strong> Art der Programmbeschreibung, <strong>die</strong> auf der funktionalen <strong>Daten</strong>flußbeschreibung<br />
basiert, automatisch aufgelöst. Konflikte durch Abhängigkeiten, <strong>die</strong> sich nicht<br />
automatish auflösen lassen, werden vom System angezeigt.<br />
Die Ablaufsteuerung in <strong>die</strong>sem Sensor ist wie auch dessen interner Aufbau vollkommen losgelöst<br />
von den anderen Programmkomponenten <strong>und</strong> damit unabhängig vom Rest des Systems<br />
konfigurierbar. In der realisierten RoboCup-Applikation werden verschiedene der in Kapitel 6