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

这篇具有很好参考价值的文章主要介绍了论文笔记(四十)Goal-Auxiliary Actor-Critic for 6D Robotic Grasping with Point Clouds。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

文章概括

作者: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 姿态变换。我们的策略可以与不同的物体分割感知方法相结合。


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

图 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)。我们的目标是学习一个能最大化预期累积奖励 论文笔记(四十)Goal-Auxiliary Actor-Critic for 6D Robotic Grasping with Point Clouds,文章,论文阅读 的策略,其中 r t r_t rt 是时间 t t t 的奖励。状态-行动对的策略 Q 函数为论文笔记(四十)Goal-Auxiliary Actor-Critic for 6D Robotic Grasping with Point Clouds,文章,论文阅读,其中 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 最大限度地减小了以下关于 ϕ ϕ ϕ 的贝尔曼误差:

论文笔记(四十)Goal-Auxiliary Actor-Critic for 6D Robotic Grasping with Point Clouds,文章,论文阅读
然后,对确定性策略 π θ π_θ πθ 进行训练,使学习到的 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] 中定义的点匹配损失函数来共同优化平移和旋转:
论文笔记(四十)Goal-Auxiliary Actor-Critic for 6D Robotic Grasping with Point Clouds,文章,论文阅读
其中, 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),批评者的损失为
论文笔记(四十)Goal-Auxiliary Actor-Critic for 6D Robotic Grasping with Point Clouds,文章,论文阅读

其中, 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ϕ),用于测量目标预测中的姿势误差。


论文笔记(四十)Goal-Auxiliary Actor-Critic for 6D Robotic Grasping with Point Clouds,文章,论文阅读
图 2:我们的网络架构使用 PointNet++ [40] 进行特征提取。演员和评论者都被正则化,以预测抓取目标作为辅助任务。


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

论文笔记(四十)Goal-Auxiliary Actor-Critic for 6D Robotic Grasping with Point Clouds,文章,论文阅读
其中, 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 和添加辅助任务都能提高成功率。


论文笔记(四十)Goal-Auxiliary Actor-Critic for 6D Robotic Grasping with Point Clouds,文章,论文阅读
表 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 显示了评估结果,我们测试了添加目标辅助任务或使用目标条件输入的演员和评论家的不同组合。


论文笔记(四十)Goal-Auxiliary Actor-Critic for 6D Robotic Grasping with Point Clouds,文章,论文阅读
表 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 节。


论文笔记(四十)Goal-Auxiliary Actor-Critic for 6D Robotic Grasping with Point Clouds,文章,论文阅读
表 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 显示了实验中的所有物体。


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

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


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


论文笔记(四十)Goal-Auxiliary Actor-Critic for 6D Robotic Grasping with Point Clouds,文章,论文阅读
图 3:使用我们在模拟中训练的策略进行实际桌面 6D 抓取的成功案例(左侧)和失败案例(右侧)。


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

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


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

Figure 4: (a)

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

Figure 4: (b)

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


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

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


论文笔记(四十)Goal-Auxiliary Actor-Critic for 6D Robotic Grasping with Point Clouds,文章,论文阅读
图 5:顶部:6 名参与者和 10 件家居用品的用户研究定量结果。下图:参与者对问卷中各项陈述的认同度。


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


5 结论

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


到了这里,关于论文笔记(四十)Goal-Auxiliary Actor-Critic for 6D Robotic Grasping with Point Clouds的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【AI视野·今日NLP 自然语言处理论文速览 第四十六期】Tue, 3 Oct 2023

    AI视野 ·今日CS.NLP 自然语言处理论文速览 Tue, 3 Oct 2023 (showing first 100 of 110 entries) Totally 100 papers 👉 上期速览 ✈更多精彩请移步主页 It\\\'s MBR All the Way Down: Modern Generation Techniques Through the Lens of Minimum Bayes Risk Authors Amanda Bertsch, Alex Xie, Graham Neubig, Matthew R. Gormley 最小贝叶斯风险 M

    2024年02月08日
    浏览(49)
  • web学习笔记(四十五)Node.js

    目录 1. Node.js 1.1 什么是Node.js 1.2 为什么要学node.js 1.3  node.js的使用场景 1.4 Node.js 环境的安装 1.5 如何查看自己安装的node.js的版本 1.6 常用终端命令 2. fs 文件系统模块 2.1引入fs核心模块 2.2 读取指定文件的内容 2.3  向文件写入指定内容 2.4 创建文件夹  2.5 判断文件夹是否存

    2024年04月16日
    浏览(33)
  • C++学习笔记(四十):c++ 预编译头文件

    本节介绍c++预编译头文件。 预编译头文件是指抓取一堆头文件,并将其转换成编译器可使用的格式,不需要多次去读取这些头文件。  例如经常使用一些c++stl的标准库,vector等,需要#includevector,该操作会读取整个vector头文件并编译该头文件。同时vector也包含一堆其他头文件

    2024年01月17日
    浏览(40)
  • Django笔记四十一之Django中使用es

    前面在 Python 连接 es 的操作中,有过介绍如何使用 Python 代码连接 es 以及对 es 数据进行增删改查。 这一篇笔记介绍一下如何为 es 的 索引 index 定义一个 model,像 Django 里的 model 一样使用 es。 因为本篇笔记要介绍的内容是直接嵌入在 Django 系统使用,所以本篇笔记直接归属于

    2024年02月07日
    浏览(40)
  • (10-1)Actor-Critic算法:Actor-Critic算法的介绍与原理

    Actor-Critic(演员-评论家)是一种强化学习算法,通常用于解决连续动作空间的问题。其一个重要特点是它允许在学习过程中同时学习策略和价值函数,从而可以有效地处理连续动作空间和高维状态空间的问题。在本章的内容中,将详细讲解Actor-Critic算法的知识,为读者步入后

    2024年04月28日
    浏览(39)
  • Android问题笔记四十三:JNI 开发如何快速定位崩溃问题

    Unity3D特效百例 案例项目实战源码 Android-Unity实战问题汇总 游戏脚本-辅助自动化 Android控件全解手册 再战Android系列 Scratch编程案例 软考全系列 Unity3D学习专栏 蓝桥系列 ChatGPT和AIGC 专注于 Android/Unity 和各种游戏开发技巧,以及 各种资源分享 (网站、工具、素材、源码、游戏等

    2024年02月05日
    浏览(50)
  • Django笔记四十之运行Django环境的python脚本

    本文首发于公众号:Hunter后端 原文链接:Django笔记四十之运行Django环境的python脚本 这一篇笔记介绍如何在 Django 中运行脚本。 假设说我们要实现一个功能,需要获取 blog.models.Blog 这张表里的总数且使用 print() 输出。 如果代码逻辑很短,且是一次性执行的操作,我们可以在系

    2024年02月04日
    浏览(45)
  • Django笔记四十二之model使用validator验证器

    本文首发于公众号:Hunter后端 原文链接:Django笔记四十二之model使用validator验证器 这一篇笔记介绍一下 model 里的 validator 验证器。 首先,这是个什么东西呢? 在 model 的第四篇笔记里,我们介绍了字段的一些属性,比如是否允许为空,varchar 类型的字段的最大长度等。 一般在

    2024年02月05日
    浏览(52)
  • Django笔记四十三之使用uWSGI部署Django系统

    本文首发于公众号:Hunter后端 原文链接:Django笔记四十三之使用uWSGI部署Django系统 目前部署 Django 的方式一般来说是使用 Nginx + uWSGI + Django 来实现。 处理流程是,当一个请求发送过来会先经过 Nginx,如果是静态文件请求,Nginx 这一层直接处理,如果是后端动态接口,则会发送

    2024年02月05日
    浏览(64)
  • 强化学习中的 AC(Actor-Critic)、A2C(Advantage Actor-Critic)和A3C(Asynchronous Advantage Actor-Critic)算法

    AC(Actor-Critic)算法是强化学习中的一种基本方法,它结合了策略梯度方法和价值函数方法的优点。在 Actor-Critic 算法中,有两个主要的组成部分:演员(Actor)和评论家(Critic)。以下是 AC 算法的关键要素和工作原理: 演员(Actor) : 演员负责根据当前状态选择动作。它通常

    2024年04月11日
    浏览(36)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包