一种基于边界值问题的滚动航路规划方法
【专利摘要】本发明公开了一种基于边界值问题的滚动航路规划方法,属于航路规划领域,本发明首先根据进行地形网格建模,之后采用滚动规划策略,将全局最优近似分解为每个时域窗口的局部最优,在每个时域窗口内求解边界值问题得到局部最优解。利用直线-视线方法设计时域窗口的子目标,并在滚动窗口内完成了势场更新与航路计算。本发明借鉴了滚动规划的思想,通过求解离散条件下的边界值问题,能够实时跟踪运动目标。在满足局部最优性的前提下,对全局最优进行近似,最终完成跟踪运动目标的航路规划任务。本发明地形建模简单,子目标选择计算量小,时域窗口设计合理,实现方便。
【专利说明】一种基于边界值问题的滚动航路规划方法
【技术领域】
[0001] 本发明属于航路规划领域,具体地说是涉及一种基于边界值问题的滚动航路规划 方法。
【背景技术】
[0002] 航路规划是影响智能体自主行为的关键技术,一直受到各方面的高度重视,经过 几十年的研究和发展,取得了大量研究成果,为目前智能体的大发展奠定了基础。航路规划 能力是智能体自主性和智能性的重要标志,经过多年的研究与发展形成了众多分支,其中 一个研究热点就是航路的实时性和最优性问题,这类问题属于动态航路规划,有的也称为 实时规划与重规划。
[0003] 目前见诸文献的航路规划方法有:基于图形的规划方法、决策型搜索方法、随机搜 索方法和人工势场法等。以Voronoi图法和Probabilistic Roadmap Method(PRM)法为代 表的基于图形的方法存在组合爆炸的问题,因此不是很适合跟踪运动目标的实时规划。虽 然A*和D*可以通过算法的改进从而改善实时性,但是这种改进的能力也是有限的,即算法 的结构限制了计算的效率。它们均有一定的拓扑能力,规划出的航路具备一定最优性,但 是很难满足实时性要求。在随机型搜索方法中,通过重新编码和改进进化算子能够使遗传 算法能够满足实时规划的要求,但是仍然需要额外的工作来解决过早收敛和试凑调参的问 题。许多研究表明,这些问题同样存在于蚁群算法和粒子群算法。这些方法的另一个共同 特点是需要网格建模来描述环境,而网格模型设计的不合理会导致航路曲率较大。
[0004] 势场法在航路的平滑性上具有很强的优势,因为大多数势场法把物体的运动看成 是作用力的结果,而作用力通常是连续的,并不需要地形的网格化,因此避免了航路被离散 成航路点。势场法除了航路平滑以外实时性也很高,尤其在复杂地形中表现明显。模拟退 火算法和电荷法属于传统的势场法,必须要忍受局部极小,这也是调和场类的方法存在的 共同问题。流函数法借鉴流体力学的概念建立势场区域,并被证明能够避免局部极小,通过 对单个障碍的流函数加权求和能够解决障碍物接触时的路径规划问题,之后该方法被进一 步扩展到了三维。虽然具有诸多优势,但由于流体概念的限制,流函数法存在驻点,可能引 起规划终止。
[0005] 航路规划方法中经常会遇到实时性与最优性的冲突问题,实时性体现了一种动态 的时变特性,因此每个时刻拥有一个最优解,在无法预知和对这种时变特性建模的情况下, 很难求得patrol最优解。如何能够在存在运动目标的动态情况下,在保证实时性的前提下 兼顾最优性,达到实时性和最优性的折中,是设计动态航路规划系统时需要面对的一个问 题。
【发明内容】
[0006] 针对现有技术中存在的问题,本发明提出一种基于边界值问题的滚动航路规划方 法,通过该方法能够在跟踪运动目标的情况下,快速的生成一条具有局部最优特性的航路。
[0007] 本发明的技术方案为一种基于边界值问题的滚动航路规划方法,其首先根据进行 地形网格建模,之后采用滚动规划策略,将全局最优近似分解为每个时域窗口的局部最优, 在每个时域窗口内求解边界值问题得到局部最优解;再利用直线-视线方法设计时域窗口 的子目标,并在滚动窗口内完成了势场更新与航路计算;具体包括如下步骤:
[0008] 步骤一:根据不同对象的物理约束,进行陷阱地形预处理;
[0009] 在航路规划前需要根据使用对象的转弯半径&,针对陷阱区域进行预处理;如果 智能体无法在凹字形区域完成180°转弯,则预处理后凹字形区域将被填充;所述转弯半 径为智能体的特定物理约束用数学公式的描述;
[0010] 步骤二:建立栅格化地形模型,进行栅格坐标转换;
[0011] 将长和宽分别为length和width的实际地形进行栅格化,并在计算机中存储为i 行j列的矩阵A ;通过栅格坐标的转换,建立了离散后的网格地形与实际地形的一一对应关 系;
[0012] 当已知实际地形中的位置(X,y),根据式(1)计算出该位置所对应的计算机存储 中的元素A(i,j),
[0013]
【权利要求】
1. 一种基于边界值问题的滚动航路规划方法,其首先根据进行地形网格建模,之后采 用滚动规划策略,将全局最优近似分解为每个时域窗口的局部最优,在每个时域窗口内求 解边界值问题得到局部最优解;再利用直线-视线方法设计时域窗口的子目标,并在滚动 窗口内完成了势场更新与航路计算;具体包括如下步骤: 步骤一:根据不同对象的物理约束,进行陷阱地形预处理; 在航路规划前需要根据使用对象的转弯半径Ro,针对陷阱区域进行预处理;如果智能 体无法在凹字形区域完成180°转弯,则预处理后凹字形区域将被填充;所述转弯半径为 智能体的特定物理约束用数学公式的描述; 步骤二:建立栅格化地形模型,进行栅格坐标转换; 将长和宽分别为length和width的实际地形进行栅格化,并在计算机中存储为i行j 列的矩阵A ;通过栅格坐标的转换,建立了离散后的网格地形与实际地形的一一对应关系; 当已知实际地形中的位置(x,y),根据式(1)计算出该位置所对应的计算机存储中的 元素 A(i, j),
当已知计算机存储中的元素A(i,j),根据式(2)计算出该元素所对应的实际地形中的 位置(X,y),
式中side表示网格单元的边长,符号□表示元素取整操作; 步骤三:确定滚动时域窗口,求解子目标点; 3. 1滚动时域窗口的设计:子目标点在时域窗口中为一个位于窗口边界坐标点,并将 时域窗口做以下两步处理: 1) 将子目标点扩展为三个相邻的坐标点,增加子目标点对智能体的吸引,提高边界值 势场的收敛速度; 2) 将窗口边界人为设定成高势场,保证边界对智能体的排斥作用; 3. 2子目标点的计算: 1) 设在某个时刻tk,对应的时域窗口为HWk ;在定位智能体当前位置和确定HWk大小之 后;时域窗口一般为全局地图大小的1/10,从全局地图中获得HW k内的局部障碍信息; 2) 为当前智能体位置,匕,为当前目标位置,〇。_是与直线相交,并且距 离最近的一个障碍,V tl、和vbl分别为0。_的四个顶点; 3) 根据LOS(Line-Of-Sight)算法,在0。_的四个顶点中找出阻挡了直线/^的点 Vmid ; 4)根据〇。_和HWk的不同相对位置,则子目标点为直线f 或与HWk的交点 步骤四:求解时域窗口内的边界值问题; 地形环境已经栅格化为矩阵A,每个栅格A (i,j)存储着t时刻的势场值it·,栅格单位 的变长为side ;对狄氏边界条件的势场进行初始化:障碍和边界所在的栅格势场为1,目标 点的势场为〇 ;其他网格的势场根据不同的地形情况,采用数值迭代方法求解,其采用GS方 法,首先用式(3)进行势场更新:
其中 A; = Aj,凡=A+ij,A = /Vi./,Λ = Aj+i,A = A,/-1,v = (vx,vy),上标 t 表 示当前时刻,t+1表示下一时刻。为了确定参数¥和ε的值域,将式(3)整理为:
其中 wx= eVx/2,wy= eVy/2;当 wx,wye [1,1]时上式满足 pnlin彡pc彡pnlaχ,pnlin和p nlaχ 分别代表与网格内的最小和最大势场值;设障碍和目标的势场值分别为Pmax和Pmin,则任一 网格的梯度下降方向将指向目标点并尽量远离障碍;定义v是单位向量并且ε e (-2, 2); 步骤五:计算梯度,将最速下将方向作为前进方向,并且根据八方向法确定航路点; 势场更新之后,按照式(5)计算每个网格的梯度 :
设智能体当前所在网格为A(i,j),前进方向为VPi,j;以网格A(i,j)为中心点按照八 方向对相邻网格进行分割,找出A(i,j)的梯度▽ Pu所指向的区域,则智能体下一时刻速 度的期望方向为▽ PH,j+1,下一时刻期望到达的网格为A(i_l,j+Ι); 步骤六:跟踪运动目标,进行滚动规划,完成整个航路规划过程; 设航路规划的开始时间为h,根据步骤三?步骤五的方法,得到、时刻的HW的航路,然 后将tQ时刻的HW中子目标点作为下一时刻h的HW中起始点,重复骤三?步骤五的方法; 通过将上一时刻时域窗口的子目标点作为下一时刻时域窗口的起点,整个过程不断重复滚 动,智能体最终能够完成跟踪运动目标的航路规划。
2.根据权利要求1所述的一种基于边界值问题的滚动航路规划方法,其特征在于:所 述步骤四中势场更新采用SOR(successive overrelaxation)方法。
【文档编号】G01C21/00GK104121903SQ201410317276
【公开日】2014年10月29日 申请日期:2014年7月4日 优先权日:2014年7月4日
【发明者】梁宵, 陈侠, 孟光磊 申请人:沈阳航空航天大学