Microsoft-Forscher haben die Fähigkeiten von ChatGPT auf die Robotik ausgeweitet und mehrere Plattformen wie Roboterarme, Drohnen und Heimassistenzroboter intuitiv mit Sprache gesteuert.

Microsoft researchers have extended ChatGPT’s capabilities to robotics, intuitively controlling multiple platforms such as robotic arms, drones and home assistance robots with speech.

Das Team der  Microsoft Autonomous Systems and Robotics Research Group  hat erforscht, wie natürliche Mensch-Roboter-Interaktionen mit Hilfe des neuen KI-Sprachmodells ChatGPT von OpenAI möglich werden.

ChatGPT ist ein Sprachmodell, das auf einem riesigen Korpus von Texten und menschlichen Interaktionen trainiert wurde, so dass es kohärente und grammatikalisch korrekte Antworten auf eine Vielzahl von Aufforderungen und Fragen erzeugen kann. Das Ziel der Forscher ist es, herauszufinden, ob ChatGPT über Text hinaus denken und die physische Welt verstehen kann, um bei Robotikaufgaben zu helfen.

So können Menschen einfacher mit Robotern interagieren, ohne komplexe Programmiersprachen oder Details über Robotersysteme lernen zu müssen. Die größte Herausforderung besteht darin, ChatGPT beizubringen, wie es Probleme unter Berücksichtigung der physikalischen Gesetze, des Kontextes der Betriebsumgebung und der Art und Weise, wie die physischen Aktionen des Roboters den Zustand der Welt verändern können, lösen kann.

Es hat sich herausgestellt, dass ChatGPT eine Menge selbst tun kann, aber es braucht noch etwas Hilfe. Das technische Papier beschreibt eine Reihe von Konstruktionsprinzipien, die verwendet werden können, um Sprachmodelle zur Lösung von Robotikaufgaben zu führen. Dazu gehören u. a. spezielle Prompting-Strukturen, High-Level-APIs und menschliches Feedback über Text.

Herausforderungen in der Robotik und wie ChatGPT helfen kann

Aktuelle Robotik-Pipelines beginnen mit einem Ingenieur oder technischen Benutzer, der die Anforderungen der Aufgabe in Code für das System übersetzen muss. Der Ingenieur sitzt in der Schleife, was bedeutet, dass er neuen Code und Spezifikationen schreiben muss, um das Verhalten des Roboters zu korrigieren. Insgesamt ist dieser Prozess langsam (der Benutzer muss Low-Level-Code schreiben), teuer (erfordert hochqualifizierte Benutzer mit tiefem Wissen über Robotik) und ineffizient (erfordert mehrere Interaktionen, damit die Dinge richtig funktionieren).

Robotik versus ChatGPT

ChatGPT eröffnet ein neues Robotik-Paradigma und ermöglicht es einem (möglicherweise nicht-technischen) Benutzer, in der Schleife zu sitzen und dem großen Sprachmodell (Large Language Model, LLM) High-Level-Feedback zu geben, während er die Leistung des Roboters überwacht. Durch Befolgung dieser Designprinzipien kann ChatGPT Code für Robotikszenarien generieren.

Ohne jegliche Feinabstimmung nutzen die Forscher das Wissen des LLM, um verschiedene Roboterformfaktoren für eine Vielzahl von Aufgaben zu steuern.

Robotik mit ChatGPT: Konstruktionsprinzipien

Die Eingabeaufforderung von LLMs ist eine höchst empirische Wissenschaft. Durch Versuch und Irrtum haben die Microsoft-Experten eine Methodik und eine Reihe von Designprinzipien für das Schreiben von Prompts für Robotikaufgaben entwickelt:

Zunächst definieren sie eine Reihe von High-Level-Roboter-APIs oder eine Funktionsbibliothek. 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 ihr Verhalten schließen kann;

Als nächstes schreiben sie einen Textprompt für ChatGPT, der das Aufgabenziel beschreibt und gleichzeitig explizit angibt, welche Funktionen aus der High-Level-Bibliothek verfügbar sind. Der Prompt kann auch Informationen über Aufgabenbeschränkungen enthalten, oder wie ChatGPT seine Antworten formulieren soll (spezifische Kodierungssprache, Verwendung von Hilfs-Parsing-Elementen);

Der Benutzer bleibt in der Schleife, um die Codeausgabe von ChatGPT zu bewerten, entweder durch direkte Inspektion oder mit Hilfe eines Simulators. Falls erforderlich, verwendet der Benutzer natürliche Sprache, um ChatGPT Feedback über die Qualität und Sicherheit der Antwort zu geben. Wenn der Benutzer mit der Lösung zufrieden ist, kann der endgültige Code auf dem Roboter eingesetzt werden.

Zero-Shot-Aufgabenplanung

Das Forschungsteam gab ChatGPT Zugriff auf Funktionen, die eine echte Drohne steuern, und es erwies sich als eine äußerst intuitive sprachbasierte Schnittstelle zwischen dem nichttechnischen Benutzer und dem Roboter. ChatGPT stellte Klärungsfragen, wenn die Anweisungen des Benutzers nicht eindeutig waren, und schrieb komplexe Codestrukturen für die Drohne, wie z. B. ein Zick-Zack-Muster zur visuellen Inspektion von Regalen. Sie hat sogar herausgefunden, wie man ein Selfie macht.

Außerdem wurde ChatGPT auch in einem simulierten industriellen Inspektionsszenario mit dem Microsoft AirSim Simulator eingesetzt. Das Modell war in der Lage, die Absicht des Benutzers und die geometrischen Hinweise effektiv zu analysieren, um die Drohne präzise zu steuern.

Benutzer in der Schleife

Als nächstes haben die Forscher ChatGPT in einem Manipulationsszenario mit einem Roboterarm eingesetzt. Sie nutzten das Gesprächsfeedback, um dem Modell beizubringen, wie es die ursprünglich bereitgestellten APIs zu komplexeren High-Level-Funktionen zusammensetzen kann, die ChatGPT selbst kodiert. Mithilfe einer auf dem Lehrplan basierenden Strategie war das Modell in der Lage, diese erlernten Fähigkeiten logisch miteinander zu verknüpfen, um Operationen wie das Stapeln von Blöcken durchzuführen.

Darüber hinaus zeigte das Modell ein faszinierendes Beispiel für die Verknüpfung von Text- und physischen Bereichen, als es das Microsoft-Logo aus Holzklötzen bauen sollte. Es war nicht nur in der Lage, das Logo aus seiner internen Wissensdatenbank abzurufen, sondern auch das Logo (als SVG-Code) zu „zeichnen“ und dann die oben gelernten Fähigkeiten zu nutzen, um herauszufinden, welche bestehenden Roboteraktionen seine physische Form bilden können.

Als Nächstes beauftragten die Experten ChatGPT, einen Algorithmus für eine Drohne zu schreiben, die ein Ziel im Weltraum erreichen und dabei nicht mit Hindernissen kollidieren soll. Sie teilten dem Modell mit, dass diese Drohne einen nach vorne gerichteten Entfernungssensor hat, und ChatGPT kodierte die meisten der wichtigsten Bausteine für den Algorithmus sofort. Diese Aufgabe erforderte eine gewisse Konversation mit dem Menschen.

Wahrnehmungs-Aktions-Schleifen:

Die Fähigkeit, die Welt zu erfassen (Wahrnehmung), bevor man etwas tut (Aktion), ist für jedes Robotersystem von grundlegender Bedeutung. ChatGPTs Verständnis für dieses Konzept wurde getestet. Es sollte eine Umgebung zu erkunden, bis es ein vom Benutzer angegebenes Objekt findet. Das Modell erhielt Zugang zu Funktionen wie Objekterkennung und Objektdistanz-APIs und überprüfte, ob der von ihm generierte Code erfolgreich eine Wahrnehmungs- und Handlungsschleife implementierte.

Experimente prüften, ob ChatGPT in der Lage ist, auf der Grundlage von Sensorfeedback in Echtzeit zu entscheiden, wohin der Roboter gehen soll (im Gegensatz zu einer von ChatGPT generierten Codeschleife, die diese Entscheidungen trifft). Das Modell war in der Lage, herauszufinden, wie der Roboter gesteuert werden kann, bis er ein bestimmtes Objekt erreicht.

PromptCraft, ein kollaboratives Open-Source-Tool für LLM+Robotik-Forschung

Ein gutes Prompt-Engineering ist entscheidend für den Erfolg von LLMs wie ChatGPT für Robotikaufgaben. Leider ist Prompting eine empirische Wissenschaft, und es gibt einen Mangel an umfassenden und zugänglichen Ressourcen mit guten (und schlechten) Beispielen, die Forschern und Enthusiasten auf diesem Gebiet helfen.

Um diese Lücke zu schließen haben die Microsoft-Forscher PromptCraft entwickelt, eine gemeinschaftliche Open-Source-Plattform, auf der jeder Beispiele für Prompting-Strategien für verschiedene Robotik-Kategorien austauschen kann. Neben der Entwicklung von Prompts sollen auch mehrere Robotersimulatoren und -schnittstellen eingebunden werden, damit die Benutzer ihre mit ChatGPT generierten Algorithmen testen können. Als erstes gibt es eine AirSim-Umgebung mit ChatGPT-Integration, die jeder nutzen kann, um mit diesen Ideen zu beginnen.

Dennoch betonen die Forscher, dass die Ergebnisse von ChatGPT nicht dazu gedacht sind, ohne sorgfältige Analyse direkt auf Robotern eingesetzt zu werden. Benutzer sollten die Leistung von Simulationen zu nutzen, um diese Algorithmen vor einem möglichen Einsatz im wirklichen Leben zu bewerten, und immer die notwendigen Sicherheitsvorkehrungen zu treffen.

The Microsoft Autonomous Systems and Robotics Research Group team has been exploring how to enable natural human-robot interactions using OpenAI’s new ChatGPT AI language model.

ChatGPT is a language model that has been trained on a huge corpus of texts and human interactions so that it can produce coherent and grammatically correct responses to a variety of prompts and questions. The researchers‘ goal is to see if ChatGPT can think beyond text and understand the physical world to help with robotic tasks.

This will make it easier for humans to interact with robots without having to learn complex programming languages or details about robotic systems. The biggest challenge is teaching ChatGPT how to solve problems given the laws of physics, the context of the operating environment, and how the robot’s physical actions can change the state of the world.

It turns out that ChatGPT can do a lot by itself, but it still needs some help. The technical paper describes a set of design principles that can be used to guide language models to solve robotics tasks. These include special prompting structures, high-level APIs, and human feedback over text.

Challenges in robotics and how ChatGPT can help

Current robotics pipelines start with an engineer or technical user who must translate task requirements into code for the system. The engineer sits in the loop, which means writing new code and specifications to correct the robot’s behavior. Overall, this process is slow (requires the user to write low-level code), expensive (requires highly skilled users with deep knowledge of robotics), and inefficient (requires multiple interactions to make things work properly).

Robotics versus ChatGPT

ChatGPT opens up a new robotics paradigm, allowing a (possibly non-technical) user to sit in the loop and provide high-level feedback to the large language model (LLM) while monitoring the robot’s performance. By following these design principles, ChatGPT can generate code for robotic scenarios.

Without any fine-tuning, researchers use the LLM’s knowledge to control different robot form factors for a variety of tasks.

Robotics with ChatGPT: design principles

The prompting of LLMs is a highly empirical science. Through trial and error, Microsoft experts have developed a methodology and set of design principles for writing prompts for robotics tasks:

First, they define a set of high-level robotic APIs, or a function library. This library can be specific to a particular robot and should map to existing low-level implementations from the robot’s control stack or a perception library. It is very important to use descriptive names for the high-level APIs so that ChatGPT can infer their behavior;

Next, they write a text prompt for ChatGPT that describes the task goal while explicitly stating which functions are available from the high-level library. The prompt may also contain information about task constraints, or how ChatGPT should formulate its responses (specific encoding language, use of auxiliary parsing elements);

The user remains in the loop to evaluate ChatGPT’s code output, either by direct inspection or using a simulator. If necessary, the user uses natural language to provide feedback to ChatGPT about the quality and safety of the response. When the user is satisfied with the solution, the final code can be deployed on the robot.

Zero-Shot Task Scheduling

The research team gave ChatGPT access to features that control a real drone, and it proved to be a highly intuitive voice-based interface between the non-technical user and the robot. ChatGPT asked clarification questions when the user’s instructions were ambiguous and wrote complex code structures for the drone, such as a zigzag pattern for visually inspecting shelves. She even figured out how to take a selfie.

ChatGPT was also used in a simulated industrial inspection scenario using the Microsoft AirSim simulator. The model was able to effectively analyze user intent and geometric cues to accurately control the drone.

User in the loop

Next, the researchers used ChatGPT in a manipulation scenario with a robotic arm. They used conversational feedback to teach the model how to assemble the initially provided APIs into more complex high-level functions that ChatGPT itself encodes. Using a curriculum-based strategy, the model was able to logically link these learned capabilities to perform operations such as stacking blocks.

In addition, the model demonstrated a fascinating example of linking text and physical domains when it was asked to build the Microsoft logo out of wooden blocks. Not only was it able to retrieve the logo from its internal knowledge base, but it was also able to „draw“ the logo (as SVG code) and then use the skills learned above to figure out which existing robot actions could form its physical shape.

Next, the experts tasked ChatGPT to write an algorithm for a drone to reach a target in space while not colliding with obstacles. They told the model that this drone would have a forward-facing range sensor, and ChatGPT immediately coded most of the key building blocks for the algorithm. This task required some conversation with the human.

Perception-Action Loops:

The ability to sense the world (perception) before doing anything (action) is fundamental to any robotic system. ChatGPT’s understanding of this concept has been tested. It was asked to explore an environment until it found an object specified by the user. The model was given access to features such as object recognition and object distance APIs, and verified that the code it generated successfully implemented a perception and action loop.

Experiments tested whether ChatGPT was able to decide where the robot should go based on sensor feedback in real time (as opposed to a code loop generated by ChatGPT making these decisions). The model was able to figure out how to control the robot until it reached a specific object.

PromptCraft, an open-source collaborative tool for LLM+robotics research

Good prompt engineering is critical to the success of LLMs like ChatGPT for robotics tasks. Unfortunately, prompting is an empirical science, and there is a lack of comprehensive and accessible resources with good (and bad) examples to help researchers and enthusiasts in the field.

To address this gap, Microsoft researchers have developed PromptCraft, a collaborative open-source platform where anyone can share examples of prompting strategies for different robotics categories. In addition to developing prompts, the idea is to include several robot simulators and interfaces so users can test their ChatGPT-generated algorithms. For starters, there is an AirSim environment with ChatGPT integration that anyone can use to get started with these ideas.

Still, the researchers stress that ChatGPT results are not intended to be used directly on robots without careful analysis. Users should leverage the power of simulations to evaluate these algorithms before possible use in real life, and always take the necessary safety precauti

Von Jakob Jung

Dr. Jakob Jung ist Chefredakteur Security Storage und Channel Germany. Er ist seit mehr als 20 Jahren im IT-Journalismus tätig. Zu seinen beruflichen Stationen gehören Computer Reseller News, Heise Resale, Informationweek, Techtarget (Storage und Datacenter) sowie ChannelBiz. Darüber hinaus ist er für zahlreiche IT-Publikationen freiberuflich tätig, darunter Computerwoche, Channelpartner, IT-Business, Storage-Insider und ZDnet. Seine Themenschwerpunkte sind Channel, Storage, Security, Datacenter, ERP und CRM. Dr. Jakob Jung is Editor-in-Chief of Security Storage and Channel Germany. He has been working in IT journalism for more than 20 years. His career includes Computer Reseller News, Heise Resale, Informationweek, Techtarget (storage and data center) and ChannelBiz. He also freelances for numerous IT publications, including Computerwoche, Channelpartner, IT-Business, Storage-Insider and ZDnet. His main topics are channel, storage, security, data center, ERP and CRM. Kontakt – Contact via Mail: jakob.jung@security-storage-und-channel-germany.de

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

WordPress Cookie Hinweis von Real Cookie Banner