目录
摘要
针对问题:需要考虑温度特性的密集物体抓取
提出模型:一种基于深度强化学习的密集物体温度优先推抓(TPG)方法
方法涉及一种深度Q网络算法,以RGB-D图像与红外图像作为输入,使用两个全卷积网络(FCN),将推动和抓取放在一个框架内联合动作,输出对应的Q值,指导机器人对密集物体进行推抓动作,并与环境交互获得奖励。
关键词
- 深度强化学习;
- 全卷积网络;
- 密集物体抓取红外图像;
- 温度奖励;
引言
机器人的抓取需考虑有温度优先性,在抓取过程中最大程度地优先抓取高温物体,以降低对设备与环境的危害。
相关研究
内容:
- 建立以全卷积网络为基础的端到端映射,将红外图像添加到映射输入;
- 建立推动和抓取的联合框架,改善了抓取效果;
- 在奖励函数中考虑温度因素,使其适用于温度优先的抓取场景;
- 创建温度优先度指标,评估动作的温度优先性。
深度强化学习简介
DQN使用深度神经网络(DNN)作为非线性函数近似器来近似Q值,并通过目标Q网络计算目标值
y
t
y_{t}
yt,以 此更新Q网络参数,
y
t
y_{t}
yt表示为如下式子。
y
t
=
r
(
s
t
,
a
t
)
+
γ
max
a
′
Q
θ
′
(
s
t
+
1
,
a
′
)
y_{t} = r(s_{t},a_{t}) + \gamma \max_{a^{\prime}} Q^{\theta^{\prime}}(s_{t+1},a^{\prime})
yt=r(st,at)+γa′maxQθ′(st+1,a′)
θ
′
\theta^{\prime}
θ′为目标Q网络的参数。
密集物体温度优先推抓方法
场景分析
温度优先抓取则需要最大 程度地优先抓取温度较高的物体。
若该物体位于堆叠物体下部,则抓取轨迹会被阻挡,普通抓取动作难以完成任务。
TPG方法可以先对物体进行推动,为抓取动作提供足够的空间。
模型建立
TPG方法总体描述
TPG方法总体描述如下。
- 首先由RGB-D相机与红外热像仪提取环境状态,经过点云匹配与正交变换转换成高度图;
- 将高度图旋转16次,再分别经 过两个FCN输出所有像素点的Q值;
- 依据Q值和 ϵ \epsilon ϵ—贪婪策略指导动作,并获得奖励;
- 不断通过目标Q网络进行训练。
状态
s
t
=
{
s
t
R
G
B
−
D
,
s
t
H
O
T
}
s_{t} = \{ s_{t}^{RGB-D},s_{t}^{HOT} \}
st={stRGB−D,stHOT}
s
t
R
G
B
−
D
→
s_{t}^{RGB-D} \rightarrow
stRGB−D→ RGB-D图像
s
t
H
O
T
→
s_{t}^{HOT} \rightarrow
stHOT→ HOT图像
状态 s t s_{t} st经过3D点云匹配和重力方向投影生成高度图,其中高度图的边缘是依据末端执行器的工作空间来定义的,工作空间为一个面积为 S S S的正方形正方形面积是 448 m m 2 448mm^{2} 448mm2。
动作
a
t
=
{
ω
,
f
,
p
}
a_{t} = \{ \omega,f,p \}
at={ω,f,p}
ω
→
\omega \rightarrow
ω→ 推/抓取动作
f
→
f \rightarrow
f→ 推/抓取动作的方向
f f f反映了末端执行器的旋转角度, 由于直接建立从状态到旋转角度的映射较为困难,因此,将输入高度图旋转16次(每隔 22.5 ° 22.5\degree 22.5°旋转一次),对应输出16张Q值图,采用这种方法使机器人对旋转方向的选择近似为对16张Q值图的选择。
p → p \rightarrow p→ 推/抓取动作在图像中的位置
状态动作值函数——FCN
x p x_{p} xp和 x g x_{g} xg具有相同前向传递结构。首先两个网络的DenseNet-121分别在ImageNet上预训练,然后经过通道级联 和两个 1 × 1 1 \times 1 1×1的卷积层(每层包括一个批量归一化BN层和 一个非线性激活函数RELU层)。DenseNet由多个Dense Block组成,每一层的输入都与前面所有卷积层的输出有关。
奖励函数
r
(
s
t
,
a
t
)
=
{
r
p
,
p
u
s
h
i
n
g
;
r
g
+
r
g
−
h
o
t
,
g
r
a
s
p
i
n
g
;
=
{
0.5
,
p
u
s
h
i
n
g
;
1.0
+
ρ
B
t
m
a
x
log
(
256
A
(
X
−
128
)
(
R
+
L
)
τ
ξ
+
1
)
,
g
r
a
s
p
i
n
g
;
r(s_{t},a_{t}) = \begin{cases} r_{p},&pushing; \\ r_{g}+r_{g-hot},&grasping; \end{cases} \\ = \begin{cases} 0.5,&pushing; \\ 1.0+\frac{\rho B}{t_{max}}\log(\frac{256A}{(X-128)(R+L)\tau \xi}+1),&grasping; \end{cases}
r(st,at)={rp,rg+rg−hot,pushing;grasping;={0.5,1.0+tmaxρBlog((X−128)(R+L)τξ256A+1),pushing;grasping;
训练过程
使用Huber损失函数进行训练。
L
t
=
{
1
2
(
y
i
θ
′
−
Q
θ
i
(
s
i
,
a
i
)
)
2
,
∣
y
i
θ
′
−
Q
θ
i
(
s
i
,
a
i
)
∣
<
1
−
1
2
,
e
l
s
e
L_{t} = \begin{cases} \frac{1}{2}(y_{i}^{\theta^{\prime}}-Q^{\theta_{i}}(s_{i},a_{i}))^{2},&|y_{i}^{\theta^{\prime}}-Q^{\theta_{i}}(s_{i},a_{i})|<1 \\ -\frac{1}{2},&else \end{cases}
Lt={21(yiθ′−Qθi(si,ai))2,−21,∣yiθ′−Qθi(si,ai)∣<1else
变量名 | 数值 |
---|---|
训练方法 | 动量梯度下降 |
动量值 | 0.9,权重衰减 2 − 5 2^{-5} 2−5 |
学习率 | 0.0001 |
γ \gamma γ | 0.5 |
经验回放 | 对于不同的经验集设置不 同的采样权值,采样权值与经验集的时间差分有关 |
ϵ \epsilon ϵ | 在 前500次动作中取值为0.5,在500~1000次动作中从0.5逐步衰减到0.1,并在后续训练中保持不变 |
实验与结果分析
仿真实验
RTX2080显卡
V-REP仿真软件中的UR5机械臂和RG2机械手进行动作
使用内部的V-REP逆运动学模块进行运动规划
训练实验与结果分析
设置三组测试实验。
- TPG方法;
- 无红外图像与温度奖励(no temperature,PG)方法;
- 无推动(no pushing,TG)方法。
设置四个主要评价指标。
- 平均完成率 C C C;
- 平均抓取成功率 G C GC GC;
- 温度相关度
T
R
TR
TR,表征机器人抓取动作对高温对象的优先性;
T R = 1 T m a x ∑ k = 0 9 [ s i g n ( t o k + 1 − t o k ) ] ( t o k + 1 − t o k ) 2 TR = \frac{1}{T_{max}}\sum_{k=0}^{9}[\mathbf{sign}(t_{o}^{k+1}-t_{o}^{k})](t_{o}^{k+1}-t_{o}^{k})^{2} TR=Tmax1k=0∑9[sign(tok+1−tok)](tok+1−tok)2
式中 k k k为成功抓取物体的次序编号, s i g n \mathbf{sign} sign为符号函数, t o k t^{k}_{o} tok为 k 编号下对应物体的温度, T m a x T_{max} Tmax为理想抓取次序(严格按照高温到低温抓取)下的温度相关系数; - 动作效率
E
E
E,用于表征推动和抓取动作的质量;
E = n u m ( o b j ) n u m ( a l l ) E = \frac{\mathbf{num}(obj)}{\mathbf{num}(all)} E=num(all)num(obj)
式中 n u m ( o b j ) \mathbf{num}(obj) num(obj)为抓取对象的数量, n u m ( a l l ) \mathbf{num}(all) num(all)为所有动作 数量之和。
测试实验与结果分析
由于红外图像的加入丰富了输入特性,有利于机器人充分 提取环境信息,从而选择更好的动作,提升抓取成功率