stephane-caron/pink

Python inverse kinematics using Pinocchio and QP solvers

해결하는 문제

Pink는 관절 로봇 모델의 미분 역운동학(IK)을 해결하기 위한 Python 라이브러리입니다. 사용자가 구성 및 속도 제한을 준수하면서 로봇의 부품(손 또는 발 등)을 특정 목표 위치 및 방향으로 이동하는 데 필요한 관절 속도를 결정할 수 있도록 합니다.

작동 원리

Pink는 Pinocchio 라이브러리를 기반으로 한 가중치 작업 방식을 사용합니다. 작업을 잔차(현재 상태와 목표 상태의 차이)로 정의하고 문제를 이차 계획(QP)으로 구성합니다. 서로 다른 작업(예: 위치 vs 방향)에 비용을 할당하고 정규화함으로써, Pink는 여러 경쟁하는 목표 간의 충돌을 해결할 수 있습니다. 그런 다음 로봇을 이러한 목표로 유도하는 최적의 속도를 계산합니다.

대상

이 도구는 로봇 팔, 휴머노이드, 사족 보행 로봇 및 모바일 베이스를 포함한 다양한 로봇 형태에 대해 멀티태스크 역운동학을 구현할 수 있는 유연한 방법을 필요로 하는 로봇 개발자 및 연구자를 위해 설계되었습니다.

주요 특징

  • 멀티태스크 지원: 가중치 비용을 사용하여 여러 목표(베이스 위치 및 관절 자세 등)를 동시에 관리합니다.
  • 제약 조건 처리: 관절 구성 및 속도 제한을 IK 솔버에 자동으로 통합합니다.
  • 플로팅 베이스 지원: 평면 또는 프리 플라이어 베이스를 가진 로봇을 위한 특정 속도 제한을 포함합니다.
  • 폭넓은 형태 지원: 단순한 진자부터 복잡한 휴머노이드 및 양팔 시스템에 이르기까지 광범위한 로봇에서 작동합니다.

관련

  • 프로젝트
  • 프로젝트
  • 프로젝트
  • 프로젝트
  • 프로젝트