Rock
Robot Construction Kit
Internetseite: | http://www.rock-robotics.org |
Schlüsselwörter: | Roboter, Framework, Komponenten, Modular, Treiber, Echtzeit |
Status: | aktiv |
Betriebssystem: | Linux |
Programmiersprachen: | C++, Ruby |
Lizenz: | LGPL |
Eigentumsrechte: | Da Rock eine große Sammlung von Tools enthält, gibt es keine Einzellizenz, die für alle Komponenten gilt. Stattdessen verfügt jede Komponente über eine eigene Lizenz. Es werden hauptsächlich LGPL, MIT und die neue BSD-Lizenz verwendet. |
Softwarebeschreibung
Das Framework würde insbesondere entwickelt, um folgende Punkte zu adressieren:
Langlebige Systeme: Die Architektur und die Werkzeuge in Rock sind mit dem Hintergrund von langlebigen Systemen entwickelt worden. In der Praxis bedeutet dies, Fehlererkennung und Behandlung ist eine der Schlüsseleigenschaften der Architektur.
Skalierbarkeit: Rock bietet die Werkzeuge um große Systeme mit geringem Aufwand handhabbar zu machen. Es ist aber nicht notwendig diese Werkzeuge direkt zum Anfang einer Entwicklung zu verwenden. Sobald oroGen – das Tool zur Entwicklung von Komponenten – verwendet wird, ist garantiert, dass damit entwickelte Software einfach in verschieden komplexen Szenarien eingesetzt werden können. Diese reichen von hartkodierten C++ Verhalten über Ruby Skripte bis hin zu kompletten Systemüberwachungstools.
Wiederverwendbare Codebasis: Auch wenn wir Rock für eines der besten Frameworks halten, die es derzeit gibt, gilt das sicher nicht für alle anderen. Und das muss es auch nicht. In Rock ist ein Großteil der Funktionalität – von Regelung bis Anzeige von Daten bis hin zu Datenprozessierung – in einer Art implementiert, die vollkommen unabhängig von Rocks Komponentenframework ist. Es können also einfach einzelne Komponenten wie z.B. die Lokalisierungsalgorithmen oder Regelungsschleifen außerhalb von Rock und z.B. in einem anderen Framework eingesetzt werden. Dafür muss nichts an dem Code verändert werden, da dieser unabhängig von der jeweiligen Integration geschrieben ist.
Rock wird als primäres Softwareframework in den meisten der DFKI entwickelten Roboter und zunehmend auch in anderen Umgebungen eingesetzt. Es wird kontinuierlich weiterentwickelt um die Robustheit zu verbessern und neue Features zu integrieren.