Repolode
simbody

simbody/simbody

开源 C++ 多体动力学库,用于模拟机器人、车辆和人体骨骼等关节机构。

Star
2,571
Fork
501
未关闭 Issue
143
最近提交
18小时前

这是什么?

Simbody 是一个用 C++ 编写的多体动力学库,用于模拟由刚体和关节组成的机构,并可施加力、规定运动和约束。它采用 Featherstone 风格的 O(n) 方法在广义坐标下计算运动,适用于人和动物骨骼等生物力学结构,也适用于机器人、车辆和各类机械系统。

Simbody 本身是库而非独立应用,开发者通过 C++ API 构建面向特定领域的工具。项目中提到 OpenSim、Gazebo 和 MacroMoleculeBuilder 都在使用它。它支持正向、逆向和混合动力学,提供多种接触模型、优化器、带误差控制的数值积分器,以及基于 OpenGL 的可视化工具。

项目使用 CMake 构建,可在 Windows、macOS 和 Linux 上运行,并可通过 apt、Homebrew、conda-forge 和 vcpkg 安装。

核心功能

  • 01提供多种关节、约束和力类型,并支持用户扩展
  • 02支持正向、逆向和混合动力学计算
  • 03提供 Hertz、Hunt 和 Crossley 接触模型
  • 04内置梯度下降、内点法和 CMA 优化器
  • 05提供基于 OpenGL 的可视化工具

适用场景

  • 为生物力学研究模拟人体或动物的肌肉骨骼运动
  • 用 C++ 构建机器人或车辆的动力学模型
  • 将多体物理引擎集成到特定领域的仿真应用中

快速上手

  1. 1

    按照 README 中的说明,在 Mac 上用 Homebrew 安装 Simbody

  2. 2

    按照 README 中的说明,在 Ubuntu 或 Debian 上用 apt-get 安装预编译二进制文件

  3. 3

    从 GitHub 克隆源代码以从源码构建

    git clone https://github.com/simbody/simbody.git C:/Simbody-source

使用前须知

  • Simbody 是 C++ 库和 API,不是独立应用程序。
  • 从源码构建需要 CMake 3.21 或更高版本,以及 LAPACK 和 BLAS。

收录于专题

标签

常见问题

simbody 是什么?
开源 C++ 多体动力学库,用于模拟机器人、车辆和人体骨骼等关节机构。 Simbody 是一个用 C++ 编写的多体动力学库,用于模拟由刚体和关节组成的机构,并可施加力、规定运动和约束。它采用 Featherstone 风格的 O(n) 方法在广义坐标下计算运动,适用于人和动物骨骼等生物力学结构,也适用于机器人、车辆和各类机械系统。
simbody 可以免费使用吗?用的什么许可证?
simbody 以 Apache-2.0 许可证开源。用于商业产品前,请先确认许可证条款。
simbody 还在维护吗?
活跃维护中。simbody 最近一次提交是在 2026年11月6日。
simbody 适合用来做什么?
为生物力学研究模拟人体或动物的肌肉骨骼运动 用 C++ 构建机器人或车辆的动力学模型 将多体物理引擎集成到特定领域的仿真应用中
simbody 怎么安装和运行?
按照 README 中的说明,在 Mac 上用 Homebrew 安装 Simbody 按照 README 中的说明,在 Ubuntu 或 Debian 上用 apt-get 安装预编译二进制文件 从 GitHub 克隆源代码以从源码构建: git clone https://github.com/simbody/simbody.git C:/Simbody-source
在哪里获取 simbody?
源代码和安装说明在 GitHub 上:https://github.com/simbody/simbody

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

相关项目