MENU

휴머노이드·피지컬 AI

USD 파일이 없으면 강화학습을 못 하나요?

아니요, 됩니다. Isaac Sim이 알아서 바꿔서 쓰거든요. 실제 학습 코드가 어떻게 생겼는지 보여드릴게요.

「USD 파일이 없으면 학습 못 할까?」 — 「USD 파일도 주시나요?」. 휴머노이드 교육 썸네일(질문과 도식).

로봇 도입을 검토하다 보면 이 질문이 꼭 나옵니다.

"USD 파일도 주시나요?"

안 주는 곳이 많거든요. 그래서 없으면 강화학습을 못 하는 건가 걱정하시는데요.

아닙니다. 없어도 됩니다. 이유를 보여드릴게요.

USD 파일을 따로 받아야 하나요?

USD는 NVIDIA Isaac Sim이 쓰는 3D 장면 형식이에요. 원래는 픽사가 애니메이션 만들려고 개발한 거고요.

그런데 Isaac Sim은 URDF를 넣으면 실행할 때 알아서 USD로 바꿔서 씁니다.

Isaac Sim은 URDF를 넣으면 실행 시점에 USD로 자동 변환해 로봇을 세운다.
Isaac Sim은 URDF를 넣으면 실행 시점에 USD로 자동 변환해 로봇을 세운다.

사람이 따로 변환할 일이 없어요. 설계도만 있으면 로봇이 서고, 학습이 돌아갑니다.

실제 학습 코드는 어떤 파일을 읽나요?

말로만 하면 안 믿기시죠. Booster가 공개한 학습 코드를 열어봤습니다.

spawn = sim_utils.UrdfFileCfg(
    asset_path = f"{BOOSTER_ASSETS_DIR}/robots/K1/K1_22dof.urdf" )

보시면 URDF 경로를 그대로 적어놨습니다. USD가 아니고요.

공식 학습 코드가 이 방식으로 돌아갑니다. USD 파일을 따로 만들어 쓰는 게 아니에요.

USD 안에는 무엇이 들어 있나요?

궁금해서 공개된 휴머노이드 로봇 USD 파일 하나를 받아서 열어봤습니다. 층이 나뉘어 있더라고요.

  • 형상 층 — 28.3 MB
  • 물리 층 — 10.4 KB
  • 센서 층 — 656 바이트

형상 층이 28.3MB인데 물리 층은 10.4KB입니다. 2,700배 넘게 차이가 납니다. 3D 모양을 그리는 데이터가 압도적으로 크고, 정작 학습에 쓰이는 물리값은 이만큼 작다는 뜻이에요.

센서 층은 더 작습니다. 처음엔 "부실한가?" 했는데, 알고 보니 원래 비워두는 자리였습니다.

Isaac Sim에서 센서를 쓰려면 해상도, 시야각, 주사율을 사용자가 정해야 하거든요. 같은 카메라라도 연구 목적마다 설정이 다릅니다. 제조사가 미리 채워놓으면 오히려 매번 지워야 해요.

장착 위치는 제조사가 주고, 센서 설정은 사용자가 채우는 구조입니다.

USD 층 구조. 형상 층과 물리 층은 제조사가 채워 주고, 맨 위 센서 층은 해상도와 시야각이 비어 있다.
USD 층 구조. 형상 층과 물리 층은 제조사가 채워 주고, 맨 위 센서 층은 해상도와 시야각이 비어 있다.

그럼 USD가 필요한 때는 언제인가요?

있긴 합니다.

디지털트윈이나 Omniverse 연동이 목적이라면 USD 쪽 작업이 한 번 더 필요합니다. 조명이나 재질까지 다뤄야 하니까요.

목적에 따라 이렇게 갈립니다.

  • 강화학습이 목적 — URDF만 있으면 됩니다
  • 디지털트윈이 목적 — 변환 작업이 추가로 듭니다

실습 커리큘럼을 짜실 때 이 구분만 해두시면, 뭘 받아야 할지 헷갈릴 일이 없습니다.

그래서 어떤 파일을 받아야 하나요?

  • URDF — 필수입니다. 로봇의 뼈대
  • MJCF — 있으면 좋습니다. URDF가 못 담는 물리값
  • USD — 강화학습에는 필요 없습니다

MJCF를 "있으면 좋습니다"로 적은 데는 이유가 있습니다. URDF가 못 담는 값이 곧 실제 로봇과의 차이를 줄이는 값이거든요. 대표적인 것이 모터 회전 관성인데, 이게 빠지면 시뮬레이터에서만 잘 걷는 로봇이 나옵니다. 따로 정리해 뒀습니다.

Booster는 K1·T1·T2 세 모델 모두 URDF와 MJCF를 함께 공개합니다. USD는 없고요.

"USD를 주는 회사가 더 개방적이다"라고 보시면 곤란합니다. 형식이 다를 뿐 담긴 정보는 겹치고, Isaac Sim이 변환해 주니까요. 형상과 물리, 센서 정보는 URDF와 MJCF 조합으로도 다 나옵니다.

굳이 비교하실 거면 파일 안에 물리값이 얼마나 채워져 있는지를 보시는 편이 낫습니다. 그게 실제 로봇과의 차이를 실제로 줄이는 값이거든요.

USD 파일이 꼭 필요한지는 목적에 따라 다릅니다. 강화학습이 목적이라면 위에서 본 것처럼 URDF와 MJCF로 충분합니다.

자주 받는 질문

USD를 주는 회사가 더 좋은 건가요?

강화학습만 놓고 보면 차이가 없습니다. Isaac Sim이 URDF를 변환해서 쓰기 때문입니다. 디지털트윈이 목적이면 있는 쪽이 편합니다.

변환하는 데 시간이 오래 걸리나요?

실행할 때 자동으로 처리됩니다. 학생이 신경 쓸 일이 없습니다.

센서 층이 비어 있으면 센서를 못 쓰나요?

쓸 수 있습니다. 해상도나 시야각을 직접 정해서 채우는 것이 원래 방식입니다.

어떤 파일을 확인하신 건가요?

공개된 휴머노이드 로봇 USD 파일 하나와 Booster의 학습 코드입니다. 다른 로봇은 구성이 다를 수 있습니다.

이 글에서 확인한 것 · 확인하지 못한 것

  • 확인한 것 — 공개된 휴머노이드 로봇 USD 파일 하나와 Booster의 학습 코드를 직접 열어 확인했습니다.
  • 확인하지 못한 것 — 다른 로봇은 구성이 다를 수 있습니다.

다음 단계

이 글 다음에 이어서 읽으면 좋은 글입니다.


여기 숫자는 공개된 USD 파일과 학습 코드를 저희가 직접 열어 확인한 값입니다.

  • #피지컬 AI
  • #USD
  • #URDF
  • #Isaac Sim
  • #강화학습
  • #로봇 실습