乐聚社区
标题:
利用 Roboschool 和Gym控制 Atlas 机器人
[打印本页]
作者:
shyao
时间:
2020-4-21 18:23
标题:
利用 Roboschool 和Gym控制 Atlas 机器人
本帖最后由 shyao 于 2020-6-6 09:49 编辑
(, 下载次数: 550)
上传
点击文件名下载附件
背景介绍
(, 下载次数: 516)
上传
点击文件名下载附件
Roboschool : Roboschool是基于OpenAI Gym 强化学习仿真包的物理仿真引擎。由于MuJuCo不开源且收费,所以OpenAI 的大佬们将Roboschool作为MuJuCo的替代品。可以在一个场景当中训练多个Agent并且完成一挑战任务。
软件环境安装
Rooboschool
Gym
示例代码
在 2017 年 7 月 17 号,Roboschool 发布了 Version 1.1 版本,其中导入了 Atlat 机器人模型,相关新闻可见
NEWS
。
在安装好Roboschool环境后,从
RoboschoolAtlasForwardWalk_v1_2017jul.py
中找到控制 Atlas 前进走路的源码。
仿真
Python 运行代码,由于在 Train 的时候,没有对机器人上肢运动进行约束和优化,只关注了下肢的移动,最终训练的结果有点辣眼睛,我们可以看到一段魔性嚣张的步伐。
python3 RoboschoolAtlasForwardWalk_v1_2017jul.py
复制代码
https://v.qq.com/x/page/r0840q1mbir.html
摩擦摩擦,似魔鬼的步伐。
• 鼠标左键:旋转镜头
• 鼠标右键:镜头平移
• 按键F1: 开/关 慢动作
• 按键F2: 隐藏/显示仿真步数和累积Rewards
• 按键F3: 隐藏/显示Action和Observation
在
机器人强化学习之使用 OpenAI Gym 教程与笔记
中介绍过使用导入 Gym 模型和查看 Observation 和 Action 的相关参数,对于 Atlas 也同样适用:
import roboschool
import gym
env = gym.make("<font face="微软雅黑" color="#ff0000">RoboschoolAtlasForwardWalk-v1</font>")
print(<font color="#ff0000">'action_space = '</font>, env.action_space)
print(<font color="#ff0000">'observation_space = '</font>, env.observation_space)
复制代码
输出
action_space = Box(30,)
observation_space = Box(70,)
复制代码
从 env.action_space 和 env.observation_space 可知 Action 维度为 30,Observation 维度为 70。
Action 可以理解为机器人有 30 个自由度,可以通过 PD 控制器控制关节角度;
Observation 为当前环境的观测向量;
至于Atlas 机器人 Action 和 Observation 详细解释,在 Roboschool 的 Wiki 中没有相关说明,OpenAI 的开发者建议用户靠猜的方式来确定 ,大佬就是大佬,懒得跟你解释 。
具体的土方法为
1. 修改 Roboschool 源码,将
gym_atlas.py
重力 Gravity 修改为 0
2. 按照排除法,控制变量 Action,然后 env.step(action) ,分别记下向量每个元素对应的自由度关节
代码说明
Roboschool 开发者解释到由于强化学习训练 Atlas 走路的代码太杂乱了,所以暂时没有 Train 的代码,所以求人不如求己,后面得自己撸代码 ~ 总体思路是获得 weight 矩阵,即最佳 Policy,输入当前观测向量 Observation 获得下一步的 Action 向量来控制 Atlas 行走。
总结
Roboschool 这个项目适合验证一些简单的强化学习任务,对于新引入的模型支持得还不太友好。
基本上没有什么成体系的说明文档,所以需要靠多阅读 Roboschool 和 Gym 的 Python 源码来使用。
如果有什么问题,欢迎评论留言交流 ~
作者:神奇的战士
Blog:
http://thinkhard.tech/
作者:
lejuxhj@qq.com
时间:
2020-6-4 11:22
太高级了,膜拜
作者:
陈小生
时间:
2020-6-15 11:29
学习学习。
作者:
LL97uziiiii
时间:
2020-7-3 13:57
学习
欢迎光临 乐聚社区 (https://bbs.lejurobot.com/)
Powered by Discuz! X3.4