1、A 文章编号 :1006-7043(2003 02-0170-05Potential grid based global path planning for robotsWANG X ing 2ce ,ZHANG Ru 2bo ,G U G uo 2chang(School of C omputer Science and T echnology , Harbin Engineering University , Harbin 150001,China Abstract :The potential way is combined with the grid way to form a new
2、 potential grid way ,which is very effective in reducing com putational w ork and av oiding local minima , and can automatically create grids. The factors having in 2 fluence on the accuracy of calculation are analyzed and the feasibility and the validity of the mehtod proposed is veri 2 fied throug
3、h simulation.K ey w ords :potential grid method ;global path planning ;intelligent robot 全局路径规划技术是智能机器人领域中的核 心问题之一 , 也是机器人学中研究人工智能的一 个重要方面 . 解决全局路径规划问题的基本的方 法有 :几何法 1、 单元分解法 2、 人工势场法 3和 数学分析法等 . 全局路径规划方法的一般步骤为 :1 划分状态空间 ;2 形成包含状态空间信息的搜索空间 ;3 在形成的搜索空间上应用各种搜索策略 进行搜索 .势场的方法是由 K hatib 4最先提出的 . 他把 机械手或者是
4、移动机器人在环境中的运动视为在 一种抽象的人造受力场中运动 :目标点对机器人 产生引力 , 障碍物对机器人产生斥力 , 最后根据合 力来确定机器人的运动 . 应用势场法规划出来的 路径一般是比较平滑并且安全 , 但是这种方法存 在局部最优点问题 (local minima . 为了解决这个 问 题 , 许 多 的 学 者 进 行 了 研 究 :如 Rim on 5, Shahid 6和 K hosla 7等等 . 他们期望通过建立统一 的势能函数来解决这一问题 . 但这就要求障碍物 最好是规则的 , 否则算法的计算量将很大 , 有时甚 至是无法计算的 .栅格法是由 W. E. H owden
5、在 1968年提出的 . 他在进行路径规划时采用了栅格 (grid 表示地图 , 在处理障碍物的边界时 , 避免了复杂的计算 . 可以 看出 , 栅格粒度越小 , 障碍物的表示会越精确 , 但 同时会占用大量的存储空间 , 算法的搜索范围将 按指数增加 . 栅格的粒度太大 , 规划的路径会很不 精确 . 所以栅格粒度大小的确定 , 是栅格法中的主 要问题 .本文针对多机器人编队任务的需要 , 综合了 栅格法和势场法的优点 , 提出一种新的方法 , 势场 栅格法 .一般全局路径规划主要是为了满足单机器人 的需要 , 这里针对多机器人的编队任务 , 考虑到路 径安全性和可靠性要比路径长短重要得多
6、, 所以 采用势场法 . 为了降低势场法的计算量 , 应用栅格 法表示地图 . 针对势场法和栅格法的自身的缺陷 , 在整个的路径规划的算法中进行了相应的改进 . 算法的特点有以下几个 :收稿日期 :2002-05-27.作者简介 :王醒策 (1977- , 女 , 博士研究生 . 研究方向为智能控制 , 路径规划 , 多机器人协调 . 1 系统根据地图中障碍物的疏密自主决定栅 格粒度 . 因为系统规划出的路径还要依靠势场的作 用 , 所以即使栅格粒度较大时 , 也能规划出比较好 的路径 .2 由于应用栅格的方法 , 在计算整个的地图 中的函数势时就只要计算栅格点的时函数 , 根本地 解决了传统
7、势场法的大计算量问题 . 整个的算法中 只计算最近障碍物对机器人的排斥 , 终点对机器人 的吸引是由启发函数来完成的 , 避免了局部最优点 问题 .1 基于势场栅格法的路径规划算法应用势场栅格法来规划路径的过程 :在平面 内 , 首先系统根据地图中障碍物的疏密来决定栅格 的粒度 ; 然后求出每一个栅格中心点的势能值 ; 经 过 g 函数变换后 , 再利用 A 3搜索 , 综合栅格的 g 函数结果与栅格与终点的距离 , 通过启发函数的运 算 , 得到一条自始至终的路径 .1. 1 栅格粒度的确定系统会根据地图中障碍物疏密来决定栅格粒 度的大小 . 在得到地图之后 , 首先计算地图中所有 障碍物面
8、积和 . 凸多边形以某一顶点进行三角剖 分 , 椭圆和其它的不规则图形则按照能够对它们进 行最小覆盖的长方形进行计算 . 然后根据障碍物的 面积在整个地图中所占的比例来决定地图中的栅 格粒度 .栅格粒度大小生成方法 :1 在地图中任选一个障碍物 .2 判断此障碍物是否为凸多边形 ?3 如果是 , 则以某一个顶点为起始点 , 把多边 形划分为多个互不相交的三角形 .4 如果不是 , 则找出这个障碍物所有顶点中的 x max , y max , x min , y min , 然 后 分 别 以 (x min , y min 和 (x max , y max 为对角顶点绘制一个长方形 ; 以长方形
9、 某一顶点为起始点 , 把长方形划分为两个不相交的 三角形 .5 按照公式 S =2a b sin , 计算各三 角形的面积 . 其中 a , b 是以剖分顶点为顶点的三 角形的两边 , 是 a , b 所夹的角度 .6 地图中还有没计算的障碍物吗 ? 如果有 , 则 转 1 .7 计算障碍物的面积和 S ob =l S l , 是整个 障碍物集合 , l 是 中的一个元素 .8 计算栅格粒度 :计算 l temp =S 总l max , 得到 l =l temp , if l temp l min ;l min , 其他 .(1 式中 :l max 是定义的栅格的最大边长 , l min 是
10、栅格的 最小边长 , l 是最终的栅格边长 .9 算法结束 .图 1给出了不同形状障碍物的剖分结果图 1 不同形状障碍物的剖分Fig. 1 The triangulating of different obstacles1. 2 势场的构造传统势场法里势场构造是应用引力与斥力共 同对机器人产生作用 . 表示为U art =U o +U g . (2 式中 :U art 表示总势场 , U o 表示斥力场 , U g 表示引 力场 . 势场中的力表示为F art =F g +F o . (3 式中 :F g 是引力 , F o 是斥力 , F art 是合力 . 其中 F g =-grad (U
11、 g =-x i +y j +z k , (4 F o =-grad (U o =-x i +y j +z k , (5 可能会有 F art =0, 因为引力和斥力共同对机 器人作用 , 当目标点对机器人的引力等于障碍物对 其产生的斥力的时候 , 算法会产生局部极小点 , 需 要引入其它的量对机器人进行控制 .而在这个算法中 , 障碍物产生的斥力场构造出 整个势场 , 表示栅格的安全程度 . 路径终点对障碍 物的吸引体现在启发函数中路径预测长度上 . 机器 人行走的方向由启发函数来决定 , 而非引力和斥力 来决定 . 由于没有力的矢量计算 , 从根本上解决了 局部最优点的问题 . 1 7 1
12、第 2期 王醒策 , 等 :在算法中先计算势能值 , 应用 g 函数对势能 值变换构造出势场 . 这里势能值定义为栅格中心点 到最近障碍物的距离 , 表示此栅格点的危险程度 . 利用扫描法计算每一个栅格势能值 . 具体方法为 :1 地图中选择一个栅格 ; 2 初始化圆的半径 r =r 0;3 以栅格中心点 n 为圆心 , 以 r 为半径画圆 ; 4 判断圆与障碍物是否相交 ;5 如果相交 , 则返回栅格中心点的势能的值为D (n =r -l p ;6 如果不相交 , 则 r =r +l p , 转 3 ;7 地图中是否还有没有计算的栅格 ? 若是 , 则转 1 ;8 算法结束 .这里 r 0是
13、圆半径的初始值 , l p 是等势圈的半 径差 .由图 2可以看到 , 在某栅格中心点 a 处 , 进行 等势波样扩张 , 直到等势圈与障碍物相交图 2 栅格中的势能值的选取Fig. 2 The potential value of the grid栅格的势能值就是栅格与离其最近的障碍物 的距离 . 这是因为对栅格的安全影响最大的是距栅 格最近的障碍物 .D (n =min p dis (n , p .(6式中 :n 是某栅格 , 是整个的障碍物集合 , p 是 集合中元素 , dis (n , p 是 n 到 p 经过扫描法计算出 来的距离 .计算好地图中的各个栅格节点势能值之后 , 进 行
14、 g 函数变换 , g 函数为g (n =100exp (-D (n /40 .(7D (n 是势场中栅格 n 的势能值 . 当栅格 n 距障碍物的距离越大 , 则它的 g 函数将越小 . 函数 变换使势能与栅格中点与路径终点的距离在大致相等的数量级上 , 可以共同对节点的选择起作用 . 地图的势场 , 表示为不同栅格节点的 g 函数值 . 总势场为U art =U o =g (n |g (n =100exp (-D (n /40 , n (8是地图中所有栅格中心点的集合 .图 4是地图 3由此算法产生的势场三维图图 3 一幅地图Fig. 3 Amap图 4 地图 3的势场三维图Fig. 4 The 32D map of the figure 3 s potential field1. 3 全局路
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1