gkjohnson/closed-chain-ik-js

A generalized inverse kinematics solver that supports closed chains for parallel kinematics systems, dynamic reconfiguration, and arbitrary joint configuration based on damped least squares error minimization techniques

해결하는 문제

이 프로젝트는 복잡한 로봇 시스템, 특히 폐쇄 체인(병렬 운동학)을 가진 시스템을 처리할 수 있는 일반화된 역운동학(IK) 솔버를 제공합니다. 개발자가 로봇의 엔드 에펙터가 특정 위치와 자세에 도달하기 위해 필요한 관절 구성 값을 계산할 수 있도록 하며, 동적 재구성 및 임의의 관절 구성 설정을 지원합니다.

작동 방식

이 솔버는 최적의 관절 값을 찾기 위해 감쇠 최소 제곱 오차 최소화 기법을 사용합니다. 특정 시각화 프레임워크에 종속되지 않으며, three.js용 헬퍼도 제공합니다. 다양한 관절 유형을 지원하며, 회전 및 평행 이동 자유도(DoF)를 결합할 수 있습니다.

대상 사용자

병렬 운동학 시스템이나 복잡한 로봇 모델(예: ATHLETE 로봇 또는 헥사포드)에 정밀한 IK 솔버가 필요한 로봇 개발자 및 엔지니어를 위한 것입니다.

주요 특징

  • 폐쇄 체인 지원: 병렬 운동학 시스템에 특화되어 있습니다.
  • 유연한 관절 구성: 회전 및 평행 이동 자유도의 임의 조합을 지원합니다.
  • LGS 솔버: 안정성을 확보하기 위해 감쇠 최소 제곱 오차 최소화를 사용합니다.
  • SVD 옵션: 근접 특이 방향에 감쇠를 추가하기 위해 특이값 분해(SVD)를 포함합니다.
  • 시각화에 독립적: 코어 솔버는 three.js에 의존하지 않으며, 통합 헬퍼만 제공됩니다.
  • 비동기 솔빙: 계산을 WebWorker로 분리하기 위한 WorkerSolver를 포함합니다.

관련

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