Repolode
dartsim

dartsim/dart

基于 C++17 的物理引擎,提供 Python 绑定,用于机器人与计算动画中关节体的运动学、动力学和接触仿真。

可替代:MATLAB Simscape Multibody

Star
1,224
Fork
307
未关闭 Issue
13
最近提交
20小时前

这是什么?

DART(Dynamic Animation and Robotics Toolkit)是一个基于 C++17 的开源库,并提供 Python 绑定 dartpy,用于仿真刚体与软体组成的关节系统。它以广义坐标描述系统,使用 Featherstone 的关节体算法计算运动,并可直接获取质量矩阵、科里奥利力与重力项、雅可比矩阵及其导数。

接触求解基于 LCP,支持 Dantzig 与 PGS 求解器,同时处理关节限位和闭环运动链。碰撞检测可选 FCL(默认)、Bullet、ODE 或 DART 自带的检测器。模型支持 URDF、SDF、SKEL 以及实验性的 MJCF 格式,并内置分层的全身逆运动学。Gazebo 通过 gz-physics 使用 DART 作为物理后端。

项目可通过 pip、conda-forge、vcpkg、Homebrew 及多个 Linux 发行版安装,也可以使用 pixi 从源码构建。

核心功能

  • 01基于 Featherstone 关节体算法,以广义坐标计算动力学
  • 02基于 LCP 的接触求解,支持 Dantzig 与 PGS 求解器,并支持软体
  • 03碰撞检测可选 FCL、Bullet、ODE 或自带检测器
  • 04支持加载 URDF、SDF、SKEL 格式,以及实验性的 MJCF 模型
  • 05提供分层全身逆运动学,支持解析求解器
  • 06同时提供 C++ 接口和 Python 绑定 dartpy

适用场景

  • 为机器人控制与运动规划研究仿真人形或机械臂
  • 利用逆运动学与操作空间方法原型化全身控制
  • 用关节体模型生成符合物理规律的角色动画
  • 作为 Gazebo 等机器人仿真器的物理后端

快速上手

  1. 1

    安装 Python 包

    pip install dartpy
  2. 2

    在 Ubuntu / Debian 上安装 C++ 包

    sudo apt install libdart-all-dev
  3. 3

    在 macOS 上用 Homebrew 安装 C++ 包

    brew install dartsim

使用前须知

  • main 为开发分支,可能变化;要获得稳定行为请使用带标签的发布版本或软件包安装。
  • 发行版软件包可能落后于最新发布版本。
  • PyPI 预编译包仅覆盖最常见的平台和 Python 版本。

收录于专题

标签

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

常见问题

dart 是什么?
基于 C++17 的物理引擎,提供 Python 绑定,用于机器人与计算动画中关节体的运动学、动力学和接触仿真。 DART(Dynamic Animation and Robotics Toolkit)是一个基于 C++17 的开源库,并提供 Python 绑定 dartpy,用于仿真刚体与软体组成的关节系统。它以广义坐标描述系统,使用 Featherstone 的关节体算法计算运动,并可直接获取质量矩阵、科里奥利力与重力项、雅可比矩阵及其导数。
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 在 macOS 上用 Homebrew 安装 C++ 包: brew install dartsim
在哪里获取 dart?
源代码和安装说明在 GitHub 上:https://github.com/dartsim/dart

概要由 AI 根据项目 README 生成;GitHub 数据每日更新。

相关项目