로봇운영체제(ROS) 개발자들을 위한 NVIDIA Isaac ROS 공개

by NVIDIA Korea

NVIDIA가 로봇운영체제(ROS) 개발자 컨퍼런스인 ROS 월드 2021(ROS World 2021)에서 ROS 개발자 커뮤니티에 성능인식 기술을 제공하기 위한 새로운 Isaac ROS를 공개했습니다. 이는 제품 개발을 가속화하고, 성능을 향상시키며, 최첨단 컴퓨터 비전과 AI/머신 러닝 기능을 ROS 기반 로봇 애플리케이션에 통합하는 작업을 단순화하도록 지원합니다.

Image consists of blocks representing software components in Isaac ROS stack
새로운 Isaac ROS GEM을 보여주는 Isaac ROS 스택 소프트웨어 구성요소

성능을 최적화하는 Isaac ROS GEM

Isaac ROS GEM은 NVIDIA GPU와 Jetson 라인업에 고도로 최적화된 DNN 기반 알고리즘을 포함해 이미지 처리와 컴퓨터 비전을 포괄하는 패키지를 제공합니다.

동급 최고의 정확도와 최적화된 성능을 제공하는 GEM: 스테레오 시각적 주행거리 측정방법

오토노머스 머신은 다양한 환경에서 움직이므로 어디에 있는지 추적해야 하는데요. 시각적 주행거리 측정 방법(Visual Odometry)은 초기위치로 카메라의 상대적인 위치를 추정하여 이러한 문제를 해결합니다. 스테레오 시각적 주행거리 측정 방법을 위한 Isaac ROS GEM은 ROS 개발자에게 강력한 기능을 제공합니다.

또한, Isaac ROS GEM은 실시간 (>60fps @720p) 스테레오 카메라 시각적 주행거리 측정 솔루션을 위한 최고의 정확도를 제공합니다. 널리 사용되는 KITTI 데이터베이스를 기반으로 공개된 결과는 여기에서 확인할 수 있습니다. 이 GPU 가속 패키지는 매우 정확할 뿐 아니라 상당히 빠르게 실행됩니다. 실제로 Jetson Xavier AGX에서 실시간으로 HD 해상도를 실행할 수 있죠.

DNN 추론: ROS 개발자가 사용할 수 있는 모든 NVIDIA NGC DNN 추론 모델

DNN 추론(Inference) GEM은 개발자가 NGC에서 사용할 수 있는 수많은 NVIDIA의 추론모델을 사용하거나 자체 DNN을 제공할 수 있는 ROS2 패키지 세트입니다. 사전 훈련된 모델의 추가 조정 또는 개발자 고유의 맞춤형 모델 최적화는 NVIDIA TAO 툴킷을 사용하면 됩니다.

최적화 후 이러한 패키지는 NVIDIA 추론서버인 TensorRT 또는 Triton에 의해 배포되는데요. 최적의 추론성능은 NVIDIA 고성능 추론 소프트웨어개발키트(SDK)인 TensorRT를 활용하는 노드에서 달성됩니다. 원하는 DNN 모델이 TensorRT에서 지원되지 않는 경우, Triton을 사용하여 모델을 배포해야 합니다. GEM에는 U-NetDOPE에 대한 기본 지원이 포함됩니다. TensorRT를 기반으로 하는 U-Net 패키지는 이미지에서 의미적 분할 마스크(semantic segmentation masks)를 생성하는 데 사용할 수 있습니다. 그리고 DOPE 패키지는 감지된 모든 물체에 대한 3D 포즈 추정(3D pose estimation)에 사용할 수 있습니다.

이 툴은 ROS 애플리케이션에 고성능 AI 추론을 통합하는 가장 빠른 방법입니다.

 Image is a composite image from three different image-processing algorithms.
Isaac ROS GEM을 통한 세 가지 이미지처리 알고리즘 합성 이미지

Isaac Sim에서 ROS 무빗(MoveIt)을 사용한 프란카(Franka) 공동 제어 데모

Isaac Sim 출시일정

2021년 11월에 정식 출시되는 Isaac Sim은 현재까지 가장 개발자 친화적인 버전입니다. UI, 성능과 구성요소 전반의 다양한 개선을 통해 시뮬레이션이 향상되어, 보다 빠른 개발이 가능해집니다. 또한 향상된 ROS 브릿지와 더 많은 ROS 샘플은 ROS 개발자의 경험을 향상시키죠. 정식으로 출시되는 새로운 기능들은 아래와 같습니다.

  • 성능 향상, 메모리 사용량과 시작 시간 단축
  • 격자 지도(Occupancy Map) 생성 개선, URDF 임포터
  • 새로운 환경: 대규모 창고, 사무실, 병원
  • 로봇, 물체, 환경과의 통신을 위한 새로운 파이썬(Python) 구성 요소
  • ROS/ROS2 브릿지, 뎁스포인트클라우드(Depth point cloud), 라이다포인트 클라우드(Lidar point cloud) 성능 향상
  • 업데이트 샘플
    • ROS2를 사용한 멀티 로봇 내비게이션
    • 주피터(Jupyter)에서 학습환경특성 랜덤화(Domain Randomization)을 사용한 SDG

새로운 합성 데이터 생성 워크플로우: Isaac Sim의 프로덕션 데이터 세트

오토노머스 로봇에는 인식 스택을 실행하는 수많은 AI 모델을 훈련시키기 위해 크고 다양한 데이터세트가 필요합니다. 실제 시나리오에서 이러한 모든 교육 데이터를 가져오는 것은 비용이 많이 들고, 코너케이스(corner case)의 경우 잠재적인 위험성도 동반되죠. Isaac Sim을 통한 새로운 합성 데이터 워크플로우는 오토노머스 로봇의 안전과 품질에 대한 우려를 해결하고, 양질의 데이터세트를 구축하기 위해 설계됐습니다.

데이터 세트를 구축하는 개발자는 장면, 장면 자체, 조명 및 합성 센서의 확률적 분포를 제어할 수 있는데요. 또한 개발자는 중요한 코너 케이스들이 데이터셋에 포함되게 돕는 세밀한 제어 기능도 포함합니다. 이 워크플로우는 감사, 안전 목적의 데이터세트 복제를 위한 버전 지정(versioning)과 디버깅 정보(debugging information)를 지원합니다.

Image consists of various images generated by synthetic sensors in simulation
Isaac Sim 센서 라이브러리에 있는 합성 데이터 예시

Isaac ROS를 시작하는 데 관심이 있는 개발자는 여기에서 더 자세히 배워보세요!

GTC 2021에서 출시될 더 많은 제품

11월 8일부터 11일까지 진행되는 GTC에서 오픈로보틱스의 CEO인 브라이언 거키(Brian Gerkey)의 프레젠테이션을 포함한 로봇 개발자들을 위한 트랙과 저명한 스피커들이 참여해 세션을 진행합니다. 또한, NVIDIA Jetson, Isaac OS, Isaac Sim과 Isaac GYM에 대한 논의도 진행됩니다.

추가내용을 통해 더 자세히 알아보세요