Newton Physics: GPU-ускоренный движок физической симуляции для роботики

«Newton не является обобщённым игровым движком — он специально оптимизирован для роботиков и исследователей в области симуляций.»

Что такое Newton и для кого он создан

Newton — это open-source, GPU-ускоренный движок физической симуляции, построенный на основе NVIDIA Warp и специально ориентированный на роботиков и исследователей в области симуляций. Проект разработан в результате совместных усилий NVIDIA, Google DeepMind и Disney Research и нацелен на развитие обучения роботов, предоставляя надёжную, масштабируемую и расширяемую платформу для физического AI.

Newton является проектом Linux Foundation, разрабатывается и поддерживается сообществом, а код распространяется под лицензией Apache-2.0.

ℹ Кому подойдёт Newton

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)
⚠ Важно о статусе проекта
В ходе фазы разработки Newton и интеграции с Isaac Lab вы, скорее всего, столкнётесь с критическими изменениями API и ограниченной документацией. Официальная поддержка и помощь в отладке не ожидаются до официального релиза.

Плюсы и минусы

✅ Плюсы❌ Минусы
Полностью 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 SimmacOS работает только на CPU
Управление Linux Foundation (vendor-neutral)Экосистема моделей роботов меньше, чем у MuJoCo Menagerie
Поддержка сложных материалов: ткань, MPM, кабелиИнтеграция с Isaac Lab ещё экспериментальная
Совместимость с PyTorch и TensorFlowОграниченный набор протестированных роботов

Сравнение с альтернативами

ПараметрNewtonMuJoCo / MJXIsaac Lab (PhysX)
ЛицензияApache-2.0Apache-2.0BSD-3-Clause
GPU-бэкендNVIDIA Warp / CUDAJAX/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 GPUCPU/GPU/TPUNVIDIA GPU
Ускорение (гуманоиды)до 152x (RTX 4090)~70x (MJX, TPU)высокое
Академическая поддержкаETH Zurich, PKU, TUMDeepMind, широко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-использованию придёт с официальным релизом.