《机器人动力学与控制》第七章—路径规划与避障 7.4 使用随机运动来逃离局部最小势能位置

(159) 2024-04-29 22:01:01

文章目录

  • 7.4.0 前言
  • 7.4.1 RPP 算法
  • 参考引用

7.4.0 前言

正如前面提到过的,人工势场法的一个缺点就是在势场里面可能会存在一个局部最小势能位置导致机器人陷在那里出不来。局部极小值问题在优化领域很早就出现了,为此人们发展出了一些概率方法来应对这个问题。同样地,在机器人领域也有随机化方法来处理局部极小值的问题。

7.4.1 RPP 算法

第一个要介绍的方法是RPP,全称Randomized Potential Planner。该方法思路很简单,就是正常使用梯度下降法,然后在陷入局部极小点位置的时候用一个随机的位置激励使机器人逃离局部极小值。算法如下:
《机器人动力学与控制》第七章—路径规划与避障 7.4 使用随机运动来逃离局部最小势能位置 (https://mushiming.com/)  第1张
为此我们要考虑的两个新问题是:

  1. 怎么样才算陷入了局部极小值
  2. 怎么定义这个随机的位置激励

对于第一个问题比较容易,只要连续的几个 q i \boldsymbol{q}^{i} qi 统统在一个局部范围内,那么机器人极有可能已经陷入了局部极小值点即 (e.g.如果对于一个小的 ϵ \epsilon ϵ 我们有 ∥ q i − q i + 1 ∥ < ϵ , ∥ q i − q i + 2 ∥ < ϵ , \left\|q^{i}-q^{i+1}\right\|<\epsilon,\left\|q^{i}-q^{i+2}\right\|<\epsilon, qiqi+1<ϵ,qiqi+2<ϵ, and ∥ q i − q i + 3 ∥ < ϵ \left\|q^{i}-q^{i+3}\right\|<\epsilon qiqi+3<ϵ 便能假定 q i q^{i} qi 在局部极小值附近).

对于第二个问题需要多操点心,RPP也有不同类型,我们这里讲解Original RPP。通常直接给所有关节变量各随机加一个小的定值 v i v_{i} vi来作为随机的位置激励,且 v i v_{i} vi的取值满足均匀分布。
q random  −  step  = ( q 1 ± v 1 , ⋯ q n ± v n ) \boldsymbol{q}_{\text {random }-\text { step }}=\left(q_{1} \pm v_{1}, \cdots q_{n} \pm v_{n}\right) qrandom  step =(q1±v1,qn±vn)
不失一般性,我们可以假设 q = 0 q=0 q=0。然后用概率论的知识来分析包含t个步骤的随机位置激励。对于 q ′ = ( q 1 , ⋯   , q n ) q^{\prime}=\left(q_{1}, \cdots, q_{n}\right) q=(q1,,qn), 其概率密度方程为 p i ( q i , t ) = 1 v i 2 π t exp ⁡ ( − q i 2 2 v i 2 t ) p_{i}\left(q_{i}, t\right)=\frac{1}{v_{i} \sqrt{2 \pi t}} \exp \left(-\frac{q_{i}^{2}}{2 v_{i}^{2} t}\right) pi(qi,t)=vi2πt
1
exp(2vi2tqi2)

这是一个均值为0,方差为 v i 2 t v_{i}^{2} t vi2t的高斯密度方程。这是由于一系列均匀分布的数的和是一个高斯分布变量的结果导致。 v i 2 t v_{i}^{2} t vi2t 决定了随机位置激励的范围,如果我们知道某些局部极小值的特性的话(比如 吸引域的大小),那么我们就可以对应地选择参数 v i v_{i} vi t t t。否则的话,只能凭经验或者根据势场的一些薄弱的假设来确定这两个参数值。

参考引用

翻译自《robot dynamics and control》
作者:Mark W Spong,Seth Hutchinson, and M. Vidyasagar

THE END

发表回复