아이작 심에서 센서 데이터 수집 해보기

아이작 심에서 센서 데이터 수집 해보기

안녕하세요, 지난번 포스팅 이후로 너무 오랜만이죠?

오늘은 아이작 심으로 간단한 카메라 / 라이다 데이터 수집 실습을 해보겠습니다. Isaac Sim 6.0.1 기준으로 작성되어 메뉴 이름이나 위치는 세부 버전에 따라 아주 조금 다를 수 있습니다.표시된 경로가 안 보이면 당황하지 말고 상단 메뉴들을 훑어보거나 AI 에이전트를 통해 도움을 받아보세요!


오늘 만들 것

빈 스테이지에서 시작해서:


  1. 바닥로봇을 하나 불러오고
  2. 그 로봇에 카메라를 달아서 로봇의 눈으로 세상을 보고
  3. 라이다(LiDAR) 를 하나 더 달아서 거리 데이터를 확인하고
  4. 마지막으로 그 카메라가 본 이미지를 실제 파일로 저장해봅니다


오늘은 로봇을 직접 설계하지는 않고, 아이작 심에 이미 들어있는 무료 로봇 에셋을 불러오는 방식으로 진행하겠습니다.


1단계 — 새 스테이지 + 바닥 만들기

1. 상단 메뉴 FileNew로 깨끗한 새 스테이지를 엽니다. (기본 조명이 하나 자동으로 들어가 있을 겁니다.)

아이작 심에서 센서 데이터 수집 해보기 image

2. 왼쪽 아래 "Content"패널이 활성화 되어있는지 확인한 후, (안 되어있다면 상단 메뉴 WindowBrowsers Content 활성화 해줍니다.)

아이작 심에서 센서 데이터 수집 해보기 image

3. 좌측 하단 Content 브라우저에서 Isaac Sim EnvironmentsGrid 폴더로 들어가 default_environment.usd를 뷰포트로 드래그 앤 드롭합니다. (아래 그림 참고) 뷰포트에 파란 바탕에 흰색 그리드가 있는 바닥이 생성됩니다 — 이게 우리 로봇이 서 있을 바닥입니다.

아이작 심에서 센서 데이터 수집 해보기 image


확인 포인트: 뷰포트에 파란색 바닥이 보이면 성공입니다. 만약 뷰포트 화면이 검은색이거나 색상이 이상하다면, 뷰포트 우측 상단에 있는 Stage Lights 탭을 클릭하여 Default를 선택해 줍니다.

아이작 심에서 센서 데이터 수집 해보기 image


2단계 — 로봇 에셋 불러오기

Isaac Sim에는 미리 만들어진 로봇들이 여러 개 들어있습니다. 오늘은 그중 가장 단순하고 유명한 Jetbot(작은 2륜 로봇)을 씁니다.


1. 왼쪽 폴더 트리에서 Isaac SimRobots 폴더로 들어갑니다. (버전에 따라 상단에 폴더 검색창이 있으면 jetbot으로 검색하셔도 됩니다.)

아이작 심에서 센서 데이터 수집 해보기 image

2. Jetbot 폴더 안의 jetbot.usd 파일을 찾아서, 뷰포트로 그대로 드래그 앤 드롭합니다.

로봇이 바닥 위(또는 근처)에 뚝 떨어지듯 나타납니다. Stage 패널에 로봇의 트리 구조(바퀴, 카메라 마운트 등 이미 이름 붙은 부품들)가 쭉 나타나는 걸 확인하세요.

아이작 심에서 센서 데이터 수집 해보기 image

Jetbot 대신 Carter라는 로봇이 보이면 그걸 써도 무방합니다 — 오늘 배우는 개념(카메라·라이다 붙이기)은 어떤 로봇이든 동일합니다.


3. 로봇이 바닥에 비해 너무 크거나 작아 보이면, 화면 우측 상단의 Stage 패널에서 jetbot을 클릭해서 선택한 후, 키보드 F를 눌러 포커싱하면 뷰포트에서 줌인이 가능합니다.

아이작 심에서 센서 데이터 수집 해보기 image


여기서 간단한 UI를 짚고 넘어가겠습니다. 아이작 심에서 특정 물체를 선택하면 해당 물체를 3D 공간 안에서 이동하거나, 회전하거나 또는 크기를 조절하는게 가능한데요. 물체가 선택되어 하이라이트 된 상태에서 키보드 W, E, R 키를 눌러보시며 바뀌는 "기즈모"를 확인해보시기 바랍니다. W는 무브 툴 (축 또는 평면을 눌러서 해당 방향으로 이동이 가능합니다), E는 회전 툴 (마찬가지로 x,y,z축 중 선택하여 해당 축에서의 회전이 가능합니다), 마지막으로 R은 스케일 툴이며 물체의 x,y,z축 또는 전체 크기를 조절할 수 있습니다. 앞으로 여러분이 익숙해지셔야 할 "Property" 탭에서도 물체의 위치, 회전 값, 크기를 바꿀 수 있지만 위 세 가지 특성은 뷰포트에서 작업하는 것이 직관적이고 편리합니다.

아이작 심에서 센서 데이터 수집 해보기 image


뷰포트에서 카메라 뷰 조작 방법에 대해서도 간단히 설명을 드리자면, 마우스를 우클릭 한 상태에서 드래그 해보시면 FPS 게임과 같은 시선 이동이 가능합니다. 마우스를 우클릭 한 상태에서 키보드 W,A,S,D 키를 눌러보시면 전진, 좌측 방향 횡이동, 후진, 우측 방향 횡이동을 확인하실 수 있을거에요. 마우스를 우클릭 한 상태에서 Q 또는 E를 누르시면 상하 방향 이동이 가능합니다. 마지막으로 마우스를 우클릭 한 상태에서 스크롤 휠을 돌려 이동 속도를 조절할 수 있습니다.


4. 바닥 아래로 내려가있는 로봇을, W키를 눌러 무브 툴을 활성화 해준 뒤 Z축 (상하 방향)을 클릭&드래그 하여 위로 끌어올립니다.

아이작 심에서 센서 데이터 수집 해보기 image


3단계 — 첫 시뮬레이션 재생

1. 뷰포트 왼쪽의 툴바에서 ▶ Play 버튼을 눌러봅니다.

아이작 심에서 센서 데이터 수집 해보기 image

2. 로봇이 중력을 받아 바닥 위에 자연스럽게 안착하는지 확인합니다. (Jetbot은 이미 물리 설정이 다 되어있는 완성 에셋이라, 아무것도 안 하셔도 정상적으로 서 있어야 합니다.)

3. 확인했으면 ■ Stop을 눌러 처음 상태로 되돌립니다.


왜 이 단계가 중요한가: 센서를 붙이기 전에 로봇 자체가 물리적으로 멀쩡한지 먼저 확인하는 습관이 중요합니다. 나중에 뭔가 이상해지면 "센서 때문인지, 로봇 자체 문제인지" 구분하기 쉬워집니다.


4단계 — 로봇 움직여보기

코드를 한 줄도 안 쓰고, 미리 만들어진 그래프 노드로 로봇을 움직여볼 수 있습니다.

1. 상단 메뉴 Tools RoboticsOmniGraph ControllersJoint Velocity (또는 유사한 이름의 항목)를 클릭합니다.

2. 팝업창에서 "Robot Prim" 항목에 Add를 누른 뒤

3. Jetbot의 프림 경로를 지정합니다. (Select Targets 창에서 Jetbot 클릭 후 Select 버튼 클릭, 아래 그림 참고)

아이작 심에서 센서 데이터 수집 해보기 image

4. 화면 우측 상단 Stage 패널에서 Graphs Velocity_ControllerJointCommandArray 클릭한 뒤, 우측 하단 Property 패널에서 Inputs 쪽 배열에 직접 숫자를 넣어보세요 (예: [3.0, 3.0] — 두 바퀴 다 같은 속도로 전진). 이 배열이 지금 비어있거나 0이면 그래프가 완벽해도 로봇은 정지해 있습니다.

아이작 심에서 센서 데이터 수집 해보기 image


생성 후 Play를 누르면, 그래프에 설정된 기본값에 따라 바퀴가 회전하는 걸 볼 수 있습니다.


로봇이 움직이지 않는다면 추가로 확인해야할 사항:

  • ArticulationController 노드를 클릭 → Property 패널에서 targetPrim/World/jetbot(articulation root가 있는 프림)을 가리키는지 확인
  • JointNameArray 노드 → 배열 안에 left_wheel_joint, right_wheel_joint가 정확히 들어있는지 확인


5단계 — 카메라 센서 추가

1. 상단 메뉴 CreateCamera 를 클릭합니다. Stage 트리에 Camera 프림이 생기고, 뷰포트에 회색 카메라 프러스텀(시야를 나타내는 반투명 도형)이 보입니다. (또는 뷰포트 빈 공간에 우클릭 후 나타나는 드롭 메뉴에서 Create → Camera 를 클릭합니다.)

아이작 심에서 센서 데이터 수집 해보기 image

2. Stage 패널에서 Jetbot 트리를 확장 시키고 chassis 트리를 확인합니다. 방금 만든 Camera를 드래그 한 뒤 chassis에 드롭하여 자식으로 만듭니다. (아래 그림 참고) 이렇게 하면 로봇이 움직일 때 카메라도 같이 따라 움직입니다.아이작 심에서 센서 데이터 수집 해보기 image

3. 뷰포트의 우측 상단 Stage 패널에서 Camera를 선택한 뒤 뷰포트에서 Alt+T (탑뷰), Alt+R(사이드뷰)로 확인해보며 W, 무브 툴로 위치를 수정해줍니다. 탑뷰나 사이드뷰 상태에서는 마우스 스크롤 휠줌 인/아웃이 가능하며, 가운데 클릭&드래그로 패닝할 수 있습니다. 카메라 위치는 대략 로봇 앞쪽 상단이면 충분합니다 — 정밀할 필요 없습니다. (아래 그림 참고) 다시 3D 뷰포트로 돌아오려면 Alt+P를 누릅니다.

아이작 심에서 센서 데이터 수집 해보기 image

4. 우측 상단 Stage 패널에서 Camera 선택 후, 아래쪽 Property 패널에서 카메라의 Y축 회전 값에 -90 또는 270 입력하여 로봇이 보는 방향과 일치시켜 줍니다. (아래 그림 참고)아이작 심에서 센서 데이터 수집 해보기 image

5. 뷰포트에서 로봇이 보고 있는 방향과 카메라 시선(회색 카메라 프러스텀)이 일치하는지 확인합니다. (아래 그림 참고)

아이작 심에서 센서 데이터 수집 해보기 image


6단계 — 카메라 시점으로 확인

지금 만든 카메라가 실제로 뭘 보고 있는지 확인해봅시다.


1. 상단 메뉴 Window Viewport Viewport 2를 눌러 두 번째 뷰포트 창을 엽니다. 화면 아무데나 드래그해서 배치하세요.

2. 새로 뜬 뷰포트 상단의 카메라 선택 드롭다운(보통 "Perspective"라고 써 있는 부분)을 클릭하고, 방금 만든 Camera를 선택합니다.

3. 이제 한쪽 화면에는 전체 장면(Perspective), 다른 쪽 화면에는 로봇의 카메라가 실제로 보는 화면이 동시에 뜹니다.

4. Play를 눌러보고, 로봇이 움직이면 카메라 시점도 같이 움직이는지 확인하세요.

아이작 심에서 센서 데이터 수집 해보기 image


이게 바로 "1인칭 시점 데이터"입니다 — 자율주행차 블랙박스 영상과 같은 원리입니다.


7단계 — 라이다(LiDAR) 센서 추가

카메라는 색을 보지만, 라이다는 거리를 잽니다. 하나 더 붙여봅시다.

1. 상단 메뉴 CreateIsaacSensors RTX LidarRotating 을 클릭합니다. (이 경로가 안 보이면 CreateSensors 하위를 살펴보세요. 버전에 따라 RTX Lidar 대신 PhysX Lidar로 표시될 수 있는데, 오늘 목적엔 어느 쪽이든 상관없습니다.)

아이작 심에서 센서 데이터 수집 해보기 image

2. 생성된 Lidar 프림도 5단계와 같은 방식으로 chassis 트리로 드래그&드롭하여 로봇의 자식으로 만들어줍니다.

아이작 심에서 센서 데이터 수집 해보기 image

3. 카메라 위치를 옮긴 것과 같은 방식으로 라이다 센서도 로봇 위쪽(지붕 정도 높이)으로 옮겨줍니다.

아이작 심에서 센서 데이터 수집 해보기 image

4. Lidar 프림을 선택한 채 Property 패널에서 drawLines 체크박스를 켜주세요 (아래 그림 참고) — 이러면 Play 중에 라이다가 실제로 쏘는 레이저 광선이 눈에 보이는 선으로 뷰포트에 그려집니다.

아이작 심에서 센서 데이터 수집 해보기 image

5. 뷰포트 빈 공간에 우클릭드롭다운 메뉴CreateMeshCube를 클릭하여 정육면체를 하나 생성해주시고, WR로 위치와 크기를 조절해주신 후 (적당히 로봇 앞쪽에 배치, 정육면체가 바닥 아래에 놓이지 않도록 주의) 정육면체를 우클릭하여 나오는 드롭다운 메뉴 AddPhysicsRigid Body with Colliders Preset으로 콜리젼 값이 기 설정되어있는 강체로 만들어 줍니다.

아이작 심에서 센서 데이터 수집 해보기 image

6. Play를 눌러서, 주변 바닥이나 물체에 부딪히는 붉은 선들이 로봇 주위로 뿜어져 나오는 걸 확인하세요.

아이작 심에서 센서 데이터 수집 해보기 image


확인 포인트: 선이 안 보이면 라이다가 바닥에 너무 파묻혀 있거나 너무 높이 떠 있을 수 있습니다. Translate 값을 조정해보세요.


8단계 — 데이터 실제로 저장해보기

지금까지는 "보기만" 했습니다. 이제 카메라가 본 것을 실제 이미지 파일로 저장해서, 이게 AI 모델 학습에 쓰이는 데이터라는 걸 체감해봅시다.


1. 상단 메뉴 ToolsReplicatorSynthetic Data Recorder 를 클릭해 녹화 창을 엽니다.

아이작 심에서 센서 데이터 수집 해보기 image

2. Render Products 항목에서 "Add New Render Product" 버튼을 눌러, 방금 만든 카메라를 등록합니다 (뷰포트가 카메라 시점이면 자동으로 잡히기도 합니다만, 지금처럼 멀티 뷰포트 상황에서는 활성화된 뷰포트의 카메라 시점으로 자동 추가되니 Camera Path를 클릭하여 바꿔주면 됩니다). 잘못 추가했다면 오른쪽의 삭제 버튼을 누른 뒤 다시 추가해줍니다.

아이작 심에서 센서 데이터 수집 해보기 image

3. Parameters 항목에서 체크박스 목록 중 rgb(기본 컬러 이미지)와 distance_to_camera(깊이/거리 정보)를 체크합니다.

아이작 심에서 센서 데이터 수집 해보기 image

4. 바탕화면에 새 폴더를 하나 생성해주고, 폴더명을 data로 바꿔준 뒤 경로를 복사해둡니다.

아이작 심에서 센서 데이터 수집 해보기 image

5. Output 항목에서 저장할 폴더 경로를 지정합니다 (복사해둔 경로 붙여넣기).한글은 인식하기 못하기 때문에, 물음표 처리된 부분을 desktop이라고 수정해줍니다.

아이작 심에서 센서 데이터 수집 해보기 image

6. 하단 Control 영역에서 "Number of Frames"를 10 정도로 짧게 설정하고, 뷰포트 왼쪽의 툴바에서 Play 버튼을 눌러 시뮬레이션을 실행시킨 뒤, Synthetic Data Recorder 탭 하단의 Start 버튼을 누릅니다.

아이작 심에서 센서 데이터 수집 해보기 image

7. 몇 초 후 자동으로 멈추면(또는 Stop을 직접 누르면), 지정했던 폴더를 "Open working directory"버튼을 눌러 열어보세요(위 그림 참고). rgb, distance_to_camera 같은 하위 폴더 안에 이미지 파일들이 저장되어 있는지 확인해봅니다. rgb 이미지는 png형식의 파일이, distance_to_camera는 npy형식의 파일이 생성되어 있는 것을 확인할 수 있습니다.

아이작 심에서 센서 데이터 수집 해보기 image


오늘의 하이라이트입니다. 방금 저장된 이 이미지들이, "시뮬레이션에서 대량으로 뽑아낸 뒤 AI 모델 학습에 쓰는 합성 데이터(synthetic data)"의 가장 작은 예시입니다. 실제 프로젝트에서는 이 과정을 수천~수만 장 규모로 자동 반복합니다.


9단계 — 마무리

  • Stage 트리를 한번 쭉 훑어보면서, 오늘 붙인 CameraLidar가 로봇 밑에 잘 들어가 있는지 확인해보세요.
  • 원하면 File → Save As로 오늘 만든 스테이지를 저장해서 나중에 다시 열어볼 수 있습니다.
  • 오늘 다룬 흐름(로봇 불러오기 → 센서 붙이기 → 데이터 저장)은 실제 산업 현장의 자율주행·로봇 개발에서도 기본 골격이 똑같습니다. 다른 점은 로봇을 직접 설계하고, 센서를 수천 번 자동으로 재배치하면서 대량의 데이터를 뽑는다는 규모의 차이뿐입니다.


더 해보고 싶다면 (공식 튜토리얼)


오늘 다룬 내용을 추가로 더 연습하고 싶으시면, Isaac Sim 공식 문서의 아래 순서를 따라가시는 걸 추천합니다 (검색창에 그대로 검색하면 나옵니다):



오늘 실습은 이 네 개 튜토리얼을 완성형 로봇 에셋으로 압축한 버전입니다.


자주 겪는 문제

로봇이 바닥을 뚫고 떨어짐

로봇 위치(Translate Z)가 바닥보다 낮게 시작했을 가능성. 값을 올려서 바닥 위에서 시작하게 조정


카메라/라이다를 만들었는데 로봇이 안 따라감

Stage 트리에서 로봇의 자식으로 드래그하지 않고 최상위(root)에 그대로 남아있는 경우입니다. 트리에서 위치를 다시 확인하세요


라이다 선이 안 보임

drawLines 체크박스를 못 찾았거나, 라이다가 다른 부품 속에 파묻혀 있을 수 있습니다


Synthetic Data Recorder 메뉴가 안 보임

Window → Extensions에서 관련 확장 기능이 꺼져 있을 수 있습니다. 검색창에 replicator로 찾아 활성화해보세요


메뉴 이름이 자료와 다름

세부 버전 차이입니다. 비슷한 이름의 상위/하위 메뉴를 훑어보시거나, AI 에이전트를 활용해 문의해보세요


수고 많으셨습니다.