CN107505939A - 一种移动机器人的全覆盖路径规划方法 - Google Patents
一种移动机器人的全覆盖路径规划方法 Download PDFInfo
- Publication number
- CN107505939A CN107505939A CN201710336654.5A CN201710336654A CN107505939A CN 107505939 A CN107505939 A CN 107505939A CN 201710336654 A CN201710336654 A CN 201710336654A CN 107505939 A CN107505939 A CN 107505939A
- Authority
- CN
- China
- Prior art keywords
- cell
- mobile robot
- barrier
- distance
- traversal
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 65
- 230000004888 barrier function Effects 0.000 claims abstract description 107
- 230000008569 process Effects 0.000 claims abstract description 23
- 230000033001 locomotion Effects 0.000 claims abstract description 19
- 230000006870 function Effects 0.000 claims description 46
- 238000001514 detection method Methods 0.000 claims description 22
- 238000004422 calculation algorithm Methods 0.000 claims description 21
- 238000012545 processing Methods 0.000 claims description 8
- 238000011156 evaluation Methods 0.000 claims description 7
- 230000004927 fusion Effects 0.000 claims description 7
- 238000004364 calculation method Methods 0.000 claims description 6
- 238000003708 edge detection Methods 0.000 claims description 5
- 230000008859 change Effects 0.000 claims description 4
- 238000003709 image segmentation Methods 0.000 claims description 4
- 239000011159 matrix material Substances 0.000 claims description 3
- 230000001360 synchronised effect Effects 0.000 claims description 3
- 230000007613 environmental effect Effects 0.000 claims description 2
- 230000003915 cell function Effects 0.000 claims 1
- 238000012937 correction Methods 0.000 description 7
- 238000005516 engineering process Methods 0.000 description 7
- 238000000354 decomposition reaction Methods 0.000 description 6
- 238000002474 experimental method Methods 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 238000005259 measurement Methods 0.000 description 4
- 238000006243 chemical reaction Methods 0.000 description 3
- 230000007547 defect Effects 0.000 description 3
- 230000003252 repetitive effect Effects 0.000 description 3
- 238000004140 cleaning Methods 0.000 description 2
- 230000007423 decrease Effects 0.000 description 2
- 230000010339 dilation Effects 0.000 description 2
- 235000013399 edible fruits Nutrition 0.000 description 2
- 238000005265 energy consumption Methods 0.000 description 2
- 239000000284 extract Substances 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 241000196324 Embryophyta Species 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000033228 biological regulation Effects 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 229910003460 diamond Inorganic materials 0.000 description 1
- 239000010432 diamond Substances 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000003628 erosive effect Effects 0.000 description 1
- 238000005530 etching Methods 0.000 description 1
- 230000004807 localization Effects 0.000 description 1
- 230000000877 morphologic effect Effects 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 230000000630 rising effect Effects 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 238000011426 transformation method Methods 0.000 description 1
- 238000009333 weeding Methods 0.000 description 1
- 238000005303 weighing Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/02—Control of position or course in two dimensions
- G05D1/021—Control of position or course in two dimensions specially adapted to land vehicles
- G05D1/0231—Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means
- G05D1/0246—Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using a video camera in combination with image processing means
- G05D1/0253—Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using a video camera in combination with image processing means extracting relative motion information from a plurality of images taken successively, e.g. visual odometry, optical flow
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/02—Control of position or course in two dimensions
- G05D1/021—Control of position or course in two dimensions specially adapted to land vehicles
- G05D1/0276—Control of position or course in two dimensions specially adapted to land vehicles using signals provided by a source external to the vehicle
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Aviation & Aerospace Engineering (AREA)
- Radar, Positioning & Navigation (AREA)
- Remote Sensing (AREA)
- General Physics & Mathematics (AREA)
- Automation & Control Theory (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Multimedia (AREA)
- Electromagnetism (AREA)
- Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)
- Manipulator (AREA)
Abstract
本发明公开了一种移动移动机器人的全覆盖路径规划方法,包括:步骤1、获取移动移动机器人的当前位置并以该位置为基准位置,将所述移动移动机器人的工作区域预划分为若干个单元格以作为当前目标区域;步骤2、以初始方向作为第一次运动方向,在所述移动移动机器人进行遍历之前预设所需的遍历函数并设置初始值;步骤3、基于当前位置所对应的遍历方向进行下一步遍历并在本次遍历过程中同步对周围环境中的障碍物进行探测并标识;步骤4、重复进行步骤3,直至满足遍历截止条件后进行下一目标区域的遍历,以完成全部工作区域的遍历;本发明具有覆盖率高、重复覆盖率低和消耗时间短的优点。
Description
技术领域
本发明属于移动机器人领域,具体的说是涉及一种移动机器人的全覆盖路径规划方法。
背景技术
在室内清洁、室外除草、农业播种、水下目标搜寻等应用中,需要移动机器人按照全覆盖地图区域进行工作。为了提高移动机器人的遍历效率,就需要对移动机器人进行全覆盖路径规划。所述全覆盖路径规划是指对一块给定的区域,移动机器人要避开该区域中的所有障碍物,并覆盖到所有非障碍物区域的技术,对应的全覆盖路径规划有如下几个要求:(1)有效避障;(2)非障碍物区域完全覆盖;(3)路径不重复;(4)时间及能量耗费少。移动机器人的全覆盖路径规划算法主要有莫尔斯分解法和波形覆盖算法。
其中,莫尔斯分解法需要构造莫尔斯函数;莫尔斯函数是定义在m维空间的可导函数,设二元莫尔斯函数y=h(x1,x2),其一阶偏导数为:则该函数的梯度为:根据二元函数的基础知识,二元函数在莫有一点处,其梯度的方向垂直于等值线的方向,即可以用数学方法求出函数的等值线。如图1,是一张地图采用莫尔斯单元分解法得到的结果,其莫尔斯函数是图中涂黑部分为障碍物,一系列环形线为莫尔斯函数的等值线。等值线与障碍物的切点为关键点。以关键点为顶点,障碍物的边界和等值线为边,对地图进行分区,这种分区法即为莫尔斯分解法。显然,采用不同的莫尔斯函数会得到不同的分解方案。具体的是把地图用莫尔斯函数分解之后,便应该开始对其的遍历过程了。首先移动机器人应该确定对这几个单元格的遍历顺序,然后对每一个具体的区域采取遍历过程。移动机器人在每一个区域进行全覆盖遍历时,有三种行走方式,第一种是沿着切片行走,第二种是垂直切片行走,第三种是沿着障碍物的边缘行走。首先移动机器人沿着当前的切片行走,当走至当前切片的尽头的时候,移动机器人向外走一段可以保证覆盖到的距离,如果移动机器人在途中遇到障碍物,则移动机器人沿着障碍物的边缘前进,直到遇到下一个切片,开始沿下一个切片向前行走。此过程一直循环往复,直至把一个区域完全遍历为止。但是需要说明的是莫尔斯单元分解法的主要缺点是需要做较多的曲线运动,意味着在行走过程中要经常转弯,这会花费较多时间,消耗较多能量,降低移动机器人效率,增大移动机器人对位置和方向判断的误差,使路径精度下降。
而波形覆盖的算法要求室内的环境已知,且事先规定一个起始的单元格和一个结束的单元格,然后计算每一个单元格和结束单元格的距离。距离的算法如下:首先结束单元格的距离值为0,和结束单元格相邻的单元格距离为1。然后寻找所有和距离值为1相邻的单元格,只要它还未被标注则记其为2。之后以此类推,假设已经标记完成距离为n的单元格,则接下来寻找所有仍尚未标注的,并且和标记为n的单元格相邻的单元格,并把它们标记为n+1。这个过程一直持续到当起始单元格也被标记为止。图2则显示了一个用该种方法标记地图中的各个单元格的例子。但是波形覆盖的算法的主要缺点是不能在线进行路径规划,当移动机器人需要完成未知环境的路。
综上所述,移动机器人全覆盖可以应用于室内清洁,草坪除草和地雷探测等领域,范围很广。移动机器人在对区域进行全覆盖时,主要问题是获知周围障碍物情况和路径规划决策。传统方法普遍采用先获知周围环境,再规划遍历方案,但尽管这些算法均能够实现对区域的全覆盖,并在实际中得到应用,但存在路径较长、覆盖效率低、时间和能耗高的问题,需要针对它们存在的技术问题,做出改进。
发明内容
鉴于已有技术存在的缺陷,本发明的目的是要提供一种移动机器人的全覆盖路径规划方法,该方法具有覆盖率高、重复覆盖率低和消耗时间短的优点。
为了实现上述目的,本发明的技术方案:
一种移动机器人的全覆盖路径规划方法,所述移动机器人能够转向且在该移动机器人的前后左右四个方向中的至少一个方向上设置有两个朝向一致的摄像头,其特征在于,所述方法包括如下步骤:
步骤1、步骤1、获取移动机器人的当前位置并以该位置为基准位置,将所述移动机器人的工作区域预划分为g×h个单元格并作为当前目标区域,其中, g>1,h>1,且单元格划分标准为以移动机器人自身尺寸为标准单元格尺寸;
步骤2、以初始方向作为第一次运动方向在所述移动机器人进行遍历之前预设所需的遍历函数并设置初始值,所述遍历函数至少包括移动机器人所检测到的环境信息所对应的二维函数m(x,y)、移动机器人与某一物体即障碍物的距离或称为不存在障碍物的距离所对应的二维函数d(x,y)以及判断移动机器人是否已经遍历过该单元格所对应的二维函数v(x,y);其中,(x,y)为移动机器人所在的位置所对应的单元格数,d(x,y)的初始值为max(g,h),m(x,y)初始值全部默认标定为-1且遍历时满足:
v(x,y)满足:
步骤3、基于当前位置所对应的遍历方向进行下一步遍历并在本次遍历过程中同步对周围环境中的障碍物进行探测并标识,所述探测包括分别检测移动机器人在前后左右四个方向上与障碍物的距离,分别将各距离与单元格尺寸相除并取整以获得在前后左右四个方向上每个方向当前移动机器人与障碍物的距离所对应的单元格数;依次判断当前移动机器人与某一物体即障碍物的距离所对应的二维函数d(x,y)是否大于当前移动机器人与所获得的单元格的距离,是则将所获得的单元格对应的m(x,y)标识为0,并进一步判断所获得的单元格在该遍历方向上加上一个标准的单元格所对应的二维函数d(x,y)是否大于当前移动机器人与所获得的单元格的距离,是则将所获得的单元格对应的m(x,y)标识为1;
步骤4、重复进行步骤3,直至满足遍历截止条件后进行下一目标区域的遍历,以完成全部工作区域的遍历;所述遍历截止条件是指m(x,y)函数中不存在被标定为-1的单元格且对于全部单元格均满足m(x,y)=0时,v(x,y)=0。
进一步,所述步骤1中当前目标区域的单元格是随着遍历过程同步变化的,其同步变化过程包括:
S1、在移动机器人检测其在前后左右四个方向上与障碍物的距离,以获得在前后左右四个方向上每个方向当前移动机器人与障碍物的距离所对应的单元格数即获得在前后左右四个方向上每个方向各有多少单元格无障碍物并将前后左右四个方向上每个方向上无障碍物的单元格数分别设为n1、n2、n3和n4;
S2、在移动机器人进行下一步遍历之前,假定移动机器人当前所在位置对应的单元格为(x,y),对应的m(x,y)函数其矩阵为k2行k1列,则移动机器人判断x-n3<2、x+n4+1>k1、y-n1<2、y+n2+1<k2是否成立,如果成立,执行S3,否则执行S4;
S3、以x-n3-1、x+n4+1、y-n1-1和y+n2+1为单元格扩大边界,并按照行单元格g1扩大至g2,列单元格扩大h1扩大至h2,扩大当前目标区域所包含的单元格,则对应的m(x,y)中新增的单元格对应的初始值默认为-1、v(x,y)新增的单元格对应的初始值默认为1以及d(x,y)对应等于max(g1,h1)的单元格变为max(g2,h2) 且中所有新增单元格均为max(g2,h2)
S4、依次对x+1至x+n4,x-1至x-n3,y+1至y+n2以及y-1至y-n1所对应的单元格进行判断,如果当前所判断的单元格的d(x,y)所对应的函数值大于该单元格到当前移动机器人所在单元格的距离,则当前所判断的单元格的m(x,y)对应的函数值标识为0,d(x,y)对应的函数值标识为该单元格到移动机器人所在单元格的距离;
S5、依次对x+n4+1、x-n3-1、y+n2+1以及y-n1-1所对应的单元格进行判断,如果该单元格的d(x,y)所对应的函数值大于该单元格到当前移动机器人所在单元格的距离,则当前所判断的单元格的m(x,y)对应的函数值标识为1,d(x,y)对应的函数值标识为该单元格到移动机器人所在单元格的距离。
进一步,所述步骤3中的所检测到的距离通过下述步骤实现:
步骤31、通过两个摄像头分别采集移动机器人所处位置前方方向上的图像数据;
步骤32、分别将所采集到的图像数据由RGB颜色空间转换到HSI颜色空间;
步骤33、分别对经步骤32处理后的图像数据进行边缘检测以确定相应的图像边缘数据;
步骤34、分别对经步骤33处理后的图像数据进行图像分割;
步骤35、将两幅图像分割后的图像数据进行匹配;
步骤36、基于视差原理,计算移动机器人与障碍物的距离。
进一步,所述步骤33中的边缘检测是指采用canny边缘检测法对图像数据进行边缘检测,并将在H空间上所获得的边缘图像记为EH,在S空间上所获得的边缘图像记为ES,在I空间上所获得边缘图像记为EI;
随后对三张边缘图像采用下式进行边缘融合:
E=(EH&ES)|(EH&EI)|(ES&EI) (3)
对边缘融合得到的图像上的每个像素引入估值函数V(x,y):
V(x,y)=EH(x,y)+ES(x,y)+EI(x,y) (4)
且判定V=3的像素点(x,y)为确定的边缘像素,即:
E(x,y)=1 (5)
判定V=0的像素点(x,y)为非边缘像素,即:
E(x,y)=0 (6)
判定V=1或2的像素点(x,y)为待确认像素,且依据下述公式进行确认:若
V(x,y)<max(V(N8(x,y)),则V(x,y)=V(x,y)+1 (7)
式中,N8(x,y)表示某一像素(x,y)的八邻域像素集合。
进一步的,所述步骤34包括分别对经步骤33处理后的图像数据求连通域以提取出图像数据中各自所对应的障碍物二值图像;
进一步的,所述步骤35包括:
步骤351、将其中一个摄像头所对应的自经步骤33处理后的图像数据中所提取的各障碍物二值图像依次标定为k1,k2,…,kn,将另一个摄像头所对应的自经步骤33处理后的图像数据中所提取的各障碍物二值图像依次标定为o1,o2,…,om;
步骤352、基于各障碍物二值图像所对应的最小外接矩形依次计算相对应的图像面积;
步骤353、选定障碍物二值图像k1并假定其对应的其面积为A1,最小外接矩形长宽分别为l1、w1;再选定障碍物二值图像o1并假定其对应的其面积为A2,最小外接矩形长宽分别为l2、w2;随后计算障碍物二值图像k1与障碍物二值图像o1之间的关系系数
步骤354、始终选定障碍物二值图像k1并分别将障碍物二值图像o1依次变换为障碍物二值图像o2,o3,…,om,重复按照步骤353中的关系系数公式计算各自所对应的系数并依次标识为λ2,λ3,…,λm;随后按照自大至小的顺序,自所计算得出的系数中选定出三个系数作为障碍物二值图像k1候选匹配对象;
步骤355、依次将障碍物二值图像k1替换成k2,k3,…,kn,重复步骤354以获得k2,k3,…,kn各自所对应的候选匹配对象;
步骤356、对障碍物二值图像k1的三个候选图像基于计算对应的相关系数,并取其中的系数最小值作为k1的匹配图像;
步骤357、依次将障碍物二值图像k1替换成k2,k3,…,kn,重复步骤356,以获得其中一个摄像头所对应的图像数据中每个障碍物图像对应到另一摄像头所对应的图像数据中的对应障碍物图像。
进一步的,所述步骤36包括:
假定两摄像头的内部参数相同,两者坐标系的坐标轴完全平行,坐标原点位于同一个高度,前后位置相同,两者之间的距离为d,焦距为f,若某一点P 以其中一个摄像头的焦点为原点,其坐标为(x0,y0,z0),并以另一个摄像头的焦点为原点,其坐标为(x0-d,y0,z0),摄像头拍摄的照片中的P点的像素坐标为(u1,v1),另一摄像头拍摄的照片中的P点的像素坐标为(u2,v2),两个照片图像的中点像素坐标为(u0,v0),单位长度上含有s个像素,则距离对应的坐标计算公式:
进一步的,在步骤4的遍历过程中在向下一目标区域进行移动包括基于距离变换算法的遍历策略,对应的步骤如下:
1)将移动机器人当前所在的单元格的标记为0;
2)以步骤1)中的单元格为中心,找出所有与其相邻的单元格并标记为1,此为一次循环;
3)依次判断全部被标记为1的单元格是否为未访问的不存在障碍物的单元格;如果没有则执行步骤4),如果有,执行步骤6);
4)在本次循环中被标记的单元格中,依次找出所有与该单元格相邻的单元格并执行步骤5);
5)在4)中所找出的单元格中判断是否被标记,如果没有被标记,则分别将没有被标记的单元格标记为其所对应的上一次循环中的标记号加1,然后执行步骤3);
6)从被找到的未被访问的单元格开始,依次寻找和其相邻且距离最小的单元格,并记录下来,一直到起始点为止;
7)将步骤6)中记录的单元格顺序颠倒,并按照新的单元格排列顺序连接形成遍历路径,并使得移动机器人顺着遍历路径从起始点到达目标点进行遍历。
与现有技术相比,本发明的有益效果:
(1)本发明省略了移动机器人环绕获知障碍物,直接进行来回往复式遍历,在此运动过程中,移动机器人学习室内障碍物的位置,从而缩短了规划路径,提高移动机器人遍历效率;
(2)本发明采用距离变换方法规划最近目标点,并从起始点开始向其他点传播距离,再规划出一条最短路径,这样移动机器人可以在任意位置找到离该位置最近的尚未访问目标,从而减小其总距离;
(3)本发明在对图像进行边缘检测时,将其变换至HSI空间上并引入估值函数使图像中的像素均联系在一起,得到边缘曲线连续,无间断点,从而有利于分割图像;
(4)改进图像的匹配方式,进而提高计算速度,减少延迟时间;
(5)同时在进行图像匹配时,先用面积、最小外接矩形计算量小、精度差的方式匹配3个候选目标,再用进行,实现精确匹配且减小了总计算量。
附图说明
图1为背景技术中所述的莫尔斯单元分解法示例图;
图2为背景技术中所述的波形覆盖算法示例图;
图3为本发明所述规划方法总体流程图;
图4为本发明所述探测障碍物距离对应的流程图;
图5为摄像头探测障碍物距离对应的主要步骤图;
图6为双目视差原理结构示意图;
图7为移动机器人来回往复式遍历运动示意图;
图8为移动机器人进行一次来回往复式历运动示例图;
图9为目标到起点的距离变换示例图;
图10为移动机器人走向下一个目标区域方法流程图;
图11为移动机器人走向下一目标示例;
图12为边缘检测示例图;
图13为图12中的各个连通域示例图;
图14为移动机器人覆盖轨迹图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
鉴于移动机器人有如下几种功能:向正前方行走规定距离,向正后方行走规定距离,左转和右转一定角度,并可以检测前后左右物体距离,因此本发明所述的移动机器人应能够转向且在该移动机器人的前后左右四个方向中的至少一个方向上设置有两个朝向一致的摄像头;同时鉴于移动机器人在执行上述操作均存在一定误差,而这些误差会导致精度下降,覆盖率偏低,重复覆盖率偏高等问题,为此,本发明设计了一种能够减小上述误差带来影响的方法,具体的如图3,其基础步骤为确定某一目标区域后,启动移动机器人后进入来回往复式遍历模式,然后判断是否遍历完成,如果完成遍历,则结束遍历过程。如果没有完成遍历,则移动机器人导航至下一未访问的目标区域并重新开始来回往复式遍历。同时在遍历时同步在前后左右四个方向上检测与障碍物距离,其包括基于HSI颜色空间边缘检测方法,改进图像匹配方式,并采用双目视差进行物体距离检测。
基于上述原理,如图3-图5,本发明所述的一种移动机器人的全覆盖路径规划方法其特征在于,所述方法包括如下步骤:
步骤1、取移动机器人的当前位置并以该位置为基准位置,将所述移动机器人的工作区域预划分为g×h个单元格并作为当前目标区域,其中,g>1,h>1,且单元格划分标准为以移动机器人自身尺寸为标准单元格尺寸,即以移动机器人所在位置为基准位置,工作区域内距离基准位置每隔单元格尺寸大小划分一个单元格,同时因为遍历之前不知道工作区域的尺寸大小,如可先将所述移动机器人的周围区域划分为10×10个单元格;
步骤2、以初始方向作为第一次运动方向即遍历方向,在所述移动机器人进行遍历之前预设所需的遍历函数并设置初始值,所述遍历函数至少包括移动机器人所检测到的环境信息所对应的二维函数m(x,y)、移动机器人与某一物体即障碍物的距离或称为不存在障碍物的距离所对应的二维函数d(x,y)以及判断移动机器人是否已经遍历过该单元格所对应的二维函数v(x,y);其中,(x,y)为移动机器人所在的位置所对应的单元格数,如设移动机器人初始位置为(5,5),x和y取值为整数,m(x,y)的初始值全部默认标定为-1且遍历时满足:
d(x,y)的初始值为m(g,h);v(x,y)为移动机器人的访问函数,当移动机器人已经访问过某一个单元格(x,y)时,v(x,y)=0,当移动机器人没有访问该单元格时, v(x,y)=1,且v(x,y)的初始值为1,即其满足:
函数m(x,y)、d(x,y)和v(x,y)会随着移动机器人在环境中不断地运动即遍历过程中进行变化;
步骤3、基于当前位置所对应的遍历方向进行下一步遍历并在本次遍历过程中同步对周围环境中的障碍物进行探测并标识,所述探测包括分别检测移动机器人在前后左右四个方向上与障碍物的距离,分别将各距离与单元格尺寸相除并取整(去除小数位)以获得在前后左右四个方向上两者之间不存在障碍物的距离所对应的单元格;依次判断是否当前移动机器人与某一物体即障碍物的距离所对应的二维函数d(x,y)大于当前移动机器人与所获得的单元格的距离,是则将所获得的单元格对应的m(x,y)标识为0,并进一步判断是否所获得的单元格在该遍历方向上加上一个标准的单元格所对应的二维函数d(x,y)大于当前移动机器人与所获得的单元格的距离,是则将所获得的单元格数对应的m(x,y)标识为1;进一步的,所述步骤3还包括在移动机器人在检测前后左右方向上其与障碍物的距离时,对坐标横向和纵向上进行方向误差修正,即其步骤如下:1)在移动机器人在检测前后左右方向上每一方向上其与障碍物的距离;2)将1)中所得距离加方向误差校正;进一步,所述步骤1中当前目标区域的单元格是随着遍历过程同步变化的,其同步变化过程包括:S1、在移动机器人检测其在前后左右四个方向上与障碍物的距离,以获得在前后左右四个方向上每个方向当前移动机器人与障碍物的距离所对应的单元格数即获得在前后左右四个方向上每个方向各有多少单元格无障碍物并将前后左右四个方向上每个方向上无障碍物的单元格数分别设为n1、n2、n3和n4;S2、在移动机器人进行下一步遍历之前,假定移动机器人当前所在位置对应的单元格为(x,y),对应的m(x,y)函数其矩阵为k2行k1列,则移动机器人判断x-n3<2、x+n4+1>k1、y-n1<2、y+n2+1<k2是否成立,如果成立,执行S3,否则执行S4;S3、并按照行单元格g1扩大至g2,列单元格扩大h1扩大至h2,(原值为g1,h1)扩大当前目标区域所包含的单元格(g2, h2),则对应的m(x,y)中新增的单元格对应的初始值默认为-1、v(x,y)新增的单元格对应的初始值默认为1以及d(x,y)对应等于max(g1,h1)的单元格变为max(g2,h2) 且中所有新增单元格均为max(g2,h2);S4、依次对x+1至x+n4,x-1至x-n3,y+1 至y+n2以及y-1至y-n1所对应的单元格进行判断,如果当前所判断的单元格的 d(x,y)所对应的函数值大于该单元格到当前移动机器人所在单元格的距离,则当前所判断的单元格的m(x,y)对应的函数值标识为0,d(x,y)对应的函数值标识为该单元格到移动机器人所在单元格的距离;S5、依次对x+n4+1、x-n3-1、y+n2+1 以及y-n1-1所对应的单元格进行判断,如果该单元格的d(x,y)所对应的函数值大于该单元格到当前移动机器人所在单元格的距离,则当前所判断的单元格的 m(x,y)对应的函数值标识为1,d(x,y)对应的函数值标识为该单元格到移动机器人所在单元格的距离。
步骤4、重复进行步骤3,直至满足遍历截止条件后进行下一目标区域的遍历,以完成全部工作区域的遍历;所述遍历截止条件是指(1)m(x,y)函数中不存在被标定为-1的单元格即在环境内所有的单元格,都已经被移动机器人判定为障碍物或者是非障碍物,不存在模棱两可的情况;(2)对于全部单元格(x,y)均满足m(x,y)=0时,v(x,y)=0。即对于所有移动机器人判定为非障碍物的区域,移动机器人应该已访问到该单元格。当以上两个条件都满足时,移动机器人即可停止运行。
进一步,摄像头距离探测的主要原理是双目视觉,即利用两个摄像头拍摄的照片的视差,得到前方物体的距离。具体算法包括边缘检测、图像分割、模板匹配和双目视觉等,主要步骤如图5所示。具体的所述步骤3中的所检测到的距离通过下述步骤实现:
步骤31、通过两个摄像头分别采集移动机器人所处位置前方方向上的图像数据;在进行图像采集过程中,若所述移动机器人能够转向且在该移动机器人的前后左右四个方向中的4个方向上设置均有两个朝向一致的摄像头,则同步进行采集;其他情况则通过转向分别采集前后左右四个方向上所对应的图像;
步骤32、分别将所采集到的图像数据由RGB颜色空间转换到HSI颜色空间;具体的,本方法RGB到HSI颜色空间的转换公式为:
步骤33、分别对经由RGB颜色空间转换成HSI颜色空间后的图像数据进行边缘检测以确定相应的图像边缘数据;进一步,所述步骤33中的边缘检测是指采用canny边缘检测法对图像数据进行边缘检测,并将在H空间上所获得的边缘图像记为EH,在S空间上所获得的边缘图像记为ES,在I空间上所获得边缘图像记为EI;
随后对三张边缘图像采用下式进行边缘融合:
E=(EH&ES)|(EH&EI)|(ES&EI) (3)
但是若仅用式(3)进行边缘融合得到的边缘并不闭合,边缘的像素点之间存在很多间断点。间断点使图像无法进行分割。因此本文对对边缘融合得到的图像上的每个像素引入估值函数V(x,y):
V(x,y)=EH(x,y)+ES(x,y)+EI(x,y) (4)
且判定V=3的像素点(x,y)为确定的边缘像素,即:
E(x,y)=1(V(x,y)=3) (5)
判定V=0的像素点(x,y)为非边缘像素,即:
E(x,y)=0(V(x,y)=0) (6)
判定V=1或2的像素点(x,y)为待确认像素,对V=1或2的像素,赋予它们具有一定的升值能力,具体的上升思路如下:像素估值函数V=1的像素当其八邻域内有 V=2的像素时,则该像素的估值V(x,y)可以提升为2,即某一像素如果周围存在评价值比它高的像素,可以提升其自身的评价值,此过程循环进行,直至所有 V=1的像素八邻域没有V=2的像素为止。所有余下的V=1的像素点均为非边缘像素。V=2的像素的八邻域内如果有V=3的像素时,则该像素的估值可以提升至3,即一个确定的边缘像素,可以增大它周围的像素是否是一个边缘的评估。余下的周围没有确定边缘像素的像素为非边缘点。此过程用公式表示如下:
V(x,y)=V(x,y)+1(V(x,y)<max(V(N8(x,y)))) (7)
式中,N8(x,y)表示某一像素(x,y)的八邻域像素集合。进一步的,可再对结果进行形态学处理,包括膨胀运算是对两个二值图像进行操作,取一模板B,将其中点置于图像A的一点,则图像B有若干个点落在图像A上,取出这些点进行或运算,然后让模板在图像A上滑动,所得新图像即为A和B的膨胀运算;腐蚀运算为模板B和图像A进行与运算,其他过程和膨胀运算相同。填充运算是把被白色像素包围的孤立黑色像素点涂白的运算;清除运算是把被黑色像素包围的孤立白色像素点涂黑的运算。对结果进行一次模板为3×3的膨胀操作,之后进行一次同膨胀操作相同模板的腐蚀操作,然后进行填充操作和清除操作,即可得到最终的结果。
步骤34、分别对经步骤33处理后的图像数据进行图像分割;进一步的,所述步骤34包括分别对经步骤33处理后的图像数据求连通域以提取出图像数据中各自所对应的障碍物图像,求连通域是指对一幅二值图像,把所有相邻的像素值为1的点合为一个区域,不相邻的区域之间标记为不同;
步骤35、将两幅图像分割后的图像数据进行匹配;即对左右两架摄像头拍摄的图片分别求连通域,各自提取出图片中的障碍物,然后便把左摄像头提取出的每一障碍物和右摄像头提取出的障碍物进行匹配。
具体的,进一步的,所述步骤35包括:
步骤351、将其中一个摄像头所对应的自经步骤33处理后的图像数据中所提取的各障碍物二值图像依次标定为k1,k2,…,kn,将另一个摄像头所对应的自经步骤33处理后的图像数据中所提取的各障碍物二值图像依次标定为o1,o2,…,om;
步骤352、基于各障碍物二值图像所对应的最小外接矩形依次计算相对应的图像面积;
步骤353、选定障碍物二值图像k1并假定其对应的其面积为A1,最小外接矩形长宽分别为l1、w1;再选定障碍物二值图像o1并假定其对应的其面积为A2,最小外接矩形长宽分别为l2、w2;随后计算障碍物二值图像k1与障碍物二值图像o1之间的关系系数
步骤354、始终选定障碍物二值图像k1并分别将障碍物二值图像o1依次变换为障碍物二值图像o2,o3,…,om,重复按照步骤353中的关系系数公式计算各自所对应的系数并依次标识为λ2,λ3,…,λm;随后按照自大至小的顺序,自所计算得出的系数中选定出三个系数作为障碍物二值图像k1候选匹配对象;
步骤355、依次将障碍物二值图像k1替换成k2,k3,…,kn,重复步骤354以获得k2,k3,…,kn各自所对应的候选匹配对象;
步骤356、对障碍物二值图像k1(i,j)的三个候选图像基于计算对应的相关系数,并取其中的系数最小值作为k1的匹配图像;
步骤357、依次将障碍物二值图像k1替换成k2,k3,…,kn,重复步骤356,以获得其中一个摄像头所对应的图像数据中每个障碍物图像对应到另一摄像头所对应的图像数据中的对应障碍物图像。
步骤36、如图6,基于视差原理,计算移动机器人与障碍物的距离。进一步的,所述步骤36包括:假定两摄像头的内部参数相同,两者坐标系的坐标轴完全平行,坐标原点位于同一个高度,前后位置相同,两者之间的距离为d,焦距为f,对于某一点P,以其中一个如位于机器人遍历方向左侧的摄像头焦点为原点,其坐标为(x0,y0,z0),并以位于机器人遍历方向右侧的摄像头的焦点为原点,其坐标为(x0-d,y0,z0),左侧摄像头拍摄的照片中的P点的像素坐标为(u1,v1),右侧摄像头拍摄的照片中的P点的像素坐标为(u2,v2),两个照片图像的中点像素坐标为 (u0,v0),单位长度上含有s个像素,则用式(13-15),即可求出移动机器人前方物体的距离对应的坐标计算公式:
进一步的,在移动机器人在进行来回往复式遍历过程中,如,设移动机器人要遍历图7中所示的地图,图中的黑色区域为障碍物,斜线纹区域为移动机器人已经访问的单元格,白色区域为未访问单元格;且移动机器人按箭头所示的遍历方向前进,移动机器人先沿着一行从一端走到另一端,当走到图7中所示的A点时,移动机器人遇到了障碍物,使得移动机器人遇到障碍物时,左转90°沿着和原来垂直的方向前进一格,走到如图中所示B点,再沿着和原来相反的方向继续直线运动。如此过程反复进行,直至移动机器人不能前进为止;具体步骤如下:
1)基于移动机器人自身的定位器测量其对应的的位置和方向,并计算在遍历运动过程中产生的位置和方向误差;
2)根据方向误差,移动机器人原地旋转调整;
3)移动机器人探测前后左右障碍物的距离,对应的结果加步骤1)中位置误差进行校正;
4)检测并判断前方一格之内是否有障碍物,如果没有,执行步骤5),如果有,执行步骤6);
5)移动机器人向前方运动一个单元格加步骤1)中位置误差的距离,然后执行步骤1);
6)移动机器人原地左转90°;
7)判断前方一格之内是否有障碍物,如果没有,则执行步骤8),如果有,则结束本次遍历;
8)移动机器人向前方运动单元格加步骤1)中位置误差的距离;
9)移动机器人定位器测量移动机器人的位置和方向,并计算在运动过程中产生的位置和方向误差;
10)根据方向误差,移动机器人原地旋转调整;
11)移动机器人探测前后左右障碍物的距离,其结果加步骤1)中位置误差校正;
12)移动机器人原地左转90°,然后执行步骤1)并如此持续循环直至完成遍历过程。
同时之所以考虑误差校正是因为移动机器人在向前运动的过程中,其位置和方向均会出现偏差。为消除误差带来的影响,需要进行误差校正,如可采用 iBeacon定位技术对移动机器人进行实时定位;iBeacon是苹果公司推出的电子设备互联并通信的技术,它基于Bluetooth4.0,可运用于几十米内物体位置和方向的确定。基于iBeacon技术的定位设备定位精度更高,误差范围在毫米数量级,能耗更低。具体的当移动机器人前进一格或旋转后,用iBeacon设备测量实际位置和方向,然后立即对其进行方向纠正,与理论方向差多少度,旋转多少度;假设测得距离为(x2,y2),理论位置为(x1,y1),则(x3,y3)=(x1,y1)-(x2,y2)为实际位置和理论位置的差值且使用双目摄像头测距,设在x坐标方向上物体的距离为x4,则真实距离为x′4=x4+x3。在y坐标方向上物体的距离为y4,则真实距离为 y′4=y4+y3。用此来纠正距离出现的偏差。移动机器人运动的误差(x3,y3)将在之后的遍历运动时进行纠正。如x3将在移动机器人下一次沿着x坐标运动时进行纠正,设移动机器人前进一格距离为d,则实际前进d+x3距离进行纠正。误差y3类似,在移动机器人下一次沿着y坐标运动时纠正。当对误差校正完成后,再进行一次验证。在移动机器人遍历过程中,每前进一格都进行一次修正,如1)移动机器人每运动一步后,检测方向偏角度数;2)移动机器人转动该偏转角,进行方向纠正;3)检测位置偏移误差;4)移动机器人进行前后左右四个方向检测距离5)(4)中距离加上(3)中误差校正并记录障碍物的位置;6)进行下一次遍历运动并在运动过程中,纠正(3)中误差。
为了克服特殊情况即如图8,当移动机器人采取来回往复式运动方式到达A 点时,移动机器人已不能继续遍历运动下去,但此时移动机器人还没有完成对地图区域的全部遍历。此时,需要一种策略实现将移动机器人切换至走向下一个目标区域,引导移动机器人走向B点。现有的距离变换算法,如图9所示,左上第一个标识横向线的区域为移动机器人的起始点,目标点为最下标识为横向线的区域,该算法具体如下:1)从目标点开始,设目标点的距离为0;2)判断起始点是否被标记,如果没有,则执行步骤3),如果有,则执行步骤5);3)找到上一次循环中被标记点的相邻点;4)在步骤3)中的点如果没有被标记,则把它们的距离标为上一次循环中的距离加1,然后执行步骤2);5)从起始点开始,沿着它相邻的点中的最小距离,做一条路径,直到目标点为止;6)移动机器人沿着这条路径从起始点走至目标点。可见该算法是一种目标点明确的由点到点的路径规划算法。但是在图8中,实际上并没有一个确定的B点,而是让移动机器人在A点绕过障碍物,到达一个所走路径最短的未访问单元格,则此点即为B 点。在这种情况下,因为B点不确定,所以完全无法用上面的算法进行路径规划,需要对其做出改进。
为了有效解决上述问题,本发明给出了一种新型基于距离变换算法的遍历策略,其主要流程如图10所示,对应的步骤如下:
1)将移动机器人当前所在的单元格的标记为0;
2)以步骤1)中的单元格为中心,找出所有与其相邻的单元格并标记为1,此为一次循环;
3)依次判断全部被标记为1的单元格是否为未访问的不存在障碍物的单元格;如果没有则执行步骤4),如果有,执行步骤6);
4)在本次循环中被标记的单元格中,依次找出所有与该单元格相邻的单元格并执行步骤5);
5)在4)中所找出的单元格中判断是否被标记,如果没有被标记,则分别将没有被标记的单元格标记为其所对应的上一次循环中的标记号加1,然后执行步骤3);
6)从被找到的未被访问的单元格开始,依次寻找和其相邻且距离最小的单元格,并记录下来,一直到起始点为止;
7)将步骤6)中记录的单元格顺序颠倒,并按照新的单元格排列顺序连接形成遍历路径,并使得移动机器人顺着遍历路径从起始点到达目标点进行遍历。对应的实例以图11为例,演示用上述改进算法让移动机器人运动到下一个目标区域。移动机器人开始位于E4处,把E4单元格标记为0。在第一次循环中,和E4 相邻的E3和F4被标记为1。在第二次循环中,E2和F3被标记为2。第三次循环将 E1和F2标记为3。第四次循环将D1和F1标记为4。第五次循环将C1标记为5。第六次循环将B1和C2标记为6。因为C2是移动机器人尚未访问的区域,它触发了循环终止条件。然后从C2开始,寻找它相邻的单元格被标记的距离的最小值,找到了距离值为5的单元格C1,然后是距离值为4的D1,然后依次是E1、E2、E3,直到移动机器人所在的单元格E4结束。然后将上述单元格的顺序颠倒过来,形成一条E4→E3→E2→E1→D1→C1→C2的路径,移动机器人顺着这条路径即可由原区域到达新区域。
下述以具体实验实例对本发明所述方案进行验证:
相应基于距离探测部分所对应的实验条件:CPU主频:1.70GHz;内存:4.0GB;操作系统:Windows 10;运行软件:MATLAB R2010b。采用双目视觉原理检测障碍物的距离,本发明的边缘检测效果如图12所示。可以看到,检测出的边缘连续性比较好,断点较canny检测方法少。其对应的由边缘检测结果求连通域如图13(a)-(d)所示,从图中可以看出,主要部分的连通域都得到了求解。下一步基于在不同的距离分别用左右照相机对环境进行拍照,以检验距离探测的误差。因为左右照相机的焦距等参数之间存在误差,且两台照相机的位置之间也存在误差,所以本实验两台照相机的焦距之间存在1%不同,位置存在1%以内的误差,表1为不同距离之下,实际距离和检测距离以及误差。从表中可以看出,相对误差均在5%以下,当距离不超过两米时,误差更小。
表1距离检测及其误差
相应进行移动机器人全覆盖仿真即在工作区域内进行遍历所对应的实验条件:
CPU主频:1.70GHz;内存:4.0GB;操作系统:Windows 10;运行软件: MATLABR2010b;所用工具箱:移动机器人工具箱(Robotics Toolbox)和机器视觉工具箱(MachineVision Toolbox)。同时为了对移动机器人全覆盖路径规划方法进行评价,使用下述几个衡量全覆盖路径规划算法的指标:移动机器人的覆盖率:移动机器人遍历过的区域的面积占总共无障碍物区域的百分比。覆盖率越高,说明移动机器人对区域内的覆盖越完全。但是由于移动机器人的几何形状和所走过的路径的因素,一般情况下,移动机器人无法达到100%的覆盖率。移动机器人在对地图中的区域进行遍历时,免不了会运动到之前已经访问过的区域。访问已经访问过的区域会造成遍历效率的下降。衡量一个算法在这方面效率的参数是重复率:移动机器人重复覆盖的面积占总体面积的百分比。重复率越低,说明移动机器人的遍历效率越高。路径长度:移动机器人在遍历地图中所有区域的过程中所走的全程长度。路径长度的大小直接关系到移动机器人消耗的时间和能量。相比直线行走,移动机器人在转弯过程中要消耗更多的时间和能量。所以,移动机器人应该尽可能沿直线行走,减少转弯的次数。有时甚至可以适当牺牲移动机器人的路径长度指标,来减少转弯的次数。图14是模拟移动机器人在房间中行走区域覆盖情况。灰色区域为移动机器人覆盖到的区域,黑色粗线为房间边界,黑色细线为移动机器人运动轨迹,菱形块为障碍物。在评价各个全覆盖路径规划的算法时,需要考虑到不同的情况各个方法的性能。例如应该考虑到障碍物的多少,房间数量的多少。本发明分别假设有4个或15个障碍物的场景,单房间或多房间每种情况做了50次实验,运用每个方法,求各个参数,取平均值,如表1。
表2本发明和已有经典算法的对比
从上表2中可以看到,在4个障碍物,单房间,15个障碍物,单房间,4个障碍物,多房间,15个障碍物,多房间这几种不同的情况下,因此均可见本发明在覆盖率、重复率、路径长度和转弯次数这几个参数上,性能都是最优的。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,根据本发明的技术方案及其发明构思加以等同替换或改变,都应涵盖在本发明的保护范围之内。
Claims (8)
1.一种移动机器人的全覆盖路径规划方法,所述移动机器人能够转向且在该移动机器人的前后左右四个方向中的至少一个方向上设置有两个朝向一致的摄像头,其特征在于,所述方法包括如下步骤:
步骤1、获取移动机器人的当前位置并以该位置为基准位置,将所述移动机器人的工作区域预划分为g×h个单元格并作为当前目标区域,其中,g>1,h>1,且单元格划分标准为以移动机器人自身尺寸为标准单元格尺寸;
步骤2、以机器人初始方向作为第一次运动方向,在所述移动机器人进行遍历之前预设所需的遍历函数并设置初始值,所述遍历函数至少包括移动机器人所检测到的环境信息所对应的二维函数m(x,y)、移动机器人与某一物体即障碍物的距离或称为不存在障碍物的距离所对应的二维函数d(x,y)以及判断移动机器人是否已经遍历过该单元格所对应的二维函数v(x,y);其中,(x,y)为移动机器人所在的位置所对应的单元格数,d(x,y)的初始值为max(g,h),m(x,y)初始值全部默认标定为-1且遍历时满足:
v(x,y)满足:
步骤3、基于当前位置所对应的遍历方向进行下一步遍历并在本次遍历过程中同步对周围环境中的障碍物进行探测并标识,所述探测包括分别检测移动机器人在前后左右四个方向上与障碍物的距离,分别将各距离与单元格尺寸相除并取整以获得在前后左右四个方向上每个方向当前移动机器人与障碍物的距离所对应的单元格数;依次判断当前移动机器人与某一物体即障碍物的距离所对应的二维函数d(x,y)是否大于当前移动机器人与所获得的单元格的距离,是则将所获得的单元格对应的m(x,y)标识为0,并进一步判断所获得的单元格在该遍历方向上加上一个标准的单元格所对应的二维函数d(x,y)是否大于当前移动机器人与所获得的单元格的距离,若大于,则将所获得的单元格对应的m(x,y)标识为1;
步骤4、重复进行步骤3,直至满足遍历截止条件后进行下一目标区域的遍历,以完成全部工作区域的遍历;所述遍历截止条件是指m(x,y)函数中不存在被标定为-1的单元格且对于任意(x,y)处单元格均满足m(x,y)=0时,v(x,y)=0。
2.根据权利要求1所述的方法,其特征在于:
所述步骤1中当前目标区域的单元格是随着遍历过程同步变化的,其同步变化过程包括:
S1、在移动机器人检测其在前后左右四个方向上与障碍物的距离,以获得在前后左右四个方向上每个方向当前移动机器人与障碍物的距离所对应的单元格数即获得在前后左右四个方向上每个方向各有多少单元格无障碍物并将前后左右四个方向上每个方向上无障碍物的单元格数分别设为n1、n2、n3和n4;
S2、在移动机器人进行下一步遍历之前,假定移动机器人当前所在位置对应的单元格为(x,y),对应的m(x,y)函数其矩阵为k2行k1列,则移动机器人判断x-n3<2、x+n4+1>k1、y-n1<2、y+n2+1<k2是否成立,如果成立,执行S3,否则执行S4;
S3、以x-n3-1、x+n4+1、y-n1-1和y+n2+1为单元格扩大边界,并按照行单元格g1扩大至g2,列单元格扩大h1扩大至h2,扩大当前目标区域所包含的单元格,则对应的m(x,y)中新增的单元格对应的初始值默认为-1、v(x,y)新增的单元格对应的初始值默认为1以及d(x,y)对应等于max(g1,h1)的单元格变为max(g2,h2)且中所有新增单元格均为max(g2,h2)
S4、依次对x+1至x+n4,x-1至x-n3,y+1至y+n2以及y-1至y-n1所对应的单元格进行判断,如果当前所判断的单元格的d(x,y)所对应的函数值大于该单元格到当前移动机器人所在单元格的距离,则当前所判断的单元格的m(x,y)对应的函数值标识为0,d(x,y)对应的函数值标识为该单元格到移动机器人所在单元格的距离;
S5、依次对x+n4+1、x-n3-1、y+n2+1以及y-n1-1所对应的单元格进行判断,如果该单元格的d(x,y)所对应的函数值大于该单元格到当前移动机器人所在单元格的距离,则当前所判断的单元格的m(x,y)对应的函数值标识为1,d(x,y)对应的函数值标识为该单元格到移动机器人所在单元格的距离。
3.根据权利要求1所述的方法,其特征在于:
所述步骤3中的所检测到的距离通过下述步骤实现:
步骤31、通过两个摄像头分别采集移动机器人所处位置前方方向上的图像数据;
步骤32、分别将所采集到的图像数据由RGB颜色空间转换到HSI颜色空间;
步骤33、分别对经步骤32处理后的图像数据进行边缘检测以确定相应的图像边缘数据;
步骤34、分别对经步骤33处理后的图像数据进行图像分割;
步骤35、将两幅图像分割后的图像数据进行匹配;
步骤36、基于视差原理,计算移动机器人与障碍物的距离。
4.根据权利要求3所述的方法,其特征在于:所述的
所述步骤33中的边缘检测是指采用canny边缘检测法对图像数据进行边缘检测,并将在H空间上所获得的边缘图像记为EH,在S空间上所获得的边缘图像记为ES,在I空间上所获得边缘图像记为EI;
随后对三张边缘图像采用下式进行边缘融合:
E=(EH&ES)|(EH&EI)|(ES&EI) (3)
对边缘融合得到的图像上的每个像素引入估值函数V(i,j):
V(i,j)=EH(i,j)+ES(i,j)+EI(i,j) (4)
且判定V=3的像素点(i,j)为确定的边缘像素,即:
E(i,j)=1 (5)
判定V=0的像素点(i,j)为非边缘像素,即:
E(i,j)=0 (6)
判定V=1或2的像素点(i,j)为待确认像素,且依据下述公式进行确认:若
V(i,j)<max(V(N8(i,j)),则V(i,j)=V(i,j)+1 (7)
式中,N8(i,j)表示某一像素(i,j)的八邻域像素集合。
5.根据权利要求4所述的方法,其特征在于:
所述步骤34包括分别对经步骤33处理后的图像数据求连通域以提取出图像数据中各自所对应的障碍物二值图像.
6.根据权利要求5所述的方法,其特征在于:
所述步骤35包括:
步骤351、将其中一个摄像头所对应的自经步骤33处理后的图像数据中所提取的各障碍物二值图像依次标定为k1,k2,…,kn,将另一个摄像头所对应的自经步骤33处理后的图像数据中所提取的各障碍物二值图像依次标定为o1,o2,…,om;
步骤352、基于各障碍物二值图像所对应的最小外接矩形依次计算相对应的图像面积;
步骤353、选定障碍物二值图像k1并假定其对应的其面积为A1,最小外接矩形长宽分别为l1、w1;再选定障碍物二值图像o1并假定其对应的其面积为A2,最小外接矩形长宽分别为l2、w2;随后计算障碍物二值图像k1与障碍物二值图像o1之间的关系系数
步骤354、始终选定障碍物二值图像k1并分别将障碍物二值图像o1依次变换为障碍物二值图像o2,o3,…,om,重复按照步骤353中的关系系数公式计算各自所对应的系数并依次标识为λ2,λ3,…,λm;随后按照自大至小的顺序,自所计算得出的系数中选定出三个系数作为障碍物二值图像k1候选匹配对象;
步骤355、依次将障碍物二值图像k1替换成k2,k3,…,kn,重复步骤354以获得k2,k3,…,kn各自所对应的候选匹配对象;
步骤356、对障碍物二值图像k1的三个候选图像基于计算对应的相关系数,并取其中的系数最小值作为k1的匹配图像;
步骤357、依次将障碍物二值图像k1替换成k2,k3,…,kn,重复步骤356,以获得其中一个摄像头所对应的图像数据中每个障碍物图像对应到另一摄像头所对应的图像数据中的对应障碍物图像。
7.根据权利要求6所述的方法,其特征在于:
所述步骤36包括:
假定两摄像头的内部参数相同,两者坐标系的坐标轴完全平行,坐标原点位于同一个高度,前后位置相同,两者之间的距离为d,焦距为f,若某一点P以其中一个摄像头的焦点为原点,其坐标为(x0,y0,z0),并以另一个摄像头的焦点为原点,其坐标为(x0-d,y0,z0),摄像头拍摄的照片中的P点的像素坐标为(u1,v1),另一摄像头拍摄的照片中的P点的像素坐标为(u2,v2),两个照片图像的中点像素坐标为(u0,v0),单位长度上含有s个像素,则距离对应的坐标计算公式:
8.根据权利要求1所述的方法,其特征在于:
在步骤4的遍历过程中在向下一目标区域进行移动包括基于距离变换算法的遍历策略,对应的步骤如下:
1)将移动机器人当前所在的单元格的标记为0;
2)以步骤1)中的单元格为中心,找出所有与其相邻的单元格并标记为1,此为一次循环;
3)依次判断全部被标记为1的单元格是否为未访问的不存在障碍物的单元格;如果没有则执行步骤4),如果有,执行步骤6);
4)在本次循环中被标记的单元格中,依次找出所有与该单元格相邻的单元格并执行步骤5);
5)在4)中所找出的单元格中判断是否被标记,如果没有被标记,则分别将没有被标记的单元格标记为其所对应的上一次循环中的标记号加1,然后执行步骤3);
6)从被找到的未被访问的单元格开始,依次寻找和其相邻且距离最小的单元格,并记录下来,一直到起始点为止;
7)将步骤6)中记录的单元格顺序颠倒,并按照新的单元格排列顺序连接形成遍历路径,并使得移动机器人顺着遍历路径从起始点到达目标点进行遍历。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710336654.5A CN107505939B (zh) | 2017-05-13 | 2017-05-13 | 一种移动机器人的全覆盖路径规划方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710336654.5A CN107505939B (zh) | 2017-05-13 | 2017-05-13 | 一种移动机器人的全覆盖路径规划方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107505939A true CN107505939A (zh) | 2017-12-22 |
CN107505939B CN107505939B (zh) | 2019-07-12 |
Family
ID=60679287
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710336654.5A Active CN107505939B (zh) | 2017-05-13 | 2017-05-13 | 一种移动机器人的全覆盖路径规划方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107505939B (zh) |
Cited By (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108508913A (zh) * | 2018-03-29 | 2018-09-07 | 中国海洋大学 | 基于数据驱动的自主式水下航行器海底路径规划方法 |
CN108592923A (zh) * | 2018-06-05 | 2018-09-28 | 北京智行者科技有限公司 | 一种作业路径规划方法 |
CN109048895A (zh) * | 2018-08-07 | 2018-12-21 | 北京云迹科技有限公司 | 一种巡游方法和巡游机器人 |
CN109528090A (zh) * | 2018-11-24 | 2019-03-29 | 珠海市微半导体有限公司 | 一种机器人的区域遍历方法和芯片以及清洁机器人 |
CN110663345A (zh) * | 2019-10-24 | 2020-01-10 | 深圳拓邦股份有限公司 | 割草机器人割草控制方法、系统及装置 |
CN110815226A (zh) * | 2019-11-15 | 2020-02-21 | 四川长虹电器股份有限公司 | 一种机器人任意姿态任意位置下回初始位置的方法 |
CN111323037A (zh) * | 2020-02-28 | 2020-06-23 | 武汉科技大学 | 一种移动机器人新型骨架提取的Voronoi路径规划算法 |
CN112237403A (zh) * | 2020-09-07 | 2021-01-19 | 安克创新科技股份有限公司 | 用于清扫设备的覆盖路径生成方法和清扫设备 |
CN112276933A (zh) * | 2019-07-24 | 2021-01-29 | 广东宝乐机器人股份有限公司 | 移动机器人的控制方法和移动机器人 |
CN112306050A (zh) * | 2019-07-15 | 2021-02-02 | 苏州宝时得电动工具有限公司 | 自主机器人及其行走路径规划方法、装置和存储介质 |
WO2021031441A1 (zh) * | 2019-08-16 | 2021-02-25 | 苏州科瓴精密机械科技有限公司 | 路径规划方法、系统,机器人及可读存储介质 |
CN112445212A (zh) * | 2019-08-16 | 2021-03-05 | 苏州科瓴精密机械科技有限公司 | 路径规划方法、系统,机器人及可读存储介质 |
CN112486182A (zh) * | 2020-12-08 | 2021-03-12 | 南通大学 | 一种实现未知环境地图构建与路径规划的扫地机器人及其使用方法 |
CN112692875A (zh) * | 2021-01-06 | 2021-04-23 | 华南理工大学 | 一种焊接机器人运行与维护的数字孪生系统 |
CN113124876A (zh) * | 2021-04-20 | 2021-07-16 | 国家海洋技术中心 | 无人船在地形复杂海域遍历监测中路径优化方法及系统 |
CN113359699A (zh) * | 2021-05-08 | 2021-09-07 | 五邑大学 | 全覆盖路径规划方法、装置及存储介质 |
CN113390412A (zh) * | 2020-03-11 | 2021-09-14 | 宁波方太厨具有限公司 | 机器人的全覆盖路径规划方法、系统、电子设备及介质 |
CN113552866A (zh) * | 2020-04-17 | 2021-10-26 | 苏州科瓴精密机械科技有限公司 | 提升遍历均衡性能的方法、系统,机器人及可读存储介质 |
WO2021238000A1 (zh) * | 2020-05-29 | 2021-12-02 | 苏州科瓴精密机械科技有限公司 | 机器人沿边工作方法、系统,机器人及可读存储介质 |
CN113749562A (zh) * | 2021-08-13 | 2021-12-07 | 珠海格力电器股份有限公司 | 扫地机器人及其控制方法、装置、设备和存储介质 |
CN113848892A (zh) * | 2021-09-10 | 2021-12-28 | 广东盈峰智能环卫科技有限公司 | 一种机器人清扫区域划分方法、路径规划方法及装置 |
CN114397889A (zh) * | 2021-12-22 | 2022-04-26 | 深圳市银星智能科技股份有限公司 | 基于单元分解的全覆盖路径规划方法及相关设备 |
CN114543802A (zh) * | 2020-11-24 | 2022-05-27 | 追创科技(苏州)有限公司 | 可通行区域的探索方法、装置、存储介质及电子装置 |
CN117575123A (zh) * | 2024-01-15 | 2024-02-20 | 成都电科星拓科技有限公司 | 播种路径规划方法、装置、电子设备和可读存储介质 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2013168148A (ja) * | 2012-02-16 | 2013-08-29 | Micro-Star Internatl Co Ltd | 清掃ロボットの制御方法および清掃ロボット |
CN104834309A (zh) * | 2015-04-10 | 2015-08-12 | 浙江工业大学 | 基于目标跟踪控制策略的单移动机器人最优巡回控制方法 |
CN104950883A (zh) * | 2015-05-14 | 2015-09-30 | 西安电子科技大学 | 一种基于距离网格地图的移动机器人路径规划方法 |
US20160022109A1 (en) * | 2010-01-06 | 2016-01-28 | Irobot Corporation | System and method for autonomous mopping of a floor surface |
CN105302131A (zh) * | 2014-07-22 | 2016-02-03 | 德国福维克控股公司 | 借助可自主运行的设备清洁或处理空间的方法 |
CN105517476A (zh) * | 2014-09-03 | 2016-04-20 | 深圳市大疆创新科技有限公司 | Uav及其清洁墙体的方法、采用该uav的墙体清洁系统 |
CN104972462B (zh) * | 2014-04-14 | 2017-04-19 | 科沃斯机器人股份有限公司 | 自移动机器人避障行走方法 |
-
2017
- 2017-05-13 CN CN201710336654.5A patent/CN107505939B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20160022109A1 (en) * | 2010-01-06 | 2016-01-28 | Irobot Corporation | System and method for autonomous mopping of a floor surface |
JP2013168148A (ja) * | 2012-02-16 | 2013-08-29 | Micro-Star Internatl Co Ltd | 清掃ロボットの制御方法および清掃ロボット |
CN104972462B (zh) * | 2014-04-14 | 2017-04-19 | 科沃斯机器人股份有限公司 | 自移动机器人避障行走方法 |
CN105302131A (zh) * | 2014-07-22 | 2016-02-03 | 德国福维克控股公司 | 借助可自主运行的设备清洁或处理空间的方法 |
CN105517476A (zh) * | 2014-09-03 | 2016-04-20 | 深圳市大疆创新科技有限公司 | Uav及其清洁墙体的方法、采用该uav的墙体清洁系统 |
CN104834309A (zh) * | 2015-04-10 | 2015-08-12 | 浙江工业大学 | 基于目标跟踪控制策略的单移动机器人最优巡回控制方法 |
CN104950883A (zh) * | 2015-05-14 | 2015-09-30 | 西安电子科技大学 | 一种基于距离网格地图的移动机器人路径规划方法 |
Non-Patent Citations (4)
Title |
---|
CHIA-HSIEN LOUIS CHEN,MIN-FAN RICKY LEE: "Global path planning in mobile robot using omnidirectional camera", 《2011 INTERNATIONAL CONFERENCE ON CONSUMER ELECTRONICS, COMMUNICATIONS AND NETWORKS (CECNET)》 * |
GRAZIANO CHESI,Y. S. HUNG: "Global Path-Planning for Constrained and Optimal Visual Servoing", 《IEEE TRANSACTIONS ON ROBOTICS》 * |
简毅,张月: "移动机器人全局覆盖路径规划算法研究进展与展望", 《计算机应用》 * |
赵慧南,刘淑华,吴富章,程宇: "基于二分搜索的牛耕式全覆盖规划算法研究", 《计算机工程与应用》 * |
Cited By (42)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108508913A (zh) * | 2018-03-29 | 2018-09-07 | 中国海洋大学 | 基于数据驱动的自主式水下航行器海底路径规划方法 |
CN108508913B (zh) * | 2018-03-29 | 2021-03-02 | 中国海洋大学 | 基于数据驱动的自主式水下航行器海底路径规划方法 |
CN108592923A (zh) * | 2018-06-05 | 2018-09-28 | 北京智行者科技有限公司 | 一种作业路径规划方法 |
CN109048895A (zh) * | 2018-08-07 | 2018-12-21 | 北京云迹科技有限公司 | 一种巡游方法和巡游机器人 |
CN109048895B (zh) * | 2018-08-07 | 2021-12-21 | 北京云迹科技有限公司 | 一种巡游方法和巡游机器人 |
CN109528090A (zh) * | 2018-11-24 | 2019-03-29 | 珠海市微半导体有限公司 | 一种机器人的区域遍历方法和芯片以及清洁机器人 |
CN112306050A (zh) * | 2019-07-15 | 2021-02-02 | 苏州宝时得电动工具有限公司 | 自主机器人及其行走路径规划方法、装置和存储介质 |
CN112306050B (zh) * | 2019-07-15 | 2024-02-23 | 苏州宝时得电动工具有限公司 | 自主机器人及其行走路径规划方法、装置和存储介质 |
CN112276933A (zh) * | 2019-07-24 | 2021-01-29 | 广东宝乐机器人股份有限公司 | 移动机器人的控制方法和移动机器人 |
CN112445212A (zh) * | 2019-08-16 | 2021-03-05 | 苏州科瓴精密机械科技有限公司 | 路径规划方法、系统,机器人及可读存储介质 |
WO2021031441A1 (zh) * | 2019-08-16 | 2021-02-25 | 苏州科瓴精密机械科技有限公司 | 路径规划方法、系统,机器人及可读存储介质 |
CN110663345B (zh) * | 2019-10-24 | 2022-04-29 | 深圳拓邦股份有限公司 | 割草机器人割草控制方法、系统及装置 |
CN110663345A (zh) * | 2019-10-24 | 2020-01-10 | 深圳拓邦股份有限公司 | 割草机器人割草控制方法、系统及装置 |
CN110815226B (zh) * | 2019-11-15 | 2022-03-01 | 四川长虹电器股份有限公司 | 一种机器人任意姿态任意位置下回初始位置的方法 |
CN110815226A (zh) * | 2019-11-15 | 2020-02-21 | 四川长虹电器股份有限公司 | 一种机器人任意姿态任意位置下回初始位置的方法 |
CN111323037A (zh) * | 2020-02-28 | 2020-06-23 | 武汉科技大学 | 一种移动机器人新型骨架提取的Voronoi路径规划算法 |
CN113390412A (zh) * | 2020-03-11 | 2021-09-14 | 宁波方太厨具有限公司 | 机器人的全覆盖路径规划方法、系统、电子设备及介质 |
CN113552866A (zh) * | 2020-04-17 | 2021-10-26 | 苏州科瓴精密机械科技有限公司 | 提升遍历均衡性能的方法、系统,机器人及可读存储介质 |
WO2021238000A1 (zh) * | 2020-05-29 | 2021-12-02 | 苏州科瓴精密机械科技有限公司 | 机器人沿边工作方法、系统,机器人及可读存储介质 |
CN113807118B (zh) * | 2020-05-29 | 2024-03-08 | 苏州科瓴精密机械科技有限公司 | 机器人沿边工作方法、系统,机器人及可读存储介质 |
CN113807118A (zh) * | 2020-05-29 | 2021-12-17 | 苏州科瓴精密机械科技有限公司 | 机器人沿边工作方法、系统,机器人及可读存储介质 |
CN112237403A (zh) * | 2020-09-07 | 2021-01-19 | 安克创新科技股份有限公司 | 用于清扫设备的覆盖路径生成方法和清扫设备 |
CN112237403B (zh) * | 2020-09-07 | 2022-01-14 | 安克创新科技股份有限公司 | 用于清扫设备的覆盖路径生成方法和清扫设备 |
CN114543802A (zh) * | 2020-11-24 | 2022-05-27 | 追创科技(苏州)有限公司 | 可通行区域的探索方法、装置、存储介质及电子装置 |
CN114543802B (zh) * | 2020-11-24 | 2023-08-15 | 追觅创新科技(苏州)有限公司 | 可通行区域的探索方法、装置、存储介质及电子装置 |
WO2022110853A1 (zh) * | 2020-11-24 | 2022-06-02 | 追觅创新科技(苏州)有限公司 | 可通行区域的探索方法、装置、存储介质及电子装置 |
CN112486182A (zh) * | 2020-12-08 | 2021-03-12 | 南通大学 | 一种实现未知环境地图构建与路径规划的扫地机器人及其使用方法 |
CN112486182B (zh) * | 2020-12-08 | 2022-12-02 | 南通大学 | 一种实现未知环境地图构建与路径规划的扫地机器人及其使用方法 |
CN112692875A (zh) * | 2021-01-06 | 2021-04-23 | 华南理工大学 | 一种焊接机器人运行与维护的数字孪生系统 |
CN112692875B (zh) * | 2021-01-06 | 2021-08-10 | 华南理工大学 | 一种焊接机器人运行与维护的数字孪生系统 |
CN113124876A (zh) * | 2021-04-20 | 2021-07-16 | 国家海洋技术中心 | 无人船在地形复杂海域遍历监测中路径优化方法及系统 |
CN113124876B (zh) * | 2021-04-20 | 2022-04-15 | 国家海洋技术中心 | 无人船在地形复杂海域遍历监测中路径优化方法及系统 |
CN113359699A (zh) * | 2021-05-08 | 2021-09-07 | 五邑大学 | 全覆盖路径规划方法、装置及存储介质 |
CN113359699B (zh) * | 2021-05-08 | 2024-01-12 | 五邑大学 | 全覆盖路径规划方法、装置及存储介质 |
CN113749562B (zh) * | 2021-08-13 | 2022-08-16 | 珠海格力电器股份有限公司 | 扫地机器人及其控制方法、装置、设备和存储介质 |
CN113749562A (zh) * | 2021-08-13 | 2021-12-07 | 珠海格力电器股份有限公司 | 扫地机器人及其控制方法、装置、设备和存储介质 |
CN113848892B (zh) * | 2021-09-10 | 2024-01-16 | 广东盈峰智能环卫科技有限公司 | 一种机器人清扫区域划分方法、路径规划方法及装置 |
CN113848892A (zh) * | 2021-09-10 | 2021-12-28 | 广东盈峰智能环卫科技有限公司 | 一种机器人清扫区域划分方法、路径规划方法及装置 |
CN114397889A (zh) * | 2021-12-22 | 2022-04-26 | 深圳市银星智能科技股份有限公司 | 基于单元分解的全覆盖路径规划方法及相关设备 |
CN114397889B (zh) * | 2021-12-22 | 2024-03-26 | 深圳银星智能集团股份有限公司 | 基于单元分解的全覆盖路径规划方法及相关设备 |
CN117575123A (zh) * | 2024-01-15 | 2024-02-20 | 成都电科星拓科技有限公司 | 播种路径规划方法、装置、电子设备和可读存储介质 |
CN117575123B (zh) * | 2024-01-15 | 2024-03-29 | 成都电科星拓科技有限公司 | 播种路径规划方法、装置、电子设备和可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN107505939B (zh) | 2019-07-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107505939A (zh) | 一种移动机器人的全覆盖路径规划方法 | |
Li et al. | Openstreetmap-based autonomous navigation for the four wheel-legged robot via 3d-lidar and ccd camera | |
Pire et al. | Stereo parallel tracking and mapping for robot localization | |
Lategahn et al. | Visual SLAM for autonomous ground vehicles | |
Strasdat et al. | Double window optimisation for constant time visual SLAM | |
Brand et al. | Stereo-vision based obstacle mapping for indoor/outdoor SLAM | |
CN106840148A (zh) | 室外作业环境下基于双目摄像机的可穿戴式定位与路径引导方法 | |
Matsushita et al. | On-line road boundary modeling with multiple sensory features, flexible road model, and particle filter | |
CN101894378B (zh) | 基于双感兴趣区域的运动目标视觉跟踪方法及系统 | |
CN114782626B (zh) | 基于激光与视觉融合的变电站场景建图及定位优化方法 | |
Masi et al. | Augmented perception with cooperative roadside vision systems for autonomous driving in complex scenarios | |
Holz et al. | Continuous 3D sensing for navigation and SLAM in cluttered and dynamic environments | |
CN111258311A (zh) | 一种基于智能视觉的井下移动机器人避障方法 | |
Chen et al. | High-precision positioning, perception and safe navigation for automated heavy-duty mining trucks | |
Real-Moreno et al. | Obtaining object information from stereo vision system for autonomous vehicles | |
Iqbal et al. | A unified SLAM solution using partial 3D structure | |
Ferreira et al. | A real-time mosaicking algorithm using binary features for ROVs | |
Kim | Realtime road detection by learning from one example | |
Milford et al. | Feature-based visual odometry and featureless place recognition for SLAM in 2.5 D environments | |
Sujiwo et al. | Robust and accurate monocular vision-based localization in outdoor environments of real-world robot challenge | |
Komatsuzaki et al. | Generation of datasets for semantic segmentation from 3D scanned data to train a classifier for visual navigation | |
Xu et al. | DOS-SLAM: A real-time dynamic object segmentation visual SLAM system | |
Zhang et al. | Agv state monitoring based on global and first-person view fusion in digital workshops | |
Zhao et al. | Dmvo: A multi-motion visual odometry for dynamic environments | |
Liu | Localization and navigation system for indoor mobile robot |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |