🪩 Наконец роботы научились не просто ломаться, но и более-менее внятно объяснять, что с ними произошло!

🩺 Разработан диагностический ИИ-агент ROS Help Desk (RosHD) для робототехнического программного обеспечения. Как следует из названия, он предназначен для машин, функционирующих под управлением Robot Operating System — открытого программного фреймворка, широко применяемого в исследовательской, сервисной и мобильной робототехнике.

🦿 Из-за распределённой архитектуры ROS неисправность может возникнуть в одном узле, проявиться в другом и затронуть несколько потоков данных. Раньше для диагностики разработчику приходилось сопоставлять журналы, состояние узлов и топиков, параметры, исходный код и показания датчиков.

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

Вместо традиционного сценария «робот встал — инженер открыл 17 терминалов — началась археология по логам» система сама сообщает:

⏺ пропали сообщения лидара; ⏺ изображения с камеры перестали обновляться; ⏺ один из узлов аварийно завершился; ⏺ вот подозрительный топик; ⏺ вот вероятная причина; ⏺ а вот что стоит проверить дальше.

🤖 RosHD не просто скармливает большой языковой модели содержимое /rosout. Система подключена непосредственно к фреймворку и объединяет сразу несколько источников информации:

⚙️ постоянно анализирует логи; 👁️ следит за потоками RGB-камер и лидара; ⭕️ запускает диагностические инструменты ROS; 🔎 изучает исходный код проблемных узлов; 📊 ищет похожие случаи в пополняемой базе ошибок и решений; 👤 объясняет результат через единый чат-интерфейс.

👍 Причём ответы адаптируются к уровню пользователя. Новичку RosHD сначала расскажет, что такое узел и топик. Опытному разработчику сразу выдаст имена компонентов, подписки, публикации и подозрительные параметры.

🧠 В общем, у нас наконец-то ИИ, который понимает, когда можно не начинать объяснение со слов «ROS — это не совсем операционная система».

Как проверяли эффективность?

В контролируемом исследовании 28 разработчиков с помощью RosHD успешно справились с 92,85% диагностических заданий. При использовании базовой справочной поддержки — только с 17,86%.

Впрочем, стоит немного приглушить аварийную сигнализацию хайпа. Все неисправности создавались в Gazebo на TurtleBot3 и были заранее определены. Так что не факт, что RosHD безошибочно найдёт плавающую проблему DDS, дрейф калибровки, перегрев контроллера или рассинхронизацию временных меток на реальном промышленном роботе.

Да и истинную причину намеренно внесённого сбоя ранняя версия определяла лишь в 18% прогонов. Пока система заметно лучше отвечает на вопрос «где искать», чем указывает, «кто виноват».

✨ И всё же это уже абрис реалистичного будущего робототехники. Большая языковая модель становится надстройкой над логами, сенсорными потоками, кодом и инструментами ROS. Она собирает технические улики, проверяет гипотезы и переводит результат с технического на человеческий.

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

Почитать оригинальное исследование в IEEE RA-L | открытый препринт в ArXiv и 💚💚💚💚💚

,

Читать оригинал в Telegram →