PyBullet快速上手教程

PyBullet快速上⼿教程
(译⾃)
PyBullet Reinforcement Learning Gym Envs
杨成章快速使⽤PyBullet机器⼈RL环境
1. 使⽤命令“pip3 install PyBullet“安装 PyBullet版本的Gym环境套件,其中包括了ant,hopper,humanoid,walker,还有Ghost
Robotics Minitaur quadruped, the MIT racecar and the KUKA robot arm grasping environments等环境。源码位于github 上:
pip3为新版本的python管理⼯具,⽀持python3,常常会出现“you are using pip version 8.1.1(或其他版本), however version
19.0.3(或其他版本) is available”,可使⽤“(sudo) pip3 install --upgrade pip”(注意不是“(sudo) pip3 install --upgrade
pip3”)
3. 该环境可⽤来做DRL的训练,⽐如DQN、PPO、TRPO、DDPG等。最新的PyBullet已经含有了⼀些预训练版本,可以直接上⼿使
⽤:
pip3 install pybullet, tensorflow, gym (⽤于安装PyBullet、tensorflow、gym等环境及框架,如果出现安装错误,多是因为⽤户权限问题,可使⽤pip3 install --use r pybullet, tensorflow, gym)。
python -m joy_TF_HumanoidBulletEnv_v0_2017may (运⾏bullet3/examples/pybullet/gym/pybullet_envs/examples⽬录下的enjoy _TF_HumanoidBulletEnv_v0_2017may.py⽂件,-m表⽰将脚本以模块模式运⾏,和直接运⾏程序的区别在于加载的系统路径不同,程序的主⼊⼝也不同)。python -m amples.kukaGymEnvTest (运⾏bullet3/examples/pybullet/gym/pybullet_envs/examples/⽬录下的kukaCamGymEnvTest.py⽂件)。
注意:某些⽂件的运⾏需要baselines 环境,需要提前安装(需要python3.5以上和tensorflow)
git clone github/openai/baselines.git
cd baselines
杜一楠
pip3 install -e .
关于运⾏环境和数据
1. pybullet安装后包含了pybullet_envs和pybullet_data。导⼊pybullet_envs包会⾃动将该环境注册到OpenAI Gym中。
蒸汽喷嘴>华北事变2. 如前所述,PyBullet中包含了多种机器⼈仿真环境。下⾯介绍KukaBulletEnv环境。
3. KukaBulletEnv环境共包含两个版本:KukaBulletEnv-v0和KukaCamBulletEnv-v0两个版本。
4. 该环境使⽤KUKA liwa机械臂,⽬标是抓取放在托盘中的物体。当机械臂将⽬标抓取到⼀定⾼度时,给与系统⼀定奖励。为了优化整
个抓取过程,也会根据动作、⼿⽖和⽬标物的距离给与少量奖励。观测值(即状态)通过⽬标的坐标值(x,y)来表⽰。
5. KukaCamBulletEnv-v0中的观测值⽤相机像素值表⽰,其他与上⼀个版本完全⼀致(即camera pixels)。
6. ⽤户可以直接访问pybullet_data package中的数据,包括URDF/SDF机器⼈包,Wavefront.ONJ⽂件等。⽐如:
import pybullet
import pybullet_data
datapath=DataPath()
pybullet.setAdditionalSearchPath(datapath)
pybullet.loadURDF("r2d2.urdf",[0,0,1])
或者⼿动将路径附加到加载URDF/SDF命令中的⽂件名中去
事实上,新版的Roboschool environments已经移植到PyBullet上,Roboschool 环境⽐以往的MuJoCo Gym环境更加丰富,也更加具有挑战性。
地质灾害防治条例使⽤DQN,PPO,ES直接上⼿体验!
1. 对于⼀些离散的Gym环境(动作或状态是离散⽽⾮连续),⽐如KukaBulletEnv-v0和RacecarBulletEnv-v0,我们可以使⽤的DQN算
法来对使⽤离散动作空间的模型进⾏训练。可以参照以下⽰例:
python -m pybullet_ain_pybullet_cartpole (运⾏bullet3/examples/pybullet/gym/pybullet_envs/baselines⽬录下的train_pybullet_cartpole.py ⽂件)
python -m pybullet_ain_pybullet_racecar (运⾏bullet3/examples/pybullet/gym/pybullet_envs/baselines⽬录下的train_pybullet_racecar.py ⽂件)
当模型得到改进时,OpenAI Baselines将会以指定的时间间隔保存⼀个.PKL⽂件。以下脚本会使⽤到这个.PKL⽂件:
python -m pybullet_joy_pybullet_cartpole
python -m pybullet_joy_pybullet_racecar
2. 另外还有很多可以开箱即⽤的已经预训练好的模型,包含了:
python -m joy_TF_AntBulletEnv_v0_2017may
python -m joy_TF_HalfCheetahBulletEnv_v0_2017may
python -m joy_TF_AntBulletEnv_v0_2017may
python -m joy_TF_HopperBulletEnv_v0_2017may
python -m joy_TF_HumanoidBulletEnv_v0_2017may
python -m joy_TF_InvertedDoublePendulumBulletEnv_v0_2017may
python -m joy_TF_InvertedPendulumBulletEnv_v0_2017may
python -m joy_TF_InvertedPendulumSwingupBulletEnv_v0_2017may
python -m joy_TF_Walker2DBulletEnv_v0_2017may
使⽤tensorflow & PyTorch进⾏训练
1. 可以直接使⽤Tensorflow 训练多种多样的PyBullet环境。
沙芦草2. 安装必要的Python包:
pip3 install gym,tensorflow,agents,pybullet,ruamel.yaml
2. 训练模型
python -m pybullet_ain_ppo --config=pybullet_pendulum --logdir=pendulum
3. 我们为智能体的设置配置了多种不同的环境
pybullet_pendulum
pybullet_doublependulum
pybullet_pendulumswingup
pybullet_cheetah
pybullet_ant
pybullet_racecar
pybullet_minitaur
4. 使⽤tensorboard 查看训练进程
tensorboard --logdir=pendulum --port=2222(启动tensorflow下的tensorboard⼯具,将⽬标⽂件夹下的⽇志⽂件可视化,在本地服务器的port端⼝中以服务器模式运⾏,可被浏览器访问)
5. 然后打开⼀个浏览器访问本地服务器的2222端⼝页⾯,可以查看训练过程
6. 完成训练之后,可以获得可视化的训练模型,⽐如制作⼀个视频,或者使⽤⼀个物理引擎环境来可视化训练结果(python -m
amples.runServer or ExampleBrowser in physics server mode or in Virtual Reality(这句⽰例没太看懂是具体怎么使⽤))。当我们打开⼀个本地GUI物理引擎, 可视化⼯具(bullet_cilent.py)会⾃动连上它,并且使⽤OpenGL硬件渲染来制作视频。否则将会使⽤CPU tinyrenderer。可以使⽤以下命令⽣成视频:
python -m pybullet_envs.agents.visualize_ppo --logdir=pendulum/xxxxx --outdir=pendulum_video
7. robot
进化策略
有关在PyBullet环境中使⽤进化策略的说明详见 David Ha(hardmaru)的
使⽤PyTorch PPO进⾏训练
官⽅⽂档⽬前还没有使⽤PyTorch训练PyBullet的说明。但有⼀个使⽤了PyTorch训练了Pybullet环境。

本文发布于:2024-09-22 03:52:20,感谢您对本站的认可!

本文链接:https://www.17tex.com/xueshu/263344.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:环境   训练   模型   可视化   安装   加载   奖励   给与
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议