对Learning Agent-Aware Affordances for Closed-Loop Interaction with Articulated Objects的简单理解
1. 以往工作缺陷,当前工作所做内容
与铰接物体进行交互对于移动机器人来说是一个重要的任务,以往的工作似乎没有考虑移动机器人的点,大部分的机器人都是在原地fix的。
为解决这个问题提出了一个完整的闭环控制pipeline,聚集了基于采样的、机器人整体控制的Affordance estimation先验。引入了 “智能体感知的Affordance”概念,能够更好地根据智能体自身的状态来调整执行的动作等,实验结果超出了那些仅考虑end-effector的方法。
另外,闭环Affordance的推理允许智能体将任务分为多个不连续的动作,并能够对失败和非预期状态进行处理。这也使得这个pipeline能够去执行长期的移动操纵任务。
2. 问题定义
状态 x = [ q , o , q ˙ , o ˙ ] x=[q,o,\dot{q},\dot{o}] x=[q,o,q˙,o˙]表示机器人的配置、物体的配置,以及二者的时间导数,其中 q q q由机器人移动基相对于物体的位置,以及操纵器的关节角度组成。其中,机器人的运动结构和物体几何、铰接被作为先验提供。
给定物体目标配置 o ∗ o^* o∗、来自机器人视点 C C C的点云,以及当前状态观察 x x x,完整的目标是找到机器人控制策略,以生成关节运动指令 u u u使得 o = o ∗ o=o^* o=o∗。
3. 智能体感知的Affordance学习
整体架构由新的控制管线,由一个智能体感知的Affordance生成网络和一个基于整体采样的控制器组成。
给定物体点云 C C C和目标配置 o ∗ o^* o∗。
从 C C C中,可以通过segmentation mask提取movable object part(通过分割的mask提取可移动部件),接着根据分割,使用一个Affordance neural network来选择一个end-effector interaction pose(由点 p ∈ R 3 p∈\R^3 p∈R3和方向 R ∈ S O ( 3 ) R∈SO(3) R∈SO(3)组成)。
这个interaction pose被用于sampling-based controller k k k生成joint velocity commands(关节速率命令?) u = k ( x ∣ o ∗ , p , R ) u=k(x|o^*,p,R) u=k(x∣o∗,p,R)。
当交互失败或 o o o的状态不再发生改变时,出发一个task schedule来进行姿态更新。
3.1 基于Affordance的pose模块
Pose推理: 奖励函数设定为 J ( x 0 : N , k ( x 0 : N − 1 ) ∣ o ∗ ) J(x_{0:N},k(x_{0:N-1})|o^*) J(x0:N,k(x0:N−1)∣o∗),给定物体目标配置 o ∗ o^* o∗,将系统状态 x 0 : N {x_{0:N}} x0:N和控制器输入 u 0 : N − 1 {u_{0:N-1}} u0:N−1轨迹映射到二进制奖励值。
给定物体和它的目标配置 o ∗ o^* o∗,将交互姿态 ( p , R ) (p,R) (p,R)的Affordance A A A定义为 J J J的期望值。也就是控制器 u = k ( x ∣ o ∗ , p , R ) u=k(x|o^*,p,R) u=k(x∣o∗,p,R)从初始状态 x 0 x_0 x0开始,诱导得到的所有状态输入轨迹上 J J J的期望值。
通过最大化Affordance函数 A A A来推理最优交互姿态(指的应该是 ( p , R ) {(p,R)} (p,R))是不现实的,因为存在的可能的交互位置和交互方向是非常大的,因此follow了之前的方法定义了两个辅助函数。一个是orientation proposal function Q Q Q(方向建议函数)在给定interaction point(交互点)的情况下生成end-effector的orientation proposal(运动方向建议)。一个运动能力函数 α \alpha α来建模每个点在交互方向分布上的期望Affordance A A A。
测试过程中,首先通过最大化 α \alpha α来选择交互点。接着生成多个方向建议并评估它们的Affordance。最后,就可以得到最高分的姿态建议 ( p , R ) (p,R) (p,R),并将其传递给基于采样的控制器。
网络结构: 运用了Where2Act中的Affordance A A A、Orientation Proposal Q Q Q和运动能力评分 α \alpha α。这里和Where2Act以及VAT-MART网络结构十分类似。
数据搜集: 模拟环境中进行数据搜集。模拟完整的控制流水线、目标机器人平台的运动控制链、碰撞体和动力学,便于创造智能体感知的Affordance。在物体移动部件上采样随机的交互姿态 ( p , R ) (p,R) (p,R),方向仅在点 p p p处曲面发现的45°锥体内进行采样。给定采样的pose和目标配置 o ∗ o^* o∗,基于采样的控制器尝试去与物体交互10s。如果物体配置朝目标 o ∗ o^* o∗的改变超过5°,则二元奖励将此评价为成功。最后将数据集的成功和不成功采样平衡成相同的数量。使用sampling-based controller来生成训练数据的成功率相对较高(13.6%)。
训练和损失: 给定点云和交互采样 ( p , R , o ∗ , J ) (p,R,o^*,J) (p,R,o∗,J),训练pose module,其中Affordance module使用二分类交叉熵损失预测,orientation proposal module使用平均余弦相似性损失,actionability module使用L1 loss训练。
给定pose proposal的GT actionability可以从Affordance和Orientations模块进行计算。
3.2 控制管线
Sampling-based controller: 使用一个物理引擎来正向模拟机器人和物体的系统动力学,以迭代地精炼运动轨迹。每一个时间步下,其在最佳猜测附近采样多个机器人关节速率参考 u u u,并在1s内模拟生成的系统动力学。接着基于多个组件组成的成本函数来选择最佳轨迹。
成本函数编码了距离目标 o ∗ o^* o∗的偏移量,碰撞代价惩罚以惩罚机器人和物体的碰撞,关节限制成本和手臂到达成本以组织机械上不可达的配置。最后,将pose reach成本定义为end-effector和参考位姿 ( p , R ) (p,R) (p,R)之间的距离,使得优化问题可行。最后,一个low-level的proportional-integral controller将速度参考 u u u转换为执行的关节扭矩命令。
Task Schedule: 为了增加系统鲁棒性,应用了一个闭环的Affordance推理设定,是的机器人可以在当前状态不再改变的时候改变其交互姿态。实践过程中,task schedule在物体状态成本停滞时触发pose更新。为了更新pose,机器人将会移动到能够观察整体物体状态的位置,重新扫描点云,进行分割, 通过pose module并获得新的interaction pose。