论文笔记(四十)Goal-Auxiliary Actor-Critic for 6D Robotic Grasping with Point Clouds

Goal-Auxiliary Actor-Critic for 6D Robotic Grasping with Point Clouds

  • 文章概括
  • 摘要
  • 1. 介绍
  • 2. 相关工作
  • 3. 学习 6D 抓握政策
    • 3.1 背景
    • 3.2 从点云抓取 6D 策略
    • 3.3 联合运动和抓握规划器的演示
    • 3.4 行为克隆和 DAGGER
    • 3.5 目标--辅助 DDPG
    • 3.6 对未知物体进行微调的后视目标
  • 4. 实验
    • 4.1 模拟消融研究( Ablation Studies in Simulation)
    • 4.2 真实世界中的桌面 6D 抓取
    • 4.3 现实世界中人与机器人的交接
  • 5 结论

文章概括

作者:Lirui Wang, Yu Xiang, Wei Yang, Arsalan Mousavian, Dieter Fox
来源:Conference on Robot Learning (pp. 70-80). PMLR.
原文:https://proceedings.mlr.press/v164/wang22a/wang22a.pdf
代码、数据和视频:https://sites.google.com/view/gaddpg
系列文章目录:
上一篇:
https://blog.csdn.net/xzs1210652636/article/details/134431873
下一篇:



摘要

超越自上而下的垃圾箱拣选场景的 6D 机器人抓取是一项具有挑战性的任务。以往基于 6D 抓取合成和机器人运动规划的解决方案通常在开环环境中运行,对抓取合成误差非常敏感。在这项工作中,我们提出了一种学习 6D 抓取闭环控制策略的新方法。我们的策略以来自自中心摄像机的物体分割点云为输入,输出机器人抓手抓取物体的连续 6D 控制动作。我们结合了模仿学习和强化学习,并为策略学习引入了目标辅助行为批判算法。我们演示了学习到的策略可以集成到桌面 6D 抓取系统和人机交接系统中,以提高抓取未见物体的性能。视频和代码请访问 https://sites.google.com/view/gaddpg。

关键词:6D 机器人抓取, 模仿学习, 强化学习


1. 介绍

机器人抓取任意物体是一项具有挑战性的任务。机器人需要处理它从未见过的物体,并生成运动轨迹来抓取物体。由于问题的复杂性,大多数文献中的研究都集中在垃圾桶拾取任务上,在这种任务中,自上而下的抓取足以拾取一个物体。为了解决自上而下的抓取问题,人们引入了抓取检测方法 [1, 2, 3] 和基于强化学习的方法 [4, 5]。然而,这些方法很难在需要 6D 抓取(即机器人抓手的 3D 平移和 3D 旋转)的环境中抓取物体,例如桌面上或柜子里的麦片盒。

虽然已经利用物体的三维模型 [6, 7] 和局部观测 [8, 9, 10] 对 6D 抓取合成进行了研究,但这些方法只能生成机器人抓手对物体的 6D 抓取姿势,而不能生成到达和抓取物体的轨迹。因此,需要一个运动规划器来根据抓取姿势规划抓取运动。通常情况下,规划的轨迹是以开环方式执行的,因为重新规划的成本很高,而且抓取过程中的感知反馈以及物体的动态和接触往往被忽略,这使得抓取对抓取合成误差很敏感。

在这项工作中,为了克服基于抓取合成的开环 6D 抓取的局限性,我们引入了一种从部分观测到的物体点云(图 1)中学习闭环 6D 抓取策略的新方法。我们的策略将物体的分割点云作为输入,并直接输出机器人抓手的控制动作,即抓手的相对 6D 姿态变换。我们的策略可以与不同的物体分割感知方法相结合。


在这里插入图片描述

图 1:我们学习的 6D 抓取策略示意图。状态表示基于物体的分割点云。动作是机器人抓手的相对 6D 姿态变换。图中绿色的抓手表示抓手的下一个目标位置。


为了学习策略,我们结合了模仿学习(IL)和强化学习(RL)。因为如果仅使用 RL 进行探索,在 6D 抓取中举起物体的几率非常小。我们在仿真中使用联合运动和抓取规划器 [11] 进行演示。因此,我们可以通过规划器使用 ShapeNet 对象 [12] 高效地获得大量 6D 抓取轨迹。然后,我们根据深度确定性策略梯度(DDPG)算法[13]学习抓取策略,该算法是 RL 中的演员批判算法,可以利用示范中的非策略数据。更重要的是,我们引入了目标预测辅助任务来改进策略学习,即训练 DDPG 中的演员和批评者预测机器人抓手的最终 6D 抓取姿势。对于已知三维形状和姿势的物体,目标预测的监督来自专家规划器。对于没有三维模型的未知物体,我们仍然可以从策略的成功抓取滚动中获得抓取目标,即事后目标。这一特性使得我们的学习策略可以对未知物体进行微调,这对于在真实世界中的持续学习至关重要。我们发现,增加辅助损失可以稳定训练并改进所学策略。

总的来说,我们的贡献在于 1) 我们引入了一种目标辅助 DDPG(GA-DDPG)算法,用于 6D 机器人抓取的联合模仿和强化学习。2) 我们证明了学习到的策略可以集成到桌面 6D 抓取系统中,从而提高抓取性能。3) 我们证明了我们的闭环策略可以改善人与机器人之间的交接。


2. 相关工作

基于视觉的机器人抓取。 抓取合成可用于机器人抓取的规划和控制流水线 [2, 3, 14, 15]。另外,端到端策略学习方法 [16, 4, 17] 利用大规模数据来学习基于视觉的闭环抓取。虽然 RGB 图像被广泛用作状态表示,但它要求策略能从 2D 图像中推断出 3D 信息。最近,深度和分割掩码 [3]、形状补全 [9]、深度视觉特征 [18]、关键点 [19]、点云 [20]、多摄像头 [21] 和自我中心视图 [22, 23] 等方法被用来改进状态表示。受这些方法的启发,我们利用物体的点云作为我们的状态表示,这可以很好地从模拟转移到真实世界。

结合模仿学习和强化学习。 无模型 RL [4, 5] 即使有完整的状态信息,也需要大量的交互。因此,许多研究都提出了在 RL 中结合模仿学习 [24]。[25] 利用示范数据增强策略梯度更新,以规避奖励塑造和探索挑战。[26]利用反向 RL,在模拟中通过少量人类演示来学习灵巧操作任务。与我们的研究最接近的相关研究是 [27, 28],它们利用示范数据和非策略 RL。尽管侧重点不同,但主要区别在于我们的演示来自专家规划师而非人类演示者。因此,我们可以获得大量一致的示范数据,并在训练过程中查询专家规划师,以便对政策数据进行监督。

政策学习中的目标和辅助任务。 目标通常被用作指导政策学习的额外信号[29]。对于以目标为条件的策略,[30, 31, 32]认为每条轨迹都是对其达到的目标状态的成功展示,因此这些方法在推出轨迹中重新标注目标,以实现有效学习。然而,在测试中仍需要提供目标。在 6D 抓取中,估计抓取目标是一个具有挑战性的问题。另一方面,辅助任务也被用来改善 RL [33, 34, 35, 36]。我们将抓取目标预测作为一项辅助任务,要求策略预测如何抓取目标物体。


3. 学习 6D 抓握政策

我们的目标是学习 6D 机器人抓取的闭环策略。我们首先介绍相关的背景知识,然后介绍我们学习策略的方法。

3.1 背景

马尔可夫决策过程。 马尔可夫决策过程(MDP)是用元组定义的: M = { S , R , A , O , P , ρ 0 , γ } \mathcal{M=\{S,R,A,O,P,ρ_0,γ\}} M={SRAOPρ0γ} S 、 A \mathcal{S、A} SA O \mathcal{O} O 分别代表状态空间、行动空间和观测空间。 R : S × A → R \mathcal{R : S×A→}\mathbb{R} R:S×AR 是奖励函数。 P : S × A → S \mathcal{P : S×A → S} P:S×AS 是过渡动力学。 ρ 0 ρ_0 ρ0 是初始状态的概率分布, γ = [ 0 , 1 ) γ = [0, 1) γ=[0,1) 是贴现因子。假设 π : S → A \mathcal{π : S → A} π:SA 是将状态映射到行动的策略。在部分可观测的情况下,在每个时间 t t t,政策将环境的部分观测值 o t o_t ot 映射为行动 a t = π ( o t ) a_t = π(o_t) at=π(ot)。我们的目标是学习一个能最大化预期累积奖励 E π[P∞t=0 γtrt] 的策略,其中 r t r_t rt 是时间 t t t 的奖励。状态-行动对的策略 Q 函数为在这里插入图片描述,其中 s ′ s' s 代表根据过渡动力学在状态 s s s 中采取行动 a a a 的下一个状态。

深度确定性政策梯度。 DDPG [13] 是一种行动者批判算法,它使用非策略数据、确定性策略梯度和时差学习。它在连续控制中有着成功的应用 [37, 27]。具体来说,DDPG 中的行动者学习策略 π θ ( s ) π_θ(s) πθ(s),而批评者近似 Q 函数 Q ϕ ( s , a ) Q_ϕ(s,a) Qϕ(s,a),其中 θ θ θ ϕ ϕ ϕ 分别表示行动者和批评者的参数。在训练过程中,会保留一个过渡 D = { ( s , a , r , s ′ ) } \mathcal{D = \{(s, a, r, s' )\} } D={(s,a,r,s)}的重放缓冲区,从中抽取的示例会交替用于优化演员和评论家。DDPG 最大限度地减小了以下关于 ϕ ϕ ϕ 的贝尔曼误差:

在这里插入图片描述
然后,对确定性策略 π θ π_θ πθ 进行训练,使学习到的 Q 函数最大化,即 m a x θ E s ∼ D ( Q ϕ ( s , π θ ( s ) ) ) max_θ \mathbb{E} _{s∼D}(Q_ϕ(s, π_θ(s))) maxθEsD(Qϕ(s,πθ(s))),这类似于策略评估和改进计划。

3.2 从点云抓取 6D 策略

我们考虑的任务是以闭环方式抓取任意物体。我们的目标是学习一个 6D 抓取策略 π : s t → a t π : s_t → a_t π:stat,将 t t t 时刻的状态 s t s_t st 映射到动作 a t a_t at。为了简化设置,即使使用了观测数据,我们仍然使用 s s s 来表示策略的输入。在时间 t t t,动作 a t a_t at 的参数是机器人末端执行器的相对三维平移和三维旋转。因此,我们学习的视觉运动策略代表了 6D 抓取的操作空间控制器。我们利用物体的三维点云来表示状态,这些点云可以通过物体的深度图像和前景遮罩来计算。这些点从摄像机帧转换到机器人末端执行器帧,以表示状态。不同的分割方法可用于获取目标对象的前景掩码。我们的学习策略对分割中的噪音具有鲁棒性。在抓取静态物体时,我们会按照附录第 6.2 节中的描述,汇总之前时间步骤中的点云。对于动态物体,则不使用聚合。

3.3 联合运动和抓握规划器的演示

为了获得 6D 抓取演示,我们利用基于优化的运动和抓取规划器(OMG Planner)[11] 作为我们的专家。给定一个规划场景和抓取规划器[6, 7]对目标物体的一组预定义抓取,OMG 规划器会规划机器人抓取物体的轨迹。根据机器人的初始配置,它会选择不同的抓手作为目标。这一特性使我们能够根据机器人抓手的初始姿态,学习以不同方式抓取物体的策略。

假设 ξ = ( T 0 , T 1 , . . . , T T ) ξ = (\mathcal{T}_0, \mathcal{T}_1, ... , \mathcal{T}_T ) ξ=(T0,T1,...,TT) 是尬舞规划器生成的机器人抓手姿势轨迹,用于抓取物体,其中 T t ∈ S E ( 3 ) \mathcal{T}_t∈ \mathbb{SE}(3) TtSE(3) 是时间 t t t 时机器人基帧中的抓手姿势。那么,专家在 t t t 时刻的行动可以计算为 a t ∗ = T t + 1 T t − 1 a^∗_t = \mathcal{T}_{t+1}\mathcal{T}_t^{-1} at=Tt+1Tt1,即抓手在 t t t t + 1 t + 1 t+1 之间的相对变换。此外,规划器中的 T T \mathcal{T}_T TT 是成功抓取物体的姿势。我们将 t t t 时的专家目标定义为 g t ∗ = T T T t − 1 g_t^∗=\mathcal{T}_T\mathcal{T}_{t}^{-1} gt=TTTt1,即当前抓手姿势与最终抓取之间的相对变换。最后,状态 s t s_t st 可以通过计算点云获得,如第 3.2 节所述。这样,我们就从规划器中构建了一个离线演示数据集,即 D e x p e r t = ( s t , a t ∗ , g t ∗ , s t ′ ) \mathcal{D}_{expert} = {(s_t, a^∗_t, g_t^∗, s'_t)} Dexpert=(st,at,gt,st),其中 s t ′ s'_t st 是下一个状态。

3.4 行为克隆和 DAGGER

利用示范数据集 D e x p e r t \mathcal{D}_{expert} Dexpert,我们已经可以通过应用行为克隆(BC)来预测状态下的行动,从而训练出策略网络 π θ π_θ πθ。为了最小化专家行动的距离,可以使用不同的 S E ( 3 ) \mathbb{SE}(3) SE(3) 损失函数。特别是,我们采用了 [38] 中定义的点匹配损失函数来共同优化平移和旋转:
在这里插入图片描述
其中, T 1 、 T 2 ∈ S E ( 3 ) \mathcal{T}_1、\mathcal{T}_2∈\mathbb{SE}(3) T1T2SE(3) X g X_g Xg 表示机器人抓手上一组预定义的三维点,使用 L1 准则。假设 a θ = π θ ( s ) a_θ = π_θ(s) aθ=πθ(s)是策略预测的动作, a ∗ = π ∗ ( s ) a^∗=π^∗(s) a=π(s)是专家预测的动作,则行为克隆损失为 L B C ( a ∗ , a θ ) = L P O S E ( a ∗ , a θ ) L_{BC}(a^∗,a_θ)=L_{POSE}(a^∗, a_θ) LBC(a,aθ)=LPOSE(a,aθ)

我们应用 DAGGER [39] 来增强学习者的滚动监督。给定一个采样的初始状态 s 0 s_0 s0,当前策略 π θ π_θ πθ 可以推出一个由状态 s 0 , . . . . . . , s T s_0, ......, s_T s0,......,sT 和动作 a 0 , . . . . . . , a T a_0, ......, a_T a0,......,aT 组成的轨迹,其末端执行器姿势为 T ^ 0 , . . . . . . , T ^ T \hat{\mathcal {T}}_0, ......, \hat{\mathcal {T}}_T T^0,......,T^T。然后,专家将每个状态视为初始状态,并生成抓取物体的轨迹 ξ ( s t ) = ( T ^ t , T t + 1 , . . . , T T ) ξ(s_t) = (\hat{\mathcal {T}}_t, \mathcal {T}_{t+1}, ..., \mathcal {T}_T ) ξ(st)=(T^t,Tt+1,...,TT)。计划中的第一个行动 a t ∗ = π ∗ ( s t ) = T t + 1 T ^ t − 1 a ^∗_t = π ^∗ (s_t) = \mathcal {T}_{t+1}\hat{\mathcal {T}}^{-1}_t at=π(st)=Tt+1T^t1作为监督,用于纠正学习器与 ξ ( s t ) ξ(s_t) ξ(st)的偏差。相应的专家目标 g t ∗ = T T T ^ t − 1 g_t^∗ = \mathcal {T}_T \hat{\mathcal {T}} ^{-1}_t gt=TTT^t1这些行动和目标标签用于构建数据集 D d a g g e r = ( s t , a t , a t ∗ , g t ∗ , s t ′ ) \mathcal{D}_{dagger} = {(s_t, a_t, a^∗_t, g_t^ ∗ , s'_t )} Ddagger=(st,at,at,gt,st).

3.5 目标–辅助 DDPG

为了处理专家轨迹中罕见的多接触场景,我们将 RL 与专家示范相结合,进一步改进了策略学习。在我们的 RL 设置中,当代理尝试抓取或达到最大视野 T T T 时,每一集结束。稀疏奖励 r r r 是一个在情节结束时给出的指示函数,表示目标物体是否被抓起。

与 DAGGER 类似,我们为 DDPG 训练收集政策数据。唯一不同的是,我们没有学习者策略中状态 s t s_t st 的行动 a t ∗ a^∗_t at 和目标 g t ∗ g_t^∗ gt 的专家论证。相反,我们首先从目标集 G \mathcal{G} G 中找到最近的目标,即 g ~ t = a r g m i n g ∈ G L P O S E ( g , T t ) \tilde{g}_t = arg min_{g∈\mathcal{G}} L_{POSE}(g, \mathcal{T}_t) g~t=argmingGLPOSE(g,Tt),其中 T t \mathcal{T}_t Tt 是机器人抓手在时间 t t t 时的姿态。那么 s t s_t st 的启发式目标就是 g t = g ~ t T t − 1 g_t = \tilde{g}_t\mathcal{T}^{ -1}_ t gt=g~tTt1. 需要注意的是,目标集 G \mathcal{G} G 只有在获得目标物体的三维形状和姿态后才可用。最后,我们为 DDPG 构建了一个数据集 D d d p g = ( s t , a t , g t , r t , s t ′ ) \mathcal{D}_{ddpg} = {(s_t, a_t, g_t, r_t, s'_t)} Dddpg=(st,at,gt,rt,st),其中 r t r_t rt 是状态 s t s_t st 的奖励, s t ′ s'_t st 是开启策略后状态 s t s_t st 的下一个状态。DDPG 训练的重放缓冲区为 D = D e x p e r t ∪ D d a g g e r ∪ D d d p g \mathcal{D} = \mathcal{D}_{expert} ∪ \mathcal{D}_{dagger} ∪ \mathcal{D}_{ddpg} D=DexpertDdaggerDddpg,其中我们用稀疏奖励来增强 D e x p e r t D_{expert} Dexpert D d a g g e r D_{dagger} Ddagger

我们用于训练演员评论员的网络架构如图 2 所示。我们为演员评论家引入了两个预测目标的辅助任务,通过增加目标监督来帮助学习策略和 Q 函数。给定来自重放缓冲区的数据样本 ( s , a , g , r , s ′ ) (s, a, g, r, s') (s,a,g,r,s),批评者的损失为
在这里插入图片描述

其中, y = r + γ Q ϕ ′ ( s ′ , π θ ′ ( s ′ ) + ϵ ) y = r + γQ_{ϕ'}(s', π_{θ'}(s') +\epsilon) y=r+γQϕ(s,πθ(s)+ϵ) 是贝尔曼目标, g ϕ g_ϕ gϕ 是预测目标。 Q ϕ ′ Q_{ϕ'} Qϕ π θ ′ π_{θ'} πθ 是目标网络, ϵ \epsilon ϵ 是 TD3 [41] 中预先定义的剪切噪声。辅助损失为 L A U X ( g , g ϕ ) = L P O S E ( g , g ϕ ) L_{AUX}(g,g_ϕ) = L_{POSE}(g,g_ϕ) LAUX(ggϕ)=LPOSE(ggϕ),用于测量目标预测中的姿势误差。


在这里插入图片描述
图 2:我们的网络架构使用 PointNet++ [40] 进行特征提取。演员和评论者都被正则化,以预测抓取目标作为辅助任务。


给定来自重放缓冲区的数据样本 ( s , a ∗ , g ) (s, a^∗, g) (s,a,g),演员的损失函数定义为

在这里插入图片描述
其中, a θ a_θ aθ g θ g_θ gθ 分别是行动者预测的行动和目标, λ λ λ 是一个加权超参数,用于平衡来自专家和来自学习值函数的损失。BC 损失 L B C ( a ∗ , a θ ) = L P O S E ( a ∗ , a θ ) L_{BC}(a^∗, a_θ) = L_{POSE}(a^∗, a_θ) LBC(a,aθ)=LPOSE(a,aθ) 如前定义,可防止学习者过于偏离专家策略。确定性策略损失定义为 L D D P G ( s , a θ ) = − Q ϕ ( s , a θ ) L_{DDPG}(s, a_θ) = -Q_ϕ(s,a_θ) LDDPG(s,aθ)=Qϕ(s,aθ),以最大化 Q 值。请注意,只有当数据样本来自 D e x p e r t \mathcal{D}_{expert} Dexpert D d a g g e r \mathcal{D}_{dagger} Ddagger 时,专家行动 a ∗ a^∗ a 才可用。否则,我们不会在公式 (4) 中包含 BC 损失。尽管我们的方法可以与任何非政策行为人批判算法一起使用,但在实践中,我们还是选择了 TD3,因为它比 vanilla DDPG 性能更高。

3.6 对未知物体进行微调的后视目标

对于没有三维模型的未知物体,我们既无法获得专家示范,也无法从预定义的目标集中获得抓取目标。我们可以利用 "后见之明 "目标对未知物体的策略进行微调。基于当前的策略 π θ π_θ πθ,每个学习者都会推出一个状态-动作轨迹,其终端执行器姿势为 T ^ 0 , . . . , T ^ T . \hat{\mathcal{T}}_0, ..., \hat{\mathcal{T}}_T. T^0,...,T^T. 如果剧集中的抓取成功,我们就知道 T ^ T \hat{\mathcal{T}}_T T^T 是对目标对象的成功抓取,这也被称为事后目标。那么我们就可以计算出该情节中状态 s t s_t st 的抓取目标为 g ^ t = T ^ T T ^ t − 1 \hat{g}_t = \hat{\mathcal{T}}_T \hat{\mathcal{T}} ^{-1}_t g^t=T^TT^t1 ,并通过目标辅助任务对演员和评论家进行监督。通过使用后见之明目标,我们构建了一个数据集,该数据集使用了未知对象上的政策推出 D h i n d s i g h t = ( s t , a t , g ^ t , r t , s t ′ ) \mathcal{D}_{hindsight} = {(s_t, a_t, \hat{g}_t, r_t, s'_t)} Dhindsight=(st,at,g^t,rt,st),其中 g ^ t \hat{g}_t g^t 是后见之明目标。我们在数据集 D = D e x p e r t ∪ D h i n d s i g h t \mathcal{D} = \mathcal{D}_{expert} ∪ \mathcal{D}_{hindsight} D=DexpertDhindsight 上对预训练的演员批评网络进行微调。后见目标训练算法见附录第 6.1 节。


4. 实验

模拟环境。 我们使用 Franka Emika Panda 机械臂进行实验,这是一个带有平行抓手的 7-DOF 机械臂。我们使用 ShapeNet [12] 和 YCB 对象 [42] 作为对象库。通过在 PyBullet 模拟器[43]中将一个姿态随机的采样目标物体投放到桌子上,生成任务场景。该策略的最大视距为 T = 30。一旦完成一次抓取,一集即终止。在 PyBullet 中使用手部摄像头观测图像大小为 112×112。更多环境详情见附录第 6.2 节。

训练和测试。 我们使用 ACRONYM 数据集[44]中来自 169 个不同类别的约 1 500 个 ShapeNet 对象进行训练,每个对象都有 100 个来自[7]的预计算抓取点用于规划。测试时,我们使用了 9 个选定的 YCB 物体,每个物体包含 10 个场景,以及 157 个场景中的 138 个 ShapeNet 物体。我们使用不同的随机种子对每个模型训练三次。每个 YCB 场景运行 5 次,每个 ShapeNet 场景运行 3 次,然后计算平均抓取成功率。有关网络结构和训练的更多详情,请分别参阅附录第 6.3 节和附录第 6.4 节。

4.1 模拟消融研究( Ablation Studies in Simulation)

消融对状态表征的影响。 我们首先用 BC 进行实验,研究使用不同状态表征的效果。表 1 列出了抓取成功率。在使用图像时,有三种变化: “RGB”、"RGBD "和 "RGBDM "表示是否使用物体的深度(D)或前景掩码(M)。深度和/或掩码与 RGB 图像连接,并使用 ResNet18 [45] 进行特征提取。表 1 中的 "点 "表示点云状态表示。"离线 "表示使用固定大小的离线数据集 D e x p e r t \mathcal{D}_{expert} Dexpert 进行训练,该数据集包含来自专家演示的 50,000 个数据点。"在线 "表示专家规划器与训练同时运行,不断向数据集添加新数据。"DAGGER"表示使用学习者策略中的随策略滚动数据,专家监督 D d a g g e r \mathcal{D}_{dagger} Ddagger,"目标-辅助 "表示在 BC 训练中是否添加抓取目标预测任务。

从表 1 中可以看出:i) 与使用当前视图的图像相比,使用点云能获得更好的性能。这表明,物体点云中的三维特征能更好地用于 6 维抓取。ii) 在基于图像的表示中添加深度或前景掩码可提高性能。iii) 通过利用更多数据进行训练,"在线 "总体上优于 “离线”。iv) DAGGER 和添加辅助任务都能提高成功率。


在这里插入图片描述
表 1:在专家指导下通过行为克隆训练出的不同模型的成功率


目标辅助消融与目标条件消融。 我们评估了针对 6D 抓取的目标辅助 DDPG 算法,其中数据集 D = D e x p e r t ∪ D d a g g e r ∪ D d d p g \mathcal{D} = \mathcal{D}_{expert} ∪ \mathcal{D}_{dagger} ∪ \mathcal{D}_{ddpg} D=DexpertDdaggerDddpg 是为训练而构建的。我们还考虑了使用目标进行比较的另一种常见策略:目标条件策略,如文献[30, 28, 31],其中目标与状态相连,作为网络的输入。在这种情况下,为了在测试中使用目标,我们需要训练一个单独的网络来根据状态预测目标。表 2 显示了评估结果,我们测试了添加目标辅助任务或使用目标条件输入的演员和评论家的不同组合。


在这里插入图片描述
表 2:利用 DDPG 在 RL 中使用目标的两种策略的成功率评估。


从表 2 中我们可以看出:i) 对批评者使用目标辅助损失能显著提高性能,因为它规范了 Q 学习。ii) 目标条件策略的性能比目标辅助策略差。当预测的目标不准确时,会影响抓取的成功率。我们还观察到目标条件策略训练中的一些不稳定性。iii) 将目标辅助任务同时添加到行动者和批评者中可获得最佳性能。iv) 与表 1 中的有监督 BC 训练相比,我们的 GA-DDPG 算法进一步改进了策略,尤其是在多接触场景中。仅靠模仿学习无法处理这些在手指闭合前与目标物体的接触,因为这些接触在专家示范中很少见。

后视目标微调的消融。 如表 2 所示,我们在 ShapetNet 物体上训练的策略在抓取未见过的 ShapeNet 和未见过的 YCB 物体时分别达到了 91.3% 和 88.2% 的成功率。我们还可以利用未见对象的 RL 进一步改进策略。为了与现实世界的 RL 相似,我们假设 YCB 物体的三维形状和姿态不可用。因此,这些对象没有专家监督。我们使用具有后见目标的数据集 D = D e x p e r t ∪ D h i n d s i g h t \mathcal{D} = \mathcal{D}_{expert} ∪ \mathcal{D}_{hindsight} D=DexpertDhindsight 对策略进行微调。我们发现,微调后的成功率从 88.2% 提高到 93.5%。我们还对模拟动态进行了实验,减少了物体的横向摩擦力,使物体在接触过程中更容易滑动。在这种情况下,预训练策略的成功率降低到 81.6%。在利用后视目标进行微调后,该策略适应性良好,成功率达到 88.5%,这证明了训练程序对接触模型误差的鲁棒性。

其他设计方案的消融。 我们对 GA-DDPG 中的几种设计方案进行了消减研究,如表 3 所示。我们可以看到:i) 由于高维状态-动作空间和稀疏奖励,没有 BC 的 RL 无法学习到有用的策略。ii) 添加数据的在线交互和 DAGGER 都有帮助。iii) 我们的聚合点云表示法优于使用 "RGBDM "图像或单帧点云。iv) 早期融合评论器中的状态-动作比后期融合(即合并状态和动作的特征)效果更好。v) “专家启动”:我们还使用了专家辅助探索,在学习者滚动过程中推出专家计划的几个步骤,以启动起始状态,这是非常有益的。vi) 公式(2)中定义的点匹配损失比直接的 L2 平移和旋转损失更好。总之,我们发现这些设计选择既能稳定训练,又能提高性能。有关抓握预测性能的消融实验见附录第 6.5 节。


在这里插入图片描述
表 3:对我们方法中不同组件的消融研究,以及抓取成功率。


4.2 真实世界中的桌面 6D 抓取

我们在Franka机器人上进行了桌面抓取实验,在机器人抓手上安装了 realsense D415 摄像头。我们评估了两种不同的设置:固定初始设置和变化初始设置。在第一种设置中,机器人始终从相同的初始位置开始,但物体位置会发生变化,以评估 GA-DDPG 对不同物体位置的鲁棒性。在第二种情况下,我们评估系统对机器人不同初始位置的鲁棒性。对于每种设置,我们都考虑了 3 种基线: a) 策略:我们在整个轨迹和抓取物体的过程中使用 GA-DDPG。b) 规划:我们使用 GraspNet [10] 为物体生成抓取点,并使用 OMG planner [11] 进行规划。GraspNet 通过训练变异自动编码器从输入的物体点云生成 6D 抓手,而 OMG 计划器则是一种用于联合运动规划和抓手选择的轨迹优化方法。c) 组合: 规划器规划的轨迹长度为 25 步。我们执行计划的前 20 步,最后部分切换到 GA-DDPG。在所有设置中,我们都使用未见物体实例分割方法[46]对物体进行分割。我们对 9 个 YCB 物体和 10 个具有不同形状和材质的未见物体进行了评估。GA-DDPG 在 YCB 物体上进行了微调。对于每个 YCB 物体,我们根据固定/变化的初始设置测试了 5 种不同的配置。表 4 列出了各次试验中成功抓取的次数。附录中的图 9 显示了实验中的所有物体。


在这里插入图片描述

表 4:在真实世界中抓取桌子上单个物体的结果。表中列出了各次试验中成功抓取的数量和总体成功率。


我们可以看到,在机器人初始姿态固定的情况下,学习到的策略与开环规划的性能相当,而在初始姿态变化的情况下,学习到的策略则优于开环规划。在这两种情况下,将规划与策略相结合能达到最佳性能。在初始姿势变化的情况下,开环规划由于感知误差和控制误差而受到的影响更大,因为机器人开始时距离目标物体更远。在抓取的最后几步使用策略可以解决组合版本中的一些开环故障。然而,由于该策略是在模拟中训练出来的,因此存在模拟与现实之间的差距,尤其是在与物体的接触建模方面。提高物理模拟的保真度,并利用真实世界的数据进行微调,将有助于弥补这一差距。关于设计局限性的讨论可参见附录第 6.8 节。图 3 显示了一些成功和失败的抓取示例。现实世界中的大多数失败都是由于接触建模中模拟与现实之间的差距造成的。


在这里插入图片描述
图 3:使用我们在模拟中训练的策略进行实际桌面 6D 抓取的成功案例(左侧)和失败案例(右侧)。


4.3 现实世界中人与机器人的交接

我们的闭环策略可用于人与机器人(H2R)的交接。基于 [47] 中介绍的感知系统,我们整合了 GA-DDPG 来计算机器人控制的动作。具体来说,根据文献[47],使用外部 Azure Kinect RGB-D 摄像头对手中物体的点云进行分割。然后将物体点云输入策略网络,计算控制动作。如图 4 (a) 所示,我们使用了 [47] 中提出的 10 个家庭物体子集,并测量了成功移交的时间、成功率和抓取尝试次数。我们首先进行了系统评估,以衡量我们的方法在不同物体和不同移交位置下的性能。然后,我们对从实验室招募的 6 名参与者进行了用户研究。实验结束后,我们要求参与者回答一份包含李克特量表问题和开放式问题的问卷。


在这里插入图片描述

Figure 4: (a)

在这里插入图片描述

Figure 4: (b)

图 4:(a) 我们在人类与机器人交接实验中使用的 10 件未见过的家用物品。请放大以获得最佳视图。(b) 在不同的交接位置(左、中、右)和交接过程中移动物体(从左到右、从右到左)下进行的系统评估。我们报告了每种设置的成功率。总体成功率为 78%。


系统评估。 我们从相对于机器人基座位置的左、中、右三个交接位置交接每个物体。然后,在机器人开始移动后,我们尝试将物体从左向右移动,以及从右向左移动。我们对所有 10 种家用物品进行了实验,并在图 4 (b) 中以医药箱为例报告了这 5 种设置下的成功率。详细结果请参见附录中的表 7。总的来说,与静态交接相比,移动物体的反应性交接更具挑战性。机器人有时无法在物体移动后调整抓取动作。在我们的设置中,摄像头位于右侧。当物体位于左侧,即距离摄像头较远时,我们会发现由于点云传感噪音导致性能下降,尤其是在从右侧到左侧的反应式交接时。此外,Azure Kinect 的运行速度只有 15fps,这也会导致反应性切换延迟。

用户研究结果。 如图 5 Top 所示,我们的方法与专门为 H2R 移交任务设计和调整的 [47] 方法性能相当。有趣的是,我们的方法对一些困难的物体(如杯子和笔)具有更高的成功率,这表明我们的方法不仅可以泛化到移动物体,还能很好地适应未知环境(非桌面设置)和视图(外部摄像头)。


在这里插入图片描述
图 5:顶部:6 名参与者和 10 件家居用品的用户研究定量结果。下图:参与者对问卷中各项陈述的认同度。


主观评价。 图 5 底部显示了参与者对 [47] 中陈述的同意程度。总的来说,参与者对机器人的流畅性表示赞同,并评论说"(机器人)流畅地向目标移动",“当我移动时,它可以调整位置”。他们感到很安全,说"(我)从未感觉到它会超速或变得具有攻击性"。他们还感觉到机器人能够感知他们的动作,因为 “当我移动手臂时,它能够快速适应”,并且能够感知物体的不同,“因为它对不同的物体使用不同的抓手”。一位与会者 “对它能抓取非常薄的物体感到惊讶”。几位参与者认为,当机器人靠近物体时,它的动作很慢。这是因为系统使用 GraspNet [10] 中的抓取评估器评估抓取得分。只有当得分高于预先设定的阈值时,机器人才会关闭其抓手。


5 结论

我们引入了目标辅助 DDPG 算法,用于从点云中高效学习 6D 抓取控制策略。我们的方法利用运动和抓取规划专家的示范,并将抓取目标预测作为一项辅助任务,以提高演员和评论家的表现。我们证明,我们在模拟中训练的策略可以集成到桌面 6D 抓取系统和人与机器人交接系统中,以提高对未见物体的抓取性能。在未来的工作中,我们计划研究由于模拟中的接触建模而导致的策略学习中模拟与真实之间的差距,并将该方法扩展到杂乱场景中的 6D 抓取。


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/240139.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

红队打靶练习:BREACH: 1

信息收集 1、arp ┌──(root㉿ru)-[~/kali] └─# arp-scan -l Interface: eth0, type: EN10MB, MAC: 00:0c:29:69:c7:bf, IPv4: 192.168.110.128 Starting arp-scan 1.10.0 with 256 hosts (https://github.com/royhills/arp-scan) 192.168.110.1 00:50:56:c0:00:08 …

单片机I/O口驱动MOS管

自记录: 看完本章,串起来看,看mos驱动电路这篇:MOS管驱动电流计算以及分立器件驱动电路-CSDN博客 使用单片机做一个PLC,输出可如下两种情况: 单片机I/O口驱动,为什么一般都选用三极管而不是MOS管&#xf…

二叉树【Java】

文章目录 一、树型结构二、二叉树2.1概念2.2两种特殊的二叉树2.3二叉树的性质2.4二叉树的遍历 三、二叉树的基本操作3.1获取树中节点的个数3.2获取叶子节点的个数3.3获取第K层节点的个数3.4获取二叉树的高度3.5检测值为value的元素是否存在 一、树型结构 树是一种非线性的数据…

Eclipse搭建python环境

一、下载eclipse eclipse官网下载参考链接 二、 下载PyDev ​PyDev 三、安装和配置pyDev 下载完PyDev,解压之后是下面两个文件夹,我下载的版本是PyDev 7.7 ,然后拷到eclipse对应的目录下就可以 四、然后新建一个python程序 1.新建一个项目 ​​…

三、Qt Creator 使用

关于Qt的安装及环境配置,在我的上一篇《二、QT下载、安装及问题解决(windows系统)》已经讲过了。 本章节有一个重点,在新建 工程文件时,所在路径不要有中文,否则编译及运行程序不能正常运行。 在使用Qt Creator(以下…

Redis实现全局唯一Id

一、全局唯一ID 每个店铺都可以发布优惠券: 当用户抢购时,就会生成订单并保存到tb_voucher_order这张表中,而订单表如果使用数据库自增ID就存在一些问题: id的规律性太明显 受单表数据量的限制 场景分析:如果我们的…

python/c++ Leetcode题解——118. 杨辉三角

方法一:数学 思路及解法 杨辉三角,是二项式系数在三角形中的一种几何排列。它是中国古代数学的杰出研究成果之一,它把二项式系数图形化,把组合数内在的一些代数性质直观地从图形中体现出来,是一种离散型的数与形的结合。 杨辉三角具有以下性质: 1.每行数字左右对称,由…

【Python数据可视化】matplotlib之设置子图:绘制子图、子图共享x轴坐标、调整子图间距、设置图片大小

文章传送门 Python 数据可视化matplotlib之绘制常用图形:折线图、柱状图(条形图)、饼图和直方图matplotlib之设置坐标:添加坐标轴名字、设置坐标范围、设置主次刻度、坐标轴文字旋转并标出坐标值matplotlib之增加图形内容&#x…

SqlAlchemy使用教程(三) CoreAPI访问与操作数据库详解

SqlAlchemy使用教程(一) 原理与环境搭建SqlAlchemy使用教程(二) 入门示例及编程步骤 三、使用Core API访问与操作数据库 Sqlalchemy 的Core部分集成了DB API, 事务管理,schema描述等功能,ORM构筑于其上。本章介绍创建 Engine对象,使用基本的…

vscode无法自动补全

前提:安装c/c插件 c/c插件功能非常强大,几乎能满足日常编码过程中常用的功能;因此也包含自动补全的功能,开启方法如下: 文件->首选项->设置: 扩展->c/c->Intellisense,找到Intell…

252:vue+openlayers 绘制锥形渐变填充色的圆形

第252个 点击查看专栏目录 本示例的目的是介绍如何在vue+openlayer中绘制带有锥形渐变填充色的圆形。 直接复制下面的 vue+openlayers源代码,操作2分钟即可运行实现效果 文章目录 示例效果配置方式示例源代码(共131行)相关API参考专栏目标示例效果 </

【Android开发】不同Activity之间的数据回传实例(一)摘桃子游戏

一、功能介绍 该项目实现的功能主要有&#xff1a; 在首页显示一个按钮点击该按钮跳转到桃园页面在桃园页面&#xff0c;点击桃子会弹窗显示摘到几个桃子&#xff0c;同时被点击桃子消失&#xff0c;总桃子数1点击退出桃园会返回首页&#xff0c;首页桃子数会根据点击的桃子数…

提高支撑座效率的重要性

自动化机械设备在运行过程中需要消耗大量的能源和资源&#xff0c;提高效率意味着更有效地利用这些资源&#xff0c;降低运行成本&#xff0c;而支撑座作为自动化机械设备中重要的传动元件&#xff0c;提高支撑座的效率对于自动化机械设备的可持续发展和企业的竞争力具有重要意…

Python密码本连接wifi

有时候我们会忘记自己的Wi-Fi密码&#xff0c;或者需要连接某个Wi-Fi网络以满足合法需求。本文将介绍如何使用Python编程语言编写一个简单的连接Wi-Fi的程序。 一、密码本准备 在进行wifi猜测时&#xff0c;其实就是列出各种可能的密码&#xff0c;用来尝试去访问目标wifi&…

linux安装QQ(官方正版)

QQ官网上有支持linux系统的版本&#xff0c;所以去官网直接下载正版就好。 安装步骤&#xff1a; 1.进入官网&#xff1a;https://im.qq.com/linuxqq/index.shtml 2.选择版本&#xff1a;X86版下载dep 如下所示&#xff1a; 3.下载qq安装包&#xff1a; 4.使用命令安装qq s…

【踩坑】flask_uploads报错cannot import name ‘secure_filename‘

转载请注明出处&#xff1a;小锋学长生活大爆炸[xfxuezhang.cn] 背景说明 截至目前&#xff0c;用新版的flask实现文件上传(用到flask_uploads库)&#xff0c;会出现这个问题。 问题原因 版本问题&#xff0c;新的werkzeug已经把secure_filename的位置改了。 解决方法 手动修改…

腾讯云学生机云+校园计划详细解读(图文解说)

腾讯云学生服务器优惠活动「云校园」轻量应用服务器2核2G学生价30元3个月、58元6个月、112元一年&#xff0c;轻量应用服务器4核8G配置112元3个月、352.8元6个月、646.8元一年&#xff0c;CVM云服务器2核4G3M公网带宽配置842.4元一年&#xff0c;腾讯云服务器网txyfwq.com分享2…

【python入门】day27: 模拟高铁售票系统

界面 代码 #-*- coding:utf-8 -*- import prettytable as pt#---------导入漂亮表格 import os.path filename ticket.txt#更新座位状态 def update(row_num):#------更新购票状态with open(filename,w,encodingutf-8) as wfile:for i in range(row_num):lst1 [f{i1},有票,有…

UL2034详细介绍UL 安全单站和多站一氧化碳报警器标准

在介绍相关标准之前先介绍一下UL认证和UL测试报告的区别&#xff0c;检测认证行业6年老司机 UL认证是自愿性的认证&#xff0c;需要检测产品和审核工厂&#xff0c;每个季度审核一次&#xff0c;费用高、时间久&#xff0c;而且审厂非常的严格。 UL测试报告是根据产品选用相应…

Spring Boot - Application Events 的发布顺序_ApplicationFailedEvent

文章目录 Pre概述Code源码分析 Pre Spring Boot - Application Events 的发布顺序_ApplicationEnvironmentPreparedEvent 概述 Spring Boot 的广播机制是基于观察者模式实现的&#xff0c;它允许在 Spring 应用程序中发布和监听事件。这种机制的主要目的是为了实现解耦&#…