CN101769754B - 一种基于类三维地图的移动机器人全局路径规划方法 - Google Patents

一种基于类三维地图的移动机器人全局路径规划方法 Download PDF

Info

Publication number
CN101769754B
CN101769754B CN2010100220821A CN201010022082A CN101769754B CN 101769754 B CN101769754 B CN 101769754B CN 2010100220821 A CN2010100220821 A CN 2010100220821A CN 201010022082 A CN201010022082 A CN 201010022082A CN 101769754 B CN101769754 B CN 101769754B
Authority
CN
China
Prior art keywords
border
height value
zone
barrier zone
coordinate
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN2010100220821A
Other languages
English (en)
Other versions
CN101769754A (zh
Inventor
王耀南
周良
朱江
印峰
马波
聂鑫
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hunan Xiangjiang Time Robot Research Institute Co ltd
Original Assignee
Hunan University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hunan University filed Critical Hunan University
Priority to CN2010100220821A priority Critical patent/CN101769754B/zh
Publication of CN101769754A publication Critical patent/CN101769754A/zh
Application granted granted Critical
Publication of CN101769754B publication Critical patent/CN101769754B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Processing Or Creating Images (AREA)

Abstract

本发明公开了一种基于类三维地图的移动机器人全局路径规划方法,步骤1:将普通栅格地图改造为基于等高线原理的类三维地图;步骤2:初始规划:将移动机器人的起点和终点连成一条直线作为当前路径;步骤3:扫描当前路径穿过的栅格,若未扫描到障碍,则转至步骤6;若扫描到障碍,则根据障碍类型转至步骤4或步骤5;步骤4:处理与边界接触的障碍,更新当前路径,返回步骤3;步骤5:处理不与边界接触的障碍,更新当前路径,返回步骤3;步骤6:输出当前路径,全局路径规划完成。本发明充分发掘障碍物信息,提高程序执行效率、易于实现,满足移动机器人全局路径规划的实时性要求。

Description

一种基于类三维地图的移动机器人全局路径规划方法
技术领域
本发明属于机器人及其智能控制领域,涉及一种基于类三维地图的移动机器人全局路径规划方法。
技术背景
移动机器人路径规划的任务是在有障碍物的工作环境中寻找一条从给定起点到终点的适当的运动路径,使机器人在运动过程中能安全无碰的绕过所有障碍物。根据工作环境的不同,路径规划可以分为两种:工作环境的信息全部已知的全局路径规划;工作环境的信息全部未知或部分未知的局部路径规划。
目前应用较多的全局路径规划算法包括:拓扑法、可视图法和栅格法。拓扑法建立拓扑网络的过程相当复杂,特别在增加障碍物时如何有效的修正已经存在的拓扑网络及如何提高图形速度是有待解决的问题;可视图法在搜索最短距离路径时对所有定点的价值不加以区别,仅仅只是将所有可行路径列举出来然后在其中选出一条最优路径,导致耗时较长,特别是当机器人的尺寸大小很小时搜索时间很长;栅格法中栅格粒度太大,规划的路径很不准确;栅格粒度太小,算法的搜索范围将按指数增加,计算量大,占用大量的存储空间,实时性不理想。
这些方法均侧重于路径的生成过程,只利用障碍物的边界信息,而不能根据障碍物信息来进行决策。因此充分发掘障碍物信息,设计一种简单高效且易于编程实现的全局路径规划算法,是提高程序执行效率、准确规划路径所必须考虑的问题。
发明内容
本发明的目的是克服上述现有全局路径规划算法的不足,提出一种基于类三维地图的移动机器人全局路径规划方法,充分发掘障碍物信息,提高路径规划效率,易于实现,满足移动机器人全局路径规划的实时性要求。
本发明的技术方案如下:
一种基于类三维地图的移动机器人全局路径规划方法,其特征在于,包括以下步骤:
步骤1:将普通栅格地图改造为基于等高线原理的类三维地图;
步骤2:初始规划:将移动机器人的起点和终点连成一条直线作为当前路径;
步骤3:扫描当前路径穿过的栅格,若未扫描到障碍,则转至步骤6;若扫描到障碍,则首先确定障碍的类型,障碍的类型包括与边界接触的障碍和不与边界接触的障碍;如果是与边界接触的障碍,转至步骤4,否则转至步骤5;所述的与边界接触的障碍包括只与一侧边界接触的障碍以及与两侧边界接触的障碍;
步骤4:处理与边界接触的障碍,更新当前路径,返回步骤3;
步骤5:处理不与边界接触的障碍,更新当前路径,返回步骤3;
步骤6:输出当前路径,全局路径规划完成;
所述的步骤1的具体步骤为:
给栅格地图建立I、J坐标系,栅格地图中的栅格用数组ZG表示;数组ZG的元素ZG[I][J]表示高度值;
依据等高线原理建立类三维地图,就是给地图中的每一个栅格点都赋予高度值,ZG[I][J]=H,H∈{0、1、2、3……},H值越大表示高度越高;
栅格地图分为两种区域:自由区域与障碍区域,自由区域的高度值H=0;障碍区域的高度值H>0,障碍区域分为三种:不与边界接触的障碍区域,只与一侧边界接触的障碍区域,与两侧边界接触的障碍区域;只与一侧边界接触的障碍区域以及与两侧边界接触的障碍区域对应的障碍统称为障碍;以下分三种情况说明障碍区域的类三维地图的创建方法:
(I)对于不与边界接触的障碍区域:
iii  找出该区域I坐标的最大值Imax、I坐标的最小值Imin、J坐标的最大值Jmax、J坐标的最小值Jmin;
iv  给该区域的所有I=Imax和I=Imin的两列栅格的高度值赋予1,给该区域的所有I=(Imax-1)和I=(Imin+1)的两列栅格的高度值赋予2,给该区域的所有I=(Imax-2)和I=(Imin+2)的两列栅格的高度值赋予3,依此类推,直到该区域所有的栅格都被赋予一个高度值;
v  给该区域的所有J=Jmax和J=Jmin的两行栅格的高度值加上1,给该区域的所有J=(Jmax-1)和J=(Jmin+1)的两行栅格的高度值加上2,给该区域的所有J=(Jmax-2)和J=(Jmin+2)的两行栅格的高度值加上3,依此类推,直到该区域所有的栅格都被加上一个高度值;
(II)对于只与一侧边界接触的障碍区域:
i、出该区域I坐标的最大值Imax、I坐标的最小值Imin、J坐标的最大值Jmax、J坐标的最小值Jmin;
ii、判断Imax、Imin、Jmax、Jmin四个值中哪个为边界值,即:判断障碍区域与栅格地图的上、下、左、右四个边界中的哪个接触,从与该边界相对的一侧开始给障碍区域赋予高度值;给障碍区域中离该边界最远的一行或一列栅格赋予高度值1,给离该边界第二远的一行或一列栅格赋予高度值2,给离该边界第三远的一行或一列栅格赋予高度值3,依此类推,直到离该边界最近的一行或一列栅格也被赋予高度值;
iii、然后从另一个方向开始给障碍区域的栅格加上高度值,即:不妨设上一步中是按I坐标方向给栅格赋值,则本步骤中按J坐标方向给栅格加上高度值;给该区域的所有J=Jmax和J=Jmin的两行栅格的高度值加上1,给该区域的所有J=(Jmax-1)和J=(Jmin+1)的两行栅格的高度值加上2,给该区域的所有J=(Jmax-2)和J=(Jmin+2)的两行栅格的高度值加上3,依此类推,直到该区域所有的栅格都被加上一个高度值;
(II)对于与两侧边界接触的障碍区域:
a)找出该区域I坐标的最大值Imax、I坐标的最小值Imin、J坐标的最大值Jmax、J坐标的最小值Jmin;
b)判断Imax、Imin、Jmax、Jmin四个值中哪两个为边界值,即:判断障碍区域与地图的上、下、左、右四个边界中的哪两个边界接触,然后从两个被接触的边界中任选一个,从与该边界相对的一侧开始给障碍区域赋予高度值;不妨设选择行对应的边界为参照,给离该边界最远的一行栅格赋予高度值1,给离该边界第二远的一行栅格赋予高度值2,给离该边界第三远的一行栅格赋予高度值3,依此类推,直到离该边界最近的一行栅格也被赋予高度值;
然后从与另一边界相对的一侧开始给障碍区域加上高度值;给离另一边界最远的一列栅格的高度值加上1,给离另一边界第二远的一列栅格的高度值加上2,给离另一边界第三远的一列栅格的高度值加上3,依此类推,直到离另一边界最近的一列栅格也被加上高度值。
所述的步骤4中的处理与边界接触的障碍的步骤以及所述的步骤5中的处理不与边界接触的障碍的步骤为:当前路径上每段位于与边界接触的障碍区域的路径段按照下降方向进行基本规划;
定义下降方向:若路径穿过了某个障碍区域,则以位于障碍区域内的路径段中高度最大的点为起点,垂直于该路径段且所经过的栅格的高度值降低的方向就是下降方向;
定义基本规划:若两点之间的初始规划路径穿过了障碍区域,则找到每段位于障碍区域的路径的下降方向,然后将每段位于障碍区域的路径用沿着障碍区域从下降方向绕过障碍区域的新路径段代替,基本规划就是对初始规划进行修正,基本规划后的路径段称为修正路径段;
具体步骤分为以下四步:
I、找出当前路径上每段位于与边界接触的障碍区域的路径段的起点与终点,
修正路径段上的点(Iy,Jy)需满足以下三个条件:
第一个条件:位于下降方向一侧,即,满足下式:
Figure G2010100220821D00051
式中: k = Im - In Jm - Jn , (Im,Jm)为该段穿过了障碍区域的路径段的起点坐标,(In,Jn)为该段穿过了障碍区域的路径段的终点坐标,(Iam,Jam)为该障碍区域的高度值最大的点的坐标;
第二个条件:高度值为0,ZG[Iy][Jy]=0;
第三个条件:与对应的障碍区域直接相邻;【相邻,即路径所在栅格与障碍区域直接相邻。】
II、找出被当前路径穿过的每一块与边界接触的障碍区域的犄角点;
定义犄角点:在基本规划中,修正路径段上的点中与被修正路径段的距离最大的点就是犄角点;
III、找出与当前路径的每一段直线路径段对应的中转点;
在所有的位于当前路径同一侧的犄角点中离当前路径最远的点,称为与当前路径对应的中转点;若当前路径为折线,则要找出与折线的每一段直线路径段对应的中转点;
IV、将起点、所有中转点以及终点沿当前路径的方向用折线顺次连接起来,将新得到的折线路径作为当前路径;转到步骤3。
所述移动机器人为轮式移动机器人,其移动装置采用轮式结构,具备沿弧线与直线及折线运动的能力。
所述障碍的轮廓为块状。
所述的移动机器人设有传感器,能确定机器人在栅格地图中的位置,所述的传感器有GPS装置、激光测距仪、红外测距仪、或者超声波测距仪。所述的移动机器人所配置的传感器能感知一定范围内的障碍物信息,包括与机器人的距离和障碍物的大小。
有益效果:
与现有的技术相比,本发明用一种简单的方法对障碍区域进行处理,并且当环境中的障碍区域发生变化时处理算法也不会变复杂,克服了拓扑图法建立拓扑图很复杂的缺点;本发明创建类三维地图后,提出了下降方向的概念,当规划过程中遇到障碍时,下降方向就像路标一样及时指出最佳避障方向,克服了可视图法和普通栅格法要通过比较若干条不同路径才能得出最佳避障路径的缺点;本发明的规划时间可以预期,最坏情况下需进行的规划次数为地图中障碍区域个数,克服了可视图法和普通栅格法要进行地图中障碍区域总数目的若干倍次规划的缺点,也克服了可视图法和普通栅格法在地图中障碍区域增加时规划次数呈指数增加的缺点;本发明在规划过程中只需搜索起点与终点之间的直连线周围一定范围内的障碍区域,并不对地图中的所有障碍区域进行搜索,大大提高了规划效率,提高了规划的时效性。
附图说明
图1为全局路径规划算法主要实现过程的程序流程图;
图2为类三维地图的效果图;
图3为从一个坐标方向为每个栅格赋予高度值的一个障碍区域;
图4为从两个坐标方向为每个栅格赋予高度值的一个障碍区域;
图5为下降方向示意图;
图6为修正路径段示意图;
图7为犄角点示意图;
图8为当前路径为直线时中转点示意图;
图9为当前路径为折线时每段直线的中转点示意图;
图10为基于图8中的栅格地图输出的最终全局规划路径。
图中标号说明:1,2,3均表示障碍区域,
f表示下降方向,
A,B表示路径起点和终点,
图7中C,D,E表示犄角点,
图8中E点为中转点,
图9中折线ADEB为当前路径,C为犄角点和与AD段对应的中转点。
具体实施方式
以下将结合图和具体实施过程对本发明做进一步详细说明:
实施方式1
图1为全局路径规划算法主要实现过程的程序流程图,具体步骤如下:(1)在普通二值栅格地图的基础上依据等高线原理建立类三维地图,给地图中的每一个栅格点都赋予高度值。给地图建立I、J坐标系,地图中的栅格用数组ZG[I][J]表示。栅格的高度值用H表示,即,ZG[I][J]=H,H∈{0、1、2、3……},H值越大表示高度越高。
在本发明中将地图分为两种区域:自由区域与障碍区域。自由区域的高度值H=0;障碍区域的高度值H>0,不与边界接触的障碍区域中位于重心的栅格点高度值最大,与边界接触的障碍区域中与边界接触的栅格点高度值最大,以最高点为中心向四周辐射高度值逐渐减小。障碍区域分为三种:不与边界接触的障碍区域,只与一侧边界接触的障碍区域,与两侧边界接触的障碍区域。以下分三种情况介绍障碍区域的类三维地图的创建方法。
a)对于不与边界接触的障碍区域:
先找出该区域I坐标的最大值Imax、I坐标的最小值Imin、J坐标的最大值Jmax、J坐标的最小值Jmin。
然后给该区域的所有I=Imax和I=Imin的两列栅格的高度值赋予1,给该区域的所有I=(Imax-1)和I=(Imin+1)的两列栅格的高度值赋予2,给该区域的所有I=(Imax-2)和I=(Imin+2)的两列栅格的高度值赋予3,依此类推,直到该区域所有的栅格都被赋予一个高度值。
最后给该区域的所有J=Jmax和J=Jmin的两行栅格的高度值加上1,给该区域的所有J=(Jmax-1)和J=(Jmin+1)的两行栅格的高度值加上2,给该区域的所有J=(Jmax-2)和J=(Jmin+2)的两行栅格的高度值加上3,依此类推,直到该区域所有的栅格都被加上一个高度值。
b)对于只与一侧边界接触的障碍区域:
先找出该区域I坐标的最大值Imax、I坐标的最小值Imin、J坐标的最大值Jmax、J坐标的最小值Jmin。
判断Imax、Imin、Jmax、Jmin四个值中哪个为边界值,即:判断障碍区域与地图的上、下、左、右四个边界中的哪个接触,从与该边界相对的一侧开始给障碍区域赋予高度值。给障碍区域中离该边界最远的一行或一列栅格赋予高度值1,给离该边界第二远的一行或一列栅格赋予高度值2,给离该边界第三远的一行或一列栅格赋予高度值3,依此类推,直到离该边界最近的一行或一列栅格也被赋予高度值。
然后从另一个方向开始给障碍区域的栅格加上高度值,即:若上一步中是按I(或J)坐标方向给栅格赋值,则本步骤中按J(或I)坐标方向给栅格加上高度值。给该区域的所有J=Jmax和J=Jmin(或I=Imax和I=Imin)的两行(或两列)栅格的高度值加上1,给该区域的所有J=(Jmax-1)和J=(Jmin+1)(或I=(Imax-1)和I=(Imin+1))的两行(或两列)栅格的高度值加上2,给该区域的所有J=(Jmax-2)和J=(Jmin+2)(或I=(Imax-2)和I=(Imin+2))的两行(或两列)栅格的高度值加上3,依此类推,直到该区域所有的栅格都被加上一个高度值。
c)对于与两侧边界接触的障碍区域:
先找出该区域I坐标的最大值Imax、I坐标的最小值Imin、J坐标的最大值Jmax、J坐标的最小值Jmin。
判断Imax、Imin、Jmax、Jmin四个值中哪两个为边界值,即:判断障碍区域与地图的上、下、左、右四个边界中的哪两个接触,然后从两个被接触的边界中任选一个,从与该边界相对的一侧开始给障碍区域赋予高度值。给离该边界最远的一行(或一列)栅格赋予高度值1,给离该边界第二远的一行(或一列)栅格赋予高度值2,给离该边界第三远的一行(或一列)栅格赋予高度值3,依此类推,直到离该边界最近的一行(或一列)栅格也被赋予高度值。
然后从与另一边界相对的一侧开始给障碍区域加上高度值。给离另一边界最远的一列(或一行)栅格的高度值加上1,给离另一边界第二远的一列(或一行)栅格的高度值加上2,给离另一边界第三远的一列(或一行)栅格的高度值加上3,依此类推,直到离另一边界最近的一列(或一行)栅格也被加上高度值。
类三维地图的效果图如图2所示。图2中的数字表示该数字所在栅格的高度值,没有写数字的栅格的高度值为0(因为高度值H=0的栅格的数目较大,所以未在图中标出)。
下面以图2中的2号障碍区域为例说明类三维地图的创建方法:
2号障碍区域为不与边界接触的障碍区域。
先找出该区域I坐标的最大值Imax、I坐标的最小值Imin、J坐标的最大值Jmax、J坐标的最小值Jmin。
然后给该区域的所有I=Imax和I=Imin的两列栅格的高度值赋予I,给该区域的所有I=(Imax-1)和I=(Imin+1)的两列栅格的高度值赋予2,给该区域的所有I=(Imax-2)和I=(Imin+2)的两列栅格的高度值赋予3,依此类推,直到该区域所有的栅格(也即:(Imax-n)=(Imin+n)或(Imax-n)=(Imin+n)+1)都被赋予一个高度值。如图3所示。
然后给该区域的所有J=Jmax和J=Jmin的两行栅格的高度值加上1,给该区域的所有J=(Jmax-1)和J=(Jmin+1)的两行栅格的高度值加上2,给该区域的所有J=(Jmax-2)和J=(Jmin+2)的两行栅格的高度值加上3,依此类推,直到该区域所有的栅格(也即:(Jmax-m)=(Jmin+m)或(Jmax-m)=(Jmin+m)+1)都被加上一个高度值。如图4所示。
(2)对起点与终点进行初始规划,所得到的路径称为起点与终点间的初始规划路径,并将初始规划路径作为当前路径。
初始规划就是找到两点之间的直线路径。
初始规划的实现方法为:先确定给定的起点的坐标(Im,Jm)和终点的坐标(In,Jn),设起点和终点之间直线连线上任意一点的坐标为(Ix,Jx),因为这三点在一条直线上,则这三点的坐标须满足下面的式子:
Ix - In Jx - Jn = Im - In Jm - Jn . . . ( . 1 )
令: Im - In Jm - Jn = k , 代入(1)式得:
Jx = Ix - In k + Jn , Im<Ix<In  ….…………………………………(2)
Ix在Im与In之间取整数值,对于每一个Ix的取值,由2式可求得一个Jx,但Jx可能不为整数,故定义运算[。]为双边取整运算,即:若对整数进行[。]运算,则结果为该整数本身;若对非整数进行[。]运算,则结果为最接近该整数的两个整数,例如:[5]=5,[5.4]=5、6。
对2式中的Jx进行[。]运算即得:
Jx = [ Ix - In k + Jn ] , Im<Ix<In  ….…………………………………(3)
所以点(Ix,Jx)的坐标为:
Figure G2010100220821D00105
所以起点和终点之间初始规划路径上任意一点(Ix,Jx)的坐标由(4)式确定。
(3)若当前路径穿过了任何一块与边界接触的障碍区域,则转到步骤
(4)去处理与边界接触的障碍区域;若当前路径穿过了任何一块不与边界接触的障碍区域,则转到步骤(5)去处理不与边界接触的障碍区域;否则,转到步骤(6)。
(4)处理与边界接触的障碍区域。
步骤(4)分为以下四小步:
I 找出当前路径上每段位于与边界接触的障碍区域的路径段的起点与终点,然后对找出的每一对起点与终点进行基本规划。步骤(2)中的初始规划不具备避障能力,基本规划就是对初始规划进行修正,使其具有避障能力。
a 定义下降方向:若路径穿过了障碍区域,则以位于障碍区域内的路径段中高度最大的点为起点,垂直于该路径段且所经过的栅格的高度值降低的方向就是下降方向。
位于某段穿过了障碍区域的路径的下降方向一侧的点(Iy,Jy)需满足(5)式:
Figure G2010100220821D00111
式中: k = Im - In Jm - Jn , (Im,Jm)为该段穿过了障碍区域的路径段的起点坐标,(In,Jn)为该段穿过了障碍区域的路径段的终点坐标,(Iam,Jam)为该障碍区域的高度值最大的点的坐标。
如图5所示,图中的箭头f表示下降方向。
下降方向的意义:对于与边界接触的障碍区域,下降方向指出了可以成功绕过障碍的方向,使得规划程序不会陷入死胡同;对于不与边界接触的障碍区域,下降方向指出了障碍区域的劣弧方向,使得规划程序可以以较短的路径绕过障碍。
b  定义基本规划:若两点之间的初始规划路径穿过了障碍区域,则找到每段位于障碍区域的路径的下降方向,然后将每段位于障碍区域的路径用沿着障碍区域从下降方向绕过障碍区域的新路径段(称为修正路径段)代替。
基本规划的实现方法:先用初始规划方法得到初始规划路径。比较初始规划路径所经过的的所有栅格点的高度值H,即:比较由1式确定的所有栅格点的高度值H,找出H=0的连续栅格点段和H>0的连续栅格点段。对于H=0的连续栅格点段,其对应的路径段不用作修改;对于H>0的连续栅格点段,其对应的路径段需要修正,修正后的路径段称为修正路径段,修正方法为:找出该障碍区域的下降方向,然后将沿着障碍区域从下降方向绕过障碍区域的折线路径段作为修正路径段。
基本规划的具体实现方法分为以下两步:
a)先找到修正路径段上的点须满足的三个条件。
设修正路径段上任意一点的坐标为(Iy,Jy)。
第一个条件:位于下降方向。
设:初始规划路径上某段H>0的连续栅格点段中H值最大的栅格点的坐标为(Ia,Ja);找出点(Ia,Ja)所在障碍区域的高度值最大的点,设其坐标为(Iam,Jam);被修正路径段的起点坐标为(Im,Jm),被修正路径段的终点坐标为(In,Jn)。
易知:若点(Iy,Jy)与点(Iam,Jam)位于被修正路径段的不同侧,则点(Iy,Jy)位于障碍区域的下降方向一侧。
令: Im - In Jm - Jn = k
D = Jam - 1 k Iam + In k - Jn ;
易知:若 ( Jy - 1 k Iy + In k - Jn ) × D ≤ 0 , 则点(Iy,Jy)与点(Iam,Jam)位于被修正路径段的不同侧。
由此得到修正路径段上的点(Iy,Jy)须满足的第一个条件:
Figure G2010100220821D00124
第二个条件:高度值为0。
即:
ZG[Iy][Jy]=0…………………..………………..……………(7)
第三个条件:点(Iy,Jy)与对应的障碍区域直接相邻。
此条件在程序中用简单的扫描算法实现,故略去其数学表述。
b)用修正路径段上的点(Iy,Jy)须满足的三个条件对每一段经过障碍区域的路径加以修正就得到基本规划路径。
如图6所示,对A点与B点进行基本规划,图中AB间的直线连线上经过障碍区域的路径段都由一段绕过障碍区域的曲线段代替,所得到的路径就是基本规划路径。
基本规划的作用:进行基本规划是为了找犄角点,从而优化当前路径;基本规划路径并不被更新为当前路径。
II  找出被当前路径穿过的每一块与边界接触的障碍区域的犄角点。
定义犄角点:在基本规划中,用初始规划得到的路径中位于障碍区域的路径段要进行修正,修正路径段上的点中与被修正路径段的距离最大的点就是犄角点。
找犄角点的具体实现方法:
在每一次基本规划之后,计算修正路径段上的所有点与被修正路径的距离,取距离最大的点为犄角点。
计算修正路径段上的点与被修正路径的距离的方法:
设:被修正路径段的起点坐标为(Im,Jm),记为点A;被修正路径段的终点坐标为(In,Jn),记为点B;修正路径段中的点的坐标为(Iy,Jy),记为点C。
令: a = ( Iy - Im ) 2 + ( Jy - Jm ) 2 ,
b = ( Iy - In ) 2 + ( Jy - Jn ) 2 ,
c = ( Im - In ) 2 + ( Jm - Jn ) 2 ,
p=(a+b+c)/2,
根据海伦公式,以A、B、C三点为顶点的三角形的面积为: s = p ( p - a ) ( p - b ) ( p - c ) , 则由几何知识知,点C与A、B之间连线的距离为:
h=s/2c………………………………………………………(8)
(8)式即为修正路径段上的点与被修正路径的距离的计算公式。
图7中的C点、D点与E点就是犄角点。
图7中C、E两点是当前路径穿过与边界接触的障碍区域而得到的犄角点;D点是当前路径穿过不与边界接触的障碍区域而得到的犄角点。本步骤中要找的是被当前路径穿过的每一块与边界接触的障碍区域的犄角点,故要找的是C、E两点。
III 找出与当前路径的每一段直线段对应的中转点
找出前一步骤中找出的位于当前路径同一侧的犄角点中离当前路径最远的点,此点称为与当前路径对应的中转点;若当前路径为折线,则要找出与当前路径的每一段直线段对应的中转点。
定义中转点:若一段直线路径穿过了若干个障碍区域,则会产生与这段路径相对应的若干个犄角点,对位于这段路径不同侧的犄角点要分开处理,位于这段路径同一侧的犄角点中离这段路径最远的点,称为中转点。
按中转点定义可知,与一段穿过了障碍区域的路径对应的中转点可能有一个或两个。
a  以图8为例具体说明何谓中转点,直线AB为当前路径,图中有C点、D点、E点三个犄角点,C点与D点位于直线AB的同一侧,且D点比C点离直线AB远,故D点是与当前路径对应的中转点;而直线AB的另一侧只有E点一个犄角点,所以E点也是与当前路径对应的中转点。
b  若当前路径为折线,则折线的每一段直线段由于穿过障碍区域而产生的犄角点应分开处理,也就是说,假设折线由a1、a2两段直线段组成,则由直线段a1穿过障碍区域而产生的犄角点不计算其与直线段a2的距离,由直线段a2穿过障碍区域而产生的犄角点不计算其与直线段a1的距离。
如图9所示,图中的当前路径ADEB为折线,当前路径中的AD段穿过了与边界接触的障碍区域,只得到犄角点C点,则C点是与AD段对应的中转点,而不是与DE段或EB段对应的中转点。
IV 将起点、终点与前面所有步骤中找出的所有中转点沿当前路径的方向用折线顺次连接起来,将新得到的折线路径作为当前路径。转到步骤(3)。
本步骤在实际实现时,是将起点、终点与前面所有步骤中找出的所有中转点(设总数为N个)沿当前路径的方向依次排列,然后对这个排列中所有相邻的两点进行初始规划,则共进行(N-1)次初始规划,得到(N-1)条初始规划路径,这些路径首尾相连而形成一条新路径。更新当前路径,转到步骤(3)。
(5)处理不与边界接触的障碍区域。
首先找出当前路径上每段位于不与边界接触的障碍区域的直线路径段的起点与终点,然后对找出的每一对起点与终点进行基本规划。再找出被当前路径穿过的每一块不与边界接触的障碍区域的犄角点。找出与当前路径的每一段直线段对应的中转点。将起点、终点与前面步骤中找出的所有中转点沿当前路径的方向用折线顺次连接起来。将新得到的折线路径作为当前路径。转到步骤(3)。
步骤(5)各小步的实现方法与步骤(4)各小步相同,只将步骤(4)各小步实现方法中的“与边界接触的障碍区域”替换为“不与边界接触的障碍区域”。
(6)输出当前路径,规划结束。
当前路径经过步骤(3)判断,若没穿过任何障碍区域,则找到了最终路径,中断步骤(3),转到步骤(6),输出当前路径,规划结束。
由上述步骤可以看出,本发明全局路径规划方法的实现很简单,基本上只依靠简单的计算就可以完成完整的规划计算过程,规划可以在很短的时间内完成,从而满足移动机器人的规划实时性要求;对于障碍物很多的环境,在步骤(4)和步骤(5)中并不遍历所有的障碍,而是只对当前路径经过的障碍作处理,更新当前路径后再重新扫描当前路径是否经过了障碍,从而极大的提高了程序的执行效率;整个规划算法流程简单明晰,易于理解,很方便编程实现。

Claims (4)

1.一种基于类三维地图的移动机器人全局路径规划方法,其特征在于,包括以下步骤:
步骤1:将普通栅格地图改造为基于等高线原理的类三维地图;
步骤2:初始规划:将移动机器人的起点和终点连成一条直线作为当前路径;
步骤3:扫描当前路径穿过的栅格,若未扫描到障碍,则转至步骤6;若扫描到障碍,则首先确定障碍的类型,障碍的类型包括与边界接触的障碍和不与边界接触的障碍;如果是与边界接触的障碍,转至步骤4,否则转至步骤5;所述的与边界接触的障碍包括只与一侧边界接触的障碍以及与两侧边界接触的障碍;
步骤4:处理与边界接触的障碍,更新当前路径,返回步骤3;
步骤5:处理不与边界接触的障碍,更新当前路径,返回步骤3;
步骤6:输出当前路径,全局路径规划完成;
所述的步骤1的具体步骤为:
给普通栅格地图建立I、J坐标系,普通栅格地图中的栅格用数组ZG表示;数组ZG的元素ZG[I][J]表示高度值;
依据等高线原理建立类三维地图,就是给普通栅格地图中的每一个栅格点都赋予高度值,ZG[I][J]=H,H∈{0、1、2、3……},H值越大表示高度越高;
普通栅格地图分为两种区域:自由区域与障碍区域,自由区域的高度值H=0;障碍区域的高度值H>0,障碍区域分为三种:不与边界接触的障碍区域,只与一侧边界接触的障碍区域,与两侧边界接触的障碍区域;只与一侧边界接触的障碍区域以及与两侧边界接触的障碍区域对应的障碍统称为障碍;以下分三种情况说明障碍区域的类三维地图的创建方法:
I、对于不与边界接触的障碍区域:
i找出该区域I坐标的最大值Imax、I坐标的最小值Imin、J坐标的最大值Jmax、J坐标的最小值Jmin;
ii给该区域的所有I=Imax和I=Imin的两列栅格的高度值赋予1,给该区域的所有I=(Imax-1)和I=(Imin+1)的两列栅格的高度值赋予2,给该区域的所有I=(Imax-2)和I=(Imin+2)的两列栅格的高度值赋予3,依此类推,直到该区域所有的栅格都被赋予一个高度值;
iii给该区域的所有J=Jmax和J=Jmin的两行栅格的高度值加上1,给该区域的所有J=(Jmax-1)和J=(Jmin+1)的两行栅格的高度值加上2,给该区域的所有J=(Jmax-2)和J=(Jmin+2)的两行栅格的高度值加上3,依此类推,直到该区域所有的栅格都被加上一个高度值;
II、对于只与一侧边界接触的障碍区域:
i找出该区域I坐标的最大值Imax、I坐标的最小值Imin、J坐标的最大值Jmax、J坐标的最小值Jmin;
ii判断Imax、Imin、Jmax、Jmin四个值中哪个为边界值,即:判断障碍区域与普通栅格地图的上、下、左、右四个边界中的哪个接触,从与普通栅格地图的上、下、左、右四个边界中与障碍区域接触的边界相对的一侧开始给障碍区域赋予高度值;给障碍区域中离该边界最远的一行或一列栅格赋予高度值1,给离该边界第二远的一行或一列栅格赋予高度值2,给离该边界第三远的一行或一列栅格赋予高度值3,依此类推,直到离该边界最近的一行或一列栅格也被赋予高度值;
iii然后从另一个方向开始给障碍区域的栅格加上高度值,即:不妨设上一步中是按I坐标方向给栅格赋值,则本步骤中按J坐标方向给栅格加上高度值;给该区域的所有J=Jmax和J=Jmin的两行栅格的高度值加上1,给该区域的所有J=(Jmax-1)和J=(Jmin+1)的两行栅格的高度值加上2,给该区域的所有J=(Jmax-2)和J=(Jmin+2)的两行栅格的高度值加上3,依此类推,直到该区域所有的栅格都被加上一个高度值;
III、对于与两侧边界接触的障碍区域:
i找出该区域I坐标的最大值Imax、I坐标的最小值Imin、J坐标的最大值Jmax、J坐标的最小值Jmin;
ii判断Imax、Imin、Jmax、Jmin四个值中哪两个为边界值,即:判断障碍区域与地图的上、下、左、右四个边界中的哪两个边界接触,然后从两个被接触的边界中任选一个,从与所选的边界相对的一侧开始给障碍区域赋予高度值;不妨设选择行对应的边界为参照,给离该边界最远的一行栅格赋予高度值1,给离该边界第二远的一行栅格赋予高度值2,给离该边界第三远的一行栅格赋予高度值3,依此类推,直到离该边界最近的一行栅格也被赋予高度值;
然后从与另一边界相对的一侧开始给障碍区域加上高度值;给离另一边界最远的一列栅格的高度值加上1,给离另一边界第二远的一列栅格的高度值加上2,给离另一边界第三远的一列栅格的高度值加上3,依此类推,直到离另一边界最近的一列栅格也被加上高度值;
所述的步骤4中的处理与边界接触的障碍的步骤以及所述的步骤5中的处理不与边界接触的障碍的步骤为:当前路径上每段位于与边界接触的障碍区域的路径段按照下降方向进行基本规划;
定义下降方向:若路径穿过了某个障碍区域,则以位于障碍区域内的路径段中高度最大的点为起点,垂直于该路径段且所经过的栅格的高度值降低的方向就是下降方向;
定义基本规划:若两点之间的初始规划路径穿过了障碍区域,则找到每段位于障碍区域的路径的下降方向,然后将每段位于障碍区域的路径用沿着障碍区域从下降方向绕过障碍区域的新路径段代替,基本规划就是对初始规划进行修正,基本规划后的路径段称为修正路径段;
具体步骤分为以下四步:
I、找出当前路径上每段位于与边界接触的障碍区域的路径段的起点与终点,
修正路径段上的点(Iy,Jy)需满足以下三个条件:
第一个条件:位于下降方向一侧,即,满足下式:
( Jy - 1 k Iy + In k - Jn ) × ( Jam - 1 k Iam + In k - Jn ) ≤ 0 ;
式中:
Figure FSB00000693251200042
(Im,Jm)为该段穿过了障碍区域的路径段的起点坐标,(In,Jn)为该段穿过了障碍区域的路径段的终点坐标,(Iam,Jam)为该障碍区域的高度值最大的点的坐标;
第二个条件:高度值为0,ZG[Iy][Jy]=0;
第三个条件:与对应的障碍区域直接相邻;
II、找出被当前路径穿过的每一块与边界接触的障碍区域的犄角点;
定义犄角点:在基本规划中,修正路径段上的点中与被修正路径段的距离最大的点就是犄角点;
III、找出与当前路径的每一段直线路径段对应的中转点;
在所有的位于当前路径同一侧的犄角点中离当前路径最远的点,称为与当前路径对应的中转点;若当前路径为折线,则要找出与折线的每一段直线路径段对应的中转点;
IV、将起点、所有中转点以及终点沿当前路径的方向用折线顺次连接起来,将新得到的折线路径作为当前路径;转到步骤3。
2.根据权利要求1所述的基于类三维地图的移动机器人全局路径规划方法,其特征在于,所述移动机器人为轮式移动机器人,其移动装置采用轮式结构,具备沿弧线与直线及折线运动的能力。
3.根据权利要求2所述的基于类三维地图的移动机器人全局路径规划方法,其特征在于,所述障碍的轮廓为块状。
4.根据权利要求3所述的基于类三维地图的移动机器人全局路径规划方法,其特征在于,所述的移动机器人设有传感器,能确定移动机器人在普通栅格地图中的位置,所述的传感器有GPS装置、激光测距仪、红外测距仪、或者超声波测距仪。
CN2010100220821A 2010-01-19 2010-01-19 一种基于类三维地图的移动机器人全局路径规划方法 Active CN101769754B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2010100220821A CN101769754B (zh) 2010-01-19 2010-01-19 一种基于类三维地图的移动机器人全局路径规划方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2010100220821A CN101769754B (zh) 2010-01-19 2010-01-19 一种基于类三维地图的移动机器人全局路径规划方法

Publications (2)

Publication Number Publication Date
CN101769754A CN101769754A (zh) 2010-07-07
CN101769754B true CN101769754B (zh) 2012-04-25

Family

ID=42502754

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2010100220821A Active CN101769754B (zh) 2010-01-19 2010-01-19 一种基于类三维地图的移动机器人全局路径规划方法

Country Status (1)

Country Link
CN (1) CN101769754B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104535061A (zh) * 2015-01-06 2015-04-22 常州先进制造技术研究所 一种基于多传感器数据融合的导航系统
CN112325892B (zh) * 2020-10-10 2023-08-25 南京理工大学 一种基于改进a*算法的类三维路径规划方法

Families Citing this family (35)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102541057B (zh) * 2010-12-29 2013-07-03 沈阳新松机器人自动化股份有限公司 一种基于激光测距仪的移动机器人避障方法
CN103064424A (zh) * 2012-12-24 2013-04-24 深圳市银星智能科技股份有限公司 一种用于移动平台在未知区域的覆盖方法
CN103198751B (zh) * 2013-03-06 2015-03-04 南京邮电大学 一种移动机器人基于激光测距仪的线特征地图创建方法
CN103162693A (zh) * 2013-03-12 2013-06-19 深圳市凯立德科技股份有限公司 一种车道信息显示方法及导航设备
CN103512579B (zh) * 2013-10-22 2016-02-10 武汉科技大学 一种基于热红外摄像机和激光测距仪的地图构建方法
CN103674015B (zh) * 2013-12-13 2017-05-10 国家电网公司 一种无轨化定位导航方法及装置
CN104268862B (zh) * 2014-09-18 2017-04-26 中国人民解放军国防科学技术大学 一种自主车三维地形可通行性分析方法
CN104298239B (zh) * 2014-09-29 2016-08-24 湖南大学 一种室内移动机器人增强地图学习路径规划方法
CN104714555B (zh) * 2015-03-23 2017-05-10 深圳北航新兴产业技术研究院 一种基于边缘的三维自主探索方法
WO2017045116A1 (en) 2015-09-15 2017-03-23 SZ DJI Technology Co., Ltd. System and method for supporting smooth target following
CN105182981B (zh) * 2015-10-14 2020-03-10 珠海格力电器股份有限公司 机器人的行进方法、控制方法、控制系统和服务器
EP3368957B1 (en) 2015-10-30 2022-02-09 SZ DJI Technology Co., Ltd. Systems and methods for uav path planning and control
CN105606113B (zh) * 2016-01-28 2017-09-26 福州华鹰重工机械有限公司 快速规划最优路径方法及装置
CN106377900B (zh) * 2016-02-23 2020-03-20 福建蓝帽子互动娱乐科技股份有限公司 实现用于行走玩具的电子围栏的方法及玩具、游戏系统
CN106020213B (zh) * 2016-05-12 2018-12-11 哈尔滨工程大学 一种uuv对矩形障碍物几何绕行的二维航路规划方法
CN107402567A (zh) * 2016-05-19 2017-11-28 科沃斯机器人股份有限公司 组合机器人及其巡航路径生成方法
CN106441275A (zh) * 2016-09-23 2017-02-22 深圳大学 一种机器人规划路径的更新方法及装置
JP6450737B2 (ja) * 2016-12-08 2019-01-09 ファナック株式会社 ロボットシステム
CN106695790B (zh) * 2017-01-09 2018-04-17 广东宝乐机器人股份有限公司 一种机器人的移动控制方法及机器人
CN106970620A (zh) * 2017-04-14 2017-07-21 安徽工程大学 一种基于单目视觉的机器人控制方法
CN107515602A (zh) * 2017-07-27 2017-12-26 无锡昊瑜节能环保设备有限公司 一种节能型扫地机器人的无线充电控制方法
CN107368076B (zh) * 2017-07-31 2018-03-27 中南大学 一种智能环境下机器人运动路径深度学习控制规划方法
CN107520838B (zh) * 2017-08-21 2020-05-29 珠海格力电器股份有限公司 机械手臂及其控制方法和装置
CN107478232B (zh) * 2017-09-18 2020-02-21 珠海市一微半导体有限公司 机器人导航路径的搜索方法
CN108012608B (zh) * 2017-11-20 2019-09-24 中国农业大学 一种基于gnss的土地平整方法
CN108489501A (zh) * 2018-03-16 2018-09-04 深圳冰川网络股份有限公司 一种基于智能绕过障碍的快速路径搜索算法
CN109443357B (zh) * 2018-08-31 2022-03-04 中国人民解放军海军大连舰艇学院 基于全凸包扩张算法的障碍物间最优路径解算方法
CN109062258B (zh) * 2018-10-08 2021-08-17 杭州瓦屋科技有限公司 控制无人机返航方法和装置
CN109459039B (zh) * 2019-01-08 2022-06-21 湖南大学 一种医药搬运机器人的激光定位导航系统及其方法
CN111076734B (zh) * 2019-12-12 2021-07-23 湖南大学 一种封闭区域非结构化道路高精地图构建方法
CN111240322B (zh) * 2020-01-09 2020-12-29 珠海市一微半导体有限公司 机器人移动限制框的工作起点确定方法及运动控制方法
CN111897340A (zh) * 2020-08-05 2020-11-06 电子科技大学 一种智能机器人长距离自主导航的方法
CN112612266B (zh) * 2020-12-04 2022-04-01 湖南大学 一种非结构化道路全局路径规划方法与系统
CN112799404B (zh) * 2021-01-05 2024-01-16 佛山科学技术学院 Agv的全局路径规划方法、装置及计算机可读存储介质
CN118310535B (zh) * 2024-06-07 2024-10-11 江苏苏亿盟智能科技有限公司 一种机器人路径规划方法及系统

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104535061A (zh) * 2015-01-06 2015-04-22 常州先进制造技术研究所 一种基于多传感器数据融合的导航系统
CN112325892B (zh) * 2020-10-10 2023-08-25 南京理工大学 一种基于改进a*算法的类三维路径规划方法

Also Published As

Publication number Publication date
CN101769754A (zh) 2010-07-07

Similar Documents

Publication Publication Date Title
CN101769754B (zh) 一种基于类三维地图的移动机器人全局路径规划方法
KR101063302B1 (ko) 무인차량의 자율주행 제어 장치 및 방법
WO2017173990A1 (zh) 一种机器人避障中的最短路径规划方法
CN110908377B (zh) 一种机器人导航空间约简方法
Ferguson et al. Field D*: An interpolation-based path planner and replanner
WO2021042827A1 (zh) 多agv的路径规划方法及系统
US10408630B2 (en) Method and apparatus for two-stage planning
CN108775902A (zh) 基于障碍物虚拟膨胀的伴随机器人路径规划方法及系统
CN103472828A (zh) 基于改进蚁群粒子群算法的移动机器人路径规划方法
CN109059924A (zh) 基于a*算法的伴随机器人增量路径规划方法及系统
CN102169347A (zh) 基于协作协进化和多种群遗传算法的多机器人路径规划系统
CN106482739B (zh) 自动导引运输车导航方法
CN109459052B (zh) 一种扫地机全覆盖路径规划方法
CN112965485B (zh) 一种基于二次区域划分的机器人全覆盖路径规划方法
CN102778229A (zh) 未知环境下基于改进蚁群算法的移动Agent路径规划方法
CN112221144B (zh) 三维场景寻路方法及装置、三维场景地图处理方法及装置
CN109374005B (zh) 一种基于船舶vr模型的船舶内部路径规划方法
CN114035572A (zh) 一种割草机器人的避障巡回方法及系统
CN114527748A (zh) 路径规划方法、施工方法及装置、机器人、存储介质
Zhu et al. Optimal schedule for agricultural machinery using an improved Immune-Tabu Search Algorithm
CN111006652B (zh) 一种机器人靠边运行的方法
Wang et al. A partitioning-based approach for robot path planning problems
CN113805584B (zh) 路径控制方法、机器人系统和计算机可读存储介质
CN116839609A (zh) 全覆盖路径规划方法、装置及计算机可读存储介质
CN116753960A (zh) 一种基于bim-机械狗的室内实测实量智能化采集方法及系统

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20220216

Address after: 410012 room 001, floor 3, block a, building 9, zone 2, CSCEC smart Industrial Park, No. 50, Jinjiang Road, Yuelu street, Yuelushan University Science and Technology City, Changsha City, Hunan Province

Patentee after: Hunan Yaoxing Intelligent Technology Co.,Ltd.

Address before: 410082 No. 2, South Mountain Road, Yuelu District, Hunan, Changsha, Yuelu

Patentee before: HUNAN University

CP01 Change in the name or title of a patent holder
CP01 Change in the name or title of a patent holder

Address after: 410012 room 001, floor 3, block a, building 9, zone 2, CSCEC smart Industrial Park, No. 50, Jinjiang Road, Yuelu street, Yuelushan University Science and Technology City, Changsha City, Hunan Province

Patentee after: Hunan Xiangjiang Time Robot Research Institute Co.,Ltd.

Address before: 410012 room 001, floor 3, block a, building 9, zone 2, CSCEC smart Industrial Park, No. 50, Jinjiang Road, Yuelu street, Yuelushan University Science and Technology City, Changsha City, Hunan Province

Patentee before: Hunan Yaoxing Intelligent Technology Co.,Ltd.