Ausgabe 1-2020: KOLLABORATIVE ROBOTIK

Kollaborative Robotik – Maschinelles Lernen durch Imitation
Flexible Automation für KMUs durch intelligente und kollaborative Roboterassistenten

Andrea Giusti, Dieter Steiner, Walter Gasparetto, Sebastian Bertoli, Michael Terzer, Michael Riedl und Dominik Tobias Matt, Fraunhofer Italia Research, Bozen

Der Trend zur kundenindividuellen Massenproduktion stellt klassische Produktionsmethoden kleinerer und mittlerer Unternehmen vor große Herausforderungen. Branchenübergreifend lässt sich feststellen, dass es für diese Unternehmen besonders schwierig ist mit klassischen Automationslösungen einen tragbaren Kompromiss für den Dreiklang aus hoher Flexibilität, hoher Produktionseffizienz und geringem Investitionsrisiko zu finden. Gleichzeitig stellt die Agilität zur Anpassung an variable Marktbedingungen eine typische Stärke kleiner und mittlerer Unternehmen dar.

Die Kombination von flexiblen Robotiklösungen und Ansätzen der Künstlichen Intelligenz ist vielversprechend, um hohe Produktionseffizienz und schnelle Anpassungsfähigkeit in modernen Produktionssystemen erreichen zu können. Dieser Beitrag stellt eine derartige Lösung in Form eines Demonstratoraufbaus vor. Wesentlicher Bestandteil ist ein kollaborativer Roboterassistent, welcher die Tätigkeiten eines menschlichen Mitarbeiters selbstständig interpretiert und durch Nachahmung bzw. Imitation den Mitarbeiter bei seinen Tätigkeiten unterstützt.

Der weltweite Absatz von Industrierobotern steigt kontinuierlich, ihre Anwendung beschränkt sich aber nach wie vor überwiegend auf die Automobil- und Elektronikindustrie [1]. Dies kann damit zusammenhängen, dass das Risiko von Investitionen in Automatisierungssysteme mit kostspieliger oder aufwendiger Anpassung an Produktionsänderungen nach wie vor ein Hindernis für KMUs darstellt. Ein vielversprechendes Mittel zur Risikoreduzierung in diesem Zusammenhang ist der Einsatz flexibler Produktionssysteme, welche KMUs einen einzigartigen Vorteil bei der Massenanpassung bringen. Es wird als wichtig für KMUs erachtet, den Wandel von klassischen, starren Automationssystemen hin zu modernen flexibleren Gegenstücken in Erwägung zu ziehen, um schnelle Anpassungen mit geringen Kosten und Aufwand durchführen zu können [2]. Dies ermöglicht es den KMUs, ihr Investitionsrisiko in Automation zu reduzieren, da sie damit flexibel auf spezifische Produkt- oder Marktveränderungen reagieren können. 

Bild 1: Komponenten des kollaborativen Roboterassistenten.

Ein aktueller Ansatz zur Flexibilitätssteigerung von Produktionssystemen ist die Umsetzung industrieller Umgebungen zur Kooperation von Mensch und Maschine in einem gemeinsamen Arbeitsbereich [3]. Eine solche Kombination war in der klassischen Industrierobotik nur eingeschränkt möglich und erforderte aus Sicherheitsgründen eine räumliche Trennung der beiden. In den letzten Jahrzehnten wurden viele Forschungsergebnisse im Bereich der physischen Mensch-Roboter-Interaktion vorgestellt [4] und als Bereich der kollaborativen Robotik definiert. Im Vergleich zur herkömmlichen, starren Automatisierung sind kollaborative Lösungen ohne großen Aufwand und Standzeiten flexibel an neue Aufgaben anpassbar [5] - dadurch steigt ihr Nutzen und das daraus resultierende Return-on-Investment.
In diesem Anwendungsbereich sind leichte und nachgiebige Roboter ebenso verfügbar wie Steuerungssysteme, welche die Sicherheit von Menschen in unmittelbarer Nähe von Robotern gewährleisten [6, 7].

Es ist notwendig, dass kooperative Robotersysteme eine benutzerfreundliche Programmierschnittstelle bieten, um sie schnell und unmittelbar vor Ort an häufig wechselnde Aufgaben anpassen zu können. Dies kann mittels Machine-Learning-Techniken wie Imitation Learning oder Programmierung durch Demonstration umgesetzt werden [8].
Aktuelle Forschungsergebnisse in diesem Bereich beschäftigen sich unter anderem mit der Kombination von Imitation Learning mit modularer Robotik für industrielle Aufgaben [9], um die Flexibilität durch austauschbare Hard- und Softwaremodule weiter zu erhöhen.

Fehlen in KMUs Erfahrungen mit den oben genannten Ansätzen kann dies zu einer weitreichenden Einschränkung der zukünftigen Anpassungsfähigkeit führen. Als Beitrag zur Beseitigung dieser Herausforderung wurden im Rahmen der vorliegenden Arbeit Systeme entwickelt, welche in der Industrie praktisch anwendbare Lösungen für die Kombination kollaborativer Robotik und maschineller Lerntechniken aufzeigen.
Das realisierte Setup zeigt, wie ein Mensch und ein Robotersystem bei Aufgaben mit industrieller Relevanz zusammenarbeiten können: der Roboter als unermüdlicher, präziser Arbeiter und der Mensch als Supervisor, der den Roboter unterrichtet und Entscheidungen trifft, falls das Lernsystem nicht dazu in der Lage ist.

Dies ermöglicht eine rasche Reduzierung des menschlichen Arbeitsaufwands, vorausgesetzt, dass effektive Systeme für Machine-Vision und Incremental-Learning eingesetzt werden.

Bild 2: Schematischer Aufbau der Softwarekomponenten.
Die Kommunikationspfade α, γ, δ, sind ZMQ basiert, β
verwendet direktes UDP.


Kollaborativer Roboterassistent

Das z. B. in [8] betrachtete Framework zielt auf einen vollständigen Paradigmenwechsel von der klassischen Programmierung von Robotern (z. B. mithilfe einer Programmiersprache oder eines Handterminals) hin zu Roboterprogrammierung ab, welche nur auf Demonstration beruht. Ziel ist die Umsetzung eines Systems, das nicht völlig unprogrammiert ist, aber flexible Operationen für eine Klasse von zuvor definierten Anwendungen ermöglicht, die sich auf Demonstrationen und die Zusammenarbeit mit einem Menschen stützen. Im konkreten Falle wurde der Roboter so programmiert, dass er in der Lage ist, Objekte auf dem Förderband zu greifen und aufzunehmen, nicht aber was er mit ihnen machen soll. Zusätzlich haben wir vorgegebene Behälter für die Ablage von Objekten definiert, es wurde aber weder festgelegt welches Objekt in welchen Behälter gehört, noch welche Arten von Objekten verwendet werden. Die Plattform erlernt eigenständig, anhand von Demonstrationen durch den Menschen, die Fähigkeit Objekte in verschiedene Behälter zu sortieren. Ändert sich die gewünschte Sortierung aufgrund neuer Anforderungen, so kann der Mitarbeiter dem Roboter diese Modifikation erneut beibringen.
Die hier betrachtete Anwendung ist das Sortieren von Bauteilen in verschiedene Behälter, welche auf einem Förderband transportiert werden. Die Flexibilität besteht in der Variation von Farbe, Form, Orientierung und Zuständen der zu sortierenden Objekte.
Zu Beginn des Prozesses weiß das System nur, dass eine Pick-and-Place-Aufgabe von Objekten vom Förderband zu vorgegebenen Behältern durchgeführt werden soll. Der Mitarbeiter beginnt mit dem Sortieren der Objekte, die auf dem Förderband herangeführt werden. Währenddessen erfasst ein RGBD-Kamerasystem Informationen über die vom Menschen entnommenen Objekte und den zugehörigen Ablageort. Diese Informationen dienen als Trainingsdaten für den Machine-Learning Algorithmus.

Die industrielle Relevanz der gewählten Aufgabe kann an folgendem realen Anwendungsfall verdeutlicht werden: nach der maschinellen Bearbeitung oder dem Laserschneiden verschiedener Bauteile müssen diese nach Aufträgen bzw. für die Verpackung sortiert werden und gleichzeitig fehlerhafte, bzw. nicht den Qualitätsansprüchen genügende Teile aussortiert werden.


Hard- und Softwareausbau 

Wie in Bild 1 gezeigt, besteht das System aus einem Robotermanipulator mit 7 Freiheitsgraden (1), einem Förderband (2) und Vision-Systemen bestehend aus einer RGB-(3) und einer RGBD-Kamera (4) zur Erkennung und Verfolgung von Werkstücken auf dem Förderband und Menschen im Roboterarbeitsbereich. Ein Rechner (5) ist sowohl für die Robotersteuerung mittels Robot Operating System (ROS), als auch für die Datenerfassung und -Verarbeitung zuständig. Die für das System entwickelte Software besteht aus verschiedenen logischen Teilen (Bild 2):

1) Objekterkennung

Zur Erkennung und Segmentierung von Objekten wurde ein eigenes Bilderkennungsmodul implementiert. Diese besteht aus vier Komponenten: Bilderfassung, Bildvorverarbeitung, Objekt-Segmentierung und Objekt-Tracking. Die Objekte werden dabei vom Hintergrund (Förderband) getrennt, ihre Umrisse werden extrahiert und die so entstandenen Regions-of-Interest (ROI) von Frame zu Frame verfolgt (Tracking). Die gefundenen Objekte werden anschließend an das Machine-Learning-Modul weitergegeben.

2) Machine-Learning

Das Machine-Learning Modul besteht im Wesentlichen aus zwei Teilen; ein Learner und ein Klassifikator. Das Learner-Submodul wartet auf neue Trainingsbeispiele. Sobald eines eingeht, wird das verwendete Model direkt aktualisiert, was es ermöglicht, iteratives Lernen ohne vorherige Trainingsphase durchzuführen. Dies wird auch als Incremental-Learning oder Out-of-Core-Learning bezeichnet. Nachdem der Lerner das Modell (eine multinomiale logistische Regression) aktualisiert hat, werden noch nicht klassifizierte Bilder durch Anwendung des aktualisierten Modells neu bewertet. Nach dem Empfang neuer Bilddaten führt der Klassifikator eine Reihe von Vorverarbeitungen durch, bevor er versucht das Objekt zu klassifizieren. Dazu gehört die Überprüfung, dass das aktuelle Bild nicht zu sehr von dem abweicht, was das Lerner Modul bereits gesehen hat. Sobald ein Bild diese Vorabprüfungen bestanden hat, wird eine Vorhersage gemacht. Ist die Wahrscheinlichkeit der Vorhersage ausreichend hoch, wird das Ergebnis ausgegeben. Andernfalls wird das Bild in die Liste noch nicht klassifizierbarer Objekte aufgenommen.

3) Mitarbeiter-Tracking

Das Online-Tracking des Mitarbeiters ist sowohl für die Sicherheit als auch für das Lernen aus seinen Handlungen erforderlich. Dazu nutzen wir die Bibliotheken des Software Development Kits der Microsoft Kinect zum Segmentieren und Tracking der Körperteile. Diese Daten werden an das Robotersteuerungsmodul übertragen. 

4) Steuerung des Robotersystems

Die Steuerung des Robotersystems ist auf einem PC mit ROS umgesetzt. Diese Komponente enthält vier Submodule: Pick-and-Place-Planung, Lernphasenerkennung, Sicherheitskontrolle und die Schnittstelle zum Robotersystem zur Bewegungssteuerung. Das Pick-and-Place-Modul erfasst den Zustand des Robotersystems, um das Aufnehmen und Ablegen der Objekte vom Förderband in die richtigen Behälter zu planen. Diese Aktion ist für diejenigen Werkstücke durchzuführen, welche mit ausreichender Sicherheit klassifiziert wurden. Das Lernphasenerkennungsmodul zielt darauf ab, ein vom Menschen initiiertes Lehrereignis zu erkennen und dem Lernmodul sukzessive die entsprechenden Informationen in Form von Trainingsbeispielen zur Verfügung zu stellen. 

Das Sicherheitskontrollmodul ist so implementiert, dass es die Sicherheitsanforderungen an kollaborative Arbeitsbereiche im Rahmen einer prototypischen Umsetzung berücksichtigt. Dieses Modul überprüft laufend die Position des Mitarbeiters und die jeweils aktuelle Roboterkonfiguration, um den Roboter vor potenziellen Kollisionen sicher anzuhalten. Wir berechnen potenzielle Kollisionen, indem wir virtuelle Hüllkörper um den Roboter und den Menschen herum berücksichtigen. Die virtuellen Hüllkörper für den menschlichen Mitarbeiter werden gemäß dessen realer Größe bemessen. Die Hüllkörper um den Roboterarm werden ausreichend groß gewählt, um die Anforderungen der ISO/TS-15066:2016 [10] für den kollaborativen Modus der Geschwindigkeitsabstandsüberwachung zu berücksichtigen. 

Bild 3: Funktionsphasen des Robotersystems
mit automatischer Funktion und Unterstützung
durch den Mitarbeiter.


Funktion des Systems während einer Demonstration

Zu Beginn einer Demonstration ist dem System unbekannt, wohin es neu erkannte Objekte auf dem Förderband sortieren soll (Bild 3-C). Die anfängliche Programmierung umfasst lediglich die Informationen über den Pick-and-Place-Algorithmus und an welcher Stelle sich die drei Behälter befinden. Um die Machine-Learning-Algorithmen anzulernen, werden dem System vom Mitarbeiter die Ablageorte beigebracht. Dabei wird ein Würfel vom Förderband genommen (Bild 3-A) und in einen Behälter gelegt (Bild 3-B), wobei das System dann der jeweiligen Farbe des Würfels den Behälter zuweist. Bei jeder Erkennung eines neuen Würfels auf dem Laufband, reagiert das System mit einer Benachrichtigung als „klassifiziert“ oder „nicht klassifiziert“ in einer Echt-Zeit-Visualisierung des Systems auf einem Display. 

Ist der Würfel erkannt und somit klassifiziert worden (Bild 3-F), wird er vom Roboter aufgenommen (Bild 3-D) und in den zugehörigen Behälter gelegt (Bild 3-E). Noch vor dem Aufnehmen des Würfels durch den Roboter, wird der Behälter angezeigt, welchen das System als Endablage identifiziert, und somit dem Benutzer die Möglichkeit der Intervention im Fehlerfall geboten. Wurde ein Würfel noch nicht demonstriert (Bild 3-G) oder falsch klassifiziert (Bild 3-I) kann der Mensch durch eine Bewegung in der Nähe des Roboters denselben stoppen, und den Würfel neu zu anzulernen (Bild 3-H). Das Ergebnis dieser „Aktualisierung“ seiner Endposition wird in (Bild 3-L) aufgezeigt. Dies hat zur Folge, dass die Wahrscheinlichkeit einer Zuordnung orangefarbener Würfel (Bild 3-J) zum dedizierten Behälter (Bild 3-K) durch das zusätzliche Training erhöht werden kann.


Fazit

Das vorgestellte System erlaubt es, die Vorteile der Kombination von kollaborativer Robotik, Machine-Learning und -Vision in der Industrie anhand einer beispielhaften und bewusst einfach gehaltenen Anwendung aufzuzeigen. Diese Kombination zeigt das Potenzial eines Incremental-Learning-Robotersystems mit einer sehr flexiblen Anpassung an auch sehr kurzfristig auftretende Änderungen.

Zukünftige Aktivitäten werden sowohl die Berücksichtigung von Objekten mit unterschiedlicher Form und Farbe als auch die Analyse der Robustheit in Bezug auf suboptimale Lichtverhältnisse betreffen. Außerdem ist geplant, verschiedene Methoden der Robotersteuerungs- und Sicherheitsalgorithmen für die reaktive Pfadplanung zu validieren. Das Machine-Learning-System soll zusätzlich erweitert werden, um verschiedene Lernsysteme und Klassifikatoren miteinander vergleichen und ihre jeweilige Performance hinsichtlich Anlerndauer, Fehlerwahrscheinlichkeit und ähnlicher Parameter untersuchen zu können.

Zur effektiven Umsetzung des vorgeschlagenen Konzepts in KMUs sind jeweils anwendungsspezifische Machbarkeitsstudien und Anforderungsanalysen notwendig. Für den Implementierungsprozess im Unternehmen sind einerseits detaillierte Prozesskentnisse notwendig, andererseits Erfahrungen insbesondere in Bezug auf Anwendungsgebiete und die Grenzen maschinellen Lernens. Der Demonstrator kann von uns dabei aber bereits für einen initialen Proof-of-Concept eingesetzt werden auf welchem weitere Arbeiten aufbauen können.


Dieser Beitrag entstand im Rahmen des Projekts „Decentralized control of production processes in the factory of the future“, das vom Europäische Fonds für regionale Entwicklung EFRE 2014-2020 unter dem Kennzeichen FESR1017 (CUP B56J16001730001) gefördert wird.

 

 

Schlüsselwörter:

Flexible Automation, Kollaborative Robotik, Machine-Learning, Imitation-Learning

Literatur:

Literatur
[1] Zanchettin, A. M.; Croft, E.; Ding, H.; M. Li, M.; Collaborative Robots in the Work-place [From the Guest Editors], IEEE Robotics & Automation Magazine 25 (2018) 2, S. 16-17.
[2] Spena, P. R.; Holzner, P.; Rauch, E.; Vidoni, R.; Dominik, M. T.: Requirements for the Design of flexible and changeable Manufacturing and, in: Procedia CIRP, 2016.
[3] Haddadin, S.; Croft, E.: Physical human–robot interaction, in: Handbook of Robotics. Berlin Heidelberg 2016.
[4] Villani, V.; Pini; F.; Leali, F.; Secci, C.: Survey on human–robot collaboration in industrial settings: Safety, intuitive interfaces and applications, Mechatronics, 55 (2018), S. 248-266.
[5] Ajoudani, A.; Zanchettin, A. M.; Ivaldi, S.; Albu-Schäffer, A.; Kosuge, K.; Khatib, O.: Progress and Prospects of the Human-Robot Collaboration, Autonomous Robots, 42 (2018) 5, S. 957-975.
[6] Zanchettin, A. M.; Ceriani, N. M.; Rocco, P.; Ding, H.; Matthias, B.: Safety in human-robot collaborative manufacturing environments: Metrics and control,” IEEE Transactions on Automation Science and Engineering, 13 (2016) 2, S. 882-893.
[7] Pereira, A.; Althoff, M.: Overapproximative Human Arm Occupancy Prediction for Collision Avoidance, IEEE Transactions on Automation Science and Engineering, 15 (2018) 2, S. 818-831.
[8] Billard, A. G.; Calinon; S.; Dillmann, R.: Learning from humans, in: Handbook of Robotics. Berlin Heidelberg 2016.
[9] Giusti, A.; Zeestraten, M. J. A.; Icer, E.; Pereira, A.; Caldwell, D. G.; Calinon, S.; Althoff, M.: Flexible Automation Driven by Demonstration: Leveraging Strategies that Simplify Robotics, IEEE Robotics Automation Magazine, 25 (2018) 2, S. 18-27.
[10] ISO/TS-15066: Robots and robotic devices - Collaborative robots, International Organization for Standardization. Geneva, Schweiz 2016.