Isaac Sim을 처음 시작할 때 어떤 환경을 접하게 될지를 고민해보았다. 따라서 초심자가 튜토리얼을 마친 후 본격적으로 시작할 때 마주하게 될 첫 화면과 개념을 설명하면 좋겠다고 생각했다.
먼저, Isaac Sim을 실행하면 나타나는 로딩 화면부터 살펴보자.
환경 소개
필자가 사용하는 버전은 4.2.0, 운영체제는 Ubuntu 22.04, 그리고 그래픽 드라이버는 535 버전대를 유지하고 있다. 연구실과 집을 오가며 작업하기 때문에 환경이 조금씩 달라질 수도 있다.

업데이트가 제공되었지만, 상위 버전은 안정성 문제로 인해 아직 적용하지 않았다.
첫 화면과 기본 개념
Isaac Sim을 실행하면 기본적으로 다음과 같은 화면을 확인할 수 있다. 우측 상단을 보면 익숙하면서도 낯선 요소들이 보일 것이다.

우상단을 보게 되면 익숙한 듯 아닌 듯한 걸 보게 되는데

- World (defaultPrim)
- Environment
이 두 요소의 타입은 Xform으로 설정되어 있다. 여기서 자연스럽게 첫 번째 의문이 생길 수 있다.
"이름이 직관적이지 않은데, 어떤 의미를 가지고 있을까?"
Xform이란?
Xform은 Transform의 약어로, USD(Universal Scene Description)에서 기본 변환 행렬을 표현하는 핵심 개념이다. 이는 다음과 같은 의미를 가진다.
변환 행렬은 기준 좌표계에서 상대적인 위치와 회전 정보를 포함하는 방식이며, USD에서는 이를 계층적으로 구성한다.
이해가 쉽지 않을 수 있다. 다음 그림을 통해 공간 내에서 좌표를 표현하는 방법을 살펴보자. (이 개념은 다양한 시뮬레이터에서 공통적으로 사용되므로 알아두면 유용하다.)

계층적 구조가 필요한 이유
로봇 팔을 움직인다고 가정해보자. 가장 먼저 드는 생각은 **“단순히 XYZ 좌표를 변경하면 되지 않을까?”**일 것이다. 그러나 현실적으로 여러 개체가 존재하거나, 한 개체가 이동하는 경우 좌표 체계가 복잡해질 수 있다.
이를 해결하기 위해 계층적인 좌표계 구조를 사용한다. 즉, 중심점(origin)에서 떨어진 거리와 회전 정보를 기준으로 새로운 좌표계를 정의하는 방식이다. 이러한 방식이 반복되면 다음과 같은 계층 구조가 형성된다.
땅 → 빌딩 → 계단 → 사람 → 사람의 손
각 계층이 변환 행렬을 가지고 있으면, 이를 순차적으로 곱하는 것만으로 월드 좌표계에서 특정 개체의 위치를 쉽게 계산할 수 있다.
따라서 Isaac Sim API를 살펴보면 local to world, world to local과 같은 변환 관련 함수들이 자주 등장하는 것이다. 향후 로봇팔이나 자율주행과 같은 기능을 구현할 때 TF(Transform) 개념이 필수적으로 사용될 것이다. 이는 센서 데이터의 변환을 처리하고, 정확한 위치를 결정하는 데 중요한 역할을 한다.


그래서 local to world, world to local이 항상 단골로서 API를 만날 수 있다.
실습: Transform 속성 살펴보기
이제 직접 실습을 진행해보자. World를 클릭하면 우측 패널에서 Transform 속성이 활성화된다.
- Translate: 이동 (마우스를 올리고 조작하면 개체가 움직인다.)
- Rotate: 회전
- Scale: 크기 조정
먼저 월드를 클릭해보자

Add transform 버튼을 눌러보면

아까 말했던 것처럼 이동 관련인 translate( 저기에 마우스를 올리고 휘휘 저어봐라 뭐가 움직일거다)
그리고 아래는 회전에 관련된 로테이트
그리고 맨 마지막엔 신장과 관련된 스케일이다
사실 행렬은 좌표계를 변환하는 함수라는 내용을 알면 다 알겠지만 혹시 여기서 좀 막힌다 하면 다음의 플레이리스트를 보고 와라
https://www.youtube.com/watch?v=fNk_zzaMoSs&list=PLZHQObOWTQDPD3MizzM2xVFitgF8hE_ab&ab_channel=3Blue1Brown
3Brown1Blue인데 얼마 안 되는 똑똑한 비인도인 수학 유튜버이다.
암튼 또 사설이 길어졌는데 다음으로 넘어가겠다.
실습 2: 오브젝트 생성하기
스테이지에서 우클릭 → Create → Mesh → Cone을 선택하여 오브젝트를 생성해보자.
이 과정에서 초심자들이 자주 실수하는 부분이 있다.

마우스를 스테이지에 올리고 우클릭 -> create -> mesh -> cone을 눌러봐라

여기서 뉴비들이 제일 많이 하는 실수 타입이 나올거다(나임 ㅋㅋ)

너님이 하려는 거는 Cube를 옮길 때 Cone을 잡아서 끌거나

다시 컨트롤 z를 눌러서 원래대로 돌려놓고 나서 이번에는 월드를 잡아서 숫자를 막 옮겨봤을 거다
그렇게 되면 나중에 지금이야 뭐 별 문제 없어서 잘 모르겠지만 다시 콘을 xyz방향으로 움직이고 원위치로 두려고 하면 이상하게 가있을 거고
나중에 뭐 물론 월드를 회전할 일은 없겠지만 지금은 월드가 로봇의 팔이라 생각하고 콘이 로봇 손이라고 생각하면

이따구로 x축에서 멀어진 상태로 회전을 하게 된다.
그래서 나중에 뭔가 이상해서 다시 뜯어고치고 새로 만들고를 하겠지.. 하지만 이런 거는 머리로 아는 게 아니라 실제로 하면서 두들겨 맞아봐야 나중에 실수를 안한다.
하지만 그럼에도 이런 걸 알아두면 좋은 이유는 나중에 트러블 슈팅할 때 용이하기 때문이고 내가 이유를 설명할 수 있는 게 완성도를 높이는 시작기 때문임
마무리
이번 글에서는 Isaac Sim을 처음 실행했을 때 보이는 화면과 기본적인 좌표 개념을 살펴보았다. 다음 글에서는 Transform에 대해 보다 자세히 다루고, 이를 실습을 통해 확인해보도록 하겠다.
(다음 글에서 계속!)
'로보틱스 > Isaac Sim' 카테고리의 다른 글
[Trouble Shooting] 그리퍼 & 매니퓰레이터 분리될 때 (0) | 2025.03.26 |
---|---|
블로그 운영 방안 소개글 (0) | 2025.03.18 |
Isaac Sim 설치 (0) | 2022.07.06 |