rai-opensource/spatialmath-python

Create, manipulate and convert representations of position and orientation in 2D or 3D using Python

해결하는 문제

공간 수학은 로봇공학과 로봇 비전의 기초이며, 개발자가 2D 및 3D 공간 내 객체의 위치, 방향, 자세를 설명할 수 있게 해줍니다. 이 라이브러리는 수동으로 원시 행렬을 관리하지 않고도 이러한 복잡한 기하학적 변환을 표준화되고 타입 안전한 방식으로 처리할 수 있는 방법을 제공합니다.

작동 방식

이 라이브러리는 NumPy 배열을 수학적 군으로 추상화하는 고수준 클래스를 제공합니다. 다음을 구현합니다:

  • 3D 공간: SE3 (자세), SO3 (방향), UnitQuaternion (방향), Twist3 (자세).
  • 2D 공간: SE2 (자세), SO2 (방향), Twist2 (자세).

이 클래스들은 조합(연산자 * 사용), 점 변환, 역행렬 연산을 위한 오버로드 연산자를 지원합니다. 또한 정규화, 오일러 각도와 롤-피치-요 각 사이의 변환, 행렬 지수와 로그 연산을 통한 리 대수 연결 기능도 제공합니다. 원시 데이터를 선호하는 사용자를 위해 NumPy 배열에 직접 작동하는 저수준 기본 함수 세트도 제공됩니다.

대상 사용자

로봇 비전 및 운동 제어 작업을 수행하는 로봇공학 연구자, 엔지니어, 학생들을 위한 것입니다.

주요 기능

  • 타입 안전성: 2D 변환과 3D 회전 행렬을 혼동하는 오류를 방지합니다.
  • 벡터화: 한 줄로 자세나 회전의 시퀀스를 생성하고 연산할 수 있습니다.
  • 기호 지원: SymPy와 통합되어 회전 행렬에 기호 변수를 사용할 수 있습니다.
  • 시각화: 변환과 궤적을 시각화하기 위한 내장된 플롯 및 애니메이션 도구(trplot, tranimate)를 제공합니다.

관련

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