Microsoft предложила использовать ChatGPT для управления роботами


Исследователи из Microsoft показали как можно использовать мощь ChatGPT для интуитивного управления роботами при помощи естественных языковых команд. В качестве примера показано управление роботом-манипулятором, дроном и домашним роботом-помощником.

ChatGPT — это большая языковая модель (large language model (LLM)), обученная на огромном корпусе текстов и примерах диалогов, что позволяет ей генерировать связные и грамматически правильные ответы на широкий спектр вопросов.

Исследователи решили проверить — сможет ли ChatGPT помочь с задачами управления роботами. Цель исследования — упростить людям взаимодействие с роботами, без необходимости изучения языков программирования и деталей работы робототехнических систем.

Как оказалось, модель ChatGPT уже достаточно мощная, чтобы помочь в этой задаче, но ей требуется правильно сформулировать контекст задачи: указать специальные структуры подсказок и высокоуровневого API.

Таким образом, вместо классического подхода когда инженер-робототехник переводит требования задачи в код для робототехнической системы, управляющей поведением робота — использование такой мощной языковой модели как ChatGPT открывает возможности для новой  парадигмы взаимодействия пользователя и робототехнических систем.

ChatGPT для управления роботами

Теперь пользователь не пишет код сам, а взаимодействует с  большой языковой моделью, которая обеспечивает высокоуровневую обратную связь и сама генерирует код для управления роботом.

Исследователи показали, что, даже без какой-либо тонкой настройки, использование знаний LLM позволяет управлять роботами различных форм-факторов и задач (манипуляция объектами, полёт, навигация).

Принципы использования ChatGPT

ChatGPT для управления роботами

  1. Определение набора функций и высокоуровневого API для взаимодействия с роботом. Эта библиотека специфична для каждого конкретного робота и должна реализовывать низкоуровневый стек управления роботом или получения его данных. Здесь очень важно использовать описательные имена для высокоуровневых API, чтобы ChatGPT мог рассуждать об их поведении;
  2. Необходимо сформулировать текстовое описание (prompt) для ChatGPT, которое описывает цель задачи, а также явно указывает, какие функции из высокоуровневой библиотеки доступны для решения. Описание также может содержать информацию об ограничениях задачи и указание как ChatGPT должен формировать свой ответ (конкретный язык кодирования, использование вспомогательных элементов);
  3. Пользователю остаётся оценить код, предложенный ChatGPT либо путём прямой проверки, либо при помощи симулятора. При необходимости, можно дать ChatGPT отзыв о качестве и безопасности предложенного ответа.
  4. Если решение удовлетворяет условиям пользователя, то предложенный код можно загружать в робота.

Примеры использования данного подхода для взаимодействия с ChatGPT можно посмотреть в репозитории на гитхабе — PromptCraft-Robotics.

Видео работы на роботах и симуляторах

Исследователи отмечают, что качество текстовых описаний (prompt) имеет решающее значение для успешного использования LLM, таких как ChatGPT, для решения задач робототехники.

В настоящее время, формулировка  подобных описаний имеет чисто эмпирический подход, и пока ещё не сформулированы методы и способы, позволяющие уверенно достигать наилучших результатов — поэтому эксперименты лучше проводить в симуляторах.

далее: ROSGPT — демонстрация использования ChatGPT для управления роботом через ROS

Статьи

Ссылки

По теме


Добавить комментарий

Arduino

Что такое Arduino?
Зачем мне Arduino?
Начало работы с Arduino
Для начинающих ардуинщиков
Радиодетали (точка входа для начинающих ардуинщиков)
Первые шаги с Arduino

Разделы

  1. Преимуществ нет, за исключением читабельности: тип bool обычно имеет размер 1 байт, как и uint8_t. Думаю, компилятор в обоих случаях…

  2. Добрый день! Я недавно начал изучать программирование под STM32 и ваши уроки просто бесценны! Хотел узнать зачем использовать переменную типа…

3D-печать AI Arduino Bluetooth CraftDuino DIY Google IDE iRobot Kinect LEGO OpenCV Open Source Python Raspberry Pi RoboCraft ROS swarm ИК автоматизация андроид балансировать бионика версия видео военный датчик дрон интерфейс камера кибервесна манипулятор машинное обучение наше нейронная сеть подводный пылесос работа распознавание робот робототехника светодиод сервомашинка собака управление ходить шаг за шагом шаговый двигатель шилд юмор

OpenCV
Робототехника
Будущее за бионическими роботами?
Нейронная сеть - введение