Роботы развиваются — всем хочется, чтобы они стали умнее и могли размышлять, запоминать, учиться, рассуждать и кооперироваться. А еще реагировали на команды типа: «Стань в Дьюрин день у серого камня, когда прострекочет дрозд и заходящее солнце бросит последний луч на дверную скважину».

Все это уже умеют LLM. Например, трансформенные модели GPT, Claude или Gemini могут принять на вход изображения, распознать и описать на них объекты — это позволяет использовать их для восприятия окружающей среды.

Встроить одну или несколько LLM в робота — задача интересная и сложная. Ее можно реализовать с применением масштабируемой модульной когнитивной архитектуры. Она позволяет интегрировать новые способности через модули, которые добавляются, отключаются или апгрейдятся без необходимости переписывать систему целиком.

Меня зовут Артем Лыков, я ведущий RnD-разработчик в МТС Web Services. В Лаборатории интеллектуальной космической робототехники Сколтеха мы реализовали CognitiveOS — когнитивную операционную систему для роботов. В этом материале я познакомлю вас с ней и расскажу, какие проблемы она решает, как устроена и как позволяет справляться с реальными задачами.

План:
  • Что такое CognitiveOS?

  • Архитектура Cognitive OS

    • Модуль выполнения физических действий на роботе (on-robot physical action execution module)

    • Модуль размышления и принятия решений на основе внешнего контекста (visual reasoning)

    • Модуль долгосрочной памяти для запоминания важной информации контекста физического мира и поведенческих паттернов

  • Модуль подготовки этических рекомендаций (appropriate ethical instructions preparing Module)

  • Тесты CognitiveOS 

    • Тест на возможность переноса знаний и навыков между платформами

    • Тест на совместную работу

Что такое CognitiveOS?

CognitiveOS — это операционная система для когнитивных (рассуждающих) роботов, использующих платформы с модульной архитектурой. В ней каждый модуль — это ИИ-агент, который взаимодействует в формате внутреннего монолога. Так робот способен решать сложные задачи в реальных условиях. Например, его можно попросить принести одежду для прогулки на улице — он сначала смотрит в окно на погоду, а потом идет в шкаф за шапкой.

Архитектура Cognitive OS

Сейчас архитектура когнитивных роботов обычно представляет собой две взаимодействующие системы: одна отвечает за размышление (reasining llm), а другая за физические действия (vision-language-action, VLA).

В CognitiveOS мы идем дальше и добавляем дополнительные модули, которые работают в формате внутреннего диалога:

Поведение робота формируется пошагово, в несколько этапов, исходя из заданной пользователем цели. Каждый следующий шаг планируется с учетом результатов предыдущих и доступной информации от активных модулей, чья «экспертная область» оказывается релевантной в данной ситуации.

Кроме модуля выполнения физических действий, все компоненты архитектуры построены на трансформерных моделях и оболочках на Python. Функционально они делятся по принципу их участия в решении конкретных когнитивных задач. При необходимости, например, для экономии вычислительных ресурсов, некоторые модули можно объединить в один, если имеется трансформер, способный выполнять сразу несколько функций.

Ниже я расскажу про основные модули CognitiveOS. Их может быть гораздо больше — все зависит от сложности и специфики задач робота.

Модуль выполнения физических действий на роботе (on-robot physical action execution module)

Благодаря ему осуществляется манипуляция объектами, перемещения и другие операции. Как раз для этого используется модель VLA.

После завершения каждой операции ее результат возвращается в модуль принятия решений. Так создается связь между когнитивной логикой и физическим взаимодействием с миром.

Выделив эту функциональность в отдельный модуль, мы сделали его заменяемым: Cognitive OS адаптируется под другие робоплатформы без полной переработки всей архитектуры. Нужно лишь сохранить формат обмена информацией и предоставить системе актуальный список поддерживаемых действий.

Модуль размышления и принятия решений на основе внешнего контекста (visual reasoning)

Он содержит визуально-языковую модель (VLM) для распознавания и описания объектов, сцен или ситуаций в поле зрения робота. С помощью VLM система понимает окружающую среду и анализирует визуальный контекст для локализации и взаимодействия с предметами.

Например, системе требуется описание пространства вокруг. Модуль размышления формирует и передает вопрос в VLM, которая обрабатывает этот запрос вместе с изображением с камеры и возвращает подробный результат. Система использует его для дальнейших действий.

Также модуль размышления может дать краткие и точные ответы на вопросы:

  • Есть ли объект заданного типа, класса или цвета в поле зрения?

  • Какой объект обладает указанными признаками?

  • Где находится объект и как он выглядит?

Для этого запрос передается в VLM вместе с нужным изображением.

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

Для активации поиска на вход модуля подается название или краткое описание нужного объекта. На выходе будут координаты ограничивающей рамки на кадре. Они затем используются для пространственной локализации — например, чтобы робот мог подойти или взаимодействовать с предметом. Обычно перед стартом поиска сначала задаются уточняющие вопросы, которые делают запрос максимально точным.

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

Модуль долгосрочной памяти для запоминания важной информации контекста физического мира и поведенческих паттернов

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

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

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

В нем мы использовали 7B LLM, дообученную на специально подготовленном датасете с примерами действий различных роботов. Задача LLM — в каждый момент времени предлагать следующий шаг, исходя из текущей ситуации и накопленных данных.

В этом модуле используется технология Retrieval Augmented Generation (RAG). Он играет роль долгосрочной памяти робота, помогая запоминать и извлекать данные в нужный момент. При выполнении действий LLM определяет важную информацию, которая сохраняется в виде векторных представлений.

Когда роботу ставится новая задача, эти данные используются в промпте:

Структура промпта
Структура промпта

Так робот действует более осознанно и эффективно. Он применяет накопленные знания для новых заданий, опираясь не только на текущий контекст, но и на прошлые взаимодействия. У него появляется опыт!

В процессе работы с модулем размышления мы заметили, что One Shot Learning повышает качество планирования поведения. Мы вынесли этот подход отдельным RAG для шаблонов, полезных при выполнении текущих операций.

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

Модуль подготовки этических рекомендаций (Appropriate Ethical Instructions Preparing Module)

Это интересный дополнительный модуль, который напрямую влияет на поведение роботов. Чем больше они применяются в повседневной жизни, тем важнее этика их действий.

Он содержит векторизованную базу данных с правилами, обязательными для соблюдения. LLM на их основе создает рекомендации, как выполнять поставленную задачу. Они добавляются в подсказку к модулю генерации следующего шага поведения и учитываются при выборе действий.

Набор этических правил можно адаптировать под разные типы роботов и сферы их применения. Это позволяет подстраиваться под специфику задач и различать контекст использования — например, промышленные, сервисные или медицинские сценарии.

Мы экспериментально оценили влияние модуля на поведение в ситуациях, требующих соблюдения этических ограничений. Для этого создали серию задач и 10 правил, включаемых в промпт. Причем первые три — это знаменитые законы робототехники Айзека Азимова:

  • Робот не может причинить вред человеку или своим бездействием допустить, чтобы человеку был причинен вред.

  • Робот должен повиноваться всем приказам, которые дает человек, кроме тех случаев, когда эти приказы противоречат Первому Закону.

  • Робот должен заботиться о своей безопасности в той мере, в которой это не противоречит Первому или Второму Законам.

Мы сгенерировали 200 запросов, среди которых 100 соответствовали им, а еще 100 нет — по 10 для каждого правила.

Результаты эксперимента:

  • В 95% случаев система распознала и отказалась нарушить этические правила, предупреждая об этой проблеме.

  • В 3% случаев система отклонила нормальный запрос. Например, запретила мне есть бургер, потому что это может навредить человеку.

Это достаточно хорошие значения для первого результата, и их еще можно улучшать, например с помощью дообучения.

Тесты CognitiveOS

Мы проверили CognitiveOS на стационарных шестиосевых роботах-манипуляторах и четвероногих роботах с захватом и без.

Для тестирования на платформе четвероногих роботов использовался Unitree Go1 Edu, оснащенный LIDAR и RGB-D-камерой Intel RealSense D435i. В роли робота-манипулятора применялся Universal Robot UR10, оборудованный двухпальцевым захватом Robotiq 2F-85 и стационарной камерой RealSense 435i (разрешение 1920×1080, 30 кадров/с), обеспечивающей локализацию объектов в рабочей зоне манипулятора.

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

Тест на возможность переноса знаний и навыков между платформами

Мы применили методику, предложенную в работах RT2 и CognitiveDog. Все задачи были разделены на три категории:

  • Reasoning (умозаключение);

  • Human Recognition (распознавание человека);

  • Symbol Understanding (понимание символов).

Для манипулятора эталоном служил RT2, а для робота-собаки — CognitiveDog. CognitiveOS тестировалась на обеих платформах.

Результаты:

Сравнение производительности для различных типов роботизированных платформ
Сравнение производительности для различных типов роботизированных платформ
  • Работа системы не зависит от платформы благодаря возможности адаптации модуля выполнения физических действий под конкретного робота.

  • CognitiveOS оказалась лучше эталонных систем: для четвероногого робота — на 15%, для робота-манипулятора — на 10%.

  • В категории Symbol Understanding результаты системы приблизились к показателям RT2, уступив им всего на 8%, при этом в три раза превзошли CognitiveDog (74% против 24%).

  • В категории Human Recognition CognitiveOS показала уровень, сопоставимый с эталонными системами.

Самые крутые результаты — в категории Reasoning, считающейся ключевым индикатором интеллектуальных способностей робота. В ней CognitiveOS обошла CognitiveDog и RT2 на 15% и 31% соответственно, достигнув показателя в 77%.

Тест на кооперацию

Мы провели качественную оценку координируемого с помощью LLM взаимодействия двух разных роботов. Для этого придумали набор задач, включающих универсальные и уникальные операции. Во втором случае успех был возможен только при совместном выполнении.

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

Ставил задачи оператор, который командовал одному из двух роботов. Например, просил выбрать и принести самый полезный напиток.

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

Успешное выполнение 10 подобных сценариев показало возможность распределять задачи между агентами, обладающими необходимыми инструментами.


На этом у меня все. Полный текст научной статьи можно найти на arxiv.org, а датасет с данными поведения робота — на huggingface. Также его можно найти на GitHub вместе с описанием CognitiveOS.

Комментарии (3)


  1. SmartXM07
    31.07.2025 10:25

    Вот оно, будущее, очень рад за такие инновации в российском сегменте робототехники!


  1. 10011001010010010
    31.07.2025 10:25

    Правильно я понимаю, что вы вырастили свою CognitiveOS из вилки какой-то OS? От какой ОС вы наследовались, есть ли родство с ros2?


  1. 10011001010010010
    31.07.2025 10:25

    есть ли какие то методички для быстрого старта? пока всё выглядит весьма трудоёмким в освоении