reSPACE
Reconfigurable Signal Processing and Classification Environment
Schlüsselwörter: | Maschinelles Lernen, Signalverarbeitung, Parallelisierung, FPGA, Eingebettete Systeme |
Status: | aktiv |
Betriebssystem: | Linux |
Programmiersprachen: | Python, C, Matlab, VHDL |
Lizenz: | Proprietär |
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
FPGAs für mobile und eingebettete Signalverarbeitungssysteme
Intelligente mobile und eingebettete Systeme, wie etwa Roboter, müssen häufig in der Lage sein, hochdimensionale Daten mit Signalverarbeitungs- und Lernalgorithmen in Echtzeit zu verarbeiten. Um dies zu gewährleisten, muss die Verarbeitung zugleich leistungsfähig und energiesparend sein. Hierfür bieten sich Field-Programmable Gate Arrays (FPGAs) an. Aktuelle FPGAs beinhalten sowohl eine Vielzahl an flexiblen Digitallogikelementen, als auch spezielle Komponenten für die Signalverarbeitung. Zusätzlich können sie vollständige CPU-Kerne beinhalten, um auch komplexe Softwareanwendungen auszuführen.
Software-Hardware Partitionierung
Viele Anwendungen im Bereich der Signalverarbeitung und des maschinellenen Lernens können in rechenintensive Teile, welche einer Hardwarebeschleunigung bedürfen, und generelle Verwaltungstätigkeiten aufgeteilt werden. Das Framework reSPACE erlaubt die einfache Implementierung von anwendungsspezifischen Hardwarebeschleunigern mit FPGAs auf Basis einer modellbasierten Entwicklungsmethodik.
Hardwarebasierte Datenflussbeschleuniger
reSPACE nutzt das Datenflussparadigma: heterogene und statische anwendungsspezifische Datenflussbeschleuniger können einfach durch eine Kombination von verschiedenen vordefinierten Knoten implementiert werden, von denen jeder eine bestimmte Transformation auf den Daten vornimmt. Die Knoten und der Datenflussbescheuniger sind rein datengetrieben und können somit unabhängig von der CPU arbeiten. Der Datenflussbescheuniger kann auf einfache Art und Weise in ein System on Chip integriert werden, die benötigten Treiber und Schnittstellenbibliotheken werden automatisch von reSPACE generiert.
Kombination mit pySPACE
reSPACE kann eng mit pySPACE zusammenarbeiten. Dadurch kann die Auswertungs- und Datenverwaltungsfunktionalität von pySPACE genutzt werden.
Beispiel für Anwendungsplattform: ZynqBrain
Die Elektronikplatine ZynqBrain, welche einen Xilinx Zynq® EPP und eine Vielzahl von verschiedenen Schnittstellen beinhaltet, wurde am DFKI RIC speziell als Zentralelektronik für Robotersysteme und Signalverarbeitungsplattform entwickelt. Auf der ARM® CPU kann übliche Software, wie z.B. pySPACE ausgeführt werden, während zeitkritische Berechungen im FPGA-Teil mittels reSPACE durchgeführt werden.
Videos
IMMI: Anpassung einer Mensch-Maschine Schnittstelle für Mehrrobotersteuerung mittels embedded Brain Reading
Das Video zeigt eine Mensch-Maschine Schnittstelle (MMS) für die Steuerung mehrere Roboter. Die MMS wird durch „embedded Brain Reading“ an die Arbeitsbelastung und das Engagement des Nutzers online angepasst. Die Arbeitsauslastung wird von der Ausprägung der P300 im single-trial abgeleitet. Ein zweite Aufgabe zur Bestimmung der Arbeitsauslastung mittels der P300 Ausprägung nicht nötig.