Die Dual-Controller-Architektur ist ein Konstruktionsprinzip in der mobilen Robotik, bei dem zwei unterschiedliche Rechnereinheiten – meist ein leistungsfähiger Hauptcontroller und ein spezialisierter Nebencontroller – gemeinsam zur Steuerung eines Roboters eingesetzt werden. Dieses Konzept wird häufig verwendet, um die Vorteile verschiedener Hardwareplattformen zu kombinieren und sowohl rechenintensive als auch zeitkritische Aufgaben effizient zu bewältigen.
Eine typische Dual-Controller-Architektur besteht aus folgenden Elementen:
-
Hauptcontroller:
Ein Einplatinencomputer oder Embedded-PC (z. B. auf Basis von ARM oder x86), der komplexe Aufgaben wie Bildverarbeitung, Navigation, künstliche Intelligenz und Kommunikation übernimmt. Häufig werden Betriebssysteme wie Linux mit Robotik-Frameworks (z. B. ROS2) eingesetzt. -
Nebencontroller:
Ein Mikrocontroller (z. B. ESP32, Arduino, STM32), der für zeitkritische Steuerungs- und Überwachungsaufgaben verantwortlich ist. Dazu zählen die Ansteuerung von Motoren, das Auslesen von Sensoren und die Durchführung von Regelungsalgorithmen. -
Kommunikationsschnittstelle:
Die beiden Controller sind meist über serielle Schnittstellen (z. B. UART, SPI, I²C) oder drahtlose Protokolle miteinander verbunden. -
Sensorik und Aktorik:
Sensoren wie Kameras, Lidar, Ultraschallsensoren und Encoder liefern Informationen über die Umgebung und den Zustand des Roboters. Aktoren, insbesondere Motoren, werden direkt oder indirekt vom Nebencontroller angesteuert.
Die Dual-Controller-Architektur zeichnet sich durch eine klare Aufgabenverteilung aus:
-
Hauptcontroller:
- Verarbeitung großer Datenmengen (z. B. von Kameras oder Lidar)
- Planung und Navigation
- Benutzerinteraktion und Netzwerkkommunikation
- Ausführung komplexer Softwarepakete und Algorithmen
-
Nebencontroller:
- Motorsteuerung und Regelung
- Erfassung und Vorverarbeitung von Sensordaten
- Ausführung zeitkritischer und deterministischer Aufgaben
Die Kommunikation zwischen den Controllern erfolgt meist über definierte Protokolle und ermöglicht eine effiziente Zusammenarbeit.
- Effizienz:
Die Aufgabenteilung erlaubt eine optimale Nutzung der jeweiligen Hardwarefähigkeiten. - Zuverlässigkeit:
Zeitkritische Steuerungen laufen unabhängig von potenziellen Verzögerungen im Hauptsystem. - Modularität:
Komponenten können unabhängig voneinander entwickelt, getestet und ausgetauscht werden. - Skalierbarkeit:
Die Architektur kann leicht an unterschiedliche Anforderungen angepasst werden.
- Komplexität:
Die Entwicklung und Wartung zweier unterschiedlicher Softwaresysteme erhöht den Aufwand. - Kommunikationsaufwand:
Die Synchronisation und Fehlerbehandlung zwischen den Controllern erfordert sorgfältiges Design. - Ressourcenbedarf:
Der Einsatz zusätzlicher Hardware kann Kosten und Energieverbrauch erhöhen.
Dual-Controller-Architekturen finden sich in vielen mobilen Robotern, insbesondere in:
- Forschungsplattformen
- Lehrrobotern
- autonomen Fahrzeugen
- industriellen Servicerobotern
- Siciliano, B., Sciavicco, L., Villani, L., & Oriolo, G.: Robotics: Modelling, Planning and Control. Springer, 2010.
- Quigley, M., Gerkey, B., & Smart, W. D.: Programming Robots with ROS. O’Reilly, 2015.
- Kategorie:Robotik
- Kategorie:Steuerungstechnik
- Kategorie:Embedded Systems