汽车起重机机器人路径规划方法
技术领域
本发明涉及汽车起重机机器人的路径规划,特别涉及一种改进的基于神经网络能量函数的自主移动机器人路径规划方法。
背景技术
随着科技的发展,汽车起重机机器人将代替人们在危险的环境中工作,汽车起重机机器人,属于一种自主移动机器人,它需要具有识别周围环境,规划运动路径在有障碍物的环境下进行无碰撞移动的能力。自主移动机器人路径规划的传统路径规划方法中的人工势场法,其基本思想是通过寻找路径点的能量函数的极小值点而使路径避开障碍物,但存在局部极小值问题且不适于寻求最短路径。“人工神经网络”是在对人脑组织结构和运行机制的认识理解基础之上模拟其结构和智能行为的一种工程系统。其信息处理功能是由网络单元的输入输出特性、网络拓扑结构、神经元之间的连接强度(连接权)等共同决定的。一种基于神经网络能量函数的路径规划算法(简称NA路径规划算法),收敛速度快,并且能够规划出最短避障路径。但是,在此算法中存在局部极小值问题。本发明提出一种改进的基于神经网络能量函数的路径规划方法,可以解决此种路径规划的局部极小值问题。
发明内容
本发明的目的在于克服NA路径规划算法存在的不足而提供一种可避免局部极小值问题、规划的无碰路径达到最短无碰路径的改进的基于神经网络能量函数的路径规划方法。
为实现上述目的,本发明所采用的技术方案包括以下几个步骤:
步骤1:定义路径总能量函数:一条路径的碰撞罚函数定义为各路径点的碰撞罚函数之和,而一个点的碰撞罚函数是通过它对各个障碍物的三层前向神经网络表示得到的;输入层的两个结点的输入分别是路径点的横坐标和纵坐标x、y,其中x、y为实数,中间层的每个结点相应于障碍物的一条边的不等式限制条件,输入层和中间层的连接权系数等于不等式中x、y前面的系数,中间层每个结点的阈值等于相应不等式中的常数项;中间层到输出层的连接权为1,输出层结点的阈值取为不等式的个数减去0.5后的负数;
该连续网络的运算关系为
IHm=wxmxi+wymyi+θHm (4)
其中各符号的含义为,C:顶层结点输出;IO:顶层结点输入;θT:顶层结点阈值;OHm:中间层第m个结点的输出;IHm:中间层第m个结点的输入;θHm:中间层第m个结点的阈值;wxm,wym:第m个不等式限制条件的系数;激发函数为常用的S形函数,即
模拟退火温度变化公式为:
其中β是模拟退火初始温度,βm是相应于障碍物每一条边的模拟退火初始温度,可以根据障碍物的形状,设定各边的不同的初始温度,这样对于一些不对称图形可避免其罚函数曲面形成一边倒的情况;
整条路径相应于碰撞函数部分的能量为
其中K是障碍物的个数,N是路径点的个数,Ci k是第i个路径点P(xi,yi)对第k个障碍物的碰撞函数;
相应于路径长度部分的能量函数是所有线段长度的平方和,即对所有路径点P(xi,yi),i=1,2,…,N,
整条路径的总能量函数为
E=wlEl+wcEc (10)
其中wl和wc分别表示对每一部分的权重(wl+wc=1);
步骤2:根据出发点坐标P(x1,y1)及目标点坐标P(xN,yN),初始路径一般取为出发点到目标点的直线上均匀分布的点列,当x1≠xN时
xi=x1+i(xN-x1)/(N-1)
yi=(yN-y1)(xi-x1)/(xN-x1)+y1(i=2,3,…,N-1) (11)
步骤3:检测路径的起点和终点是否都在障碍物的中轴线上,根据不同情况分别进行下面两种操作:
(1)若起点和终点至少有一个不在障碍物的中轴线上,则执行步骤4;
(2)若起点和终点都在障碍物的中轴线上,则随机选择一个路径点,改变该路径点坐标后,执行步骤4;
步骤4:对于路径点P(xi,yi),i=2,3,…,N-1,用检测器检测是否在障碍物内,根据不同情况分别进行下面两种操作:
(1)若路径点P(xi,yi)在障碍物内,则按下列运动方程移动
其中(12)用于P(xi,yi)位于多边形的障碍物内的情况,(13)用于P(xi,yi)位于圆心在(P,Q)的圆形障碍物内的情况;
(2)若P(xi,yi)在障碍物之外,则按下列运动方程移动
步骤5:重复执行步骤4,直到路径收敛;
其中上述步骤1-5基于以下假设:
(1)障碍物是二维环境中的多边形围成的平面图形或者是圆形的平面图形;
(2)障碍物为静止的;
(3)计算时障碍物的尺寸按机器人的半径作适当的扩展。
本发明给出了一种改进的基于神经网络能量函数的路径规划方法,能够解决NA路径规划算法的局部极小值问题,完成最短避障路径规划,为移动机器人的最优路径规划提供了一个简捷有效的方法。
附图说明
图1为一个点到一个障碍物的罚函数的神经网络。
图2为NA路径规划算法的计算实例。
图3是在出发点和目标点都在障碍物的中轴线上的条件下,用NA路径规划算法进行的仿真实验结果。
图4是在出发点和目标点都在障碍物的中轴线上的条件下,用本发明的改进的基于神经网络能量函数的路径规划方法进行路径规划的仿真实验过程及路径规划结果图。
具体实施方式
本发明的改进的基于神经网络能量函数的路径规划方法的路径规划具体实施方法分为如下几个步骤进行:
步骤1:定义路径总能量函数。
一条路径的碰撞罚函数定义为各路径点的碰撞罚函数之和,而一个点的碰撞罚函数是通过它对各个障碍物的三层前向神经网络表示得到的。图1表示了一个点到一个障碍物的罚函数的神经网络。输入层两个结点的输入值分别是路径点的横坐标和纵坐标x、y,x、y均为实数,中间层的每个结点是相应于障碍物的一条边的不等式限制条件,输入层和中间层的连接权系数等于不等式中x、y前面的系数,中间层每个结点的阈值等于相应不等式中的常数项。中间层到输出层的连接权为1,输出层结点的阈值取为不等式的个数减去0.5后的负数。
该连续网络的运算关系为
IHm=wxmxi+wymyi+θHm (4)
其中各符号的含义为,C:顶层结点输出;IO:顶层结点输入;θT:顶层结点阈值,θT一般为大于0小于1的实数;OHm:中间层第m个结点的输出;IHm:中间层第m个结点的输入;θHm:中间层第m个结点的阈值,θHm一般为大于0小于1的实数wxm,wym:第m个不等式限制条件的系数。激发函数为常用的S形函数,即
模拟退火温度变化公式为:
其中β是模拟退火初始温度,βm是相应于障碍物每一条边的模拟退火初始温度,β和βm一般取为大于0小于1的实数,可以根据障碍物的形状,设定各边的不同的初始温度,这样对于一些不对称图形可避免其罚函数曲面形成一边倒的情况。
整条路径相应于碰撞函数部分的能量为
其中K是障碍物的个数,N是路径点的个数,Ci k表示第i个路径点P(xi,yi)对第k个障碍物的碰撞函数。
相应于路径长度部分的能量函数定义为所有线段长度的平方和,即对所有路径点P(xi,yi),i=1,2,…,N,
整条路径的总能量函数为
E=wlEl+wcEc (10)
其中wl和wc分别表示对每一部分的权重,wl和wc均为正实数(wl+wc=1)。
步骤2:根据出发点坐标P(x1,y1)及目标点坐标P(xN,yN),初始路径一般取为出发点到目标点的直线上均匀分布的点列,当x1≠xN时
xi=x1+i(xN-x1)/(N-1)
yi=(yN-y1)(xi-x1)/(xN-x1)+y1(i=2,3,…,N-1) (11)
步骤3:检测路径的起点和终点是否都在障碍物的中轴线上,根据不同情况分别进行下面两种操作:
(1)若起点和终点至少有一个不在障碍物的中轴线上,则执行步骤4;
(2)若起点和终点都在障碍物的中轴线上,则随机选择一个路径点,将其横坐标或纵坐标加上或减去一个大于0且小于1的正数,执行步骤4。
步骤4:对于路径点P(xi,yi),i=2,3,…,N-1,用检测器检测是否在障碍物内,根据不同情况分别进行下面两种操作:
(1)若路径点P(xi,yi)在障碍物内,则按下列运动方程移动
其中(12)用于P(xi,yi)位于多边形的障碍物内的情况,(13)用于P(xi,yi)位于圆心在(P,Q)的圆形障碍物内的情况,η1是大于0且小于1的正实数。
(2)若P(xi,yi)在障碍物之外,则按下列运动方程移动
η2是大于0且小于1的正实数。
步骤5:重复执行步骤4,直到路径收敛。
仿真实验
图2为NA路径规划算法的一个计算实例。
图3是在目标点和起始点坐标为xs=0.9,ys=0.2,xt=0.9,yt=1.6条件下,用NA路径规划算法进行的仿真实验结果,路径规划落入局部极小值,没有规划出避障路径。
图4是在目标点和起始点坐标为xs=0.9,ys=0.2,xt=0.9,yt=1.6条件下,用本发明的改进的基于神经网络能量函数的路径规划算法进行路径规划得仿真实验过程及路径规划结果图。即图4是在目标点和起始点坐标与图2的在目标点和起始点坐标完全一样的情况下用改进算法进行的仿真实验结果,它是一条折线形的最短避障路径。