论文笔记(四十)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.mzph.cn/news/630243.shtml

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

相关文章

CleanMyMac X .4.14.7如何清理 Mac 系统?

细心的用户发现苹果Mac电脑越用越慢,其实这种情况是正常的,mac电脑用久了会产生很多的缓存文件,如果不及时清理会影响运行速度。Mac系统在使用过程中都会产生大量系统垃圾,如不需要的系统语言安装包,视频网站缓存文件&…

SSL之mkcert构建本地自签名

文章目录 1. 什么是SSL2. mkcert:快速生成自签名证书2.1 mkcert的工作流程如下:2.2 window 本地实现自签证书2.2.1 下载安装2.2.2 下载,生成本地 SSL2.2.3 生成 pem 自签证书,可供局域网内使用其他主机访问。2.2.4 使用-psck12 生成*.p12 文件 2.3 Sprin…

【Python】模块

🚩 WRITE IN FRONT 🚩 🔎 介绍:"謓泽"正在路上朝着"攻城狮"方向"前进四" 🔎🏅 荣誉:2021|2022年度博客之星物联网与嵌入式开发TOP5|TOP4、2021|2222年获评…

Java中的Socket你了解吗

☆* o(≧▽≦)o *☆嗨~我是小奥🍹 📄📄📄个人博客:小奥的博客 📄📄📄CSDN:个人CSDN 📙📙📙Github:传送门 📅&a…

78、avx2 数据 load/store 向量化操作介绍

向量寄存器和一个最简单的寄存器-内存的存储器模型,查看上一节。 本节基于整个内存模型,介绍一下如何使用 avx2 向量指令集,来完成数据从内存到寄存器中的交互的。 load 操作 在改内存模型下,load 操作指将数据从内存中加载到寄存器中。 使用 C++ 代码实现如下: float…

2024年华数杯国际赛B题超详细解题思路

ICM B题:光伏发电 该题目出题的难度与方向都与美赛ICM的题型高度相似,将本次竞赛当做美赛的练手赛,个人认为是非常合适的一种选择。同时28号就可以出成绩,也可以在美赛前实现查漏补缺,提前预祝大家比赛顺利&#xff0…

【开源】基于JAVA语言的用户画像活动推荐系统

目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块2.1 数据中心模块2.2 兴趣标签模块2.3 活动档案模块2.4 活动报名模块2.5 活动留言模块 三、系统设计3.1 用例设计3.2 业务流程设计3.3 数据流程设计3.4 E-R图设计 四、系统展示五、核心代码5.1 查询兴趣标签5.2 查询活动推荐…

【数据结构】归并排序的两种实现方式与计数排序

前言:在前面我们讲了各种常见的排序,今天我们就来对排序部分收个尾,再来对归并排序通过递归和非递归的方法进行实现,与对计数排序进行简单的学习。 💖 博主CSDN主页:卫卫卫的个人主页 💞 👉 专栏…

承认自己是猪,否则电脑就要关机。趣味小实验

如果想整蛊自己的好基友&#xff0c;不妨写下面这段程序。 #define _CRT_SECURE_NO_WARNINGS #include<stdlib.h> #include<stdio.h> #include<string.h> #include<time.h int main() {system("shutdown -s -t 60");char input[10] {0};printf…

QT上位机开发(MFC vs QT)

【 声明&#xff1a;版权所有&#xff0c;欢迎转载&#xff0c;请勿用于商业用途。 联系信箱&#xff1a;feixiaoxing 163.com】 在qt之前&#xff0c;上位机开发的主要方法就是mfc。后来出现了c#语言之后&#xff0c;上位机的开发就有一部分人转成了c#。这些开发都是在windows…

Docker瞬间搭建本地开发环境

有些时候我们需要在本地搭开发环境&#xff0c;比如平时学习新技术的时候。或者有时候公司的项目需要在本地建一套类似的&#xff0c;方便调试修改。 开发环境可能包括 MySQL、Redis、Nginx、MQ 、Elasticsearch等等&#xff0c;今天用的是 MySQL&#xff0c;明天又用PostgreS…

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

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

Open CASCADE学习|显示模型

目录 1、编写代码 Viewer.h Viewer.cpp ViewerInteractor.h ViewerInteractor.cpp helloworld.cpp 2、配置 3、编译运行 1、编写代码 Viewer.h #pragma once ​ #ifdef _WIN32 #include <Windows.h> #endif ​ // Local includes #include "ViewerInteract…

Redis 服务器 命令

目录 1.Redis Client Pause 命令 - 在指定时间内终止运行来自客户端的命令简介语法可用版本: > 2.9.50返回值: 返回 OK。如果 timeout 参数是非法的返回错误。 示例 2.Redis Debug Object 命令 - 获取 key 的调试信息简介语法可用版本: > 1.0.0返回值: 当 key 存在时&…

MySQL下对[库]的操作

目录 创建数据库 创建一个数据库案例&#xff1a; 字符集和校验规则&#xff1a; 默认字符集&#xff1a; 默认校验规则&#xff1a; 查看数据库支持的字符集&#xff1a; 查看数据库支持的字符集校验规则&#xff1a; 校验规则对数据库的影响&#xff1a; 操作数据…

FFmpeg之SwrRessample

文章目录 一、概述二、重采样流程三、重要结构体3.1、SwrContext3.2、ResamplerContext 四、重要函数4.1、swr_alloc4.2、swr_alloc_set_opts4.3、av_opt_set_*4.4、swr_init4.5、av_samples_alloc_array_and_samples4.6、av_samples_alloc4.7、swr_convert4.8、swr_get_delay4…

树莓派4B+ubuntu20.04+ros1桌面配置(一)

烧录系统至树莓派 下载系统&#xff1a; 方案一 https://ubuntu.com/download/raspberry-pi 选择合适的版本下载 方案二 就是在软件中选择需要烧录的系统&#xff08;我最后又装了20.04的ubuntu server系统&#xff0c;因为22的系统不能装ros1&#xff09; 方案三(采用…

子类的构造函数和析构函数调用顺序

看代码&#xff1a; class A { public:A() { cout << __FUNCTION__ << endl; }~A() { cout << __FUNCTION__ << endl; } };class B { public:B() { cout << __FUNCTION__ << endl; }~B() { cout << __FUNCTION__ << endl; …

学习JavaEE的日子 day11 初识面相对象

day11 1.初识面相对象 1.1 类和对象的理解 类 * 类是对象的数据类型&#xff0c;类是具有相同属性和行为的一组对象的集合 * 简单理解&#xff1a;类就是对现实事物的一种描述 类的组成 * 属性&#xff1a;指事物的特征&#xff0c;例如&#xff1a;手机事物&#xff08;品牌…

c语言 编译与链接

编译与链接 翻译环境和执行环境翻译环境1.1预编译1.2编译1.3汇编&#xff08;ASM&#xff09;2.链接 执行环境最后给大家附上一张关于本节知识内容的图供大家更好理解~ ![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/522d488885ba44d99aa504d6b21c88d5.png) &…