论文笔记(四十)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 抓取。


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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

现代密码学 考点汇总(上)

现代密码学 考点汇总(上) 写在最前面考试范围一、给一个简单的方案,判断是否cca安全二、随机预言机模型之下的简单应用 0. 规约证明一个规约法证明PRG(伪随机生成器)的例子定长加密方案,并证明不可区分加密…

【二、自动化测试】为什么要做自动化测试?哪种项目适合做自动化?

自动化测试是一种软件测试方法,通过编写和使用自动化脚本和工具,以自动执行测试用例并生成结果。 自动化旨在替代手动测试过程,提高测试效率和准确性。 自动化测试可以覆盖多种测试类型,包括功能测试、性能测试、安全测试等&…

wins安装paddle框架

一、安装 https://www.paddlepaddle.org.cn/install/quick?docurl/documentation/docs/zh/install/pip/windows-pip.html 装包(python 的版本是否满足要求: 3.8/3.9/3.10/3.11/3.12, pip 版本为 20.2.2 或更高版本 ) CPU 版:…

python贪吃蛇游戏

为了实现这个游戏,需要用到Python的pygame模块,它是一个专门用于开发游戏的模块,提供了很多方便的功能,比如窗口、图形、音效、事件处理等。 用pygame来创建一个窗口,设置游戏的背景色,画出蛇和食物&#…

Flutter首页框架搭建

1.下载flutter 2. 安装android 3.配置环境变量 关于环境搭建部分,哪天写一下,日志杂乱无章。 打开android studio 新建项目,选择flutter 新建文件夹创建 navigator和pages 文件夹下分别创建文件,tab_navigator.dart&#xff…

Docker RTMP服务器搭建与视频流推送示例(流媒体服务器tiangolo/nginx-rtmp,推流客户端ffmpeg)

文章目录 RTMP服务器搭建与视频流推送第一部分:搭建RTMP服务器(流媒体服务器)1.1 安装Docker1.2 搭建RTMP服务器 第二部分:使用ffmpeg进行视频推流(推流客户端)2.1 安装ffmpeg2.2 使用ffmpeg推流 第三部分&…

【数据结构】二叉树-堆(top-k问题,堆排序,时间复杂度)

🌈个人主页:秦jh__https://blog.csdn.net/qinjh_?spm1010.2135.3001.5343🔥 系列专栏:《数据结构》https://blog.csdn.net/qinjh_/category_12536791.html?spm1001.2014.3001.5482 ​​ 目录 堆排序 第一种 ​编辑 第二种 …

npm install 无反应 npm run serve 无反应

说明情况:其实最开始我就是发现我跟着黑马的苍穹外卖的前端day2的环境搭建做的时候,到这一步出现了问题,无论我怎么 npm install 和 npm run serve 都没有像黑马一样有很多东西进行加载,因此我换了一种方法 1.在这个文件夹下cmd …

助力工业焊缝质量检测,YOLOv3开发构建工业焊接场景下钢材管道焊缝质量检测识别分析系统

焊接是一个不陌生但是对于开发来说相对小众的场景,在我们前面的博文开发实践中也有一些相关的实践,感兴趣的话可以自行移步阅读即可: 《轻量级模型YOLOv5-Lite基于自己的数据集【焊接质量检测】从零构建模型超详细教程》 《基于DeepLabV3Pl…

计算机组成原理-程序中断方式完整流程

文章目录 程序中断方式完整流程例题小结 程序中断方式完整流程 首先CPU通过执行IO指令来启动外部设备,此时外部设备可以开始做准备工作了(准备CPU想要的数据或者信息),在外部设备准备过程中,CPU可以继续执行原程序的内…

CES 2024,从枕头到汽车,一切皆可AI

文 / 胡泳 北京大学新闻与传播学院教授 世界上最大的消费类电子展CES是令人难以置信的创新的展示舞台。 我在拉斯维加斯泡了四五天,跟踪了展出的大部分小工具、应用程序和概念产品。这些产品既有趣又实用,它们要么以全新的方式利用技术解决了某个特定的问…

AI对决:ChatGPT与文心一言的比较

. 个人主页:晓风飞 专栏:数据结构|Linux|C语言 路漫漫其修远兮,吾将上下而求索 文章目录 引言ChatGPT与文心一言的比较Chatgpt的看法文心一言的看法Copilot的观点chatgpt4.0的回答 模型的自我评价自我评价 ChatGPT的优势在这里插入图片描述 文…

JS-var 、let 、 const使用介绍

变量声明介绍 在我们日常开发用,变量声明有三个 var、 let 和 const,我们应该用那个呢? 首先var 先排除,老派写法,问题很多,可以淘汰掉…let or const ?建议: const 优先,尽量使…

CSS 水浪按钮

<template><view class="content"><button class="button"><view class="liquid"></view><view class="btn-txt">水浪按钮</view></button></view></template><scrip…

QT上位机开发(MFC vs QT)

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

Vue + JS + tauri 开发一个简单的PC端桌面应用程序

Vue JS tauri 开发一个简单的PC端桌面应用程序 文章目录 Vue JS tauri 开发一个简单的PC端桌面应用程序1. 环境准备1.1 安装 Microsoft Visual Studio C 生成工具[^2]1.2 安装 Rust[^3] 2. 使用 vite 打包工具创建一个 vue 应用2.1 使用Vite创建前端Vue项目2.2 更改Vite打包…

Android Traceview 定位卡顿问题

Traceview 是一个 Android 性能分析工具&#xff0c;用于时间性能分析&#xff0c;主要帮助开发者了解应用程序中各个方法的执行时间和调用关系。通过图形化界面查看应用程序的代码执行细节&#xff0c;包括每个方法的调用次数、方法调用的时间消耗、方法调用堆栈等信息。我们可…

基于Python实现身份证信息识别

目录 前言身份证信息识别的背景与意义自动识别身份证的需求实现环境与工具准备Python编程语言OpenCV图像处理库Tesseract OCR引擎身份证信息识别算法原理图像预处理步骤(图像裁剪、灰度化 、二值化、去噪)信息提取与解析Python代码实现通过OCR提取身份证号码代码解析身份证信息…

uniapp 如何使用echarts 以及解决tooltip自定义不生效;dataZoom报错问题

使用的是echarts-for-wx插件&#xff1b; 正常写法案例&#xff1a;给tooltip数值加个% <template><view><uni-ec-canvas class"uni-ec-canvas"id"uni-ec-canvas"ref"canvas"canvas-id"uni-ec-canvas":ec"ec&quo…

某银行主机安全运营体系建设实践

随着商业银行业务的发展&#xff0c;主机规模持续增长&#xff0c;给安全团队运营工作带来极大挑战&#xff0c;传统的运营手段已经无法适应业务规模的快速发展&#xff0c;主要体现在主机资产数量多、类型复杂&#xff0c;安全团队难以对全量资产进行及时有效的梳理、管理&…