
Полная версия
Physical AI: От нейросетей к гуманоидным роботам
Анти-паттерны в формулировках
Вычищайте до отправки заказчику:
«Полностью автономный гуманоид общего назначения к концу года» — без зоны, метрик и уровня.
«ИИ заменит операторов» — без карты задач, которые уходят, и задач, которые появятся (обслуживание, разметка, исключения).
«Точность 99%» — без определения события и без железа.
«Как человек» — как критерий приёмки.
«Обучили на интернет-видео — готово к цеху» — без протокола контакта и safety.
Скучная замена этих фраз обычно длиннее на две строки и дешевле на один проваленный пилот.
Как тестировать чужое определение
Когда вендор говорит Physical AI, попросите за 30 минут:
1. схему слоёв с владельцем safety;
2. пример эпизода из датасета (что в каналах, какая частота, как помечается успех);
3. таблицу sim vs iron по одной задаче;
4. лог safety-stop за последнюю неделю испытаний;
5. процедуру отката политики;
6. список того, чего модель не умеет, на языке операций, не на языке research limitations.
Отказ или каша в ответах — сигнал. Гладкий манифест без артефактов — тоже сигнал.
Замыкание на маршрут книги
Глава 2 разберёт стык LLM/vision с действием: где планирование помогает, где подставляет. Глава 3 разложит стек от сенсора до актуатора и повесит на слои ответственность. Глава 4 посмотрит на игроков и ставки без выдуманных цифр — только структуры интересов. Дальше восприятие, обучение, механика, данные, runtime, safety, вертикали, экономика, право и сборка MVP будут опираться на то же определение.
Короткий хвост, который стоит повторить на дизайн-ревью: если интеллект не измеряется движением и отказом в физике, это всё ещё другой вид ИИ — соседний, полезный, но не тот, о котором эта книга.
Пограничные случаи, на которых ломают определение
Беспилотный погрузчик на закрытой площадке с лидаром и классическим планировщиком, плюс сеть только для детекции людей. Это робототехника с ML-зрением. Physical AI? По нашей мерке — частично: обучение не владеет действием. Если завтра политику навигации начнут дообучать по эпизодам пробуксовки и это пойдёт в релизный цикл — да, граница сдвинется.
Экзоскелет с усилием по ЭМГ и адаптацией под пользователя. Тело есть, цикл есть, цена ошибки высока. Данные пользователя чувствительны. Попадает в поле, хотя маркетинг чаще пишет «wearable», не Physical AI. Нам важнее свойства, чем бирка на стенде.
Дрон с vision-based посадкой на качающуюся палубу. Контакт короче, чем у манипулятора, но необратимость падения очевидна. Обучаемый контроллер посадки рядом с классическим cascade — снова гибрид в нашей зоне.
Рекомендательная модель, которая пишет график смен для людей на линии. Физических актуаторов нет. Это оптимизация труда, соседняя экономика, другая ответственность. Не тащим сюда насильно.
Такие разборы нужны не для чистоты жанра, а чтобы на проектной сессии быстро сказать: «это in / out / hybrid», и не потратить час на эстетику названия.
Что меняется в голове ML-инженера
Привычные рычаги из digital ML работают иначе.
Перекос класса в датасете здесь выглядит как редкий, но опасный провал: один раз из тысячи политика «протягивает» короткий путь через край стола. В клике рекламы тысячный провал незаметен. В ячейке — повод для останова парка.
Augmentation в картинках — поворот и цвет. В робототехнике аугментации упираются в физику: сдвиг камеры нельзя бездумно эмулировать, если проприоцепция осталась от другого TCP. Легко получить политику, которая в обучении сильна, а на железе дергает несуществующую свободу.
Offline метрики вводят в заблудование сильнее. Высокий action accuracy относительно демонстратора не равен сборке узла. Нужен combo: offline фильтры + железные протоколы + канарейка.
Релиз. В сервисе можно сделать feature flag и откатить за минуту. На роботе откат политики связан с тем, кто физически рядом, с прогревом калибровок, иногда с возвратом прошивки привода. Процедура длиннее; значит, порог на выкат выше, а тесты ближе к aviation mindset, чем к «задеплоили в пятницу».
Что меняется в голове robotics-инженера
Обратная сторона. Control-инженер, который десятилетиями выигрывал запас устойчивости на линейной модели, видит «чёрный ящик» и хочет запретить. Полный запрет в задачах с безумной вариативностью = вечный ручной труд программирования. Рабочий путь — конверт: политика предлагает, ограничитель режет, монитор смотрит остаток, лог пишется так, чтобы спустя месяц разобрать, кто дал setpoint.
Ещё сдвиг: калибровка и синхронизация времени внезапно становятся ML-фичами. Разъехавшаяся временная метка между камерой и joint state делает датасет ядовитым. «Почти 30 Гц» без дисциплины timestamp — способ отравить имитацию.
И третий сдвиг: стенд для сбора данных — часть продукта. Без удобного телеопа, без индикатора плохого эпизода, без быстрого тега «брак/успех» модель будет голодать или жрать мусор. Робототехник, который считает телеоп «временной костыль», недооценивает, что костыль останется в эксплуатации как режим деградации и как канал доразметки.
Physical AI и платформенный соблазн
Вендоры продают «платформу Physical AI»: симы, foundation weights, облачный флот, магазин навыков. Часть этого реально сокращает путь. Часть — перенос риска: вы садитесь на чужой датасетный цикл, чужие задержки облака, чужую политику обновлений.
Вопросы закупщика те же, что у облачных платформ, плюс железо: где крутится инференс навыка (борт / edge / cloud)? Что будет при потере WAN? Кто видит видео с вашего цеха? Как часто force-update политики и есть ли у вас veto? Можно ли выгрузить веса и эпизоды при офбординге?
Определение из этой главы не запрещает платформы. Оно запрещает считать логотип платформы доказательством, что контур у вас замкнут и безопасен.
Связка с продуктовым discovery
До выбора руки и GPU продукт обязан ответить, какую работу робот снимает. Не «улучшает эффективность», а: какие циклы, какой объём, какой процент исключений, кто сегодня делает это руками, что будет с исключениями после пилота.
Карта исключений важнее карты happy path. Physical AI-системы живут в хвосте распределения. Если 30% заказов — нестандарт, и политика умеет только стандарт, вы купили дорогую автоматизацию 70% с ручной кашей на остатке. Иногда кашу лучше оставить людьми полностью, без гибридного ада.
Discovery-интервью на площадке должны включать ночную смену, уборку, редкие SKU и «что ломалось в прошлом году». Редкие события — именно то, чего не будет в первом датасете, и именно то, что ударит по safety.
Сигналы, что вы уже внутри дисциплины
Даже без названия Physical AI на двери:
Релизы политик нумеруются и откатываются.
Есть дашборд железных метрик, не только TensorBoard.
Safety case обновляют при смене навыка, а не раз в пять лет.
Телеоп или teach-in описан как штатный режим.
Сим и железо сравнивают по одним сценариям.
В постмортеме инцидента участвуют и ML, и mechanics, и OT.
Нет этих сигналов — у вас, скорее, R&D-остров или классическая ячейка с декоративной нейросетью. Оба варианта имеют право на жизнь. Врать себе про зрелость — нет.
Частый вопрос: «Нам это надо, если мы только смотрим на AMR?»
Автоматические мобильные роботы давно ездят по складам без всякого хайпа Physical AI. Если вы берёте готовый AMR с вендорской навигацией и не трогаете политики, книга всё равно полезна кусками про safety, observability и экономику пилота, но ваш центр тяжести — эксплуатация флота, а не обучение хвата.
Если же AMR получает манипулятор, а манипулятор — обучаемые навыки в неидеальных полках, вы переходите границу. Определение срабатывает в момент, когда обучение начинает менять контакт с миром. До этого не натягивайте сову: лишние ожидания инвесторов вы сами потом расхлёбываете.
Ещё один рабочий тест на совещании
Попросите каждого участника одним предложением закончить: «Наш робот считается успешным за смену, если…». Соберите ответы. Если звучит «если модель современная» или «если не упал на демо» — определение не усвоено. Если звучит «если закрыл N циклов с ≤K вмешательствами и нулём тяжёлых near miss при известном списке SKU» — можно переходить к стеку.
Разброс ответов сам по себе диагноз. Иногда единственный результат установочной недели — выровнять эту фразу. Дешевле, чем выровнять потом кронштейны камер на двенадцати корпусах.
2. От LLM и vision к действию
На бумаге цепочка выглядит прилично: камера видит, языковая модель понимает инструкцию, робот делает. На стенде первая же смена показывает, где бумага врёт. VLM уверенно говорит «взять синий корпус слева», детектор отдаёт бокс от блика, политика хвата едет в пустоту, оператор бьёт по E-stop. Через час все спорят, чей это баг — восприятия, языка или контроля.
Глава про стык. Не про то, что LLM «умная», и не про обзор архитектур с конференции. Про рабочие схемы, где заканчивается текст и начинается setpoint, какие задержки терпимы, как не дать модели командовать там, где у неё нет права, и как проверить, что «понял задачу» означает что-то измеримое на железе.
Где вообще нужен язык
Не каждой ячейке нужен естественный язык. Если операция одна, SKU из списка, кнопка «старт цикла» на панели — не тащите LLM ради моды. Язык окупается, когда:
оператор или мастер меняет задание чаще, чем удобно перепрошивать сценарии;
инструкции приходят из MES/WMS текстом или голосом;
нужно объяснить отказ человеку без чтения joint log;
библиотека навыков уже есть, и диспетчеризация между ними стала узким местом.
Если навыков три и они вызываются с фиксированной панели, языковой слой — лишний шум и лишний failure mode. Сначала библиотека навыков и восприятие, потом уже «скажи роботу».
Типовая слоёная схема (та, что живёт дольше демо)
Разделите ответственности явно.
Слой инструкции. Текст/голос → нормализованная задача: объект, цель, ограничения («не быстрее 0.2 м/с», «зона A»). Здесь LLM/VLM уместны. Выход — структурированный план или JSON навыков, не крутящие моменты.
Слой grounding. Привязка имён к восприятию: «синий корпус» → track_id / pose estimate / неопределённость. Без этого плана нет. Если confidence ниже порога — отказ или запрос уточнения, а не храбрый хват.
Слой навыков. grasp, place, open_drawer, navigate_to. Внутри навыка — политика или классический контроллер. Навык знает preconditions и критерий успеха.
Слой исполнения. Real-time контроль, интерполяция, импеданс, лимиты тока. Периоды порядка миллисекунд. Сюда LLM не пускают.
Слой мониторов. Независимые проверки: скорость, сила, workspace, коллизии, heartbeat камеры. Монитор имеет право резать команду навыка.
Пока схема нарисована на одной доске с владельцами слоёв, споры «почему робот дёрнулся» расследуются часами, а не неделями. Когда всё свалено в одну end-to-end сеть «токены → токи», расследование превращается в шаманство.
Vision: что реально стыкуется с действием
Для действия мало «детектировать класс». Нужна поза (хотя бы грубо), понимание опоры и препятствий, оценка, можно ли схватить, иногда сегментация под хват, иногда flow/track между кадрами. RGB-only политики существуют и даже впечатляют на роликах; в пыли, на масляном металле и при сбитой калибровке они же устраивают тихий саботаж.
Практические развилки.
Отдельный перцепт + отдельная политика vs end-to-end. Раздельный перцепт чинится и тестируется кусками: «поза уехала на 1.5 см» видно в логе. End-to-end иногда выигрывает на гладких демо и проигрывает в объяснимости и сертификации. Для пилота на заводе раздельный контур чаще проходит согласование.
2D vs depth vs тактильность. Depth и облака точек спасают, когда RGB врёт бликами. Тактильность и сила спасают, когда геометрия «правильная», а контакт нет: скольжение тонкого листа, податливая упаковка. Если бюджет сенсоров режут до одной камеры «как у всех в репозитории», закладывайте в план процент ручных вмешательств — он приедет сам.
Калибровка как часть ML. Hand-eye, временны́е метки, tool center point после смены пальца. Датасет, собранный до сдвига камеры на 2°, ядовит. В digital ML похожий эффект даёт тихий сдвиг признаков; здесь он ещё и ломает людей о стол.
Частоты. Камера 30 Гц, joint state 500 Гц, политика 10 Гц, LLM 0.2 Гц — нормальная картина. Кто синхронизирует и буферизует, тот и определяет, учите вы политику или шум.
LLM как планировщик: полезный потолок
Хороший режим: оператор говорит «собери комплект 17-A в тару у ячейки B». Модель разбивает на навыки, сверяет с доступной библиотекой, возвращает план. Система проверяет: объекты найдены? зона свободна? заряд достаточный? Только потом стартует.
Плохой режим: модель на каждом шаге заново «думает» и двигает руку прилагательными («чуть левее, мягче»). Вы получаете задержку, необратимые полужесты и невозможность доказать safety case.
Жёсткие правила для планировщика:
выход только в白名单 навыков и параметров из допустимых диапазонов;
нет навыка в библиотеке — отказ, не импровизация;
каждый шаг плана проходит через валидатор (коллизии, зоны, масса/сила если известны);
таймаут рассуждения; при таймауте — безопасный idle, не «продолжить как получится»;
лог плана и версия промпта/модели хранятся рядом с эпизодом.
Функции tool-calling из мира агентов переносятся сюда почти буквально — с одной оговоркой: tool имеет физическую цену. grasp нельзя вызвать «на всякий случай».
Grounding: скучная дыра, в которую проваливаются красивые демо
«Красная канистра» в промпте не равна пикселям. Нужен мост: язык → кандидаты восприятия → выбор → проверка. Типичные поломки:
омонимия на складе («левый» относительно робота, оператора или стеллажа);
устаревшая карта: объект уехали, модель помнит слот;
мультиобъектность: три синих корпуса, план не специфицировал какой;
язык про свойства, которых сенсор не меряет («хрупкий» без модели материала и без лимита силы).
Лечение скучное: нормализовать координатные рамки в диалоге; требовать disambiguation; не принимать свойства без сенсорного или табличного основания; показывать оператору, что именно робот «выбрал», до старта опасного движения (confirm step на уровне 2–3 автономии).
VLM, которая одновременно и видит, и планирует, сокращает путь, но не отменяет подтверждений. Она же галлюцинирует уверенно. В тексте это смешно. В ячейке — нет.
Политики действия: куда девается «понимание»
Даже идеальный план упирается в навык. Imitation learning с телеопа закрывает много хватов быстрее, чем ручные траектории — если эпизоды чистые и покрытие похоже на смену. RL в симе помогает добить устойчивость, если рандомизировали то, что реально плывёт: трение, масса, задержка, освещение, люфт. Перенос без железной таблицы — самообман.
Имеет значение пространство действия. Команды в joint space часто учит легче на конкретном железе и хуже переносятся. Task space / impedance — ближе к контакту, но требуют аккуратной калибровки и модели инструмента. Смешанные схемы (высокоуровневая цель + низкоуровневой импеданс) на практике встречаются чаще чистых end-to-end манифестов.
Латентные «world models» и крупные robot foundation weights — смотреть по делу: какой протокол дообучения под ваш гриппер, какая доля успеха на ваших SKU, сколько телеопа всё ещё нужно. Маркетинговое «generalist» без таблицы на вашей номенклатуре = research risk в бюджете пилота. Помечайте так и живите спокойнее.
Задержки и бюджеты времени
Соберите одну таблицу на стену:
Этап — Типичный порядок величины — Можно ли блокировать движение
инструкция LLM — сотни мс — секунды — да, до старта
VLM grounding — сотни мс — да, до контакта
политика навыка — десятки–сотни мс на шаг — нет, внутри контакта лучше не ждать облако
серво/импеданс — 1 мс и ниже — нет
safety monitor — сопоставимо с контролем — нет
Облачный LLM внутри силового контакта — архитектурная ошибка, пока кто-то явно не доказал запас по связи и watchdog. Edge-инференс политики — вопрос теплопакета, квантизации и батчинга на одном борту с несколькими камерами. Режется фичами: меньше разрешение, дистилляция, реже вызывать тяжёлую модель, держать лёгкий контроллер в горячем пути.
Отказы, которые должны быть первоклассными исходами
В чате отказ — «извините, не могу». В Physical AI отказ — штатный результат навыка и плана.
Типы: не вижу объект; вижу слишком много кандидатов; план пересекает зону; confidence ниже порога; монитор силы; потеря камеры; низкий заряд; навык не применим к форме.
Каждый тип — к своему recovery: запросить уточнение, вызвать телеоп, сменить ракурс, отъехать в home, эскалировать оператору. «Сделать вид что получилось» — худший recovery.
Свяжите отказы с продуктовыми метриками: вмешательства часто = сумма отказов + тихих провалов. Если система редко отказывается, но часто молча портит детали, у вас проблема калибровки порогов, не «слишком осторожная модель».
Человеческий контур на стыке
На уровнях автономии 2–3 язык удобен как интерфейс супервизии: оператор подтверждает план, правит один шаг, перехватывает телеопом один навык, не глуша всю систему. Это требует UX, который робототехники часто недооценивают: большая кнопка стоп, понятный preview траектории/объекта, статус «жду подтверждения» без мигания двенадцати панелей.
Не смешивайте канал аварийного останова с каналом чата. E-stop — железо и отдельная цепь. Чат может отвалиться. Шутка про «напиши роботу stop» заканчивается на аудиторе.
Данные на стыке модальностей
Эпизод, полезный для обучения стыка, содержит не только изображения и joint state. Нужны: текст инструкции или id задачи, план (если был), выбранный object id, исходы навыков, метки отказа, версия калибровки, версия моделей. Иначе вы научите хват и не научите систему следовать инструкциям, которые реально приходят из WMS.
Синхронизация часов и единый episode_id — скучная инфраструктура, без которой мультимодальность превращается в zip из несвязанных файлов. Команды недооценивают это ровно до первого «почему политика игнорирует слово слева».
Телеоп для сбора должен уметь логировать голос/текст оператора рядом с движением. Иначе языковой слой потом тренируют на синтетике, а в смене люди говорят иначе — короче, грязнее, с жаргоном склада.
Тестирование стыка без самообмана
Оффлайн: прогнать корпус инструкций → планы, измерить долю валидных планов, долю нуждающихся в disambiguation. Отдельно — бенчмарк grounding на ваших полках (не на OpenImages).
В симе: редко достаточно для языка, если сим не знает ваших названий слотов и SKU. Хотя бы проверьте, что валидатор плана ловит запретные зоны.
На железе: сценарии «правильная инструкция», «двусмысленная», «объект убрали», «объект закрыт», «потеря камеры на шаге 2», «оператор сказал отмену». Пишите ожидаемый исход заранее. Снимайте не только success rate, но и время до безопасного отказа.
A/B двух VLM на сайте без железного протокола сравнивает красноречие. С протоколом — риск вмешательств.
Анти-паттерны именно на этом стыке
Промпт вместо спецификации навыков.
Единая модель «на всё» без мониторов.
Облако в горячем контуре контакта.
Отсутствие confirm на опасных шагах при людях в зоне.
Обучение языку на чужих корпусах без локального жаргона.
Метрика «план красивый» вместо «цикл закрыт».
Игнорирование рассинхрона времени между камерами и суставами.
Демо только с оператором за кадром, который чуть-чуть подталкивает деталь.
Каждый пункт уже встречалcя в пилотах. Новыми они не будут.
Мини-кейс: от фразы до хвата за 6 решений
1. Принять инструкцию только если она парсится в схему задачи.
2. Найти кандидатов объекта; если не один — спросить.
3. Построить план из белых навыков; прогнать валидатор зон.
4. Показать preview оператору (уровень автономии 2–3).
5. Запустить навык grasp с лимитом силы; монитор независим.
6. При success — следующий шаг; при отказе — recovery по типу, не «ещё раз сильнее».
Шесть решений — шесть мест для логов. Если хоть одно не логируется, постмортем через месяц будет гаданием.
Что делать команде на следующей неделе
Не «внедрить мультимодальность». Сделать три вещи.
Нарисовать слои и поставить фамилии.
Снять 20 реальных инструкций с площадки (как говорят, не как пишут в ТЗ) и прогнать через парсер плана оффлайн.
Выбрать один навык (обычно grasp) и измерить его success отдельно от языка — чтобы знать, где дыра.
Если навык слаб, язык его не спасёт. Если навык крепкий, а язык врёт в grounding — чините мост, не меняйте гриппер. Диагностика «на каком слое умерло» экономит месяцы.
Связь с соседними главами
Определение Physical AI из главы 1 здесь получает зубы: цена ошибки и цикл видны на каждом прыжке между слоями. Дальше глава про стек разложит сенсоры, модели, контроль и актуаторы как карту владельцев. Рынок покажет, кто продаёт «VLM управляет роботом» как коробку — и что внутри коробки обычно всё же слои.
Короткий критерий на ревью архитектуры: если можно указать, где токены заканчиваются и где начинается конверт допустимого усилия, у вас есть стык. Если нельзя — у вас есть демо и риск.
Голос и жесты как входы — те же правила
Голосовой канал соблазняет: руки оператора заняты, крикнуть проще. Добавляются распознавание речи, шум цеха, ложные триггеры из радиоточки. Ставьте wake-word или кнопку «говорить», иначе робот начнёт слушать чужие разговоры про обед. Жесты и teach-pendant не исчезают: для многих опасных подтверждений молчаливый ключ лучше фразы.
Мультимодальный ввод не отменяет нормализацию в структурированную задачу. Иначе вы отлаживаете акустику вместо хвата.
Когда end-to-end всё же имеют смысл
Исследовательские платформы, узкий домен, один корпус робота, готовые мириться с непрозрачностью, сильный sim и огромный телеоп-бюджет — там длинные дифференцируемые пайплайны иногда вытягивают. В книге для инженеров завода это исключение, не умолчание. Если идёте этим путём, всё равно оставьте внешний safety-конверт и независимый E-stop: дифференцируемость сети не заменяет категорию останова.
Публичные ролики end-to-end полезно смотреть с секундомером и вопросом «сколько дублей не показали». Для закупки этого мало; для вдохновения R&D — достаточно.
Совместимость с MES/WMS
Настоящие инструкции редко звучат поэтично. Чаще — код заказа, слот, количество, приоритет. LLM тут может быть адаптером между кривым человеческим вводом и жёсткой схемой API. Не заменяйте MES языковой моделью. Интегрируйте: идентификаторы объектов и локаций должны совпадать с мастер-данными, иначе grounding будет изобретать слоты, которых нет в учёте.
Пишите контракт: какие поля обязательны, какие модель может уточнять у человека, какие — только у системы учёта. Путаница «модель сказала положить в B, WMS думал C» — классика дорогих разборов.
Оценка вендоров на этом стыке
Просите:
пример лога от инструкции до навыка на их железе;
список белых навыков и способ добавить свой без их облака (если on-prem важно);
замеры latency по слоям, не «ответ за 2 секунды» одной цифрой;
поведение при отвале DNS;
политику хранения аудио/видео промптов;
результаты на двусмысленных инструкциях.
Если вендор показывает только чат-виджет и ролик хвата под музыку — у вас нет данных для сравнения. Стык не продан.
Замечание про многоязычность и жаргон
Площадки мешают русский, английские артикулы, сленг смен. Модель, блестяще парсящая литературный запрос, спотыкается на «кинь синюху на второй ярус к Васе». Собирайте локальный корпус фраз. Это дешевле смены гриппера и быстрее споров про «какую foundation взять».
Термины книги снова: grounding, skill, monitor, envelope. Если в команде говорят «робот понял» — переспрашивайте «какой object id и какой навык в очереди». Язык совещания чинит архитектуру медленно, но чинит.
Итог главы
Стык LLM/vision с действием работает, когда язык остаётся над библиотекой навыков, восприятие отдаёт не класс а привязку к миру, политики и контроллеры живут в бюджете времени контакта, а мониторы не читают промпты. Всё, что смешивает эти роли ради элегантности, элегантно падает на первой двусмысленной фразе в шумной смене.









