Isaac Sim
Zivid는 카메라를 NVIDIA Isaac Sim 으로 가져올 수 있는 공식 확장 기능을 제공합니다.
경고
이 확장 기능은 실험 중입니다. API와 GUI는 변경될 수 있습니다.
해당 확장 기능은 다음 GitHub 저장소에서 찾을 수 있습니다: zivid-isaac-sim
확장 프로그램을 설치하려면 follow the official Isaac Sim documentation 에서 확장 프로그램을 추가하고 업데이트하는 방법을 확인하세요.
팁
Make sure the path inputted to the extension window points to the source directory of the zivid-isaac-sim repository.
Getting started with the Zivid camera
확장 프로그램을 설치한 후 다음 단계는 Zivid 카메라를 만드는 것입니다.
Create a Zivid camera in your scene
Zivid 카메라를 만들려면 Create 를 클릭한 다음 Zivid Camera 를 클릭합니다. 드롭다운 메뉴에서 불러올 카메라 모델을 선택합니다(로봇 장착에 더 적합한 마운트도 선택 가능). Add 를 클릭하여 장면에 카메라를 추가합니다.
Create a Zivid camera on a robot arm
로봇에 Zivid 카메라를 추가하려면 먼저 로봇을 Isaac Sim에 로드해야 합니다. Isaac Sim 창 하단의 Isaac Sim Assets 탭에는 이미 많은 로봇이 준비되어 있습니다. 로봇을 로드한 후 로봇의 플랜지를 마우스 오른쪽 버튼으로 클릭하고 Create 를 선택한 후 Zivid Camera 를 선택합니다. 올바른 카메라 모델과 로봇 마운트를 선택한 후 Add 를 클릭하여 카메라를 로봇에 추가합니다.
팁
다양한 마운트에 대한 자세한 내용은 webshop 에서 확인하실 수 있습니다.
Interacting with the Zivid Camera
카메라가 만들어지면 여러 가지 방법으로 카메라와 상호 작용할 수 있습니다.
Capturing with the Zivid camera
Zivid 카메라로 가상 이미지를 캡처하려면 Isaac Sim 창의 가장 왼쪽 열에 있는 Play 버튼을 클릭하여 시뮬레이션을 실행해야 합니다. 그런 다음 Zivid 카메라 창의 Capture 버튼을 클릭하여 2D 이미지를 캡처합니다.
팁
카메라의 Sampling Mode 를 변경하여 이미지의 해상도와 포인트 클라우드에 영향을 미칠 수도 있습니다.
Visualizing the point cloud
포인트 클라우드를 시각화하려면 Zivid 카메라 창 내에서 Visualize Field of View 버튼을 활성화하세요. Capture 기능과 마찬가지로 먼저 Play 버튼을 누르세요. 포인트 클라우드는 장면에서 빨간색 점으로 시각화됩니다.
Exploring the field-of-view
카메라 및/또는 카메라 프로젝터의 FOV 를 살펴보려면 Stage 창에서 Zivid 객체를 찾아 + 아이콘을 클릭하여 확장합니다. 그런 다음 camera_sensor 또는 projector 옵션 중 하나를 클릭하면 FOV 가 표시됩니다.
카메라의 관점에서 세상을 보고 싶다면 렌더링 창 상단의 Perspective 버튼을 클릭하고 Cameras 로 변경한 다음 camera_sensor 또는 projector 로 변경합니다.
Running demos
zivid-isaac-sim 저장소 안에는 demos 라는 디렉터리가 있습니다. 이 디렉터리에는 카메라와 상호 작용하는 다양한 방법을 보여주는 여러 Python 스크립트가 들어 있습니다.
팁
Python API를 통해 Isaac Sim과 상호 작용하면 제어력이 더욱 강화되며, Zivid 개발자들이 이를 권장합니다!
데모를 실행하려면 내장된 Isaac Sim Python 환경을 사용해야 합니다. 이 환경은 Ubuntu에서는 python.sh 파일을, Windows에서는 python.bat 파일을 실행하여 실행할 수 있습니다. 스크립트는 Isaac Sim 디렉터리에 있으며, Python 스크립트를 입력 인수로 사용합니다.
데모를 실행하려면 다음을 수행하세요.
cd /path/to/isaac-sim/ && ./python.sh /path/to/zivid-isaac-sim/demos/demo.py
cd path\to\isaac-sim
python.bat "path\to\zivid-isaac-sim\demos\demo.py"
Isaac Sim Python 환경에 대한 자세한 내용은 official documentation 에서 확인할 수 있습니다.
Rendering a Zivid point cloud
Zivid 카메라로 촬영한 포인트 클라우드를 Isaac Sim 환경 내에서 직접 렌더링할 수도 있습니다.
omni.kit.pointclouds 확장 프로그램은 Isaac Sim 내부에서 E57 형식으로 저장된 포인트 클라우드를 렌더링하도록 설계되었습니다. 확장 프로그램 자체의 필수 사항은 아니지만, omni.flowusd 도 설치해야 합니다. 포인트 클라우드 렌더링에 필요한 플로우 확장 프로그램을 설치하고 활성화하는 omni.flowusd.bundle 확장 프로그램을 설치하는 것이 좋습니다.
위의 확장 프로그램을 설치하고 활성화했으면 마지막으로 Isaac Sim으로 가져올 포인트 클라우드를 찾아야 합니다. 포인트 클라우드는 E57 파일 형식이어야 하며, Zivid 포인트 클라우드를 PLY 형식으로 내보낸 후 CloudCompare 등을 통해 E57로 변환하면 됩니다.
E57 버전의 포인트 클라우드를 다운로드했다면 Isaac Sim의 Content 탭에서 해당 파일을 찾아 컴퓨터에서 찾아보실 수 있습니다. 파일을 마우스 오른쪽 버튼으로 클릭하고 Convert to USD 옵션을 선택하세요.
기본 변환 옵션을 사용하고 Convert 을 클릭하기만 하면 됩니다. 그러면 E57 파일과 같은 디렉터리에 USD 파일이 생성되고, 자동으로 Isaac Sim 환경으로 가져옵니다. Stage 탭에 로드된 것을 확인할 수 있습니다.
Stage 탭에 새로운 USDpoints 기본 객체가 추가되었습니다. 계속 진행하기 전에 scan USDpoints 객체를 선택해야 합니다.
팁
USDpoints 개체의 출처를 볼 수 없는 경우 확대/축소해 보세요.
이제 Window, Flow 을 클릭한 다음 Presets 을 클릭하여 Isaac Sim 창 하단에 Flow 이라는 새 탭을 로드합니다.
이 탭에서 PointCloud 옵션을 마우스 오른쪽 버튼으로 클릭하고 Add to Stage 를 선택한 다음 Global Copy 를 선택합니다.
이제 Zivid 포인트 클라우드가 장면에 렌더링되지만, 제대로 보려면 위치를 변경해야 할 수도 있다는 점에 유의하세요.