本文主要是介绍InsertionNet - A Scalable Solution for Insertion 论文阅读,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
InsertionNet - A Scalable Solution for Insertion 论文阅读
论文地址:InsertionNet - A Scalable Solution for Insertion | IEEE Journals & Magazine | IEEE Xplore
一、要解决什么问题?
We introduced a novel framework for learning a wide range of insertion tasks. We address the wear-and-tear and safety issues in contact-rich tasks by formulating the residual policy in a regression form.
原来是说,强化学习在学习残余策略的过程中会带来磨损和安全性的问题(关于residual RL大家可以自行学习)。所以打算用回归的方式学习这个残余策略。但是回归数据采集过程不是也会有磨损之类的嘛(笑)?只能说能对上述磨损和安全性问题进行一定程度的限制。
二、创新点是什么?
1、把强化学习的过程弄成了监督学习。
2、反向学习,也就是从目标位置倒回去采数据。这其实很常见,在插孔的IRL中,有不少从孔底“拔”出来的运动过程中采集数据的。
3、关于视觉和触觉的数据增强。
4、16种插孔任务。展示效果很赞。
三、具体做法是什么?
在这里就介绍一下主要思想,不放特别具体的了。
1、整体插孔策略
策略分两部分:在接触前利用视觉粗定位信息计算轨迹,然后用PD控制跟踪;在接触后转用监督学习获得的残余策略,完成插孔部分。正好对应作者非常引以为傲的两个real-sense的安装方式。
其中45°的real-sense用于残余策略的数据采集,竖直向下的real-sense使用ORB算法进行视觉粗定位。
2、残余策略
按照以往的经验,大伙都是用强化学习做这部分策略的。转念一想,策略无非是个状态空间到动作空间的映射为什么不能用监督学习呢?规定了多模态输入,以及控制输出,再把网络一搭,一个监督网络框架就有了。剩下的难点主要是数据的采集,特别是标签数据(机器人控制输出)怎么打上。
3、数据采集
上面也提到了,采数据过程是反过来的。先记录最终状态,然后在一个圆盘大小的地方去采样前一个姿态,并从最终状态运动过去。当在运动过程中力和力矩超过设定阈值,就记录当前数据为数据集,标签则为当前位姿与目标位姿的差。
B x y ≜ { ( x , y ) : ∥ ( x , y ) − ( x 0 , y 0 ) ∥ ∞ < b 0 } B _ { x y } \triangleq \{ ( x , y ) : \| ( x , y ) - ( x _ { 0 } , y _ { 0 } ) \| _ { \infty } < b _ { 0 } \} Bxy≜{(x,y):∥(x,y)−(x0,y0)∥∞<b0}
上式表明了采样点限定的范围,其中b0是人为设定的(在文中是10mm),有了数据就当一个监督学习train就行了。文中还说用了2个2080Ti就train了40分钟,网络本身还是比较简单的。
四、实验是怎么设计的?
本文设计实验为了验证的四个点都是与泛用性相关的,好是好但总觉得少了些什么(比如与RL的对比?)。
五、简单总结
关注机器人插孔任务的值得一看!这个内容看起来相对简单一些,复现起来难度应该也要低一些。另外,这篇论文的创新性似乎还有些欠缺,就像在创新性分析的那章讲的,方法早就已经不是什么新方法了。不过能在16种插孔任务上都有不错的表现,也值得承认这种方法的高效与通用。
这篇关于InsertionNet - A Scalable Solution for Insertion 论文阅读的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!