AI Computer Vision in RPA

Virtuelle Desktop Infrastrukturen (VDIs) rund um Citrix, VMware oder Windows Remote Desktop stellen für Robotic Process Automation (RPA) einige Herausforderungen dar. Im Generellen setzt RPA auf sogenannte Selektoren, die zugrundeliegende Eigenschaften von User Interfaces (UI) und deren Elemente benutzen. Textfelder und Buttons in nativen Desktop-Systemen werden in dieser Manier identifiziert und korrekt gesetzte Einstellungen führen zu verlässlichen und robusten Prozeduren. Das UI, das wir in virtuellen Umgebungen angezeigt bekommen, ist lediglich ein Bild, das vom Remote Desktop her übermittelt wird. In diesem Falle können keine Selektoren identifiziert werden. Bestrebungen zur Automatisierung laufen deshalb auf Optical Character Recognition (OCR) oder «Image Matching» hinaus. Diese Methoden sind nicht gleich verlässlich wie die beschriebenen Selektoren, doch können dennoch positive Resultate erzielt werden. Allerdings gilt es zu beachten, dass bereits kleine Anpassungen des UIs oder bei der Verwendung einer anderen Bildschirmauflösung Ungenauigkeiten und Fehler entstehen können, die die Automatisierung hindern.

Mit «AI Computer Vision» von UiPath werden diese Herausforderungen gemeistert. Ein Algorithmus (1) ermöglicht menschenähnliche Erkennung von User Interfaces, durch «Benutzung einer Mischung aus AI, OCR, fuzzy matching von Texten und einem Anker-System, das alles zusammenhält». Als Folge davon ermöglichen die Aktivitäten dem Software-Roboter die visuelle Identifizierung von übermittelten Elementen des Remote Desktops. Demnach setzt AI Computer Vision nicht auf Image Matching, was die automatisierten Prozessschritte im Workflow resistent gegen Interface Anpassungen oder einer veränderten Bildschirm-Auflösung. Zusätzlich zu den oben erwähnten Möglichkeiten können die Computer Vision Aktivitäten für die Element-Erkennung in anderen Fällen wie z.B. in SAP, Silverlight, PDFs oder für Bilder im Generellen.

Um die Computer Vision Aktivitäten in UiPath Studio einsetzen zu können, ist das offizielle Package von UiPath «UiPath.ComputerVision.Activities» hinzuzufügen. Eine Demo zu AI Computer Vision kann unter diesem Link abgerufen werden:

(1) Der Algorithmus ist bereits in der Software integriert und wird auch von UiPath selbst verbessert, nicht vom User. Es benötigt demnach keine Vorlaufzeit und kein individuelles Anlernen des Machine Learning-Algorithmus, bevor man die Aktivitäten selbst anwenden kann. Falls jemand aus der UiPath Community ein Element in einer virtuellen Umgebung entdeckt, welches noch nicht identifizierbar ist, kann das Element oder der Bereich mit einer einfachen Funktion an UiPath gemeldet werden. Dies verbessert AI Computer Vision für alle Entwickler und Anwender.

Routinuum GmbH - Ihr Integrationspartner?

Unser Unternehmen ist spezialisiert in der Konzeption und Umsetzung von RPA-Projekten und ein UiPath Partner. Wir begleiten unsere Kunden in allen Projektphasen, um die Möglichkeiten dieser Technologie langfristig in der jeweiligen Organisation zu verankern. Haben wir Ihr Interesse geweckt? Kontaktieren Sie uns gerne unverbindlich, um mehr Informationen zum Thema zu erhalten oder die Einsatzmöglichkeiten in Ihrem Unternehmen zu besprechen.

Roman Tobler, +41 76 464 42 84, roman.tobler@routinuum.ch

Routinuum GmbH - Challenge Routine. - www.routinuum.ch

RPA Software-Komponenten

In diesem Beitrag wird der grundsätzliche Aufbau einer Robotic Process Automation-Software und deren Komponente weiter aufgebohrt. Ein RPA-Werkzeug besteht in der Regel aus drei verschiedenen Teilen, welche nachfolgend detailliert vorgestellt werden:

  • Entwicklungsumgebung (Studio)
  • Ablaufumgebung (Orchestrator / Steuerzentrale)
  • "Software-Roboter", mithilfe deren die Prozesse auf einem Rechner oder Server ausgeführt werden

Jede Komponente hat eigene Eigenschaften und wird in einer grösseren Installation von unterschiedlichen Benutzern benutzt und bedient. Somit werden entsprechende Rechte & Zugriffe verwaltet, um vorbeugend einigen IT-Sicherheitsaspekten gerecht zu werden. Als erstes wird das Studio zur Entwicklung der "Roboterprozesse" vorgestellt.

RPA - Software-Komponenten

Entwicklungsumgebung (Studio)

Die Workflows und Aktivitäten werden in einer Studio-Software mittels Drag-and-Drop-Funktionalität zusammengestellt und entsprechend konfiguriert. Alternativ - oder ergänzend - können (Teil-)Abläufe direkt von einem User ausgeführt und zugleich mit einem Rekorder aufgezeichnet werden - analog dem Makro Rekorder in VBA, wie man ihn vielleicht bereits aus einem Produkt der Microsoft Office-Palette kennt. Die entwickelten Prozesse können jederzeit mittels Debugging Schritt für Schritt ausgeführt und getestet werden. Eine gewisse Skalierbarkeit beim Automatisieren von Prozessen ist ebenfalls gegeben: (Teil-)Prozesse in anderen Abläufen können als sogenannte "Snippets" wiederverwendet werden. Ein Entwickler kann so gleiche Arbeitsschritte in einen anderen Prozess integrieren.

Obschon die Prozesse grundsätzlich von Entwicklern basierend auf den fachlichen Anforderungen erarbeitet und aufgezeichnet werden, führt ein Developer diese nicht selbst in der Produktionsumgebung aus. Eine explizite Trennung der Development, UAT und Live-Umgebung wird klar empfohlen. Um das Potenzial des RPA-Werkzeuges vollumfänglich zu nutzen und Security-Aspekten gerecht zu werden, sind weitere Software-Komponenten notwendig.

Live-Umgebung (Orchestrator / Steuerzentrale & Robot)

In der Live-Umgebung ist einerseits eine Steuerzentrale (Orchestrator / Management Konsole) vorzufinden. Fertiggestellte Prozesse werden auf diese Plattform hochgeladen und dort genehmigt - mit entsprechendem Versionsverlauf. In dieser Steuerzentrale lassen sich Benutzer, Rechte sowie alle Prozesse und Geräte verwalten. Zudem können Abläufe manuell gestartet oder aber auch Terminplanungen für die automatische Ausführung eingepflegt werden. Logs und generelle Monitoring-Funktionen geben Auskunft über die Roboter-Aktivitäten und helfen sowohl bei der Verbesserung der Prozesse wie auch beim Auditing.

Die dritte Komponente einer RPA-Software besteht aus den "Software-Robotern" selbst. Es handelt sich keineswegs um physische Roboter, die beispielsweise in einer Produktionshalle vorzufinden sind. Sehr vereinfacht gesagt imitiert die Software die Maus- und Tastaturbefehle, die ein Benutzer bei der Ausführung des Prozesses durchführt. Eine wichtige Unterscheidung besteht darin, dass es begleitete und unbegleitete Roboter (attended/unattended) gibt. Ein begleiteter Roboter wird auf dem Gerät des Benutzers ausgeführt und im Normalfall durch den User selbst gestartet. Der Nutzer wird somit spezifisch unterstützt, der Roboter benötigt jedoch Input und die Entscheidungen des Benutzers. Ein unbegleiteter Roboter arbeitet hingegen im Hintergrund oder gar auf einem Server. Die Prozesse werden basierend auf verschiedenen Ereignissen oder aufgrund der Scheduling-Möglichkeiten in der Steuerzentrale automatisch gestartet. Bei der unbegleiteten Robotic Process Automation werden die Aktivitäten im Hintergrund ausgeführt, somit ist die Geschwindigkeit bei der Ausführung zudem höher, da die Elemente nicht zusätzlich am Bildschirm des Benutzers dargestellt werden müssen. Je nach Prozess ist zu evaluieren, welche Art von Software-Roboter geeignet ist. Es ist zudem denkbar, dass begleitete Roboter in einer ersten Phase implementiert werden, damit sich die User und die gesamte Organisation an die neuen Möglichkeiten und den Umgang mit den Software-Robotern gewöhnen können. Dieses Vorgehen kann die Akzeptanz fördern und sich somit positiv auf das Change Management und die Kommunikation innerhalb des Unternehmens auswirken.

Abschliessende Überlegungen und Anmerkungen

Auf dem Markt finden sich eine Vielzahl an RPA-Software-Anbieter und die Komponenten werden je nach Produkt unterschiedlich benannt. Im Grundsatz sind die Plattformen jedoch gleich aufgebaut und haben ihre relativen Stärken und Schwächen. Wir (mit der Firma Routinuum) sind spezialisierter Integrationspartner der RPA-Software von UiPath. Die drei Komponenten heissen da UiPath Studio, UiPath Orchestrator und UiPath Robot. Die obige Darstellung der Komponenten ermöglicht ein genaueres Verständnis einer RPA-Software. In der effektiven Umsetzung eines RPA-Projektes kann die Architektur etwas detaillierter sein und richtet sich nach den Anforderungen des Unternehmens.