【机械臂】Windows 11安装Mujoco200并运行基于强化学习的多任务机械臂Meta-word基准

发布于:2025-03-09 ⋅ 阅读:(22) ⋅ 点赞:(0)

Windows 11安装Mujoco200并运行基于强化学习的多任务机械臂Meta-word基准

1 Meta-Word

Meta-World是一个开源的模拟基准测试平台,用于多任务和元强化学习(Meta-Reinforcement Learning, Meta-RL)的研究。它由斯坦福大学、加州大学伯克利分校、哥伦比亚大学、南加州大学和谷歌机器人团队的研究人员共同开发,并在2019年的机器人学习会议(CoRL 2019)上发表。

在这里插入图片描述

(1)Meta-World的核心目标

Meta-World旨在通过提供一个包含50个不同机器人操作任务的模拟环境,推动多任务学习和元强化学习算法的发展。这些任务设计得既多样化又具有共享结构,以便算法能够通过学习多个任务来快速适应全新的任务。与以往的基准测试不同,Meta-World强调在广泛的任务分布上进行训练,以实现对新任务的有效泛化。

(2) 任务设计

Meta-World包含50个不同的机器人操作任务,这些任务涉及常见的操作行为,如抓取、推动和放置物体。任务设计考虑了两种变异性:

  • 参数化变异性(Parametric Variation):每个任务内部的物体位置和目标位置会随机变化,增加了任务的多样性。
  • 非参数化变异性(Non-Parametric Variation):不同任务之间存在本质差异,例如“抓取物体”和“打开窗户”是完全不同的任务。

这种设计既保证了任务的多样性,又通过共享的操作结构(如抓取、推动等)为算法提供了泛化的可能性。

(3)动作、观测和奖励**

Meta-World中的所有任务都使用相同的机器人(模拟的Sawyer机械臂),并且动作空间和观测空间具有一致的结构:

  • 动作空间:3D末端执行器的位置。
  • 观测空间:包括末端执行器、物体和目标的3D位置,维度固定为9。
  • 奖励函数:采用多组件奖励函数,包括到达(reach)、抓取(grasp)和放置(place)奖励,确保任务可解且奖励结构一致。

(4) 评估协议

Meta-World提供了多种评估模式,从简单的单任务适应到复杂的多任务泛化:

  • ML1(单任务适应):在单一任务内适应新的目标位置。
  • MT10和MT50(多任务学习):学习一个策略来解决10个或50个训练任务。
  • ML10和ML45(元学习):在10个或45个训练任务上进行元训练,并在新的测试任务上快速适应。

(5)实验结果

研究人员在Meta-World上评估了多种多任务和元强化学习算法,发现:

  • 当前的元强化学习算法在面对高度多样化的任务时表现不佳,尤其是在多任务学习和泛化到新任务方面。
  • 例如,在ML10和ML45的评估中,即使是表现最好的算法也只能达到约30%的成功率,显示出很大的改进空间。

(6)未来方向**

Meta-World为未来的研究提供了新的方向:

  • 算法改进:开发能够处理多样化任务分布的元强化学习算法。
  • 基准扩展:增加图像观测、稀疏奖励、组合任务等,以更贴近现实世界的机器人学习场景。

2 安装Anaconda

如果已经安装了所有必需的Anaconda 软件包,可以跳过此步骤。

使用miniconda来管理虚拟环境,请确保您已按照以下说明安装了miniconda:https://docs.anaconda.com/miniconda/

下载后exe软件后安装,并将安装路径配置到环境变量Path

C:\Program Files\anaconda3\

3 安装visual studio build tools

官网下载:https://visualstudio.microsoft.com/zh-hans/downloads/
点击安装C++生成工具即可

4 配置Mujoco200来构建RL环境

要安装Mujoco200,请访问:https://www.roboti.us/download.html,下载mujoco200 win64,解压文件并将其放置在C:\Users\<用户名>\.mujoco\,文件夹名称为mujoco200。即C:\Users\<用户名>\.mujoco\mujoco200。配置环境变量

  • 打开 MuJoCo 官网的许可证页面:https://www.roboti.us/license.html。下载许可证文件,在页面中找到并点击 “Activation Key”或 Download 按钮,直接下载 mjkey.txt 文件。并将其复制到 C:\Users\<用户名>\.mujoco\mujoco200\binC:\Users\<用户名>\.mujoco目录下。
  • C:\Users\<用户名>\.mujoco\mujoco200\mujoco200 添加到系统环境变量 Path 中。
  • 构建虚拟环境,打开一个终端:
conda create -n legion python=3.7

conda activate legion

pip install dm_control mujoco-py==2.0.2.8 cython==0.29.33 protobuf==3.20.0 gym==0.20.0
  • 安装成功后可以在bin文件夹中打开simulate.exe,并且将model文件夹中的XML文件夹拖拽到应用界面上则会出现对应模型的3D物理仿真模拟。

在这里插入图片描述

5 安装metaworld

安装修改后的metaworld环境

git clone https://github.com/Farama-Foundation/Metaworld.git

cd Metaworld 
pip install .

如果报错“Failed to build mujoco-py ,ERROR: Could not build wheels for mujoco-py, which is required to install pyproject.toml-based projects”,重新执行以下命令

pip install dm_control mujoco-py==2.0.2.8 cython==0.29.33 protobuf==3.20.0 gym==0.20.0

测试程序

import metaworld
import random

print(metaworld.ML1.ENV_NAMES)  # Check out the available environments

ml1 = metaworld.ML1('pick-place-v2') # Construct the benchmark, sampling tasks

env = ml1.train_classes['pick-place-v2']()  # Create an environment with task `pick_place`
task = random.choice(ml1.train_tasks)
env.set_task(task)  # Set task

obs = env.reset()  # Reset environment
a = env.action_space.sample()  # Sample an action
obs, reward, done, info = env.step(a)  # Step the environment with the sampled 

如果程序不报错,说明程序安装成功