RL Pushing

This blog is a note for related papers and some stuff about our traget.

Goal

For now, goal is Pushing! More general, that is General contact-rich manipulation problems. 这类问题的特点就是对环境非常的敏感,而传统RL方法的一个特点是如果真实场景和训练是差距很大(环境是动态的),是很难得到一个很好地结果的。再者,对于这种与环境高度相关的问题,如何对一个动态的环境做出一个表示或者是一个理解也是至关重要的。目标就是来解决这样一个general的问题。

这类问题的一个实际例子就是pushing object。其中,目标是保持对象的直立姿势,使用机械臂+夹爪作为执行器(gripper),并将其堆到正确的随机的位置。 例如,推一杯水,水会晃,所以其质心是在变化的,同时不能让杯子倒下。而且环境的摩擦力也是不确定的。 当然,被推的物体也是不确定的,即: 被推的物体可能具有不规则的形状和质量分布,并且机器人可能会在物体上的任意点推动,这就导致动力学变得非常复杂。

Challenges:

Paper List:

  1. COCOI: Contact-aware Online Context Inference for Generalizable Non-planar Pushing 2020

Paper Notes

COCOI

Author: Zhuo Xu er al 2020

Problem Statement

Model as POMDP.

  • observation: 单目相机捕获到的图像+gripper的高度和夹爪open/close
  • action: designated position and orientation of the gripper + the gripper open/close command + termination boolean
  • reward: 到达终点(与终点距离的小于阈值)收益为1

下图为一个示例,对于该任务:被推的物体可能具有不规则的形状和质量分布,并且机器人可能会在物体上的任意点推动,最终目标位置也是不确定的

image-20210207231410176

Model/Algorithm

本部分将介绍具体COCOI的模型细节。

整体policy的学习使用Q-Learning的方法。

Online Context Inference (COI)

Online Context Inference就是一个Online的、结合历史信息的Q-function的一个estimator。下图就是这个Q-function estimator的网络结构。

image-20210208094455623

模型的上半部分是当前时刻的State+action作为输入,下半部分是历史信息(图像+力传感器数据)作为输入。这里的FCN指全连接。下半部分的作用就是让模型能利用历史信息并将其编码为动态的上下文表示(dynamics context representation),从而使policy具有推断对象动态的能力。

NOTE: 名字相同的块是共享参数的

The Contact-aware Sampling Strategy

本部分就是介绍如何从历史数据中来采样。主要包括两个问题:1. 使用多少个历史信息? 2. 使用什么时刻信息?使用哪些?

  1. 使用多少个历史信息?

直观来讲,使用更多的历史信息可以减小方差,the policy has more information to infer a potentially less noisy object dynamics representation. 但同时会增加存储空间和时间。实验结果:使用3个比较好

  1. 使用什么时刻信息?使用哪些?

显然完全随机的或者arbitrarily的方法可能会包含数量有限的信息。为了获取足够有意义(对于当前的context而言)的信息,提出了这个Contact-aware Sampling Strategy。实际上就是:它会主动检查安装在机器人夹具上的力扭矩传感器(force torque sensor),并且仅在接触力幅度很大(> 1 N)时收集样本。这样可以保证我们采到的历史数据是gripper和object接触时的数据。此时的模型就是COCOI。

Q: why 1N ?

如下图所示:下图的VCOI指:history samples are retrieved with a uniform sampling interval。

image-20210208095920331

Implement & Experiment

首先是如何克服从仿真到真实世界间的gap?作者使用的是RetinaGAN,目标是generate synthetic images that look realistic with object-detection consistency.

效果如下:

image-20210208100705802

仿真环境PyBullet,Q: In PyBullet, the contact physics between the robot gripper and the object is modelled using a point contact model with an elliptic friction cone.

训练framework:Qt-opt。训练的早期使用:基于规则的策略(rule-based scripted policy),该策略将抓爪沿着连接对象和目标的直线移动,以生成成功的episode并提高探索效率。

训练结果:COCOI:本文模型。VCOI:使用随机采样策略。Baseline:去掉COCOI的下半部分(即不考虑历史信息)。Oracle:相比于baseline额外输入:两个unobservable dynamics parameters(摩擦系数,物体的质量)

image-20210208102138633

Paper Reference

  1. Qtopt: Scalable deep reinforcement learning for vision-based robotic manipulation 2018
  2. Quantile qt-opt for risk-aware vision-based robotic grasping 2019
  3. Retinagan: An object-aware approach to sim-to-real transfer 2020 (本文中用于克服sim-to-real的gap)
  4. Pybullet, a python module for physics simulation for games, robotics and machine learning 2016