工程开发
dart-python avatar

dart-python

DART 物理模拟的 Python 绑定 (dartpy):利用 nanobind 与 C++ 整合,支持构建 Wheel、生成类型存根,并管理机器人模拟工作流程。

简介

dart-python 技能为通过其 Python 接口 dartpy 管理与交互 DART(动态动画与机器人工具包)提供了全面的工具。此技能专为机器人研究人员、模拟工程师与软件开发人员设计,旨在搭建高性能 C++ 动力学与基于 Python 原型设计之间的桥梁。适用于执行运动学、刚体动力学、接触物理与约束运动模拟,且需要在 Python 生态系统的灵活性中保持 C++ 执行速度的用户。

  • 完整支持 dartpy 开发工作流程,包括开发版本构建、测试套件以及用于 IDE 自动补全的类型存根生成。

  • 使用 Pixi 环境的 Wheel 构建基础设施,包含 Linux 专用的修复工具与跨平台 CI 集成。

  • NumPy 数组与 DART Eigen 数据结构之间的无缝互操作性,确保数值库与物理引擎间的高效数据交换。

  • 访问核心模拟组件,例如 World 配置、骨架加载 (URDF, SDF, MJCF, SKEL) 以及自定义约束求解器。

  • 通过 CMake 与 nanobind 的构建系统集成,以维护 ABI 兼容性与性能优化。

  • 当您编写机器人模拟脚本、执行运动规划或调试动力学计算时,请使用此技能。

  • 在调用 API 时,请务必优先使用 snake_case 命名惯例,以避免与旧版 camelCase 相关的弃用警告。

  • 若您的模拟任务需要视觉调试或通过 GUI 后端进行渲染,请确保在构建过程中设置 DART_BUILD_GUI=ON 标记。

  • 利用提供的快速指令(如 pixi run build-py-dev 与 pixi run test-py)来加速开发迭代周期。

  • 输入主要为与 dartpy 模块交互的 Python 代码;输出则涉及模拟的物理状态、骨架位置或视觉场景更新。

仓库统计

Star 数
1,078
Fork 数
299
Open Issue 数
0
主要语言
C++
默认分支
main
同步状态
空闲
最近同步时间
2026年5月1日 09:36
在 GitHub 查看