연구 해부 · 2편
공짜로 푼 물리엔진
엔비디아 Newton · 소유권까지 넘겼는데, 그게 도는 바닥은 여전히 자기 것
Apache-2.0
누구나 쓰고 고치고 팔 수 있는 라이선스
문서는 CC-BY-4.0 · 코드는 공개 저장소
3사 + 재단
엔비디아 · 구글 딥마인드 · 디즈니리서치
2025년 9월 29일 리눅스재단이 관리를 맡음
Warp 위
엔진이 도는 바닥은 엔비디아 기술
NVIDIA Warp + OpenUSD 기반이라고 공식 명시
엔비디아가 로봇용 물리엔진 Newton을 오픈소스로 풀고, 관리 권한까지 리눅스재단에 넘겼습니다. 파는 물건을 공짜로 준 셈인데, 한 가지가 안 열렸습니다. 그 엔진이 빠르게 도는 바닥이에요.
왜 그 바닥이 GPU여야 하는지는 말로는 안 옵니다. 아래에서 직접 굴려 보시면 됩니다. 두 화면 모두 지금 브라우저가 계산하는 진짜 물리입니다.
덜 풀면 사슬이 고무가 된다
로봇의 몸은 마디가 사슬처럼 이어진 물건입니다. 컴퓨터는 이걸 한 번에 못 풉니다. "마디1과 마디2의 거리를 맞춰라, 그다음 마디2와 마디3…" 이렇게 한 칸씩 순서대로 고쳐 나갈 뿐이에요.
그래서 맨 끝에서 생긴 오차가 반대쪽까지 되돌아갈 시간이 없습니다.
아래 손잡이를 왼쪽 끝(1회)까지 내려 보세요. 회색 유령이 정답이고 파란 사슬이 지금 푼 결과입니다. 둘 다 지금 계산 중입니다.
무거울수록 오차가 커집니다
횟수를 늘리면 사슬이 단단해집니다. 대신 매 프레임 그만큼 더 계산해야 해요. 실제 로봇 시뮬레이터는 이걸 초당 수십 번, 관절 수십 개짜리 몸으로, 수천 마리를 동시에 합니다. 그래서 다음 이야기가 GPU입니다.
교과서 방식(위치기반동역학)으로 브라우저가 실제 계산한 결과입니다. 유령은 같은 순간을 220회로 푼 값이고요. 양 끝이 고정된 이 모양은 Newton 발표가 어려운 문제로 든 닫힌 고리에 해당합니다. 실제 엔진은 여기에 접촉·마찰이 더 붙습니다. 길이·무게는 설명용 모형 값입니다.
왜 물리엔진이 GPU 위에 있어야 하나
로봇한테 걷는 법을 가르치는 방법은 의외로 단순합니다. 다리 각도·다리 힘·차는 힘 세 숫자를 아무렇게나 넣어 보고, 넘어지면 버리고, 조금 나으면 그걸 기준으로 또 흔들어 봅니다.
문제는 거의 다 넘어진다는 것입니다. 그래서 몇 마리를 동시에 굴리느냐가 전부입니다.
아래 버튼을 왼쪽부터 눌러 보세요. 똑같은 문제를 1마리 / 8마리 / 64마리 / 512마리로 풉니다. 걸리는 시간이 눈으로 갈립니다.
이번 세대에 굴리는 로봇들 끌어서 돌려보세요 · 밝을수록 멀리 감
지금 1등이 걷는 모습
- 세대
- 0
- 총 굴린 횟수
- 0
- 최고 거리
- 0.0m
목표 45m를 넘기면 멈춥니다
결과 — 목표에 닿기까지
세대 = 한 판. GPU는 한 판을 몇 마리든 동시에 끝내므로, 세대 수가 곧 걸린 시간입니다. 총 굴린 횟수는 계산량이고요.
이 화면의 숫자는 브라우저가 지금 계산한 값입니다(녹화 아님). 물리 모형은 스프링 다리 도립진자라는 교과서 모형이고, Newton을 돌리는 게 아니라 "왜 동시에 굴려야 하나"를 같은 방식으로 축소해 보인 것입니다. 무작위 씨앗을 고정해 두어 누가 눌러도 같은 결과가 나옵니다. 실제 로봇 학습은 훨씬 복잡한 몸체를 쓰고, 동시에 굴리는 수도 수천 마리 단위입니다.
로봇은 넘어지면서 배운다. 문제는 넘어질 곳이 없다는 것
진짜 로봇으로 걷기를 가르치려면 수만 번 넘어져야 합니다. 그때마다 부품이 부서지고 사람이 일으켜 세워야 해요. 그래서 컴퓨터 안에서 먼저 넘어뜨립니다. 여기서 물리엔진이 필요해집니다. 컴퓨터 안의 바닥이 진짜 바닥과 다르게 굴면, 거기서 배운 걸음걸이는 밖에 나오는 순간 무너집니다.
✦ 물리엔진의 목표는 예쁜 그림이 아닙니다. 밖에 나가서도 통하는 걸음을 만드는 겁니다.
어려운 건 충돌이 아니라 "닿아 있는 상태"다
게임 물리엔진은 부딪히고 튕기는 걸 잘합니다. 로봇은 반대예요. 발이 바닥에 계속 닿아 있고, 손가락이 컵을 계속 쥐고 있습니다. 이렇게 닿은 채로 힘이 오가는 상황이 계산이 훨씬 어렵습니다. 리눅스재단 발표도 Newton이 노리는 것을 "눈이나 자갈 위를 걷고, 컵과 과일 같은 섬세한 물건을 다루는" 동작이라고 적었습니다.
✦ 위 실험실에서 손잡이를 1회로 내리면 팔이 흐물거립니다. 그게 "덜 푼" 상태예요.
그래서 열었다 — 소유권까지 넘기면서
Newton은 Apache-2.0으로 공개돼 있고, 관리 주체도 엔비디아가 아니라 리눅스재단입니다. 엔비디아 단독이 아니라 구글 딥마인드·디즈니리서치와 함께 만들었고요. 엔비디아 부사장 Rev Lebaredian은 발표에서 이걸 "GPU 가속, 미분 가능 물리, OpenUSD 같은 열린 표준을 하나의 오픈소스 플랫폼으로 묶은 것"이라고 설명했습니다.
✦ ✦ 특허를 안 휘두른 테슬라보다 한 발 더 나갔습니다. 아예 남의 재단에 맡겼으니까요.
테슬라와 같은 수, 그런데 한 수 더
특허 시리즈에서 테슬라는 "열어서 표준을 먹은" 쪽이었습니다. Newton은 같은 수인데, 여는 정도가 다릅니다.
| 테슬라 (2014) | 엔비디아 Newton (2025) | |
|---|---|---|
| 연 것 | 특허 — "소송 안 걸겠다" 선언 | 소스 코드 — Apache-2.0 공개 |
| 소유권 | 특허는 계속 테슬라 것 | 리눅스재단이 관리를 맡음 |
| 그래도 남는 바닥 | 슈퍼차저 충전소 망 | Warp · CUDA · GPU |
| ✦ 노린 것으로 보이는 것 | 내 규격을 업계 표준으로 | 내 하드웨어를 기본값으로 |
더 깊이 (원문 확인용)
Newton은 정확히 무엇인가
- 공개와 이관 · Linux Foundation 보도자료 ↗
2025년 9월 29일 발표. 디즈니리서치·구글 딥마인드·엔비디아가 기여했고 리눅스재단이 관리를 맡습니다. 리눅스재단 사무총장 Jim Zemlin, 디즈니리서치 Moritz Bächer, 엔비디아 Rev Lebaredian의 발언이 함께 실려 있습니다. - 라이선스와 구성 · newton-physics/newton ↗
코드는 Apache-2.0, 문서는 CC-BY-4.0입니다. NVIDIA Warp 위에 지어졌고 MuJoCo Warp를 주 백엔드로 씁니다. Warp의 옛warp.sim모듈을 확장·일반화한 것이라고 저장소가 밝히고 있습니다. - 엔비디아 측 설명 · NVIDIA 개발자 페이지 ↗
"NVIDIA Warp와 OpenUSD 위에 지어진 오픈소스·확장형 물리엔진"으로 소개하며, Isaac Lab·Isaac Sim·MuJoCo Playground와 연동된다고 적습니다. GPU 가속이 시뮬레이션을 "며칠에서 몇 분으로" 줄인다는 표현이 있는데, 이건 회사 자신의 표현이라 본문 수치로 쓰지 않았습니다. - 안 쓴 숫자
속도 배수, 동시에 굴리는 환경 개수 같은 성능 수치는 제3자가 같은 조건으로 잰 값을 못 찾아 쓰지 않았습니다. 위 두 실험실의 숫자는 Newton의 성능이 아니라, 이 브라우저가 교과서 모형(위치기반동역학 · 스프링 다리 도립진자)을 직접 계산한 값입니다.
다음 발표를 볼 때
"오픈소스로 공개"를 보면
무엇이 안 열렸는지를 찾으세요. 엔진은 열렸지만 그게 빠르게 도는 바닥(Warp·CUDA·GPU)은 그대로입니다. 공짜인 층과 돈 내는 층이 어디서 갈리는지가 핵심이에요.
재단에 넘겼다는 말의 무게
이건 흔한 일이 아닙니다. 관리 주체가 바뀌면 혼자 방향을 못 정합니다. 그만큼 경쟁사도 안심하고 쓰게 되고, 그래서 더 널리 퍼집니다.
엔비디아 특허 편과 이어 보세요
엔비디아는 원래 특허를 갖고만 있고 로열티를 안 걷는 회사였습니다. Newton은 그 성향의 연장선입니다. 잠가서 버는 게 아니라 퍼뜨려서 버는 쪽이에요.
"오픈소스로 풀었다"는 문장은 그 자체로는 착한 일도 손해도 아닙니다. 물어야 할 건 하나예요. 그걸 열면 무엇이 더 팔리나. 엔진은 공짜가 됐고, 그 엔진을 제일 잘 돌리는 물건은 여전히 팝니다.