admin管理员组

文章数量:1531436

如何利用人工势场进行运动规划?

1.1 引力势场(Attractive Potential Field)

人工势场这个特殊的势场并不是一个单一的场,其实它是由两个场叠加组合而成的,一个是引力场,一个是斥力场。

顾名思义引力势场是具有吸引的性质,会将机器人从起点处朝着终点处吸引,所以引力场的存在使得机器人获得了运动的大方向。

在实际的工程中,其实有很多种方法可以构建这样的一个引力势场,最简单而且也是最常用的方式就是直接对地图自由空间的每个点都相对终点计算出欧氏距离的平方,并乘上一个缩放系数ε

fa(x, y)便是所谓的引力势场函数,它会构建一个离终点越远引力越大的特殊势场,在Matlab中可以非常直观地看到这个引力势场。

1.2 斥力势场(Repulsive Potential Field)

当然仅仅只有引力势场是不够的,我们还需要让机器人懂得避开地图中的障碍物,这时斥力势场便有用武之地了,斥力势场的会构建一个距离障碍物越近,斥力越大的特殊势场。

这个过程其实非常好理解,引力势场负责吸引机器人从起点朝着终点运动,斥力势场负责规避地图中的障碍。

通常我们会用下面这个函数来构建斥力势场:

其中ρ(x, y)是一个特殊的函数,它会计算出离当前点(x,y)最近的障碍物的距离,而d0是一个距离阈值,当当前点到最近障碍物的距离大

本文标签: 白话演示入门原理matlab