原始论文

论文:DeepMimic: Example-Guided Deep Reinforcement Learning of Physics-Based Character Skills.

阅读笔记:读论文 DeepMimic: Example-Guided Deep Reinforcement Learning of Physics-Based Character Skills 笔记.

环境配置

1. 使用 pyBullet

第一种方式,比较简单。直接使用 anaconda 创建虚拟环境,而后 使用 pip 进行安装,可以直接使用,方便快捷。

pip install pybullet

2. 配置原始代码的环境

由于pybullet中比原始的代码会缺少一些模块。所以第二种进行 C++ 代码的环境配置。环境配置较麻烦,本人采用 Ubantu 18.04.

主要参考 https://github.com/xbpeng/DeepMimic.进行配置
辅助参考:(这个参考中有些步骤有问题,在后面“注意事项中会提及”) https://github.com/zhaolongkzz/DeepMimic_configuration#2-bullet.

注意事项:

  1. 使用 Bullet 版本 2.8.8
    需要确保 DUSE_DOUBLE_PRECISION=OFF. (不是到文件中修改,直接在命令行运行时添加就行)
./build_cmake_pybullet_double.sh -DUSE_DOUBLE_PRECISION=OFF
cd build_cmake
sudo make install
  1. 无需添加任何环境变量(即 “辅助参考”中的 在 .bashrc 中添加一项 有误,无需添加
  2. 在 DeepMImic-master/DeepMimicCore/Makefile 中的修改如下:
# 使用终端,并且使用系统的 python 环境或者 base 环境,用自己另外创建的虚拟环境py36会报错
# 暂时还不知道问题原因何在
# joshuajiang@joshuajiang-LC0:~/DeepMImic/DeepMimic-master$ python DeepMimic.py --arg_file args/run_humanoid3d_spinkick_args.txt
# (base) joshuajiang@joshuajiang-LC0:~/DeepMImic/DeepMimic-master$ python DeepMimic.py --arg_file args/play_motion_humanoid3d_args.txt

EIGEN_DIR = /usr/include/eigen3          # EIGEN_DIR = /usr/include/eigen3
BULLET_INC_DIR =  /usr/include/bullet    # BULLET_INC_DIR = /usr/include/bullet

PYTHON_INC = /usr/include/python3.6m     # PYTHON_INC = /usr/include/python3.6m
PYTHON_LIB = /usr/lib/ -lpython3.6m      # PYTHON_LIB = /usr/lib/ -lpython3.6m

如果使用 conda 创建的虚拟环境,会报错如下:

/home/joshuajiang/anaconda3/envs/py36/bin/python /home/joshuajiang/DeepMImic/DeepMimic-master/DeepMimic.py
Traceback (most recent call last):
  File "/home/joshuajiang/DeepMImic/DeepMimic-master/DeepMimic.py", line 9, in <module>
    from env.deepmimic_env import DeepMimicEnv
  File "/home/joshuajiang/DeepMImic/DeepMimic-master/env/deepmimic_env.py", line 3, in <module>
    from DeepMimicCore import DeepMimicCore
  File "/home/joshuajiang/DeepMImic/DeepMimic-master/DeepMimicCore/DeepMimicCore.py", line 13, in <module>
    from . import _DeepMimicCore
ImportError: /home/joshuajiang/anaconda3/envs/py36/bin/../lib/libglut.so.3: undefined symbol: XF86VidModeSetViewPort

Process finished with exit code 1

  1. 附上所有需要的文件

  2. 最后 使用 make python 生成 DeepMimic.py 的过程大概持续 2分钟,并且大量 warning。如果 运行时间过短,估计是出错了…