# OrcaGym
[](https://pypi.org/project/orca-gym/)
[](https://opensource.org/licenses/MIT)
[](https://www.python.org/downloads/)
欢迎来到 OrcaGym!这是 OrcaGym 的核心库,提供与 OpenAI Gym/Gymnasium 接口兼容的机器人仿真环境。与松应科技的 OrcaStudio、OrcaLab 平台联合开发,OrcaGym 为多物理引擎和分布式仿真提供强大支持,同时保持与流行 RL 框架的编程接口兼容性。
> **注意**: `orca-gym` PyPI 包仅包含核心功能模块。如需使用强化学习训练、模仿学习、输入设备等功能,请参考各 `examples` 目录下的 README,按需安装额外依赖。
## 背景
机器人仿真作为具身智能训练的关键平台,需要物理准确性和可扩展的基础设施。传统解决方案往往在保真度和计算效率之间面临权衡,特别是在扩展到分布式系统时。OrcaGym 通过将实时物理仿真与云原生架构相结合来弥合这一差距,使研究人员能够在高保真环境中原型化算法并在大规模部署。
## 目的
OrcaGym 旨在:
1. 提供与 OpenAI Gym/Gymnasium API 兼容的 GPU 加速仿真环境
2. 通过 OrcaStudio、OrcaLab 集成支持多种物理后端(Mujoco、PhysX、ODE)
3. 实现跨异构计算节点的分布式训练场景
4. 通过光线追踪为基于视觉的 RL 任务提供逼真的渲染
## 主要特性
- 🎮 **Gym/Gymnasium API 兼容性** - 与现有 RL 算法无缝集成
- ⚡ **多物理后端** - 同时进行 Mujoco/PhysX/ODE 仿真
- 🌐 **分布式部署** - 通过 gRPC 实现混合本地/远程操作
- 🔍 **光线追踪渲染** - 逼真的视觉观察
- 🤖 **多智能体支持** - 原生异构智能体管理
## 安装
### 从 PyPI 安装(推荐)
```bash
# 安装核心包
pip install orca-gym
# 或者安装带可选依赖的版本
pip install orca-gym[rl] # 强化学习训练
pip install orca-gym[imitation] # 模仿学习
pip install orca-gym[devices] # 输入设备支持
pip install orca-gym[sensors] # 相机和传感器
pip install orca-gym[all] # 所有可选依赖
```
### 从源码安装(开发者)
```bash
# 克隆仓库
git clone https://github.com/openverse-orca/OrcaGym.git
cd OrcaGym
# 初始化资源和子模块(如果需要运行示例)
git lfs install
git lfs pull
git submodule update --init --recursive
# 创建 Python 环境
conda create -n orca python=3.12
conda activate orca
# 安装核心包
pip install -e .
# 或者安装开发依赖
pip install -e ".[dev]"
```
### 特定示例的额外依赖
如果你想运行 `examples` 目录中的示例代码,请参考各示例目录下的 README 文件,了解需要安装的额外依赖。例如:
- **强化学习训练** (`examples/legged_gym`, `examples/cluser_rl`): 需要 `pip install orca-gym[rl]` 和可能的 PyTorch/CUDA 支持
- **模仿学习** (`examples/imitation`, `examples/openpi`): 需要 `pip install orca-gym[imitation]` 和相关依赖
- **输入设备** (`examples/realman`): 需要 `pip install orca-gym[devices]`
## OrcaStudio、OrcaLab 配置
从[官方门户](http://orca3d.cn/)下载并安装 OrcaStudio、OrcaLab
## 核心包说明
`orca-gym` 包含以下核心模块:
- **core**: 核心仿真接口,支持本地 (Mujoco) 和远程 (gRPC) 模式
- **environment**: Gymnasium 兼容的环境基类
- **protos**: gRPC 协议定义
- **scene**: 场景管理和运行时
- **utils**: 实用工具函数(旋转、控制器等)
**不包含**:
- 训练示例代码 (`examples/`)
- 特定环境实现 (`envs/`)
- 适配器 (`orca_gym/adapters/`)
- 输入设备 (`orca_gym/devices/`)
- 传感器 (`orca_gym/sensor/`)
- 工具脚本 (`orca_gym/tools/`, `orca_gym/scripts/`)
这些功能可以通过克隆仓库获取,并按需安装对应的可选依赖。
## 使用示例
### 四足机器人仿真 (Legged Gym)
OrcaGym 提供了完整的四足机器人仿真环境,支持强化学习训练和实时控制。
**快速开始**:
```bash
# 克隆项目并安装依赖
git clone https://github.com/openverse-orca/OrcaGym.git
cd OrcaGym
pip install -e .
# 运行四足机器人仿真
cd examples/legged_gym
python run_legged_sim.py --config configs/lite3_sim_config.yaml
```
**主要功能**:
- **实时仿真**:支持键盘控制 (WASD 移动,Space 重置,M 切换模式)
- **强化学习训练**:集成 Stable-Baselines3 和 Ray RLLib
- **gRPC 服务**:支持远程推理和分布式训练
- **地形生成**:动态生成各种复杂地形
**训练示例**:
```bash
# 使用 Stable-Baselines3 训练
python run_legged_rl.py --config configs/lite3_sim_config.yaml --mode training
# 使用 Ray RLLib 训练
python run_legged_rl.py --config configs/lite3_sim_config.yaml --mode rllib_training
```
更多示例请参考 `examples/` 目录下的各个子项目。
## 性能与配置考虑
* **远程模式**: 需要配置并运行 OrcaStudio 或 OrcaLab。请参考[官方门户](http://orca3d.cn/)获取安装和配置指南。
* **本地模式**: 使用 Mujoco 进行本地仿真,适合快速原型开发和测试。
* **兼容性**: OrcaGym 完全兼容 Gymnasium API,可以与现有的 RL 框架无缝集成。
## 开发与维护
### 开发模式安装
```bash
git clone https://github.com/openverse-orca/OrcaGym.git
cd OrcaGym
pip install -e ".[dev]"
```
### 发布到 PyPI
项目包含完整的发布自动化脚本。查看详细文档:
```bash
# 查看快速参考
cat scripts/release/QUICK_REFERENCE.md
# 查看完整文档
cat scripts/release/README.md
```
**快速发布流程**:
```bash
# 使用 Makefile(推荐)
make bump-version VERSION=25.10.1 # 更新版本号
make release-test # 发布到 TestPyPI
make release-prod # 发布到 PyPI
# 或使用脚本
./scripts/release/bump_version.sh 25.10.1
./scripts/release/release.sh test
./scripts/release/release.sh prod
```
详细信息请参阅:
- 📚 [发布脚本文档](scripts/release/README.md)
- ⚡ [快速参考](scripts/release/QUICK_REFERENCE.md)
- 📝 [PyPI 发布指南](PYPI_RELEASE.md)
## 贡献
我们欢迎对 OrcaGym 项目的贡献。如果您有建议、错误报告或功能请求,请在我们的 GitHub 仓库上开一个 issue 或提交 pull request。
### 贡献指南
1. Fork 项目
2. 创建特性分支 (`git checkout -b feature/AmazingFeature`)
3. 提交变更 (`git commit -m 'Add some AmazingFeature'`)
4. 推送到分支 (`git push origin feature/AmazingFeature`)
5. 开启 Pull Request
## 引用
```bibtex
@software{OrcaGym2024,
author = {松应科技},
title = {OrcaGym: 云原生机器人仿真平台},
year = {2024},
publisher = {GitHub},
journal = {GitHub 仓库},
howpublished = {\url{https://github.com/openverse-orca/OrcaGym}}
}
```
## 许可证
基于 MIT 许可证分发。详情请参见 **LICENSE**。
## 联系方式
如有任何疑问或需要支持,请联系我们:huangwei@orca3d.cn
---
我们希望您发现 OrcaGym 是您机器人和强化学习研究的宝贵工具。祝仿真愉快!
Raw data
{
"_id": null,
"home_page": null,
"name": "orca-gym",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.9",
"maintainer_email": null,
"keywords": "robotics, simulation, reinforcement-learning, gymnasium, mujoco",
"author": null,
"author_email": "\u677e\u5e94\u79d1\u6280 <huangwei@orca3d.cn>",
"download_url": "https://files.pythonhosted.org/packages/d6/b0/c0cc6e1140579387a396f7bd51c39801406cfa74ec4598a4b703f4bdc570/orca_gym-25.10.0.tar.gz",
"platform": null,
"description": "# OrcaGym\n\n[](https://pypi.org/project/orca-gym/)\n[](https://opensource.org/licenses/MIT)\n[](https://www.python.org/downloads/)\n\n\u6b22\u8fce\u6765\u5230 OrcaGym\uff01\u8fd9\u662f OrcaGym \u7684\u6838\u5fc3\u5e93\uff0c\u63d0\u4f9b\u4e0e OpenAI Gym/Gymnasium \u63a5\u53e3\u517c\u5bb9\u7684\u673a\u5668\u4eba\u4eff\u771f\u73af\u5883\u3002\u4e0e\u677e\u5e94\u79d1\u6280\u7684 OrcaStudio\u3001OrcaLab \u5e73\u53f0\u8054\u5408\u5f00\u53d1\uff0cOrcaGym \u4e3a\u591a\u7269\u7406\u5f15\u64ce\u548c\u5206\u5e03\u5f0f\u4eff\u771f\u63d0\u4f9b\u5f3a\u5927\u652f\u6301\uff0c\u540c\u65f6\u4fdd\u6301\u4e0e\u6d41\u884c RL \u6846\u67b6\u7684\u7f16\u7a0b\u63a5\u53e3\u517c\u5bb9\u6027\u3002\n\n> **\u6ce8\u610f**: `orca-gym` PyPI \u5305\u4ec5\u5305\u542b\u6838\u5fc3\u529f\u80fd\u6a21\u5757\u3002\u5982\u9700\u4f7f\u7528\u5f3a\u5316\u5b66\u4e60\u8bad\u7ec3\u3001\u6a21\u4eff\u5b66\u4e60\u3001\u8f93\u5165\u8bbe\u5907\u7b49\u529f\u80fd\uff0c\u8bf7\u53c2\u8003\u5404 `examples` \u76ee\u5f55\u4e0b\u7684 README\uff0c\u6309\u9700\u5b89\u88c5\u989d\u5916\u4f9d\u8d56\u3002\n\n## \u80cc\u666f\n\u673a\u5668\u4eba\u4eff\u771f\u4f5c\u4e3a\u5177\u8eab\u667a\u80fd\u8bad\u7ec3\u7684\u5173\u952e\u5e73\u53f0\uff0c\u9700\u8981\u7269\u7406\u51c6\u786e\u6027\u548c\u53ef\u6269\u5c55\u7684\u57fa\u7840\u8bbe\u65bd\u3002\u4f20\u7edf\u89e3\u51b3\u65b9\u6848\u5f80\u5f80\u5728\u4fdd\u771f\u5ea6\u548c\u8ba1\u7b97\u6548\u7387\u4e4b\u95f4\u9762\u4e34\u6743\u8861\uff0c\u7279\u522b\u662f\u5728\u6269\u5c55\u5230\u5206\u5e03\u5f0f\u7cfb\u7edf\u65f6\u3002OrcaGym \u901a\u8fc7\u5c06\u5b9e\u65f6\u7269\u7406\u4eff\u771f\u4e0e\u4e91\u539f\u751f\u67b6\u6784\u76f8\u7ed3\u5408\u6765\u5f25\u5408\u8fd9\u4e00\u5dee\u8ddd\uff0c\u4f7f\u7814\u7a76\u4eba\u5458\u80fd\u591f\u5728\u9ad8\u4fdd\u771f\u73af\u5883\u4e2d\u539f\u578b\u5316\u7b97\u6cd5\u5e76\u5728\u5927\u89c4\u6a21\u90e8\u7f72\u3002\n\n## \u76ee\u7684\nOrcaGym \u65e8\u5728\uff1a\n\n1. \u63d0\u4f9b\u4e0e OpenAI Gym/Gymnasium API \u517c\u5bb9\u7684 GPU \u52a0\u901f\u4eff\u771f\u73af\u5883\n2. \u901a\u8fc7 OrcaStudio\u3001OrcaLab \u96c6\u6210\u652f\u6301\u591a\u79cd\u7269\u7406\u540e\u7aef\uff08Mujoco\u3001PhysX\u3001ODE\uff09\n3. \u5b9e\u73b0\u8de8\u5f02\u6784\u8ba1\u7b97\u8282\u70b9\u7684\u5206\u5e03\u5f0f\u8bad\u7ec3\u573a\u666f\n4. \u901a\u8fc7\u5149\u7ebf\u8ffd\u8e2a\u4e3a\u57fa\u4e8e\u89c6\u89c9\u7684 RL \u4efb\u52a1\u63d0\u4f9b\u903c\u771f\u7684\u6e32\u67d3\n\n## \u4e3b\u8981\u7279\u6027\n- \ud83c\udfae **Gym/Gymnasium API \u517c\u5bb9\u6027** - \u4e0e\u73b0\u6709 RL \u7b97\u6cd5\u65e0\u7f1d\u96c6\u6210\n- \u26a1 **\u591a\u7269\u7406\u540e\u7aef** - \u540c\u65f6\u8fdb\u884c Mujoco/PhysX/ODE \u4eff\u771f\n- \ud83c\udf10 **\u5206\u5e03\u5f0f\u90e8\u7f72** - \u901a\u8fc7 gRPC \u5b9e\u73b0\u6df7\u5408\u672c\u5730/\u8fdc\u7a0b\u64cd\u4f5c\n- \ud83d\udd0d **\u5149\u7ebf\u8ffd\u8e2a\u6e32\u67d3** - \u903c\u771f\u7684\u89c6\u89c9\u89c2\u5bdf\n- \ud83e\udd16 **\u591a\u667a\u80fd\u4f53\u652f\u6301** - \u539f\u751f\u5f02\u6784\u667a\u80fd\u4f53\u7ba1\u7406\n\n## \u5b89\u88c5\n\n### \u4ece PyPI \u5b89\u88c5\uff08\u63a8\u8350\uff09\n\n```bash\n# \u5b89\u88c5\u6838\u5fc3\u5305\npip install orca-gym\n\n# \u6216\u8005\u5b89\u88c5\u5e26\u53ef\u9009\u4f9d\u8d56\u7684\u7248\u672c\npip install orca-gym[rl] # \u5f3a\u5316\u5b66\u4e60\u8bad\u7ec3\npip install orca-gym[imitation] # \u6a21\u4eff\u5b66\u4e60\npip install orca-gym[devices] # \u8f93\u5165\u8bbe\u5907\u652f\u6301\npip install orca-gym[sensors] # \u76f8\u673a\u548c\u4f20\u611f\u5668\npip install orca-gym[all] # \u6240\u6709\u53ef\u9009\u4f9d\u8d56\n```\n\n### \u4ece\u6e90\u7801\u5b89\u88c5\uff08\u5f00\u53d1\u8005\uff09\n\n```bash\n# \u514b\u9686\u4ed3\u5e93\ngit clone https://github.com/openverse-orca/OrcaGym.git\ncd OrcaGym\n\n# \u521d\u59cb\u5316\u8d44\u6e90\u548c\u5b50\u6a21\u5757\uff08\u5982\u679c\u9700\u8981\u8fd0\u884c\u793a\u4f8b\uff09\ngit lfs install\ngit lfs pull\ngit submodule update --init --recursive\n\n# \u521b\u5efa Python \u73af\u5883\nconda create -n orca python=3.12\nconda activate orca\n\n# \u5b89\u88c5\u6838\u5fc3\u5305\npip install -e .\n\n# \u6216\u8005\u5b89\u88c5\u5f00\u53d1\u4f9d\u8d56\npip install -e \".[dev]\"\n```\n\n### \u7279\u5b9a\u793a\u4f8b\u7684\u989d\u5916\u4f9d\u8d56\n\n\u5982\u679c\u4f60\u60f3\u8fd0\u884c `examples` \u76ee\u5f55\u4e2d\u7684\u793a\u4f8b\u4ee3\u7801\uff0c\u8bf7\u53c2\u8003\u5404\u793a\u4f8b\u76ee\u5f55\u4e0b\u7684 README \u6587\u4ef6\uff0c\u4e86\u89e3\u9700\u8981\u5b89\u88c5\u7684\u989d\u5916\u4f9d\u8d56\u3002\u4f8b\u5982\uff1a\n\n- **\u5f3a\u5316\u5b66\u4e60\u8bad\u7ec3** (`examples/legged_gym`, `examples/cluser_rl`): \u9700\u8981 `pip install orca-gym[rl]` \u548c\u53ef\u80fd\u7684 PyTorch/CUDA \u652f\u6301\n- **\u6a21\u4eff\u5b66\u4e60** (`examples/imitation`, `examples/openpi`): \u9700\u8981 `pip install orca-gym[imitation]` \u548c\u76f8\u5173\u4f9d\u8d56\n- **\u8f93\u5165\u8bbe\u5907** (`examples/realman`): \u9700\u8981 `pip install orca-gym[devices]`\n\n\n## OrcaStudio\u3001OrcaLab \u914d\u7f6e\n\n\u4ece[\u5b98\u65b9\u95e8\u6237](http://orca3d.cn/)\u4e0b\u8f7d\u5e76\u5b89\u88c5 OrcaStudio\u3001OrcaLab\n\n## \u6838\u5fc3\u5305\u8bf4\u660e\n\n`orca-gym` \u5305\u542b\u4ee5\u4e0b\u6838\u5fc3\u6a21\u5757\uff1a\n\n- **core**: \u6838\u5fc3\u4eff\u771f\u63a5\u53e3\uff0c\u652f\u6301\u672c\u5730 (Mujoco) \u548c\u8fdc\u7a0b (gRPC) \u6a21\u5f0f\n- **environment**: Gymnasium \u517c\u5bb9\u7684\u73af\u5883\u57fa\u7c7b\n- **protos**: gRPC \u534f\u8bae\u5b9a\u4e49\n- **scene**: \u573a\u666f\u7ba1\u7406\u548c\u8fd0\u884c\u65f6\n- **utils**: \u5b9e\u7528\u5de5\u5177\u51fd\u6570\uff08\u65cb\u8f6c\u3001\u63a7\u5236\u5668\u7b49\uff09\n\n**\u4e0d\u5305\u542b**\uff1a\n- \u8bad\u7ec3\u793a\u4f8b\u4ee3\u7801 (`examples/`)\n- \u7279\u5b9a\u73af\u5883\u5b9e\u73b0 (`envs/`)\n- \u9002\u914d\u5668 (`orca_gym/adapters/`)\n- \u8f93\u5165\u8bbe\u5907 (`orca_gym/devices/`)\n- \u4f20\u611f\u5668 (`orca_gym/sensor/`)\n- \u5de5\u5177\u811a\u672c (`orca_gym/tools/`, `orca_gym/scripts/`)\n\n\u8fd9\u4e9b\u529f\u80fd\u53ef\u4ee5\u901a\u8fc7\u514b\u9686\u4ed3\u5e93\u83b7\u53d6\uff0c\u5e76\u6309\u9700\u5b89\u88c5\u5bf9\u5e94\u7684\u53ef\u9009\u4f9d\u8d56\u3002\n\n## \u4f7f\u7528\u793a\u4f8b\n\n### \u56db\u8db3\u673a\u5668\u4eba\u4eff\u771f (Legged Gym)\n\nOrcaGym \u63d0\u4f9b\u4e86\u5b8c\u6574\u7684\u56db\u8db3\u673a\u5668\u4eba\u4eff\u771f\u73af\u5883\uff0c\u652f\u6301\u5f3a\u5316\u5b66\u4e60\u8bad\u7ec3\u548c\u5b9e\u65f6\u63a7\u5236\u3002\n\n**\u5feb\u901f\u5f00\u59cb**\uff1a\n```bash\n# \u514b\u9686\u9879\u76ee\u5e76\u5b89\u88c5\u4f9d\u8d56\ngit clone https://github.com/openverse-orca/OrcaGym.git\ncd OrcaGym\npip install -e .\n\n# \u8fd0\u884c\u56db\u8db3\u673a\u5668\u4eba\u4eff\u771f\ncd examples/legged_gym\npython run_legged_sim.py --config configs/lite3_sim_config.yaml\n```\n\n**\u4e3b\u8981\u529f\u80fd**\uff1a\n- **\u5b9e\u65f6\u4eff\u771f**\uff1a\u652f\u6301\u952e\u76d8\u63a7\u5236 (WASD \u79fb\u52a8\uff0cSpace \u91cd\u7f6e\uff0cM \u5207\u6362\u6a21\u5f0f)\n- **\u5f3a\u5316\u5b66\u4e60\u8bad\u7ec3**\uff1a\u96c6\u6210 Stable-Baselines3 \u548c Ray RLLib\n- **gRPC \u670d\u52a1**\uff1a\u652f\u6301\u8fdc\u7a0b\u63a8\u7406\u548c\u5206\u5e03\u5f0f\u8bad\u7ec3\n- **\u5730\u5f62\u751f\u6210**\uff1a\u52a8\u6001\u751f\u6210\u5404\u79cd\u590d\u6742\u5730\u5f62\n\n**\u8bad\u7ec3\u793a\u4f8b**\uff1a\n```bash\n# \u4f7f\u7528 Stable-Baselines3 \u8bad\u7ec3\npython run_legged_rl.py --config configs/lite3_sim_config.yaml --mode training\n\n# \u4f7f\u7528 Ray RLLib \u8bad\u7ec3\npython run_legged_rl.py --config configs/lite3_sim_config.yaml --mode rllib_training\n```\n\n\u66f4\u591a\u793a\u4f8b\u8bf7\u53c2\u8003 `examples/` \u76ee\u5f55\u4e0b\u7684\u5404\u4e2a\u5b50\u9879\u76ee\u3002\n\n## \u6027\u80fd\u4e0e\u914d\u7f6e\u8003\u8651\n\n* **\u8fdc\u7a0b\u6a21\u5f0f**: \u9700\u8981\u914d\u7f6e\u5e76\u8fd0\u884c OrcaStudio \u6216 OrcaLab\u3002\u8bf7\u53c2\u8003[\u5b98\u65b9\u95e8\u6237](http://orca3d.cn/)\u83b7\u53d6\u5b89\u88c5\u548c\u914d\u7f6e\u6307\u5357\u3002\n* **\u672c\u5730\u6a21\u5f0f**: \u4f7f\u7528 Mujoco \u8fdb\u884c\u672c\u5730\u4eff\u771f\uff0c\u9002\u5408\u5feb\u901f\u539f\u578b\u5f00\u53d1\u548c\u6d4b\u8bd5\u3002\n* **\u517c\u5bb9\u6027**: OrcaGym \u5b8c\u5168\u517c\u5bb9 Gymnasium API\uff0c\u53ef\u4ee5\u4e0e\u73b0\u6709\u7684 RL \u6846\u67b6\u65e0\u7f1d\u96c6\u6210\u3002\n\n## \u5f00\u53d1\u4e0e\u7ef4\u62a4\n\n### \u5f00\u53d1\u6a21\u5f0f\u5b89\u88c5\n\n```bash\ngit clone https://github.com/openverse-orca/OrcaGym.git\ncd OrcaGym\npip install -e \".[dev]\"\n```\n\n### \u53d1\u5e03\u5230 PyPI\n\n\u9879\u76ee\u5305\u542b\u5b8c\u6574\u7684\u53d1\u5e03\u81ea\u52a8\u5316\u811a\u672c\u3002\u67e5\u770b\u8be6\u7ec6\u6587\u6863\uff1a\n\n```bash\n# \u67e5\u770b\u5feb\u901f\u53c2\u8003\ncat scripts/release/QUICK_REFERENCE.md\n\n# \u67e5\u770b\u5b8c\u6574\u6587\u6863\ncat scripts/release/README.md\n```\n\n**\u5feb\u901f\u53d1\u5e03\u6d41\u7a0b**\uff1a\n\n```bash\n# \u4f7f\u7528 Makefile\uff08\u63a8\u8350\uff09\nmake bump-version VERSION=25.10.1 # \u66f4\u65b0\u7248\u672c\u53f7\nmake release-test # \u53d1\u5e03\u5230 TestPyPI\nmake release-prod # \u53d1\u5e03\u5230 PyPI\n\n# \u6216\u4f7f\u7528\u811a\u672c\n./scripts/release/bump_version.sh 25.10.1\n./scripts/release/release.sh test\n./scripts/release/release.sh prod\n```\n\n\u8be6\u7ec6\u4fe1\u606f\u8bf7\u53c2\u9605\uff1a\n- \ud83d\udcda [\u53d1\u5e03\u811a\u672c\u6587\u6863](scripts/release/README.md)\n- \u26a1 [\u5feb\u901f\u53c2\u8003](scripts/release/QUICK_REFERENCE.md)\n- \ud83d\udcdd [PyPI \u53d1\u5e03\u6307\u5357](PYPI_RELEASE.md)\n\n## \u8d21\u732e\n\n\u6211\u4eec\u6b22\u8fce\u5bf9 OrcaGym \u9879\u76ee\u7684\u8d21\u732e\u3002\u5982\u679c\u60a8\u6709\u5efa\u8bae\u3001\u9519\u8bef\u62a5\u544a\u6216\u529f\u80fd\u8bf7\u6c42\uff0c\u8bf7\u5728\u6211\u4eec\u7684 GitHub \u4ed3\u5e93\u4e0a\u5f00\u4e00\u4e2a issue \u6216\u63d0\u4ea4 pull request\u3002\n\n### \u8d21\u732e\u6307\u5357\n\n1. Fork \u9879\u76ee\n2. \u521b\u5efa\u7279\u6027\u5206\u652f (`git checkout -b feature/AmazingFeature`)\n3. \u63d0\u4ea4\u53d8\u66f4 (`git commit -m 'Add some AmazingFeature'`)\n4. \u63a8\u9001\u5230\u5206\u652f (`git push origin feature/AmazingFeature`)\n5. \u5f00\u542f Pull Request\n\n## \u5f15\u7528\n```bibtex\n@software{OrcaGym2024, \n author = {\u677e\u5e94\u79d1\u6280}, \n title = {OrcaGym: \u4e91\u539f\u751f\u673a\u5668\u4eba\u4eff\u771f\u5e73\u53f0}, \n year = {2024}, \n publisher = {GitHub}, \n journal = {GitHub \u4ed3\u5e93}, \n howpublished = {\\url{https://github.com/openverse-orca/OrcaGym}} \n} \n```\n\n## \u8bb8\u53ef\u8bc1\n\u57fa\u4e8e MIT \u8bb8\u53ef\u8bc1\u5206\u53d1\u3002\u8be6\u60c5\u8bf7\u53c2\u89c1 **LICENSE**\u3002\n\n## \u8054\u7cfb\u65b9\u5f0f\n\u5982\u6709\u4efb\u4f55\u7591\u95ee\u6216\u9700\u8981\u652f\u6301\uff0c\u8bf7\u8054\u7cfb\u6211\u4eec\uff1ahuangwei@orca3d.cn\n\n---\n\n\u6211\u4eec\u5e0c\u671b\u60a8\u53d1\u73b0 OrcaGym \u662f\u60a8\u673a\u5668\u4eba\u548c\u5f3a\u5316\u5b66\u4e60\u7814\u7a76\u7684\u5b9d\u8d35\u5de5\u5177\u3002\u795d\u4eff\u771f\u6109\u5feb\uff01\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "OrcaGym Core - Cloud-native robotics simulation platform compatible with Gymnasium API",
"version": "25.10.0",
"project_urls": {
"Bug Tracker": "https://github.com/openverse-orca/OrcaGym/issues",
"Documentation": "https://github.com/openverse-orca/OrcaGym",
"Homepage": "https://github.com/openverse-orca/OrcaGym",
"Repository": "https://github.com/openverse-orca/OrcaGym"
},
"split_keywords": [
"robotics",
" simulation",
" reinforcement-learning",
" gymnasium",
" mujoco"
],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "78b5fbae6349d01eab8f6a8a9d572edcf04b559558cb487717bd65ab67b21115",
"md5": "416894cb0e23d62a07207e25dca92bc9",
"sha256": "78277aeb37e905e1c4a76d3211cea817a65068c380d24e37cda475be7f5c14e4"
},
"downloads": -1,
"filename": "orca_gym-25.10.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "416894cb0e23d62a07207e25dca92bc9",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.9",
"size": 302500,
"upload_time": "2025-10-20T11:22:30",
"upload_time_iso_8601": "2025-10-20T11:22:30.349896Z",
"url": "https://files.pythonhosted.org/packages/78/b5/fbae6349d01eab8f6a8a9d572edcf04b559558cb487717bd65ab67b21115/orca_gym-25.10.0-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "d6b0c0cc6e1140579387a396f7bd51c39801406cfa74ec4598a4b703f4bdc570",
"md5": "5b34b7f5ffacc8977bb3c075106844bc",
"sha256": "d33fdacbf1625fff214b1f6840e179a4b562678de3250b4bad20b6b4a6960375"
},
"downloads": -1,
"filename": "orca_gym-25.10.0.tar.gz",
"has_sig": false,
"md5_digest": "5b34b7f5ffacc8977bb3c075106844bc",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.9",
"size": 265729,
"upload_time": "2025-10-20T11:22:36",
"upload_time_iso_8601": "2025-10-20T11:22:36.238208Z",
"url": "https://files.pythonhosted.org/packages/d6/b0/c0cc6e1140579387a396f7bd51c39801406cfa74ec4598a4b703f4bdc570/orca_gym-25.10.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-10-20 11:22:36",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "openverse-orca",
"github_project": "OrcaGym",
"travis_ci": false,
"coveralls": false,
"github_actions": false,
"lcname": "orca-gym"
}