OSU双足步行机器人 Cassie利用强化学习站立的源码实现

运行OSU双足步行机器人 Cassie 早期实施的用强化学习算法使其站立的源码,由于时间较久,按照github上的说明运行有些错误,故根据自己的实现步骤重新记录

源码地址:
https://github.com/CassieRL/cassierl

运行环境:

Ubuntu18.04
Anaconda3 python3.6


1、下载主仓库和第三方仓库

git clone https://github.com/CassieRL/cassierl.git
git clone https://github.com/CassieRL/ThirdParty.git

2、创建一个文件夹作为工作空间,将步骤1下载的两个仓库放置到工作空间中

3、第三方库配置

1)设置工作空间路径

sudo  gedit ~/bashrc
#将下面这行放入.bashrc文件最后
export workspacePath=/path/to/ThirdParty/parentDir #“=”后面的路径改为工作空间的绝对路径
#保存后运行下面命令
source ~/.bashrc

2)Add eigen symlink

sudo ln -s /path/to/ThirdParty/eigen /usr/local/include/eigen #eigen路径设置为自己的路径

3)Build rbdl

cd rbdl
rm -rf build
mkdir build
cd build
cmake -D CMAKE_BUILD_TYPE=Release ../ 
make

4)Build qpOASES

cd qpOASES
make clean; make

4、添加工作空间路径
修改cassierl/src/Cassie2d/FilePath.h文件中的两个值

MUJOCO_LICENSE_PATH = mjkey.txt的路径
XML_FILE_PATH = cassie2d_stiff.xml所在路径

5、在cassierl文件夹中输入以下命令进行编译

cd src
make clean
make

6、建立一个anaconda的虚拟环境

原仓库中的python3.5.2版本无法安装,因此选用了python3.6版本,最后也可以实现

7、实现上下蹲运动

在刚建立的虚拟环境中运行以下命令,缺少什么就安装什么,如果成功会出现cassie上下蹲的运动画面

cd ../rllab/envs
python3 squatting.py

可能出现的缺失包的安装命令:

theano:pip3 install theano
path:pip3 install path.py
cached_property:pip3 install cached_property

如果没有rllab模块,cd到工作空间(cassierl文件夹同级目录),再运行以下命令:

git clone https://github.com/rll/rllab.git
cd rllab
sudo python3 setup.py install

注意:使用虚拟环境运行时命令前不要加sudo,不然会给系统自带的python安装对应的库,此时依旧会报没有该包的错

如果还有其他的包缺失可以去https://anaconda.org查找对应的安装命令,或者自行百度用其他方法安装

8、安装一些其他的工具来运行RL算法

1)将rllab添加到python包中

cd rllab

python setup.py install

sudo ./scripts/setup_linux.sh

2)上面的命令将rllab里面的scriptsrllab文件夹复制到 Python 包内的文件夹中

xxx/anaconda3/envs/envName/lib/python3.6/site-packages/rllab-0.1.0-py3.6.egg  #你所创建的虚拟环境包的存放路径

3)删除文件中的语法错误

sudo gedit xxx/anaconda3/envs/envName/lib/python3.6/site-packages/rllab-0.1.0-py3.5.egg/rllab/misc/instrument.py

删除972行config.AWS_EXTRA_CONFIGS后面模块的代码

4)cd回cassierl文件夹,之后运行

cd rllab/envs

5)在刚刚的虚拟环境中运行

python trpo_cassie.py

如果出现:建议你在 rllab 中编辑你的个人配置文件,则运行下面命令给予权限后再运行上面的命令

sudo chmod +x xxx/anaconda3/envs/envName/lib/python3.6/site-packages/rllab-0.1.0-py3.6.egg/rllab/config_personal.py

6)如果运行成功则会出现训练界面和迭代次数

7)按ctrl+c可以终止训练,数据保存在rallab库的data文件中(不是cassierl文件夹中用于安装模块的存储库,而是虚拟环境包中的rllab文件夹中)

需要多少次迭代?

请注意,首先 Cassie 会摔倒在地。经过大约 200 次或更多次的迭代,她将能够不侧身摔倒。仔细观察,你会看到她会在垂直于地面的上下方向上摔倒。这是进步。

然而,Yathartha 说 Cassie 至少需要 1000 到 1500 次迭代才能掌握如何站立。她最终会倒下,但她的站立会持续更长时间。

doc文件夹中有相关的原理的说明

猜你喜欢

转载自blog.csdn.net/qq_43309940/article/details/127309929
今日推荐