机器人中的数值优化进阶|【三】三次样条曲线推导(下)
接之前的内容,现在开始考虑势场函数
P
(
η
1
,
.
.
.
,
η
n
−
1
)
=
1000
∑
i
=
1
n
−
1
∑
j
=
0
m
max
(
r
j
−
∣
∣
η
i
−
o
j
∣
∣
,
0
)
P(\eta_1,...,\eta_{n-1}) = 1000 \sum_{i=1}^{n-1}\sum_{j=0}^{m} \max(r_j-||\eta_i-o_j||, 0)
P(η1,...,ηn−1)=1000i=1∑n−1j=0∑mmax(rj−∣∣ηi−oj∣∣,0)
势场函数的计算较为容易,主要关注梯度的推导与计算
∣
∣
η
i
−
o
j
∣
∣
=
(
(
η
i
,
0
−
o
j
,
0
)
2
+
(
η
i
,
1
−
o
j
,
1
)
2
)
1
2
||\eta_i-o_j|| = ((\eta_{i,0}-o_{j,0})^2 + (\eta_{i,1}-o_{j,1})^2)^{\frac{1}{2}}
∣∣ηi−oj∣∣=((ηi,0−oj,0)2+(ηi,1−oj,1)2)21
当
r
j
−
∣
∣
η
i
−
o
j
∣
∣
<
0
r_j-||\eta_i-o_j||<0
rj−∣∣ηi−oj∣∣<0时,
δ
P
δ
η
=
−
1000
∑
i
=
1
n
−
1
∑
j
=
0
m
(
(
η
i
,
0
−
o
j
,
0
)
δ
η
i
,
0
δ
η
+
(
η
i
,
1
−
o
j
,
1
)
δ
η
i
,
1
δ
η
∣
∣
η
i
−
o
j
∣
∣
)
\frac{\delta P}{\delta \eta} = -1000\sum_{i=1}^{n-1}\sum_{j=0}^{m}(\frac{(\eta_{i,0}-o_{j,0})\frac{\delta \eta_{i,0}}{\delta \eta}+(\eta_{i,1}-o_{j,1})\frac{\delta \eta_{i,1}}{\delta \eta}}{||\eta_i-o_j||})
δηδP=−1000i=1∑n−1j=0∑m(∣∣ηi−oj∣∣(ηi,0−oj,0)δηδηi,0+(ηi,1−oj,1)δηδηi,1)
通过该式可以组装一个矩阵计算公式,得到梯度