Repolode
gbionics

gbionics/jaxsim

基于 JAX 的可微分刚体物理引擎,面向机器人控制、形态协同设计与机器人学习。

Star
204
Fork
22
未关闭 Issue
8
最近提交
5天前

这是什么?

JaxSim 是一个用 Python 和 JAX 编写的物理引擎,面向需要对仿真过程求梯度的机器人研究者。它采用降维坐标(reduced-coordinate)的多体动力学,支持固定基座与浮动基座机器人,可直接加载 SDF 模型,并可通过 sdformat 转换支持 URDF。

由于动力学对硬件参数可微,同一套仿真可用于基于梯度的结构设计与优化。接口采用函数式风格,可进行 JIT 编译与自动向量化,并能在 CPU、GPU 和 TPU 上运行。库中还提供质量矩阵、偏置力、重力项、科氏矩阵以及坐标系雅可比等刚体动力学计算,支持前向和反向模式的自动微分。

项目仍处于实验阶段,API 可能在版本间变化。目前主要面向步态运动(locomotion),接触仅支持刚体与光滑地面之间。

核心功能

  • 01对硬件参数和运动学参数可微分。
  • 02支持固定基座和浮动基座机器人模型。
  • 03可直接加载 SDF 模型,并通过 sdformat 转换支持 URDF。
  • 04基于 JAX 的 JIT 编译与自动向量化,可在 CPU、GPU 和 TPU 上运行。
  • 05提供质量矩阵、偏置力、重力、科氏项及坐标系雅可比的计算。

适用场景

  • 基于梯度的机器人形态或协同设计优化。
  • 需要可微仿真器的足式机器人运动学习实验。
  • 在 JAX 代码中将刚体动力学算法作为多体动力学库使用。

快速上手

  1. 1

    在虚拟环境中使用 pip 从 PyPI 安装

    pip install jaxsim
  2. 2

    运行 How to use it 部分中的 iCub 仿真示例(需已安装 icub_models 和 jax)

使用前须知

  • 项目仍处于实验阶段,API 可能在版本之间无预告地变化。
  • 仅支持刚体与平滑地面之间的接触,主要面向步行运动应用。
  • 若需要 URDF 支持,必须另外安装 Gazebo Sim 相关组件(如 sdformat)。

收录于专题

标签

#robotics#physics-engine#differentiable-simulation#jax#rigid-body-dynamics#multibody-dynamics#robot-learning#aba#ad#automatic-differentiation

常见问题

jaxsim 是什么?
基于 JAX 的可微分刚体物理引擎,面向机器人控制、形态协同设计与机器人学习。 JaxSim 是一个用 Python 和 JAX 编写的物理引擎,面向需要对仿真过程求梯度的机器人研究者。它采用降维坐标(reduced-coordinate)的多体动力学,支持固定基座与浮动基座机器人,可直接加载 SDF 模型,并可通过 sdformat 转换支持 URDF。
jaxsim 可以免费使用吗?用的什么许可证?
jaxsim 以 BSD-3-Clause 许可证开源。用于商业产品前,请先确认许可证条款。
jaxsim 还在维护吗?
活跃维护中。jaxsim 最近一次提交是在 2026年11月2日。
jaxsim 适合用来做什么?
基于梯度的机器人形态或协同设计优化。 需要可微仿真器的足式机器人运动学习实验。 在 JAX 代码中将刚体动力学算法作为多体动力学库使用。
jaxsim 怎么安装和运行?
在虚拟环境中使用 pip 从 PyPI 安装: pip install jaxsim 运行 How to use it 部分中的 iCub 仿真示例(需已安装 icub_models 和 jax)
在哪里获取 jaxsim?
源代码和安装说明在 GitHub 上:https://github.com/gbionics/jaxsim

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

相关项目