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」など、シミュレーションだけでなく実際のロボットにも適用される環境もあります。
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
「kukaGymEnv」を実行するコマンドは次の通りです。
$ python -m pybullet_envs.examples.kukaGymEnvTest
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())
この記事が気に入ったらサポートをしてみませんか?