Microsoft beabsichtigt, ChatGPT zur Steuerung von Robotern durch Sprache zu verwenden

In einem kürzlich veröffentlichten Papier haben Forscher der Microsoft Autonomous Systems and Robotics Group gezeigt, wie ChatGPT von OpenAI für Robotikanwendungen genutzt werden kann, einschließlich der Gestaltung von Prompts und der Anweisung an ChatGPT, spezifische Roboterbibliotheken zur Programmierung der jeweiligen Aufgabe zu verwenden.

Wie die Microsoft-Ingenieure erklären, beruht die derzeitige Robotik auf einer engen Rückkopplung zwischen dem Roboter und einem Ingenieur, der dafür verantwortlich ist, die Aufgabe zu programmieren, das Verhalten des Roboters zu beobachten und es durch das Schreiben zusätzlichen Codes zu korrigieren.

In der Vision von Microsoft könnte ChatGPT verwendet werden, um eine Beschreibung der zu erledigenden Aufgabe in menschlicher Sprache in Code für den Roboter zu übersetzen. Dies würde es ermöglichen, den Ingenieur (in der Schleife) durch einen nicht-technischen Benutzer (in der Schleife) zu ersetzen, der nur dafür verantwortlich ist, die ursprüngliche Aufgabenbeschreibung in menschlicher Sprache zu liefern, den Roboter zu beobachten und jegliches Feedback über das Verhalten des Roboters zu geben, wiederum in menschlicher Sprache, das ChatGPT ebenfalls in Code umwandeln würde, um das Verhalten zu verbessern.

Mithilfe ihres experimentellen Ansatzes erstellten die Microsoft-Forscher eine Reihe von Fallstudien, darunter die Zero-Shot-Aufgabenplanung, um eine Drohne anzuweisen, den Inhalt eines Regals zu inspizieren; die Manipulation von Objekten durch einen Roboterarm; die Suche nach einem bestimmten Objekt in einer Umgebung unter Verwendung von Objekterkennungs- und Objektentfernungs-APIs; und andere.

In all diesen Fällen war ChatGPT laut Microsoft in der Lage, den Code zur Steuerung des Roboters zu generieren und bei unklaren Benutzereingaben um Erläuterungen zu bitten, um die Aufgabe besser ausführen zu können.

Microsofts Arbeit, ChatGPT für Roboteranwendungen nutzbar zu machen, konzentrierte sich auf drei Hauptuntersuchungsbereiche: die Gestaltung von Aufforderungen zur Steuerung von ChatGPT, die Verwendung von APIs und die Entwicklung neuer High-Level-APIs sowie die Bereitstellung von menschlichem Feedback durch Text. Diese drei Bereiche stellen die Grundpfeiler einer Methodik zur Verwendung von ChatGPT für Roboteraufgaben dar.

In einem ersten Schritt definiert der Benutzer eine Reihe von High-Level-APIs oder Funktionsbibliotheken, die ChatGPT verwenden soll.

Diese Bibliothek kann spezifisch für einen bestimmten Roboter sein und sollte auf bestehende Low-Level-Implementierungen aus dem Kontrollstapel des Roboters oder einer Wahrnehmungsbibliothek abbilden. Es ist sehr wichtig, beschreibende Namen für die High-Level-APIs zu verwenden, damit ChatGPT auf deren Verhalten schließen kann.

Im zweiten Schritt gibt der Benutzer eine Beschreibung des Aufgabenziels in Form der verfügbaren APIs oder Funktionen an.

Die Eingabeaufforderung kann auch Informationen über Aufgabenbeschränkungen enthalten oder darüber, wie ChatGPT seine Antworten formulieren soll (spezifische Kodierungssprache, Verwendung von Hilfs-Parsing-Elementen).

Schließlich bewertet der Benutzer den Code von ChatGPT, indem er einen Simulator benutzt oder den Code inspiziert, und gibt ChatGPT Feedback, damit es seinen Code korrigiert.

Wenn das Ergebnis für den Benutzer zufriedenstellend ist, kann ein Roboter mit dem generierten Code programmiert werden.

Microsoft startet außerdem eine kollaborative Open-Source-Plattform für Benutzer, um Prompting-Strategien für verschiedene Roboterkategorien auszutauschen, die im Moment alle Prompts und Gespräche enthält, die das Microsoft-Team für seine Forschung verwendet hat. Darüber hinaus ist geplant, Roboter-Simulatoren und Schnittstellen hinzuzufügen, um die von ChatGPT generierten Algorithmen zu testen.