Repolode
dartsim

dartsim/dart

관절형 로봇과 애니메이션 캐릭터의 운동학, 동역학, 접촉 시뮬레이션을 위한 Python 바인딩을 제공하는 C++17 물리 라이브러리입니다.

대체할 수 있는 제품:MATLAB Simscape Multibody

스타
1,224
포크
307
열린 이슈
13
마지막 커밋
11시간 전

어떤 프로젝트인가요?

DART(Dynamic Animation and Robotics Toolkit)는 관절형 강체와 소프트 바디를 시뮬레이션하는 C++17 라이브러리로, Python 바인딩(dartpy)을 제공합니다. 시스템을 일반화 좌표로 표현하고 Featherstone의 Articulated Body Algorithm으로 운동을 계산하며, 질량 행렬, 코리올리 힘과 중력, 야코비안 및 그 도함수를 제공합니다.

엔진은 LCP 기반 솔버(Dantzig 및 PGS), 관절 제한, 폐쇄형 운동학 루프를 지원합니다. 충돌 감지에는 FCL(기본값), Bullet, ODE 또는 DART 자체 감지기를 사용할 수 있습니다. URDF, SDF, SKEL, MJCF(실험적) 파일에서 로봇과 장면 모델을 불러올 수 있으며, 계층형 전신 역기구학 기능도 포함되어 있습니다. 또한 DART는 gz-physics를 통해 Gazebo의 물리 백엔드로 사용됩니다.

라이브러리는 pip, conda-forge, vcpkg, Homebrew 및 여러 Linux 배포판에서 사용할 수 있으며, pixi로 소스에서 빌드할 수도 있습니다.

핵심 기능

  • 01Featherstone의 Articulated Body Algorithm을 사용한 일반화 좌표계 동역학
  • 02Dantzig 및 PGS 솔버를 사용하는 LCP 기반 접촉 처리와 소프트 바디 지원
  • 03FCL, Bullet, ODE 및 자체 감지기를 포함하는 충돌 감지 백엔드
  • 04URDF, SDF, SKEL 및 실험적 MJCF 파일에서 모델 로드
  • 05해석적 솔버를 지원하는 계층형 전신 역기구학
  • 06C++ API 및 dartpy Python 바인딩

활용 사례

  • 제어 및 모션 계획 연구를 위한 휴머노이드 또는 매니퓰레이터 로봇 시뮬레이션
  • 역기구학과 작업 공간 방법을 활용한 전신 제어 프로토타이핑
  • 관절형 바디를 사용한 물리적으로 그럴듯한 캐릭터 애니메이션 생성
  • Gazebo와 같은 로봇 시뮬레이터의 물리 백엔드로 사용

빠른 시작

  1. 1

    Python 패키지 설치

    pip install dartpy
  2. 2

    Ubuntu / Debian에 C++ 패키지 설치

    sudo apt install libdart-all-dev
  3. 3

    Homebrew로 macOS에 C++ 패키지 설치

    brew install dartsim

사용 전 알아둘 점

  • 개발 브랜치 main은 변경될 수 있습니다. 안정적인 동작을 원한다면 태그가 지정된 릴리스 또는 패키지를 설치하세요.
  • 배포판 패키지는 최신 릴리스보다 업데이트가 늦을 수 있습니다.
  • PyPI wheel은 가장 일반적인 플랫폼과 Python 버전만 지원합니다.

포함된 컬렉션

토픽

#robotics#physics-engine#simulation#inverse-kinematics#multibody-dynamics#computer-animation#python-bindings#cpp#collision-detection#cpp17

자주 묻는 질문

dart은(는) 무엇인가요?
관절형 로봇과 애니메이션 캐릭터의 운동학, 동역학, 접촉 시뮬레이션을 위한 Python 바인딩을 제공하는 C++17 물리 라이브러리입니다. DART(Dynamic Animation and Robotics Toolkit)는 관절형 강체와 소프트 바디를 시뮬레이션하는 C++17 라이브러리로, Python 바인딩(dartpy)을 제공합니다. 시스템을 일반화 좌표로 표현하고 Featherstone의 Articulated Body Algorithm으로 운동을 계산하며, 질량 행렬, 코리올리 힘과 중력, 야코비안 및 그 도함수를 제공합니다.
dart은(는) 무료로 사용할 수 있나요? 라이선스는 무엇인가요?
dart은(는) BSD-2-Clause 라이선스의 오픈소스입니다. 상업용 제품에 사용하기 전에 라이선스 조건을 확인하세요.
dart은(는) 아직 유지보수되고 있나요?
활발히 유지보수 중. dart의 마지막 커밋은 2026년 11월 6일입니다.
dart은(는) 어디에 사용할 수 있나요?
제어 및 모션 계획 연구를 위한 휴머노이드 또는 매니퓰레이터 로봇 시뮬레이션 역기구학과 작업 공간 방법을 활용한 전신 제어 프로토타이핑 관절형 바디를 사용한 물리적으로 그럴듯한 캐릭터 애니메이션 생성 Gazebo와 같은 로봇 시뮬레이터의 물리 백엔드로 사용
dart는 어떻게 설치하나요?
Python 패키지 설치: pip install dartpy Ubuntu / Debian에 C++ 패키지 설치: sudo apt install libdart-all-dev Homebrew로 macOS에 C++ 패키지 설치: brew install dartsim
dart은(는) 어디서 받을 수 있나요?
소스 코드와 설치 방법은 GitHub에 있습니다: https://github.com/dartsim/dart

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

관련 프로젝트