Repolode
stack-of-tasks

stack-of-tasks/pinocchio

로보틱스에 쓰이는 강체 동역학, 운동학 및 해석적 미분 계산을 위한 빠른 헤더 전용 C++ 라이브러리로, Python 바인딩을 제공합니다.

스타
3,850
포크
592
열린 이슈
104
마지막 커밋
17시간 전

어떤 프로젝트인가요?

Pinocchio는 로봇 팔이나 휴머노이드처럼 여러 관절로 연결된 시스템의 강체 동역학을 위한 C++ 라이브러리입니다. 순방향·역방향 운동학과 동역학, 중심 동역학 및 이러한 알고리즘의 해석적 미분을 구현하며, 이는 그래디언트 기반 최적화, 제어 및 학습에 유용합니다. 선형 대수에는 Eigen을, 충돌 감지에는 coal을 사용하며 URDF, SDF, MJCF, SRDF 형식의 로봇 설명을 파싱합니다.

이 라이브러리는 헤더 전용 C++ 템플릿 라이브러리이며, Conda나 pip로 설치할 수 있는 Python 인터페이스도 제공합니다. 폐루프 메커니즘, 마찰 접촉 솔버, 구속 동역학과 MPFR을 통한 다중 정밀도 연산도 지원합니다. CppAD와 CasADi를 통한 자동 미분도 사용할 수 있습니다.

Pinocchio는 Inria의 Willow 팀이 개발하며, Crocoddyl, Aligator, Humanoid Path Planner 같은 프로젝트의 기반으로 사용됩니다. 로보틱스를 위해 설계됐지만 생체역학, 컴퓨터 그래픽스와 비전에도 적용할 수 있습니다.

핵심 기능

  • 01해석적 미분을 지원하는 순방향·역방향 동역학
  • 02중심 동역학 및 운동학·동역학 회귀자
  • 03폐루프 메커니즘 및 마찰 접촉 솔버
  • 04URDF, SDF, MJCF, SRDF 로봇 설명 파싱
  • 05Conda나 pip로 설치할 수 있는 Python 바인딩
  • 06Eigen과 coal을 사용하는 헤더 전용 C++ 템플릿 라이브러리

활용 사례

  • 로봇 제어와 궤적 최적화를 위한 동역학 및 그래디언트 계산
  • C++로 옮기기 전에 Python에서 로봇 알고리즘 프로토타이핑
  • 운동학·동역학 회귀자를 이용한 시스템 식별
  • 강체 동역학 코어를 기반으로 동작 계획이나 전신 제어 도구 구축

빠른 시작

  1. 1

    conda-forge에서 Conda를 통해 Pinocchio 설치

    conda install pinocchio -c conda-forge
  2. 2

    또는 pip를 통해 Python 바인딩 설치(Linux 전용)

    pip install pin
  3. 3

    또는 Docker 이미지 실행

    docker run --rm -it ghcr.io/stack-of-tasks/pinocchio:devel

사용 전 알아둘 점

  • pip 패키지는 현재 Linux에서만 사용할 수 있습니다.
  • devel 브랜치에는 최신 릴리스만 포함되며 새 풀 리퀘스트도 반영되므로 자주 변경될 수 있습니다.

포함된 컬렉션

토픽

#robotics#rigid-body-dynamics#kinematics#c-plus-plus#python#automatic-differentiation#urdf#optimization#analytical-derivatives#casadi

자주 묻는 질문

pinocchio은(는) 무엇인가요?
로보틱스에 쓰이는 강체 동역학, 운동학 및 해석적 미분 계산을 위한 빠른 헤더 전용 C++ 라이브러리로, Python 바인딩을 제공합니다. Pinocchio는 로봇 팔이나 휴머노이드처럼 여러 관절로 연결된 시스템의 강체 동역학을 위한 C++ 라이브러리입니다. 순방향·역방향 운동학과 동역학, 중심 동역학 및 이러한 알고리즘의 해석적 미분을 구현하며, 이는 그래디언트 기반 최적화, 제어 및 학습에 유용합니다. 선형 대수에는 Eigen을, 충돌 감지에는 coal을 사용하며 URDF, SDF, MJCF, SRDF 형식의 로봇 설명을 파싱합니다.
pinocchio은(는) 무료로 사용할 수 있나요? 라이선스는 무엇인가요?
pinocchio은(는) BSD-2-Clause 라이선스의 오픈소스입니다. 상업용 제품에 사용하기 전에 라이선스 조건을 확인하세요.
pinocchio은(는) 아직 유지보수되고 있나요?
활발히 유지보수 중. pinocchio의 마지막 커밋은 2026년 11월 6일입니다.
pinocchio은(는) 어디에 사용할 수 있나요?
로봇 제어와 궤적 최적화를 위한 동역학 및 그래디언트 계산 C++로 옮기기 전에 Python에서 로봇 알고리즘 프로토타이핑 운동학·동역학 회귀자를 이용한 시스템 식별 강체 동역학 코어를 기반으로 동작 계획이나 전신 제어 도구 구축
pinocchio는 어떻게 설치하나요?
conda-forge에서 Conda를 통해 Pinocchio 설치: conda install pinocchio -c conda-forge 또는 pip를 통해 Python 바인딩 설치(Linux 전용): pip install pin 또는 Docker 이미지 실행: docker run --rm -it ghcr.io/stack-of-tasks/pinocchio:devel
pinocchio은(는) 어디서 받을 수 있나요?
소스 코드와 설치 방법은 GitHub에 있습니다: https://github.com/stack-of-tasks/pinocchio

요약은 프로젝트 README를 바탕으로 AI가 작성했습니다. GitHub 통계는 매일 갱신됩니다.

관련 프로젝트

JAX 기반의 순수 Python 로봇 운동학·동역학 라이브러리로, JIT 컴파일과 자동 미분을 활용해 빠르게 제어기를 설계할 수 있습니다.

AI·머신러닝#robotics#kinematics#dynamics
688+74 이번 주47PythonMIT활발히 관리됨업데이트 3일 전