论文笔记(四十)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={S,R,A,O,P,ρ0,γ}。 S 、 A \mathcal{S、A} S、A 和 O \mathcal{O} O 分别代表状态空间、行动空间和观测空间。 R : S × A → R \mathcal{R : S×A→}\mathbb{R} R:S×A→R 是奖励函数。 P : S × A → S \mathcal{P : S×A → S} P:S×A→S 是过渡动力学。 ρ 0 ρ_0 ρ0 是初始状态的概率分布, γ = [ 0 , 1 ) γ = [0, 1) γ=[0,1) 是贴现因子。假设 π : S → A \mathcal{π : S → A} π:S→A 是将状态映射到行动的策略。在部分可观测的情况下,在每个时间 t t t,政策将环境的部分观测值 o t o_t ot 映射为行动 a t = π ( o t ) a_t = π(o_t) at=π(ot)。我们的目标是学习一个能最大化预期累积奖励
的策略,其中 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θEs∼D(Qϕ(s,πθ(s))),这类似于策略评估和改进计划。
3.2 从点云抓取 6D 策略
我们考虑的任务是以闭环方式抓取任意物体。我们的目标是学习一个 6D 抓取策略 π : s t → a t π : s_t → a_t π:st→at,将 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) Tt∈SE(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+1Tt−1,即抓手在 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∗=TTTt−1,即当前抓手姿势与最终抓取之间的相对变换。最后,状态 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) T1、T2∈SE(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^t−1作为监督,用于纠正学习器与 ξ ( s t ) ξ(s_t) ξ(st)的偏差。相应的专家目标 g t ∗ = T T T ^ t − 1 g_t^∗ = \mathcal {T}_T \hat{\mathcal {T}} ^{-1}_t gt∗=TTT^t−1这些行动和目标标签用于构建数据集 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=argming∈GLPOSE(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~tTt−1. 需要注意的是,目标集 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=Dexpert∪Ddagger∪Dddpg,其中我们用稀疏奖励来增强 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(g,gϕ)=LPOSE(g,gϕ),用于测量目标预测中的姿势误差。

图 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^t−1 ,并通过目标辅助任务对演员和评论家进行监督。通过使用后见之明目标,我们构建了一个数据集,该数据集使用了未知对象上的政策推出 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=Dexpert∪Dhindsight 上对预训练的演员批评网络进行微调。后见目标训练算法见附录第 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=Dexpert∪Ddagger∪Dddpg 是为训练而构建的。我们还考虑了使用目标进行比较的另一种常见策略:目标条件策略,如文献[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=Dexpert∪Dhindsight 对策略进行微调。我们发现,微调后的成功率从 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 名参与者进行了用户研究。实验结束后,我们要求参与者回答一份包含李克特量表问题和开放式问题的问卷。


图 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 抓取。
相关文章:
论文笔记(四十)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 行为克隆和 DAGGER3.5 目标--辅助 DDPG3.6 对未知物体进行微调的后视目标 4. 实…...
k8s学习-Deployment
Kubernetes通过各种Controller来管理Pod的生命周期 。 为了满足不同业 务 景 , Kubernetes 开发了Deployment、ReplicaSet、DaemonSet、StatefuleSet、Job等多种Controller。我们⾸先学习最常用Deployment。 1.1 Kubectl命令直接创建 第一种是通过kubectl命令直接…...
Unity之四元数
欧拉角 万向节死锁 四元数是什么 Unity中四元数的初始化 四元数和欧拉角的互相转换 补充 四元数相乘代表旋转四元数...
【计算机硬件】3、输入输出技术、总线结构
文章目录 输入输出技术内存与接口地址的编址方法1、 内存与接口地址独立编址方法2、内存与接口地址统一编址方法 计算机和外设间的数据交互方式1、程序控制(查询)方式2、程序中断方式3、DMA方式(直接主存存取) 总线结构 输入输出技术 内存与接口地址的编…...
k8s的对外服务--ingress
service作用体现在两个方面 1、集群内部 不断跟踪pod的变化,更新endpoint中的pod对象,基于pod的IP地址不断变化的一种服务发现机制 2、集群外部 类似负载均衡器,把流量ip端口,不涉及转发url(http,https&a…...
CSS 雷达监测效果
<template><view class="center"><view class="loader"><view></view></view></view></template><script></script><style>/* 设置整个页面的背景颜色为深灰色 */body {background-col…...
C# System.MissingMethodException
C#应用程序工程调用C#类库工程生成的动态链接库调试时报错: System.MissingMethodException HResult0xFFFFFFFF Message找不到方法…… 软件结构如下: using System; using System.Collections.Generic; using System.Linq; using System.Text; usi…...
Redis面试题23
Redis 的持久化机制是什么? 答:Redis 提供了两种持久化机制来保证数据的持久性,即 RDB(Redis Database)和 AOF(Append Only File)。 RDB 持久化:RDB 是 Redis 默认的持久化方式。它…...
Linux中的yum源仓库和NFS文件共享服务
一.yum简介 1.1 yum简介 yum,全称“Yellow dog Updater, Modified”,是一个专门为了解决包的依赖关系而存在的软件包管理器。类似于windows系统的中电脑软件关键,可以一键下载,一键安装和卸载。yum 是改进型的 RPM 软件管理器&am…...
【LeetCode2744】最大字符串配对数目
1、题目描述 【题目链接】 标签:数组,哈希表,字符串,模拟 给你一个下标从 0 开始的数组 words ,数组中包含 互不相同 的字符串。 如果字符串 words[i] 与字符串 words[j] 满足以下条件,我们称它们可以…...
安全加速SCDN是什么
安全加速SCDN(Secure Content Delivery Network,SCDN) 是集分布式DDoS防护、CC防护、WAF防护、BOT行为分析为一体的安全加速解决方案。已使用内容分发网络(CDN)或全站加速网络(ECDN)的用户&…...
Android 布局菜鸟 android中的布局类型和特点?
一、LinearLayout(线性布局) 1、 特点: 主要以水平或垂直方式来排列界面中的控件。并将控件排列到一条直线上。在线性布局中,如果水平排列,垂直方向上只能放一个控件,如果垂直排列,水平方向上也只能放一个控件。 2、适⽤场景: Android开发中最常见的 ⼀种布局⽅式,排列…...
2023总结与2024寒假计划
王泽政 2023 的总结 学习总结 关于 2023 学习总体上来讲,2023 学的东西还是不少的,有对技术栈广度的扩展,也有对计算机深度的挖掘。 学习内容总结: 学习 React 学习浏览器渲染原理 学习计算机网络 学习 Next.js 学习 Nest.…...
016-Vue-黑马2023:前后端分离开发(在线接口文档),前端工程化、Element、vue编写一个完成页面、Vue路由、vue打包部署到nginx
第三节 前后端分离开发 1、介绍 开发模式 前后端混合开发:传统开发模式 前后端分离开发:当前最为主流的开发模式 页面原型需求案例:分析出接口文档 离线开发文档示例: 2、YAPI(官网已停用) 202…...
如何给新华网投稿发稿?新华网的媒体发稿方法步骤
现如今,互联网已经成为了人们获取信息的主要途径,各大媒体网站也成为了发布自己作品的首选平台。其中,新华网作为中国最具影响力的新闻媒体之一,其内容覆盖面广、触及人群众多,因此,能够在新华网上发表文章…...
为什么 macOS 比 Windows 稳定?
在计算机操作系统领域,macOS 和 Windows 分别是苹果公司和微软公司的主打产品。尽管两者都拥有大量的用户群体,但在稳定性和用户体验方面,macOS 常常被认为优于 Windows。那么,为什么 macOS 比 Windows 更稳定呢? 我们…...
从matlab的fig图像文件中提取数据
这里用的是openfig()函数打开的fig文件 →→→【matlab 中 fig 数据提取】 很简洁 →→→【MATLAB提取 .fig 文件中的数据】 这个给出了包含多个曲线的情况 →→→【提取matlab fig文件里的数据和legend】 chatgpt给出的方法 打开fig文件并保存数据 我的…...
基于网络爬虫的微博热点分析,包括文本分析和主题分析
基于Python的网络爬虫的微博热点分析是一项技术上具有挑战性的任务。我们使用requests库来获取微博热点数据,并使用pandas对数据进行处理和分析。为了更好地理解微博热点话题,我们采用LDA主题分析方法,结合jieba分词工具将文本分割成有意义的…...
前端图片转base64 方法
在uni-app、Vue.js或其他前端框架中,将图片转换为Base64编码的过程是相似的。以下是一个简单的示例,说明如何在这些环境中使用JavaScript将图片转换为Base64编码。 1. HTML部分 首先,你需要在HTML中放置一个文件输入元素,用于选…...
Go语言数据结构(一)双向链表
list容器 Go语言中list容器定义在"container/list"包中,实现了一个双向链表。本文第一部分总结源码包中的方法,第二部分展示使用list包的常见示例用法以及刷题时的用法。 食用指南:先看第二部分的常用示例用法然后再用到时在第一部…...
python打卡day49
知识点回顾: 通道注意力模块复习空间注意力模块CBAM的定义 作业:尝试对今天的模型检查参数数目,并用tensorboard查看训练过程 import torch import torch.nn as nn# 定义通道注意力 class ChannelAttention(nn.Module):def __init__(self,…...
DeepSeek 赋能智慧能源:微电网优化调度的智能革新路径
目录 一、智慧能源微电网优化调度概述1.1 智慧能源微电网概念1.2 优化调度的重要性1.3 目前面临的挑战 二、DeepSeek 技术探秘2.1 DeepSeek 技术原理2.2 DeepSeek 独特优势2.3 DeepSeek 在 AI 领域地位 三、DeepSeek 在微电网优化调度中的应用剖析3.1 数据处理与分析3.2 预测与…...
Admin.Net中的消息通信SignalR解释
定义集线器接口 IOnlineUserHub public interface IOnlineUserHub {/// 在线用户列表Task OnlineUserList(OnlineUserList context);/// 强制下线Task ForceOffline(object context);/// 发布站内消息Task PublicNotice(SysNotice context);/// 接收消息Task ReceiveMessage(…...
Debian系统简介
目录 Debian系统介绍 Debian版本介绍 Debian软件源介绍 软件包管理工具dpkg dpkg核心指令详解 安装软件包 卸载软件包 查询软件包状态 验证软件包完整性 手动处理依赖关系 dpkg vs apt Debian系统介绍 Debian 和 Ubuntu 都是基于 Debian内核 的 Linux 发行版ÿ…...
UDP(Echoserver)
网络命令 Ping 命令 检测网络是否连通 使用方法: ping -c 次数 网址ping -c 3 www.baidu.comnetstat 命令 netstat 是一个用来查看网络状态的重要工具. 语法:netstat [选项] 功能:查看网络状态 常用选项: n 拒绝显示别名&#…...
高危文件识别的常用算法:原理、应用与企业场景
高危文件识别的常用算法:原理、应用与企业场景 高危文件识别旨在检测可能导致安全威胁的文件,如包含恶意代码、敏感数据或欺诈内容的文档,在企业协同办公环境中(如Teams、Google Workspace)尤为重要。结合大模型技术&…...
全面解析各类VPN技术:GRE、IPsec、L2TP、SSL与MPLS VPN对比
目录 引言 VPN技术概述 GRE VPN 3.1 GRE封装结构 3.2 GRE的应用场景 GRE over IPsec 4.1 GRE over IPsec封装结构 4.2 为什么使用GRE over IPsec? IPsec VPN 5.1 IPsec传输模式(Transport Mode) 5.2 IPsec隧道模式(Tunne…...
深度学习习题2
1.如果增加神经网络的宽度,精确度会增加到一个特定阈值后,便开始降低。造成这一现象的可能原因是什么? A、即使增加卷积核的数量,只有少部分的核会被用作预测 B、当卷积核数量增加时,神经网络的预测能力会降低 C、当卷…...
JVM虚拟机:内存结构、垃圾回收、性能优化
1、JVM虚拟机的简介 Java 虚拟机(Java Virtual Machine 简称:JVM)是运行所有 Java 程序的抽象计算机,是 Java 语言的运行环境,实现了 Java 程序的跨平台特性。JVM 屏蔽了与具体操作系统平台相关的信息,使得 Java 程序只需生成在 JVM 上运行的目标代码(字节码),就可以…...
LLMs 系列实操科普(1)
写在前面: 本期内容我们继续 Andrej Karpathy 的《How I use LLMs》讲座内容,原视频时长 ~130 分钟,以实操演示主流的一些 LLMs 的使用,由于涉及到实操,实际上并不适合以文字整理,但还是决定尽量整理一份笔…...
