前面几节,我们已经把PPO算法实现完成了,下面只剩下环境了。今天我们把环境的封装完成。 对于机械臂或者机器人的训练来说,一个比较好用的仿真器是pybullet,另外一个是unity。gazebo、vrep等虽然可以做,但是相比pybullet直接使用Python驱动,没有额外的操作来说,gazebo和vrep都显得繁琐了一些,而且在强化学习方面,pybullet的生态较好。unity因为有unit
前面两节讲完了critic、actor以及缓冲区的设计,下面就到了actor和critic的损失函数的环节了。对于神经网络来说,最重要的就是计算损失函数进行反向传播更新参数了。在计算损失函数之前,需要有batch的数据,所以上一节也把缓冲区的设计完成。这节完成损失函数的设计和整个PPO算法的更新。 价值函数的损失函数 价值函数的损失计算较为简单,我们一般使用当前obs的价值函数与reward-to
我们继续上一篇文章。 上一篇已经完成了critic的设计,下面我们再来把actor完成。 actor actor在算法中的工作流程就是observation(1x3) -> actor -> act(1x3) 同样的,actor也是一个mlp,只是在输出维度上与critic不同,critic输出的是一个值,而actor输出的是一个1x3的数组。 我们同样也是调用提前写好的mlp函数,来
已经脱更好久了,最近在金山实习,白天做公司的游戏项目,晚上做自己的课题,实在是抽不出时间。接下来几篇,我们要实现一个机械臂reach的训练,先看一下要达到的效果。再看一下训练过程。 接下来我们开始一点点的实现起来。 这一节首先从算法开始吧,我们要用的也是目前的state-of-art算法,PPO算法。建议大家先读读PPO的论文Proximal Policy Optimization Algori
题目有些啰嗦,到底说了个啥意思呢? 首先,是一个SlideBars控制,那啥是SlideBars控制呢? 就是图中右侧的滑条,可以通过滑条控制机械臂的关节角度,作用就是可以看到每个关节的属性、每个关节对机械臂的运动产生的作用,以及一些其他的调试操作。 再来说说做这个SlideBars封装的意义。如果是按照pybullet提供的API,添
我们继续上一篇文章pybullet杂谈 :使用深度学习拟合相机坐标系与世界坐标系坐标变换关系(一),在上一篇文章中,我们完成了物体世界坐标系和相机坐标系的坐标对应关系的数据,以及数据的存取和物体轮廓中心在相机坐标系中的识别等任务,今天的任务就是使用世界坐标系和相机坐标系的坐标数据,通过神经网络来拟合两个坐标系之间的变换关系。 首先要思考以下这个神经网络结构该怎么设计?
ray的强大不仅在于他是分布式计算框架,更是因为有RLLib和tune的加持。tune的使用上一节我们已经讲了,这一节我们来看一下RLLib的使用。虽然后讲的rllib,但是真正训练的时候,还是tune使用的多,因为它调节超参数是很方便的,而rllib不具有自动调节超参数的能力。 在使用rllib之前,需要使用命令 pip install ray[rllib] &
超参数的设置对强化学习算法的训练效果起着非常重要的作用,如果超参数没有调整好,可能非常好的网络结构和强化学习算法也发挥不出优势。超参数的调整是一项非常困难又略带玄学的工作,好在ray的tune能自动帮我们进行超参数的调整,找到最优的超参数。 下面我们通过例子来看一下tune的使用。 在开始使用之前,需要通过 pip install ray[tune] &nb
目前训练强化学习智能体需要越来越多的数据和算力,分布式计算是加快训练过程的重要一环。Ray(RLlib)是由UC Berkeley’s RISE Lab在2017年发布,目前已经成为强化学习训练中使用最广泛的分布式框架以及性能最好的强化学习计算框架。下图是我在facebook发起的一个投票,虽然样本总量很少,但是ray(RLliib)得到了最高票。
在开始之前,先送上本篇文章的彩蛋——我竟然在pybullet里放烟花!!! 声明:彩蛋与文章主要内容无关,纯粹图个开心。 一、前言 在进行机械臂抓取的时候,需要获得相机坐标系与世界坐标系的转换关系,也就是需要进行相机标定。而在pybullet中,这项工作少有资料,不过还是有三个思路可供选择: 1)在使用getCameraImage()
这是今天我们要实现的目标。在上一篇文章深度强化学习专栏 —— 2.手撕DQN算法实现CartPole控制中,我们已经根据论文从头实现了一个DQN算法,准确的说是MlpDQN(另一种是CnnDQN),即多层感知DQN,因为在神经网络部分,我们使用的不是论文中描述的卷积网络,而是全连接的多层感知机。为什么使用多层感知机而不是卷积网络呢?很简单呢,我们是将Ca
上面的动画是本篇文章要达到的效果:一开始杆子不能稳定的倒立,经过一会的训练(自我学习),杆子可以稳定的倒立。这篇文章继续上文深度强化学习专栏 —— 1.研究现状中最后提到的使用深度强化学习实现倒立摆的前奏。本节我们从DQN(Deep Q-Network)算法开始说起,会经历阅读论文、手撕算法、最后实现CartPole倒立几个过程。
ur机械臂 + robotiq gripper + robotiq ft sensor + gazebo + 连接真实机械臂 + 网页控制 仓库地址:[ur_ws](https://github.com/borninfreedom/ur_ws),欢迎debug和develop。 xacro制作 连接真实机械臂 gazebo、moveit 网页控制  
使用UR机械臂最新的 ur_robot_driver 一、下载ros package 二、配置示教器 三、配置Ubuntu网络 1. 查看显卡名称 2.设置静态IP 3.重启 4.现在看看右上角网络连接有没有显示对应于控制柜的网络显示已经连接。 四、运行程序测试 1.获取标定信息 2
自2013年DeepMind的论文Playing Atari with Deep Reinforcement Learning中提出的DQN(Deep Q-Network)算法实现程序学习到如何打Atari游戏以来,深度强化学习迎来了大发展的时机。 2015年DeepMind发布的Human-level co
对于做ROS或者机器学习、深度学习的小伙伴,(重)装Ubuntu系统已经轻车熟路了吧。不经意间,升级内核导致显驱失效无法开机、ROS不小心搞坏,修复不如重装、或者首次安装系统等困扰,Ubuntu应用商店不好用、挨个装软件又很麻烦、有些软件还要搜索一下安装方式等等苦恼,都交给【Ubuntu助手】这个软件来解决,有什么需求,统统提交给作者。说了这么多,软件长什么样呢? 具体怎么使用呢? 简单的
能加个微信交流下强化学习吗 15621465986
老哥继续更啊,我也对c艹的torch很感兴趣
这个是我之前做的了,现在已经重装好几次系统了,我也没法再运行代码看了,你谷歌一下试试吧
15621465986 加个微信聊
积分
粉丝
勋章
看不清?点击更换
第三方账号登入
第三方账号登入
QQ 微博