로봇을 배우게 하려면 꼭 실제 로봇을 사서 넘어뜨려 봐야 할까요? 실제 장비는 비싸고, 사람이나 장비가 다칠 위험도 있으며, 같은 조건을 수백 번 되풀이하기도 어렵습니다. 그래서 먼저 컴퓨터 안에 로봇과 작업 공간을 만들어 시험하는 방법을 씁니다. 이 글은 그때 자주 함께 언급되는 Isaac Sim과 Isaac Lab이 각각 어디까지 맡는지 정리합니다.
로봇을 위한 가상 실험실이 필요한 이유
새로운 제어 방법을 검토하는 상황에서는 “정말 움직이는가”보다 먼저 “위험 없이 같은 조건에서 비교할 수 있는가”가 중요합니다. 실제 로봇만으로 시작하면 바닥 상태, 충전량, 센서 상태처럼 결과에 영향을 주는 조건을 매번 똑같이 맞추기 어렵습니다. 그래서 물리 법칙을 계산하는 가상 공간에서 먼저 조건을 통제하고, 실패가 나와도 장비 손상 없이 다시 시도합니다. 시뮬레이션은 현실을 대신하는 증명서가 아니라, 현실 실험 전에 질문을 좁히는 실험대에 가깝습니다.
Isaac Sim은 장면을, Isaac Lab은 반복 실험을 맡습니다
Isaac Sim은 NVIDIA Omniverse 위에서 로봇, 바닥, 카메라, 조명 같은 장면과 물리 상호작용을 다루는 시뮬레이터입니다. 여기서 물리 시뮬레이션은 중력, 충돌, 관절의 움직임처럼 실제 세계에서 일어나는 힘의 관계를 컴퓨터가 계산하는 일을 뜻합니다. 로봇 모델을 불러오고 센서를 달고 환경을 만드는 일은 이 층에 가깝습니다. 즉 “무대와 배우가 어떤 규칙 안에서 움직일지”를 정하는 역할입니다.
처음에는 Isaac Sim 하나만 알면 충분해 보일 수 있습니다. 하지만 로봇에게 걷기나 조작을 가르치려면 하나의 장면을 보는 데서 끝나지 않고, 많은 조건에서 반복해 관찰하고 행동을 평가해야 합니다. 그래서 장면 제작과 학습 실험을 같은 말로 뭉뚱그리지 않는 편이 좋습니다. 이 구분이 있어야 문제가 환경 모델링에 있는지, 학습 설정에 있는지 나중에 추적할 수 있습니다.
Isaac Lab은 Isaac Sim 위에서 강화학습이나 정책 평가를 반복하기 쉽게 구성한 프레임워크입니다. 강화학습은 로봇이 행동을 해 보고 점수, 즉 보상을 받아 다음 행동을 고쳐 가는 방식입니다. Isaac Lab에서는 관측값, 로봇이 낼 수 있는 행동, 성공과 실패를 판단하는 기준을 하나의 실험 환경으로 정의합니다. 같은 환경을 여러 개 동시에 돌려 많은 시행을 모으는 것도 이 층에서 다룹니다.
두 도구를 따로 보는 이유는 일을 나누기 위해서입니다. Isaac Sim이 장면과 물리의 질문을 맡는다면, Isaac Lab은 “무엇을 관찰시키고 어떤 행동을 허용하며 무엇에 점수를 줄 것인가”라는 학습 실험의 질문을 맡습니다. 어느 한쪽이 더 상위라는 뜻은 아닙니다. 실제로는 같은 로봇 문제를 서로 다른 관점에서 다루는 두 층입니다.
도구를 안다고 로봇이 바로 움직이는 것은 아닙니다
시뮬레이터를 설치했다고 해서 좋은 정책이 생기는 것은 아닙니다. 어떤 상태를 관찰하게 할지, 어떤 행동을 한 번에 허용할지, 넘어졌을 때를 어떻게 처리할지 같은 판단이 학습 결과를 바꿉니다. 그래서 이 블로그의 프로젝트 글에서는 도구 이름보다 그 도구를 사용해 어떤 조건을 분리했고 무엇을 확인하려 했는지를 더 중요하게 기록하려 합니다. 설치 과정과 코드 구조를 더 자세히 보고 싶다면 Isaac Sim과 Isaac Lab의 역할 경계 글을 이어서 읽으면 됩니다.
한 줄로 정리하면, Isaac Sim은 로봇이 시험할 가상 세계를 만들고 Isaac Lab은 그 안에서 학습과 평가를 반복하는 틀을 제공합니다. 다음 글에서는 이 가상 세계에서 배운 결과를 현실 로봇에 옮길 때 왜 다시 검증해야 하는지 살펴봅니다.