机器人中的数值优化进阶|【三】三次样条曲线推导(下)
接之前的内容,现在开始考虑势场函数
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)
通过该式可以组装一个矩阵计算公式,得到梯度