Das Problem: Robotersteuerungen sind heterogen und müssen durch Experten programmiert werden
Der globale Trend zur Fertigung individueller Produkte erfordert in der Fertigung ein häufiges Umkonfigurieren und Umprogrammieren an den Produktionsanlagen [1]. Modulare Robotersysteme unterstützen diese Umstellung. Eine große Hürde besteht jedoch weiterhin in der noch nicht möglichen, schnellen Anpassungen der Robotersteuerung, welche sich in drei Aspekten widerspiegeln:
- Die geringe Standardisierung im Bereich der Roboterprogrammierung führt zu einer hohen Herstellerabhängigkeit, geringer Übertragbarkeit und Erweiterbarkeit der Programme.
- Die Programmierung ist oft textbasiert und stark expertengebunden. Für jeden Hersteller sind dedizierte Schulungen notwendig, um das nötige Know-How aufzubauen.
- Unterstützende Sensorsysteme sind in ein Roboterprogramm nur schwer einzubinden und darin schwierig zu parametrieren.
Um die Stillstandszeiten von Robotersystemen zu minimieren und damit die Produktivität hochzuhalten, ist es notwendig, auch deren Steuerungen zu vereinheitlichen und Programmierweisen intuitiver zu gestalten.
Die Lösung: Programmieren und Steuern von Robotern über BPMN und OPC-UA-Skills
Das Fraunhofer IWU entwickelte gemeinsam mit dem Fraunhofer Austria in einem einjährigen Forschungsprojekt ein Software-Framework, welches dieses Problemen durch die Kombination von OPC-UA und BPMN (Business Process Model and Notation) in drei Schritten synergetisch löst, siehe Bild 1.
- Modularisierung von Roboterfunktionen als OPC-UA-Skills in einer skillbasierten Steuerung (skill based control, SBC) und Entwicklung von OPC-UA-Skill-Konnektoren
- BPMN2.0 Programmier- und Orchestrierungssystem zur Ansteuerung der Skills (BPMN Controller)
- Bildverarbeitungs-Module zur automatischen Parametrierung der Skills innerhalb von BPMNs
Über den BPMN2.0-Standard (Business Process Model and Notation Version 2.0) wird ein Prozessablauf als BPMN-Modell programmiert und als XML-File gespeichert. Das XML beinhaltet die Informationen zum Ausführen der OPC-UA-Skills. Ein BPMN-Controller orchestriert anhand der Informationen den Ablauf, indem über die OPC-UA-Skillkonnektoren die jeweiligen Skills auf dem Roboter gestartet und überwacht werden. Das Bildverarbeitungs-Modul ermöglicht dem Programmierer, Bildverarbeitungs-Skills zur automatisierten Ermittlung von Skillparametern innerhalb eines BPMN-Modells zu nutzen.
Drei Basistechnologien wurden synergetisch miteinander kombiniert
OPC-UA-Skills. Das Framework nutzt eine SBC, um Hardwarefunktionen eines Robotersystems über ein Skill-Template als Skill zu definieren [2]. Der Skill besteht aus einheitlichen Schaltbefehlen, einer Parameterliste und Statusinformationen. Das Module Type Package verwaltet die interne Steuerung der Skills als Zustandsmaschine. Jeder Skill wird danach als Node in einem OPC-UA-Server als OPC-UA-Skill gehostet. Ein externer, in Python 3 implementierter Skill-Handler ermöglicht es, über eine Server-Client-Verbindung automatisiert nach OPC-UA-Skills zu suchen und jeweils eine ausführbare Methode in einem Python-Modul anzulegen. Über die Python-Methoden wird der OPC-UA-Skill gestartet und parametriert.
BPMN-Controller. Um die Programmierung intuitiver und einheitlicher zu gestalten, wurde eine BPMN-basierte Oberfläche durch Einbindung eines BPMN.io-Editor erstellt [3]. Durch das Kombinieren und Parametrieren von OPC-UA-Skills zu BPMN-Modellen entstehen ausführbare Programme, die als XML-Datei maschinenlesbar persistiert werden. Ein BPMN-Controller lädt die XML-Dateien und liest die relevanten Skillinformationen aus. In einem Middleware-Layer des Controllers wird jeder definierte OPC-UA-Skill über das erzeugte Python-Modul gestartet und dadurch die Roboterfunktion ausgeführt.
Bildverarbeitungs-Modul. Innerhalb des Software-Frameworks wurde ein Bildverarbeitungs-Modul, das Skills zur kamerabasierten Parameterberechnung bereitstellt, hinzugefügt. Eine Intel Realsense D453i Kamera dient als Sensorinput. Die Skills implementieren die Skill-Basisklasse in Python und sind analog über eine zweite OPC-UA-Route ansprechbar. Ein Variablenstack zur Laufzeit übergibt innerhalb eines BPMN-Modells die Parameter an folgende Skills, sodass bspw. eine kameraunterstützte Roboterbewegung automatisiert programmiert werden kann.
Das Software-Framework wird an einer mobilen Roboterzelle eingesetzt
Das Software-Framework befindet sich an der am Fraunhofer IWU entwickelten, mobilen Roboterzelle Robo Operator® erfolgreich im Einsatz. Als Demonstrationsablauf dient ein Sortierprozess für zwei Stahlquader, wie in VIDEO 1 zu sehen.
Die SBC ist in der Leitsteuerung des Robo Operator® in TwinCAT3.1 (Beckhoff) umgesetzt. Der Programmablauf besteht aus einer Bauteilentnahme, Bauteilidentifizierung und sortierten Ablage in ein KLT, siehe VIDEO 2.
Einheitlichere Steuerung und intuitivere Programmierung von Robotern
Das Software-Framework bietet Neuheiten in drei Bereichen:
- OPC-UA-Skills machen den Programmcode für Roboter einheitlich und austauschbar, ermöglichen die Übertragung von Programmen und die einfache Erweiterung der Roboterfunktionen.
- Eine Benutzeroberfläche für die Ablaufprogrammierung über BPMN2.0-Modelle bietet eine intuitive Schnittstelle und ermöglicht eine nutzerzugeschnittene Programmierung.
- Ein Bildverarbeitungs-Modul reduziert die Wiederinbetriebnahmezeit durch die automatische Ermittlung von Steuerungsparametern.
Das Framework wird aktuell bewertet und auf weitere Steuerungen (Siemens, B&R) übertragen. Die Forschung konzentriert sich auf ein einheitliches Monitoring, Fehlerbehandlungen und einen sicheren Zugriff via OPC-UA. Mit dem Framework eröffnen sich vielversprechende Anknüpfungspunkte durch die Generalisierung des Ansatzes. BPMN-Modelle in Kombination mit Bildverarbeitung ermöglichen die Abstraktion von Standardprogrammen für Roboter mit minimalem Anpassungsaufwand. Die einheitlichen Skills fördern zudem die Selbstbeschreibung von Hardwarekomponenten und unterstützen Plug-and-Produce-Systeme. Auch eine verbesserte Simulationsfähigkeit durch die OPC-UA-Konnektoren ist ein Vorteil, da die Anbindung von Testumgebungen einfacher ermöglicht wird.
References
[1] McKinsey & Company, 2021. Manufacturing the future: The next era of global growth and innovation. https://www.mckinsey.com/capabilities/operations/our-insights/the-future-of-manufacturing. Accessed 27 September 2022. [2] Wiese, T., Abicht, J., Friedrich, C., Hellmich, A., Ihlenfeldt, S., 2022. Flexible skill-based control for robot cells in manufacturing. Front. Robot. AI 9. [3] Universal Robots, 2022. UNIVERSAL ROBOT UR3e – A Flexible Collaborative Robot Arm. Accessed 27 September 2022.Headerbild: © Fraunhofer IWU