Co-Pilot / 辅助式
更新于 24 days ago

dart

Ddartsim
1.1k
dartsim/dart
86
Agent 评分

💡 摘要

DART是一个用于机器人和动画动态仿真的开源工具包。

🎯 适合人群

机器人研究人员计算机动画开发者游戏开发者仿真工程师机器人教育工作者

🤖 AI 吐槽:看起来很能打,但别让配置把人劝退。

安全分析低风险

风险:Low。建议检查:是否执行 shell/命令行指令;是否发起外网请求(SSRF/数据外发);文件读写范围与路径穿越风险;依赖锁定与供应链风险。以最小权限运行,并在生产环境启用前审计代码与依赖。

DART

DART (Dynamic Animation and Robotics Toolkit) is an open-source library that provides data structures and algorithms for kinematic and dynamic applications in robotics and computer animation. Renowned for its accuracy and stability, DART utilizes generalized coordinates to represent articulated rigid body systems and employs Featherstone's Articulated Body Algorithm to compute motion dynamics.

Why DART?

  • Accuracy & Stability — Featherstone's Articulated Body Algorithm with proven numerical stability
  • Unified Format Support — Load URDF, SDF, MJCF, and SKEL models through a single API
  • Full-featured Collision — Multiple collision detection backends (FCL, Bullet, ODE)
  • Constraint Dynamics — Joint limits, contacts, and closed-loop constraints solved together
  • Cross-platform — Linux, macOS, Windows with Python bindings included
  • Battle-tested — Powers Gazebo, research labs, and production systems worldwide

Quick Start

Python

import dartpy as dart world = dart.World() # Load a robot from URDF urdf = dart.io.UrdfParser() robot = urdf.parseSkeleton("dart://sample/urdf/KR5/KR5 sixx R650.urdf") world.addSkeleton(robot) # Simulate 100 steps for _ in range(100): world.step() print(f"Positions: {robot.getPositions()}")

C++

#include <dart/dart.hpp> int main() { auto world = dart::simulation::World::create(); // Load a robot from URDF auto robot = dart::io::urdf::readSkeleton("path/to/robot.urdf"); world->addSkeleton(robot); // Simulate 100 steps for (int i = 0; i < 100; ++i) { world->step(); std::cout << "Positions: " << robot->getPositions().transpose() << "\n"; } return 0; }

Installation

Python (Recommended)

| Method | Command | | ------------------ | ------------------------------------- | | uv (preferred) | uv add dartpy | | pip | pip install dartpy | | pixi | pixi add dartpy | | conda | conda install -c conda-forge dartpy |

C++

| Platform | Command | | -------------------------------- | -------------------------------------------------------------------- | | Cross-platform (recommended) | pixi add dartsim-cpp or conda install -c conda-forge dartsim-cpp | | Ubuntu | sudo apt install libdart-all-dev | | Arch Linux | yay -S libdart | | FreeBSD | pkg install dartsim | | macOS | brew install dartsim | | Windows | vcpkg install dartsim:x64-windows |

All distributions →

Documentation

Developer Resources

Branches

  • main — Active development targeting DART 7
  • release-6.16 — Maintenance branch for DART 6 (critical fixes only)

Citation

If you use DART in an academic publication, please consider citing this JOSS Paper:

@article{Lee2018, doi = {10.21105/joss.00500}, url = {https://doi.org/10.21105/joss.00500}, year = {2018}, publisher = {The Open Journal}, volume = {3}, number = {22}, pages = {500}, author = {Jeongseok Lee and Michael X. Grey and Sehoon Ha and Tobias Kunz and Sumit Jain and Yuting Ye and Siddhartha S. Srinivasa and Mike Stilman and C. Karen Liu}, title = {DART: Dynamic Animation and Robotics Toolkit}, journal = {Journal of Open Source Software} }

License

DART is licensed under the BSD 2-Clause License.

五维分析
清晰度9/10
创新性8/10
实用性9/10
完整性8/10
可维护性9/10
优缺点分析

优点

  • 仿真中的高精度和稳定性。
  • 支持多种模型格式。
  • 跨平台兼容性。
  • 活跃的开发和社区支持。

缺点

  • 初学者的学习曲线较陡。
  • 某些领域的文档有限。
  • 依赖外部库。
  • 性能可能因系统配置而异。

相关技能

pytorch

S
toolCode Lib / 代码库
92/ 100

“它是深度学习的瑞士军刀,但祝你好运能从47种安装方法里找到那个不会搞崩你系统的那一个。”

agno

S
toolCode Lib / 代码库
90/ 100

“它承诺成为智能体领域的Kubernetes,但得看开发者有没有耐心学习又一个编排层。”

nuxt-skills

S
toolCo-Pilot / 辅助式
90/ 100

“这本质上是一份组织良好的小抄,能把你的 AI 助手变成一只 Nuxt 框架的复读机。”

免责声明:本内容来源于 GitHub 开源项目,仅供展示和评分分析使用。

版权归原作者所有 dartsim.