Robotics

NVIDIA cuRobo를 통한 밀리초 단위의 CUDA 가속 로봇 모션 생성

Reading Time: 2 minutes

빠른 모션 생성 알고리즘으로 구동되는 실시간 자율 로봇 내비게이션은 식품 및 서비스, 창고 자동화, 기계 관리와 같은 여러 산업 분야에서 애플리케이션을 구현할 수 있습니다. 조작기의 모션 생성은 복잡한 제약 조건을 충족하고 여러 비용 조건을 최소화해야 하기 때문에 매우 까다롭습니다.

또한 매니퓰레이터에는 많은 관절, 복잡한 링크 지오메트리, 단일 구성을 넘어서는 전체 목표 영역, 작업 제약, 사소하지 않은 운동학 및 토크 제한이 있을 수 있습니다. 이전 접근 방식에서는 충돌이 없는 기하학적 경로를 먼저 계획한 다음 로컬에서 최적화하여 보다 매끄러운 계획을 수립함으로써 이러한 복잡성을 완화했습니다.

그러나 궤적 최적화가 단순한 궤적 평활화 이상의 문제를 해결하는 강력한 도구가 될 수 있다는 사실이 점점 더 많은 연구를 통해 밝혀지고 있습니다. 이 로봇 내비게이션 문제에 대한 최신 이해는 대규모 글로벌 모션 최적화 문제라는 것입니다.

비디오 1. 모션 생성에 대한 cuRobo의 접근 방식

이 비디오에서는 역운동학 반복으로 시작하여 궤적 최적화 반복으로 이어지는 cuRobo를 사용한 모션 생성 단계를 시각화했습니다.

NVIDIA cuRobo는 모션 생성 문제를 전역 최적화 문제로 공식화하고 GPU를 활용하여 많은 병렬 시드를 사용하여 이 문제를 해결합니다. 먼저 충돌 없는 역운동학(IK)을 수행하여 충돌 없는 최종 관절 구성을 찾은 다음, 최종 관절 구성을 시드로 활용하여 궤적 최적화를 수행합니다(그림 1).

또한 cuRobo는 극단적인 경우에 사용할 수 있도록 궤적 최적화를 위한 시드로 사용할 수 있는 GPU 가속 고속 그래프 플래너를 구현합니다.

비디오 2: 모션 정책 네트워크모션 벤치메이커 데이터 세트의 모션 생성 문제에 대한 cuRobo의 솔루션

영상에서는 로봇 조작자가 장애물을 피해 공간을 이동하며 목표물에 도달하는 모습을 볼 수 있습니다.

cuRobo는 PyTorch로 구현되어 모션 생성을 위한 자체 비용 조건을 쉽게 구현할 수 있습니다. cuRobo는 일반적이고 시간이 많이 소요되는 작업을 위한 맞춤형 로봇 공학 CUDA 커널 라이브러리와 함께 제공됩니다. 이 라이브러리에는 여러 가지 NVIDIA 기술이 사용됩니다:

또한 cuRobo는 임베디드 애플리케이션을 지원하는 NVIDIA Jetson에서 실행됩니다.

결과에 따르면 cuRobo는 NVIDIA AGX Orin에서 100ms(중앙값) 이내에 모션 계획을 생성할 수 있습니다. 그림 3은 UR10의 엔비디아 젯슨 AGX 오린에서 실행되는 cuRobo의 통합 예시를 보여줍니다.

비디오 3: 충돌 없는 최소 저크 모션을 생성하는 cuRobo

이 비디오에서 cuRobo는 동적으로 나타나는 타겟에 대해 UR10 로봇의 부드러운 모션을 빠르게 생성합니다

cuRobo는 운동학, 충돌 검사, 역 운동학, 수치 최적화 솔버, 궤적 최적화, 모션 생성 등 여러 모션 생성 컴포넌트의 CUDA 가속 구현을 제공합니다. 실험 결과, cuRobo는 기존 접근 방식보다 훨씬 빠른 밀리초 단위로 복잡한 문제를 해결하는 것으로 나타났습니다(그림 4).

그림 4. 여러 모듈의 평균 컴퓨팅 시간

추가 리소스

cuRobo 코드는 /NVlabs/curobo에서 사용할 수 있습니다. 자세한 내용은 CuRobo: CUDA 가속 로봇 라이브러리를 참조하세요.

관련 리소스

Discuss (0)

Tags