背景介绍
Atlas: Atlas机器人是一个双足人形机器人,由鼎鼎大名的美国波士顿动力公司为主开发,身高1.75米,体重82kg,它的出现将人形机器人的发展带到了更高的高度。目前可以完成行走、跑步和翻跟头等一系列复杂的动作。作为机器人当中的贵族,价格自然不菲 T_T (更何况还买不到...)。所以只能通过仿真软件在里面过下干瘾。
(, 下载次数: 273) 上传 点击文件名下载附件 Roboschool: Roboschool是基于OpenAI Gym 强化学习仿真包的物理仿真引擎。由于MuJuCo不开源且收费,所以OpenAI 的大佬们将Roboschool作为MuJuCo的替代品。可以在一个场景当中训练多个Agent并且完成一挑战任务。软件环境安装Roboschool①Gym②示例代码在2017年7月17号,Roboschool发布了Version 1.1版本,其中导入了Atlas机器人模型,相关新闻可见NEWS③。在安装好Roboschool环境后,从RoboschoolAtlasForwardWalk_v1_2017jul.py④中找到控制 Atlas 前进走路的源码。RoboschoolAtlasForwardWalk_v1_2017jul.py④仿真Python 运行代码,由于在 Train 的时候,没有对机器人上肢运动进行约束和优化,只关注了下肢的移动,最终训练的结果有点辣眼睛,我们可以看到一段魔性嚣张的步伐。 (, 下载次数: 297) 上传 点击文件名下载附件 摩擦摩擦,似魔鬼的步伐鼠标左键:旋转镜头鼠标右键:镜头平移按键F1: 开/关 慢动作按键F2: 隐藏/显示仿真步数和累积Rewards按键F3: 隐藏/显示Action和Observation在 机器人强化学习之使用 OpenAI Gym 教程与笔记⑤中介绍过使用导入 Gym模型和查看Observation和Action的相关参数,对于 Atlas也同样适用: (, 下载次数: 306) 上传 点击文件名下载附件 输出 (, 下载次数: 277) 上传 点击文件名下载附件 从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行走。总结1. Roboschool这个项目适合验证一些简单的强化学习任务,对于新引入的模型支持得还不太友好。2. 基本上没有什么成体系的说明文档,所以需要靠多阅读Roboschool和Gym的Python源码来使用。3. 如果有什么问题,欢迎评论留言交流~文中标记网址:①https://github.com/openai/roboschool②https://github.com/openai/gym③https://github.com/openai/roboschool#news ④https://github.com/openai/roboschool/blob/master/agent_zoo/RoboschoolAtlasForwardWalk_v1_2017jul.py⑤https://zhuanlan.zhihu.com/p/40673328⑥https://github.com/openai/roboschool/blob/master/roboschool/gym_atlas.py#L21 欢迎光临 乐聚社区 (https://bbs.lejurobot.com/) Powered by Discuz! X3.4
Roboschool: Roboschool是基于OpenAI Gym 强化学习仿真包的物理仿真引擎。由于MuJuCo不开源且收费,所以OpenAI 的大佬们将Roboschool作为MuJuCo的替代品。可以在一个场景当中训练多个Agent并且完成一挑战任务。
软件环境安装
Roboschool①
Gym②
示例代码
在2017年7月17号,Roboschool发布了Version 1.1版本,其中导入了Atlas机器人模型,相关新闻可见NEWS③。
在安装好Roboschool环境后,从RoboschoolAtlasForwardWalk_v1_2017jul.py④
中找到控制 Atlas 前进走路的源码。
RoboschoolAtlasForwardWalk_v1_2017jul.py④
仿真
Python 运行代码,由于在 Train 的时候,没有对机器人上肢运动进行约束和优化,只关注了下肢的移动,最终训练的结果有点辣眼睛,我们可以看到一段魔性嚣张的步伐。
(, 下载次数: 297) 上传 点击文件名下载附件 摩擦摩擦,似魔鬼的步伐鼠标左键:旋转镜头鼠标右键:镜头平移按键F1: 开/关 慢动作按键F2: 隐藏/显示仿真步数和累积Rewards按键F3: 隐藏/显示Action和Observation在 机器人强化学习之使用 OpenAI Gym 教程与笔记⑤中介绍过使用导入 Gym模型和查看Observation和Action的相关参数,对于 Atlas也同样适用: (, 下载次数: 306) 上传 点击文件名下载附件 输出 (, 下载次数: 277) 上传 点击文件名下载附件 从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行走。总结1. Roboschool这个项目适合验证一些简单的强化学习任务,对于新引入的模型支持得还不太友好。2. 基本上没有什么成体系的说明文档,所以需要靠多阅读Roboschool和Gym的Python源码来使用。3. 如果有什么问题,欢迎评论留言交流~文中标记网址:①https://github.com/openai/roboschool②https://github.com/openai/gym③https://github.com/openai/roboschool#news ④https://github.com/openai/roboschool/blob/master/agent_zoo/RoboschoolAtlasForwardWalk_v1_2017jul.py⑤https://zhuanlan.zhihu.com/p/40673328⑥https://github.com/openai/roboschool/blob/master/roboschool/gym_atlas.py#L21 欢迎光临 乐聚社区 (https://bbs.lejurobot.com/) Powered by Discuz! X3.4
摩擦摩擦,似魔鬼的步伐
鼠标左键:旋转镜头
鼠标右键:镜头平移
按键F1: 开/关 慢动作
按键F2: 隐藏/显示仿真步数和累积Rewards
按键F3: 隐藏/显示Action和Observation
在 机器人强化学习之使用 OpenAI Gym 教程与笔记⑤中介绍过使用导入 Gym模型和查看Observation和Action的相关参数,对于 Atlas也同样适用:
(, 下载次数: 306) 上传 点击文件名下载附件 输出 (, 下载次数: 277) 上传 点击文件名下载附件 从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行走。总结1. Roboschool这个项目适合验证一些简单的强化学习任务,对于新引入的模型支持得还不太友好。2. 基本上没有什么成体系的说明文档,所以需要靠多阅读Roboschool和Gym的Python源码来使用。3. 如果有什么问题,欢迎评论留言交流~文中标记网址:①https://github.com/openai/roboschool②https://github.com/openai/gym③https://github.com/openai/roboschool#news ④https://github.com/openai/roboschool/blob/master/agent_zoo/RoboschoolAtlasForwardWalk_v1_2017jul.py⑤https://zhuanlan.zhihu.com/p/40673328⑥https://github.com/openai/roboschool/blob/master/roboschool/gym_atlas.py#L21 欢迎光临 乐聚社区 (https://bbs.lejurobot.com/) Powered by Discuz! X3.4
输出
(, 下载次数: 277) 上传 点击文件名下载附件 从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行走。总结1. Roboschool这个项目适合验证一些简单的强化学习任务,对于新引入的模型支持得还不太友好。2. 基本上没有什么成体系的说明文档,所以需要靠多阅读Roboschool和Gym的Python源码来使用。3. 如果有什么问题,欢迎评论留言交流~文中标记网址:①https://github.com/openai/roboschool②https://github.com/openai/gym③https://github.com/openai/roboschool#news ④https://github.com/openai/roboschool/blob/master/agent_zoo/RoboschoolAtlasForwardWalk_v1_2017jul.py⑤https://zhuanlan.zhihu.com/p/40673328⑥https://github.com/openai/roboschool/blob/master/roboschool/gym_atlas.py#L21 欢迎光临 乐聚社区 (https://bbs.lejurobot.com/) Powered by Discuz! X3.4
从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行走。
总结
1. Roboschool这个项目适合验证一些简单的强化学习任务,对于新引入的模型支持得还不太友好。
2. 基本上没有什么成体系的说明文档,所以需要靠多阅读Roboschool和Gym的Python源码来使用。
3. 如果有什么问题,欢迎评论留言交流~
文中标记网址:
①https://github.com/openai/roboschool
②https://github.com/openai/gym
③https://github.com/openai/roboschool#news
④https://github.com/openai/roboschool/blob/master/agent_zoo/RoboschoolAtlasForwardWalk_v1_2017jul.py
⑤https://zhuanlan.zhihu.com/p/40673328
⑥https://github.com/openai/roboschool/blob/master/roboschool/gym_atlas.py#L21