새로운 Isaac 시뮬레이션 엔진은 더 뛰어난 포토리얼리스틱 환경을 만듭니다. 또한 도메인 무작위화(domain randomization)와 합성 데이터 생성의 간소화를 통해 구축한 실측 데이터세트로 물류와 창고부터 미래형 공장들에 이르기까지 다양한 영역에서 사용되는 로봇들을 훈련하게 해줍니다.
NVIDIA Omniverse 기반 시뮬레이터인 Isaac 플랫폼에 새로운 기능들이 추가됐습니다. 한 단계 업그레이드된 로봇용 시뮬레이션 기능들을 이제 NVIDIA Isaac Sim 오픈 베타로 만나볼 수 있습니다.
Omniverse 플랫폼을 기반으로 구축된 Isaac Sim은 로보틱스 시뮬레이션 애플리케이션 겸 합성 데이터 생성용 툴입니다. 로봇을 보다 효율적으로 훈련, 검증할 수 있도록 해당 로봇이 각종 환경과 상호작용하는 사실적 시뮬레이션을 제공하는데요. 이때 실세계에서는 구축이 어려운 환경들까지도 현실성 있게 구성하여 활용할 수 있습니다.
또한 Isaac Sim의 최신 릴리스에는 향상된 성능의 다중 카메라 지원과 센서 기능, PTC OnShape CAD 임포터(importer)가 추가되어 3D 에셋을 더욱 간편하게 가져오기 할 수 있습니다. 이러한 신기능들은 물리적 로봇의 설계와 개발, 훈련에서부터 정확하고 사실적인 가상 환경에서의 시뮬레이션과 검증을 담당할 “디지털 트윈(digital twin)”의 구축에 이르기까지, 보다 넓은 범주의 로봇과 환경이 성공적으로 모델링하고 구축될 수 있게 지원할 전망입니다.
주요 신기능 소개
- 다중 카메라 지원
- 어안렌즈 카메라와 합성 데이터
- ROS2 지원
- PTC OnShape 임포터
- 향상된 성능의 센서 지원
- 초음파 센서
- 역각 센서
- 커스텀 라이다 패턴(custom lidar patterns)
- NVIDIA Omniverse 런처에서 다운로드 가능
로보틱스 시뮬레이션의 범위를 확대하는 Isaac Sim
강력한 시뮬레이션 환경의 구축은 로봇의 검증과 훈련에 크게 기여해 왔습니다. 그러나 이를 위한 시뮬레이터의 경우, 결점들 때문에 도입이 어려울 때가 많았죠. Isaac Sim은 다음과 같은 기능들을 통해 시뮬레이터의 문제들을 해결합니다.
사실적인 시뮬레이션
사실적인 로보틱스 시뮬레이션을 위해 Isaac Sim은 PhysX 5로 구현하는 GPU 기반 고급 물리 시뮬레이션, 실시간 레이 트레이싱과 패스 트레이싱을 통한 포토리얼리즘, 물리 기반 렌더링을 위한 재료 정의 언어(MDL) 지원 등 Omniverse 플랫폼의 강력한 테크놀로지들을 활용합니다.
모듈식의 폭넓은 애플리케이션
Isaac Sim은 조종, 자동 탐색, 훈련에 사용될 합성 데이터 생성 등 로보틱스에서 가장 대표적인 활용 사례들을 다양하게 아우르도록 구축됩니다. 모듈식 디자인을 채택하여 간편한 커스터마이징과 확장이 가능하므로 여러 애플리케이션과 환경에 적용할 수 있습니다.
강력한 연결성과 상호운용성
Isaac Sim은 Omniverse Nucleus와 Omniverse 커넥터들을 활용하여 환경과 로봇 모델을 USD(Universal Scene Description) 형식으로 공동 구축, 공유, 가져오기 할 수 있게 해줍니다. Isaac SDK와 ROS/ROS2 인터페이스, 기능을 완비한 파이썬(python) 스크립팅, 로봇과 환경 모델의 내보내기를 위한 플러그인을 활용하여 로봇의 브레인을 가상 세계와 간편하게 연결합니다.
Isaac Sim을 활용한 합성 데이터 생성으로 자체 수행하는 머신 러닝
합성 데이터 생성은 오늘날의 로봇에 탑재되는 지각 모델(perception model)의 훈련에서 중요성을 더해가고 있는 툴입니다. 적절한 라벨링을 거친 실세계 데이터의 확보에는 많은 시간과 비용이 소요됩니다. 그러나 로보틱스의 경우, 훈련용 데이터를 실세계에서 수집하기가 너무 어렵거나 위험할 때가 있습니다. 특히 인간과 근접한 영역에서 작동해야 하는 로봇의 경우 더욱 그렇죠.
Isaac Sim은 지각 모델의 훈련에 중요한 갖가지 센서 유형을 자체 지원합니다. 여기에는 RGB 센서를 비롯하여 깊이, 경계상자, 분할 등을 위한 센서가 포함됩니다.
이번 오픈 베타 버전에는 합성 데이터를 KITTI 형식으로 출력하는 기능이 추가됐습니다. 이 데이터를 NVIDIA Transfer Learning Toolkit에 직접 적용하여 구체적인 활용 사례에 맞는 데이터로 모델의 성능을 개선할 수 있습니다.
도메인 무작위화
도메인 무작위화(Domain Randomization)는 신(scene)에 포함된 빛과 색상, 소재의 질감 등 시뮬레이션 신을 정의하는 파라미터에 변화를 주는 작업을 의미합니다. 도메인 무작위화의 주목적은 시뮬레이션에서 사용되는 다양한 도메인 파라미터(domain parameters)에 신경망을 노출시켜 머신 러닝(ML) 모델의 훈련을 강화하는 것입니다. 이를 통해 해당 모델은 실세계 시나리오에서의 일반화를 더욱 훌륭히 수행할 수 있게 되죠. 사실 이 기법은 모델이 무시해야 할 것을 훈련하는 데 도움이 됩니다.
Isaac Sim은 주어진 신의 정의를 돕는 다양한 특성들의 무작위화를 지원합니다. 이러한 기능들을 통해 머신 러닝 엔지니어들은 충분한 다양성을 확보한 합성 데이터세트로 모델의 성능을 강화할 수 있습니다.
무작위화가 가능한 파라미터
Isaac Sim 오픈 베타는 사용자가 무작위화의 영역을 지정할 수 있도록 하여 도메인 무작위화 기능을 강화했습니다. 이제 개발자들은 신에서 무작위화가 필요한 영역 주변을 상자로 지정할 수 있으며, 이때 신의 나머지 부분은 변함없이 유지됩니다.
Isaac Sim과 관련한 추가 정보
GTC 2021에서의 Sim-to-Real 세션을 확인해보세요.
또한 다음의 튜토리얼을 통해 여러분의 로봇을 가져오기 하는 방법을 배울 수 있습니다.
개발자 블로그를 방문하고 Isaac Sim을 사용하여 젯봇(Jetbot)을 훈련하는 방법에 대해 자세히 알아보십시오.
- NVIDIA Isaac Sim으로 젯봇 훈련하기(Training Your JetBot in NVIDIA Isaac Sim)
- NVIDIA Isaac Sim으로 충돌 없이 NVIDIA 젯봇 훈련하기(Training Your NVIDIA JetBot to Avoid Collisions Using NVIDIA Isaac Sim)
Isaac Sim 오픈 베타와 만나세요
로보틱스 커뮤니티의 개발자 수천 명이 NVIDIA의 조기 체험 프로그램(early access program)으로 Isaac Sim을 만나고 있습니다. Isaac Sim을 다운로드하고 로보틱스 시뮬레이션의 진화를 경험해보세요!