摘要
【针对问题】人机交互共融环境下仿人机器人的重大需求
【提出方法】一种基于强化学习的机器人手臂仿人运动规划方法
【具体细节】(1)基于结构特征,设计了与人相关的关节角:肩夹角、肘夹角和腕关节;(2)VICON系统对人体运动数据进行分析,获取相关特性;(3)设计不同的回报函数,采用强化学习进行训练(4)搭建仿真平台
【得到效果】仿人运动成功率是
91.25
%
91.25\%
91.25%
关键词
- 人臂运动特性;
- 仿人运动规划;
- 强化学习;
- 运动捕捉系统;
0 引言
机械臂仿人运动的规划主要是从人体手臂出发,分析不同动作状态下的运动特征,并将其应用到机械臂中。
学者研究
阶段一:采集运动数据,分析运动过程特征
学者 | 工作 | 效果 |
---|---|---|
赵京 | 最小化机械臂运动过程中的势能 | 引导仿人轨迹的生成 |
陈盛 | 利用最小势能进一步确定机械臂肘部位置 | 实现仿人运动规划 |
Li | 最小化肌肉强度确定机械臂的拟人姿态 | 作为生成仿人轨迹的标准 |
阶段二:设计仿人变量、建立仿人标准和约束
学者 | 工作 | 效果 |
---|---|---|
Gong | 通过 4 个变量定义了不同的人臂运动原语 | None |
García和Rosell | 设计吸引因子和不同的抓握类型 | 引导机械臂生成仿人路径 |
Yang | 设计人臂末端刚度 | None |
【评价】
(1)针对某一类特定任务的仿人运动规划;
(2)仿人变量的设计单一;
(3)仿人参数的选定容易对仿人运动造成影响;
阶段三:用智能算法提升仿人运动机器人性能
学者 | 工作 | 效果 |
---|---|---|
Zhu | 使用遗传算法 + 共享控制角度 | 控制机械臂实现仿人运动 |
Wei | 设计机械臂最佳的末端姿态 + 5个目标函数计算 | 优化仿人运动行为 |
Duarte | 设计不同的运动状态 + 高斯混合模型计算 | 对机器人仿人运动的控制 |
【评价】
(1)训练和示教数据不足;
(2)数据模型无法覆盖人体手臂运动模型;
(3)机械臂鲁棒性偏低;
本文工作
- 采用 VICON 系统获取人臂达点运动数据以保证数据的准确性;
- 设计肩夹角、肘夹角和腕关节运动角;
- 正态性和相关性分析获取人体手臂运动特征;
- 设计不同的回报函数 + 仿人规划(HP)强化学习训练
1 问题描述及方法架构
1.1 人体手臂与机械臂之间的映射关系
将人体手臂运动特征融合到机械臂中是实现机械臂仿人运动的关键
这就要求获取人体手臂与机械臂之间的映射关系
6自由度 Kinova公司 Jaco2机械臂
人体手臂肩关节运动了
θ
h
s
\pmb{θ_{hs}}
θhsθhs 时,机械臂肩关节对应的角度为
θ
j
s
=
(
π
-
θ
h
s
)
+
π
\pmb{θ_{js}} = ( \pmb{\pi} - \pmb{θ_{hs}} ) + \pmb{\pi}
θjsθjs=(ππ-θhsθhs)+ππ。
人体手臂肘关节运动了
θ
h
e
\pmb{θ_{he}}
θheθhe 时,机械臂肘关节对应的角度为
θ
j
e
=
π
-
θ
h
e
\pmb{θ_{je}} = \pmb{\pi} - \pmb{θ_{he}}
θjeθje=ππ-θheθhe。
仿人运动范围论文:
HU H M,DU J M,HU X H,et al. The experimental research on joint range of motion[M]. Advances in Physical Ergonomics and Human Factors,2016,489: 265-274.
GATES D H,WALTERS L S,COWELEY J,et al. Range of motion requirements for upper-limb activities of daily living[J]. The American Journal of Occupational Therapy,2015,70( 1) : 1-10.
机械臂关节 2 的仿人运动范围为
[
3.438
,
5.76
]
r
a
d
[3.438,5.76]rad
[3.438,5.76]rad
机械臂关节 3 的仿人运动范围为
[
0.559
,
π
]
r
a
d
[0. 559,\pi]rad
[0.559,π]rad
机械臂关节 1 和腕关节的运动范围为
[
−
2
π
,
2
π
]
r
a
d
[-2\pi,2\pi]rad
[−2π,2π]rad(本身自身是环转运动)
1.2 整体方法架构
2 手臂运动规律分析与学习
本文采用 VICON 系统采集人体手臂达点运动的数据
获取手臂在达点运动过程中的典型规律和约束。
达点运动:到达目标点的运动。
2.1 目标点的选择
本文研究限定范围:人体右臂右半空间中肩关节以上的位置,定义为
S
M
\pmb{S_{M}}
SMSM
2.2 基于 VICON 的人体手臂运动数据采集方法
1. 设计合适的刚体标志块
设计 3 个刚体标志块(肩膀、上臂和下臂)
由在不同位置下的 4 个相同的反光球构建
肩向量
V
S
\pmb{V_{S}}
VSVS,上臂
V
A
\pmb{V_{A}}
VAVA,下臂
V
F
\pmb{V_{F}}
VFVF
2. 把各刚体标志块贴于实验者的右臂
3. 收集数据信息
做 100 次达点运动实验,并选用不同的实验者进行实验
手臂的初始位置为自然垂直向下
2.3 人体手臂关节变量构建
1 肩夹角
在人体坐标系
{
H
}
\{ H \}
{H}下的坐标
既体现了肩关节的运动情况,还描述了肩部和上臂的运动关系。
{
V
S
=
(
x
S
4
−
x
S
1
,
y
S
4
−
x
S
1
,
z
S
4
−
x
S
1
)
V
A
=
(
x
A
4
−
x
A
1
,
y
A
4
−
x
A
1
,
z
A
4
−
x
A
1
)
α
1
=
arccos
(
V
S
⋅
V
A
/
∣
V
S
∣
⋅
∣
V
A
∣
)
\begin{cases} \pmb{V_{S}} &= (x_{S4}-x_{S1},y_{S4}-x_{S1},z_{S4}-x_{S1}) \\ \pmb{V_{A}} &= (x_{A4}-x_{A1},y_{A4}-x_{A1},z_{A4}-x_{A1}) \\ \alpha_{1} &= \arccos(\pmb{V_{S}} \cdot \pmb{V_{A}} / |\pmb{V_{S}}|\cdot|\pmb{V_{A}}|) \end{cases}
⎩
⎨
⎧VSVSVAVAα1=(xS4−xS1,yS4−xS1,zS4−xS1)=(xA4−xA1,yA4−xA1,zA4−xA1)=arccos(VSVS⋅VAVA/∣VSVS∣⋅∣VAVA∣)
2 肘夹角
它不仅体现了肘关节的运动情况,还能够描述上臂和前臂的运动关系。
{
V
F
=
(
x
F
4
−
x
F
1
,
y
F
4
−
x
F
1
,
z
F
4
−
x
F
1
)
α
2
=
arccos
(
V
A
⋅
V
F
/
∣
V
A
∣
⋅
∣
V
F
∣
)
\begin{cases} \pmb{V_{F}} &= (x_{F4}-x_{F1},y_{F4}-x_{F1},z_{F4}-x_{F1}) \\ \alpha_{2} &= \arccos(\pmb{V_{A}} \cdot \pmb{V_{F}} / |\pmb{V_{A}}|\cdot|\pmb{V_{F}}|) \\ \end{cases}
{VFVFα2=(xF4−xF1,yF4−xF1,zF4−xF1)=arccos(VAVA⋅VFVF/∣VAVA∣⋅∣VFVF∣)
3 腕关节运动角
腕关节与目标点的运动情况。
β
1
=
∣
arctan
y
g
x
g
−
arctan
y
F
4
x
F
4
∣
\beta_{1}=|\arctan{\frac{y_{g}}{x_{g}}}-\arctan{\frac{y_{F4}}{x_{F4}}}|
β1=∣arctanxgyg−arctanxF4yF4∣
β
w
=
arctan
y
F
4
x
F
4
→
\beta_{w}=\arctan{\frac{y_{F4}}{x_{F4}}}\rightarrow
βw=arctanxF4yF4→ 腕关节的投影点与坐标原点相连形成的向量和x轴的夹角
β
g
=
arctan
y
g
x
g
→
\beta_{g}=\arctan{\frac{y_{g}}{x_{g}}}\rightarrow
βg=arctanxgyg→ 目标点
g
=
(
x
g
,
y
g
,
z
g
)
\pmb{g}=(x_{g},y_{g},z_{g})
gg=(xg,yg,zg)与坐标原点相连形成的向量和x轴的夹角
2.4 数据分析与学习
肩夹角
α
1
α_{1}
α1 和肘夹角
α
2
α_{2}
α2 能够描述人臂运动过程中各部位间的相互关系
因此人臂各部位间的制约关系可以通过
α
1
α_{1}
α1 和
α
2
α_{2}
α2 的运动范围来体现
【频率分布直方图】:接近于正态分布
【QQ图】:接近一条直线
QQ图:Quantile-Quantile,接近一条直线说明呈现正态分布的特点
【Shapiro-Wilk 假设检验】
- 一种显著性假设检验方法
- 从统计学意义上将样本分布与正态分布进行比较
- 确定数据是否显示出与正态性的偏离或符合
α
2
\alpha_{2}
α2的最小值是
0.552
>
0.05
=
α
0.552 \gt 0.05=\alpha
0.552>0.05=α(显著性水平)
可以确定与正态分布没有关系
【Spearman 相关系数】
目标点G的斯皮尔曼相关系数为0.996
具备强正相关关系
【肩夹角和肘夹角的范围关系确定】
α 1 ∈ M s = [ 0.451 , 1.385 ] \alpha_{1}\in\pmb{M_{s}}=[0.451,1.385] α1∈MsMs=[0.451,1.385] 且 α 2 ∈ M e = [ 0.138 , 1.906 ] \alpha_{2}\in\pmb{M_{e}}=[0.138,1.906] α2∈MeMe=[0.138,1.906]
3 强化学习 HP 算法
Mujoco平台
基于DDPG和HER算法
仿人汇报函数设计
case1:碰撞
若检测到机械臂发生碰撞,则直接结束本回合的训练
将即时回报设置为
r
t
=
−
100
r_{t} = -100
rt=−100
case2:机械臂末端的距离
{
d
i
s
=
∣
∣
(
X
E
−
X
G
)
×
K
∣
∣
r
1
=
{
−
ln
(
d
i
s
)
,
d
i
s
>
1
0
,
d
i
s
≤
1
\begin{cases} dis &= ||(\pmb{X_{E}-\pmb{X_{G}}})\times\pmb{K}|| \\ r_{1} &= \begin{cases} -\ln(dis)&,dis\gt 1 \\ 0&,dis\le 1 \\ \end{cases} \end{cases}
⎩
⎨
⎧disr1=∣∣(XE−XGXGXE−XGXG)×KK∣∣={−ln(dis)0,dis>1,dis≤1
为了避免因单位过大导致的较小的数值变化
将距离信息
d
i
s
dis
dis 的阈值设定为以厘米为单位,即
K
=
100
\pmb{K}=100
KK=100
cases3:肩夹角和肘夹角是否具备仿人性
r
2
=
−
ω
1
⋅
arctan
(
Δ
α
1
)
π
/
2
−
ω
2
⋅
arctan
(
Δ
α
2
)
π
/
2
r_{2}=-\omega_{1}\cdot\frac{\arctan(\Delta\alpha_{1})}{\pi/2}-\omega_{2}\cdot\frac{\arctan(\Delta\alpha_{2})}{\pi/2}
r2=−ω1⋅π/2arctan(Δα1)−ω2⋅π/2arctan(Δα2)
Δ
α
1
→
\Delta\alpha_{1}\rightarrow
Δα1→肩夹角范围的偏差
Δ
α
2
→
\Delta\alpha_{2}\rightarrow
Δα2→肘夹角范围的偏差
cases4:腕关节夹角是否具有仿人性
机械臂左右扰动:
r
3
=
−
1
r_{3}=-1
r3=−1
β
1
r
∈
M
w
→
\beta_{1r}\in\pmb{M_{w}} \rightarrow
β1r∈MwMw→ 具备仿人性
→
\rightarrow
→
r
3
=
0
r_{3}=0
r3=0
β
1
r
∉
M
w
→
\beta_{1r}\notin\pmb{M_{w}} \rightarrow
β1r∈/MwMw→ 不具备仿人性
→
\rightarrow
→
r
3
=
−
arctan
(
β
1
r
)
π
/
2
r_{3}=-\frac{\arctan(\beta_{1r})}{\pi/2}
r3=−π/2arctan(β1r)
cases5:都满足上述条件
r t = 10 r_{t}=10 rt=10
cases6:只有一个不满足
r t = ∑ i = 1 3 λ i ⋅ r i ; λ 1 = λ 2 = 1 ; λ 3 = 0.5 ; r_{t}=\sum_{i=1}^{3}\lambda_{i}\cdot r_{i}; \\ \lambda_{1}=\lambda_{2}=1; \\ \lambda_{3}=0.5; \\ rt=i=1∑3λi⋅ri;λ1=λ2=1;λ3=0.5;
归一化措施
4 机械臂仿人运动平台验证及分析
4.1 HP 算法仿真训练
- 在同一时间步数下,随着更新次数的增加,训练时长明显增加,模型训练的成功率先升高后降低
- 在同一更新次数下,随着时间步数的增加,训练时长逐渐增加,模型训练的成功率先升高后降低
- 任务的完成情况受时间步数的影响。(1)过少的时间步数将导致回合内的任务无法完成,从而降低任务的成功率;(2)过多的时间步数则会造成任务的过度拟合,继而产生较差的训练结果。
本文最终将更新次数设为 200,即对应的训练回合数为 10 000,每回合的时间步数设为 20。
随着更新次数的增加,训练的成功率平均为
90.8
%
90. 8\%
90.8% 。
4.2 HP 算法的仿人性验证
通过对比第 1. 1 节中机械臂各关节的仿人运动范围能够发现,在对上述目标点进行达点运动时,机械臂各关节的运动范围均满足仿人运动范围的要求,不存在超过人体手臂运动范围的运动。
根据机械臂的上述各项运动指标,即运动轨迹和关节角变化范围,能够初步判定,通过 HP 算法规划的运动具备仿人性的特征。
4.3 机械臂仿人运动结果分析
机械臂在每个卦限下的达点运动都具备仿人性
每一卦限下的成功率和仿人轨迹规划耗时的差距并不大