FINROC – Framework for Intelligent Robot Control

FINROC (Framework for Intelligent Robot Control) ist ein modulares Software-Framework zur Entwicklung und zum Betrieb komplexer Robotik- und Steuerungssysteme. Es ermöglicht die strukturierte Umsetzung autonomer Anwendungen durch wiederverwendbare Softwarekomponenten und unterstützt sowohl kleine mobile Roboter als auch umfangreiche, verteilte Robotersysteme. FINROC wird seit 2008 am Robotics Research Lab der Universität Kaiserslautern entwickelt und kontinuierlich erweitert. Das Framework basiert auf C++ und Java und legt besonderen Wert auf Modularität, Echtzeitfähigkeit und langfristige Wartbarkeit.
Architektur und Funktionsweise
FINROC verfolgt einen komponentenbasierten Ansatz, bei dem komplexe Robotiksoftware aus einzelnen, miteinander verbundenen Modulen aufgebaut wird.
Die grundlegenden Strukturelemente sind:
- Module: Eigenständige Softwarekomponenten, die bestimmte Aufgaben übernehmen und über Ein- und Ausgabeports kommunizieren.
- Groups: Fassen mehrere Module zu logischen Einheiten zusammen und ermöglichen eine hierarchische Strukturierung.
- Parts: Ausführbare Prozesse, in denen Robotikanwendungen betrieben werden.
Die Kommunikation erfolgt über definierte Schnittstellen und Datenflüsse. Dadurch können einzelne Komponenten unabhängig entwickelt, getestet und in unterschiedlichen Anwendungen wiederverwendet werden.
Zentrale Eigenschaften
- Modularität: Flexible Kombination und Wiederverwendung einzelner Softwarekomponenten.
- Echtzeitfähigkeit: Effiziente Datenverarbeitung durch optimierte Kommunikationsmechanismen.
- Skalierbarkeit: Einsatz in kleinen Robotersystemen bis hin zu komplexen, verteilten Anwendungen.
- Erweiterbarkeit: Integration unterschiedlicher Sensoren, Algorithmen und Steuerungsfunktionen.
- Plattformunabhängigkeit: Unterstützung verschiedener Hardwareplattformen und Betriebssysteme.
Entwicklungswerkzeuge
FINROC stellt ergänzende Werkzeuge für die Entwicklung, Analyse und Visualisierung von Robotiksoftware bereit.
- Finstruct: Grafische Darstellung, Konfiguration und Verbindung von Softwarekomponenten.
- FinGUI: Visualisierung von Sensordaten, Systemzuständen und Steuerungsinformationen.
- Simulation und Datenerfassung: Unterstützung bei der Entwicklung, Erprobung und Auswertung autonomer Funktionen.
Anwendung in der Robotik
FINROC wird in Forschung und Industrie zur Entwicklung autonomer Robotersysteme eingesetzt. Das Framework bildet unter anderem die softwaretechnische Grundlage für die verhaltensbasierte Roboterarchitektur REACTiON und unterstützt die Integration von Wahrnehmung, Navigation und Steuerung auf unterschiedlichen Robotikplattformen. Durch seine modulare Struktur können entwickelte Funktionen sowohl in Simulationsumgebungen als auch auf realen Robotern eingesetzt werden.
Wissenschaftliche Veröffentlichung
On Software Quality-motivated Design of a Real-time Framework for Complex Robot Control Systems
Autoren: Max Reichardt, Tobias Föhst und Karsten Berns
Jahr: 2013
Veröffentlichung: Electronic Communications of the EASST, Band 60, Software Quality and Maintainability (SQM 2013).