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(자세),UnitDualQuaternion(자세). - 2D 공간:
SE2(자세),SO2(방향),Twist2(자세).
이 클래스들은 조합(*), 점 변환(*), 지수(**)를 위한 오버로드 연산자를 지원하며, 정규화, 역변환, 오일러 각도, 롤-피치-요, 각도-축 형태 간의 변환 메서드도 제공합니다. 또한 NumPy 배열을 직접 다루고 싶은 사용자를 위한 저수준 함수도 포함하고 있으며, SymPy를 통해 기호 변수도 지원합니다.
대상 사용자
공간 변환과 자세 추정을 수행해야 하는 로봇공학 연구자 및 엔지니어, 그리고 "Robotics, Vision & Control" 교과서를 사용하는 학생들을 위한 것입니다.
주요 기능
- 타입 안전성: 2D와 3D 변환 행렬을 실수로 혼동하는 것을 방지합니다.
- 벡터화: 한 줄로 회전 행렬 또는 자세의 시퀀스를 생성하고 연산할 수 있습니다.
- 시각화: 변환을 플롯하는(
trplot) 및 애니메이션을 생성하는(tranimate) 내장 도구를 제공합니다. - 기호 지원: SymPy와 호환되어 기호 변수를 사용한 수학적 도출이 가능합니다.
관련
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트