Newton Physics: GPU-движок симуляции для роботики
Обзор Newton — open-source GPU-ускоренного физического движка от NVIDIA, Google DeepMind и Disney Research для роботики и sim-to-real обучения.
Newton Physics: GPU-ускоренный движок физической симуляции для роботики
«Newton не является обобщённым игровым движком — он специально оптимизирован для роботиков и исследователей в области симуляций.»
Что такое Newton и для кого он создан
Newton — это open-source, GPU-ускоренный движок физической симуляции, построенный на основе NVIDIA Warp и специально ориентированный на роботиков и исследователей в области симуляций. Проект разработан в результате совместных усилий NVIDIA, Google DeepMind и Disney Research и нацелен на развитие обучения роботов, предоставляя надёжную, масштабируемую и расширяемую платформу для физического AI.
Newton является проектом Linux Foundation, разрабатывается и поддерживается сообществом, а код распространяется под лицензией Apache-2.0.
Newton ориентирован на:
- Исследователей роботики: обучение политик управления в симуляции
- ML-инженеров: дифференцируемая симуляция для gradient-based оптимизации
- Разработчиков гуманоидных роботов: точное воспроизведение сложных суставов и контактной динамики
- Команды sim-to-real: безопасный перенос навыков из симуляции в реальный мир
Архитектура и как это работает
Newton расширяет и обобщает устаревший модуль warp.sim из Warp и интегрирует MuJoCo Warp в качестве основного бэкенда. Проект делает акцент на вычислениях на GPU, поддержке OpenUSD, дифференцируемости и пользовательской расширяемости, что облегчает быстрые итерации и масштабируемую симуляцию роботики.
graph TD
A[Пользователь / Python API] --> B[Newton Core]
B --> C[MuJoCo Warp Backend]
B --> D[XPBD Solver]
B --> E[Featherstone Solver]
C --> F[NVIDIA Warp / CUDA]
D --> F
E --> F
F --> G[GPU — параллельная симуляция]
B --> H[OpenUSD]
H --> I[Isaac Sim / Isaac Lab]
B --> J[Дифференцируемая физика]
J --> K[PyTorch / TensorFlow]
Ключевые возможности
1. GPU-ускорение через NVIDIA Warp
Используя NVIDIA Warp и CUDA graphs, Newton обеспечивает высокопроизводительные end-to-end GPU-симуляции без низкоуровневого программирования, устраняя узкие места CPU, типичные для старых физических движков. Это позволяет реалистично симулировать тысячи взаимодействующих тел или выполнять точные вычисления контактов.
MuJoCo-Warp обещает ускорение в 70x для гуманоидов, 100x для манипуляций — и до 152x для локомоции, 313x для манипуляций на RTX 4090.
2. Дифференцируемая физика
Одной из наиболее значимых инноваций Newton является возможность дифференцируемой симуляции. Традиционные физические движки вычисляют только прямую симуляцию, а Newton идёт дальше, позволяя вычислять градиенты через саму физическую симуляцию.
Это ценно при объединении симуляции с машинным обучением — роботы могут учиться с градиентами, а не только методом проб и ошибок. Дифференцируемость обеспечивает более эффективную оптимизацию, лучшее обучение политик и более тесную интеграцию между симуляцией и контурами управления.
3. Мульти-solver архитектура
Newton предоставляет высокопроизводительную симуляцию с несколькими реализациями солверов, включая XPBD, MuJoCo, Featherstone и SemiImplicit.
Модульная архитектура Newton упрощает интеграцию пользовательских солверов и моделей, поддерживая реалистичные мультифизические симуляции с разнообразными материалами — едой, тканью, почвой и кабелями.
4. Поддержка OpenUSD и экосистема NVIDIA
Построенный на NVIDIA Warp, Newton позволяет роботам приобретать и совершенствовать физический интеллект в безопасной виртуальной среде и совместим с фреймворками обучения роботов, такими как MuJoCo Playground и NVIDIA Isaac Lab.
Интероперабельность OpenUSD гарантирует, что эти продвинутые физические симуляции, фундаментальные модели и обучающие фреймворки работают вместе без проблем, позволяя разработчикам создавать унифицированные конвейеры обучения роботов, масштабирующиеся на различных платформах.
5. Unified Python API
Newton предлагает единый, согласованный программный интерфейс для взаимодействия с различными физическими симуляциями, включая твёрдые тела, мягкие тела, сыпучие материалы и ткань.
Запустить пример с Newton очень просто:
# Установка
pip install newton-physics
# Запуск встроенного примера
python -m newton.examples basic_viewer --viewer gl --num-frames 500
# Запуск на конкретном GPU
python -m newton.examples basic_urdf --device cuda:0
Для запуска примеров нужна NVIDIA GPU архитектуры Maxwell или новее, драйвер 545+. Установка CUDA Toolkit локально не требуется.
6. Поддержка sim-to-real переноса
Поскольку роботика всё больше опирается на «sim-to-real» перенос — когда AI обучается в симуляции перед развёртыванием на реальном железе — движки вроде Newton, предлагающие высокоскоростное GPU-ускорение, будут жизненно важны для масштабирования сложности и надёжности автономных систем.
Пример кода: базовая симуляция
import newton
import warp as wp
# Инициализация устройства
wp.init()
device = "cuda:0"
# Создание модели
builder = newton.ModelBuilder()
builder.add_articulation()
builder.add_body(name="base", mass=1.0)
model = builder.finalize(device=device)
state = model.state()
# Создание решателя MuJoCo Warp
solver = newton.solvers.MuJoCoWarpSolver(model)
# Цикл симуляции
for i in range(1000):
solver.step(model, state, state_out=state, dt=0.01)
Тарифы и лицензирование
Код Newton распространяется под лицензией Apache-2.0, что означает полностью бесплатное использование как в академических, так и в коммерческих проектах.
| Аспект | Детали |
|---|---|
| Лицензия | Apache-2.0 (код), CC-BY-4.0 (документация) |
| Цена | Бесплатно, open-source |
| Распространение | GitHub + PyPI (pip install newton-physics) |
| Управление | Linux Foundation |
| Статус | Активная разработка (Beta) |
Плюсы и минусы
| ✅ Плюсы | ❌ Минусы |
|---|---|
| Полностью open-source, Apache-2.0 | Требует NVIDIA GPU (Maxwell+) |
| Экстремальная GPU-производительность (до 313x на RTX 4090) | Проект в статусе Beta, частые breaking changes |
| Дифференцируемая физика из коробки | Ограниченная официальная документация |
| Поддержка нескольких солверов (MuJoCo, XPBD, Featherstone) | C/C++ API отсутствует — только Python |
| Поддержка OpenUSD и интеграция с Isaac Lab/Isaac Sim | macOS работает только на CPU |
| Управление Linux Foundation (vendor-neutral) | Экосистема моделей роботов меньше, чем у MuJoCo Menagerie |
| Поддержка сложных материалов: ткань, MPM, кабели | Интеграция с Isaac Lab ещё экспериментальная |
| Совместимость с PyTorch и TensorFlow | Ограниченный набор протестированных роботов |
Сравнение с альтернативами
| Параметр | Newton | MuJoCo / MJX | Isaac Lab (PhysX) |
|---|---|---|---|
| Лицензия | Apache-2.0 | Apache-2.0 | BSD-3-Clause |
| GPU-бэкенд | NVIDIA Warp / CUDA | JAX/XLA (MJX), NVIDIA Warp (MuJoCo-Warp) | PhysX 5 |
| Дифференцируемость | ✅ Да | ✅ Да (MJX) | ⚠️ Ограниченно |
| Мульти-solver | ✅ XPBD, MuJoCo, Featherstone, SemiImplicit | ⚠️ Один движок | ⚠️ PhysX |
| OpenUSD | ✅ Нативно | ❌ Нет | ✅ Через Isaac Sim |
| Экосистема моделей | 🔄 Растёт | ✅ MuJoCo Menagerie, богатая | ✅ Isaac Lab tasks |
| Статус | Beta | Стабильный | Стабильный |
| Аппаратные требования | NVIDIA GPU | CPU/GPU/TPU | NVIDIA GPU |
| Ускорение (гуманоиды) | до 152x (RTX 4090) | ~70x (MJX, TPU) | высокое |
| Академическая поддержка | ETH Zurich, PKU, TUM | DeepMind, широко | Stanford, NUS |
Toyota Research Institute использует MuJoCo для исследований в области манипуляций (критична точность контактов) и Isaac Lab для локомоции + визуального sim-to-real. Это распространённый паттерн в ведущих лабораториях: не выбирать одно, а использовать правильный инструмент для каждой задачи.
Кто уже использует Newton
Широкая поддержка Newton включает университеты ETH Zurich, Пекинский университет, TUM и крупных игроков индустрии. Экосистема управляется открыто и vendor-neutral через Linux Foundation для долгосрочной устойчивости.
Среди ведущих разработчиков роботов, принявших технологии NVIDIA, — Agility Robotics, Boston Dynamics, Disney Research, Figure AI, Franka Robotics и другие.
Вердикт
Newton — это проект, который меняет правила игры в робототехнической симуляции. Newton устраняет разрыв «sim-to-real», обеспечивая точные симуляции физики реального мира и повышая способность роботов выполнять сложные задачи с большей точностью.
Кому подойдёт Newton:
- Исследователям в академических лабораториях, работающим с обучением роботов
- ML-инженерам, которым нужна дифференцируемая физика для gradient-based методов
- Командам, разрабатывающим гуманоидных роботов или сложные манипуляторы
- Всем, кто уже в экосистеме NVIDIA Isaac / Omniverse
Кому пока не подойдёт:
- Проектам, требующим стабильного production API прямо сейчас
- Командам без доступа к NVIDIA GPU
- Разработчикам, предпочитающим C/C++ интерфейсы
Newton Physics: 8.5/10
- 🚀 Производительность: 10/10
- 🔬 Научная ценность: 10/10
- 📦 Зрелость / Стабильность: 6/10
- 🧩 Экосистема и документация: 7/10
- 💸 Доступность: 10/10 (бесплатно)
Newton — это будущее GPU-симуляции для роботики уже сейчас, но требует толерантности к быстро меняющемуся API. Идеален для исследований, а к production-использованию придёт с официальным релизом.