우주선 역학, 유도, 항법 및 제어를 우주 궤도역학 임무에서 시뮬레이션하기 위한 Python과 C 기반 프레임워크입니다.
StanfordASL/frax
JAX 기반의 순수 Python 로봇 운동학·동역학 라이브러리로, JIT 컴파일과 자동 미분을 활용해 빠르게 제어기를 설계할 수 있습니다.
- 스타
- 688
- 포크
- 47
- 열린 이슈
- 0
- 마지막 커밋
- 3일 전
어떤 프로젝트인가요?
frax는 JAX를 기반으로 Python으로 작성된 로봇 운동학·동역학 라이브러리입니다. 질량 행렬, 관절·링크·프레임 변환, 야코비안, 중력 벡터, 코리올리 힘 등을 계산하며, 이는 역운동학 및 역동역학 제어기의 기본 요소입니다.
계산이 JAX 함수로 구현되어 있어 JIT 컴파일하고 GPU나 TPU에서 배치 처리할 수 있으며 자동 미분도 가능합니다. 따라서 야코비안을 직접 유도하지 않고도 로봇 상태의 일반 함수로 제약 조건이나 비용 항을 작성할 수 있습니다. 프로젝트에는 Franka Panda, Kuka iiwa, Unitree G1, Unitree A2를 포함한 기본 로봇 모델이 제공되며, URDF 파일에서 사용자 정의 로봇을 불러올 수도 있습니다.
또한 역운동학과 리타게팅을 위한 frax.ik 모듈과 미분 IK, 작업 공간 제어, 제어 장벽 함수 기반 안전 제약 조건 예제를 제공합니다.
핵심 기능
- 01URDF 로봇 모델의 질량 행렬, 야코비안, 중력 및 코리올리 항을 계산합니다.
- 02JAX를 통해 운동학·동역학 계산을 JIT 컴파일하고 자동 미분합니다.
- 03선택적으로 배정밀도를 지원하며 GPU와 TPU에서 배치 계산을 수행합니다.
- 04Franka Panda, Kuka iiwa, Unitree G1, A2 기본 모델을 제공합니다.
- 05역운동학과 휴머노이드 리타게팅을 위한 frax.ik 모듈을 제공합니다.
활용 사례
- Python에서 미분 역운동학이나 작업 공간 제어기를 프로토타이핑할 수 있습니다.
- 로봇 운동학에 의존하는 제어 장벽 함수 등의 제약 조건을 작성할 수 있습니다.
- 가속기에서 샘플링 기반 또는 학습 기반 제어를 위해 동역학을 배치 계산할 수 있습니다.
- 휴먼 모션 데이터를 휴머노이드 로봇 모델에 리타게팅할 수 있습니다.
빠른 시작
- 1
PyPI에서 IK 추가 기능과 함께 frax를 설치합니다
pip install "frax[ik]" - 2
Python에서 기본 제공 로봇 모델의 질량 행렬을 계산합니다
사용 전 알아둘 점
- JAX가 필요합니다. CPU에서 동역학을 빠르게 계산하기 위한 성능 팁에서는 특정 구버전 JAX를 권장합니다.
- 충돌 메서드를 사용하려면 로봇의 충돌 모델을 구체로 근사해야 합니다.
포함된 컬렉션
토픽
자주 묻는 질문
- frax은(는) 무엇인가요?
- JAX 기반의 순수 Python 로봇 운동학·동역학 라이브러리로, JIT 컴파일과 자동 미분을 활용해 빠르게 제어기를 설계할 수 있습니다. frax는 JAX를 기반으로 Python으로 작성된 로봇 운동학·동역학 라이브러리입니다. 질량 행렬, 관절·링크·프레임 변환, 야코비안, 중력 벡터, 코리올리 힘 등을 계산하며, 이는 역운동학 및 역동역학 제어기의 기본 요소입니다.
- frax은(는) 무료로 사용할 수 있나요? 라이선스는 무엇인가요?
- frax은(는) MIT 라이선스의 오픈소스입니다. 상업용 제품에 사용하기 전에 라이선스 조건을 확인하세요.
- frax은(는) 아직 유지보수되고 있나요?
- 활발히 유지보수 중. frax의 마지막 커밋은 2026년 11월 4일입니다.
- frax은(는) 어디에 사용할 수 있나요?
- Python에서 미분 역운동학이나 작업 공간 제어기를 프로토타이핑할 수 있습니다. 로봇 운동학에 의존하는 제어 장벽 함수 등의 제약 조건을 작성할 수 있습니다. 가속기에서 샘플링 기반 또는 학습 기반 제어를 위해 동역학을 배치 계산할 수 있습니다. 휴먼 모션 데이터를 휴머노이드 로봇 모델에 리타게팅할 수 있습니다.
- frax는 어떻게 설치하나요?
- PyPI에서 IK 추가 기능과 함께 frax를 설치합니다: pip install "frax[ik]" Python에서 기본 제공 로봇 모델의 질량 행렬을 계산합니다
- frax은(는) 어디서 받을 수 있나요?
- 소스 코드와 설치 방법은 GitHub에 있습니다: https://github.com/StanfordASL/frax
요약은 프로젝트 README를 바탕으로 AI가 작성했습니다. GitHub 통계는 매일 갱신됩니다.
관련 프로젝트
로보틱스에 쓰이는 강체 동역학, 운동학 및 해석적 미분 계산을 위한 빠른 헤더 전용 C++ 라이브러리로, Python 바인딩을 제공합니다.
관절형 로봇과 애니메이션 캐릭터의 운동학, 동역학, 접촉 시뮬레이션을 위한 Python 바인딩을 제공하는 C++17 물리 라이브러리입니다.
게임, VR, 로보틱스, 머신러닝에 사용되는 실시간 충돌 감지 및 다중 물리 시뮬레이션용 C++ 라이브러리 Bullet Physics SDK입니다.
쿼드콥터용 단일·멀티 에이전트 강화학습 컨트롤러를 훈련하는 PyBullet 기반 Gymnasium 환경입니다.
추정, 경로 계획, 제어 교육과 연구를 위해 설계된 집중 매개변수 공기역학 모델 기반 Python 멀티콥터 UAV 시뮬레이터입니다.