Open Source Robotics

고품질 오픈소스 로봇 프로젝트, 도구 및 소프트웨어의 엄선된 컬렉션.

Ruckig

로봇과 기계를 위한 실시간 저크 제한 시간 최적 궤적 생성

라이선스

MIT

개요

Ruckig는 로봇과 기계를 위한 즉각적인 모션 생성 라이브러리로, 실시간으로 시간 최적 및 저크 제한 궤적을 계산합니다. 속도, 가속도, 저크 제약 조건에 의해 제한되는 임의의 초기 상태에서 시작하여 목표 웨이포인트(위치, 속도, 가속도 포함)로의 궤적을 생성하며, 상태 간 동작에 대한 시간 최적 솔루션을 보장합니다.

Ruckig는 임의의 목표 상태를 위한 최초의 Type V 궤적 생성기로, Reflexxes Type IV 라이브러리보다 더 강력하고 빠릅니다. 250마이크로초만큼 낮은 제어 주기에 적합한 밀리초 미만의 계산 시간을 달성하며, 50억 개 이상의 무작위 궤적에 걸쳐 검증된 위치/속도에 대해 1e-8, 한계에 대해 1e-12 이내의 수치 정밀도를 갖습니다.

핵심 라이브러리는 C++20에서 C++03까지 지원하는 제로 의존성의 C++로 작성되었으며, pip를 통해 Python 바인딩이 제공됩니다. 궤적 처리 플러그인으로서의 MoveIt 2(ROS 2), CoppeliaSim, Franka Emika 로봇 제어를 위한 Frankx를 포함한 주요 로봇공학 프레임워크와 통합됩니다.

Karlsruhe Institute of Technology(KIT)에서 개발되었으며 RSS 2021에서 발표되었습니다.

Ruckig는 로봇과 기계를 위한 시간 최적, 저크 제한 궤적을 실시간으로 계산하는 순간 모션 생성 라이브러리입니다. Karlsruhe Institute of Technology (KIT)에서 개발되어 RSS 2021에서 발표되었으며, 프로덕션 환경에서 50억 건 이상의 궤적이 계산되어 로봇공학에서 가장 널리 배포된 오픈소스 모션 플래닝 구성 요소 중 하나가 되었습니다.

이 라이브러리는 임의의 목표 상태에 대한 최초의 Type V 궤적 생성기로, 잘 알려진 Reflexxes Type IV 라이브러리의 기능을 능가합니다. 임의의 초기 상태(위치, 속도, 가속도)와 속도/가속도/저크 제약 조건이 있는 목표 웨이포인트가 주어지면, Ruckig는 수학적으로 최적의 궤적을 서브밀리초 시간 내에 계산합니다 — 250마이크로초만큼 짧은 제어 주기에서도 충분히 빠릅니다. 수치 정밀도는 위치/속도에 대해 1e-8, 제한값에 대해 1e-12 이내로 검증됩니다.

Ruckig는 외부 종속성 없이 C++로 작성되었으며, C++03부터 C++20까지의 컴파일러 표준을 지원하고, pip를 통한 Python 바인딩을 제공합니다. 제로 의존성 설계로 모든 로봇공학 스택에 간편하게 통합할 수 있습니다. 이 라이브러리는 MoveIt 2 (ROS 2)에 궤적 처리 플러그인으로 통합되어 있으며, CoppeliaSim에서 시뮬레이션용으로, Frankx에서 Franka Emika 로봇 제어용으로 사용됩니다.

수학적 엄밀성, 실시간 성능, 그리고 원활한 통합의 조합은 Ruckig를 전 세계 연구실과 산업용 로봇공학 기업에서 표준 구성 요소로 자리잡게 했습니다.

중요한 이유

부드러운 저크 제한 궤적 생성은 실세계 로봇 작동에 필수적입니다. Ruckig는 이미 MoveIt 2에 통합되어 수백 개의 연구 연구실과 기업에서 사용되는 제로 의존성의 실시간 솔루션을 제공합니다.

해결하는 문제

속도, 가속도, 저크 제약 조건을 존중하면서 센서 입력에 즉각적으로 반응해야 하는 로봇을 위한 부드럽고 저크 제한된 모션 프로파일의 실시간 생성

핵심 요점

  • 밀리초 미만의 계산으로 시간 최적 저크 제한 궤적 생성
  • C++ 코어에 제로 의존성 - 모든 로봇공학 스택에 쉬운 통합
  • MoveIt 2(ROS 2)와 CoppeliaSim에 기본 통합
  • 한계에 대해 1e-12 정밀도로 50억 개 이상의 무작위 궤적에 걸쳐 검증됨

대상

  • 로봇 암 개발자
  • 모션 계획 엔지니어
  • ROS 2 / MoveIt 개발자
  • 산업 자동화 엔지니어

한계

  • 커뮤니티 버전은 로컬 웨이포인트 계산 미지원(Pro 기능)
  • 위치 한계는 Pro 버전에서만 사용 가능
  • 임의 신호에 대한 추적 인터페이스는 Pro 버전 필요
  • Python API 문서가 C++보다 덜 포괄적

이 웹사이트는 JavaScript가 필요합니다. 오픈소스 로봇 프로젝트를 탐색하려면 JavaScript를 활성화하세요.