势场法

势场法(Potential Field Method)是一种广泛应用于机器人路径规划的方法,其核心思想是将环境中的障碍物和目标点分别建模为势场的源点,通过计算势场力来引导机器人从起点到目标点。这种方法简单直观,易于实现,但在复杂的环境中可能会遇到局部最优问题。

势场法的基本原理

势场法的基本原理是将机器人视为在势场中运动的粒子,势场由吸引势场和排斥势场组成。吸引势场由目标点产生,引导机器人向目标点移动;排斥势场由障碍物产生,使机器人避开障碍物。机器人在每一步的运动方向由吸引势场和排斥势场的合力决定。

吸引势场

吸引势场 Uatt(x,y)U_{\text{att}}(x, y)Uatt(x,y) 通常定义为一个向目标点的梯度函数。假设目标点为 (xg,yg)(x_g, y_g)(xg,yg),机器人当前位置为 (x,y)(x, y)(x,y),吸引势场可以定义为:

Uatt(x,y)=12katt∥(x,y)−(xg,yg)∥2 U_{\text{att}}(x, y) = \frac{1}{2} k_{\text{att}} \| (x, y) - (x_g, y_g) \|^2 Uatt(x,y)=21katt(x,y)(xg,yg)2

其中,kattk_{\text{att}}katt 是吸引势场的权重系数,用于调节机器人向目标点移动的速度。吸引势场的梯度(即合力)为:

∇Uatt(x,y)=katt((x,y)−(xg,yg)) \nabla U_{\text{att}}(x, y) = k_{\text{att}} \left( (x, y) - (x_g, y_g) \right) Uatt(x,y)=katt((x,y)(xg,yg))

排斥势场

排斥势场 Urep(x,y)U_{\text{rep}}(x, y)Urep(x,y) 通常定义为一个随机器人与障碍物距离减小而增大的函数。假设障碍物集合为 { (xi,yi)}i=1n\{ (x_i, y_i) \}_{i=1}^n{(xi,yi)}i=1n,排斥势场可以定义为:

Urep(x,y)=∑i=1n12krep(1∥(x,y)−(xi,yi)∥−1rmax)2 U_{\text{rep}}(x, y) = \sum_{i=1}^n \frac{1}{2} k_{\text{rep}} \left( \frac{1}{\| (x, y) - (x_i, y_i) \|} - \frac{1}{r_{\text{max}}} \right)^2 Urep(x,y)=i=1n21krep((x,y)(xi,yi)1r