# 1 安装
## 1.1 安装依赖
``sudo apt install libgl1-mesa-dev libx11-dev libxrandr-dev libxi-dev``
``sudo apt install mesa-utils``
``sudo apt install clang``
``sudo apt install cmake``
C++:
- Bullet 2.88 (https://github.com/bulletphysics/bullet3/releases)
编译Bullet时,使用`USE_DOUBLE_PRECISION=OFF`禁用双精度。
``./build_cmake_pybullet_double.sh``
``cd build_cmake``
``sudo make install``
- Eigen (http://www.eigen.tuxfamily.org/index.php?title=Main_Page) (Version : 3.3.7)
``mkdir build``
``cmake ..``
``sudo make install``
- OpenGL >= 3.2
- freeglut (http://freeglut.sourceforge.net/) ( Version : 3.0.0 )
``cmake .``
``make``
``sudo make install``
- glew (http://glew.sourceforge.net/) ( Version : 2.1.0 )
``make``
``sudo make install``
``make clean``
Misc:
- SWIG (http://www.swig.org/) ( Version : 4.0.0 )
``./configure --without-pcre``
``make``
``sudo make install``
MPI必须在MPI4py之前安装;
- MPI
- Windows: https://docs.microsoft.com/en-us/message-passing-interface/microsoft-mpi
- Linux: `sudo apt install libopenmpi-dev`
Python:
- Python 3
- PyOpenGL (http://pyopengl.sourceforge.net/)
``pip install PyOpenGL PyOpenGL_accelerate``
- Tensorflow (https://www.tensorflow.org/) ( Vesrion : 1.13.1 )
``pip install tensorflow``
- MPI4Py (https://mpi4py.readthedocs.io/en/stable/install.html)
``pip install mpi4py``
## 1.2 编译工程
工程模拟环境采用C++,并使用SWIG进行python封装。
### 1.2.1 Linux
1. 修改文件`DeepMimicCore/Makefile`中下面选项:
- `EIGEN_DIR`: Eigen include directory
- `BULLET_INC_DIR`: Bullet source directory
- `PYTHON_INC`: python include directory
- `PYTHON_LIB`: python lib directory
2. 执行编译命令:
```
make python
```
执行后,得到`DeepMimicCore/DeepMimicCore.py`。
### 1.2.2 Windows
TODO
# 2 标准动作可视化
标准动作保存在文件夹`data/motions/`中,包括:
* humanoid3d_backflip.txt
* humanoid3d_cartwheel.txt
* humanoid3d_crawl.txt
* humanoid3d_dance_a.txt
* humanoid3d_dance_b.txt
* humanoid3d_getup_facedown.txt
* humanoid3d_getup_faceup.txt
* humanoid3d_jump.txt
* humanoid3d_kick.txt
* humanoid3d_punch.txt
* humanoid3d_roll.txt
* humanoid3d_run.txt
* humanoid3d_spin.txt
* humanoid3d_spinkick.txt
* humanoid3d_walk.txt
通过下列命令进行某一标准动作的可视化:
1. 修改`args/play_motion_humanoid3d_args.txt`文件
将`--motion_file`字段的值`{motion file}`修改为上述某一标准动作的路径。
2. 执行可视化命令
```
python DeepMimic.py --arg_file args/play_motion_humanoid3d_args.txt
```
执行上述命令后,可以看到如下图的窗口:
<img src="pictures/std.png" width="60%" alt="可视化窗口" align=center>
# 3 模型训练
训练某一标准动作的模型,执行以下操作:
1. 修改训练配置文件:
将`--output_path`字段的值`{model path}`修改为模型保存目录。
2. 执行训练命令:
```
python mpi_run.py --arg_file {配置文件} --num_workers 4
```
配置文件保存在文件夹`args/`中,包括:
* train_humanoid3d_backflip_args.txt
* train_humanoid3d_cartwheel_args.txt
* train_humanoid3d_crawl_args.txt
* train_humanoid3d_dance_a_args.txt
* train_humanoid3d_dance_b_args.txt
* train_humanoid3d_getup_facedown_args.txt
* train_humanoid3d_getup_faceup_args.txt
* train_humanoid3d_jump_args.txt
* train_humanoid3d_kick_args.txt
* train_humanoid3d_punch_args.txt
* train_humanoid3d_roll_args.txt
* train_humanoid3d_run_args.txt
* train_humanoid3d_spin_args.txt
* train_humanoid3d_spinkick_args.txt
* train_humanoid3d_walk_args.txt
# 4 模型可视化
使用训练后的模型执行交互式可视化,执行下列操作:
1. 修改推断配置文件:
将`--model_files`字段的值`{model path}`修改为模型训练时的保存目录。
2. 执行推断命令:
```
python DeepMimic.py --arg_file {配置文件}
```
配置文件保存在文件夹`args/`中,包括:
* run_humanoid3d_backflip_args.txt
* run_humanoid3d_cartwheel_args.txt
* run_humanoid3d_crawl_args.txt
* run_humanoid3d_dance_a_args.txt
* run_humanoid3d_dance_b_args.txt
* run_humanoid3d_getup_facedown_args.txt
* run_humanoid3d_getup_faceup_args.txt
* run_humanoid3d_jump_args.txt
* run_humanoid3d_kick_args.txt
* run_humanoid3d_punch_args.txt
* run_humanoid3d_roll_args.txt
* run_humanoid3d_run_args.txt
* run_humanoid3d_spin_args.txt
* run_humanoid3d_spinkick_args.txt
* run_humanoid3d_walk_args.txt
执行上述命令后,出现可视化窗口,可通过鼠标拖拽人物模型。
# 5 拓展
将fbxs/test_0731.fbx文件转化为该工程标准动作格式。
# 6 可能的问题
ImportError: libGLEW.so.2.1: cannot open shared object file: No such file or directory search for libGLEW.so.2.1 and use the following command accordingly ln /path/to/libGLEW.so.2.1 /usr/lib/x86----/libGLEW.so.2.1 ln /path/to/libGLEW.so.2.1.0 /usr/lib/x86----/libGLEW.so.2.1.0
ImportError: libBulletDynamics.so.2.88: cannot open shared object file: No such file or directory export LD_LIBRARY_PATH=/usr/local/lib/ ( can be temporary when run in terminal) (libBullet file are present in that path - gets installed in that path after the command sudo make install while installing Bullet)
# 7 操作
右上角的图显示了值函数的预测
右键单击并拖动将平移相机
左键单击并拖动将在特定位置对角色施加力
滚轮将聚焦/缩放
按“r”将重置一个模拟回合
按“l”将重新加载参数文件并重建所有内容
按“x”将随机地向角色投掷盒子(加入干扰)
按空格键将暂停/恢复模拟
按“>”将一步一步地进行模拟
没有合适的资源?快使用搜索试试~ 我知道了~
DeepMimic复现.zip
共761个文件
txt:278个
h:113个
o:102个
需积分: 21 8 下载量 72 浏览量
2020-05-07
23:09:13
上传
评论 2
收藏 240.07MB ZIP 举报
温馨提示
基于deepmimic项目,在ubuntu18搭建环境后,修改文件,实现: 1.多地形复现 2.其他人物agent 以及其他动作文件。 项目参考:https://github.com/xbpeng/DeepMimic
资源推荐
资源详情
资源评论
收起资源包目录
DeepMimic复现.zip (761个子文件)
lodepng.cpp 214KB
json_reader.cpp 57KB
KinTree.cpp 55KB
MeshUtil.cpp 48KB
json_value.cpp 47KB
SimCharacter.cpp 38KB
json_writer.cpp 35KB
RBDUtil.cpp 33KB
DrawUtil.cpp 28KB
lodepng_util.cpp 26KB
SceneSimChar.cpp 23KB
SimJoint.cpp 23KB
MathUtil.cpp 23KB
BVHReader.cpp 19KB
TerrainGen2D.cpp 18KB
GroundVar2D.cpp 17KB
SimBodyJoint.cpp 16KB
GroundVar3D.cpp 16KB
DrawGround.cpp 15KB
CtCtrlUtil.cpp 15KB
TerrainGen3D.cpp 15KB
CtController.cpp 14KB
DrawScene.cpp 14KB
DeepMimicCore.cpp 13KB
Motion.cpp 13KB
DrawSceneSimChar.cpp 13KB
SceneImitate.cpp 13KB
GroundTrail3D.cpp 12KB
World.cpp 12KB
Character.cpp 11KB
PDController.cpp 10KB
KinCharacter.cpp 9KB
DrawCharacter.cpp 9KB
GroundBuilder.cpp 8KB
SpAlg.cpp 8KB
GroundDynamicObstacles3D.cpp 8KB
Main.cpp 7KB
RLSceneSimChar.cpp 7KB
Camera.cpp 7KB
DeepMimicCharController.cpp 7KB
FileUtil.cpp 7KB
ImpPDController.cpp 6KB
Shader.cpp 6KB
TextureDesc.cpp 6KB
GroundConveyor3D.cpp 6KB
Ground.cpp 6KB
SimRigidBody.cpp 6KB
GroundObstacles3D.cpp 6KB
RBDModel.cpp 6KB
ArgParser.cpp 5KB
SimObj.cpp 5KB
ObjTracer.cpp 5KB
ContactManager.cpp 5KB
SimBodyLink.cpp 4KB
DrawSimCharacter.cpp 4KB
VertexBuffer.cpp 4KB
Trajectory.cpp 4KB
CtPDController.cpp 4KB
DrawMesh.cpp 4KB
DrawSceneKinChar.cpp 3KB
ExpPDController.cpp 3KB
DrawRLScene.cpp 3KB
GroundHills3D.cpp 3KB
TextureUtil.cpp 3KB
DrawObj.cpp 3KB
CharController.cpp 3KB
Rand.cpp 3KB
IBuffer.cpp 3KB
CtrlBuilder.cpp 2KB
GroundPlane.cpp 2KB
IndexManager.cpp 2KB
DrawKinTree.cpp 2KB
MultiBody.cpp 2KB
DrawSceneImitate.cpp 2KB
SceneKinChar.cpp 2KB
Timer.cpp 2KB
Controller.cpp 2KB
GraphUtil.cpp 2KB
Scene.cpp 2KB
ShadowMap.cpp 2KB
CtVelController.cpp 2KB
DrawPerturb.cpp 2KB
JsonUtil.cpp 2KB
GroundObstaclesDynamicCharacters3D.cpp 2KB
MatrixStack.cpp 1KB
SimCylinder.cpp 1KB
SimCapsule.cpp 1KB
AgentRegistry.cpp 1KB
SimSphere.cpp 1KB
Perturb.cpp 1KB
SimBox.cpp 1KB
SceneBuilder.cpp 1KB
SimCharBuilder.cpp 952B
DrawWorld.cpp 940B
RLScene.cpp 904B
SimPlane.cpp 897B
PerturbManager.cpp 889B
Shape.cpp 586B
Annealer.cpp 526B
SimCharGeneral.cpp 132B
共 761 条
- 1
- 2
- 3
- 4
- 5
- 6
- 8
资源评论
喂自己袋盐
- 粉丝: 35
- 资源: 13
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功