Sparkasse Marburg-Biedenkopf: Erfahrungen der Programmierung des humanoiden Roboters „Numi Pepper“

Sparkasse Marburg-Biedenkopf
Mit der abnehmenden Zahl der Filialbesuche versuchen Kreditinstitute, den seltener gewordenen Besuch in der Filiale als „Kundenerlebnis“ zu gestalten, damit der Kunde den Besuch in guter Erinnerung behält. Ende 2017 stieß die Sparkasse Marburg-Biedenkopf auf “soziale Roboter”. Das sind menschenähnliche digital-mechanische Wesen, deren hauptsächlicher Zweck die beziehungsorientierte Kommunikation mit Menschen ist. Ihre Stärken liegen in ihrem Potenzial, Menschen in und durch Beziehungen glücklich zu machen, an denen sie gemeinsam mit ihnen arbeiten. Hier nun die Erfahrungen und Erkenntnisse aus mittlerweile eineinhalb Jahren Programmierung des Roboters “NUMI Pepper”.
von Dr. Peter Franke, Michael Frantz und Patrick Heinsch

Michael Frantz, Diplom-Psychologe und Sparkassenkaufmann, ist Leiter Kommunikation der Sparkasse Marburg-Biedenkopf. Er koordiniert alle Aktivitäten rund um den humanoiden Roboter.
Patrick Heinsch schrieb 2018 seine Masterarbeit „Humanoide Assistenz-Roboter im Finanzwesen“ im Fach „Linguistics and Web Technology“ des Fachbereiches Fremdsprachliche Philologien der Philipps-Universität Marburg über NUMI und die Entwicklungsarbeit daran. Während dieser Zeit programmierte er NUMI auch.
Programmierung, Entwicklungsumgebungen, …
Wer einen sozialen Roboter programmiert, muss umdenken. Die klassische Programmieraufgabe besteht darin, ein Programm zu schreiben, das auf einem Computer ausgeführt wird, Eingaben akzeptiert und eine Ausgabe produziert. Das alles passiert im Computer ohne physische Aktionen und Präsenz in der realen Welt. Bei der Programmierung eines sozialen Roboters arbeitet der Programmierer jedoch mit einem Akteur, der die eigene Wirklichkeit teilt, in ihr Dinge wahrnehmen und darauf reagieren kann. Entsprechend muss man sich bei der Programmierung sozialer Roboter mit folgenden Bereichen beschäftigen:
1. Autonome Fähigkeiten. Soziale Roboter sind keine leblosen Puppen, die gar nichts tun bis man sich mit ihnen beschäftigt, sondern vielmehr Wesen, die durch autonom geplante und durchgeführte Bewegungen und Reaktionen die Illusion erwecken, lebendig zu sein. Bei der Programmierung sind diese autonomen Fähigkeiten mal mehr und mal weniger erwünscht, so dass man genau abwägen muss, in welchem Kontext man sie in welchem Umfang zulässt. 2. Wahrnehmung. Ein sozialer Roboter ist mit einer Vielfalt von Sensoren ausgestattet und kann so Eingaben empfangen, die über die bloße Präsenz von Menschen über audiovisuelle Perzepte und Berührungen bis hin zu Spracheingaben im Rahmen eines Dialogs reichen. Für jede Anwendung muss genau festgelegt werden, welche Eingaben wann zugelassen werden, wie komplex diese Eingaben sein dürfen, und wie der Roboter darauf reagieren soll. 3. Bewegung. Hierzu gehören sowohl Fortbewegung als auch Animationen, die sorgfältig geplant und koordiniert werden müssen, vor allem wenn es um Bewegungsabläufe und Bewegungssequenzen geht. Außerdem spielt das Thema Sicherheit hier eine Rolle, denn es gilt sowohl Kollisionen des Roboters mit seiner Umgebung als auch zwischen dem Roboter und seinen eigenen Extremitäten zu vermeiden.
Sparkasse Marburg-Biedenkopf

Sparkasse Marburg-Biedenkopf
Die Entwicklungswerkzeuge
Glücklicherweise stellen die Hersteller von sozialen Robotern Programmierschnittstellen, Entwicklungssprachen und Entwicklungsumgebungen zur Verfügung, mit denen sich diese Aspekte und ihr Zusammenspiel im Rahmen der Anwendungsentwicklung realisieren lassen. Im Folgenden werden beispielhaft die Werkzeuge beschrieben, die für die Entwicklung von Anwendungen für das Robotermodell Pepper von Softbank Robotics in der Sparkasse eingesetzt werden.

Sparkasse Marburg-Biedenkopf

Sparkasse Marburg-Biedenkopf
Programmiert wurden Anwendungen in der Sprache Python unter Zuhilfenahme einer von Softbank Robotics zur Verfügung gestellten grafischen Entwicklungsumgebung namens Choregraphe, mit der man einfache Anwendungen durch Verknüpfung von grafisch dargestellten modularen Code-Blöcken realisieren konnte. Außerdem besaß Choregraphe integrierte Editoren für Animationen und Bewegungspfade. Für die Programmierung von Inhalten für das Tablet musste man HTML, CSS und JavaScript beherrschen, denn auf dem Tablet lief lediglich ein Webbrowser und die in diesem Browser gezeigte Webseite war die grafische Benutzerschnittstelle der Roboteranwendung. Dialoge wurden in einer weiteren Sprache namens QiChat geschrieben, mit der man Dialogthemen erstellte, die aus ineinander verschachtelten Regeln für die Behandlung von natürlichsprachlichen Benutzereingaben sowie “Vorschlägen” für sprachliche Beiträge des Roboters zum Dialog bestanden. Die Koordination von Roboterverhalten, Tablet-Interaktion und Dialog in dieser Umgebung war eine echte Herausforderung für den Programmierer und erforderte es, dass sich Roboter, Dialog und Tablet die Bälle immer richtig zuspielen mussten.

Sparkasse Marburg-Biedenkopf
Mit der aktuellen NaoQi-Version 2.9 hat Softbank Robotics einen radikalen Schnitt in der Entwicklung von Anwendungen für Pepper vollzogen. So gut wie alles, was im vorigen Abschnitt gesagt wurde, gilt für Version 2.9 nicht mehr. Zwar besteht die Plattform immer noch aus Roboter und Tablet, aber jetzt werden alle Anwendungen für das Tablet entwickelt und auch dort installiert. Während zuvor das Tablet im Wesentlichen ein Anhängsel des Roboters war, ist es seit Version 2.9 genau umgekehrt.
Unter NaoQi 2.5.10 wurden die Verarbeitungskapazitäten des Tablets nur rudimentär ausgenutzt, während der Roboter neben seinem eigenen Betrieb auch noch die Anwendung verwalten musste. Mit Version 2.9 laufen die Anwendungen auf dem Tablet und der Roboter wird nur noch tätig, wenn er im Zuge einer Anwendung gebraucht wird.Dem Tablet kommt bei der Anwendungsentwicklung die zentrale Rolle zu, der Roboter ist nur noch Erfüllungsgehilfe. Das hat den großen Vorteil einer Umverteilung der Arbeitslast bei der Anwendungsausführung.”
Ebenfalls komplett anders ist die Software-Umgebung für Roboteranwendungen. Anwendungen für 2.9 werden ausschließlich als Applikationen für Googles Android entwickelt und in Java programmiert.”
Python, HTML, CSS und JavaScript sind dagegen Schnee von gestern. Dasselbe gilt für Choregraphe, das durch Android Studio mit einem Plug-In zur Interaktion mit Pepper sowie mit integrierten Werkzeugen für die Erstellung von Animationen, Dialogen und Bewegungspfaden ersetzt wurde.

Sparkasse Marburg-Biedenkopf
Der große Vorteil des radikalen Schnitts ist, dass Programmierer mit einer ausgereiften Plattform, Sprache und Entwicklungsumgebung arbeiten können und sich mit sehr viel weniger Entwicklungssprachen als bisher herumschlagen müssen. Der große Nachteil für all diejenigen, die schon einen Katalog an Choregraphe/Python-Anwendungen haben, ist jedoch, dass sie alle Anwendungen noch einmal für Android neu entwickeln müssen, denn NaoQi 2.9 ist nicht abwärtskompatibel, d.h. sämtliche Choregraphe/Python-Anwendungen laufen nicht mehr. Werkzeuge, die die Migration erleichtern, existieren leider nicht. Außerdem müssen Choregraphe/Python-Entwickler ohne Android-Hintergrund mit einer gewissen Lernkurve rechnen, bis sie die neue Entwicklungsumgebung beherrschen. Zusätzlich wird mit 2.9 die Latte für die Entwicklung von Roboter-Anwendungen noch einmal höher gelegt, denn mit Android Studio lassen sich Anwendungen nicht mal eben schnell durch das Verknüpfen von grafischen Blöcken entwickeln, so wie in Choregraphe.
Zwar existiert die Sprache QiChat für die Dialogerstellung noch, jedoch hat sich auch hier die Syntax in etlichen Bereichen verändert. Außerdem sind Elemente weggefallen, die bis 2.5.10 noch zur Verfügung standen.
Das vereinfacht zwar das Erlernen der Sprache, engt aber auch den Spielraum des Entwicklers ein, weil einige liebgewordene Helferlein unter 2.9 nicht mehr zur Verfügung stehen.”
Dasselbe gilt übrigens auch für QiSDK, die Programmierschnittstelle zu Pepper, im Allgemeinen. Auch hier wurde der Funktionsumfang gegenüber 2.5.10 eingedampft. Dieser Maßnahme sind vor allem etliche Low-Level-Funktionen zum Opfer gefallen, die in der täglichen Programmierpraxis durchaus nützlich waren. Der Vorteil ist jedoch, dass die Programmierschnittstelle deutlich übersichtlicher geworden ist.

Sparkasse Marburg-Biedenkopf
Sie finden diesen Artikel im Internet auf der Website:
https://itfm.link/93328

Schreiben Sie einen Kommentar