Repolode
gazebosim

gazebosim/gz-physics

面向机器人仿真的 C++ 抽象物理接口,通过插件机制在不同物理引擎之间切换。

Star
95
Fork
88
未关闭 Issue
148
最近提交
前天

这是什么?

Gazebo Physics 是一个 C++ 库,位于机器人仿真软件与实际执行计算的物理引擎之间。它没有把应用绑定到某一个引擎,而是定义了统一接口,涵盖从 SDFormat 文件构建模型、碰撞形状、关节类型,以及推进仿真步进和读写仿真状态等功能。引擎以插件形式在运行时加载,每个引擎只需暴露其支持的可选功能。

项目自带基于 dartsim 的参考插件,并包含面向大规模环境快速运动学计算的自研引擎 Trivial Physics Engine(TPE)。它是 Gazebo 仿真器的组成部分,目录结构将核心头文件、各引擎插件、网格与 SDF 处理、测试和教程分开组织。安装与 API 文档可在 Gazebo 官网查阅。

核心功能

  • 01将物理引擎功能定义为可选 API,各引擎只暴露其支持的部分。
  • 02在运行时加载物理引擎插件。
  • 03从 SDFormat 文件构建模型。
  • 04支持长方体、球体、圆柱、胶囊、网格、高度图等碰撞形状。
  • 05支持旋转、平移、固定、球铰、万向节等关节类型。
  • 06内置基于 dartsim 的参考插件和 Trivial Physics Engine。

适用场景

  • 在不同物理引擎上运行同一机器人仿真,比较其行为差异。
  • 开发不依赖单一物理引擎的机器人仿真工具。
  • 使用侧重快速运动学的 Trivial Physics Engine 模拟大型环境。

快速上手

  1. 1

    按照 README 中链接的安装教程进行安装

  2. 2

    浏览 examples 目录,了解如何使用该库

使用前须知

  • README 未提供包管理器安装命令,安装需依赖外部教程并从源码编译。
  • 这是一个 C++ 库和接口层,而非独立的仿真器,需要配合应用程序或物理插件才能发挥作用。

收录于专题

标签

#robotics#robotics-simulation#physics-engine#simulation#cpp#sdformat#gazebo#gazebosim#hacktoberfest#ignition-physics

常见问题

gz-physics 是什么?
面向机器人仿真的 C++ 抽象物理接口,通过插件机制在不同物理引擎之间切换。 Gazebo Physics 是一个 C++ 库,位于机器人仿真软件与实际执行计算的物理引擎之间。它没有把应用绑定到某一个引擎,而是定义了统一接口,涵盖从 SDFormat 文件构建模型、碰撞形状、关节类型,以及推进仿真步进和读写仿真状态等功能。引擎以插件形式在运行时加载,每个引擎只需暴露其支持的可选功能。
gz-physics 可以免费使用吗?用的什么许可证?
gz-physics 以 Apache-2.0 许可证开源。用于商业产品前,请先确认许可证条款。
gz-physics 还在维护吗?
活跃维护中。gz-physics 最近一次提交是在 2026年11月5日。
gz-physics 适合用来做什么?
在不同物理引擎上运行同一机器人仿真,比较其行为差异。 开发不依赖单一物理引擎的机器人仿真工具。 使用侧重快速运动学的 Trivial Physics Engine 模拟大型环境。
gz-physics 怎么安装和运行?
按照 README 中链接的安装教程进行安装 浏览 examples 目录,了解如何使用该库
在哪里获取 gz-physics?
源代码和安装说明在 GitHub 上:https://github.com/gazebosim/gz-physics

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

相关项目