机器人强化学习——Comparing Task Simplifications to Learn Closed-Loop Object Picking Using DRL(2019 RAL)
1 简介
任务是reach、grasp、lift,比较了reward shaping、curriculum learning、迁移学习,并迁移到了真实机器人场景中。
本文抓取的方法框架是QT-Opt。
2 方法
相机位置
:机械臂腕部,眼在手上。
state
:深度图像、机械手张开宽度
action
:xyz平移、z轴旋转(想对于当前末端位姿)、机械手动作(开/闭)。每步平移最大1cm,
初始state
:随机选择n个物体放置在面积为l×ll\times ll×l的平面上,机械手放置在距离平面中心hroboth_{robot}hrobot的高度上,手指向下朝向平面。
任务离散化
:将任务建模为离散时间任务,最大时间步T=150T=150T=150。
任务结束
:当时间步达到TTT或到达目标状态时,一个epsilon结束。
原始reward
:任务结束时,如果物体高度达到hlifth_{lift}hlift,r=rTr=r_Tr=rT,否则r=0r=0r=0。
2.1 reward shaping
r=(grasp_detected)∗(rg+c∗Δh)−0.1−(rg+c∗Δhmax)r=(grasp\_detected)*(r_g+c*\Delta h) - 0.1 - (r_g+c*\Delta h_{max}) r=(grasp_detected)∗(rg+c∗Δh)−0.1−(rg+c∗Δhmax)
其中,grasp_detectedgrasp\_detectedgrasp_detected是二值化数,当程序检测到机械手抓住物体(不只是闭合)时,该值为1,否则为0;rg=1r_g=1rg=1,c=1000c=1000c=1000,Δh\Delta hΔh为最后一步机械手的高度增加值;−0.1−(rg+c∗Δhmax)- 0.1 - (r_g+c*\Delta h_{max})−0.1−(rg+c∗Δhmax)是时间乘法,使agent尽快完成任务,Δhmax\Delta h_{max}Δhmax为机械手每一步可能的最大高度增加值(应该是z轴平移的范围值)。
2.2 课程学习
进行逐步在增加的参数包括:工作空间尺寸lll、初始机械手高度hroboth_{robot}hrobot、物体提升高度hlisth_{list}hlist、场景中最大物体数量nmaxn_{max}nmax。
定义[0,1]之间的小数λ\lambdaλ来线性化获取每次训练的参数,当本次训练后的agent在多次epsilon(1000)的平均成功率达到阈值(0.7)后,再增加参数继续训练。
实验中分了8组参数,即8个难度递增的任务。
2.2 迁移学习
现在复杂度更低的任务上学习一个policy:action设置为xy平移和z轴旋转,z轴平移设置为固定的向下移动,一旦机械手达到预设的高度,闭合机械手并向上提升。reward为二值,成功提升物体5cm时r=rTr=r_Tr=rT,否则r=0r=0r=0。
训练完该policy后,使用该policy收集数据,然后用行为克隆
预训练原始任务的policy,再继续训练原policy。
2.3 网络及优化
首先使用自编码器
训练一个图像编码器,然后与机械手张开宽度合并后进行决策。
自编码器的目的是提取物体的形状、尺寸和距离,因此需要将平面和机械手从图像中去除。下图为RGB原图、去除平面和机械手的深度图标签、自编码器输出的深度图、图形误差:
深度图去掉的地方的值是什么?
训练该自编码器的数据集包含50000张图像,120epochs。训练完后,在所有实验中使用该编码器权重。
RL框架
:TRPO,使用多元高斯分布对policy进行建模,网络输出高斯分布的均值和log标准差。使用tanh激活函数将action限制在[-1,1]内。
通过torch.distributions.normal.Normal(均值,标准差)
建立高斯分布,然后使用类的sample()
函数采样action,使用log_prob(a)
计算log概率,从而可以优化TRPO。gym环境可以自动将给定的action阈值化到action空间内。
参考:PPO预测连续action——https://blog.csdn.net/qq_45590357/article/details/122759507
2.4 仿真
pybullet gym,只加载一个机械手而不加载机械臂,避免计算逆运动学,使用仿真相机渲染深度图。
2.5 迁移到真实机器人场景
真实深度图像中,图像边缘的噪声更大且有弯曲,机械手旁边的噪声也更大,因此使用椭圆形mask过滤掉图像边缘,使用膨胀mask过滤掉机械手手指,使用RANSAC方法去除掉平面。最终只保留含噪声的物体区域。
3 实验
仿真实验
:
进行了五组实验:reward shaping、reward shaping和课程学习组合、原始稀疏reward和课程学习组合、、将简单任务上训练的policy行为克隆到复杂任务后继续训练。下图展示了训练曲线,横轴是与环境交互的step数量,纵轴是成功率:
在不同任务下的性能比较如下:
课程学习的成功率是在不同难度的任务上评估的,所以在1∗1e6−3∗1e61*1e6-3*1e61∗1e6−3∗1e6期间,成功率都在0.7附近,3∗1e63*1e63∗1e6之后在最终任务上持续训练,成功率持续上升。
在简单任务上训练的policy也是在简单任务上测试的,成功率比在复杂任务中的更低的原因是,机械手有时在到达预定高度(用来激活抓取动作)前速度过慢,作者设定的碰撞检测程序直接把任务中断了(避免浪费时间)。
结果表明,课程学习比reward shaping效果好太多。
最好的组合是:reward shaping + 课程学习
。
与迁移学习的agent相比,从头开始学习的agent学到了一个有趣的行为:当抓取失败时,机械手抬高以避免视野中没有物体,从而提高抓取成功的机会;迁移学习的agent产生了向下移动机械手的严重倾向。
单纯的BC会导致机械手在与物体对齐后不会闭合机械手,因为简单任务中闭合机械手是由启发式程序激活的。
课程学习的消融实验
:
如果在课程学习过程中,始终将提升高度hlifth_{lift}hlift设置为最大值,对结果影响很大;尤其是使用原始reward时,固定hlifth_{lift}hlift导致根本无法收敛,因为直接提升到最终高度的概率非常小。
固定机械手初始高度hroboth_{robot}hrobot使收敛缓慢,最终成功率也有点下降。
固定物体放置范围lll对收敛速度和最终成功率都有影响,但影响不大。
固定物体数量nmaxn_{max}nmax对结果几乎没影响。
真实场景实验
:
对比了在仿真实验中表现好的三个模型:原始reward+课程学习、reward shaping+课程学习、原始reward+预训练(迁移学习)。
当关节角速度过高时,中断任务。
成功率下降较多是因为:(1)仿真中抓物体边缘也可以抓住,但是真实场景会抓取失败;(2)机械手与物体交互时可能触发安全机制。
原始reward+预训练 比 原始reward+课程学习的成功率高, 因为启发式的碰撞检测引导agent向下运动,导致reward=0。(没懂)
由于深度相机噪声,机械手有时在达到可抓取的深度前就闭合了,导致抓取失败。
4 总结
尽管迁移到现实场景中的抓取成功率只有78%,但是通过更好的sim-to-real方式能提高。
平移的action使运动有点不稳,policy预测速度或扭矩会使运动更平滑。
文中的深度图像过滤是建立在物体放置在平面的假设上,导致本文方法在其他场景不一定成功,但眼在手上的相机安装方式使方法的泛化性更好,因为机械手和物体的相对位姿对于选择action是重要的(眼在手外也可以吧)。
不同场景需要不同的相机位置。
机器人强化学习——Comparing Task Simplifications to Learn Closed-Loop Object Picking Using DRL(2019 RAL)相关推荐
- 花最少的钱,训超6的机器人:谷歌大脑推出机器人强化学习平台,硬件代码全开源...
鱼羊 发自 凹非寺 量子位 报道 | 公众号 QbitAI 想要在现实世界的机器人身上探索强化学习(RL),并非易事. 首先,你得拥有类似这样的机器人平台: 而像这样的一只PR2,售价高达40万美元( ...
- 谷歌大脑推出机器人强化学习平台,硬件代码全开源,花最少的钱,训超6的机器人...
点击我爱计算机视觉标星,更快获取CVML新技术 鱼羊 发自 凹非寺 量子位 报道 | 公众号 QbitAI 想要在现实世界的机器人身上探索强化学习(RL),并非易事. 首先,你得拥有类似这样的机器人平 ...
- 多智能体强化学习Multi agent,多任务强化学习Multi task以及多智能体多任务强化学习Multi agent Multi task概述
概述 在我之前的工作中,我自己总结了一些多智能体强化学习的算法和通俗的理解. 首先,关于题目中提到的这三个家伙,大家首先想到的就是强化学习的五件套: 状态:s 奖励:r 动作值:Q 状态值:V 策略: ...
- 干货 | 浅谈机器人强化学习--从仿真到真机迁移
" 对于机器人的运动控制,强化学习是广受关注的方法.本期技术干货,我们邀请到了小米工程师--刘天林,为大家介绍机器人(以足式机器人为主)强化学习中的sim-to-real问题及一些主流方法. ...
- 招全奖博士!UNC Charlotte招收机器人/强化学习/控制博士
点击下方卡片,关注"CVer"公众号 AI/CV重磅干货,第一时间送达 导师介绍: Dr. Wenhao Luo 目前就职于UNC Charlotte, 担任计算机系助理教授.Dr ...
- 机器人强化学习——Transferring End-to-End Visuomotor Control from Simulation to RealWorld (CoRL 2017)
6.1 简介 面向场景:端到端的视觉驱动(图像->力矩或扭矩,Visuomotor).多阶段任务(multi-stage task). 任务:定位方块物体.reach.grasp.定位篮子.把方 ...
- 基于强化学习的自我完善聊天机器人
Elena Ricciardelli, Debmalya Biswas 埃琳娜·里恰德利(Elena Ricciardelli) Abstract. We present a Reinforcemen ...
- 基于视觉模型强化学习的通用机器人
点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达本文转自| 新机器视觉 人类的学习能力是无限的! 有时候,只要看一眼 ...
- 应用于真实世界机器人的强化学习
https://www.toutiao.com/a6687548418732065283/ 机器人在整个现代工业中都很普遍.与上个世纪的大多数科幻作品不同,类人机器人仍然没有收拾我们的脏盘子和垃圾,也 ...
最新文章
- 记住,永远不要在MySQL中使用“utf8”
- ubuntu 为用户添加组
- Python_位_成员_身份运算符
- 卫星参数大全_【视频】早期国外做工精良的海事卫星电话机拆解
- HttpClientFactory 结合 Polly 轻松实现重试机制
- 使用SWAGGER和ASP.NET CORE设置可选路由参数
- 美国 cs 工作_我是如何退出美国CS计划的,回到埃及,然后立即在一家公司获得了一份开发工作。...
- IT技术 VS IT管理!为什么国内大公司都看不起搞技术的?
- 计算某一天是这一年的第几天
- 推理集 —— 特殊的工具(二)
- 39. PHP 错误与异常处理(3)
- 台达plc使用c语言编程软件,台达PLC编程软件_台达PLC编程软件官方版下载[plc编程]-下载之家...
- 联想打印机7256显示更换墨盒_联想打印机M7605D墨粉更换后还在提示更换墨粉盒...
- 土建中级工程师考试用书电子版_湖南土建中级职称教材1.pdf
- 【PCIe 实战】SNPS PCIe 开启 SRIS mode
- 图像处理领域术语英文对应
- idea替换和查找快捷键(看了不后悔系列)
- WIN10无法启动(启动画面转圈卡死)的解决方法
- 软考之下午题答题技巧
- BS架构和CS架构的对比