体育馆仓库的机器人环境。
项目描述
本库包含了一系列使用 Gymansium API 的强化学习机器人环境。这些环境使用 MuJoCo 物理引擎和维护良好的 mujoco python 绑定 运行。
文档网站位于 robotics.farama.org,我们有一个公开的 discord 服务器(我们也在其中协调开发工作),您可以通过以下链接加入: https://discord.gg/YymmHrvS
安装
要安装 Gymnasium-Robotics 环境请使用 pip install gymnasium-robotics
这些环境还需要安装 Deepmind 的 MuJoCo 引擎。安装物理引擎的说明可以在 MuJoCo 网站 和 MuJoCo Github 仓库 中找到。
注意,最新环境版本使用 MuJoCo 团队维护的最新 mujoco python 绑定。如果您想使用依赖于 mujoco-py 的旧版本环境,请使用 pip install gymnasium-robotics[mujoco-py]
安装此库
我们支持并测试了 Linux 和 macOS 上的 Python 3.8、3.9、3.10 和 3.11。我们将接受与 Windows 相关的 PR,但不官方支持。
环境
Gymnasium-Robotics
包括以下环境组
- Fetch - 一系列具有 7 个自由度的机器人手臂环境,需要执行诸如抓取、推动、滑动或拾取和放置等操作任务。
- Shadow Dexterous Hand - 一系列具有 24 个自由度的类人形机器人手环境,需要使用方块、鸡蛋物体或笔等物体执行操作任务。这些环境的一些变体还包括观察空间中的 92 个触觉传感器的数据。
现在可用的 D4RL 环境已经重构,可能不具有与原始版本相同的动作/观察空间,请阅读其文档。
- 迷宫环境 - 代理必须穿过迷宫到达特定的目标位置。可以使用两种不同的代理:2 个自由度的力控球或经典的来自 Gymnasium MuJoCo 环境 的
Ant
代理。环境可以使用各种迷宫形状初始化,难度级别逐渐增加。 - Adroit Arm - 一系列使用 Shadow Dexterous Hand 并具有额外的手臂运动自由度的环境。不同的任务包括钉钉、开门、旋转笔或拾取和移动球。
- Franka Kitchen - 多任务环境,其中放置了一个 9 个自由度的 Franka 机器人在包含多个常用家庭用品的厨房中。每个任务的目标是与物品交互以达到预期的目标配置。
正在进行中:使用 Minari 生成新的 D4RL
环境数据集。
多目标 API
机器人环境通过从 GoalEnv 类继承扩展了核心 Gymansium API。新的 API 强制环境具有包含 3 个键的字典观察空间
observation
- 环境的实际观察desired_goal
- 代理必须达到的目标achieved_goal
- 代理当前达到的目标。环境的目的是使此值接近desired_goal
此 API 还公开了奖励功能以及终止和截断信号,以便使用不同的目标重新计算它们的值。这对于使用 Hindsight Experience Replay (HER) 的算法很有用。
以下示例演示了如何使用暴露的奖励、终止和截断函数来重新计算具有替代目标的值。info字典可以用来存储可能需要重新计算奖励的额外信息,但这些信息与目标无关,例如从模拟中导出的状态。
import gymnasium as gym
env = gym.make("FetchReach-v2")
env.reset()
obs, reward, terminated, truncated, info = env.step(env.action_space.sample())
# The following always has to hold:
assert reward == env.compute_reward(obs["achieved_goal"], obs["desired_goal"], info)
assert truncated == env.compute_truncated(obs["achieved_goal"], obs["desired_goal"], info)
assert terminated == env.compute_terminated(obs["achieved_goal"], obs["desired_goal"], info)
# However goals can also be substituted:
substitute_goal = obs["achieved_goal"].copy()
substitute_reward = env.compute_reward(obs["achieved_goal"], substitute_goal, info)
substitute_terminated = env.compute_terminated(obs["achieved_goal"], substitute_goal, info)
substitute_truncated = env.compute_truncated(obs["achieved_goal"], substitute_goal, info)
GoalEnv
类还可以用于自定义环境。
项目维护者
主要贡献者:Rodrigo Perez-Vicente,Kallinteris Andreas,Jet Tai
此项目的维护也得到更广泛的Farama团队的贡献:farama.org/team。
引用
如果您在研究中使用了这个,请引用
@software{gymnasium_robotics2023github,
author = {Rodrigo de Lazcano and Kallinteris Andreas and Jun Jet Tai and Seungjae Ryan Lee and Jordan Terry},
title = {Gymnasium Robotics},
url = {http://github.com/Farama-Foundation/Gymnasium-Robotics},
version = {1.2.4},
year = {2023},
}
项目详情
下载文件
下载适用于您平台的文件。如果您不确定选择哪个,请了解更多关于安装包的信息。
源代码分发
构建分发
gymnasium-robotics-1.2.4.tar.gz的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | d304192b066f8b800599dfbe3d9d90bba9b761ee884472bdc4d05968a8bc61cb |
|
MD5 | fd02bc017cf1a925449ec944e8165aee |
|
BLAKE2b-256 | ef13123ca19354a42d4a2bda8f2109f273a48562eb2528b961d1310720961d89 |
gymnasium_robotics-1.2.4-py3-none-any.whl的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | c2cb23e087ca0280ae6802837eb7b3a6d14e5bd24c00803ab09f015fcff3eef5 |
|
MD5 | ef71fc5c44ab3dc7585b04e4ef5ecbbe |
|
BLAKE2b-256 | 3f91f934af16a5517a9602bc585620e51683d9e49bcfdc9632355158d188a3b3 |