Andreas Junghans: Collaborative Robotics with Lego Mindstorms ============================================================= Abstract ======== This thesis describes an approach to let Lego Mindstorms robots play soccer. The emphasis lies on the ability to easily copy and modify the presented environment. To achieve this, the setup is restricted to one Robotics Invention System set per robot and the Mindstorms Vision Command camera. First, an overview over the Lego Mindstorms family of products is given with an emphasis on the RCX - a Lego brick with an integrated microcontroller - and its firmware. Next, the soccer environment and its implications are presented, followed by a discussion of the three main problem fields: How do the robots find out where they are, how do they find the ball, and which playing strategy is used? For each of these, potential as well as the actually realized solutions are presented. Finally, the results of testing the environment are described together with possible future improvements. The algorithms and utilites presented in this thesis can also be used for other Mindstorms projects and are freely available. Especially a filter driver for the Vision Command camera and a utility enabling Vision Command to broadcast to several robots can be helpful in many situations. Zusammenfassung =============== Diese Arbeit beschreibt einen Ansatz, um Lego Mindstorms-Roboter Fußball spielen zu lassen. Der Schwerpunkt liegt dabei auf der Möglichkeit, die vorgestellte Umgebung möglichst einfach nachbauen und verändern zu können. Daher werden nur handelsübliche Robotics Invention System Bausätze - einer pro Roboter - und die Mindstorms Vision Command Kamera verwendet. Zunächst wird ein Überblick über die Lego Mindstorms Produktfamilie gegeben, wobei insbesondere auf den RCX - einen Lego-Baustein mit integriertem Mikrocontoller - und die dazugehörige Firmware eingegangen wird. Anschließend wird die geplante Fußball-Umgebung mit ihren Implikationen vorgestellt sowie die drei Hauptproblemfelder betrachtet: Wie finden die Roboter heraus, wo sie sind, wie finden sie den Ball, und welche Spielstrategie kommt zum Einsatz? Für jedes dieser Felder werden potentielle und die jeweils tatsächlich realisierte Lösung beschrieben. Schließlich werden die Ergebnisse von Tests des Gesamtaufbaus sowie mögliche zukünftige Verbesserungen vorgestellt. Die in dieser Arbeit beschriebenen Algorithmen und Werkzeuge können ebenfalls für andere Mindstorms-Projekte verwendet werden und sind frei verfügbar. Speziell ein Filter-Treiber für die Vision Command Kamera und ein Werkzeug, um Vision Command das Senden an mehrere Roboter gleichzeitig zu ermöglichen, können in vielen Fällen von Nutzen sein.