GraspARL

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

主要目的和思想

使用机械臂完成对动态物体(将物体放在移动盘上)的抓取,采用强化学习的理念,设计机械臂和移动盘的对抗。

现有的问题

机械臂只能抓取运动轨迹简单的动态物体
对未知场景的泛化能力不足

主要方法

整个对抗游戏可以用一个元组进行表示 < S , A 1 , A 2 , O 1 , O 2 , R 1 , R 2 , P , γ 1 , γ 2 > <\mathcal{S},\mathcal{A}_1,\mathcal{A}_2,\mathcal{O}_1,\mathcal{O}_2,\mathcal{R}_1,\mathcal{R}_2,\mathcal{P},\gamma_1,\gamma_2> <S,A1,A2,O1,O2,R1,R2,P,γ1,γ2>,这里 S , A , O , R , P \mathcal{S},\mathcal{A},\mathcal{O},\mathcal{R},\mathcal{P} S,A,O,R,P γ \gamma γ分别表示状态空间、动作空间、观测空间、回报函数、状态转移概率和系数。对 t t t时刻,对机器人和移动盘的观测分别记为 o 1 , t o_{1,t} o1,t o 2 , t o_{2,t} o2,t,并同时针对其分别采取动作 a 1 , t ∼ π ( o 1 , t ) a_{1,t}\sim\pi(o_{1,t}) a1,tπ(o1,t) a 2 , t ∼ π ( o 2 , t ) a_{2,t}\sim\pi(o_{2,t}) a2,tπ(o2,t),这里 π \pi π代表采取的方法。机器人的移动盘分别得到回报 r 1 , t ( s t , a 1 , t , a 2 , t ) r_{1,t}(s_t,a_{1,t},a_{2,t}) r1,t(st,a1,t,a2,t) r 2 , t ( s t , a 1 , t , a 2 , t ) r_{2,t}(s_t,a_{1,t},a_{2,t}) r2,t(st,a1,t,a2,t)。再根据状态转移概率 P \mathcal{P} P,得到 t + 1 t+1 t+1时刻的状态 s t + 1 s_{t+1} st+1。而机器人和移动盘的目标都是最大化自己的回报:
E a i , t ∼ π i ( o i , t ) [ ∑ t = 1 T γ i t − 1 r i , t ( s t , a 1 , t , a 2 , t ) ] \mathbb{E}_{a_{i,t}\sim\pi_i(o_i,t)}[\sum^T_{t=1}\gamma_i^{t-1}r_{i,t}(s_t,a_{1,t},a_{2,t})] Eai,tπi(oi,t)[t=1Tγit1ri,t(st,a1,t,a2,t)]

由于机械臂的抓取范围大于移动盘的移动范围,所以机器臂的对抗难度更高。本文提出了一个非对称的回报结构来稳定这种对抗学习。

机器人的回报

由于需要机器人抓住物体,所以希望机械臂的夹子尽可能接近移动盘上的物体,定义距离惩罚:
d 1 , 2 = ( g x − o x ) 2 + ( g y − o y ) 2 + ( g z − o b z ) 2 d_{1,2}=\sqrt{(g_x-o_x)^2+(g_y-o_y)^2+(g_z-o_{bz})^2} d1,2=(gxox)2+(gyoy)2+(gzobz)2
其中 g x , g y , g z g_x,g_y,g_z gx,gy,gz分别代表机械臂夹子中心点的x,y,x坐标。 o x , o y o_x,o_y ox,oy代表物体中心点的x,y坐标以及物体bounding box上z方向的最大值。这些坐标的定义以世界坐标系为基准。

由于在机械臂的抓取过程中,可能会和物体发生碰撞,导致物体损坏,所以不希望这种事情发生,加上物体形状对抓取的影响,这进一步加大了机械臂的对抗难度。为了鼓励机器臂正确抓取物体,设计了一个正回报函数 R b R_b Rb,当机械臂夹子的中心点进入物体的bounding box时鼓励机械臂抓取,同时为了防止不必要的碰撞,设计了一个碰撞函数 P c o l l P_{coll} Pcoll,惩罚不是因为正确抓取所产生的不必要碰撞。同时,为了提高机械臂的抓取速度,设计了时间函数 P t i m e P_{time} Ptime,鼓励机械臂用尽可能少的时间和步骤完成抓取任务。当机械臂抓取物体失败后,回报 r 1 r_1 r1直接置位为 P o u t P_{out} Pout,并且结束本次抓取。当物体的高度以一定高度高于原始的位置时,认为机械臂抓取成功, r 1 r_1 r1直接置位为 R s R_s Rs,并且结束本次抓取。
正规机器人(机械臂)的回报定义为:
在这里插入图片描述
这里 R s > 0 , P o u t < 0 , P d i s < 0 , R b > 0 , P c o l l < 0 , P t i m e < 0 R_s>0,P_{out}<0,P_{dis}<0,R_b>0,P_{coll}<0,P_{time}<0 Rs>0,Pout<0,Pdis<0,Rb>0,Pcoll<0,Ptime<0 1 b = 1 \mathbb{1}^b=1 1b=1当机械臂夹子的抓取点再物体的bounding box内时。

移动盘(物体)的回报

为了保证不被抓取,要保持和机械臂一定的抓取距离, P d i s P_{dis} Pdis函数同样被用到。除此之外,还为物体设计了一个安全距离 d s a f e d_{safe} dsafe,当{d_12}(机械臂夹子和物体之间的距离)小于 d s a f e d_{safe} dsafe,设计一个 P c l o s e P_{close} Pclose函数来惩罚物体。
r 2 = − P d i s + 1 s a f e P c l o s e r_2=-P_{dis}+\mathbb{1}^{safe}P_{close} r2=Pdis+1safePclose
这里, P d i s < 0 , P c l o s e = − d s a f e P_{dis}<0,P_{close}=-d_{safe} Pdis<0,Pclose=dsafe 1 s a f e = 1 \mathbb{1}^{safe}=1 1safe=1 d 12 < d s a f e d_{12}<d_{safe} d12<dsafe

过程展示

对于每一步,6D位姿tracker Ψ \Psi Ψ首先从环境中得到RGB-D图像 I I I,并且估计出物体的6D位姿,并且用相应的栅格给出物体的bounding box(bounding box的朝向和物体一致),使用bounding box上的特征点来表示物体的状态 ψ \psi ψ。对于机械臂夹子的6D位姿 ε \varepsilon ε,可以直接通过机械臂参数回传得到。
物体和机械臂夹子直接的相对信息时我们关注的重点。因此,使用一个坐标转换器将物体状态和 ε \varepsilon ε转换到相对状态。对于机械臂来说, ε \varepsilon ε的变换是基于机械臂底座坐标系,物体状态 ψ \psi ψ的变换基于机械臂的架子(执行器)。对于机械臂来说,变换后的状态表示为 ϕ 12 = [ ε 12 , ψ 12 ] \phi_{12}=[\varepsilon_{12},\psi_{12}] ϕ12=[ε12,ψ12],将 ϕ 12 \phi_{12} ϕ12作为机械臂控制器 Ω 1 \Omega_1 Ω1的输入,得到操作 a 1 = [ x 1 , y 1 , z 1 , θ 1 , g 1 ] a_1=[x_1,y_1,z_1,\theta_1,g_1] a1=[x1,y1,z1,θ1,g1],这里, x 1 , y 1 , z 1 x_1,y_1,z_1 x1,y1,z1表示相对物体的3D位置, θ 1 \theta_1 θ1代表相对物体的yaw方向朝向, g 1 g_1 g1代表机械臂夹子的开合。对于物体来说, ε \varepsilon ε的变换和物体状态 ψ \psi ψ的变换都是基于机械臂底座坐标系,变换后的状态表示为 ϕ 21 = [ ε 21 , ψ 21 ] \phi_{21}=[\varepsilon_{21},\psi_{21}] ϕ21=[ε21,ψ21],将 ϕ 21 \phi_{21} ϕ21作为移动盘 Ω 2 \Omega_2 Ω2的输入,得到操作 a 2 = [ x 2 , y 2 , θ 2 ] a_2=[x_2,y_2,\theta_2] a2=[x2,y2,θ2],这里, x 2 , y 2 x_2,y_2 x2,y2表示物体的2D平移量, θ 2 \theta_2 θ2代表物体yaw方向朝向。

训练策略

为了鼓励机械臂在早期阶段抓到物体,首先将系数 γ 1 \gamma_1 γ1设置的比较小,然后逐渐增加 γ 1 \gamma_1 γ1,来引导机械臂学习长期的抓取策略。对机械臂和移动盘采取同时训练的策略,但是这样容易导致机械臂过度拟合并发对象策略。因此,我们创建了一个模型池来在训练期间保存不同的对象策略。收敛后,选择性能最好的机器人策略,并从模型池中随机抽取对象策略对机器人策略进行微调。为了生成更多样化的轨迹进行微调,我们随机给定物体状态和动作。对于对抗性训练阶段,我们使用基础状态作为策略的输入。

实验结果

在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值