人工势场(APF)
人工势场(Artificial potential field)由Khatib提出,刚开始用于防止机械手臂在一同抓取物体时碰到工作台。后发现在移动机器人应用中有很好的效果,能够产生非常平滑的运动轨迹。
基本思想是,将机器人周围环境设计成一个抽象的人造引力场,目标点对移动机器人产生“引力”,障碍物对移动机器人产生“斥力”,最后通过求合力来控制移动机器人的运动。应用势场法规划出来的路径一般是比较平滑并且安全,缺点是存在局部最优点问题。
引力场函数
对引力场对距离求导得到其梯度即引力
斥力场函数
斥力为斥力场的梯度
总的场就是引力场和斥力场的叠加,及U=U_att+U_rep,总的里也是对应分力的叠加。
以上为参考网上资料内容,今使用matlab简要仿真算法,其中函数分段部分直接做省略,在实际应用中应该要提高斥力系数,同时选取合适的计算范围即ρ0值。
算例
在(0,0)-(20,20)方形区域内,起始点位于(0,0),目标点位于(20,20),
建立起引力场
曲面图 等高线
在位于(10,10)、(15,20)出放置障碍物,建立斥力场
曲面图 等高线
合成后势场图
曲面图 等高线