人工势能场(APF)的原理什么是人工势能场APF(artificalpotentialfield)?APF方法是由Khatib率先提出的,刚开始只是为了解决机械手臂在移动抓取物体的时候,能够不碰到工作台。但是后来人们发现,这个方法在移动机器人上应用也有很好的效果。能产生出非常平滑的运行轨迹。在APF中,机器人的工作环境被转换成一个势量场。所有的障碍物都被视为有最高势能的地方。如图中,几个凸起的柱状物体就代表障碍物。红色区域表示高势能,蓝色表示低势能。而机器人就好像一个球,从高势能的地方滚向低势能的地方。图:APF的三维示意图#此前在首页部分显示#人工势能场如何应用?知道了基本概念以后,我们再看看如何创建这个势能场。多数使用库伦定理,就是机器人和它周围物体的势能大小与他们之间的距离的平方成反比。机器人的运动由2个力的合力决定,目标点构成吸引力,障碍物构成排斥力,两者力的矢量合就是推动力。如何使用合力驱动机器人?首先,传感器的读数被转化成障碍物的距离以及角度,然后代入斥力场计算公式,获得斥力。再根据机器人所处位置计算引力及其角度。将所有力的矢量合相加,获得最终的驱动力矢量。这个驱动力矢量将转化成机器人的驱动信号。合力的垂直分量将转换成机器人的直线行进速度,水平分量将转换成机器人的旋转速度。这个转化就需要根据具体机器人的动力学方程进行。图:APF的力分解图小结APF的应用和原理是非常简单的,但是问题也是很明显以及突出的。最明显的就是局部最小化问题(localminimum),如下图所示。图:Localminimum(局部最小化)在图中某个位置,机器人受到的斥力矢量与引力矢量的合为0,机器人将会在这个点上徘徊,而无法达到目标点。虽然学术界提出了很多方法解决这个问题,比如引入一个扰动,一旦监测到机器人进入这么一种循环状态,将随机加入一个扰动量,让机器人随机的移动。或者改变斥力以及合力的计算方式或者引入一个时间变量来计算合力,这些方法都不同程度上的减少了机器人陷入局部最小化的几率,但是当凹形的障碍物尺寸比较大的时候,局部最小化问题还是无法解决。同样,APF方法还有其他问题,比如在窄通道里的振荡问题,无法通过小尺寸的门等。对此,Borenstein的PotentialFieldMethodsandTheirInherentLimitationsforMobileRobotNavigation.有着比较详细的描述。