今天我们来了解一下今年CORL的best paper: A system for general in-hand object Re-Orientation.(https:// taochenshh.github.io/pr ojects/in-hand-reorientation )
首先我们来了解一下任务:in-hand orientation, 就是操纵在手中的物体. 这篇文章的具体任务就是:给定初始手和物体的位置以及姿态, 再告诉物体末态的姿态,然后让手来操作这个物体使其从初始状态到达末态. 我们在日常生活中有大量类似的任务:比如转笔等动作. 大家对这个方向可能最熟悉的工作就是OPENAI曾经做的手转魔方。这类问题主要困难在复杂的contact dynamics. 我们可以想一下, 如果是走路, 我们的脚会和地面进行有规律性的接触. 但是对于手部操作,接触点的位置可能会频繁地发生变化. contact状态发生变化意味着整个系统开始出现突变(导数不连续), 从而导致整个问题的优化求解变得极为困难. 除此之外,手的自由度就很高, 使得问题的搜索空间也很大.
之前的相关工作可以大体上分为两类:model-based method和model-free method. model-based method需要我们建立一个精确的physics dynamics model, 利用它来指导问题的求解. 比如我们可以用一个神经网络来拟合系统的dynamics equation, 再使用model-based RL来求解问题. 再或者我们显式地建立牛顿力学方程,把这些方程做为优化问题的约束来求解. 总而言之, model-based的方法较为复杂, 而且很难推广到现实的机器人上, 大多用于CG以及simulation. 第二类方法是model-free methods, 即不建立dynamics model, 直接暴力搜索求解问题. 比如model-free RL就是这类方法, 我们把整个系统当作black box, 通过定义的reward function来求解问题. 这类方法通常较为简单, 缺点是搜索空间较大, 不一定能够学到满足我们需求的策略. 之前的model-free method只在一些较为简单的task上进行了测试, 比如openai训练机械手转魔方, 而且需要高精度的mocap设备获取被操作物体的位置信息. CORL的这篇best paper处理了大量不同的几何体, 并且不需要获取精确的geometry信息, 只需要获取大概的点云即可. 由于这些优点,他们的方法更容易被部署在真实机器人上.
这篇文章的核心想法很intuitive: 如果我们直接训练机械手以少量物体信息作为输入完成任务,可能太困难了. 但是我们在simulation中可以获取物体的全部信息. 所以我们可以拿full state作为policy network的输入训练一个teacher network. 然后训练partial state的policy network时利用teacher network提供action的label.
我个人觉得这个想法很有趣, 在真实世界中部署的机器人很难获取周围环境和自身的精确信息,所以很难在硬件上用RL. 所以我们可以在simulation中先获取精确信息训练出一个策略, 然后再利用这个teacher策略来训练模糊信息下的控制策略, 最后辅以sim2real就可以拿到一个在真实环境中运行的机器人了.
这篇文章很有意思的一点是: 通过在大量物体上的训练,得到的control policy可以直接用来处理其他不同的几何体. 换而言之, 即便我们不知道物体准确的几何形状,也可以完成reorientation的task. 这件事情乍一想反直觉, 但是再思考一下也觉得符合我们人类的策略, 人即便是没有精确的几何信息甚至闭上眼睛也可以完成这个task.
总结一下,这篇文章利用了teacher studuent的学习策略, 得到了一个可以在不精确几何信息下转动大量不同几何体的手部控制器. 方法思想简单,效果fancy, 一颗赛艇!