토크 제한·충돌 없는 로봇 동작을 위한 고속 GPU 계획

토크 제한·충돌 없는 로봇 동작을 위한 고속 GPU 계획

Balakumar Sundaralingam, Adithyavairavan Murali, Stan Birchfield

10 분 읽기•2026년 11월 5일

빠른 조작을 위해서는 계획도 실행도 신속한 동작이 필요합니다. 동작 계획은 장애물이 많은 환경에서 충돌 없는 경로를 찾는 데 상당한 진전을 이루었습니다. 하지만 이 경로를 실행하려면 속도, 가속도, 액추에이터 토크 제한을 준수하는 시간 배정이 필요합니다. 운반하는 페이로드는 동역학을 바꾸며, 그렇지 않았다면 실행 가능했을 동작을 실행 불가능하게 만들 수 있습니다. 또한 기하학적 경로 길이만으로 실행 시간이 결정되지는 않습니다. 액추에이터 제약으로 인해 더 짧은 경로에서 오히려 더 느리게 움직여야 할 수도 있습니다. 따라서 효율적인 동작 계획에서는 궤적 생성에 드는 계산 비용과 궤적 실행에 필요한 시간을 모두 고려해야 합니다.

기존 연구는 병렬 계획, 매끄러운 궤적 표현, 효율적인 로봇 계산의 이점을 입증해 왔습니다. 그러나 실행 가능한 동작을 계획하려면 궤적 최적화 중 충돌 및 동역학 평가를 반복해야 합니다. 이 비용을 줄이려면 최적화 반복 횟수를 줄이는 동시에 각 반복의 계산 비용도 낮춰야 합니다. 실행 시간에도 별도의 과제가 있습니다. 시간 간격을 균일하게 재조정하는 방식으로는 구성에 따라 달라지는 제한 액추에이터 제약에 맞춰 경로상의 시간을 재분배할 수 없습니다. 따라서 페이로드를 고려한 효율적 계획에는 궤적의 기하 구조와 시간 배정을 유연하게 최적화하는 한편, 제약 평가도 빠르게 수행하는 방법이 필요합니다.

본 연구에서는 계획 지연 시간과 실행 시간을 모두 줄이는, 충돌 없는 토크 제한 동작을 위한 단일 GPU 플래너 cuRoboV2-Fast를 제시합니다. B-스플라인 궤적 최적화는 더 적은 반복으로 기하 구조를 다듬고, TimeOpt는 그 결과로 얻은 고정 경로를 따라 이동 속도를 최적화합니다. 타이밍 스플라인의 국소 지지 특성 덕분에 GPU 최적화에 효율적인 띠 행렬 시스템을 구성할 수 있습니다. 필요할 때는 병렬 GPU RRT로 경로를 초기화하고, 가속된 로봇 계산으로 정밀화 비용을 줄입니다. 미분 가능한 역동역학은 페이로드에 따른 토크 제한을 반영하며, 운반 물체가 바뀔 때 런타임 관성 업데이트를 지원합니다.

본 연구는 빠르고 실행 가능한 동작 계획을 위한 여섯 가지 기여를 제시합니다.

  • 충돌 없는 페이로드 인지 토크 제한 궤적 최적화에 B-스플라인을 사용합니다. 수렴 벤치마크에서 초기 반복 횟수를 125회에서 25회로 줄여 cuRoboV1의 성능에 필적합니다.
  • GPU 가속 TimeOpt는 띠 행렬 뉴턴 시스템과 원시-쌍대 예측-수정 솔버를 사용해 샘플링된 속도, 가속도, 저크, 토크 제한 아래에서 고정 경로의 시간 배정을 최적화합니다. 균일한 시간 간격 세분화보다 평균 동작 시간을 15.7% 줄이며, RTX 5090에서 유효한 100 g 벤치마크 쿼리의 평균 처리 시간은 0.28 ms입니다.
  • 로봇 계산과 미분 가능한 역동역학을 가속해 재컴파일 없이 페이로드 업데이트를 지원합니다. 궤적 최적화 반복이 RTX 5090 및 Jetson AGX Orin에서 cuRoboV2보다 빠른 것으로 보고되었지만, 속도 향상 수치는 제공된 텍스트에 없습니다.
  • 병렬 GPU RRT는 평균 0.305 ms의 서브밀리초 경로 초기화를 제공합니다. 거친 충돌 검사에서는 cuRoboV1 PRM 및 pRRTC보다 빠른 것으로 보고되었지만, 속도 향상 수치는 제공된 텍스트에 없습니다. 제약 검증과 트리 확장을 분리하면 확장 커널을 변경하지 않고도 검사를 추가할 수 있습니다.
  • 통합 파이프라인은 RTX 5090에서 3 kg 페이로드를 사용해 평균 4.4 ms의 동작 계획 시간을 달성합니다. 비슷한 성공률을 유지하면서 cuRoboV2보다 빠른 것으로 보고되었지만, 속도 향상 수치는 제공된 텍스트에 없습니다. Jetson AGX Orin의 cuRoboV2-Fast도 RTX 5090에서 실행한 cuRoboV1과 TOPPRA 조합보다 빠르게 계획합니다.
  • YAM에서 스테레오 카메라 기반 집기·놓기 파이프라인은 인식, 파지 생성, 동작 계획을 단일 GPU에 통합합니다. 평균 완료 사이클 시간은 5.93 s로, cuRoboV2보다 34.6% 짧으며 계획이 사이클 시간에서 차지하는 비중은 1.0%에 불과합니다.

cuRoboV2-Fast 구현은 Apache 2.0 라이선스로 오픈 소스 공개되었습니다.

관련 연구

cuRoboV2-Fast의 TimeOpt는 동일한 고정 경로 동역학 축소 방식을 채택하고, 샘플링된 속도, 가속도, 저크, 토크 제한 아래에서 제곱 속도를 나타내는 3차 B-스플라인을 직접 최적화합니다. 각 샘플은 타이밍 제어점 네 개에 의존하므로 원시-쌍대 예측-수정 솔버에 적합한 띠 행렬 뉴턴 시스템이 생성됩니다. 이러한 국소 지지 특성과 병렬 제약 평가 덕분에 GPU 최적화를 효율적으로 수행할 수 있으며, RTX 5090에서 유효한 100 g 벤치마크 쿼리 전체의 TimeOpt 평균 지연 시간은 0.28 ms입니다.

토크를 고려하는 최적화에서는 동역학 및 미분값 평가가 반복되어 계산량이 늘어납니다. GRiD는 로봇별 코드 생성, 희소성, GPU 병렬화를 통해 이러한 연산을 가속합니다. 본 연구는 최적화 손실의 그래디언트를 직접 계산하고, 체인 스케줄과 관성 매개변수를 런타임 데이터로 제공하는 데 초점을 둡니다. 이를 통해 전체 동역학 미분 행렬을 구성하지 않아도 되고, 축소된 토폴로지가 바뀌지 않는 한 재컴파일 없이 페이로드를 업데이트할 수 있으며, 로봇 차원에 맞춘 특수화도 유지합니다. 이 방법을 스플라인 최적화 및 기하학적 초기화와 통합하면 단일 GPU에서 충돌 없는 토크 제한 동작과 파지 계획을 수행할 수 있습니다.

접근법

동작 플래너는 충돌 없는 초기화, B-스플라인 최적화, 궤적 재시간 배정을 위한 TimeOpt, 효율적인 로봇 계산, 미분 가능한 역동역학을 결합합니다. 먼저 직선 시드 경로를 정밀화하고, 필요하면 RRT를 실행합니다. 파지 접근 및 들어 올리기와 같은 제약 동작에는 지정된 경로에서 벗어나는 것을 강하게 벌점화하는 비용 항을 사용합니다.

RRT를 이용한 충돌 없는 초기화

구현에서는 확장을 동기화된 병렬 라운드로 구성합니다. 반면 pRRTC는 GPU 블록이 비동기적으로 반복해서 샘플링하고 트리를 확장하며, 각 블록 안에서 탐욕적인 연결 단계를 수행합니다. 최근접 노드 커널은 저장된 노드와 관절 좌표 양쪽에 거리 계산을 분산하고, 트리를 타일 단위로 처리한 뒤 결과를 축약해 각 후보의 최근접 노드를 선택합니다. pRRTC에서는 각 스레드가 일부 노드에 대한 전체 거리를 계산한 다음 블록 전체의 최소값을 구합니다. 따라서 두 플래너 모두 최근접 노드 탐색을 병렬화하지만 작업을 분배하는 방식은 다릅니다.

제안된 모든 에지를 따라 샘플링한 상태를 한꺼번에 검사한 뒤 각 에지에서 유효한 앞부분을 결정합니다. 병렬 스캔을 통해 승인된 끝점에 서로 다른 저장 슬롯을 할당하므로, pRRTC처럼 각 슬롯을 원자적으로 예약하지 않고도 동시에 삽입할 수 있습니다. 각 라운드에서는 반대편 트리에서 제한된 확장도 평가합니다. 이 구성은 검증을 확장과 분리하므로 확장 커널을 변경하지 않고 검사를 추가할 수 있습니다. 할당된 버퍼를 재사용하고 CUDA 그래프를 통해 확장 작업을 재생하면 반복 실행의 디스패치 오버헤드가 줄어듭니다. 경로를 찾으면 이를 단축하고 정밀화를 위한 스플라인 시드를 맞춥니다.

가속된 로봇 계산

반복적인 로봇 평가 비용은 토폴로지 의존 데이터를 한 번 준비하고 계산 간 중간 결과를 공유하여 줄입니다. GPU 텐서 연산으로 각 관절의 하위 링크와 각 툴-액추에이터 쌍에 기여하는 관절을 식별합니다. 이 구조를 사용해 정기구학에서 링크의 로컬 포즈를 병렬 계산한 다음, 공유 메모리에서 트리 순서에 따라 월드 포즈를 합성합니다. 이렇게 얻은 변환은 툴 포즈와 충돌 구체를 제공하고 야코비안 평가도 지원합니다.

자기 충돌 검사는 로봇 링크의 충돌 구체가 겹치는지 확인합니다. cuRoboV1은 설정된 구체-구체 쌍을 병렬로 평가하지만, 구체를 많이 사용하는 로봇에서는 검사 횟수가 부담스러울 수 있습니다. 플래너는 현재 구체 위치와 패딩된 반지름을 바탕으로 각 링크의 축 정렬 경계 상자(AABB)를 즉시 계산합니다. 이 경계 상자는 링크 전체에 걸쳐 병렬로 생성되고 충돌 커널 안의 공유 메모리에 저장됩니다. 두 링크의 AABB가 겹치지 않으면 해당 링크 사이의 모든 구체-구체 검사를 건너뜁니다. 이처럼 비용이 적은 가지치기는 세부 쌍 검사를 크게 줄일 수 있으며, 특히 링크 간 거리가 충분한 경우 효과적입니다. 각 GPU 블록은 하나의 로봇 상태에 대해 남은 검사, 비용 축약, 구체 그래디언트를 함께 처리합니다.

스윕 환경 충돌 검사도 같은 원리로 멀리 있는 직육면체를 가지치기합니다. 구체 반지름, 활성화 여유 거리, 인접한 반선분을 포함하는 경계로 먼저 멀리 있는 직육면체를 제외합니다. 남은 반스윕은 공통 궤적 지점에서 거리 평가를 공유하고 그래디언트를 결합한 뒤 월드 좌표계로 한 번만 회전시킵니다. 이렇게 하면 검증에 사용하는 이산 샘플링 해상도를 유지하면서 반복적인 기하 계산을 줄일 수 있습니다.

파지 계획 통합

물체는 다양한 위치와 방향에서 파지할 수 있으므로, 파지 계획은 먼저 어떤 포즈를 목표로 할지 선택합니다. 후보 파지 포즈 집합이 주어지면 역기구학(IK)으로 실행 가능한 로봇 구성을 찾고 포즈 오차와 현재 구성과의 거리를 기준으로 순위를 매깁니다. 평가한 작업에서는 이것만으로도 파지 선택에 충분했으므로, 파지 포즈 목표 집합을 대상으로 하는 궤적 최적화를 더 저렴한 IK 풀이로 대체할 수 있었습니다. 선택된 포즈는 이후 동작 계획의 목표가 됩니다. 다만 IK 실행 가능성만으로 로봇이 충돌 없는 경로를 따라 해당 포즈에 도달할 수 있다고 단정할 수는 없습니다.

그런 다음 플래너는 서로 연결된 세 가지 동작, 즉 선택된 파지 포즈에서 떨어진 사전 파지 포즈로 이동하는 동작, 파지 축을 따라 접근하는 동작, 물체를 들어 올리는 동작을 생성합니다. 스플라인 최적화로 사전 파지 동작을 생성하고, 장애물을 피해야 할 때는 RRT로 초기화합니다. 제약 스플라인 최적화는 접근 및 들어 올리기를 위한 직선 카테시안 동작을 생성합니다. 각 동작은 이전 동작의 최종 상태에서 시작하며, 의도된 접촉을 허용하도록 충돌 설정을 조정합니다. 파지한 물체를 놓을 위치까지 충돌 없이 옮기는 별도의 계획 호출도 수행합니다.

실험

평가에는 경로 초기화, 토크 제한 궤적 최적화, 로봇 계산, 집기·놓기 계획이 포함됩니다. 동작 벤치마크에는 Franka Panda (7-DoF)를 사용하고, 계산 벤치마크에는 G1 (29-DoF)도 포함하며, 조작 작업에는 YAM을 사용합니다. 오프라인 계획은 RTX 5090에서 실행하고, 추가 계산 시간은 Jetson에서도 측정합니다. 실제 로봇 배포에는 RTX 6000 Ada를 사용합니다.

거친 검사를 적용한 경로 초기화

시간과 경로 길이는 성공 쿼리 2,101개를 공통으로 사용해 측정합니다. 계획 시간에는 네이티브 경로 단축이 포함되며 IK는 제외됩니다. 제안된 플래너의 평균 경로 길이는 4.93 rad이며, cuRoboV1 PRM은 5.28 rad, cuRoboV2 PRM은 3.70 rad, VAMP는 5.00 rad, pRRTC는 5.32 rad입니다.

거친 충돌 검사를 통과하지 못한 경로는 거부됩니다. 통과한 경로는 최적화 시드로 사용되며 추가 정밀화와 검증이 필요합니다.

궤적 최적화 수렴

초기 예산은 25회 반복으로 고정하고, 시간 간격 축소 계수 0.8을 사용해 25회, 50회 또는 100회 반복의 정밀화 패스를 한 번 또는 두 번 적용하는 경우를 비교합니다. 모든 설정에서 성공률은 93%로 유지됩니다. 모든 설정에서 유효한 쿼리 93개에서는 25회 반복을 두 번 수행하면 초기 최적화만 수행한 경우보다 평균 동작 시간이 5.5% 줄어듭니다. 여기에 TimeOpt를 추가하면 전체 감소율은 20.3%가 되며, 이는 정밀화된 궤적에 비해 추가로 15.7% 줄어든 수치입니다. 더 긴 정밀화 일정은 TimeOpt 적용 후 동작 시간을 0.2% 미만으로 추가 개선합니다.

보고된 cuRoboV2-Fast 실행 시간 측정과 실제 로봇 배포에서는 초기 50회 반복 후 25회 반복의 정밀화 패스 한 번을 사용합니다. 이에 함께 제시되는 괄호 안 세부 사항은 제공된 텍스트에 없습니다.

페이로드가 있는 동작 계획

전체 파이프라인은 시작 상태와 목표 포즈가 주어지면 실행 가능한 충돌 없는 토크 제한 동작을 생성합니다. 계획 단계에서 토크 제한을 고려하지 않는 방법은 TOPPRA로 후처리하여 고정 경로를 따라 시간 배정을 조정합니다. 비교 대상은 cuRoboV2-Fast, cuRoboV2, cuRoboV1과 TOPPRA의 조합, VAMP와 TOPPRA의 조합 등 네 가지 파이프라인입니다.

cuRoboV2-Fast와 cuRoboV2는 페이로드 전반에서 비슷한 성공률을 보이며, cuRoboV1과 TOPPRA의 조합 및 VAMP와 TOPPRA의 조합보다 높은 성공률을 달성합니다. 가장 무거운 페이로드에서는 모든 방법의 성공률이 낮아지며, 두 TOPPRA 기준 방법의 하락 폭이 더 큽니다. cuRoboV2-Fast는 이들보다 14.5–15.7 percentage-point 높은 성공률을 유지합니다.

모든 페이로드에서 모든 방법에 유효한 쿼리를 기준으로 하면 cuRoboV2-Fast가 평균 동작 시간을 가장 짧게 달성합니다. 페이로드 전반에서 평균 동작 시간은 cuRoboV2보다 5.8% 짧습니다. 경로 길이만으로 동작 효율을 비교하면 오해가 생길 수 있습니다. cuRoboV2-Fast의 평균 관절 공간 경로는 cuRoboV1과 TOPPRA 조합보다 0.8–4.2% 길지만, 페이로드 전반에서 평균 동작 시간은 6.8% 짧습니다.

궤적 최적화 계산

cuRoboV2-Fast는 반복 속도를 높이고 반복 횟수를 줄여 궤적 최적화 시간을 단축합니다. 역동역학을 활성화하면 각 반복은 RTX 5090 및 Jetson AGX Orin에서 cuRoboV2보다 빠른 것으로 보고되었지만, 속도 향상 수치는 제공된 텍스트에 없습니다.

시뮬레이션 계획 실험

RTX 5090에서 시뮬레이션한 YAM 집기·놓기 작업을 통해 cuRoboV1, cuRoboV2, cuRoboV2-Fast를 비교합니다. 이 작업은 뒤섞인 배치에 있는 큐브 다섯 개를 트레이에 정리합니다. 계획에는 파지 선택, 사전 파지, 접근, 들어 올리기, 이동이 포함됩니다. 세 방법 모두 다섯 개의 큐브를 전부 옮기며, 저장된 들어 올리기 및 이동 궤적은 물체를 잡은 상태에서 독립적으로 수행한 충돌 및 페이로드 토크 감사를 통과합니다.

고정된 집기 및 놓기 위치 사이에서 YAM이 물체를 옮기는 별도의 시뮬레이션에서는 페이로드를 100 g에서 800 g까지 바꿉니다. 더 무거운 페이로드는 최적화된 동작을 변화시킵니다. 관절 2의 토크 제한을 지키기 위해 움직임이 관절 2에서 관절 5로 이동하며, 이는 페이로드 인지 계획이 하중에 맞춰 경로를 조정하는 모습을 보여줍니다.

하중에 따라 달라지는 동작 계획을 보여주는 YAM 페이로드 비교

실제 로봇 배포

cuRoboV2-Fast를 I2RT YAM에 배포해 탁상 정리와 빈 피킹을 수행합니다. RTX 6000 Ada 한 대에서 SceneFields, GraspGenX, 플래너를 실행합니다. SceneFields는 깊이 정보, 검출 결과, 로봇 마스크를 제공합니다. GraspGenX가 사용하는 물체 표면에는 5 mm 복셀의 TSDF를 만들고, 플래너의 충돌 검사에는 20 mm 복셀의 ESDF를 만듭니다.

탁상 정리 및 빈 피킹을 위한 실제 로봇 YAM 배포

측정된 관절 피드백을 보면 cuRoboV2-Fast는 팔을 실행할 때 사용 가능한 속도 범위를 더 넓게 활용합니다. cuRoboV2와 비교하면 속도 활용률이 90–100%인 동작 시간의 비율은 거의 두 배로 늘고, 활용률이 50% 미만인 비율은 21.7% 감소합니다. cuRoboV2-Fast에서 동작 시간의 99.6% 동안 토크 활용률은 90% 미만이며, 두 방법 모두 기록된 토크가 제한을 벗어나지 않습니다. 속도 제약을 만족하는 계획에서도 실행 속도가 제한을 넘을 수 있습니다. 이는 실행을 위한 동작 계획에서 속도 제약과 함께 토크 제약도 고려하는 것이 중요함을 보여줍니다.

동작 시간 중 더 높은 속도로 움직이는 비율이 커지면 팔의 실행 시간도 짧아집니다. 제공된 논문 텍스트는 “Across a” 뒤에서 끝나며, 이 결과의 나머지 내용은 포함되어 있지 않습니다.

자주 묻는 질문

cuRoboV2-Fast는 무엇을 최적화하나요? 페이로드에 따른 동역학을 고려하면서 궤적의 기하 구조와 이동 속도를 최적화해 충돌 없는 토크 제한 동작을 계획합니다.

TimeOpt는 어떻게 동작 시간을 줄이나요? 고정 경로를 따라 제곱 속도를 나타내는 3차 B-스플라인을 최적화하며, 샘플링된 속도, 가속도, 저크, 토크 제한을 준수합니다.

플래너는 장애물을 우회하는 경로를 어떻게 초기화하나요? 병렬 GPU RRT가 제안된 에지를 검사하고 경로를 제공합니다. 이 경로를 단축한 뒤 정밀화를 위한 스플라인 시드에 맞춥니다.

페이로드는 계획된 동작에 어떤 영향을 주나요? 페이로드는 동역학을 바꾸고 최적화된 경로를 변화시킬 수 있습니다. 시뮬레이션한 YAM 이동에서는 더 무거운 페이로드가 관절 2의 토크 제한을 지키도록 움직임을 관절 2에서 관절 5로 옮겼습니다.

자주 묻는 질문