Menschen 0 , Roboter 1…...das ist ungefär das Ergebnis auf das die Initiatoren des Robocups hinarbeiten.
Im Jahre 2050 sollen in einem Fußballspiel Roboter gegen eine menschliche Mannschaft gewinnen. Unsinn wird jetzt der ein oder andere sagen. Und um ehrlich zu sein etwas abgefahren ist das ganze ja schon, aber vielleicht gerade deshalb so interessant.
So haben es Bovi und ich uns auch nicht nehmen lassen den aktuellen Stand der Dinge beim Robocup 2006 in Bremen unter die Lupe zu nehmen.
Beieindruckend war vor allem die Small-Size-League. Die kleinen Flitzer sind in der Lage sich gegenseitig anzuspielen und mehr oder weniger miteinander zu agieren. Bei den größeren Vertretern läuft das noch nicht alles so rund und flüssig ab. Dafür spielten diese mit echten Fußbällen und nicht mit roten Golfbällen. Farbig war es trotzdem bei allen Teilnehmern. Das ist nötig damit die “Fußballer” sich orientieren können und z.B. das eigene vom gegnerischen Tor unterscheiden können.
Die “humanoiden”, also die zweibeinige Fraktion war natürlich auch vertreten. Sie sind vom fußballerischen Können allerdings noch nicht so weit wie ihre vierbeinigen bzw. mit Rädern versehenen Kollegen. Das liegt an der Komplexität der Fortbewegung auf zwei Beinen (achja wie oft ist man als Kind nicht beim laufen hingefallen ;) ).
So hier noch einige Impressionen:

Auch wenn das Thema nicht wirklich in die Ruby-Mine passt, hoffe ich doch eure Neugierde geweckt zu haben. Und um nun noch irgendeinen Bezug zu Ruby herzustellen: Vielleicht versucht sich nach diesem Artikel ja einer von euch an einem Roboter der mit Ruby programmiert ist ;).
Kommentar schreiben
Kommentare
Das Thema passt super hier her! - Zwar wird Ruby wohl kaum die Sprache der unteren Layers für so eine Problemwelt sein und werden, aber die, ich nenne sie mal so, "echten KI-Teile" inclusive der "Taktik"-, "Stratgie"- und "Ziel"-Module, sind doch sehr wohl etwas für Ruby! Berichtet mal noch mehr!
Ich muss sagen, dieses Blog hat sich schnell in mein Herz gebloggt. V.A. die beiden genialen Artikel über die RegExp haben es mir angetan. Also weiter so!
Das freut mich zu hören das euch der Blog/das Thema so gut gefällt! Wobei die Lorbeeren bei den RegExp Artikel wohl eher an unseren gern gesehenen Gastposter WoNáDo gehen. ;) Wenn gewünscht kann ich mich noch ein wenig mehr zu dem Robocup auslassen. Allerdings ist ein sehr empfehlenswerter Artikel in der vergangenen c´t zu finden.
schöner artikel! und danke für die fotos. ich vermute leider, dass die komplexe entscheidungslogik der KI sich besser in anderen sprachen schreiben lässt. hier geht es ja offenbar auch darum, mit begrenzeten hardware-ressourcen sehr aufwändige berechnungen anzustellen - nicht unbedingt Rubys stärke. worin sind die denn programmiert? in C? assembler? Prolog? LISP? ;)
Also in welchen Sprachen das derzeit realisiert wird kann ich so auf anhieb gar nicht sagen. Allerdings dürfte auch ein nicht zu unterschätzender Punkt die Geschwindikeit sein (leidiges Thema ich weiss). Schließlich sollen die "Spieler" ja unmittelbar auf jede Änderung angemessen reagieren können. Und wenn das zu lange dauert ist die Murmel vielleicht schon am Fuß vorbei gerollt. ;) Aber entsprechende handfeste Informationen werde ich in einem weiteren Artikel nachliefern. Anscheinend besteht ja in diesem Bereich bedarf :)
Ich glaube nicht, dass "Geschwindigkeit" noch lange auf allen Ebenen so relevant sein wird. Einmal hoffen wir ja wohl alle, dass sich Ruby auch noch weiterentwickelt, also sogar noch schneller mehr können wird. Zum andern stelle ich mir vor, dass parallel zu den aktuellen Spielaktionen ja auch noch Strategien an Ziele angepasst werden müssen und die entsprechenden Taktiken zur Anwendung an die ausführenden Elemente (andere Programme) weitergegeben werden müssen. Wie beim richtigen Fussball muss dann eine Verständigung zwischen den Spielern stattfinden. Wenn ich mir Ruby in einem "echten" Thread vorstelle, der vielleicht auch noch auf einem eigenen Chip läuft, und dann so die Möglichkeiten sehe Objekte dynamisch zu verändern, "Gedankenexperimente" durchzuführen und zwischendurch nach Bewertung "Empfehlungen" an andere Systemteile zu geben, die dann je nach Status des Spielers weiterverarbeitet werden können. Da sehe ich schon ordentlich Potenzial :-))
Also was ich da so mitbekomme habe, ist die Hardware garnicht so schwachbrüstig. Da fährt bei der Middle Size League bereits ein komplettes Notebook mit. Das Problem ist jedoch die harte Echtzeitfähigkeit. Und hierbei ist jede Sprache nicht zu gebrauchen, die eine nicht berechenbare Speicherbereinigung besitzt (wie Java und auch Ruby). Eventuell kann man jedoch Ruby dazu verwenden den C++ Code zu generieren. Wie ich mitbekommen habe, scheint auch Prolog bei den Simulationen verwendet zu werden.