Bagel

Biologically inspired Graph-Based Language

Ansprechpartner/in:
Bagel ist eine Graph basierte Programmiersprache. Dabei werden Rechenoperationen durch Knoten beschrieben und der Datenfluss wird durch Kanten definiert. Ein Algorithmus der durch einen Bagel Graphen dargestellt wird kann auf einer höheren Ebene wieder als Rechenoperation eines Bagel Knoten verwendet werden. Auf diese Weise werden die Kernalgorithmen mit den gleichen Graphen (Schnittstellen) beschrieben wie die Organisation von verschiedenen Software- bzw. Bagel-Modulen. Das und die Möglichkeit, beliebig viele Kanten eines Inputs auf verschiedene Art und Weise miteinander verrechnen zu können, erlauben vor allem die effiziente Modellierung von hierarchischen verhaltensbasierten Architekturen.
Schlüsselwörter: Steuerung, Verhalten, Roboter Programmierung
Status: aktiv
Betriebssystem: macOS, Windows, Linux
Programmiersprachen: C, C++
Eigentumsrechte: Diese Software wurde vom DFKI sowie von der Arbeitsgruppe Robotik der Universität Bremen entwickelt und wird unter dieser Verantwortung weiterentwickelt. Bei Fragen und Anregungen wenden sie sich an die Ansprechpartner.
 

Softwarebeschreibung

Schnittstellendefinition eines Bagel Knoten (Quelle: DFKI GmbH)
Grafische Benutzeroberfläche um Bagel Graphen zu bearbeiten (Quelle: DFKI GmbH)
Die Besonderheit der Bagel Repräsentation ist, dass Lernverfahren, wie beispielsweise genetische Algorithmen, mit der Graphstruktur arbeiten und somit auf allen Verhaltensebenen eingesetzt werden können. So kann beispielsweise eine erste Optimierung Kernalgorithmen generieren während mit den gleichen Werkzeugen in einer zweiten Iteration die Verwendung der erlernten Kernalgorithmen entwickelt wird. Ebenso können beide Iterationen über eine Ko-Evolution auch gleichzeitig durchgeführt werden. Neben den positiven Eigenschaften von Bagel für die Verwendung von Lernverfahren minimiert der vereinfachte Funktionsumfang, im Vergleich zu Programmiersprachen wie C, deutlich die Fehleranfälligkeit der Algorithmen. Beispielsweise können keine Speicherzugriffsfehler durch das Programmieren in Bagel generiert werden.

Zum Erstellen von Bagel Modulen wird eine graphische Benutzeroberfläche bereitgestellt wodurch auch komplexe Bagel-Graphen übersichtlich entwickelt werden können. Die Möglichkeit, externen C/C++ Code einbinden zu können, erlaubt außerdem das schnelle Nutzen und Überführen von bestehen Bibliotheken.

Referenzen

Anwendungsfelder: Weltraumrobotik
Verwandte Projekte: KiMMI-SF
Adaptive software framework for context-sensitive, intuitive man-machine-interaction (06.2020- 12.2023)
TransFIT
Flexible Interaction for infrastructures establishment by means of teleoperation and direct collaboration; transfer into industry 4.0 (07.2017- 12.2021)
D-Rock
Models, methods and tools for the model based software development of robots (06.2015- 05.2018)
VIPE
Exploration in terrain difficult to access (e.g. Valles Marineris) using visual and proprioceptive data. (05.2015- 06.2018)
BesMan
Behaviors for Mobile Manipulation (05.2012- 07.2016)
LIMES
Learning Intelligent Motions for Kinematically Complex Robots for Exploration in Space (05.2012- 04.2016)
KiMMI-SF
Adaptives Softwareframework für Kontextabhängige intuitive Mensch-Maschine-Interaktion (06.2020- 12.2023)
LIMES
Lernen intelligenter Bewegungen kinematisch komplexer Laufroboter für die Exploration im Weltraum (05.2012- 04.2016)
BesMan
Behaviors for Mobile Manipulation (05.2012- 07.2016)
D-Rock
Modelle, Verfahren und Werkzeuge für die Modelbasierte Softwareentwicklung von Robotern (06.2015- 05.2018)
VIPE
Exploration in schwer zugänglichem Terrain anhand visueller und propriozeptiver Daten im Valles Marineris (05.2015- 06.2018)
TransFIT
Flexible Interaktion für Infrastrukturaufbau mittels Teleoperation und direkte Kollaboration und Transfer in Industrie 4.0 (07.2017- 12.2021)
Verwandte Robotersysteme: Charlie
iStruct Demonstrator
SpaceClimber
MANTIS
Multi-legged Manipulation and Locomotion System
SpaceClimber
MANTIS
Mehrbeiniges Manipulations- und Lokomotionssystem
Charlie
iStruct Demonstrator
© DFKI GmbH
zuletzt geändert am 16.11.2023