为了赋予机器人“举一反三”的操作能力,学界提出了机器人操作技能的高效率模仿学习方法,一是基于动态系统的机器人操作技能模仿;二是基于非线性回归模型对运动轨迹进行编码的机器人操作技能模仿
(Q1.法二是与控制系统无关只管轨迹吗,然后设置控制器跟随)
例一:
DMP中是在PD控制器中加入一非线性项(可看做外力),来控制轨迹。非线性项是多个基函数的叠加,基函数的均值和方差根据正则系统确定,基函数叠加的权重系数根据示教数据由训练得到Dynamic Movement Primitives介绍及Python实现与UR5机械臂仿真
Q1 :论文[1]提到:构建DS,一般依赖于两步学习:构建 Lyapunov 函数和求解 DS,知乎这文章中没有稳定性证明,最后非线性项等于0,直接就是稳定的,可以这么说吗?
例二:
GMM-GMR
利用概率混合模型的方法,表征机器人运动轨迹。
写一下自己对高斯混合模型GMM的理解,如何采用GMR 进行数据回归
一维高斯分布:
f
(
x
)
=
1
2
π
⋅
δ
⋅
e
−
(
x
−
μ
)
2
2
δ
2
f(x)=\frac{1}{\sqrt{2\pi} \cdot \delta}\cdot e^{-\frac{(x-\mu)^2}{2 \delta^2}}
f(x)=2π⋅δ1⋅e−2δ2(x−μ)2
二维高斯分布:
假设两变量
x
1
,
x
2
x_1,x_2
x1,x2相对独立,且都服从高斯分布,存在以下等式:
f
(
x
1
,
x
2
)
=
f
(
x
1
)
⋅
f
(
x
2
)
f(x_1,x_2)=f(x_1)\cdot f(x_2)
f(x1,x2)=f(x1)⋅f(x2)
式中
f
(
x
1
)
f(x_1)
f(x1):
f
(
x
1
)
=
1
2
π
⋅
δ
1
⋅
e
−
(
x
1
−
μ
1
)
2
2
δ
1
2
f(x_1)=\frac{1}{\sqrt{2\pi} \cdot \delta_1}\cdot e^{-\frac{(x_1-\mu_1)^2}{2 \delta_1^2}}
f(x1)=2π⋅δ11⋅e−2δ12(x1−μ1)2
其中
d
e
l
t
a
1
delta_1
delta1和
μ
1
\mu_1
μ1是变量
x
1
x_1
x1的标准差和均值,二维的高斯分布函数可以表示为:
f
(
x
1
,
x
2
)
=
f
(
x
1
)
⋅
f
(
x
2
)
f(x_1,x_2)=f(x_1)\cdot f(x_2)
f(x1,x2)=f(x1)⋅f(x2)
=
1
2
π
⋅
δ
1
δ
2
⋅
e
−
δ
2
2
(
x
1
−
μ
1
)
2
+
δ
1
2
(
x
2
−
μ
2
)
2
2
δ
1
2
δ
2
2
=\frac{1}{{2\pi} \cdot \delta_1\delta_2}\cdot e^{-\frac{\delta_2^2(x_1-\mu_1)^2+\delta_1^2(x_2-\mu_2)^2}{2 \delta_1^2\delta_2^2}}
=2π⋅δ1δ21⋅e−2δ12δ22δ22(x1−μ1)2+δ12(x2−μ2)2
扩展多维高斯分布:
N
(
X
→
∣
μ
→
,
Σ
)
=
1
(
2
π
)
D
2
⋅
∣
Σ
∣
1
2
⋅
e
−
(
X
→
−
μ
→
)
T
⋅
Σ
−
1
⋅
(
X
→
−
μ
→
)
2
N(\overrightarrow{X} | \overrightarrow{\mu},\Sigma)=\frac{1}{(2\pi)^{ \frac{D}{2} } \cdot |\Sigma|^{\frac{1}{2}} } \cdot e ^{-\frac{(\overrightarrow{X}-\overrightarrow{\mu})^{T}\cdot \Sigma^{-1}\cdot(\overrightarrow{X}-\overrightarrow{\mu})}{2}}
N(X∣μ,Σ)=(2π)2D⋅∣Σ∣211⋅e−2(X−μ)T⋅Σ−1⋅(X−μ)
式中:
X
→
\overrightarrow{X}
X表示维度为D的向量
μ
→
\overrightarrow{\mu}
μ表示
X
→
\overrightarrow{X}
X各维度的均值组成的向量
Σ
\Sigma
Σ代表所有向量的协方差矩阵,是一D×D维的矩阵
补充一下协方差的定义,帮助理解:如何理解协方差矩阵(散布矩阵)
高斯混合回归
目的:找出x→y的映射;
高斯混合回归(GMR)的基本假设是,联合输入(x)×输出(y)空间中的数据可以用一组高斯分布很好地表示,这被称为高斯混合模型(GMM)
(Q2 这里的输入x是时间或者相位?参考[6]中x是时间,y是描述路径例如末端执行器的位置)
左图:在20个示例数据点上具有3个高斯的高斯混合模型(gmm)。该模型是在联合输入×输出空间上通过无监督学习(EM)获得的。右图:高斯混合回归,调节输入空间X,获得输出空间Y的均值和方差
通过EM方法训练,得到高斯混合模型。
对于高斯混合回归,我们的目的在于预测: y ‾ = E ( y ∣ x ) \overline{y}=E(y|x) y=E(y∣x),给定x时y的期望。为此,可以按如下方式分解 µ e µ_e µe和 ∑ e ∑_e ∑e
µ
e
=
[
µ
e
,
X
T
,
µ
e
,
Y
T
]
T
µ_e=[µ_{e,X}^T,µ_{e,Y}^T]^T
µe=[µe,XT,µe,YT]T
Σ
e
=
[
Σ
e
,
X
Σ
e
,
X
Y
Σ
e
,
Y
X
Σ
e
,
Y
]
\Sigma_e= [Σe,XΣe,XYΣe,YXΣe,Y]
给定输入x,输出y的条件概率为
p
(
y
∣
x
)
=
∑
e
=
0
E
h
e
(
x
)
N
(
µ
e
,
Y
+
Σ
e
,
Y
X
Σ
e
,
X
−
1
(
x
−
µ
e
,
X
)
,
Σ
e
,
Y
X
Σ
e
,
X
−
1
Σ
e
,
X
Y
)
p(y|x)=\sum_{e=0}^Eh_e(x)N(µ_{e,Y}+ \Sigma_{e,YX}\Sigma^{-1}_{e,X}(x-µ_{e,X}),\Sigma_{e,YX}\Sigma^{-1}_{e,X}\Sigma_{e,XY})
p(y∣x)=e=0∑Ehe(x)N(µe,Y+Σe,YXΣe,X−1(x−µe,X),Σe,YXΣe,X−1Σe,XY)
给定输入x,y的期望为(这算不算找到了x→y的映射):
y
‾
=
∑
e
=
0
E
h
e
(
x
)
(
µ
e
,
Y
+
Σ
e
,
Y
X
Σ
e
,
X
−
1
(
x
−
µ
e
,
X
)
)
\overline{y}=\sum_{e=0}^Eh_e(x)(µ_{e,Y}+ \Sigma_{e,YX}\Sigma^{-1}_{e,X}(x-µ_{e,X}))
y=e=0∑Ehe(x)(µe,Y+Σe,YXΣe,X−1(x−µe,X))
其中
h
e
(
x
)
h_e(x)
he(x)为
h
e
(
x
)
=
π
e
N
(
x
;
µ
e
,
X
,
Σ
e
,
X
)
∑
l
=
1
E
π
l
N
(
x
;
µ
l
,
X
,
Σ
l
,
X
)
h_e(x)=\frac{\pi_e N(x;µ_{e,X},\Sigma_{e,X})}{\sum_{l=1}^E\pi_l N(x;µ_{l,X},\Sigma_{l,X})}
he(x)=∑l=1EπlN(x;µl,X,Σl,X)πeN(x;µe,X,Σe,X)
参考
[1] 基于模仿学习的机械臂运动规划与柔顺控制研究
[2] 漫谈 Clustering (3): Gaussian Mixture Model
[3] 高斯混合模型GMM
[4] Many Regression Algorithms, One Unified Model – A Review
[5] 基于增量高斯混合回归的自适应软测量方法_李德阳
[6] A tutorial on task-parameterized movement learning and retrieval