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)相关推荐

  1. 花最少的钱,训超6的机器人:谷歌大脑推出机器人强化学习平台,硬件代码全开源...

    鱼羊 发自 凹非寺 量子位 报道 | 公众号 QbitAI 想要在现实世界的机器人身上探索强化学习(RL),并非易事. 首先,你得拥有类似这样的机器人平台: 而像这样的一只PR2,售价高达40万美元( ...

  2. 谷歌大脑推出机器人强化学习平台,硬件代码全开源,花最少的钱,训超6的机器人...

    点击我爱计算机视觉标星,更快获取CVML新技术 鱼羊 发自 凹非寺 量子位 报道 | 公众号 QbitAI 想要在现实世界的机器人身上探索强化学习(RL),并非易事. 首先,你得拥有类似这样的机器人平 ...

  3. 多智能体强化学习Multi agent,多任务强化学习Multi task以及多智能体多任务强化学习Multi agent Multi task概述

    概述 在我之前的工作中,我自己总结了一些多智能体强化学习的算法和通俗的理解. 首先,关于题目中提到的这三个家伙,大家首先想到的就是强化学习的五件套: 状态:s 奖励:r 动作值:Q 状态值:V 策略: ...

  4. 干货 | 浅谈机器人强化学习--从仿真到真机迁移

    " 对于机器人的运动控制,强化学习是广受关注的方法.本期技术干货,我们邀请到了小米工程师--刘天林,为大家介绍机器人(以足式机器人为主)强化学习中的sim-to-real问题及一些主流方法. ...

  5. 招全奖博士!UNC Charlotte招收机器人/强化学习/控制博士

    点击下方卡片,关注"CVer"公众号 AI/CV重磅干货,第一时间送达 导师介绍: Dr. Wenhao Luo 目前就职于UNC Charlotte, 担任计算机系助理教授.Dr ...

  6. 机器人强化学习——Transferring End-to-End Visuomotor Control from Simulation to RealWorld (CoRL 2017)

    6.1 简介 面向场景:端到端的视觉驱动(图像->力矩或扭矩,Visuomotor).多阶段任务(multi-stage task). 任务:定位方块物体.reach.grasp.定位篮子.把方 ...

  7. 基于强化学习的自我完善聊天机器人

    Elena Ricciardelli, Debmalya Biswas 埃琳娜·里恰德利(Elena Ricciardelli) Abstract. We present a Reinforcemen ...

  8. 基于视觉模型强化学习的通用机器人

    点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达本文转自| 新机器视觉 人类的学习能力是无限的! 有时候,只要看一眼 ...

  9. 应用于真实世界机器人的强化学习

    https://www.toutiao.com/a6687548418732065283/ 机器人在整个现代工业中都很普遍.与上个世纪的大多数科幻作品不同,类人机器人仍然没有收拾我们的脏盘子和垃圾,也 ...

最新文章

  1. 记住,永远不要在MySQL中使用“utf8”
  2. ubuntu 为用户添加组
  3. Python_位_成员_身份运算符
  4. 卫星参数大全_【视频】早期国外做工精良的海事卫星电话机拆解
  5. HttpClientFactory 结合 Polly 轻松实现重试机制
  6. 使用SWAGGER和ASP.NET CORE设置可选路由参数
  7. 美国 cs 工作_我是如何退出美国CS计划的,回到埃及,然后立即在一家公司获得了一份开发工作。...
  8. IT技术 VS IT管理!为什么国内大公司都看不起搞技术的?
  9. 计算某一天是这一年的第几天
  10. 推理集 —— 特殊的工具(二)
  11. 39. PHP 错误与异常处理(3)
  12. 台达plc使用c语言编程软件,台达PLC编程软件_台达PLC编程软件官方版下载[plc编程]-下载之家...
  13. 联想打印机7256显示更换墨盒_联想打印机M7605D墨粉更换后还在提示更换墨粉盒...
  14. 土建中级工程师考试用书电子版_湖南土建中级职称教材1.pdf
  15. 【PCIe 实战】SNPS PCIe 开启 SRIS mode
  16. 图像处理领域术语英文对应
  17. idea替换和查找快捷键(看了不后悔系列)
  18. WIN10无法启动(启动画面转圈卡死)的解决方法
  19. 软考之下午题答题技巧
  20. BS架构和CS架构的对比

热门文章

  1. 【SDR】srsLTE安装、运行及测试
  2. 0011基于单片机电子密码锁控制系统设计
  3. pac文件提取服务器,[工具使用] privoxy 实现 PAC 请求过滤
  4. 女研究生因压力大欲跳海轻生 民警跳入冰冷海水中救人
  5. 半导体生产行业检测仪器远程在线式尘埃粒子计数器
  6. 韩国MBC、KBS、SBS
  7. 北京数字认证bjca证书垃圾,报错:错误代码 EC999
  8. STM32 用串口连接两个板子
  9. 在线视频编辑 剪辑系统源码 支持AE所有特效
  10. 中关村软件园附近美食一览