見出し画像

PyBullet Robotics Environments

1. PyBullet Robotics Environments

PyBullet Robotics Environments」は、MuJoCo環境に似た3D物理シミュレーション環境です。物理エンジンにオープンソースの「Bullet」を使用しているため、商用ライセンスは不要です。

「PyBullet」をインストールすると、「RL Gym Environment」もインストールされます。これには、「ant」「hopper」「humanoid」「walker」などのOpenAI GymのMuJoCo環境のPyBulletバージョンが含まれます。

また、「Ghost Robotics Minitaur quadruped」「MIT racecar」「KUKA robot arm grasping Environment」など、シミュレーションだけでなく実際のロボットにも適用される環境もあります。

画像4

2. インストール

PyBulletをインストールするには、AnacondaのPython3.6の仮想環境で次のコマンドを入力します。

pip install pybullet
pip install tensorflow
pip install gym

3. サンプルの実行

「pybullet」「pybullet_envs」「pybullet_data」のコードとサンプルはこちらで参照できます。「DQN」「PPO」「TRPO」「DDPG」などの強化学習訓練アルゴリズムを使用して、環境を訓練できます。また、事前訓練されたサンプルも用意されています。

「Humanoid」を実行するコマンドは次の通りです。

python -m pybullet_envs.examples.enjoy_TF_HumanoidBulletEnv_v0_2017may

画像1

「kukaGymEnv」を実行するコマンドは次の通りです。

$ python -m pybullet_envs.examples.kukaGymEnvTest

画像2

4. コードの記述

PyBulletをインストールすると、「pybullet_envs」「pybullet_data」パッケージが利用可能になります。「pybullet_envs」をインポートすることで、環境がOpenAI Gymに自動的に登録されます。「PyBullet」は、他の環境とrender()を呼ぶタイミングが異なる点に注意してください。

「HumanoidBulletEnv-v0」をランダム行動で実行するコードは次の通りです。

import gym
import pybullet_envs

# 環境の生成
env = gym.make('HumanoidBulletEnv-v0')
env.render(mode="human")
env.reset()

# ランダム行動
while True:
   env.step(env.action_space.sample())

画像3


この記事が気に入ったらサポートをしてみませんか?