VAT-MART

论文链接:https://arxiv.org/pdf/2106.14440.pdf

主要目的

使机器人更好地感知和操控3D铰接物体,如柜子、门等

主要思路

如下图所示,给定一个输入物体后,框选出互动的具体范围,再依次选择最合适的交互点和操作轨迹。
在这里插入图片描述

具体流程

给定物体 O O O和它的铰链部分 P = { P 1 , P 2 , ⋯   } \mathscr{P}=\{P_1,P_2,\cdots\} P={P1,P2,},交互类型为 T T T,操作任务为 θ \theta θ,我们训练了一个感知系统,会对 P \mathscr{P} P上的每一个点 p p p进行稠密估计,得到 p p p点的可操作性评分 a p ∣ O , T , θ ∈ [ 0 , 1 ] {a_{p|O,T,\theta}\in[0,1]} apO,T,θ[0,1],用来表示在 p p p找到一个 T T T类的运动轨迹完成任务 θ \theta θ的概率。运动轨迹的集合定义为 P p ( ∣ O , T , θ ) \mathbb{P}_p(|O,T,\theta) Pp(O,T,θ)。从而,我们可以采样不同的轨迹 τ p ∣ O , T , θ \tau_{p|O,T,\theta} τpO,T,θ以及其对应的成功完成任务可能性 r τ ∣ O , p , T , θ ∈ [ 0 , 1 ] r_{\tau|O,p,T,\theta}\in[0,1] rτO,p,T,θ[0,1]

输入

将物体 O O O以点云的形式 S O S_O SO输入。考虑两种典型的交互方式:推和拉。仅仅考虑一自由度的关节,从而任务 θ ∈ R \theta\in\mathbb{R} θR。针对棱柱形关节,如抽屉,使用长度来衡量任务 θ \theta θ(柜子被推进去或者拉出来多少), θ ∈ [ − 1 , 1 ] \theta\in[-1,1] θ[1,1];针对旋转关节,比如冰箱门,使用弧度来衡量任务 θ \theta θ(冰箱门被打开或者合上了多少), θ ∈ [ − π , π ] \theta\in[-\pi,\pi] θ[π,π]

输出

p p p点的可操作性评分 a p ∣ O , T , θ a_{p|O,T,\theta} apO,T,θ(衡量点的潜力)以及其每条轨迹的成功可能性得分 r τ ∣ O , p , T , θ r_{\tau|O,p,T,\theta} rτO,p,T,θ(衡量轨迹的好坏)的取值都在 [ 0 , 1 ] [0,1] [0,1]之间。越高的得分意味着更高的可能性。 τ p ∣ O , T , θ \tau_{p|O,T,\theta} τpO,T,θ由一些列6自由度的位置点构成。

网络结构

VAT-MART系统,如下图所示,包括两个部分:一个探索不同行动轨迹的RL策略和一个学习所提出的可操作视觉先验的感知系统。RL策略收集交互轨迹来监督感知网络,而感知系统提供了好奇心反馈,以鼓励RL策略进一步探索不同的解决方案。在我们的实现中,我们首先对RL策略进行预训练,然后用RL收集的数据训练感知网络,最后开启好奇心反馈,对两部分进行微调。
在这里插入图片描述

RL模块

RL使用TD3网络来生成可能的轨迹,来监督感知模块(perception)的学习。在测试模块,只使用感知模块。

任务初始化

首先对待交互的物体形状进行随机采样,使选到不同形状物体的概率相同。对于任务 θ \theta θ,选择为[10°,70°]或者[0.1,0.7]。设定初始状态 θ 0 \theta_0 θ0,保证任务 θ \theta θ可以被完成。

状态空间

一自由度位姿变化 Δ θ i = θ i − θ 0 \Delta\theta_i=\theta_i-\theta_0 Δθi=θiθ0,初始状态机械臂夹子的位姿 w p 0 = ( x 0 , R 0 ) ∈ S E ( 3 ) wp_0=(x_0,R_0)\in SE(3) wp0=(x0,R0)SE(3),当前状态机械臂夹子的位姿 w p i = ( x i , R i ) ∈ S E ( 3 ) wp_i=(x_i,R_i)\in SE(3) wpi=(xi,Ri)SE(3)。夹子的局部位置 x f ∈ R 2 x_f\in\mathbb{R}^2 xfR2,当前互动点的位置 p i ∈ R 3 p_i\in\mathbb{R}^3 piR3,铰链关节轴的法向方向 n j ∈ R 3 n_j\in\mathbb{R}^3 njR3,铰链关节的位置 x j ∈ R 3 x_j\in\mathbb{R}^3 xjR3(定义为铰链关节轴上最靠近互动点 p p p的点) p p p点到铰链关节轴的最短距离定义为 d c j ∈ R d_{cj}\in\mathbb{R} dcjR x j x_j xj p p p的方向向量定义为 n c j ∈ R 3 n_{cj}\in\mathbb{R}^3 ncjR3。将这些信息结合成一个33维的向量送入到RL中。

行动空间

在每个时间步长,我们预测夹子姿态变化 w p i − w p i − 1 ∈ S E ( 3 ) wp_i−wp_{i-1}\in SE(3) wpiwpi1SE(3),以确定下一步路径点 w p i wp_i wpi,并且作为RL网络的动作输出。我们估计了一个中心偏移量 x i − x i − 1 ∈ R 3 x_i−x_{i−1}\in\mathbb{R}^3 xixi1R3和一个欧拉角差 R i − R i − 1 ∈ S O ( 3 ) R_i−R_{i−1}\in SO(3) RiRi1SO(3)

回报设计

这里主要介绍任务回报,好奇心回报在后续介绍。
1)任务完成,给予500的回报值。
2)奖励向任务完成靠近的步骤,即 ∣ θ − Δ θ i − 1 ∣ − ∣ θ − Δ θ i ∣ > 0 |\theta-\Delta\theta_{i-1}|-|\theta-\Delta\theta_{i}|>0 θΔθi1θΔθi>0的步骤,给300的回报值。
3)当夹子尖和互动点 p p p距离 d g c d_{gc} dgc较远时,给予惩罚 100 ⋅ 1 [ d g c > 0.1 ] + 50 d g c 100\cdot1[d_{gc}>0.1]+50d_{gc} 1001[dgc>0.1]+50dgc。(当$d_{gc}>0.1时, 1 [ d g c > 0.1 ] = 1 1[d_{gc}>0.1]=1 1[dgc>0.1]=1,否则为0)。

结束依据

任务完成或者运行了五个步骤。

感知模块

感知模块以RL模块收集的轨迹为输入,输出 p p p点的可操作性评分 a p ∣ O , T , θ ∈ [ 0 , 1 ] {a_{p|O,T,\theta}\in[0,1]} apO,T,θ[0,1]、运动轨迹的集合 P p ( ∣ O , T , θ ) \mathbb{P}_p(|O,T,\theta) Pp(O,T,θ)以及每条轨迹对应的成功完成任务的可能性 r τ ∣ O , p , T , θ ∈ [ 0 , 1 ] r_{\tau|O,p,T,\theta}\in[0,1] rτO,p,T,θ[0,1]

输入编码器

使用PointNet++得到物体的点云 S O S_O SO,每一个点的特征 f s f_s fs是一个128维的向量。使用三个MLP分别将交互点 p p p、轨迹 τ \tau τ以及任务 θ \theta θ转换为 f p ∈ R 32 , f τ ∈ R 128 , f θ ∈ R 32 f_p\in\mathbb{R}^{32},f_\tau\in\mathbb{R}^{128},f_\theta\in\mathbb{R}^{32} fpR32,fτR128,fθR32。在将所有路径点信息扁平化后,我们将每个轨迹序列转化为一个30维向量。

Actionability Prediction Module

用来输出可操作性评分 a p ∣ O , T , θ ∈ [ 0 , 1 ] {a_{p|O,T,\theta }\in[0,1]} apO,T,θ[0,1],输入点云 S O S_O SO,输出可操作性评分组成的图 A O , T , θ A_{O,T,\theta} AO,T,θ

Trajectory Proposal Module

该模块通过一个条件自动编码器(cVAE)构成,包含了一个轨迹编码器:用来将输入轨迹 E τ E_\tau Eτ变成高斯噪声 z z z,一个轨迹解码 D τ D_\tau Dτ:用来从噪声重构输入轨迹。将得到的噪声向量正则化以接近均匀高斯分布。这样当输入随机高斯噪声时,可以得到不同的轨迹提议。

Trajectory Scoring Module

用来输出轨迹的成功率 r τ ∣ O , p , T , θ ∈ [ 0 , 1 ] r_{\tau|O,p,T,\theta}\in[0,1] rτO,p,T,θ[0,1]

训练数据集

使用RL收集的成轨迹作为正样本,在成功轨迹上加随机量作为负样本,来训练感知模块。

训练

Trajectory Scoring Module(轨迹得分) D s D_s Ds模块使用交叉熵函数训练。
cVAE的训练,除了正则化高斯瓶颈噪声的KL散度损失外,我们使用L1损失来回归轨迹路径点位置,使用6d旋转损失来训练路径点朝向。
Actionability Prediction Module模块的训练,用 D τ D_\tau Dτ随机生成100个轨迹,使用 D s D_s Ds来生成轨迹成功率,使用得分最高的五个轨迹成功率的均值作为真值,损失函数使用 L 1 L_1 L1损失。

好奇心探索

主要目的是让感知网络反向影响RL策略学习,让RL模块探索更多样化和新颖的交互轨迹。

实验结果

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值