CN113390412B - 机器人的全覆盖路径规划方法、系统、电子设备及介质 - Google Patents
机器人的全覆盖路径规划方法、系统、电子设备及介质 Download PDFInfo
- Publication number
- CN113390412B CN113390412B CN202010167520.7A CN202010167520A CN113390412B CN 113390412 B CN113390412 B CN 113390412B CN 202010167520 A CN202010167520 A CN 202010167520A CN 113390412 B CN113390412 B CN 113390412B
- Authority
- CN
- China
- Prior art keywords
- robot
- grid
- free
- grids
- path
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 28
- 238000004088 simulation Methods 0.000 claims description 19
- 238000004590 computer program Methods 0.000 claims description 10
- 230000002035 prolonged effect Effects 0.000 abstract description 4
- 238000010586 diagram Methods 0.000 description 7
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 230000004888 barrier function Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C21/00—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
- G01C21/20—Instruments for performing navigational calculations
Landscapes
- Engineering & Computer Science (AREA)
- Radar, Positioning & Navigation (AREA)
- Remote Sensing (AREA)
- Automation & Control Theory (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)
Abstract
本发明公开了一种机器人的全覆盖路径规划方法、系统、电子设备及介质。其中,对于全覆盖路径规划中所遇到的已覆盖栅格,也即,机器人曾经到达过的栅格,并未选择一律避让,而是通过模拟机器人在路径重复率最低但较多转向次数的第一路径以及路径重复但较少转向次数的第二路径,再通过比较两种路径所对应的机器人的功耗,来确定是否避让该已覆盖栅格,从而能够降低对机器人转向性能的高要求,并且能够以较少的功耗实现全覆盖路径规划,提高机器人的使用时间。
Description
技术领域
本发明涉及机器人技术领域,尤其涉及一种机器人的全覆盖路径规划方法、系统、电子设备及介质。
背景技术
当前,全覆盖路径规划通常要求机器人能够遍历工作区域内除障碍物以外的全部区域,并且在遍历过程中能够有效避开所有障碍物以及能尽量避免路径重复。其中,对于较低路径重复率的追求,甚至,对于路径不重复的追求,提高了对机器人转向性能的要求,而机器人较多次数的转向容易导致功耗的增加。
发明内容
本发明要解决的技术问题是为了克服现有技术中全覆盖路径规划过分追求低路径重复率而提高了对机器人转向性能要求的缺陷,提供一种机器人的全覆盖路径规划方法、系统、电子设备及介质。
本发明是通过下述技术方案来解决上述技术问题:
一种机器人的全覆盖路径规划方法,包括:
根据目标覆盖区域创建栅格地图,所述栅格地图包括若干栅格,其中,每一栅格根据所述机器人能否到达被标记为自由栅格或者障碍栅格;
判断在所述机器人的当前朝向上距离所述机器人最近的栅格是否为所述机器人到达过的自由栅格;
若是,则模拟所述机器人从所在自由栅格以最低重复率移动经过剩余所有所述机器人未曾到达的自由栅格以得到第一路径,模拟所述机器人从所在自由栅格为起点模拟先沿着当前朝向继续移动直至在所述机器人的当前朝向上距离所述机器人最近的栅格为障碍栅格,之后以最低重复率移动经过剩余所有所述机器人未曾到达的自由栅格以得到第二路径,再比较所述第一路径和所述第二路径对应所述机器人的功耗大小;
若所述第一路径对应的功耗较小,则控制所述机器人从所在自由栅格移动到其他自由栅格;
若所述第二路径对应的功耗较小,则先控制所述机器人沿着当前朝向继续移动直至在所述机器人的当前朝向上距离所述机器人最近的栅格为障碍栅格,再执行所述控制所述机器人从所在自由栅格移动到其他自由栅格的步骤。
较佳地,所述再比较所述第一路径和所述第二路径对应所述机器人的功耗大小的步骤包括:
分别统计所述第一路径和所述第二路径对应的自由栅格的栅格个数以及所述机器人的转向次数。
较佳地,在所述判断在所述机器人的当前朝向上距离所述机器人最近的栅格是否为所述机器人到达过的自由栅格的步骤之前还包括:
按照赋值规则对所述若干自由栅格进行赋值;
判断在所述机器人的当前朝向上距离所述机器人最近的栅格是否为障碍栅格;
若为障碍栅格,则执行所述控制所述机器人从所在自由栅格移动到其他自由栅格的步骤;
若不为障碍栅格,则执行所述判断在所述机器人的当前朝向上距离所述机器人最近的栅格是否为所述机器人到达过的自由栅格的步骤;
判断所述栅格地图中是否存在所述机器人未曾到达的自由栅格;
若存在,则执行所述判断在所述机器人的当前朝向上距离所述机器人最近的栅格是否为障碍栅格的步骤;
其中,所述控制所述机器人从所在自由栅格移动到其他自由栅格的步骤包括:
确定与所述机器人所在自由栅格相邻的自由栅格中赋值最小且所述机器人未曾到达的栅格为目标栅格;
控制所述机器人移动至所述目标栅格。
较佳地,所述赋值规则包括:
列数相同的自由栅格的赋值相同,并且,列数越大的自由栅格的赋值越大或越小;
或者,
行数相同的自由栅格的赋值相同,并且,行数越大的自由栅格的赋值越大或越小。
一种机器人的全覆盖路径规划系统,包括:
创建模块,用于根据目标覆盖区域创建栅格地图,所述栅格地图包括若干栅格,其中,每一栅格根据所述机器人能否到达被标记为自由栅格或者障碍栅格;
第一判断模块,用于判断在所述机器人的当前朝向上距离所述机器人最近的栅格是否为所述机器人到达过的自由栅格;
若是,则先调用第一模拟模块和第二模拟模块,再调用比较模块,其中,所述第一模拟模块用于模拟所述机器人从所在自由栅格以最低重复率移动经过剩余所有所述机器人未曾到达的自由栅格以得到第一路径,所述第二模拟模块用于模拟所述机器人从所在自由栅格先沿着当前朝向继续移动直至在所述机器人的当前朝向上距离所述机器人最近的栅格为障碍栅格,之后以最低重复率移动经过剩余所有所述机器人未曾到达的自由栅格以得到第二路径,所述比较模块用于比较所述第一路径和所述第二路径对应所述机器人的功耗大小;
若所述第一路径对应的功耗较小,则调用第一控制模块,所述第一控制模块用于控制所述机器人从所在自由栅格移动到其他自由栅格;
若所述第二路径对应的功耗较小,则先调用第二控制模块,再调用所述第一控制模块,其中,所述第二控制模块用于控制所述机器人沿着当前朝向继续移动直至在所述机器人的当前朝向上距离所述机器人最近的栅格为障碍栅格。
较佳地,所述比较模块包括:
第一统计单元,用于统计所述第一路径对应的自由栅格的栅格个数以及所述机器人的转向次数;
第二统计单元,用于统计所述第二路径对应的自由栅格的栅格个数以及所述机器人的转向次数。
较佳地,所述全覆盖路径规划系统还包括:
赋值模块,用于按照赋值规则对所述若干自由栅格进行赋值;
第二判断模块,用于判断在所述机器人的当前朝向上距离所述机器人最近的栅格是否为障碍栅格;
若为障碍栅格,则调用所述第一控制模块;
若不为障碍栅格,则调用所述第一判断模块;
第三判断模块,判断所述栅格地图中是否存在所述机器人未曾到达的自由栅格;
若存在,则调用所述第二判断模块;
其中,所述第一控制模块包括:
确定单元,用于确定与所述机器人所在自由栅格相邻的自由栅格中赋值最小且所述机器人未曾到达的栅格为目标栅格;
移动单元,用于控制所述机器人移动至所述目标栅格。
较佳地,所述赋值规则包括:
列数相同的自由栅格的赋值相同,并且,列数越大的自由栅格的赋值越大或越小;
或者,
行数相同的自由栅格的赋值相同,并且,行数越大的自由栅格的赋值越大或越小。
一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述任一种机器人的全覆盖路径规划方法。
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任一种机器人的全覆盖路径规划方法的步骤。
一种机器人,包括上述任一种机器人的全覆盖路径规划系统。
本发明的积极进步效果在于:本发明对于全覆盖路径规划中所遇到的已覆盖栅格,也即,机器人曾经到达过的栅格,并未选择一律避让,而是通过模拟机器人在路径重复率最低但较多转向次数的第一路径以及路径重复但较少转向次数的第二路径,再通过比较两种路径所对应的机器人的功耗,来确定是否避让该已覆盖栅格,从而能够降低对机器人转向性能的高要求,并且能够以较少的功耗实现全覆盖路径规划,提高机器人的使用时间。
附图说明
图1为根据本发明实施例1的机器人的全覆盖路径规划方法的流程图。
图2为根据本发明实施例1的机器人的全覆盖路径规划方法中栅格地图赋值的示意图。
图3为根据本发明实施例1的机器人的全覆盖路径规划方法中步骤S104的流程图。
图4为根据本发明实施例1的机器人的全覆盖路径规划方法中目标栅格的示意图。
图5为根据本发明实施例1的机器人的全覆盖路径规划方法中第一路径的示意图。
图6为根据本发明实施例1的机器人的全覆盖路径规划方法中第二路径的示意图。
图7为根据本发明实施例2的机器人的全覆盖路径规划系统的模块示意图。
图8为根据本发明实施例3的电子设备的结构示意图。
具体实施方式
下面通过实施例的方式进一步说明本发明,但并不因此将本发明限制在所述的实施例范围之中。
实施例1
本实施例提供一种机器人的全覆盖路径规划方法,参照图1,本实施例的全覆盖路径规划方法包括:
S101、根据目标覆盖区域创建栅格地图。
在本实施例中,机器人首先可以通过但不限于激光雷达、深度相机、双目相机等来获取所在区域的环境信息,在此基础上选定机器人所在区域中作为全覆盖路径规划对象的目标覆盖区域,并根据目标覆盖区域来创建栅格地图,其中,栅格地图包括若干栅格,并且每一栅格根据机器人能否到达被标记为自由栅格或者障碍栅格。具体地,机器人能达到的栅格可以被标记为自由栅格,机器人不能到达的栅格可以被标记为障碍栅格,其中,障碍栅格例如可以包括障碍物栅格、目标覆盖区域边界栅格等。
S102、按照赋值规则对若干自由栅格进行赋值。
在本实施例中,可以对栅格地图中的自由栅格进行赋值。例如,在图2中,有a表示自由栅格,b表示障碍栅格,并且,位于左起第一列的自由栅格赋值为a*1,左起第二列的自由栅格赋值为a*2,……,左起第六列的自由栅格赋值为a*6。
在本实施例中,自由栅格的赋值规则可以根据实际应用自定设置,例如,可以是图2中所示出的,列数相同的自由栅格的赋值相同并且列数越大的自由栅格的赋值越大,也可以是列数相同的自由栅格的赋值相同并且列数越大的自由栅格的赋值越小,也可以是行数相同的自由栅格的赋值相同并且行数越大的自由栅格的赋值越大,也可以是行数相同的自由栅格的赋值相同并且行数越大的自由栅格的赋值越小。
S103、判断在机器人的当前朝向上距离机器人最近的栅格是否为障碍栅格;
若是,则执行步骤S104;若否,则执行步骤S105;
S104、控制机器人从所在自由栅格移动到其他自由栅格;
S105、判断在机器人的当前朝向上距离机器人最近的栅格是否为机器人到达过的自由栅格。
在本实施例中,位于栅格地图中起点位置处的机器人,可以首先判断其当前朝向上距离其最近的栅格是否是障碍栅格,若判断为是,则可以执行步骤S104进行避障,若判断为否,则可以执行步骤S105来进一步判断其当前朝向上距离其最近的栅格是否为机器人曾经到达过的栅格,也即,已覆盖栅格。
参照图3,步骤S104具体包括:
S1041、确定与机器人所在自由栅格相邻的自由栅格中赋值最小且机器人未曾到达的栅格为目标栅格;
S1042、控制机器人移动至目标栅格。
在图4中,机器人所在自由栅格被标记为R0,机器人到达过的栅格被标记为c。进一步地,在本实施例中,相邻的具体含义可以根据实际应用自定义设置,例如,与自由栅格R0相邻的栅格可以被定义为位于自由栅格R0上下左右四个方向上的第一个栅格,也可以被定义为还包括左上、左下、右上、右下四个方向的第一个栅格。参照图4,在上述两种定义中,均有与机器人所在自由栅格R0相邻的自由栅格R1,其赋值最小,为a*2,并且机器人未曾到达自由栅格R1,从而可以确定自由栅格R1为目标栅格,进而控制机器人从自由栅格R0移动至自由栅格R1。
参照图1,当步骤S105判断为是时执行步骤S106-S108,当步骤S105判断为否时执行步骤S104,其中:
S106、模拟机器人从所在自由栅格以最低重复率移动经过剩余所有机器人未曾到达的自由栅格以得到第一路径;
S107、模拟机器人从所在自由栅格为起点模拟先沿着当前朝向继续移动直至在机器人的当前朝向上距离机器人最近的栅格为障碍栅格,之后以最低重复率移动经过剩余所有机器人未曾到达的自由栅格以得到第二路径;
S108、比较第一路径和第二路径对应机器人的功耗大小;
若第一路径对应的功耗较小,则执行步骤S104;若第二路径对应的功耗较小,则先执行步骤S109,再执行步骤S104;
S109、控制机器人沿着当前朝向继续移动直至在机器人的当前朝向上距离机器人最近的栅格为障碍栅格。
具体地,参照图5和图6,对于机器人所在自由栅格R0,有在机器人的当前朝向上距离自由栅格R0最近的栅格R’是机器人到达过的自由栅格。根据步骤S106模拟得到的第一路径L1如图5所示,其中,第一路径L1以自由栅格R0为起点,以R1E为终点。根据步骤S107模拟得到的第二路径L2如图6所示,其中,第二路径L2以自由栅格R0为起点,以R2E为终点,具体地,机器人从自由栅格R0沿着当前朝向继续移动至自由栅格RM后,在当前朝向上距离机器人最近的栅格为障碍栅格,之后以最低重复率移动经过剩余所有机器人未曾到达的自由栅格。
在本实施例中,机器人的功耗可以区分为机器人移动经过一个自由栅格所需的单位移动功耗WU以及机器人转向90°所需的单位转向功耗WV。具体地,步骤S108可以包括统计第一路径L1对应的自由栅格的栅格个数NL1以及机器人的转向次数ML1的步骤,从而可以有第一路径L1对应机器人功耗WL1=NL1*WU+ML1*WV。步骤S108还可以包括统计第二路径L2对应的自由栅格的栅格个数NL2以及机器人的转向次数ML2的步骤,从而可以有第二路径L2对应机器人功耗WL2=NL2*WU+ML2*WV。
其中,若第一路径对应的功耗较小,则可以基于步骤S104来控制机器人的移动,也即,控制机器人转向来避让机器人到过的自由栅格;若第二路径对应的功耗较小,则先控制机器人沿着当前朝向继续移动直至在当前朝向上遇到障碍栅格,也即,控制机器人重复移动经过到过的自由栅格以避免造成后续的多个转向,之后再基于步骤S104来控制机器人的移动。具体地,在本实施例中,由于不同机器人其单位移动功耗与单位转向功耗不尽相同,从而能够结合具体机器人的性能参数来个性化地为其规划路径。
在本实施例步骤S104之后还可以执行判断栅格地图中是否存在机器人未曾到达的自由栅格的步骤,并可以在判断为是时执行步骤S103。
在本实施例中,机器人每次移动之后对栅格地图中是否存在未曾到达的自由栅格进行判断,以判断是否实现目标覆盖区域内除障碍栅格之外所有栅格的全覆盖,并且在未完成全覆盖的情况下继续控制机器人的移动。
在本实施例中,对于全覆盖路径规划中所遇到的已覆盖栅格,也即,机器人曾经到达过的栅格,并未选择一律避让,而是通过模拟机器人在路径重复率最低但较多转向次数的第一路径以及路径重复但较少转向次数的第二路径,再通过比较两种路径所对应的机器人的功耗,来确定是否避让该已覆盖栅格,从而能够降低对机器人转向性能的高要求,并且能够以较少的功耗实现全覆盖路径规划,提高机器人的使用时间。
实施例2
本实施例提供一种机器人的全覆盖路径规划系统,参照图7,本实施例的全覆盖路径规划系统包括:
创建模块201,用于根据目标覆盖区域创建栅格地图。
在本实施例中,机器人首先可以通过但不限于激光雷达、深度相机、双目相机等来获取所在区域的环境信息,在此基础上选定机器人所在区域中作为全覆盖路径规划对象的目标覆盖区域,并根据目标覆盖区域来创建栅格地图,其中,栅格地图包括若干栅格,并且每一栅格根据机器人能否到达被标记为自由栅格或者障碍栅格。具体地,机器人能达到的栅格可以被标记为自由栅格,机器人不能到达的栅格可以被标记为障碍栅格,其中,障碍栅格例如可以包括障碍物栅格、目标覆盖区域边界栅格等。
赋值模块202,用于按照赋值规则对若干自由栅格进行赋值。
在本实施例中,可以对栅格地图中的自由栅格进行赋值。亦如,在图2中,有a表示自由栅格,b表示障碍栅格,并且,位于左起第一列的自由栅格赋值为a*1,左起第二列的自由栅格赋值为a*2,……,左起第六列的自由栅格赋值为a*6。
在本实施例中,自由栅格的赋值规则可以根据实际应用自定设置,例如,可以是图2中所示出的,列数相同的自由栅格的赋值相同并且列数越大的自由栅格的赋值越大,也可以是列数相同的自由栅格的赋值相同并且列数越大的自由栅格的赋值越小,也可以是行数相同的自由栅格的赋值相同并且行数越大的自由栅格的赋值越大,也可以是行数相同的自由栅格的赋值相同并且行数越大的自由栅格的赋值越小。
第二判断模块203,用于判断在机器人的当前朝向上距离机器人最近的栅格是否为障碍栅格;
若是,则调用第一控制模块204;若否,则调用第一判断模块205;
第一控制模块204,用于控制机器人从所在自由栅格移动到其他自由栅格;
第一判断模块205,用于判断在机器人的当前朝向上距离机器人最近的栅格是否为机器人到达过的自由栅格。
在本实施例中,位于栅格地图中起点位置处的机器人,可以首先判断其当前朝向上距离其最近的栅格是否是障碍栅格,若判断为是,则可以调用第一控制模块204进行避障,若判断为否,则可以调用第一判断模块205来进一步判断其当前朝向上距离其最近的栅格是否为机器人曾经到达过的栅格,也即,已覆盖栅格。
参照图7,第一控制模块204具体包括:
确定单元2041,用于确定与机器人所在自由栅格相邻的自由栅格中赋值最小且机器人未曾到达的栅格为目标栅格;
移动单元2042,用于控制机器人移动至目标栅格。
亦如在图4中,机器人所在自由栅格被标记为R0,机器人到达过的栅格被标记为c。进一步地,在本实施例中,相邻的具体含义可以根据实际应用自定义设置,例如,与自由栅格R0相邻的栅格可以被定义为位于自由栅格R0上下左右四个方向上的第一个栅格,也可以被定义为还包括左上、左下、右上、右下四个方向的第一个栅格。参照图4,在上述两种定义中,均有与机器人所在自由栅格R0相邻的自由栅格R1,其赋值最小,为a*2,并且机器人未曾到达自由栅格R1,从而可以确定自由栅格R1为目标栅格,进而控制机器人从自由栅格R0移动至自由栅格R1。
在本实施例中,当第一判断模块205判断为是时,先调用第一模拟模块206和第二模拟模块207,再调用比较模块208;当第一判断模块205判断为否时,则调用第一控制模块204。
具体地,在本实施例中,第一模拟模块206用于模拟机器人从所在自由栅格以最低重复率移动经过剩余所有机器人未曾到达的自由栅格以得到第一路径,第二模拟模块207用于模拟机器人从所在自由栅格为起点模拟先沿着当前朝向继续移动直至在机器人的当前朝向上距离机器人最近的栅格为障碍栅格,之后以最低重复率移动经过剩余所有机器人未曾到达的自由栅格以得到第二路径。
比较模块208用于比较第一路径和第二路径对应机器人的功耗大小,若第一路径对应的功耗较小,则调用第一控制模块204;若第二路径对应的功耗较小,则先调用第二控制模块209,再调用第一控制204。其中,第二控制模块209用于控制机器人沿着当前朝向继续移动直至在机器人的当前朝向上距离机器人最近的栅格为障碍栅格。
具体地,亦参照图5和图6,对于机器人所在自由栅格R0,有在机器人的当前朝向上距离自由栅格R0最近的栅格R’是机器人到达过的自由栅格。根据第一模拟模块206模拟得到的第一路径L1如图5所示,其中,第一路径L1以自由栅格R0为起点,以R1E为终点。根据第二模拟模块207得到的第二路径L2如图6所示,其中,第二路径L2以自由栅格R0为起点,以R2E为终点,具体地,机器人从自由栅格R0沿着当前朝向继续移动至自由栅格RM后,在当前朝向上距离机器人最近的栅格为障碍栅格,之后以最低重复率移动经过剩余所有机器人未曾到达的自由栅格。
在本实施例中,机器人的功耗可以区分为机器人移动经过一个自由栅格所需的单位移动功耗WU以及机器人转向90°所需的单位转向功耗WV。具体地,比较模块208可以包括用于统计第一路径L1对应的自由栅格的栅格个数NL1以及机器人的转向次数ML1的第一统计单元,从而可以有第一路径L1对应机器人功耗WL1=NL1*WU+ML1*WV。比较模块208还可以包括统计第二路径L2对应的自由栅格的栅格个数NL2以及机器人的转向次数ML2的第二统计单元,从而可以有第二路径L2对应机器人功耗WL2=NL2*WU+ML2*WV。
其中,若第一路径对应的功耗较小,则可以基于第一控制模块204来控制机器人的移动,也即,控制机器人转向来避让机器人到过的自由栅格;若第二路径对应的功耗较小,则先控制机器人沿着当前朝向继续移动直至在当前朝向上遇到障碍栅格,也即,控制机器人重复移动经过到过的自由栅格以避免造成后续的多个转向,之后再基于第一控制模块204来控制机器人的移动。具体地,在本实施例中,由于不同机器人其单位移动功耗与单位转向功耗不尽相同,从而能够结合具体机器人的性能参数来个性化地为其规划路径。
参见图7,本实施例中的全覆盖路径规划系统还包括用于判断栅格地图中是否存在机器人未曾到达的自由栅格的第三判断模块210,若第三判断模块210判断为是,则调用第一判断模块203。
在本实施例中,机器人每次移动之后对栅格地图中是否存在未曾到达的自由栅格进行判断,以判断是否实现目标覆盖区域内除障碍栅格之外所有栅格的全覆盖,并且在未完成全覆盖的情况下继续控制机器人的移动。
在本实施例中,对于全覆盖路径规划中所遇到的已覆盖栅格,也即,机器人曾经到达过的栅格,并未选择一律避让,而是通过模拟机器人在路径重复率最低但较多转向次数的第一路径以及路径重复但较少转向次数的第二路径,再通过比较两种路径所对应的机器人的功耗,来确定是否避让该已覆盖栅格,从而能够降低对机器人转向性能的高要求,并且能够以较少的功耗实现全覆盖路径规划,提高机器人的使用时间。
实施例3
本实施例提供一种电子设备,电子设备可以通过计算设备的形式表现(例如可以为服务器设备),包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其中处理器执行计算机程序时可以实现实施例1提供的机器人的全覆盖路径规划方法。
图8示出了本实施例的硬件结构示意图,如图8所示,电子设备9具体包括:
至少一个处理器91、至少一个存储器92以及用于连接不同系统组件(包括处理器91和存储器92)的总线93,其中:
总线93包括数据总线、地址总线和控制总线。
存储器92包括易失性存储器,例如随机存取存储器(RAM)921和/或高速缓存存储器922,还可以进一步包括只读存储器(ROM)923。
存储器92还包括具有一组(至少一个)程序模块924的程序/实用工具925,这样的程序模块924包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。
处理器91通过运行存储在存储器92中的计算机程序,从而执行各种功能应用以及数据处理,例如本发明实施例1所提供的机器人的全覆盖路径规划方法。
电子设备9进一步可以与一个或多个外部设备94(例如键盘、指向设备等)通信。这种通信可以通过输入/输出(I/O)接口95进行。并且,电子设备9还可以通过网络适配器96与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。网络适配器96通过总线93与电子设备9的其它模块通信。应当明白,尽管图中未示出,可以结合电子设备9使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理器、外部磁盘驱动阵列、RAID(磁盘阵列)系统、磁带驱动器以及数据备份存储系统等。
应当注意,尽管在上文详细描述中提及了电子设备的若干单元/模块或子单元/模块,但是这种划分仅仅是示例性的并非强制性的。实际上,根据本申请的实施方式,上文描述的两个或更多单元/模块的特征和功能可以在一个单元/模块中具体化。反之,上文描述的一个单元/模块的特征和功能可以进一步划分为由多个单元/模块来具体化。
实施例4
本实施例提供了一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时实现实施例1所提供的机器人的全覆盖路径规划方法的步骤。
其中,可读存储介质可以采用的更具体可以包括但不限于:便携式盘、硬盘、随机存取存储器、只读存储器、可擦拭可编程只读存储器、光存储器件、磁存储器件或上述的任意合适的组合。
在可能的实施方式中,本发明还可以实现为一种程序产品的形式,其包括程序代码,当所述程序产品在终端设备上运行时,所述程序代码用于使所述终端设备执行实现实施例1所述的机器人的全覆盖路径规划方法的步骤。
其中,可以以一种或多种程序设计语言的任意组合来编写用于执行本发明的程序代码,所述程序代码可以完全地在用户设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户设备上部分在远程设备上执行或完全在远程设备上执行。
实施例5
本实施例提供一种机器人,其中,该机器人包括实施例2提供的机器人的全覆盖路径规划系统。在本实施例中,机器人对于全覆盖路径规划中所遇到的已覆盖栅格,也即,机器人曾经到达过的栅格,并未选择一律避让,而是通过模拟机器人在路径重复率最低但较多转向次数的第一路径以及路径重复但较少转向次数的第二路径,再通过比较两种路径所对应的机器人的功耗,来确定是否避让该已覆盖栅格,从而能够降低对机器人转向性能的高要求,并且能够以较少的功耗实现全覆盖路径规划,提高机器人的使用时间。
虽然以上描述了本发明的具体实施方式,但是本领域的技术人员应当理解,这仅是举例说明,本发明的保护范围是由所附权利要求书限定的。本领域的技术人员在不背离本发明的原理和实质的前提下,可以对这些实施方式做出多种变更或修改,但这些变更和修改均落入本发明的保护范围。
Claims (11)
1.一种机器人的全覆盖路径规划方法,其特征在于,包括:
根据目标覆盖区域创建栅格地图,所述栅格地图包括若干栅格,其中,每一栅格根据所述机器人能否到达被标记为自由栅格或者障碍栅格;
判断在所述机器人的当前朝向上距离所述机器人最近的栅格是否为所述机器人到达过的自由栅格;
若是,则模拟所述机器人从所在自由栅格以最低重复率移动经过剩余所有所述机器人未曾到达的自由栅格以得到第一路径,模拟所述机器人从所在自由栅格为起点模拟先沿着当前朝向继续移动直至在所述机器人的当前朝向上距离所述机器人最近的栅格为障碍栅格,之后以最低重复率移动经过剩余所有所述机器人未曾到达的自由栅格以得到第二路径,再比较所述第一路径和所述第二路径对应所述机器人的功耗大小;
若所述第一路径对应的功耗较小,则控制所述机器人从所在自由栅格移动到其他自由栅格;
若所述第二路径对应的功耗较小,则先控制所述机器人沿着当前朝向继续移动直至在所述机器人的当前朝向上距离所述机器人最近的栅格为障碍栅格,再执行所述控制所述机器人从所在自由栅格移动到其他自由栅格的步骤。
2.如权利要求1所述的机器人的全覆盖路径规划方法,其特征在于,所述再比较所述第一路径和所述第二路径对应所述机器人的功耗大小的步骤包括:
分别统计所述第一路径和所述第二路径对应的自由栅格的栅格个数以及所述机器人的转向次数。
3.如权利要求1所述的机器人的全覆盖路径规划方法,其特征在于,在所述判断在所述机器人的当前朝向上距离所述机器人最近的栅格是否为所述机器人到达过的自由栅格的步骤之前还包括:
按照赋值规则对所述若干自由栅格进行赋值;
判断在所述机器人的当前朝向上距离所述机器人最近的栅格是否为障碍栅格;
若为障碍栅格,则执行所述控制所述机器人从所在自由栅格移动到其他自由栅格的步骤;
若不为障碍栅格,则执行所述判断在所述机器人的当前朝向上距离所述机器人最近的栅格是否为所述机器人到达过的自由栅格的步骤;
判断所述栅格地图中是否存在所述机器人未曾到达的自由栅格;
若存在,则执行所述判断在所述机器人的当前朝向上距离所述机器人最近的栅格是否为障碍栅格的步骤;
其中,所述控制所述机器人从所在自由栅格移动到其他自由栅格的步骤包括:
确定与所述机器人所在自由栅格相邻的自由栅格中赋值最小且所述机器人未曾到达的栅格为目标栅格;
控制所述机器人移动至所述目标栅格。
4.如权利要求3所述的机器人的全覆盖路径规划方法,其特征在于,所述赋值规则包括:
列数相同的自由栅格的赋值相同,并且,列数越大的自由栅格的赋值越大或越小;
或者,
行数相同的自由栅格的赋值相同,并且,行数越大的自由栅格的赋值越大或越小。
5.一种机器人的全覆盖路径规划系统,其特征在于,包括:
创建模块,用于根据目标覆盖区域创建栅格地图,所述栅格地图包括若干栅格,其中,每一栅格根据所述机器人能否到达被标记为自由栅格或者障碍栅格;
第一判断模块,用于判断在所述机器人的当前朝向上距离所述机器人最近的栅格是否为所述机器人到达过的自由栅格;
若是,则先调用第一模拟模块和第二模拟模块,再调用比较模块,其中,所述第一模拟模块用于模拟所述机器人从所在自由栅格以最低重复率移动经过剩余所有所述机器人未曾到达的自由栅格以得到第一路径,所述第二模拟模块用于模拟所述机器人从所在自由栅格先沿着当前朝向继续移动直至在所述机器人的当前朝向上距离所述机器人最近的栅格为障碍栅格,之后以最低重复率移动经过剩余所有所述机器人未曾到达的自由栅格以得到第二路径,所述比较模块用于比较所述第一路径和所述第二路径对应所述机器人的功耗大小;
若所述第一路径对应的功耗较小,则调用第一控制模块,所述第一控制模块用于控制所述机器人从所在自由栅格移动到其他自由栅格;
若所述第二路径对应的功耗较小,则先调用第二控制模块,再调用所述第一控制模块,其中,所述第二控制模块用于控制所述机器人沿着当前朝向继续移动直至在所述机器人的当前朝向上距离所述机器人最近的栅格为障碍栅格。
6.如权利要求5所述的机器人的全覆盖路径规划系统,其特征在于,所述比较模块包括:
第一统计单元,用于统计所述第一路径对应的自由栅格的栅格个数以及所述机器人的转向次数;
第二统计单元,用于统计所述第二路径对应的自由栅格的栅格个数以及所述机器人的转向次数。
7.如权利要求5所述的机器人的全覆盖路径规划系统,其特征在于,所述全覆盖路径规划系统还包括:
赋值模块,用于按照赋值规则对所述若干自由栅格进行赋值;
第二判断模块,用于判断在所述机器人的当前朝向上距离所述机器人最近的栅格是否为障碍栅格;
若为障碍栅格,则调用所述第一控制模块;
若不为障碍栅格,则调用所述第一判断模块;
第三判断模块,判断所述栅格地图中是否存在所述机器人未曾到达的自由栅格;
若存在,则调用所述第二判断模块;
其中,所述第一控制模块包括:
确定单元,用于确定与所述机器人所在自由栅格相邻的自由栅格中赋值最小且所述机器人未曾到达的栅格为目标栅格;
移动单元,用于控制所述机器人移动至所述目标栅格。
8.如权利要求7所述的机器人的全覆盖路径规划系统,其特征在于,所述赋值规则包括:
列数相同的自由栅格的赋值相同,并且,列数越大的自由栅格的赋值越大或越小;
或者,
行数相同的自由栅格的赋值相同,并且,行数越大的自由栅格的赋值越大或越小。
9.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1-4中任一项所述的机器人的全覆盖路径规划方法。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1-4中任一项所述的机器人的全覆盖路径规划方法的步骤。
11.一种机器人,其特征在于,包括如权利要求5-8中任一项所述的机器人的全覆盖路径规划系统。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010167520.7A CN113390412B (zh) | 2020-03-11 | 2020-03-11 | 机器人的全覆盖路径规划方法、系统、电子设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010167520.7A CN113390412B (zh) | 2020-03-11 | 2020-03-11 | 机器人的全覆盖路径规划方法、系统、电子设备及介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113390412A CN113390412A (zh) | 2021-09-14 |
CN113390412B true CN113390412B (zh) | 2022-10-04 |
Family
ID=77615439
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010167520.7A Active CN113390412B (zh) | 2020-03-11 | 2020-03-11 | 机器人的全覆盖路径规划方法、系统、电子设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113390412B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113791625B (zh) * | 2021-09-30 | 2024-06-21 | 深圳市优必选科技股份有限公司 | 全覆盖路径生成方法、装置、终端设备及存储介质 |
CN115235476B (zh) * | 2022-09-26 | 2023-01-17 | 宁波均胜智能汽车技术研究院有限公司 | 一种全覆盖路径规划方法、装置、存储介质、电子设备 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102138769B (zh) * | 2010-01-28 | 2014-12-24 | 深圳先进技术研究院 | 清洁机器人及其清扫方法 |
CN108120441A (zh) * | 2016-11-28 | 2018-06-05 | 沈阳新松机器人自动化股份有限公司 | 全覆盖路径规划方法及系统 |
CN106979785B (zh) * | 2017-03-24 | 2020-10-16 | 北京大学深圳研究生院 | 一种面向多机器人系统的完全遍历路径规划方法 |
CN107505939B (zh) * | 2017-05-13 | 2019-07-12 | 大连理工大学 | 一种移动机器人的全覆盖路径规划方法 |
CN109459052B (zh) * | 2018-12-28 | 2022-10-11 | 上海大学 | 一种扫地机全覆盖路径规划方法 |
CN110398964B (zh) * | 2019-07-16 | 2022-02-01 | 浙江大学 | 一种低能量损耗机器人全覆盖路径规划方法及系统 |
CN110456789A (zh) * | 2019-07-23 | 2019-11-15 | 中国矿业大学 | 一种清洁机器人的全覆盖路径规划方法 |
CN110865642A (zh) * | 2019-11-06 | 2020-03-06 | 天津大学 | 一种基于移动机器人的路径规划方法 |
-
2020
- 2020-03-11 CN CN202010167520.7A patent/CN113390412B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN113390412A (zh) | 2021-09-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20230185292A1 (en) | Industrial safety monitoring configuration using a digital twin | |
EP3910431B1 (en) | Method and apparatus for simulating obstacle in unmanned simulation scene | |
CN113390412B (zh) | 机器人的全覆盖路径规划方法、系统、电子设备及介质 | |
CN110986953B (zh) | 路径规划方法、机器人及计算机可读存储介质 | |
CN111728535B (zh) | 一种生成清扫路径的方法、装置、电子设备及存储介质 | |
WO2019141223A1 (zh) | 移动机器人的路径规划方法及系统 | |
CN112987755A (zh) | 一种扫地机器人的避障方法及装置 | |
WO2021004328A1 (zh) | 移动机器人及其定位方法和计算机可读存储介质 | |
CN114764239A (zh) | 清扫机器人控制方法、装置、计算机设备及存储介质 | |
CN111814651A (zh) | 车道线的生成方法、装置和设备 | |
CN113688069B (zh) | 数据处理方法、装置、电子设备及介质 | |
WO2024146381A1 (zh) | 地图处理方法、地图处理装置、介质及电子设备 | |
KR20130068603A (ko) | 군집로봇의 역할 할당 방법 | |
CN109002044A (zh) | 机器人排队方法、装置、后台服务端及存储介质 | |
CN105867427A (zh) | 一种面向动态环境的机器人寻径在线控制方法 | |
Parker | Toward the automated synthesis of cooperative mobile robot teams | |
CN113791625B (zh) | 全覆盖路径生成方法、装置、终端设备及存储介质 | |
CN109917781A (zh) | 用于调度自动导引运输车的方法、装置及系统 | |
CN110948489B (zh) | 一种带电作业机器人安全工作空间限定方法及系统 | |
CN114488853A (zh) | 一种机器人路径规划的场景仿真方法及装置 | |
KR102718477B1 (ko) | 다중 에이전트 시스템의 실시간 경로 계획 방법 및 그 장치 | |
CN116394266B (zh) | 一种机器人自碰撞处理方法、装置、机器人及介质 | |
US20230285619A1 (en) | Navigation method for disinfection robot, robot and computer-readable storage medium | |
TWI856570B (zh) | 加工路徑規劃模擬裝置以及方法 | |
CN114419288B (zh) | 虚拟激光数据的生成方法和装置、存储介质及电子装置 |
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 |