Революция в подходе к реализации OpenUSD
Команда NVIDIA Omniverse Labs представила nanousd-labs, экспериментальный проект, позволяющий разработчикам генерировать спецификационно-совместимые USD-рантаймы (USD runtimes) с использованием AI-агентов. В отличие от традиционных методов, требующих адаптации огромных существующих кодовых баз, новый подход использует USD Core Specification (разработанную Alliance for OpenUSD) как формальный контракт. AI-агенты парсят этот спецификационный текст, генерируют код и валидируют его против тестовых наборов, производных от самой спецификации.
Это позволяет инженерам сосредоточиться на архитектурных решениях, в то время как агенты автоматизируют рутинные задачи: парсинг, композицию сцен и разрешение значений. Результатом становится эластичный код, который можно перегенерировать под конкретные ограничения по памяти, производительности или ABI, сохраняя полную совместимость со стандартом.Технические детали и архитектура
nanousd реализован на C++ и предоставляет стабильный C ABI (Application Binary Interface). Это критически важно для интеграции с существующими стеками OpenUSD, так как позволяет динамически заменять бэкенды без изменения API. Рантайм отделен от рендеринга, фокусируясь исключительно на модели данных сцены.
Процесс разработки выглядит следующим образом:
- Входные данные: USD Core Specification в машиночитаемом формате.
- Обработка: AI-агенты последовательно обрабатывают разделы спецификации, генерируя код.
- Валидация: Автоматическая проверка против тестовых кейсов, выведенных из спецификации.
- Результат: Легковесный рантайм, готовый к развертыванию в физических AI-системах (Physical AI).
Пример использования: Симуляция склада
В блоге NVIDIA приведен пример создания сцены склада с использованием Python-обертки над nanousd. Код демонстрирует создание стадии (stage), установку метаданных (ось Z, метры), ссылочную сборку внешних активов (стеллажи, погрузчик) и анимацию движения по ключевым кадрам.
| Этап разработки | Действие в коде / Процесс | Значение для Physical AI |
|---|---|---|
| Инициализация | Создание nanousd.Stage, настройка осей и единиц измерения |
Гарантия физической корректности сцены |
| Композиция | Использование add_reference() для внешних активов без копирования |
Экономия памяти и быстрая загрузка |
| Анимация | Запись time-sampled трансформаций для погрузчика |
Поддержка динамических симуляций |
| Экспорт | Сохранение в формат .usda |
Совместимость с экосистемой OpenUSD |
Почему это важно для индустрии
OpenUSD становится стандартом де-факто для описания сцен в физической AI. Однако внедрение его в ресурсоограниченные устройства (роботы, дроны, IoT) часто упирается в размер и производительность стандартных реализаций. nanousd-labs решает эту проблему, позволяя «собрать» рантайм точно под нужды конкретного устройства. Проект открыт для сообщества, и NVIDIA поощряет использование этого метода для создания кастомных физических AI-рабочих процессов. Инициатива родилась в ходе внутреннего хакатона и теперь публикуется как часть Omniverse Labs.
Источник: NVIDIA dev blog ↗
