CN112180924A - 一种导航至密集障碍物的移动控制方法 - Google Patents
一种导航至密集障碍物的移动控制方法 Download PDFInfo
- Publication number
- CN112180924A CN112180924A CN202011043438.XA CN202011043438A CN112180924A CN 112180924 A CN112180924 A CN 112180924A CN 202011043438 A CN202011043438 A CN 202011043438A CN 112180924 A CN112180924 A CN 112180924A
- Authority
- CN
- China
- Prior art keywords
- obstacle
- cleaning robot
- dense
- preset
- area
- 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 70
- 238000004140 cleaning Methods 0.000 claims abstract description 311
- 230000004888 barrier function Effects 0.000 claims description 26
- 230000008569 process Effects 0.000 claims description 21
- 238000010276 construction Methods 0.000 claims description 18
- 238000010408 sweeping Methods 0.000 claims description 13
- 230000008859 change Effects 0.000 claims description 4
- 230000007613 environmental effect Effects 0.000 description 4
- 238000009432 framing Methods 0.000 description 4
- 241001417527 Pempheridae Species 0.000 description 3
- 230000009471 action Effects 0.000 description 3
- 230000005283 ground state Effects 0.000 description 2
- 238000010586 diagram Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
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/0212—Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory
- G05D1/0214—Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory in accordance with safety or protection criteria, e.g. avoiding hazardous areas
-
- 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/0212—Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory
- G05D1/0219—Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory ensuring the processing of the whole working surface
Landscapes
- Engineering & Computer Science (AREA)
- Aviation & Aerospace Engineering (AREA)
- Radar, Positioning & Navigation (AREA)
- Remote Sensing (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Automation & Control Theory (AREA)
- Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)
Abstract
本发明公开一种导航至密集障碍物的移动控制方法,与现有技术相比,该移动控制方法在考虑到预先规划的导航路径与实际环境存在匹配误差的条件下,沿着预先规划的至多三条导航路径反复搜索同一待清扫的密集障碍物点,并通过碰撞障碍物和绕障行走来获取密集障碍物的位置分布信息,在达到合适的搜索遍历次数时结束对这个待清扫的密集障碍物点的周围区域的遍历,从而只需要很少资源(包括硬件和软件资源)就能控制清洁机器人绕着椅脚、桌子脚对狭小的可通行区域进行遍历清扫,避免所述清洁机器人因地图误差的影响而在密集障碍物之间的空隙区域出现漏扫。也加快算法收敛速度。
Description
技术领域
本发明涉及机器人移动控制的技术领域,具体涉及一种导航至密集障碍物的移动控制方法。
背景技术
扫地机机器人通常需要对清扫的环境进行覆盖清扫,清扫覆盖区域包括家庭环境常见的角落、椅脚周围、桌子脚周围等等。在家庭环境中,椅脚之间和桌子脚之间都是较为狭小的可通行区域,可以将椅脚和桌子脚视为密集分布的障碍物;扫地机机器人受到传感器和地图漂移误差的影响后,椅脚之间的空隙、桌子脚之间的空隙、椅脚周围区域、桌子周围区域都会成为扫地机机器人按照地图导航时不容易遍历到的区域位置,从而容易在这些区域位置产生漏扫。
发明内容
为了解决上述技术问题,本发明公开一种导航至密集障碍物的移动控制方法,控制清洁机器人通过沿着预先规划的导航路径和绕障行走的方式来反复搜索待清扫的密集障碍物点,从而控制清洁机机器人移动至椅脚之间和桌子脚之间的狭小的可通行区域清扫,克服地图匹配误差造成机器人漏扫的问题。具体的技术方案如下:
一种导航至密集障碍物的移动控制方法,该移动控制方法包括:步骤1、根据障碍物的栅格在栅格地图中被预先设置的滑动矩形框框定的数目特征,标记出密集障碍物点,然后进入步骤2;步骤2、根据栅格地图中标记出的密集障碍物点,规划出终点位置是对应密集障碍物点且没有经过其他的障碍物的栅格的导航路径;然后进入步骤3;步骤3、在清洁机器人按照第一预设导航路径移动至待清扫的密集障碍物点对应的实际位置之前,如果检测到碰撞上障碍物,则控制所述清洁机器人绕这个障碍物行走一圈,同时保持检测所述清洁机器人是否移动至待清扫的密集障碍物点对应的实际位置,是则进入步骤4,否则进入步骤5;其中,待清扫的密集障碍物点是预先配置的用于清洁机器人清扫的密集障碍物点;步骤4、确定所述清洁机器人已经移动至待清扫的密集障碍物点对应的实际位置;步骤5、在所述清洁机器人完成绕同一障碍物行走一圈后,若检测到所述清洁机器人没有移动至所述待清扫的密集障碍物点对应的实际位置,然后进入步骤6;步骤6、判断步骤5执行的次数是否达到3,是则确定所述清洁机器人无法导航至所述待清扫的密集障碍物点对应的实际位置,否则进入步骤7;步骤7、从所述步骤2规划好的所有导航路径中搜索出第二预设导航路径,使得第二预设导航路径的终点栅格位置为所述待清扫的密集障碍物点;然后进入步骤8;在步骤7中,第二预设导航路径不同于第一预设导航路径;步骤8、控制所述清洁机器人沿着步骤7搜索出的第二预设导航路径移动,并重复步骤3至步骤7;其中,由步骤8返回所述步骤3后,第一预设导航路径被替换为第二预设导航路径;其中,所述步骤2规划出的导航路径包括第一预设导航路径和第二预设导航路径。
与现有技术相比,该技术方案在考虑到预先规划的导航路径与实际环境存在匹配误差的条件下,沿着预先规划的至多三条导航路径反复搜索同一待清扫的密集障碍物点,并通过碰撞障碍物和绕障行走来获取密集障碍物的位置分布信息,在达到合适的搜索遍历次数时结束对这个待清扫的密集障碍物点的周围区域的遍历,从而能控制清洁机器人绕着椅脚、桌子脚对狭小的可通行区域进行覆盖清扫,避免所述清洁机器人因地图误差的影响而在密集障碍物之间的空隙区域出现漏扫。也加快算法收敛速度。
进一步地,所述检测所述清洁机器人是否移动至所述待清扫的密集障碍物点对应的实际位置的方法为:若所述清洁机器人当前位置与所述待清扫的密集障碍物点对应的实际位置的距离小于所述清洁机器人的机身直径的四分之一,则确定所述清洁机器人移动至所述待清扫的密集障碍物点对应的实际位置,否则确定所述清洁机器人没有移动至所述待清扫的密集障碍物点对应的实际位置;其中,所述清洁机器人移动至所述待清扫的密集障碍物点对应的实际位置是指所述清洁机器人到达所述待清扫的密集障碍物点对应的障碍物轮廓周围的一个预配置的目标位置处。提高清洁机器人导航定位的精度。
进一步地,所述清洁机器人完成绕障碍物行走一圈的判断方法包括:在控制所述清洁机器人绕障碍物行走一圈之前,获取所述清洁机器人与障碍物的碰撞位置;控制所述清洁机器人从碰撞位置开始绕障碍物行走,并实时判断所述清洁机器人转动的角度是否大于或等于360度,同时判断所述清洁机器人当前位置与所述碰撞位置的距离是否小于所述清洁机器人的机身直径的四分之一,如果所述转动的角度的判断条件和所述距离的判断条件都成立,那么确定所述清洁机器人已经完成绕这个障碍物行走一圈,否则确定所述清洁机器人没有完成绕这个障碍物行走一圈。与现有技术相比,该技术方案将清洁机器人与障碍物的碰撞点作为越障起点,再根据清洁机器人当前位置相对于越障起点转动过的角度以及清洁机器人当前位置相对于越障起点的直线距离判断所述清洁机器人是否完成绕障碍物行走一圈,克服地图漂移等误差的影响,提高绕障判断的鲁棒性。
进一步地,所述清洁机器人完成绕障碍物行走一圈的判断方法包括:在控制所述清洁机器人绕障碍物行走一圈之前,获取所述清洁机器人与障碍物的碰撞位置;控制所述清洁机器人从碰撞位置开始绕障碍物行走,并实时判断所述清洁机器人转动的角度是否大于或等于400度,是则确定所述清洁机器人已经完成绕这个障碍物行走一圈,否则确定所述清洁机器人没有完成绕这个障碍物行走一圈。该技术方案为所述清洁机器人判断完成绕障碍物行走一圈提供转动角度的40度的冗余量,提高判断精度。
进一步地,在执行所述步骤4之后,如果检测到碰撞上所述待清扫的密集障碍物点处对应的障碍物,则控制所述清洁机器人绕所述待清扫的密集障碍物点处对应的障碍物行走一圈,当所述清洁机器人完成绕所述待清扫的密集障碍物点处对应的障碍物行走一圈后,实现对所述待清扫的密集障碍物点对应的实际位置的周围区域的覆盖清扫。与现有技术相比,该技术方案通过规划所述清洁机器人到达密集障碍物点对应的实际位置后的绕障行走方式,来克服地图漂移误差为清洁机器人实际导航带来的障碍物的影响,使得清洁机器人按照地图规划的导航路径移动至密集障碍物点对应的实际位置,减少因为地图漂移而让原先不经过障碍物的栅格的导航路径变成实际覆盖过障碍物的导航路径的情况的发生;进而控制清洁机器人完成不同的密集障碍物点之间的狭小空隙位置和当前到达的密集障碍物点周围窄小区域的清扫,避免在密集障碍物分布区域内出现漏扫现象。
进一步地,在所述清洁机器人已经移动至待清扫的密集障碍物点对应的实际位置后,如果检测到所述清洁机器人直接穿过所述待清扫的密集障碍物点对应的实际位置,则将所述待清扫的密集障碍物点标记为已清扫空地状态。该技术方案将栅格地图中标记为密集障碍物点但不符合实际位置的栅格标记为已清扫空地状态,防止清洁机器人再次清扫遍历这个位置,克服栅格地图误差的影响。
进一步地,当所有已标记的密集障碍物点都被所述清洁机器人沿着所述步骤2规划的导航路径导航遍历过后,控制所述清洁机器人移动至未遍历区域,然后返回所述步骤1以标记出新的密集障碍物点,再重复前述步骤,直到所述清洁机器人遍历完所述栅格地图对应的全部区域。从而完成已标记的密集障碍物的分布区域的覆盖清扫。
进一步地,所述步骤1具体包括:步骤11、控制清洁机器人在待清洁区域内按照预设弓字形规划路径进行清扫,其中,当清洁机器人在清扫过程中检测到障碍物时,控制清洁机器人在实时构建的栅格地图中标记出障碍物的栅格但不绕过这个障碍物;障碍物的栅格包括间隔分布的障碍物的栅格;步骤12、根据滑动矩形框在栅格地图滑动的过程中所框定的间隔分布的障碍物的栅格数目,在栅格地图上设置密集障碍物标准单元区域,然后以密集障碍物标准单元区域的中心为构建起点,设置预设数量的与滑动矩形框的尺寸大小相同的定位矩形框,再控制这些定位矩形框从构建起点处开始,分别沿着栅格地图上的预设数量的关于构建起点中心对称的遍历方向移动;其中,所述滑动矩形框是在实时构建的栅格地图上设置的;步骤13、根据每个定位矩形框在移动后相对于移动前框定的新区域的面积与对应的定位矩形框在移动前框定的区域面积的比值与同一定位矩形框在移动前后的所框定的间隔分布的障碍物的栅格数目的变化量之间的关系,控制每个定位矩形框是否朝对应的遍历方向继续移动,同时将每个定位矩形框所框定过的间隔分布的障碍物的栅格标记为密集障碍物点;其中,每个定位矩形框都被配置为按照一个单位遍历距离进行对应的遍历方向的一次移动。
与现有技术相比,本技术方案在障碍物位置信息已知和实际完成局部区域清扫的基础上,控制矩形框在栅格地图上以构建中心为起点按照特定的遍历方向进行移动,根据矩形框移动前后所框定的障碍物栅格数目的变化量与其新覆盖区域的面积之间的对应关系(即一定栅格区域面积上存在相应数量的满足密集分布要求的障碍物的栅格),获取满足密集分布要求的障碍物的栅格信息,避免后续清洁机器人在所述待清洁区域椅脚之间和桌子脚之间的狭小的可通行区域内出现漏扫。另一方面,本技术方案在确保栅格地图信息的精度的前提下,降低了滑动矩形框在栅格地图占用的运行内存空间,比使用激光传感器直接扫描标记出密集障碍物点的栅格位置节省运算内存。
进一步地,所述步骤1还包括:步骤14、当预设数量的定位矩形框都停止移动时,将标记过的所有密集障碍物点对应的栅格组合构建为密集障碍物区。获取能够组成密集障碍物区的间隔分布的障碍物的栅格位置信息,从而让清洁机器人获取栅格地图上标记组成的密集障碍物区。
进一步地,所述间隔分布的障碍物的栅格是:在所述步骤11标记出的障碍物的栅格中,除了连续分布的N个障碍物的栅格后之外的障碍物的栅格;其中,N是根据所述栅格地图中的预先配置的栅格尺寸大小和所述待清洁区域内标记的障碍物的实际尺寸设置的连续分布的栅格的数量。本技术方案将墙体与密集障碍物区别开来,避免所述清洁机器人将墙体区域处理为密集障碍物区,反而导致所述清洁机器人重复清扫墙体区域,因为墙体区域不存在狭小的可通行区域,清洁机器人按照预设弓字形规划路径进行清扫过程中不容易在墙体区域出现漏扫。
进一步地,在所述步骤12中,所述在栅格地图上设置密集障碍物标准单元区域的方法包括:控制所述滑动矩形框在栅格地图上滑动,同时将所述滑动矩形框在栅格地图框定的间隔分布的障碍物的栅格标记为未清扫状态,并实时记录这些框定的间隔分布的障碍物的栅格的数目;当所述滑动矩形框框定的间隔分布的障碍物的栅格的数目大于或等于第一密集阈值时,将滑动矩形框当前框定的矩形区域设置为所述密集障碍物标准单元区域;其中,第一密集阈值用于表示所述间隔分布的障碍物的栅格的分布密集程度,足以让所述间隔分布的障碍物之间的空隙区域成为所述清洁机器人的漏扫区域。也反映障碍物的栅格之间的空隙的狭小程度。
进一步地,在所述步骤13中,所述根据每个定位矩形框在移动后相对于移动前框定的新区域的面积与对应的定位矩形框在移动前框定的区域面积的比值与同一定位矩形框在移动前后的所框定的间隔分布的障碍物的栅格数目的大小变化量之间的关系,控制每个定位矩形框是否朝对应的遍历方向继续移动的方法包括:每当存在其中一个定位矩形框朝对应的遍历方向发生一次所述单位遍历距离的移动时,判断移动之后的这个定位矩形框所框定的间隔分布的障碍物的栅格数目与移动之前的这个定位矩形框所框定的间隔分布的障碍物的栅格数目的比值是否大于或等于移动之后的这个定位矩形框中的没与移动之前的这个定位矩形框重叠的区域的面积占比,是则控制这个定位矩形框继续朝同一遍历方向移动所述单位遍历距离,否则控制这个定位矩形框停止移动;其中,移动之后的这个定位矩形框中的没与移动之前的这个定位矩形框重叠的区域的面积占比是这个定位矩形框在移动之后相对于移动之前框定的新区域的面积与同一定位矩形框在移动之前框定的区域面积的比值。该技术方案在前述技术方案建立一个密集障碍物标准单元区域的基础上,通过控制各个定位矩形框在对应遍历方向上移动单位遍历距离,以探测障碍物的栅格的分布密集程度并以固定的矩形框框定的栅格数目为反馈信息,确定密集障碍物区的合理构建范围,其在复杂障碍物狭窄环境下区域构建中具有高效性、有效性和适应性。
进一步地,所述定位矩形框是正方形框,所述预设数量是8;所述关于所述构建起点中心对称的遍历方向包括:设置为所述密集障碍物标准单元区域的正方形框的横向边长向右方向、设置为所述密集障碍物标准单元区域的正方形框的横向边长向左方向、设置为所述密集障碍物标准单元区域的正方形框的纵向边长向上方向、设置为所述密集障碍物标准单元区域的正方形框的纵向边长向下方向、设置为所述密集障碍物标准单元区域的正方形框的对角线的左上指向、设置为所述密集障碍物标准单元区域的正方形框的对角线的左下指向、设置为所述密集障碍物标准单元区域的正方形框的对角线的右上指向、设置为所述密集障碍物标准单元区域的正方形框的对角线的右下指向。该技术方案减少所述定位矩形框在栅格地图中移动路径和实时框定的间隔分布的障碍物的栅格数目的运算复杂度,缩短8个遍历方向上的定位矩形框的移动时间。
进一步地,所述步骤11中,所述控制清洁机器人在待清洁区域内按照预设弓字形规划路径进行清扫,当清洁机器人在清扫过程中检测到障碍物时,不绕过这个障碍物的方式包括:控制所述清洁机器人沿着所述预设弓字形规划路径行走,当所述清洁机器人在所述预设弓字形规划路径的预设直线路径碰撞到障碍物时,控制所述清洁机器人的机身旋转预设角度,使得所述清洁机器人通过调整当前的前进方向来移动至与预设直线路径段间隔预设距离的未清扫直线路径上;其中,这个未清扫直线路径是属于所述预设弓字形规划路径并与预设直线路径的方向平行;预设距离是所述预设弓字形规划路径的相邻两个平行的直线路径的间隔距离的预设倍数,这个预设倍数与所述清洁机器人当前碰撞的障碍物的尺寸大小相关;其中,所述清洁机器人从所述预设直线路径移动至间隔所述预设距离的未清扫直线路径的过程中都在执行清扫作业。该技术方案在机器人按照预设弓字形规划路径进行清扫的过程中,没有进行绕障行走而是直接按照弓字形清扫模式移动到预设弓字形规划路径的相邻直线路径上,以实现对所述待清洁区域内的空旷区域的清扫,避免在没构建识别出密集障碍物的基础上清扫障碍物密集分布区域出现漏扫现象,降低机器人的清扫工作效率。
进一步地,在控制所述清洁机器人的机身旋转所述预设角度的过程中,如果所述清洁机器人检测到碰撞上障碍物,则控制所述清洁机器人沿这个障碍物的边缘行走,直至到达与所述预设直线路径间隔所述预设距离的未清扫直线路径上以维持弓字形规划清扫,但没有完全绕过这个障碍物。该技术方案利用所述预设弓字形规划路径存在平行间隔设置的直线路径的特点,既完成避障动作,也维持正常的弓字形清扫,提高清洁机器人弓字形清扫工作的环境适应性,保证清洁机器人的工作效率。
进一步地,在控制所述清洁机器人从一个预设起点位置移动至所述预设直线路径的过程中,如果检测到碰撞上障碍物,那么控制所述清洁机器人搜索所述预设弓字形规划路径的其他的未清扫直线路径,使得所述清洁机器人按照搜索出的未清扫路径继续进行清扫以避开搜索前所检测到的障碍物;其中,这个预设起点位置是位于所述预设直线路径之外。该技术方案在清洁机器人开始执行弓字形清扫之前,通过搜索有效的预设弓字形规划路径完成避障动作,提高清洁机器人清扫工作的环境适应性,保证清洁机器人的工作效率。
附图说明
图1为本发明一实施例公开一种导航至密集障碍物的移动控制方法的流程图。
图2为本发明一实施例公开的在待清洁区域内标记的障碍物的分布图。
图3为在图2所示的待清洁区域内,8个箭头方向上的定位矩形框移动框定障碍物的栅格的示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行详细描述。在本申请中,术语“上”、“下”、“内”、“中”、“外”、“前”、“后”等指示的方位或位置关系为基于附图所示的方位或位置关系。这些术语主要是为了更好地描述本申请及其实施例,并非用于限定所指示的装置、元件或组成部分必须具有特定方位,或以特定方位进行构造和操作。
并且,上述部分术语除了可以用于表示方位或位置关系以外,还可能用于表示其他含义,例如术语“上”在某些情况下也可能用于表示某种依附关系或连接关系。对于本领域普通技术人员而言,可以根据具体情况理解这些术语在本申请中的具体含义。
本发明实施例公开一种导航至密集障碍物的移动控制方法,具体的实施方式如图1所示,具体包括:
步骤S1、根据障碍物的栅格在栅格地图中被预先设置的滑动矩形框框定的数目特征,标记出密集障碍物点,然后进入步骤S2;其中,栅格地图上的障碍物的栅格是清洁机器人通过规划清扫一个待清洁区域而预先标记的,这个待清洁区域内包括连续分布的障碍物的栅格和间隔分布的障碍物的栅格,间隔分布的障碍物的栅格包括密集分布的障碍物的栅格,而密集分布的障碍物的栅格的识别标准是建立在预先设置的滑动矩形框对应移动框定的间隔分布的障碍物的栅格数目的基础上。
步骤S2、根据栅格地图中标记出的密集障碍物点,规划出终点位置是对应密集障碍物点且没有经过其他的障碍物的栅格的导航路径;然后进入步骤S3;该步骤S2可以是根据栅格地图中标记出的密集障碍物点,在所述待清洁区域内规划出终点位置是对应密集障碍物点且没有经过其他的障碍物的栅格的导航路径。需要说明的是,正常规划出导航路径在地图不出现偏差的情况下,是不会经过障碍物的栅格的,导航路径的终点位置才是密集障碍物点。
步骤S3、控制清洁机器人按照第一预设导航路径向待清扫的密集障碍物点对应的实际位置导航移动的过程中,包括在所述清洁机器人按照第一预设导航路径移动至待清扫的密集障碍物点对应的实际位置之前和刚好移动至待清扫的密集障碍物点对应的实际位置上;在所述清洁机器人按照第一预设导航路径移动至待清扫的密集障碍物点对应的实际位置之前,如果所述清洁机器人的传感器检测到碰撞上障碍物,则控制所述清洁机器人开始绕这个发生碰撞的障碍物行走一圈,并保持实时检测所述清洁机器人是否移动至所述待清扫的密集障碍物点对应的实际位置,是则进入步骤S4,否则进入步骤S5;需要说明的是,用于检测碰撞的传感器包括但不限于红外传感器、超声波传感器或者物理碰撞装置。所述待清扫的密集障碍物点是从所述步骤S1标记出的密集障碍物点中挑选出来的,用于作为待清扫的目标位置。
优选地,所述步骤S3中,所述检测所述清洁机器人是否移动至所述待清扫的密集障碍物点对应的实际位置的方法为:若所述清洁机器人当前位置与所述待清扫的密集障碍物点对应的实际位置的距离小于所述清洁机器人的机身直径的四分之一,则确定所述清洁机器人移动至所述待清扫的密集障碍物点对应的实际位置,否则确定所述清洁机器人没有移动至所述待清扫的密集障碍物点对应的实际位置,从而克服地图漂移等误差的影响,提高绕障判断的鲁棒性。提高清洁机器人导航定位的精度。其中,待清扫的密集障碍物点是预先配置的用于清洁机器人清扫的密集障碍物点。
步骤S4、确定所述清洁机器人已经移动至待清扫的密集障碍物点对应的实际位置。在执行所述步骤4之后,如果检测到碰撞上所述待清扫的密集障碍物点处对应的障碍物,则控制所述清洁机器人开始绕所述待清扫的密集障碍物点处对应的障碍物行走一圈,当所述清洁机器人完成绕所述待清扫的密集障碍物点处对应的障碍物行走一圈后,实现对所述待清扫的密集障碍物点处对应的障碍物的轮廓的遍历清扫,实现对所述待清扫的密集障碍物点对应的实际位置的周围区域的覆盖清扫。
优选地,在所述清洁机器人已经移动至所述待清扫的密集障碍物点对应的实际位置后,如果检测到所述清洁机器人直接穿过所述待清扫的密集障碍物点对应的实际位置,则将这个待清扫的密集障碍物点标记为已清扫空地状态。该优选例将栅格地图中标记为密集障碍物点但不符合实际位置的栅格派出掉,防止清洁机器人再次清扫遍历这个位置,克服栅格地图误差的影响。
与现有技术相比,前述步骤通过规划所述清洁机器人到达密集障碍物点对应的实际位置之前和到达密集障碍物点对应的实际位置之后的绕障行走方式,来克服地图漂移误差为清洁机器人实际导航带来的障碍物的影响,使得清洁机器人按照地图规划的导航路径移动至密集障碍物点对应的实际位置,减少因为地图漂移而让原先不经过障碍物的栅格的导航路径变成实际覆盖过障碍物的导航路径;进而控制清洁机器人完成不同的密集障碍物点之间的狭小空隙位置和当前到达的密集障碍物点周围窄小区域的清扫,避免在密集障碍物分布区域内出现漏扫现象。
步骤S5、判断所述清洁机器人完成绕同一障碍物(即步骤S3检测到的相碰撞的障碍物)行走一圈后,是否检测到所述清洁机器人移动至所述待清扫的密集障碍物点对应的实际位置,是则进入步骤S4,否则进入步骤S6。即清洁机器人按照第一预设导航路径向待清扫的密集障碍物点对应的实际位置导航移动的过程中,当所述清洁机器人完成绕同一障碍物(即步骤S3检测到的相碰撞的障碍物)行走一圈时,检测所述清洁机器人是否移动至所述待清扫的密集障碍物点对应的实际位置,认为是:检测所述清洁机器人是否移动至所述待清扫的密集障碍物点处的障碍物轮廓的周围区域,是则进入步骤S4,否则进入步骤S6。
具体地所述清洁机器人完成绕障碍物行走一圈的判断方法包括两种实施方式;一种实施方式包括:在控制所述清洁机器人绕障碍物行走一圈之前,获取所述清洁机器人与障碍物的碰撞位置;然后控制所述清洁机器人从碰撞位置开始绕障碍物行走,并实时判断所述清洁机器人转动的角度是否大于或等于360度,同时判断所述清洁机器人当前位置与所述碰撞位置的距离是否小于所述清洁机器人的机身直径的四分之一,如果所述转动的角度的判断条件和所述距离的判断条件都成立,那么确定所述清洁机器人已经完成绕这个障碍物行走一圈,否则确定所述清洁机器人没有完成绕这个障碍物行走一圈。比如,所述清洁机器人移动至椅脚并与之碰撞时,由于椅脚之间的距离小于所述清洁机器人的机身直径的,所以所述清洁机器人是无法绕当前碰撞到的椅子完整地行走一圈。与现有技术相比,该实施方式将清洁机器人与障碍物的碰撞点作为越障起点,再根据清洁机器人当前位置相对于越障起点转动过的角度以及清洁机器人当前位置相对于越障起点的直线距离判断所述清洁机器人是否完成绕障碍物行走一圈,克服地图漂移等误差的影响,提高绕障判断的鲁棒性。
另一种实施方式包括:在控制所述清洁机器人绕障碍物行走一圈之前,获取所述清洁机器人与障碍物的碰撞位置;然后控制所述清洁机器人从碰撞位置开始绕障碍物行走,并实时判断所述清洁机器人转动的角度是否大于或等于400度,是则确定所述清洁机器人已经完成绕这个障碍物行走一圈,否则确定所述清洁机器人没有完成绕这个障碍物行走一圈。该实施方式为所述清洁机器人判断完成绕障碍物行走一圈提供转动角度的40度的冗余量,提高判断精度。
步骤S6、判断步骤S5执行的次数是否达到3,是则进入步骤S10以确定所述清洁机器人无法导航至(移动至)所述待清扫的密集障碍物点对应的实际位置,否则进入步骤S7。
具体地,所述清洁机器人若连续两次更变导航路径都无法到达同一个待清扫的密集障碍物点,这个待清扫的密集障碍物点对应的实际位置(清洁工作区域内的物理位置)被清洁机器人放弃搜索,但在这连续三次的密集障碍物点对应的实际物理位置的搜索过程中,清洁机器人可以完成这个待清扫的密集障碍物点对应的实际位置周围区域的遍历清扫,比如,所述清洁机器人移动至椅脚周围区域时与其他的障碍物发生碰撞,由于椅脚之间的距离小于所述清洁机器人的机身直径的,所以所述清洁机器人在绕当前碰撞到的障碍物行走一圈的过程中没有移动至椅脚之间的空隙区域,而是避开椅脚之间的空隙区域,虽然所述清洁机器人绕障行走过程中经过的位置与椅脚比较近,最后使得所述清洁机器人这连续三次导航都没有搜索到椅脚这一密集障碍物点对应的实际位置,但是所述清洁机器人在这一导航绕障过程中完成椅脚之间的空隙区域的覆盖清扫。也适用于更多的障碍物分布场景的导航清扫。需要说明的是,本实施例中移动至所述待清扫的密集障碍物点对应的实际位置不是到达所述待清扫的密集障碍物点对应的障碍物所占据的实际位置,而是到达所述待清扫的密集障碍物点对应的实际位置周围的一个预配置的目标位置,使得清洁机器人的能够清扫遍历这个待清扫的密集障碍物点对应的障碍物轮廓周围的区域。
步骤S7、从所述步骤S2规划好的所有导航路径中搜索出未遍历的第二预设导航路径,使得第二预设导航路径的终点栅格位置为所述待清扫的密集障碍物点;然后进入步骤S8;在步骤S7中,所述第一预设导航路径变成已遍历的导航路径,而新搜索出的第二预设导航路径是未遍历过的导航路径,所以,从整体路径走向上看,所述第二预设导航路径不同于所述第一预设导航路径。
步骤S8、控制所述清洁机器人沿着步骤S7搜索出的第二预设导航路径移动,再返回步骤S3,以将所述步骤S3中的第一预设导航路径替换为步骤S7搜索出的所述第二预设导航路径,然后重复步骤S3至步骤S7,直到步骤S5执行的次数从0增加到3为止,或步骤S4确定所述清洁机器人已经移动至待清扫的密集障碍物点对应的实际位置为止。
与现有技术相比,前述步骤S1至步骤S8,在考虑到预先规划的导航路径与实际环境存在匹配误差的条件下,沿着预先规划的至多三条导航路径反复搜索同一待清扫的密集障碍物点,同时通过碰撞障碍物和绕障行走来获取密集障碍物的位置分布信息,并在达到合适的搜索遍历次数时结束对这个待清扫的密集障碍物点的周围区域的遍历,比使用激光传感器直接扫描标记出密集障碍物点的栅格位置节省运算内存。从而只需要很少资源(包括硬件和软件资源)就能控制清洁机器人绕着椅脚、桌子脚对狭小的可通行区域进行遍历清扫,避免所述清洁机器人因地图误差的影响而在密集障碍物之间的空隙区域出现漏扫。
优选地,在执行所述步骤4之后,即所述清洁机器人已经导航至待清扫的密集障碍物点对应的实际位置后,如果检测到所述清洁机器人直接穿过待清扫的密集障碍物点对应的实际位置,即所述清洁机器人在沿着所述步骤S2规划的导航路径到达所述待清扫的密集障碍物点对应的障碍物所占据的实际位置,表示所述待清扫的密集障碍物点对应的实际位置处不存在障碍物,地图出现定位标记误差,需要排除掉,但所述清洁机器人还是遍历清扫过所述待清扫的密集障碍物点对应的实际位置,所以该优选例将栅格地图中标记为密集障碍物点但不符合实际位置的栅格标记为已清扫空地状态,防止清洁机器人再次清扫遍历这个位置,克服栅格地图误差的影响。
优选地,通过执行步骤S1至步骤S8,所述清洁机器人沿着所述步骤S2规划的导航路径,能够将一个待清洁区域内所有已标记的密集障碍物点遍历过一次后,控制所述清洁机器人移动至未遍历区域,然后返回所述步骤S1以标记出新的密集障碍物点,再重复前述步骤,直到所述清洁机器人遍历完所述栅格地图对应的全部区域。从而完成所有存在的密集障碍物的分布区域的覆盖清扫。
在前述实施例的基础上,所述步骤S1具体包括:
步骤11、控制清洁机器人在待清洁区域内按照预设弓字形规划路径进行清扫,其中,当清洁机器人在清扫过程中检测到障碍物时,控制清洁机器人在实时构建的栅格地图中标记出障碍物的栅格但不绕过这个障碍物;然后进入步骤12。如图2所示,待清洁区域内障碍物的栅格包括间隔分布的障碍物的栅格;图2的方框的左上方的间隔分布的障碍物之间的间距比较小,是本发明申请的背景技术中提及的密集分布的障碍物;图2的方框的右下方的间隔分布的障碍物之间的间距比较大,是离散分布的障碍物。
在本实施例中,所述间隔分布的障碍物的栅格是:在所述步骤11标记出的障碍物的栅格中,除了连续分布的N个障碍物的栅格之外的障碍物的栅格,本实施例通过将连续分布的N个障碍物的栅格在栅格地图上被标记成已清扫空旷状态来过滤掉连续分布的N个障碍物的栅格;其中,N是根据所述栅格地图中的预先配置的栅格尺寸大小和所述待清洁区域内标记的障碍物的实际尺寸设置的连续分布的栅格的数量。优选地,所述连续分布的N个障碍物的栅格用于表示墙壁,从而可以把墙壁等等边界较长的障碍物过滤掉,这里N是预设墙体栅格数量阈值,用于表示墙壁长度信息,预设墙体栅格数量阈值是根据所述栅格地图中的预先配置的栅格尺寸大小和所述待清洁区域内标记的障碍物的实际尺寸设置的,比如要大于10个连续分布的障碍点才表示为边界长、体型大的障碍物的轮廓。与现有技术相比,本实施例将墙体与密集障碍物区别开来,避免所述清洁机器人将墙体区域处理为密集障碍物区而重复清扫墙体区域,因为墙体区域不存在狭小的可通行区域,清洁机器人按照预设弓字形规划路径进行清扫过程中不容易在墙体区域出现漏扫。
在所述步骤11中,所述控制清洁机器人在待清洁区域内按照预设弓字形规划路径进行清扫,当清洁机器人在清扫过程中检测到障碍物时,不绕过这个障碍物的方式包括:
控制所述清洁机器人沿着所述预设弓字形规划路径行走,当所述清洁机器人在所述预设弓字形规划路径的预设直线路径碰撞到障碍物时,控制所述清洁机器人的机身旋转预设角度,再控制所述清洁机器人按照旋转后的前进方向移动,直到所述清洁机器人在与预设直线路径垂直的方向上产生预设距离的移动距离,使得所述清洁机器人通过调整当前的前进方向来移动至与预设直线路径段间隔预设距离的未清扫直线路径上,从而没有完整地清扫这个障碍物的轮廓周围的区域,产生漏扫。本实施例中,这个未清扫直线路径是属于所述预设弓字形规划路径并与预设直线路径的方向平行;预设距离是所述预设弓字形规划路径的相邻两个平行的直线路径的间隔距离的预设倍数,这个预设倍数与所述清洁机器人当前碰撞的障碍物的尺寸大小相关。需要说明的是,所述清洁机器人从所述预设直线路径移动至间隔所述预设距离的未清扫直线路径的过程中都在执行清扫作业,以实现对所述待清洁区域内的空旷区域的清扫,这个空旷区域是不存在密集分布的障碍物的。避免在没构建识别出密集障碍物的基础上清扫障碍物密集分布区域出现漏扫现象,降低机器人的清扫工作效率。
优选地,在控制所述清洁机器人的机身旋转所述预设角度的过程中,如果所述清洁机器人检测到碰撞上障碍物,则控制所述清洁机器人沿这个障碍物的边缘行走,直至到达与所述预设直线路径相平行且彼此间隔所述预设距离的未清扫直线路径上以维持正常的弓字形清扫,但没有完全绕过这个障碍物,从而没有完整地清扫这个障碍物的轮廓周围的区域,产生漏扫。其中,这个未清扫直线路径是属于所述预设弓字形规划路径并与预设直线路径的方向平行。
因此,每当所述清洁机器人沿着所述预设弓字形规划路径的预设直线路径行走时,若检测到碰撞上障碍物,则通过调整所述清洁机器人的实时位姿来改变当前前进方向,使得所述清洁机器人跨越一个所述预设距离来移动至与预设直线路径方向平行的未清扫直线路径上,预设距离是所述预设弓字形规划路径的相邻两个平行的直线路径的间隔距离的预设倍数,这个预设倍数与所述清洁机器人当前碰撞的障碍物的尺寸大小相关。从而维持弓字形规划清扫,并有效地避开当前碰撞的障碍物。提高清洁机器人弓字形清扫工作的环境适应性,保证清洁机器人的工作效率。
优选地,在控制所述清洁机器人从一个预设起点位置移动至所述预设直线路径的过程中,即开始按照预设弓字形规划路径进行清扫之前,如果检测到碰撞上障碍物,那么控制所述清洁机器人搜索所述预设弓字形规划路径的其他的未清扫的直线路径,使得所述清洁机器人按照搜索出的未清扫路径继续进行清扫以避开搜索前所检测到的障碍物,也实现选择新的弓字形路径起点位置以开始执行弓字形规划清扫;其中,这个预设起点位置是位于所述预设直线路径之外。本实施例在清洁机器人开始执行弓字形清扫之前,通过搜索有效的预设弓字形规划路径完成避障动作,提高清洁机器人清扫工作的环境适应性,保证清洁机器人的工作效率。
步骤12、根据滑动矩形框在栅格地图滑动的过程中所框定的间隔分布的障碍物的栅格数目,在栅格地图上设置密集障碍物标准单元区域,然后以密集障碍物标准单元区域的中心为构建起点,设置预设数量的与滑动矩形框的尺寸大小相同的定位矩形框,再控制这些定位矩形框从构建起点处开始,分别沿着栅格地图上的预设数量的关于构建起点中心对称的遍历方向移动;然后进入步骤13。其中,所述滑动矩形框是在实时构建的栅格地图上设置的。
具体地,在所述步骤12中,所述在栅格地图上设置密集障碍物标准单元区域的方法包括:控制所述滑动矩形框在栅格地图上滑动,本实施例控制所述滑动矩形框从所述栅格地图的左上角开始,自左往右地移动,同时将所述滑动矩形框在栅格地图框定的间隔分布的障碍物的栅格标记为未清扫状态,并实时记录所述滑动矩形框实时框定的间隔分布的障碍物的栅格的数目;当所述滑动矩形框框定的间隔分布的障碍物的栅格的数目大于或等于第一密集阈值时,将滑动矩形框当前框定的矩形区域设置为所述密集障碍物标准单元区域,如图2中的矩形框A11所示。其中,第一密集阈值用于表示所述密集障碍物点在栅格地图中分布的密集程度,足以让所述间隔分布的障碍物之间的空隙区域成为所述清洁机器人在常规弓字形规划清扫模式下产生的漏扫区域或地图产生定位误差的条件下产生的漏扫区域。
步骤13、根据每个定位矩形框在移动后相对于移动前框定的新区域的面积与对应的定位矩形框在移动前框定的区域面积的比值与同一定位矩形框在移动前后的所框定的间隔分布的障碍物的栅格数目的变化量之间的关系,控制每个定位矩形框是否朝对应的遍历方向继续移动,同时将每个定位矩形框所框定过的间隔分布的障碍物的栅格标记为密集障碍物点;其中,每个定位矩形框都被配置为按照一个单位遍历距离进行对应的遍历方向的一次移动。
具体地,在所述步骤13中,所述根据每个定位矩形框在移动后相对于移动前框定的新区域的面积与对应的定位矩形框在移动前框定的区域面积的比值与同一定位矩形框在移动前后的所框定的间隔分布的障碍物的栅格数目的大小变化量之间的关系,控制每个定位矩形框是否朝对应的遍历方向继续移动的方法包括:每当存在其中一个定位矩形框朝对应的遍历方向发生一次所述单位遍历距离的移动时,判断移动之后的这个定位矩形框所框定的间隔分布的障碍物的栅格数目与移动之前的这个定位矩形框所框定的间隔分布的障碍物的栅格数目的比值是否大于或等于移动之后的这个定位矩形框中的没与移动之前的这个定位矩形框重叠的区域的面积占比,是则控制这个定位矩形框继续朝同一遍历方向移动所述单位遍历距离,否则控制这个定位矩形框停止移动;其中,移动之后的这个定位矩形框中的没与移动之前的这个定位矩形框重叠的区域的面积占比是这个定位矩形框在移动之后相对于移动之前框定的新区域的面积与同一定位矩形框在移动之前框定的区域面积的比值。
在前述实施例建立一个密集障碍物标准单元区域的基础上,通过控制各个定位矩形框在对应遍历方向上移动单位遍历距离,以探测障碍物的栅格的分布密集程度并以固定的矩形框框定的栅格数目作为反馈单位面积的障碍物密集程度的信息,从而确定密集障碍物区的合理构建范围,使得其在复杂障碍物狭窄环境下的区域构建中具有高效性、有效性和适应性。
与现有技术相比,前述步骤11至步骤13在障碍物位置信息已知和实际完成局部区域清扫的基础上,控制矩形框在栅格地图上以构建中心为起点按照特定的遍历方向进行移动,根据矩形框移动前后所框定的障碍物栅格数目的变化量与其新覆盖区域的面积之间的对应关系(即单位栅格区域面积上存在相应数量的满足密集分布要求的障碍物的栅格),获取满足密集分布要求的障碍物的栅格信息,避免后续清洁机器人在所述待清洁区域椅脚之间和桌子脚之间的狭小的可通行区域内出现漏扫。另一方面,本实施例在确保栅格地图信息的精度的前提下,降低了滑动矩形框在栅格地图占用的运行内存空间,比使用激光传感器直接扫描标记出密集障碍物点的栅格位置节省运算内存。适用于更多的定位和导航场景。
在执行所述步骤13之后,还包括:步骤14、当判断到预设数量的定位矩形框都停止移动时,即预设数量的定位矩形框都在对应的一次移动之后所框定的间隔分布的障碍物的栅格数目与对应的一次移动之前所框定的间隔分布的障碍物的栅格数目的比值小于同一定位矩形框在对应的一次移动之后覆盖的新区域的面积与同一定位矩形框在对应的一次移动之前框定的区域面积的比值时,将标记过的所有密集障碍物点对应的栅格组合构建为密集障碍物区。该步骤获取能够组成密集障碍物区的间隔分布的障碍物的栅格位置信息,从而让清洁机器人获取栅格地图上标记组成的密集障碍物区。
作为一种实施例,如图3所示,所述定位矩形框可以设置为正方形框,所述预设数量是8;优选地,这个正方形框的边长对应到实际的待清洁区域内是2m。因此,在本实施例中,所述关于所述构建起点中心对称的遍历方向,如图3所示,包括:设置为所述密集障碍物标准单元区域A11的正方形框的横向边长向右方向、设置为所述密集障碍物标准单元区域A11的正方形框的横向边长向左方向、设置为所述密集障碍物标准单元区域A11的正方形框的纵向边长向上方向、设置为所述密集障碍物标准单元区域A11的正方形框的纵向边长向下方向、设置为所述密集障碍物标准单元区域A11的正方形框的对角线的左上指向、设置为所述密集障碍物标准单元区域A11的正方形框的对角线的左下指向、设置为所述密集障碍物标准单元区域A11的正方形框的对角线的右上指向、设置为所述密集障碍物标准单元区域A11的正方形框的对角线的右下指向。然后,以设置为所述密集障碍物标准单元区域A11的正方形框的对角线交点为中心,也作为所述构建起点,预设数量的遍历方向是构建起点中心对称的,所述单位遍历距离设置为跟随遍历方向的变化而变化以简化所述步骤13中的面积、比值大小的计算复杂度。
当实际使用到的所述遍历方向为正方形框A11的横向边长向右方向、正方形框A11的横向边长向左方向、正方形框A11的纵向边长向上方向、正方形框A11的纵向边长向下方向时,选择数值为正方形框A11的边长的一半的单位遍历距离,设置4个与正方形框A11的尺寸大小相同的定位矩形框,控制这4个定位矩形框分别往正方形框A11横向边长向左、横向边长向右、纵向边长向上、纵向边长向下这四个遍历方向移动正方形框A11的边长的一半的距离,这4个定位矩形框移动正方形框A11的边长的一半的距离后,每一个定位矩形框新覆盖的区域面积占正方形框A11覆盖的区域面积的一半。此时,如果存在定位矩形框所框定的障碍物的栅格的数量大于或等于正方形框A11框定的障碍物的栅格的数量的一半,则控制这个定位矩形框继续往对应的遍历方向上移动正方形框A11的边长的一半的距离,说明这个定位矩形框当前框定区域内的障碍物的栅格满足所述密集障碍物点的分布特征要求,如果存在定位矩形框所框定的障碍物的栅格的数量小于正方形框A11框定的障碍物的栅格的数量的一半,则控制这个定位矩形框停止移动,说明这个定位矩形框当前框定区域内的障碍物的栅格过少、分布离散。需要说明的是,本实施例用于判断栅格数量的障碍物的栅格只是所述间隔分布的障碍物的栅格。
当实际使用到的所述遍历方向为正方形框A11的对角线的左上指向、正方形框A11的对角线的左下指向、正方形框A11的对角线的右上指向、正方形框A11的对角线的右下指向时,选择数值为正方形框A11的对角线的一半的单位遍历距离,另外设置4个与正方形框A11的尺寸大小相同的定位矩形框,控制这4个定位矩形框分别往正方形框A11的对角线的左上指向、对角线的左下指向、对角线的右上指向、对角线的右下指向这四个遍历方向移动正方形框A11的对角线的一半的距离,这4个定位矩形框移动后,每一个定位矩形框新覆盖的区域面积占正方形框A11覆盖的区域面积的四分之三。此时,如果存在定位矩形框所框定的障碍物的栅格的数量大于或等于正方形框A11框定的障碍物的栅格的数量的四分之三,则控制这个定位矩形框继续往对应的遍历方向上移动正方形框A11的对角线的一半的距离;如果存在定位矩形框所框定的障碍物的栅格的数量小于正方形框A11框定的障碍物的栅格的数量的四分之三,则控制这个定位矩形框停止移动。需要说明的是,本实施例用于判断栅格数量的障碍物的栅格只是所述间隔分布的障碍物的栅格。
综上,本实施例减少所述定位矩形框在栅格地图中移动路径和实时框定的间隔分布的障碍物的栅格数目的运算复杂度,缩短8个遍历方向上的定位矩形框的移动时间。
然后当判断到所有的定位矩形框都停止移动时,把以正方形框A11的构建起点为开始点四周移动所框定的障碍物的栅格标记为所述密集障碍物点,这些标记的密集障碍物点组成一个所述密集障碍物区。
最后应当说明的是:以上实施例仅用以说明本发明的技术方案而非对其限制;尽管参照较佳实施例对本发明进行了详细的说明,所属领域的普通技术人员应当理解:依然可以对本发明的具体实施方式进行修改或者对部分技术特征进行等同替换;而不脱离本发明技术方案的精神,其均应涵盖在本发明请求保护的技术方案范围当中。
Claims (16)
1.一种导航至密集障碍物的移动控制方法,其特征在于,该移动控制方法包括:
步骤1、根据障碍物的栅格在栅格地图中被预先设置的滑动矩形框框定的数目特征,标记出密集障碍物点,然后进入步骤2;
步骤2、根据栅格地图中标记出的密集障碍物点,规划出终点位置是对应密集障碍物点且没有经过其他的障碍物的栅格的导航路径;然后进入步骤3;
步骤3、控制清洁机器人按照第一预设导航路径向待清扫的密集障碍物点对应的实际位置导航移动的过程中,如果检测到碰撞上障碍物,则控制所述清洁机器人开始绕这个障碍物行走一圈,并保持实时检测所述清洁机器人是否移动至待清扫的密集障碍物点对应的实际位置,是则进入步骤4,否则进入步骤5;其中,待清扫的密集障碍物点是预先配置的用于清洁机器人清扫的密集障碍物点;
步骤4、确定所述清洁机器人已经移动至待清扫的密集障碍物点对应的实际位置;
步骤5、在所述清洁机器人完成绕同一障碍物行走一圈后,若检测到所述清洁机器人没有移动至所述待清扫的密集障碍物点对应的实际位置,然后进入步骤6;
步骤6、判断步骤5执行的次数是否达到3,是则确定所述清洁机器人无法导航至所述待清扫的密集障碍物点对应的实际位置,否则进入步骤7;
步骤7、从所述步骤2规划好的所有导航路径中搜索出第二预设导航路径,使得第二预设导航路径的终点栅格位置为所述待清扫的密集障碍物点;然后进入步骤8;在步骤7中,第二预设导航路径不同于第一预设导航路径;
步骤8、控制所述清洁机器人沿着步骤7搜索出的第二预设导航路径移动,并重复步骤3至步骤7,直到进入步骤4或判断到所述步骤5执行的次数达到3;
其中,由步骤8返回所述步骤3后,步骤3的第一预设导航路径被替换为步骤7搜索出的第二预设导航路径;
其中,所述步骤2规划出的导航路径包括第一预设导航路径和第二预设导航路径。
2.根据权利要求1所述移动控制方法,其特征在于,所述检测所述清洁机器人是否移动至所述待清扫的密集障碍物点对应的实际位置的方法为:
若所述清洁机器人当前位置与所述待清扫的密集障碍物点对应的实际位置的距离小于所述清洁机器人的机身直径的四分之一,则确定所述清洁机器人移动至所述待清扫的密集障碍物点对应的实际位置,否则确定所述清洁机器人没有移动至所述待清扫的密集障碍物点对应的实际位置。
3.根据权利要求2所述移动控制方法,其特征在于,所述清洁机器人完成绕障碍物行走一圈的判断方法包括:
在控制所述清洁机器人绕障碍物行走一圈之前,获取所述清洁机器人与障碍物的碰撞位置;
然后控制所述清洁机器人从碰撞位置开始绕障碍物行走,并实时判断所述清洁机器人转动的角度是否大于或等于360度,同时判断所述清洁机器人当前位置与所述碰撞位置的距离是否小于所述清洁机器人的机身直径的四分之一,如果所述转动的角度的判断条件和所述距离的判断条件都成立,那么确定所述清洁机器人已经完成绕这个障碍物行走一圈,否则确定所述清洁机器人没有完成绕这个障碍物行走一圈。
4.根据权利要求2所述移动控制方法,其特征在于,所述清洁机器人完成绕障碍物行走一圈的判断方法包括:
在控制所述清洁机器人绕障碍物行走一圈之前,获取所述清洁机器人与障碍物的碰撞位置;
然后控制所述清洁机器人从碰撞位置开始绕障碍物行走,并实时判断所述清洁机器人转动的角度是否大于或等于400度,是则确定所述清洁机器人已经完成绕这个障碍物行走一圈,否则确定所述清洁机器人没有完成绕这个障碍物行走一圈。
5.根据权利要求3或4所述移动控制方法,其特征在于,在执行所述步骤4之后,如果检测到碰撞上所述待清扫的密集障碍物点处对应的障碍物,则控制所述清洁机器人开始绕所述待清扫的密集障碍物点处对应的障碍物行走一圈,当所述清洁机器人完成绕所述待清扫的密集障碍物点处对应的障碍物行走一圈后,实现对所述待清扫的密集障碍物点处对应的障碍物的轮廓的遍历清扫。
6.根据权利要求5所述移动控制方法,其特征在于,在所述清洁机器人已经移动至待清扫的密集障碍物点对应的实际位置后,如果检测到所述清洁机器人直接穿过所述待清扫的密集障碍物点对应的实际位置,则将所述待清扫的密集障碍物点标记为已清扫空地状态。
7.根据权利要求6所述移动控制方法,其特征在于,当所述清洁机器人沿着所述步骤2规划的导航路径导航遍历所有已标记的密集障碍物点后,控制所述清洁机器人移动至未遍历区域,然后返回所述步骤1以标记出新的密集障碍物点,再重复前述步骤,直到所述清洁机器人遍历完所述栅格地图对应的全部区域。
8.根据权利要求7所述移动控制方法,其特征在于,所述步骤1具体包括:
步骤11、控制清洁机器人在待清洁区域内按照预设弓字形规划路径进行清扫,其中,当清洁机器人在清扫过程中检测到障碍物时,控制清洁机器人在实时构建的栅格地图中标记出障碍物的栅格但不绕过这个障碍物;障碍物的栅格包括间隔分布的障碍物的栅格;
步骤12、根据滑动矩形框在栅格地图滑动的过程中所框定的间隔分布的障碍物的栅格数目,在栅格地图上设置密集障碍物标准单元区域,然后以密集障碍物标准单元区域的中心为构建起点,设置预设数量的与滑动矩形框的尺寸大小相同的定位矩形框,再控制这些定位矩形框从构建起点处开始,分别沿着栅格地图上的预设数量的关于构建起点中心对称的遍历方向移动;其中,所述滑动矩形框是在实时构建的栅格地图上设置的;
步骤13、根据每个定位矩形框在移动后相对于移动前框定的新区域的面积与对应的定位矩形框在移动前框定的区域面积的比值与同一定位矩形框在移动前后的所框定的间隔分布的障碍物的栅格数目的变化量之间的关系,控制每个定位矩形框是否朝对应的遍历方向继续移动,同时将每个定位矩形框所框定过的间隔分布的障碍物的栅格标记为密集障碍物点;其中,每个定位矩形框都被配置为按照一个单位遍历距离进行对应的遍历方向的一次移动。
9.根据权利要求8所述移动控制方法,其特征在于,所述步骤1还包括:步骤14、当预设数量的定位矩形框都停止移动时,将标记过的所有密集障碍物点对应的栅格组合构建为密集障碍物区。
10.根据权利要求9所述移动控制方法,其特征在于,所述间隔分布的障碍物的栅格是:在所述步骤11标记出的障碍物的栅格中,除了连续分布的N个障碍物的栅格后之外的障碍物的栅格;
其中,连续分布的N个障碍物的栅格都被标记为已清扫空旷状态,N是根据所述栅格地图中的预先配置的栅格尺寸大小和所述待清洁区域内标记的障碍物的实际尺寸设置的连续分布的栅格的数量。
11.根据权利要求10所述移动控制方法,其特征在于,在所述步骤12中,所述在栅格地图上设置密集障碍物标准单元区域的方法包括:
控制所述滑动矩形框在栅格地图上滑动,同时将所述滑动矩形框在栅格地图框定的间隔分布的障碍物的栅格标记为未清扫状态,并实时记录这些框定的间隔分布的障碍物的栅格的数目;
当所述滑动矩形框框定的间隔分布的障碍物的栅格的数目大于或等于第一密集阈值时,将滑动矩形框当前框定的矩形区域设置为所述密集障碍物标准单元区域;
其中,第一密集阈值用于表示所述密集障碍物点在栅格地图中分布的密集程度,足以让所述间隔分布的障碍物之间的空隙区域成为所述清洁机器人的漏扫区域。
12.根据权利要求11所述移动控制方法,其特征在于,在所述步骤13中,所述根据每个定位矩形框在移动后相对于移动前框定的新区域的面积与对应的定位矩形框在移动前框定的区域面积的比值与同一定位矩形框在移动前后的所框定的间隔分布的障碍物的栅格数目的大小变化量之间的关系,控制每个定位矩形框是否朝对应的遍历方向继续移动的方法包括:
每当存在其中一个定位矩形框朝对应的遍历方向发生一次所述单位遍历距离的移动时,判断移动之后的这个定位矩形框所框定的间隔分布的障碍物的栅格数目与移动之前的这个定位矩形框所框定的间隔分布的障碍物的栅格数目的比值是否大于或等于移动之后的这个定位矩形框中的没与移动之前的这个定位矩形框重叠的区域的面积占比,是则控制这个定位矩形框继续朝同一遍历方向移动所述单位遍历距离,否则控制这个定位矩形框停止移动;
其中,移动之后的这个定位矩形框中的没与移动之前的这个定位矩形框重叠的区域的面积占比是这个定位矩形框在移动之后相对于移动之前框定的新区域的面积与同一定位矩形框在移动之前框定的区域面积的比值。
13.根据权利要求10至12任一项所述移动控制方法,其特征在于,所述定位矩形框是正方形框,所述预设数量是8;
所述关于所述构建起点中心对称的遍历方向包括:设置为所述密集障碍物标准单元区域的正方形框的横向边长向右方向、设置为所述密集障碍物标准单元区域的正方形框的横向边长向左方向、设置为所述密集障碍物标准单元区域的正方形框的纵向边长向上方向、设置为所述密集障碍物标准单元区域的正方形框的纵向边长向下方向、设置为所述密集障碍物标准单元区域的正方形框的对角线的左上指向、设置为所述密集障碍物标准单元区域的正方形框的对角线的左下指向、设置为所述密集障碍物标准单元区域的正方形框的对角线的右上指向、设置为所述密集障碍物标准单元区域的正方形框的对角线的右下指向。
14.根据权利要求10所述移动控制方法,其特征在于,所述步骤11中,所述控制清洁机器人在待清洁区域内按照预设弓字形规划路径进行清扫,当清洁机器人在清扫过程中检测到障碍物时,不绕过这个障碍物的方式包括:
控制所述清洁机器人沿着所述预设弓字形规划路径行走,当所述清洁机器人在所述预设弓字形规划路径的预设直线路径碰撞到障碍物时,控制所述清洁机器人的机身旋转预设角度,使得所述清洁机器人通过调整当前的前进方向来移动至与预设直线路径段间隔预设距离的未清扫直线路径上;
其中,这个未清扫直线路径是属于所述预设弓字形规划路径并与预设直线路径的方向平行;预设距离是所述预设弓字形规划路径的相邻两个平行的直线路径的间隔距离的预设倍数,这个预设倍数与所述清洁机器人当前碰撞的障碍物的尺寸大小相关;
其中,所述清洁机器人从所述预设直线路径移动至间隔所述预设距离的未清扫直线路径的过程中都在执行清扫作业。
15.根据权利要求14所述移动控制方法,其特征在于,在控制所述清洁机器人的机身旋转所述预设角度的过程中,如果所述清洁机器人检测到碰撞上障碍物,则控制所述清洁机器人沿这个障碍物的边缘行走,直至到达与所述预设直线路径间隔所述预设距离的未清扫直线路径上以维持弓字形规划清扫,但没有完全绕过这个障碍物。
16.根据权利要求15所述移动控制方法,其特征在于,在控制所述清洁机器人从一个预设起点位置移动至所述预设直线路径的过程中,如果检测到碰撞上障碍物,那么控制所述清洁机器人搜索所述预设弓字形规划路径的其他的未清扫直线路径,使得所述清洁机器人按照搜索出的未清扫路径继续进行清扫以避开搜索前所检测到的障碍物;
其中,这个预设起点位置是位于所述预设直线路径之外。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011043438.XA CN112180924B (zh) | 2020-09-28 | 2020-09-28 | 一种导航至密集障碍物的移动控制方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011043438.XA CN112180924B (zh) | 2020-09-28 | 2020-09-28 | 一种导航至密集障碍物的移动控制方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112180924A true CN112180924A (zh) | 2021-01-05 |
CN112180924B CN112180924B (zh) | 2024-04-02 |
Family
ID=73945526
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011043438.XA Active CN112180924B (zh) | 2020-09-28 | 2020-09-28 | 一种导航至密集障碍物的移动控制方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112180924B (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113219975A (zh) * | 2021-05-08 | 2021-08-06 | 珠海市一微半导体有限公司 | 一种路线优化方法、路径规划方法、芯片及机器人 |
WO2022062470A1 (zh) * | 2020-09-28 | 2022-03-31 | 珠海一微半导体股份有限公司 | 一种基于密集障碍物的清扫控制方法 |
CN114397893A (zh) * | 2021-12-28 | 2022-04-26 | 深圳市银星智能科技股份有限公司 | 路径规划方法、机器人清扫方法及相关设备 |
CN115444325A (zh) * | 2022-07-21 | 2022-12-09 | 深圳银星智能集团股份有限公司 | 二次清洁方法、装置、清洁机器人及存储介质 |
CN118466522A (zh) * | 2024-07-11 | 2024-08-09 | 杭州涂鸦信息技术有限公司 | 机器人行走路径规划方法、装置、电子设备及存储介质 |
WO2024179316A1 (zh) * | 2023-02-27 | 2024-09-06 | 北京石头创新科技有限公司 | 路径规划方法、路径规划方法的相关设备和机器人 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20090018562A (ko) * | 2007-08-17 | 2009-02-20 | 삼성전자주식회사 | 로봇청소기 및 그 제어방법 |
CN110083165A (zh) * | 2019-05-21 | 2019-08-02 | 大连大学 | 一种机器人在复杂狭窄环境下路径规划方法 |
CN110251000A (zh) * | 2019-05-20 | 2019-09-20 | 广东宝乐机器人股份有限公司 | 一种提高扫地机器人清洁效率的方法 |
KR20200078956A (ko) * | 2018-12-24 | 2020-07-02 | 한국과학기술연구원 | 효율적인 장애물 제거 방법 |
CN111374596A (zh) * | 2018-12-28 | 2020-07-07 | 珠海市一微半导体有限公司 | 基于区域规划的扫地机器人作业方法、装置和清洁系统 |
-
2020
- 2020-09-28 CN CN202011043438.XA patent/CN112180924B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20090018562A (ko) * | 2007-08-17 | 2009-02-20 | 삼성전자주식회사 | 로봇청소기 및 그 제어방법 |
KR20200078956A (ko) * | 2018-12-24 | 2020-07-02 | 한국과학기술연구원 | 효율적인 장애물 제거 방법 |
CN111374596A (zh) * | 2018-12-28 | 2020-07-07 | 珠海市一微半导体有限公司 | 基于区域规划的扫地机器人作业方法、装置和清洁系统 |
CN110251000A (zh) * | 2019-05-20 | 2019-09-20 | 广东宝乐机器人股份有限公司 | 一种提高扫地机器人清洁效率的方法 |
CN110083165A (zh) * | 2019-05-21 | 2019-08-02 | 大连大学 | 一种机器人在复杂狭窄环境下路径规划方法 |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2022062470A1 (zh) * | 2020-09-28 | 2022-03-31 | 珠海一微半导体股份有限公司 | 一种基于密集障碍物的清扫控制方法 |
CN113219975A (zh) * | 2021-05-08 | 2021-08-06 | 珠海市一微半导体有限公司 | 一种路线优化方法、路径规划方法、芯片及机器人 |
CN113219975B (zh) * | 2021-05-08 | 2024-04-05 | 珠海一微半导体股份有限公司 | 一种路线优化方法、路径规划方法、芯片及机器人 |
CN114397893A (zh) * | 2021-12-28 | 2022-04-26 | 深圳市银星智能科技股份有限公司 | 路径规划方法、机器人清扫方法及相关设备 |
CN114397893B (zh) * | 2021-12-28 | 2024-02-02 | 深圳银星智能集团股份有限公司 | 路径规划方法、机器人清扫方法及相关设备 |
CN115444325A (zh) * | 2022-07-21 | 2022-12-09 | 深圳银星智能集团股份有限公司 | 二次清洁方法、装置、清洁机器人及存储介质 |
WO2024179316A1 (zh) * | 2023-02-27 | 2024-09-06 | 北京石头创新科技有限公司 | 路径规划方法、路径规划方法的相关设备和机器人 |
CN118466522A (zh) * | 2024-07-11 | 2024-08-09 | 杭州涂鸦信息技术有限公司 | 机器人行走路径规划方法、装置、电子设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN112180924B (zh) | 2024-04-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112137529B (zh) | 一种基于密集障碍物的清扫控制方法 | |
CN112180924A (zh) | 一种导航至密集障碍物的移动控制方法 | |
CN108507578B (zh) | 一种机器人的导航方法 | |
CN109240312B (zh) | 一种机器人的清扫控制方法和芯片以及清洁机器人 | |
CN112799398B (zh) | 基于寻径代价的清洁路径规划方法、芯片及清洁机器人 | |
CN110362079B (zh) | 机器人的遍历控制方法和芯片以及清洁机器人 | |
CN111830970B (zh) | 一种机器人沿边行走的区域清扫规划方法、芯片及机器人 | |
EP3764186B1 (en) | Method for controlling autonomous mobile robot to travel along edge | |
CN110338715B (zh) | 智能机器人清洁地面的方法和芯片以及清洁机器人 | |
KR101372482B1 (ko) | 이동 로봇의 경로 계획 방법 및 장치 | |
CN109528090A (zh) | 一种机器人的区域遍历方法和芯片以及清洁机器人 | |
CN109298717A (zh) | 智能机器人的清扫方法和芯片以及智能清洁机器人 | |
CN107390698A (zh) | 扫地机器人的补扫方法及芯片 | |
CN109997089A (zh) | 地面处理机和地面处理方法 | |
US9599987B2 (en) | Autonomous mobile robot and method for operating the same | |
CN113110497A (zh) | 基于导航路径的沿边绕障路径选择方法、芯片及机器人 | |
CN112764418A (zh) | 基于寻径代价的清洁入口位置确定方法、芯片及机器人 | |
CN109298716B (zh) | 一种机器人的规划清扫方法和芯片 | |
CN114397893A (zh) | 路径规划方法、机器人清扫方法及相关设备 | |
CN111240322B (zh) | 机器人移动限制框的工作起点确定方法及运动控制方法 | |
CN112155477B (zh) | 一种基于栅格地图的密集障碍物点标记方法 | |
CN111897336B (zh) | 一种机器人沿边行为结束的判断方法、芯片及机器人 | |
CN115444325A (zh) | 二次清洁方法、装置、清洁机器人及存储介质 | |
CN117193277A (zh) | 基于地图区域轮廓的设置方法与机器人沿边结束控制方法 | |
CN117652916A (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 | ||
CB02 | Change of applicant information | ||
CB02 | Change of applicant information |
Address after: 519000 2706, No. 3000, Huandao East Road, Hengqin new area, Zhuhai, Guangdong Applicant after: Zhuhai Yiwei Semiconductor Co.,Ltd. Address before: Room 105-514, No.6 Baohua Road, Hengqin New District, Zhuhai City, Guangdong Province Applicant before: AMICRO SEMICONDUCTOR Co.,Ltd. |
|
GR01 | Patent grant | ||
GR01 | Patent grant |