[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"similar-Farama-Foundation--Gymnasium-Robotics":3,"tool-Farama-Foundation--Gymnasium-Robotics":65},[4,23,32,40,49,57],{"id":5,"name":6,"github_repo":7,"description_zh":8,"stars":9,"difficulty_score":10,"last_commit_at":11,"category_tags":12,"status":22},2268,"ML-For-Beginners","microsoft\u002FML-For-Beginners","ML-For-Beginners 是由微软推出的一套系统化机器学习入门课程，旨在帮助零基础用户轻松掌握经典机器学习知识。这套课程将学习路径规划为 12 周，包含 26 节精炼课程和 52 道配套测验，内容涵盖从基础概念到实际应用的完整流程，有效解决了初学者面对庞大知识体系时无从下手、缺乏结构化指导的痛点。\n\n无论是希望转型的开发者、需要补充算法背景的研究人员，还是对人工智能充满好奇的普通爱好者，都能从中受益。课程不仅提供了清晰的理论讲解，还强调动手实践，让用户在循序渐进中建立扎实的技能基础。其独特的亮点在于强大的多语言支持，通过自动化机制提供了包括简体中文在内的 50 多种语言版本，极大地降低了全球不同背景用户的学习门槛。此外，项目采用开源协作模式，社区活跃且内容持续更新，确保学习者能获取前沿且准确的技术资讯。如果你正寻找一条清晰、友好且专业的机器学习入门之路，ML-For-Beginners 将是理想的起点。",85013,2,"2026-04-06T11:09:19",[13,14,15,16,17,18,19,20,21],"图像","数据工具","视频","插件","Agent","其他","语言模型","开发框架","音频","ready",{"id":24,"name":25,"github_repo":26,"description_zh":27,"stars":28,"difficulty_score":29,"last_commit_at":30,"category_tags":31,"status":22},3128,"ragflow","infiniflow\u002Fragflow","RAGFlow 是一款领先的开源检索增强生成（RAG）引擎，旨在为大语言模型构建更精准、可靠的上下文层。它巧妙地将前沿的 RAG 技术与智能体（Agent）能力相结合，不仅支持从各类文档中高效提取知识，还能让模型基于这些知识进行逻辑推理和任务执行。\n\n在大模型应用中，幻觉问题和知识滞后是常见痛点。RAGFlow 通过深度解析复杂文档结构（如表格、图表及混合排版），显著提升了信息检索的准确度，从而有效减少模型“胡编乱造”的现象，确保回答既有据可依又具备时效性。其内置的智能体机制更进一步，使系统不仅能回答问题，还能自主规划步骤解决复杂问题。\n\n这款工具特别适合开发者、企业技术团队以及 AI 研究人员使用。无论是希望快速搭建私有知识库问答系统，还是致力于探索大模型在垂直领域落地的创新者，都能从中受益。RAGFlow 提供了可视化的工作流编排界面和灵活的 API 接口，既降低了非算法背景用户的上手门槛，也满足了专业开发者对系统深度定制的需求。作为基于 Apache 2.0 协议开源的项目，它正成为连接通用大模型与行业专有知识之间的重要桥梁。",77062,3,"2026-04-04T04:44:48",[17,13,20,19,18],{"id":33,"name":34,"github_repo":35,"description_zh":36,"stars":37,"difficulty_score":29,"last_commit_at":38,"category_tags":39,"status":22},519,"PaddleOCR","PaddlePaddle\u002FPaddleOCR","PaddleOCR 是一款基于百度飞桨框架开发的高性能开源光学字符识别工具包。它的核心能力是将图片、PDF 等文档中的文字提取出来，转换成计算机可读取的结构化数据，让机器真正“看懂”图文内容。\n\n面对海量纸质或电子文档，PaddleOCR 解决了人工录入效率低、数字化成本高的问题。尤其在人工智能领域，它扮演着连接图像与大型语言模型（LLM）的桥梁角色，能将视觉信息直接转化为文本输入，助力智能问答、文档分析等应用场景落地。\n\nPaddleOCR 适合开发者、算法研究人员以及有文档自动化需求的普通用户。其技术优势十分明显：不仅支持全球 100 多种语言的识别，还能在 Windows、Linux、macOS 等多个系统上运行，并灵活适配 CPU、GPU、NPU 等各类硬件。作为一个轻量级且社区活跃的开源项目，PaddleOCR 既能满足快速集成的需求，也能支撑前沿的视觉语言研究，是处理文字识别任务的理想选择。",74991,"2026-04-06T23:16:49",[19,13,20,18],{"id":41,"name":42,"github_repo":43,"description_zh":44,"stars":45,"difficulty_score":46,"last_commit_at":47,"category_tags":48,"status":22},3215,"awesome-machine-learning","josephmisiti\u002Fawesome-machine-learning","awesome-machine-learning 是一份精心整理的机器学习资源清单，汇集了全球优秀的机器学习框架、库和软件工具。面对机器学习领域技术迭代快、资源分散且难以甄选的痛点，这份清单按编程语言（如 Python、C++、Go 等）和应用场景（如计算机视觉、自然语言处理、深度学习等）进行了系统化分类，帮助使用者快速定位高质量项目。\n\n它特别适合开发者、数据科学家及研究人员使用。无论是初学者寻找入门库，还是资深工程师对比不同语言的技术选型，都能从中获得极具价值的参考。此外，清单还延伸提供了免费书籍、在线课程、行业会议、技术博客及线下聚会等丰富资源，构建了从学习到实践的全链路支持体系。\n\n其独特亮点在于严格的维护标准：明确标记已停止维护或长期未更新的项目，确保推荐内容的时效性与可靠性。作为机器学习领域的“导航图”，awesome-machine-learning 以开源协作的方式持续更新，旨在降低技术探索门槛，让每一位从业者都能高效地站在巨人的肩膀上创新。",72149,1,"2026-04-03T21:50:24",[20,18],{"id":50,"name":51,"github_repo":52,"description_zh":53,"stars":54,"difficulty_score":46,"last_commit_at":55,"category_tags":56,"status":22},2234,"scikit-learn","scikit-learn\u002Fscikit-learn","scikit-learn 是一个基于 Python 构建的开源机器学习库，依托于 SciPy、NumPy 等科学计算生态，旨在让机器学习变得简单高效。它提供了一套统一且简洁的接口，涵盖了从数据预处理、特征工程到模型训练、评估及选择的全流程工具，内置了包括线性回归、支持向量机、随机森林、聚类等在内的丰富经典算法。\n\n对于希望快速验证想法或构建原型的数据科学家、研究人员以及 Python 开发者而言，scikit-learn 是不可或缺的基础设施。它有效解决了机器学习入门门槛高、算法实现复杂以及不同模型间调用方式不统一的痛点，让用户无需重复造轮子，只需几行代码即可调用成熟的算法解决分类、回归、聚类等实际问题。\n\n其核心技术亮点在于高度一致的 API 设计风格，所有估算器（Estimator）均遵循相同的调用逻辑，极大地降低了学习成本并提升了代码的可读性与可维护性。此外，它还提供了强大的模型选择与评估工具，如交叉验证和网格搜索，帮助用户系统地优化模型性能。作为一个由全球志愿者共同维护的成熟项目，scikit-learn 以其稳定性、详尽的文档和活跃的社区支持，成为连接理论学习与工业级应用的最",65644,"2026-04-06T10:25:08",[20,18,14],{"id":58,"name":59,"github_repo":60,"description_zh":61,"stars":62,"difficulty_score":10,"last_commit_at":63,"category_tags":64,"status":22},3364,"keras","keras-team\u002Fkeras","Keras 是一个专为人类设计的深度学习框架，旨在让构建和训练神经网络变得简单直观。它解决了开发者在不同深度学习后端之间切换困难、模型开发效率低以及难以兼顾调试便捷性与运行性能的痛点。\n\n无论是刚入门的学生、专注算法的研究人员，还是需要快速落地产品的工程师，都能通过 Keras 轻松上手。它支持计算机视觉、自然语言处理、音频分析及时间序列预测等多种任务。\n\nKeras 3 的核心亮点在于其独特的“多后端”架构。用户只需编写一套代码，即可灵活选择 TensorFlow、JAX、PyTorch 或 OpenVINO 作为底层运行引擎。这一特性不仅保留了 Keras 一贯的高层易用性，还允许开发者根据需求自由选择：利用 JAX 或 PyTorch 的即时执行模式进行高效调试，或切换至速度最快的后端以获得最高 350% 的性能提升。此外，Keras 具备强大的扩展能力，能无缝从本地笔记本电脑扩展至大规模 GPU 或 TPU 集群，是连接原型开发与生产部署的理想桥梁。",63927,"2026-04-04T15:24:37",[20,14,18],{"id":66,"github_repo":67,"name":68,"description_en":69,"description_zh":70,"ai_summary_zh":70,"readme_en":71,"readme_zh":72,"quickstart_zh":73,"use_case_zh":74,"hero_image_url":75,"owner_login":76,"owner_name":77,"owner_avatar_url":78,"owner_bio":79,"owner_company":80,"owner_location":80,"owner_email":81,"owner_twitter":82,"owner_website":83,"owner_url":84,"languages":85,"stars":90,"forks":91,"last_commit_at":92,"license":93,"difficulty_score":29,"env_os":94,"env_gpu":95,"env_ram":95,"env_deps":96,"category_tags":103,"github_topics":104,"view_count":10,"oss_zip_url":80,"oss_zip_packed_at":80,"status":22,"created_at":109,"updated_at":110,"faqs":111,"releases":140},4717,"Farama-Foundation\u002FGymnasium-Robotics","Gymnasium-Robotics","A collection of robotics simulation environments for reinforcement learning","Gymnasium-Robotics 是一个专为强化学习设计的机器人仿真环境集合。它基于标准的 Gymnasium API 构建，并依托强大的 MuJoCo 物理引擎，为研究人员和开发者提供了一系列高保真的虚拟训练场景。\n\n在强化学习研究中，获取真实机器人数据成本高昂且存在安全风险，而 Gymnasium-Robotics 有效解决了这一痛点。它允许用户在安全的虚拟环境中高效训练和验证算法，无需依赖昂贵的实体硬件即可进行大规模实验。\n\n该工具特别适合从事机器人控制、人工智能算法研究的研究人员，以及需要快速原型开发的工程师。其核心亮点在于丰富的环境库：既包含经典的 Fetch 机械臂操作（如抓取、推动）、Shadow 灵巧手精细操控（支持触觉传感器数据），也提供了多智能体协作框架（MaMuJoCo）以及经过重构的 D4RL 基准环境（如迷宫导航、厨房任务等）。此外，项目积极维护最新的 MuJoCo Python 绑定，确保仿真的准确性与性能。无论是探索基础算法还是攻克复杂的多指协同难题，Gymnasium-Robotics 都能提供稳定、专业的实验平台。","[![Python](https:\u002F\u002Fimg.shields.io\u002Fpypi\u002Fpyversions\u002Fgymnasium-robotics.svg)](https:\u002F\u002Fbadge.fury.io\u002Fpy\u002Fgymnasium-robotics)\n[![PyPI](https:\u002F\u002Fbadge.fury.io\u002Fpy\u002Fgymnasium-robotics.svg)](https:\u002F\u002Fbadge.fury.io\u002Fpy\u002Fgymnasium-robotics)\n[![pre-commit](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Fpre--commit-enabled-brightgreen?logo=pre-commit&logoColor=white)](https:\u002F\u002Fpre-commit.com\u002F)\n[![Code style: black](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Fcode%20style-black-000000.svg)](https:\u002F\u002Fgithub.com\u002Fpsf\u002Fblack)\n\n\n\u003Cp align=\"center\">\n  \u003Ca href = \"https:\u002F\u002Frobotics.farama.org\u002F\" target = \"_blank\"> \u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FFarama-Foundation_Gymnasium-Robotics_readme_18ef957b60c3.png\" width=\"500px\"\u002F> \u003C\u002Fa>\n\u003C\u002Fp>\n\nThis library contains a collection of Reinforcement Learning robotic environments that use the [Gymnasium](https:\u002F\u002Fgymnasium.farama.org\u002F) API. The environments run with the [MuJoCo](https:\u002F\u002Fmujoco.org\u002F) physics engine and the maintained [mujoco python bindings](https:\u002F\u002Fmujoco.readthedocs.io\u002Fen\u002Flatest\u002Fpython.html).\n\nThe documentation website is at [robotics.farama.org](https:\u002F\u002Frobotics.farama.org\u002F), and we have a public discord server (which we also use to coordinate development work) that you can join here: [https:\u002F\u002Fdiscord.gg\u002FYymmHrvS](https:\u002F\u002Fdiscord.gg\u002FYymmHrvS)\n\n## Installation\n\nTo install the Gymnasium-Robotics environments use `pip install gymnasium-robotics`\n\nThese environments also require the MuJoCo engine from Deepmind to be installed. Instructions to install the physics engine can be found at the [MuJoCo website](https:\u002F\u002Fmujoco.org\u002F) and the [MuJoCo Github repository](https:\u002F\u002Fgithub.com\u002Fdeepmind\u002Fmujoco).\n\nNote that the latest environment versions use the latest mujoco python bindings maintained by the MuJoCo team. If you wish to use the old versions of the environments that depend on [mujoco-py](https:\u002F\u002Fgithub.com\u002Fopenai\u002Fmujoco-py), please install this library with `pip install gymnasium-robotics[mujoco-py]`\n\nWe support and test for Linux and macOS. We will accept PRs related to Windows, but do not officially support it.\n\n## Environments\n\n`Gymnasium-Robotics` includes the following groups of environments:\n\n* [Fetch](https:\u002F\u002Frobotics.farama.org\u002Fenvs\u002Ffetch\u002F) - A collection of environments with a 7-DoF robot arm that has to perform manipulation tasks such as Reach, Push, Slide or Pick and Place.\n* [Shadow Dexterous Hand](https:\u002F\u002Frobotics.farama.org\u002Fenvs\u002Fshadow_dexterous_hand\u002F) - A collection of environments with a 24-DoF anthropomorphic robotic hand that has to perform object manipulation tasks with a cube, egg-object, or pen. There are variations of these environments that also include data from 92 touch sensors in the observation space.\n* [MaMuJoCo](https:\u002F\u002Frobotics.farama.org\u002Fenvs\u002FMaMuJoCo\u002F) - A collection of multi agent factorizations of the [Gymnasium\u002FMuJoCo](https:\u002F\u002Fgymnasium.farama.org\u002Fenvironments\u002Fmujoco\u002F) environments and a framework for factorizing robotic environments, uses the [pettingzoo.ParallelEnv](https:\u002F\u002Fpettingzoo.farama.org\u002Fapi\u002Fparallel\u002F) API.\n\nThe [D4RL](https:\u002F\u002Fgithub.com\u002FFarama-Foundation\u002FD4RL) environments are now available. These environments have been refactored and may not have the same action\u002Fobservation spaces as the original, please read their documentation:\n\n* [Maze Environments](https:\u002F\u002Frobotics.farama.org\u002Fenvs\u002Fmaze\u002F) - An agent has to navigate through a maze to reach certain goal position. Two different agents can be used: a 2-DoF force-controlled ball, or the classic `Ant` agent from the [Gymnasium MuJoCo environments](https:\u002F\u002Fgymnasium.farama.org\u002Fenvironments\u002Fmujoco\u002Fant\u002F). The environment can be initialized with a variety of maze shapes with increasing levels of difficulty.\n* [Adroit Arm](https:\u002F\u002Frobotics.farama.org\u002Fenvs\u002Fadroit_hand\u002F) - A collection of environments that use the Shadow Dexterous Hand with additional degrees of freedom for the arm movement.\nThe different tasks involve hammering a nail, opening a door, twirling a pen, or picking up and moving a ball.\n* [Franka Kitchen](https:\u002F\u002Frobotics.farama.org\u002Fenvs\u002Ffranka_kitchen\u002F) - Multitask environment in which a 9-DoF Franka robot is placed in a kitchen containing several common household items. The goal of each task is to interact with the items in order to reach a desired goal configuration.\n\n**WIP**: generate new `D4RL` environment datasets with [Minari](https:\u002F\u002Fgithub.com\u002FFarama-Foundation\u002FMinari).\n\n## Multi-goal API\n\nThe robotic environments use an extension of the core Gymnasium API by inheriting from [GoalEnv](https:\u002F\u002Frobotics.farama.org\u002Fcontent\u002Fmulti-goal_api\u002F) class. The new API forces the environments to have a dictionary observation space that contains 3 keys:\n\n* `observation` - The actual observation of the environment\n* `desired_goal` - The goal that the agent has to achieved\n* `achieved_goal` - The goal that the agent has currently achieved instead. The objective of the environments is for this value to be close to `desired_goal`\n\nThis API also exposes the function of the reward, as well as the terminated and truncated signals to re-compute their values with different goals. This functionality is useful for algorithms that use Hindsight Experience Replay (HER).\n\nThe following example demonstrates how the exposed reward, terminated, and truncated functions\ncan be used to re-compute the values with substituted goals. The info dictionary can be used to store\nadditional information that may be necessary to re-compute the reward, but that is independent of the\ngoal, e.g. state derived from the simulation.\n\n```python\nimport gymnasium as gym\n\nenv = gym.make(\"FetchReach-v3\")\nenv.reset()\nobs, reward, terminated, truncated, info = env.step(env.action_space.sample())\n\n# The following always has to hold:\nassert reward == env.compute_reward(obs[\"achieved_goal\"], obs[\"desired_goal\"], info)\nassert truncated == env.compute_truncated(obs[\"achieved_goal\"], obs[\"desired_goal\"], info)\nassert terminated == env.compute_terminated(obs[\"achieved_goal\"], obs[\"desired_goal\"], info)\n\n# However goals can also be substituted:\nsubstitute_goal = obs[\"achieved_goal\"].copy()\nsubstitute_reward = env.compute_reward(obs[\"achieved_goal\"], substitute_goal, info)\nsubstitute_terminated = env.compute_terminated(obs[\"achieved_goal\"], substitute_goal, info)\nsubstitute_truncated = env.compute_truncated(obs[\"achieved_goal\"], substitute_goal, info)\n```\n\nThe `GoalEnv` class can also be used for custom environments.\n\n## Project Maintainers\nMain Contributors: [Rodrigo Perez-Vicente](https:\u002F\u002Fgithub.com\u002Frodrigodelazcano), [Kallinteris Andreas](https:\u002F\u002Fgithub.com\u002FKallinteris-Andreas), [Jet Tai](https:\u002F\u002Fgithub.com\u002Fjjshoots)\n\nMaintenance for this project is also contributed by the broader Farama team: [farama.org\u002Fteam](https:\u002F\u002Ffarama.org\u002Fteam).\n\n## Citation\n\nIf you use this in your research, please cite:\n```\n@software{gymnasium_robotics2023github,\n  author = {Rodrigo de Lazcano and Kallinteris Andreas and Jun Jet Tai and Seungjae Ryan Lee and Jordan Terry},\n  title = {Gymnasium Robotics},\n  url = {http:\u002F\u002Fgithub.com\u002FFarama-Foundation\u002FGymnasium-Robotics},\n  version = {1.4.0},\n  year = {2024},\n}\n```\n","[![Python](https:\u002F\u002Fimg.shields.io\u002Fpypi\u002Fpyversions\u002Fgymnasium-robotics.svg)](https:\u002F\u002Fbadge.fury.io\u002Fpy\u002Fgymnasium-robotics)\n[![PyPI](https:\u002F\u002Fbadge.fury.io\u002Fpy\u002Fgymnasium-robotics.svg)](https:\u002F\u002Fbadge.fury.io\u002Fpy\u002Fgymnasium-robotics)\n[![pre-commit](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Fpre--commit-enabled-brightgreen?logo=pre-commit&logoColor=white)](https:\u002F\u002Fpre-commit.com\u002F)\n[![代码风格: black](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Fcode%20style-black-000000.svg)](https:\u002F\u002Fgithub.com\u002Fpsf\u002Fblack)\n\n\n\u003Cp align=\"center\">\n  \u003Ca href = \"https:\u002F\u002Frobotics.farama.org\u002F\" target = \"_blank\"> \u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FFarama-Foundation_Gymnasium-Robotics_readme_18ef957b60c3.png\" width=\"500px\"\u002F> \u003C\u002Fa>\n\u003C\u002Fp>\n\n本库包含一系列基于 [Gymnasium](https:\u002F\u002Fgymnasium.farama.org\u002F) API 的强化学习机器人环境。这些环境运行在 [MuJoCo](https:\u002F\u002Fmujoco.org\u002F) 物理引擎上，并使用由官方维护的 [mujoco python 绑定](https:\u002F\u002Fmujoco.readthedocs.io\u002Fen\u002Flatest\u002Fpython.html)。\n\n文档网站位于 [robotics.farama.org](https:\u002F\u002Frobotics.farama.org\u002F)。我们还有一个公开的 Discord 服务器（也用于协调开发工作），你可在此加入：[https:\u002F\u002Fdiscord.gg\u002FYymmHrvS](https:\u002F\u002Fdiscord.gg\u002FYymmHrvS)\n\n## 安装\n\n要安装 Gymnasium-Robotics 环境，请使用 `pip install gymnasium-robotics`。\n\n这些环境还需要安装 DeepMind 提供的 MuJoCo 引擎。物理引擎的安装说明可在 [MuJoCo 官网](https:\u002F\u002Fmujoco.org\u002F) 和 [MuJoCo GitHub 仓库](https:\u002F\u002Fgithub.com\u002Fdeepmind\u002Fmujoco) 中找到。\n\n请注意，最新版本的环境使用的是 MuJoCo 团队维护的最新 mujoco python 绑定。如果你希望使用依赖于 [mujoco-py](https:\u002F\u002Fgithub.com\u002Fopenai\u002Fmujoco-py) 的旧版本环境，请通过 `pip install gymnasium-robotics[mujoco-py]` 来安装该库。\n\n我们支持并测试 Linux 和 macOS 系统。对于 Windows 平台的相关 Pull Request 我们会予以接受，但并不正式支持。\n\n## 环境\n\n`Gymnasium-Robotics` 包含以下几类环境：\n\n* [Fetch](https:\u002F\u002Frobotics.farama.org\u002Fenvs\u002Ffetch\u002F) - 一组配备 7 自由度机械臂的环境，要求完成诸如到达目标位置、推动、滑动或抓取放置等操作任务。\n* [Shadow Dexterous Hand](https:\u002F\u002Frobotics.farama.org\u002Fenvs\u002Fshadow_dexterous_hand\u002F) - 一组使用 24 自由度拟人化机械手的环境，需执行与立方体、鸡蛋状物体或笔相关的操作任务。部分变体还在观测空间中加入了来自 92 个触觉传感器的数据。\n* [MaMuJoCo](https:\u002F\u002Frobotics.farama.org\u002Fenvs\u002FMaMuJoCo\u002F) - 一系列对 [Gymnasium\u002FMuJoCo](https:\u002F\u002Fgymnasium.farama.org\u002Fenvironments\u002Fmujoco\u002F) 环境进行多智能体分解后的版本，同时提供一个用于机器人环境分解的框架，采用 [pettingzoo.ParallelEnv](https:\u002F\u002Fpettingzoo.farama.org\u002Fapi\u002Fparallel\u002F) API。\n\n[D4RL](https:\u002F\u002Fgithub.com\u002FFarama-Foundation\u002FD4RL) 环境现已可用。这些环境经过重构，可能与原始版本的动作和观测空间有所不同，请务必阅读其文档：\n\n* [迷宫环境](https:\u002F\u002Frobotics.farama.org\u002Fenvs\u002Fmaze\u002F) - 智能体需要穿越迷宫以到达指定目标位置。可供选择的智能体有两种：一种是受力控制的 2 自由度小球，另一种则是来自 [Gymnasium MuJoCo 环境](https:\u002F\u002Fgymnasium.farama.org\u002Fenvironments\u002Fmujoco\u002Fant\u002F) 的经典“蚂蚁”智能体。该环境可初始化为多种不同形状的迷宫，难度逐级递增。\n* [Adroit 手臂](https:\u002F\u002Frobotics.farama.org\u002Fenvs\u002Fadroit_hand\u002F) - 一组使用 Shadow Dexterous Hand 机械手的环境，额外增加了手臂运动的自由度。不同的任务包括敲钉子、开门、转笔以及拾起并移动小球。\n* [Franka 厨房](https:\u002F\u002Frobotics.farama.org\u002Fenvs\u002Ffranka_kitchen\u002F) - 多任务环境，其中一台 9 自由度的 Franka 机器人被放置在一个包含多种常见家用物品的厨房内。每个任务的目标都是通过与这些物品互动，达到期望的目标状态。\n\n**开发中**：利用 [Minari](https:\u002F\u002Fgithub.com\u002FFarama-Foundation\u002FMinari) 生成新的 `D4RL` 环境数据集。\n\n## 多目标 API\n\n机器人环境通过继承 [GoalEnv](https:\u002F\u002Frobotics.farama.org\u002Fcontent\u002Fmulti-goal_api\u002F) 类，扩展了核心 Gymnasium API。新 API 要求环境的观测空间必须是一个包含三个键的字典：\n\n* `observation` - 环境的实际观测值\n* `desired_goal` - 智能体需要达成的目标\n* `achieved_goal` - 智能体当前实际达成的目标。环境的设计目标是使这个值尽可能接近 `desired_goal`\n\n此 API 还暴露了奖励函数以及终止和截断信号，以便能够根据不同的目标重新计算其值。这一功能对于使用 hindsight experience replay (HER) 算法非常有用。\n\n以下示例展示了如何利用暴露的奖励、终止和截断函数，通过替换目标来重新计算这些值。info 字典可用于存储重新计算奖励时可能需要的、但与目标无关的信息，例如从模拟中派生的状态。\n\n```python\nimport gymnasium as gym\n\nenv = gym.make(\"FetchReach-v3\")\nenv.reset()\nobs, reward, terminated, truncated, info = env.step(env.action_space.sample())\n\n# 以下条件始终成立：\nassert reward == env.compute_reward(obs[\"achieved_goal\"], obs[\"desired_goal\"], info)\nassert truncated == env.compute_truncated(obs[\"achieved_goal\"], obs[\"desired_goal\"], info)\nassert terminated == env.compute_terminated(obs[\"achieved_goal\"], obs[\"desired_goal\"], info)\n\n# 然而，目标也可以被替换：\nsubstitute_goal = obs[\"achieved_goal\"].copy()\nsubstitute_reward = env.compute_reward(obs[\"achieved_goal\"], substitute_goal，info)\nsubstitute_terminated = env.compute_terminated(obs[\"achieved_goal\"], substitute_goal，info)\nsubstitute_truncated = env.compute_truncated(obs[\"achieved_goal\"], substitute_goal，info)\n```\n\n`GoalEnv` 类也可用于自定义环境。\n\n## 项目维护者\n主要贡献者：[Rodrigo Perez-Vicente](https:\u002F\u002Fgithub.com\u002Frodrigodelazcano)、[Kallinteris Andreas](https:\u002F\u002Fgithub.com\u002FKallinteris-Andreas)、[Jet Tai](https:\u002F\u002Fgithub.com\u002Fjjshoots)\n\n此外，本项目的维护工作也得到了 Farama 团队的广泛支持：[farama.org\u002Fteam](https:\u002F\u002Ffarama.org\u002Fteam)。\n\n## 引用\n\n如果您在研究中使用本项目，请引用以下文献：\n```\n@software{gymnasium_robotics2023github,\n  author = {罗德里戈·德·拉兹卡诺、安德烈亚斯·卡林特里斯、泰俊杰、李承宰瑞恩、乔丹·特里},\n  title = {Gymnasium Robotics},\n  url = {http:\u002F\u002Fgithub.com\u002FFarama-Foundation\u002FGymnasium-Robotics},\n  version = {1.4.0},\n  year = {2024},\n}\n```","# Gymnasium-Robotics 快速上手指南\n\nGymnasium-Robotics 是一个基于 Gymnasium API 的强化学习机器人环境集合，底层使用 MuJoCo 物理引擎。它提供了包括机械臂抓取、灵巧手操作及多智能体协作等多种经典机器人任务环境。\n\n## 环境准备\n\n在开始之前，请确保您的开发环境满足以下要求：\n\n*   **操作系统**：官方支持并测试 **Linux** 和 **macOS**。Windows 社区可提交 PR，但非官方正式支持。\n*   **Python 版本**：兼容主流 Python 3.x 版本（具体见 PyPI 徽章）。\n*   **核心依赖**：必须安装 DeepMind 开发的 **MuJoCo** 物理引擎。\n    *   请访问 [MuJoCo 官网](https:\u002F\u002Fmujoco.org\u002F) 或 [GitHub 仓库](https:\u002F\u002Fgithub.com\u002Fdeepmind\u002Fmujoco) 下载并安装对应系统的 MuJoCo 引擎及许可证文件。\n    *   确保系统环境变量已正确配置，以便 Python 能够调用 MuJoCo。\n\n## 安装步骤\n\n### 1. 安装基础包\n使用 pip 安装最新版本的 Gymnasium-Robotics（默认使用官方维护的最新 `mujoco` Python 绑定）：\n\n```bash\npip install gymnasium-robotics\n```\n\n> **提示**：国内用户若遇到下载缓慢问题，可使用清华或阿里镜像源加速：\n> ```bash\n> pip install gymnasium-robotics -i https:\u002F\u002Fpypi.tuna.tsinghua.edu.cn\u002Fsimple\n> ```\n\n### 2. 可选：使用旧版绑定\n如果您需要运行依赖旧版 `mujoco-py` 的环境，请使用以下命令安装：\n\n```bash\npip install gymnasium-robotics[mujoco-py]\n```\n\n## 基本使用\n\nGymnasium-Robotics 扩展了标准的 Gymnasium API，引入了 `GoalEnv` 类。环境的观测空间（observation space）是一个字典，包含以下三个关键键：\n*   `observation`: 环境的实际观测值。\n*   `desired_goal`: 代理需要达成的目标。\n*   `achieved_goal`: 代理当前已达成的状态（目标是使其接近 `desired_goal`）。\n\n这种设计原生支持 **Hindsight Experience Replay (HER)** 等算法，允许动态重计算奖励和终止信号。\n\n### 代码示例\n\n以下示例展示了如何加载 `FetchReach-v3` 环境并执行一步交互：\n\n```python\nimport gymnasium as gym\n\n# 创建环境\nenv = gym.make(\"FetchReach-v3\")\n\n# 重置环境\nobs, info = env.reset()\n\n# 执行随机动作\naction = env.action_space.sample()\nobs, reward, terminated, truncated, info = env.step(action)\n\n# 验证奖励计算逻辑（标准流程）\nassert reward == env.compute_reward(obs[\"achieved_goal\"], obs[\"desired_goal\"], info)\nassert truncated == env.compute_truncated(obs[\"achieved_goal\"], obs[\"desired_goal\"], info)\nassert terminated == env.compute_terminated(obs[\"achieved_goal\"], obs[\"desired_goal\"], info)\n\n# HER 示例：替换目标并重新计算奖励\nsubstitute_goal = obs[\"achieved_goal\"].copy()\nsubstitute_reward = env.compute_reward(obs[\"achieved_goal\"], substitute_goal, info)\nsubstitute_terminated = env.compute_terminated(obs[\"achieved_goal\"], substitute_goal, info)\nsubstitute_truncated = env.compute_truncated(obs[\"achieved_goal\"], substitute_goal, info)\n\nprint(f\"原始奖励：{reward}, 替换目标后奖励：{substitute_reward}\")\n\nenv.close()\n```\n\n### 可用环境组\n安装成功后，您可以探索以下几类主要环境：\n*   **Fetch**: 7 自由度机械臂任务（到达、推、滑、拾取放置）。\n*   **Shadow Dexterous Hand**: 24 自由度仿生灵巧手任务（操作立方体、鸡蛋、笔等），部分包含触觉传感器数据。\n*   **MaMuJoCo**: 基于 PettingZoo API 的多智能体分解环境。\n*   **D4RL 系列**: 包含迷宫导航 (Maze)、Adroit 机械臂及 Franka 厨房多任务环境。","某高校机器人实验室的研究团队正致力于训练一只机械臂完成复杂的“抓取并放置”任务，以便后续部署到真实的仓储物流场景中。\n\n### 没有 Gymnasium-Robotics 时\n- **环境搭建繁琐**：研究人员需手动配置 MuJoCo 物理引擎、编写复杂的 URDF 模型加载代码及底层通信接口，往往耗费数周才能跑通第一个 Demo。\n- **算法验证困难**：缺乏标准化的基准测试环境，不同论文提出的强化学习算法难以在统一条件下进行公平对比和复现。\n- **仿真与现实脱节**：自行构建的简易仿真场景物理参数调优不足，导致在模拟器中训练完美的策略，迁移到真机时因动力学差异完全失效。\n- **多任务扩展成本高**：每当需要增加如“推物体”或“滑动物体”等新任务时，都得重新开发整套环境逻辑，严重拖慢研究进度。\n\n### 使用 Gymnasium-Robotics 后\n- **开箱即用**：通过 `pip install` 即可直接调用基于 MuJoCo 的高精度 Fetch 机械臂环境，将环境准备时间从数周缩短至几分钟。\n- **标准化评估**：内置了 Reach、Push、Pick and Place 等标准任务套件，团队能迅速在公认基准上验证新算法性能，大幅提升论文说服力。\n- **高保真物理反馈**：依托成熟的 MuJoCo 物理引擎和官方维护的绑定库，仿真中的摩擦力、碰撞检测极度接近真实世界，显著降低了 Sim-to-Real 的迁移难度。\n- **灵活的任务切换**：只需修改几行代码即可在不同难度的操作任务间无缝切换，让研究人员能将精力集中在核心算法优化而非重复造轮子上。\n\nGymnasium-Robotics 通过提供标准化、高保真的机器人仿真基准，让研发团队从繁琐的基础设施建设中解放出来，专注于强化学习算法本身的突破与落地。","https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FFarama-Foundation_Gymnasium-Robotics_18ef957b.png","Farama-Foundation","Farama Foundation","https:\u002F\u002Foss.gittoolsai.com\u002Favatars\u002FFarama-Foundation_61834603.png","The Farama foundation is a nonprofit organization working to develop and maintain open source reinforcement learning tools.",null,"contact@farama.org","FaramaFound","farama.org","https:\u002F\u002Fgithub.com\u002FFarama-Foundation",[86],{"name":87,"color":88,"percentage":89},"Python","#3572A5",100,882,135,"2026-04-06T09:30:29","MIT","Linux, macOS","未说明",{"notes":97,"python":98,"dependencies":99},"该库需要安装 Deepmind 的 MuJoCo 物理引擎。官方支持并测试 Linux 和 macOS 系统，不接受 Windows 的官方支持（但欢迎相关 PR）。最新环境版本使用 MuJoCo 团队维护的最新 python 绑定；若需使用依赖 mujoco-py 的旧版环境，需通过 `pip install gymnasium-robotics[mujoco-py]` 安装。","3.8+",[100,101,102],"gymnasium","mujoco","mujoco-py (可选，用于旧版本环境)",[18],[105,100,101,106,107,108],"d4rl","reinforcement-learning","robotics","simulation","2026-03-27T02:49:30.150509","2026-04-07T09:55:33.029535",[112,117,122,126,131,135],{"id":113,"question_zh":114,"answer_zh":115,"source_url":116},21447,"为什么在渲染 Fetch 环境（human 模式）关闭时会出现 'NoneType' object is not callable 错误？","这是一个已知的 glfw 或 Mujoco 渲染清理问题。虽然程序能正常渲染场景，但在关闭窗口时会抛出异常。目前社区用户发现了一些临时性的变通修复方法（hacky fix），建议检查相关 Issue 讨论以获取具体的代码补丁或等待官方修复。","https:\u002F\u002Fgithub.com\u002FFarama-Foundation\u002FGymnasium-Robotics\u002Fissues\u002F139",{"id":118,"question_zh":119,"answer_zh":120,"source_url":121},21448,"升级到 Fetch V3 环境后，之前用 V2 训练的 RL 代理为什么表现不佳？","这是因为最近为了修复可复现性问题，Fetch 环境的初始位置发生了变化，导致 V3 的初始状态与 V2 文档描述不一致。解决方法是在 `_reset_sim(self)` 函数中，调用 `self._mujoco.mj_resetData(self.model, self.data)` 之后，重新添加以下代码以恢复 V2 的初始状态：\nself.data.time = self.initial_time\nself.data.qpos[:] = np.copy(self.initial_qpos)\nself.data.qvel[:] = np.copy(self.initial_qvel)\nif self.model.na != 0:\n    self.data.act[:] = None","https:\u002F\u002Fgithub.com\u002FFarama-Foundation\u002FGymnasium-Robotics\u002Fissues\u002F251",{"id":123,"question_zh":124,"answer_zh":125,"source_url":121},21449,"Mujoco 版本（如 >=3.0.0 与 2.3.7）不同是否会影响 Fetch 环境的初始状态？","是的，即使使用相同版本的 gymnasium-robotics（如 1.2.4），不同的 Mujoco 版本（例如 mujoco>=3.0.0 对比 mujoco==2.3.7）也会导致初始状态（initial state）不同。用户在复现结果时需要注意保持 Mujoco 版本一致，或者针对特定版本调整初始化逻辑。",{"id":127,"question_zh":128,"answer_zh":129,"source_url":130},21450,"FetchPickAndPlace-v2 环境在使用相同 seed 重置后，为什么第一步的观察值不一致（不可复现）？","这是一个已知的 Bug，导致多次使用相同 seed 调用 reset 后，执行相同动作得到的观察值会偏离。维护者已经推送了修复补丁（PR #208），该修复同时适用于 `mujoco` 和 `mujoco_py` 后端。建议更新到包含此修复的最新版本以解决可复现性问题。","https:\u002F\u002Fgithub.com\u002FFarama-Foundation\u002FGymnasium-Robotics\u002Fissues\u002F207",{"id":132,"question_zh":133,"answer_zh":134,"source_url":121},21451,"Fetch 环境中出现机器人初始位置不正确或物体位于桌子下方的问题是怎么回事？","这与 Fetch V3 初始状态变更及 Mujoco 版本差异有关。用户报告所有 Fetch 环境似乎都存在机器人初始位置错误以及立方体位于桌面下方的问题。这通常需要通过手动修正初始化代码（参考 Issue #251 中的解决方案）或等待官方针对特定 Mujoco 版本的适配更新来解决。",{"id":136,"question_zh":137,"answer_zh":138,"source_url":139},21452,"Gymnasium-Robotics 中 Mujoco v5 版本的提案主要包含哪些内容？","Mujoco v5 的主要提案包括：1. 修复多个域（如 Humanoid, Ant, Reacher, InvertedPendulum 等）中观察空间存在常数 0 的问题；2. 从 `mamujoco` 项目中注册新的多智能体环境（如耦合半猎豹 coupled half cheetah）。维护者建议通过博客文章而非单纯的 PR 来发布这些重大变更，以便用户引用和查看完整结果。","https:\u002F\u002Fgithub.com\u002FFarama-Foundation\u002FGymnasium-Robotics\u002Fissues\u002F91",[141,146,151,156,161,166,171,176,181,186,191,196,201,206,211],{"id":142,"version":143,"summary_zh":144,"released_at":145},127437,"v1.4.2","MuJoCo 3 的热修复\n\n## 变更内容\n* 移除 apirate，由 @younik 在 https:\u002F\u002Fgithub.com\u002FFarama-Foundation\u002FGymnasium-Robotics\u002Fpull\u002F294 中完成\n* 版本号升级，由 @younik 在 https:\u002F\u002Fgithub.com\u002FFarama-Foundation\u002FGymnasium-Robotics\u002Fpull\u002F295 中完成\n\n## 新贡献者\n* @younik 在 https:\u002F\u002Fgithub.com\u002FFarama-Foundation\u002FGymnasium-Robotics\u002Fpull\u002F294 中完成了首次贡献\n\n**完整变更日志**: https:\u002F\u002Fgithub.com\u002FFarama-Foundation\u002FGymnasium-Robotics\u002Fcompare\u002Fv1.4.1...v1.4.2","2026-01-02T21:49:36",{"id":147,"version":148,"summary_zh":149,"released_at":150},127438,"v1.4.1","* 修复了在 1.4.0 版本中新增的 MuJoCo v2 和 v3 环境引发的环境覆盖警告。\n\n* 修复了网站构建流程。\n\n**完整变更日志**：https:\u002F\u002Fgithub.com\u002FFarama-Foundation\u002FGymnasium-Robotics\u002Fcompare\u002Fv1.4.0...v1.4.1","2025-07-24T19:50:03",{"id":152,"version":153,"summary_zh":154,"released_at":155},127439,"v1.4.0","## 发布说明\n\n### 亮点\n\n本次发布主要集中在更新依赖项、优化 Python 版本支持，以及将旧版 `MuJoCo` 环境迁移到新包中。\n\n### 变更内容\n\n  * **依赖更新：** 现在要求 `gymnasium` 的版本为 `1.2` 或更高。\n  * **Python 支持：**\n      * 新增对 Python 3.13 的支持。\n      * 移除了对 Python 3.8 和 3.9 的支持。\n  * **MuJoCo 环境 v2 & v3 迁移：** 基于旧版 `mujoco_py` 库的 `Gymnasium\u002FMuJoCo` 环境（v2 和 v3）已被迁移至 `Gymnasium-Robotics` 包。此迁移已在拉取请求 https:\u002F\u002Fgithub.com\u002FFarama-Foundation\u002FGymnasium-Robotics\u002Fpull\u002F271 中完成，由 @Kallinteris-Andreas 和 @pseudo-rnd-thoughts 负责。\n\n### 针对使用旧版 `mujoco-py` 环境的用户：\n\n为确保兼容性，旧版环境现依赖于 `mujoco-py-cython3` 包。您可以通过以下命令安装所需的额外依赖：\n\n```bash\npip install gymnasium-robotics[mujoco_py]\n```\n\n如果您需要在工作中使用较旧的 `mujoco-py` 版本，现在可以使用 `mujoco-py-original` 额外依赖：\n\n```bash\npip install gymnasium-robotics[mujoco_py_original]\n```","2025-06-28T13:27:27",{"id":157,"version":158,"summary_zh":159,"released_at":160},127440,"1.3.2","## 发行说明：\n新增了 `Fetch*-v4` 和 `HandReach-v3` 环境，修复了上一版本中发现的状态初始化 bug。\n\n此外，还修复了若干 bug。\n\n## 变更内容\n\n### Bug 修复：\n- 修复 `kettle_asset.xml` 中的 bug，以确保与最新版本的 MuJoCo 兼容 https:\u002F\u002Fgithub.com\u002FFarama-Foundation\u002FGymnasium-Robotics\u002Fpull\u002F255 @Josh00-Lu（由 @Kallinteris-Andreas 验证）\n- 修复 Fetch 和机器人环境在 1.3.0 版本中的初始状态问题 https:\u002F\u002Fgithub.com\u002FFarama-Foundation\u002FGymnasium-Robotics\u002Fpull\u002F256 @wjxgeorge\n- 将 `oven_asset.xml` 中的 rgba 值修正为 [0,1] 范围内 https:\u002F\u002Fgithub.com\u002FFarama-Foundation\u002FGymnasium-Robotics\u002Fpull\u002F262 @RussTedrake\n\n### 文档更新：\n- 自动设置文档页面中的版权年份 https:\u002F\u002Fgithub.com\u002FFarama-Foundation\u002FGymnasium-Robotics\u002Fpull\u002F249 @Kallinteris-Andreas\n- 修正 MaMuJoCo 更改日志中的错别字 https:\u002F\u002Fgithub.com\u002FFarama-Foundation\u002FGymnasium-Robotics\u002Fpull\u002F250 @Kallinteris-Andreas\n- 修正 `PointMaze` 密集奖励环境的奖励描述 https:\u002F\u002Fgithub.com\u002FFarama-Foundation\u002FGymnasium-Robotics\u002Fpull\u002F253 @HridayM25\n- 修复文档目录菜单 https:\u002F\u002Fgithub.com\u002FFarama-Foundation\u002FGymnasium-Robotics\u002Fpull\u002F254 @Kallinteris-Andreas @younik\n- 使 `README.md` 中的 logo 图片链接到文档页面 https:\u002F\u002Fgithub.com\u002FFarama-Foundation\u002FGymnasium-Robotics\u002Fpull\u002F261 @Tanmay692004\n\n**完整更改日志**：https:\u002F\u002Fgithub.com\u002FFarama-Foundation\u002FGymnasium-Robotics\u002Fcompare\u002Fv1.3.1...v1.3.2","2025-05-18T05:47:05",{"id":162,"version":163,"summary_zh":164,"released_at":165},127441,"v1.3.1","## 发布说明：\n修复了一些 bug，并解决了内部测试中的问题。\n\n### Bug 修复：\n- 通过设置帧的高度和宽度来修复渲染 bug https:\u002F\u002Fgithub.com\u002FFarama-Foundation\u002FGymnasium-Robotics\u002Fpull\u002F236 @violasox\n- 重新启用被禁用的 `test_envs.py`（仅限 mujoco）https:\u002F\u002Fgithub.com\u002FFarama-Foundation\u002FGymnasium-Robotics\u002Fpull\u002F243 @Kallinteris-Andreas\n- 重新启用环境特定的测试 https:\u002F\u002Fgithub.com\u002FFarama-Foundation\u002FGymnasium-Robotics\u002Fpull\u002F247 @Kallinteris-Andreas\n- 修复 MazeAnt-v5 环境中入口点错误的问题 https:\u002F\u002Fgithub.com\u002FFarama-Foundation\u002FGymnasium-Robotics\u002Fpull\u002F240 @Kallinteris-Andreas\n\n### 小幅改动：\n- 更新 pre-commit 配置 https:\u002F\u002Fgithub.com\u002FFarama-Foundation\u002FGymnasium-Robotics\u002Fpull\u002F246 @Kallinteris-Andreas\n- 在 CI 中使用 `pipx` 运行 `pre-commit` https:\u002F\u002Fgithub.com\u002FFarama-Foundation\u002FGymnasium-Robotics\u002Fpull\u002F241 @Kallinteris-Andreas\n\n### 文档更新：\n- 更新 MaMuJoCo 文档中的“四足|手臂”部分，由 @Kallinteris-Andreas 完成，详见 https:\u002F\u002Fgithub.com\u002FFarama-Foundation\u002FGymnasium-Robotics\u002Fpull\u002F244\n\n## 新贡献者\n* @violasox 在 https:\u002F\u002Fgithub.com\u002FFarama-Foundation\u002FGymnasium-Robotics\u002Fpull\u002F236 中完成了首次贡献。\n\n**完整变更日志**：https:\u002F\u002Fgithub.com\u002FFarama-Foundation\u002FGymnasium-Robotics\u002Fcompare\u002Fv1.3.0...v1.3.1","2024-10-14T01:25:19",{"id":167,"version":168,"summary_zh":169,"released_at":170},127442,"v1.3.0","# 发行说明：\n1.3 是一个重大版本，新增了环境的新版本，并支持 `gymnasium==1.0.0`。\n\n\n\n# 新增环境：\n- 添加了 `MaMuJoCo-v1` 环境 @Kallinteris-Andreas（https:\u002F\u002Fgithub.com\u002FFarama-Foundation\u002FGymnasium-Robotics\u002Fpull\u002F196）\n- 添加了 Fetch-v3 和 HandReach-v2 环境，修复了可重复性问题 @amacati（https:\u002F\u002Fgithub.com\u002FFarama-Foundation\u002FGymnasium-Robotics\u002Fpull\u002F208\u002F）\n- 添加了 `AntMaze_*-v5` 环境，支持在 Maze 中加载第三方机器人模型 @Kallinteris-Andreas（https:\u002F\u002Fgithub.com\u002FFarama-Foundation\u002FGymnasium-Robotics\u002Fpull\u002F217）\n\u003C!-- ## 变更内容 -->\n\n## MaMuJoCo-V1\n- 现在基于 `Gymnasium\u002FMuJoCo-v5` 而不是 `Gymnasium\u002FMuJoCo-v4`（https:\u002F\u002Fgithub.com\u002FFarama-Foundation\u002FGymnasium\u002Fpull\u002F572）。\n- 当 `factorizatoion=None` 时，`env.gent_action_partitions.dummy_node` 现在包含 `action_id`（之前为 `None`）。\n- 添加了 `map_local_observations_to_global_state`，并优化了 `map_global_state_to_local_observations` 的运行性能。\n- 添加了 `gym_env` 参数，可用于加载第三方的 `Gymansium.MujocoEnv` 环境。\n\n\n### Ant\n- 现默认观测 `cfrc_ext` 的 `local_categories`（与 `Gymnasium\u002FMuJoCo-v5\u002FAnt` 相同）。\n- 将全局节点 `torso` 重命名为 `root`。\n\n### Humanoid(-Standup)\n- 不再观测 `root` 的 `qfrc_actuator` 以及 `worldbody` 的 `cinert`、`cvel`、`qfrc_actuator` 和 `cfrc_ext`（与 `Gymnasium\u002FMuJoCo-v5\u002FHumanoid(-Standup)` 相同）。\n\n### Walker2d\n- 修复了一个错误：全局节点现在是 `[root_x, root_z, root_y]`（之前是 `[root_x, root_x, root_z]`）。\n\n### ManySegmentAnt\n- `frame_skip` 默认设置为 `5`（与 `Gymnasium\u002FAnt` 相同）。\n- `option.timestep` 设置为 `0.01`（与 `Gymnasium\u002FAnt` 相同）。\n- 现在使用与 `Gymnasium\u002FAnt` 相同的奖励函数。\n- 现默认观测 `cfrc_ext`，（与 Gymnasium\u002FMuJoCo-v5 相同）。\n\n### ManySegmentSwimmer\n- 现在使用与 `Gymansum\u002FSwimmer` 相同的 `option.timestep`（0.01）。\n- 更新了模型，使其兼容 `mujoco>=3.0.0`。\n\n### 破坏性变更：\n- 现在支持并要求 `gymnasium>=1.0` @Kallinteris-Andreas（https:\u002F\u002Fgithub.com\u002FFarama-Foundation\u002FGymnasium-Robotics\u002Fpull\u002F211）\n\n\n### 错误修复：\n\n### 依赖更新：\n- 增加了对 `python==3.12` 的支持 @Kallinteris-Andreas（https:\u002F\u002Fgithub.com\u002FFarama-Foundation\u002FGymnasium-Robotics\u002Fpull\u002F231）\n\n### 小幅改动：\n- [adroit 环境] 小幅清理：`goal_achieved` 的赋值 @Kallinteris-Andreas（https:\u002F\u002Fgithub.com\u002FFarama-Foundation\u002FGymnasium-Robotics\u002Fpull\u002F205）\n- 在 `mujoco_utils` 中为 `mj_id2name` 调用添加断言 @DavidPL1 https:\u002F\u002Fgithub.com\u002FFarama-Foundation\u002FGymnasium-Robotics\u002Fpull\u002F218\n\n### 文档更新：\n- 修正了一个小错别字 https:\u002F\u002Fgithub.com\u002FFarama-Foundation\u002FGymnasium-Robotics\u002Fpull\u002F221 @timofriedl\n- 多项文档更新和修复由 @Kallinteris-Andreas 完成\n\n## 新贡献者\n* @amacati 在 https:\u002F\u002Fgithub.com\u002FFarama-Foundation\u002FGymnasium-Robotics\u002Fpull\u002F208 中做出了首次贡献\n* @DavidPL1 做出了","2024-10-08T12:50:25",{"id":172,"version":173,"summary_zh":174,"released_at":175},127443,"v1.2.4","## 发布说明：\n这是一个次要版本，包含一个错误修复，并注册了一个已存在的环境。这是 @Kallinteris-Andreas 担任项目经理以来的首个版本。\n\n## 变更内容\n\u003C!--\n### 重大变更：\n-->\n\n### 新特性：\n* 由 @dtch1997 在 https:\u002F\u002Fgithub.com\u002FFarama-Foundation\u002FGymnasium-Robotics\u002Fpull\u002F195 中注册了 `PointMaze_Open_Diverse_GR` 环境\n\n### 错误修复：\n* 由 @Kallinteris-Andreas 在 https:\u002F\u002Fgithub.com\u002FFarama-Foundation\u002FGymnasium-Robotics\u002Fpull\u002F185 中实现了迷宫环境临时 `xml` 文件名的随机化\n\n### 依赖更新：\n* 由 @Kallinteris-Andreas 在 https:\u002F\u002Fgithub.com\u002FFarama-Foundation\u002FGymnasium-Robotics\u002Fpull\u002F187 中将 `mujoco` 的版本限制为 `\u003C3.0`\n\n### 其他小改动：\n* 由 @Kallinteris-Andreas 在 https:\u002F\u002Fgithub.com\u002FFarama-Foundation\u002FGymnasium-Robotics\u002Fpull\u002F191 中将 `pyright` 更新至 `1.1.339`\n* 由 @Kallinteris-Andreas 在 https:\u002F\u002Fgithub.com\u002FFarama-Foundation\u002FGymnasium-Robotics\u002Fpull\u002F191 中将 `pyproject.toml` 中的 Python 版本更新为 3.8\n\n### 文档更新：\n* 更新观测空间的文档字符串：在 `fetch`、`pick_and_place`、`push` 和 `slide` 环境中，`obs[6:8]` 实际上表示机械臂末端与夹爪之间的相对位置，由 @SethPate 在 https:\u002F\u002Fgithub.com\u002FFarama-Foundation\u002FGymnasium-Robotics\u002Fpull\u002F197 中完成\n* 由 @Kallinteris-Andreas 在 https:\u002F\u002Fgithub.com\u002FFarama-Foundation\u002FGymnasium-Robotics\u002Fpull\u002F199 中从 `installation.md` 文档中移除了对 Python 3.7 的支持\n\n**完整变更日志**: https:\u002F\u002Fgithub.com\u002FFarama-Foundation\u002FGymnasium-Robotics\u002Fcompare\u002Fv1.2.3...v1.2.4","2023-12-24T09:57:47",{"id":177,"version":178,"summary_zh":179,"released_at":180},127444,"v1.2.3","# Gymnasium-Robotics v1.2.3 发行说明：\n\n## 重大变更：\n- 停止对已结束生命周期的 Python 3.7 的支持。（#159）\n- 为 `AntMaze` 环境引入新的 `v4` 版本，修复了问题 #155。（#156）\n\n## 错误修复：\n- 允许在迷宫环境中（`PointMaze`\u002F`AntMaze`）从批处理观测值中计算奖励。（#153、#158）\n- 将 `AntMaze` 环境升级至 `v4` 版本，修复了问题 #155。源代码中新增了以下文件：`ant_maze_v4.py` 和 `maze_v4.py`。（#156）修复内容包括：\n    - 当环境以 `continuing_task=True` 初始化时，奖励现在会在重置目标位置之前计算。此前，无论蚂蚁在整个 episode 中是否到达目标，奖励始终为零。\n    - 修复蚂蚁智能体被重置到终止状态的问题。在 `MazeEnv.generate_reset_pos()` 中的距离检查缺少 `maze_size_scaling` 因子。\n    - 在返回的 `info` 字典中添加 `success` 项：`info[\"success\"]`。\n- 修复重置迷宫环境时的 `goal_cell` 和 `reset_cell` 断言。（#164、#179）\n- 修复 `FrankaKitchen` 环境中的问题 #166。`info[\"tasks_to_complete\"]` 未给出正确值。（#169）\n\n## 新特性\n- 为初始化迷宫环境新增 `reset_target` 布尔参数。若 `reset_target=True` 且 `continuing_task=True`，当智能体在同一 episode 中到达目标时，目标将自动放置在新位置。若 `reset_target=False` 且 `continuing_task=True`，目标位置在智能体到达后不会更新，只要智能体停留在目标阈值范围内，奖励就会持续累积。（#167、#170）\n- 对于迷宫环境，如果迷宫地图结构中未指定目标和重置单元格的位置，则会自动从空单元格中随机选择。（#170）\n\n## 依赖更新\n- 取消对 numpy 版本的限制，改为 `numpy>=1.21.0`。（#154）\n- 取消对 mujoco 版本的限制，改为 `mujoco>=2.3.3`。（#171）\n- 由于以下问题 https:\u002F\u002Fgithub.com\u002FFarama-Foundation\u002FGymnasium\u002Fpull\u002F616，将 cython 版本限制为 `cython\u003C3`。（#162）\n\n## 文档更新\n- 将主 logo 的 svg 格式替换为 png 格式。（#160）\n- 将 sphinx 更新至最新版本。（#157）\n- 添加发行说明变更日志。（#174）\n- 移除文档中包含环境的版本标注，并更新迷宫环境的 GIF 动画。（#172、#177）\n- 修复 Shadow Dexterous Hand - Reach 环境的表格格式。（#178）\n\n**完整变更日志**：https:\u002F\u002Fgithub.com\u002FFarama-Foundation\u002FGymnasium-Robotics\u002Fcompare\u002Fv1.2.2...v1.2.3","2023-09-18T15:10:59",{"id":182,"version":183,"summary_zh":184,"released_at":185},127445,"v1.2.2","## 发布说明\n\n此小版本更新了 MaMuJoCo，使其与最新的 PettingZoo 版本 `1.23.0` 保持一致，并修复了 GitHub PyPI 发布流程中的一些 minor bug。\n\n### 新特性\n\n* 将 MaMujoco 更新至 PettingZoo `1.23.0`，由 @Kallinteris-Andreas 在 https:\u002F\u002Fgithub.com\u002FFarama-Foundation\u002FGymnasium-Robotics\u002Fpull\u002F150 中完成。\n### Bug 修复\n* 在 `pyproject.toml` 的 `setuptools.package-data` 参数中包含 Franka 网格文件，由 @rodrigodelazcano 完成 9db9196a0d1a927fa61443d7c6b906a10804b1ec。\n### 文档更新\n* 更新 `MaMuJoCo` 文档，移除从源码安装的说明，由 @Kallinteris-Andreas 在 https:\u002F\u002Fgithub.com\u002FFarama-Foundation\u002FGymnasium-Robotics\u002Fpull\u002F151 中完成。\n\n\n**完整变更日志**: https:\u002F\u002Fgithub.com\u002FFarama-Foundation\u002FGymnasium-Robotics\u002Fcompare\u002Fv1.2.1...v1.2.2","2023-05-17T13:48:44",{"id":187,"version":188,"summary_zh":189,"released_at":190},127446,"v1.2.1","## Gymnasium-Robotics 1.2.1 版本说明：\n\n此小版本新增了来自 [MaMuJoCo](https:\u002F\u002Fgithub.com\u002Fschroederdewitt\u002Fmultiagent_mujoco) 项目的多智能体环境。这些环境已更新至遵循 [PettingZoo](https:\u002F\u002Fpettingzoo.farama.org) API，并使用最新的 mujoco 绑定。此外，为首个 [`FrankaKitchen-v1`](https:\u002F\u002Frobotics.farama.org\u002Fenvs\u002Ffranka_kitchen\u002F) 环境所做的更改已被回滚，以使该环境更接近其在 [relay-policy-learning](https:\u002F\u002Fgithub.com\u002Fgoogle-research\u002Frelay-policy-learning) 和 [D4RL](https:\u002F\u002Fgithub.com\u002FFarama-Foundation\u002FD4RL) 中的原始版本。这将解决当前存在的动作空间混淆问题（https:\u002F\u002Fgithub.com\u002FFarama-Foundation\u002FGymnasium-Robotics\u002Fissues\u002F135），并有助于在 [Minari](https:\u002F\u002Fgithub.com\u002FFarama-Foundation\u002FMinari) 中重新创建数据集。\n\n我们还将 mujoco 版本固定为 `v2.3.3`，直至解决以下问题（https:\u002F\u002Fgithub.com\u002Fdeepmind\u002Fmujoco\u002Fissues\u002F833）。\n\n### 破坏性变更\n* 将 `FrankaKitchen-v1` 环境恢复为原始版本。由 @rodrigodelazcano 在 https:\u002F\u002Fgithub.com\u002FFarama-Foundation\u002FGymnasium-Robotics\u002Fpull\u002F145 中完成。这些更改包括：\n    - **机器人模型**：使用原始环境中的 [Franka 机器人模型](https:\u002F\u002Fgithub.com\u002Fvikashplus\u002Ffranka_sim)，而非 [mujoco_menagerie](https:\u002F\u002Fgithub.com\u002Fdeepmind\u002Fmujoco_menagerie) 提供的模型。\n    - **动作空间**：移除逆运动学控制选项，保留单一的动作空间——即原始的关节速度控制。\n    - **目标任务**：移除了原始环境中不存在的一些任务（top_right_burner 和 bottom_right_burner）。同时，任务名称现已与原始命名一致。\n\n### 新特性\n* 增加 MaMuJoCo（多智能体 mujoco）环境，由 @Kallinteris-Andreas 在 https:\u002F\u002Fgithub.com\u002FFarama-Foundation\u002FGymnasium-Robotics\u002Fpull\u002F53 中实现。相关文档也已在 https:\u002F\u002Frobotics.farama.org\u002Fenvs\u002FMaMuJoCo\u002F 上发布。**注意**：我们目前正处于对该环境的验证过程中（https:\u002F\u002Fgithub.com\u002FFarama-Foundation\u002FGymnasium-Robotics\u002Fissues\u002F141）。\n* 默认情况下，初始化 `PointMaze` 和 `AntMaze` 环境时，目标位置和重置位置均为随机值。由 @rodrigodelazcano 在 https:\u002F\u002Fgithub.com\u002FFarama-Foundation\u002FGymnasium-Robotics\u002Fpull\u002F110 和 https:\u002F\u002Fgithub.com\u002FFarama-Foundation\u002FGymnasium-Robotics\u002Fpull\u002F114 中完成。\n* 在所有 `Maze` 环境的返回信息字典中添加 `success` 键。由 @rodrigodelazcano 在 https:\u002F\u002Fgithub.com\u002FFarama-Foundation\u002FGymnasium-Robotics\u002Fpull\u002F110 中完成。\n* 恢复 Adroit 手部环境中的 `set_env_state(state_dict={})` 方法，该方法源自 https:\u002F\u002Fgithub.com\u002Fvikashplus\u002Fmj_envs。在调用 `env.reset(options={'initial_state_dict': Dict})` 时，也可以通过传递 `initial_state_dict` 字典参数来设置模拟的初始状态。由 @rodrigodelazcano 在 https:\u002F\u002Fgithub.com\u002FFarama-Foundation\u002FGymnasium-Robotics\u002Fpull\u002F119 中完成，@rodrigodel","2023-05-16T16:45:57",{"id":192,"version":193,"summary_zh":194,"released_at":195},127447,"v1.2.0","# Finally here! :partying_face: :robot:\r\n\r\nRefactored versions of the [D4RL](https:\u002F\u002Fgithub.com\u002FFarama-Foundation\u002FD4RL) MuJoCo environments are now available in Gymnasium-Robotics (`PointMaze`, `AntMaze`, `AdroitHand`, and `FrankaKitchen`). The configuration of these environments is not identically to the originals, please read the new details in the documentation webpage at https:\u002F\u002Frobotics.farama.org\u002F \r\n\r\nMoving forward, we are recreating the offline datasets with [Minari](https:\u002F\u002Fminari.farama.org\u002F) and evaluating the environments. If you have any questions or would like to contribute please don't hesitate to reach out to us through the following discord channel. https:\u002F\u002Fdiscord.com\u002Fchannels\u002F961771112864313344\u002F1017088934238498837\r\n\r\n## What's Changed\r\n* Add three different refactored environment types from MuJoCo [D4RL](https:\u002F\u002Fgithub.com\u002FFarama-Foundation\u002FD4RL) and update to the Gymnasium API standards version `0.27.0`. [Point Maze](https:\u002F\u002Frobotics.farama.org\u002Fenvs\u002Fmaze\u002Fpoint_maze\u002F), [Ant Maze](https:\u002F\u002Frobotics.farama.org\u002Fenvs\u002Fmaze\u002Fant_maze\u002F), [Adroit Hand](https:\u002F\u002Frobotics.farama.org\u002Fenvs\u002Fadroit_hand\u002F), and [FrankaKitchen](https:\u002F\u002Frobotics.farama.org\u002Fenvs\u002Ffranka_kitchen\u002F) @rodrigodelazcano \r\n* Add `sparse` reward option to the Adroit Hand environments @jjshoots in #69 \r\n* Standardize file tree structure to facilitate automatic documentation generation. The environment file structure should look as follows: `gymnasium_robotics.envs.env_type.env_name:EnvClass`. @rodrigodelazcano in #83 \r\n* Update to new Gymnasium `MujocoRenderer` class https:\u002F\u002Fgithub.com\u002FFarama-Foundation\u002FGymnasium\u002Fpull\u002F112 for rendering @rodrigodelazcano\r\n* Add `pydocstyle` to pre-commit @rodrigodelazcano \r\n\r\n## Other contributions\r\n* Miscellaneous documentation webpage fixes @mgoulao, @SiddarGu, @jjshoots \r\n* Pin numpy to `numpy\u003C1.24.0` due to [#221](https:\u002F\u002Fgithub.com\u002FFarama-Foundation\u002FGymnasium\u002Fpull\u002F221) @rodrigodelazcano \r\n* Move dependency installs and setuptools to `pyproject.toml`. Remove `requirements.txt` and `test_requirements.txt` @jjshoots \r\n* Add google analytics to webpage @mgoulao \r\n* Switch flake8 from gitlab to github @RedTachyon in https:\u002F\u002Fgithub.com\u002FFarama-Foundation\u002FGymnasium-Robotics\u002Fpull\u002F52\r\n* Code\u002FDocumentation typo fixes @araffin , @Kallinteris-Andreas \r\n\r\n## New Contributors\r\n* @mgoulao made their first contribution in https:\u002F\u002Fgithub.com\u002FFarama-Foundation\u002FGymnasium-Robotics\u002Fpull\u002F35\r\n* @araffin made their first contribution in https:\u002F\u002Fgithub.com\u002FFarama-Foundation\u002FGymnasium-Robotics\u002Fpull\u002F39\r\n* @RedTachyon made their first contribution in https:\u002F\u002Fgithub.com\u002FFarama-Foundation\u002FGymnasium-Robotics\u002Fpull\u002F52\r\n* @Kallinteris-Andreas made their first contribution in https:\u002F\u002Fgithub.com\u002FFarama-Foundation\u002FGymnasium-Robotics\u002Fpull\u002F54","2023-01-09T18:39:08",{"id":197,"version":198,"summary_zh":199,"released_at":200},127448,"v1.0.1","## What's Changed\r\n\r\nThe PyPi package name for this repository will be changed in future releases and integration with [Gymnasium](https:\u002F\u002Fgithub.com\u002FFarama-Foundation\u002FGymnasium). The new name will be `gymnasium_robotics` and installation will be done with `pip install gymnasium_robotics` instead of `pip install gym_robotics`.\r\n\r\nThe code for `gym_robotics` will be kept in the repository branch `gym-robotics-legacy` \r\n\r\n## Bug Fix\r\n* Remove the warning of duplicated registration of the environment MujocoHandBlockEnv @leonasting ","2022-10-03T06:56:20",{"id":202,"version":203,"summary_zh":204,"released_at":205},127449,"v1.0.0","This new release comes with the following changes:\r\n\r\n- Compatibility with gym v0.26. Previous gym versions won't be compatible with this release. @rodrigodelazcano\r\n- Added new environment versions that depend on the new [mujoco](https:\u002F\u002Fmujoco.readthedocs.io\u002Fen\u002Flatest\u002Fpython.html) python bindings. @rodrigodelazcano\r\n- Old environment versions that depend on `mujoco_py` are still kept but will be unmaintained moving forward. @rodrigodelazcano\r\n- New utility methods for `GoalEnv` class as suggested in #16 . `compute_terminated` and `compute_truncated` @rodrigodelazcano\r\n\r\nThe new versions of the environments that depend on `mujoco` bindings were validated with respect to the old versions of `mujoco_py`. The benchmark was performed using TQC + HER (sb3 implementation) with the same hyperparameters for both environment versions. The results can be seen here: https:\u002F\u002Fwandb.ai\u002Frodrigodelazcano\u002Fgym_robotics\u002Freports\u002FBenchmark-Gym-Robotics-SB3--VmlldzoyMjc3Mzkw\r\n","2022-09-15T15:40:54",{"id":207,"version":208,"summary_zh":209,"released_at":210},127450,"v0.1.0","## What's Changed\r\n* Change workflow name by @vwxyzjn in https:\u002F\u002Fgithub.com\u002FFarama-Foundation\u002Fgym-robotics\u002Fpull\u002F4\r\n* Adopt `gym>=0.22` reset signature by @vwxyzjn in https:\u002F\u002Fgithub.com\u002FFarama-Foundation\u002Fgym-robotics\u002Fpull\u002F8\r\n* Use `gym>=0.22` as the core dependency by @vwxyzjn in https:\u002F\u002Fgithub.com\u002FFarama-Foundation\u002Fgym-robotics\u002Fpull\u002F9\r\n\r\n## Installation Demo\r\n\r\n```python\r\npip install gym-robotics\r\npip install mujoco_py\r\nwget https:\u002F\u002Fmujoco.org\u002Fdownload\u002Fmujoco210-linux-x86_64.tar.gz\r\nmkdir -p ~\u002F.mujoco\r\ntar -xzf mujoco210-linux-x86_64.tar.gz -C ~\u002F.mujoco\r\nexport LD_LIBRARY_PATH=$LD_LIBRARY_PATH:~\u002F.mujoco\u002Fmujoco210\u002Fbin\r\nexport LD_LIBRARY_PATH=$LD_LIBRARY_PATH:\u002Fusr\u002Flib\u002Fnvidia\r\n```\r\n[![asciicast](https:\u002F\u002Fasciinema.org\u002Fa\u002F471679.svg)](https:\u002F\u002Fasciinema.org\u002Fa\u002F471679)\r\n\r\n\r\n**Full Changelog**: https:\u002F\u002Fgithub.com\u002FFarama-Foundation\u002Fgym-robotics\u002Fcompare\u002Fv0.0.2...v0.1.0","2022-02-25T15:06:13",{"id":212,"version":213,"summary_zh":214,"released_at":215},127451,"v0.0.2","## What's Changed\r\n* Migrate robotics environments from OpenAI Gym by @seungjaeryanlee in https:\u002F\u002Fgithub.com\u002FFarama-Foundation\u002Fgym-robotics\u002Fpull\u002F1\r\n* Use Gym plugin system by @JesseFarebro in https:\u002F\u002Fgithub.com\u002FFarama-Foundation\u002Fgym-robotics\u002Fpull\u002F2\r\n* Setup github actions to publish on PyPi by @vwxyzjn in https:\u002F\u002Fgithub.com\u002FFarama-Foundation\u002Fgym-robotics\u002Fpull\u002F3\r\n\r\n## New Contributors\r\n* @seungjaeryanlee made their first contribution in https:\u002F\u002Fgithub.com\u002FFarama-Foundation\u002Fgym-robotics\u002Fpull\u002F1\r\n* @JesseFarebro made their first contribution in https:\u002F\u002Fgithub.com\u002FFarama-Foundation\u002Fgym-robotics\u002Fpull\u002F2\r\n* @vwxyzjn made their first contribution in https:\u002F\u002Fgithub.com\u002FFarama-Foundation\u002Fgym-robotics\u002Fpull\u002F3\r\n\r\n**Full Changelog**: https:\u002F\u002Fgithub.com\u002FFarama-Foundation\u002Fgym-robotics\u002Fcommits\u002Fv0.0.2","2022-01-07T17:11:07"]