CN107390698A - 扫地机器人的补扫方法及芯片 - Google Patents
扫地机器人的补扫方法及芯片 Download PDFInfo
- Publication number
- CN107390698A CN107390698A CN201710770238.6A CN201710770238A CN107390698A CN 107390698 A CN107390698 A CN 107390698A CN 201710770238 A CN201710770238 A CN 201710770238A CN 107390698 A CN107390698 A CN 107390698A
- Authority
- CN
- China
- Prior art keywords
- point
- entrance
- sweeping area
- advanced positions
- cleaning
- 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
- 238000010408 sweeping Methods 0.000 title claims abstract description 158
- 238000000034 method Methods 0.000 title claims abstract description 37
- 238000004140 cleaning Methods 0.000 claims abstract description 120
- 238000005461 lubrication Methods 0.000 claims description 17
- 230000004888 barrier function Effects 0.000 claims description 10
- 238000004458 analytical method Methods 0.000 abstract description 3
- 238000010586 diagram Methods 0.000 description 3
- 238000010845 search algorithm Methods 0.000 description 3
- 238000001514 detection method Methods 0.000 description 2
- 241001046947 Ectropis obliqua Species 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000006073 displacement reaction Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 239000003550 marker Substances 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 238000010926 purge 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 or altitude of land, water, air, or space vehicles, e.g. automatic pilot
- 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
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course or altitude of land, water, air, or space vehicles, e.g. automatic pilot
- 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/0268—Control of position or course in two dimensions specially adapted to land vehicles using internal positioning means
- G05D1/0274—Control of position or course in two dimensions specially adapted to land vehicles using internal positioning means using mapping information stored in a memory device
Abstract
发明涉及一种扫地机器人的补扫方法及芯片,通过对已清扫区和未清扫区的每条入口边界的入口参考点进行择优选取,确定最佳入口点,再通过入口选择条件从最佳入口点中选取一个作为清扫起始点,并依照预设清扫条件进行区域清扫。这种补扫方法不需要做任何标记位置点,只需要将栅格地图中已清扫区和未清扫区的每条入口边界的端点作为入口参考点进行择优选取,即使未清扫区的形状很复杂,只要对其每条边界都进行分析判断,从中选取最佳入口点,就可以更客观、更灵活、更准确地确定未清扫区的清扫起始点,从而选择最适合的未清扫区优选进行清扫。同时,按照所述预设清扫条件对该区域进行清扫,还能避免现有的简单从标记位置点开始以弓字型清扫方式所带来的漏扫问题,保证清扫的全面性和完整性。
Description
技术领域
本发明涉及机器人领域,具体涉及一种扫地机器人的补扫方法及芯片。
背景技术
现有的扫地机器人,在常规的弓字型清扫过程中,会在未清扫区的边界处做一个标记位置点,然后在查漏补扫过程中,通过搜索栅格地图查找出所有的未清扫区的标记位置点,接着再通过路径搜索算法选择与当前位置的距离最近的一个最佳位置点,最后再导航到那个最佳位置点,优选对该区域进行清扫,清扫完该区域后再选择下一个距离最近的最佳位置点进行清扫,以此类推,直到所有未清扫区都清扫完毕。其中,最佳位置点与当前位置的距离不是直线距离,而是可达路径距离,机器人会在一次路径搜索中把所有到达标记位置点的路径都搜索出来,然后对比各个路径的长短。由于未清扫区的形状一般都比较复杂,不是很规则。如果标记位置点标记的位置不合理,机器人按弓字型方式清扫时,会导致该未清扫区的部分地方漏扫。所以,这种简单依靠标记位置点和可达路径距离来选择优选补扫区域进行补扫的方式,灵活性较差,补扫效率比较低,无法满足一些复杂环境的清扫需求。
发明内容
为解决上述问题,本发明提供了一种扫地机器人的补扫方法及芯片,可以提高补扫的效率和灵活性。本发明的具体技术方案如下:
一种扫地机器人的补扫方法,包括如下步骤:
基于栅格地图,确定已清扫区和未清扫区的入口边界;
基于每条所述入口边界的两端的端点分别作为两个入口参考点;
根据入口选择条件在每条所述入口边界的两个所述入口参考点中确定一个最佳入口点;
根据优先清扫条件确定其中一个最佳入口点为优先清扫区的清扫起始点;
从当前位置点行进至所述清扫起始点,按预设清扫条件清扫所述优先清扫区;
清扫完毕后,再根据入口选择条件和优先清扫条件确定下一个最佳入口点为下一个优先清扫区的清扫起始点,以此类推,至所有满足未清扫区清扫条件的未清扫区都清扫完毕为止。
进一步地,所述根据入口选择条件在每条所述入口边界的两个所述入口参考点中确定一个最佳入口点,包括如下步骤:
以当前位置点作为坐标原点建立XY轴坐标系;
分析同一条所述入口边界的两个所述入口参考点的坐标位置;
当两个所述入口参考点的X轴值相同,则选择与当前位置点距离最近的所述入口参考点作为最佳入口点;
当两个所述入口参考点的Y轴值相同,则选择与当前位置点距离最近的所述入口参考点作为最佳入口点;
当两个所述入口参考点的X轴值和Y轴值都不相同,则判断未清扫区与已清扫区的位置关系;如果未清扫区在已清扫区的左边,则选择X轴值大的所述入口参考点作为最佳入口点;如果未清扫区在已清扫区的右边,则选择X轴值小的所述入口参考点作为最佳入口点。
进一步地,所述根据优先清扫条件确定其中一个最佳入口点为优先清扫区的清扫起始点,包括如下步骤:
在一个未清扫区中选择与一个与当前位置点距离最近的所述最佳入口点作为优先清扫参考点;
选择与当前位置点距离最近的两个所述优先清扫参考点;
判断当前位置点分别到两个所述优先清扫参考点的距离差值是否小于预设距离值;
如是,则选择长度较长的所述入口边界所对应的所述优先清扫参考点作为清扫起始点;
如否,则选择与当前位置点的距离最近的那一个所述优先清扫参考点作为清扫起始点。
进一步地,所述按预设清扫条件清扫所述优先清扫区,包括如下步骤:
判断所述清扫起始点所在的所述入口边界的两个端点的位置关系;
当两个端点的X轴值相同时,则从清扫起始点开始,直接朝所述入口边界的另一个端点行进,按弧角弓字型的轨迹形式清扫未清扫区;
当两个端点的Y轴值相同时;如果未清扫区位于所述入口边界的上方,则从清扫起始点开始,沿Y轴正方向行进,按弧角弓字型的轨迹形式清扫未清扫区;如果未清扫区位于所述入口边界的下方,则从清扫起始点开始,沿Y轴负方向行进,按弧角弓字型的轨迹形式清扫未清扫区;
当两个端点的X轴值和Y轴值都不相同时,则从清扫起始点开始,沿垂直另一个端点所在的X轴的方向行进,按弧角弓字型的轨迹形式清扫未清扫区。
进一步地,判断是否满足所述未清扫区清扫条件,包括如下步骤:
判断一个所述漏清扫区的所有所述入口边界的长度是否都小于预设入口长度;
如果是,则所述入口边界所对应的所述漏清扫区不满足所述漏清扫区清扫条件;
如果否,则所述入口边界所对应的所述漏清扫区满足所述漏清扫区清扫条件。
进一步地,所述基于栅格地图,确定已清扫区和未清扫区的入口边界,包括如下步骤:
基于栅格地图中的栅格区域,确定所述栅格区域中已清扫区和未清扫区的入口边界,其中,所述栅格区域为按预定长度和预定宽度对栅格地图进行划分所形成的单个区域;
或者,
基于栅格地图中的全局区域,确定所述全局区域中已清扫区和未清扫区的入口边界,其中,所述全局区域为若干个所述栅格区域所组成的区域;
其中,所述栅格地图为基于栅格单元所构成的平面地图,机器人把所述栅格地图中已行进过的栅格单元标示为已扫单元,把检测到障碍物的栅格单元标示为障碍单元;把未行进过的单元标示为未扫单元。
进一步地,所述从当前位置点行进至所述清扫起始点,包括如下步骤:
搜索栅格地图,确定由预行进位置点连接的从当前位置点到所述清扫起始点的路径为预行进路径;
基于当前位置点所对应的当前栅格单元,确定在预行进路径方向上的下一个栅格单元为路径参考单元;
判断所述路径参考单元在垂直预行进路径方向的任意一侧的预设距离内的栅格单元是否为障碍单元;
如果否,则将所述路径参考单元所对应的所述预行进位置点作为行进位置点;
如果是,则判断另一侧的在预设距离内的栅格单元是否为障碍单元;
如果否,则将与所述路径参考单元所对应的所述预行进位置点在远离障碍单元的方向偏移设定距离的位置点作为行进位置点;
如果是,则将所述路径参考单元所对应的所述预行进位置点作为行进位置点;
接着,以再下一个栅格单元作为路径参考单元进行判断,以此类推,至所判断的栅格单元为所述清扫起始点所在的栅格单元,则结束判断;
确定由行进位置点连接的从当前位置点到清扫起始点的路径为行进路径。
进一步地,所述从当前位置点行进至所述清扫起始点,还包括如下步骤:
如果所述路径参考单元的前方的预设距离内的栅格单元为障碍单元,则判断在垂直预行进路径方向的任意一侧的预设距离内的栅格单元是否为障碍单元;
如果是,则将所述路径参考单元所对应的预行进位置点在第一预设方向偏移设定距离的位置点作为行进位置点,其中,所述第一预设方向为远离侧边障碍单元的方向和远离前方障碍单元的方向的合方向;
如果否,则将当前栅格单元所对应的预行进位置点在第二预设方向偏移设定距离的位置点作为行进位置点,其中,所述第二预设方向为在预行进路径方向上所述路径参考单元到下一个栅格单元的方向与远离前方障碍单元的方向的合方向。
进一步地,所述预行进位置点的坐标值的确定,包括如下步骤:
确定所述行进路径上的栅格单元的坐标值为(X,Y);
确定栅格单元的长度为h,宽度为w;
确定所述预行进位置点的坐标值为(x,y),则x=X*h+h/2,y=Y*w+w/2。
进一步地,所述确定由行进位置点连接的从当前位置点到清扫起始点的路径为行进路径的步骤之后,还包括如下步骤:
基于所述行进路径,确定当前行进位置点、下一个行进位置点和再下一个行进位置点;
确定从所述当前位置点到所述下一个行进位置点的方向作为当前方向;
确定从所述下一个行进位置点到所述再下一个行进位置点的方向作为待变方向;
从所述当前位置点朝所述下一个行进位置点行进预定距离时,判断所述待变方向是否与所述当前方向相同;
如果是,则保持当前方向和当前速度继续行进;
如果否,则调整当前方向和当前速度,使从所述当前位置点行进至预定距离时的位置点到所述再下一个行进位置点之间的行进轨迹为弧形轨迹;
以此类推,至所述再下一个行进位置点为所述清扫起始点;
将调整后的行进路径作为最优行进路径。
进一步地,所述调整当前方向和当前速度,使从所述当前位置点行进至预定距离时的位置点到所述再下一个行进位置点之间的行进轨迹为弧形轨迹,包括如下步骤:
基于当前速度,预估下一时段行进的预计行进距离;
判断所述预计行进距离是否大于从所述当前位置点朝所述下一个行进位置点行进预定距离后距所述下一个行进位置点的剩余距离;
如果否,则继续基于当前速度行进;
如果是,则降低当前速度,并调整内轮和外轮的速度差,使行进方向从所述当前方向逐渐转到与所述待变方向相同的方向。
进一步地,所述调整内轮和外轮的速度差,使行进方向从所述当前方向逐渐转到与所述待变方向相同的方向,包括如下步骤:
判断所述待变方向与所述当前方向之间的角度是否小于或等于45°;
如果是,则使所述内轮速度为所述外轮速度的四分之一;
如果否,则使所述内轮速度为所述外轮速度的六分之一;
计算未来时间段内,内轮和外轮的预行进距离差,所述预行进距离差为所述外轮和所述内轮的速度差的绝对值与所述未来时间段的乘积;
计算得出所述运动角度预变量,所述运动角度预变量为所述预行进距离差除以所述内轮和所述外轮之间的宽度;
判断所述行进方向与所述待变方向之间的角度是否小于所述运动角度预变量;
如果否,则保持当前的外轮速度和内轮速度;
如果是,则调整外轮速度或者内轮速度,使外轮速度和内轮速度相同。
一种芯片,用于存储程序,所述程序用于控制机器人执行上述的补扫方法。
本发明的有益效果在于:通过对已清扫区和未清扫区的每条入口边界的入口参考点进行择优选取,确定最佳入口点,再通过入口选择条件从最佳入口点中选取一个作为清扫起始点,并依照预设清扫条件进行区域清扫。这种补扫方法不需要做任何标记位置点,只需要将栅格地图中已清扫区和未清扫区的每条入口边界的端点作为入口参考点进行择优选取,即使未清扫区的形状很复杂,只要对其每条边界都进行分析判断,从中选取最佳入口点,就可以更客观、更灵活、更准确地确定未清扫区的清扫起始点,从而选择最适合的未清扫区优选进行清扫。同时,按照所述预设清扫条件对该区域进行清扫,还能避免现有的简单从标记位置点开始以弓字型清扫方式所带来的漏扫问题,保证清扫的全面性和完整性。
附图说明
图1为本发明的栅格区域的栅格示意地图。
图2为本发明的确定行进路径的方法流程图。
图3为本发明的最优行进路径的栅格示意图。
图4为本发明的最优行进路径进行弧形优化后的栅格示意图。
具体实施方式
下面结合附图对本发明的具体实施方式作进一步说明:
扫地机器人在进行清扫时,一般会以充电座或者其它某个位置点为原点,开始进行弓字型清扫。所谓弓字型清扫是指机器人沿直线移动路径直线行进至转弯点时,转向90°后行进一定宽度,然后再转向90°,使当前行进方向与原来的直线移动路径方向相反,接着继续行进至下一个转弯点。由于机器人按此方式行进的轨迹类似弓字,故称之为弓字形清扫。所述转弯点为机器人达到区域的边界时或者检测到墙壁等符合转弯条件的障碍物时的位置点。
如图1所示,带有箭头的线路表示机器人的行进轨迹。最外侧的四条边所组成的一个最大的长方形,则表示栅格区域的边界。起点A为机器人开始行进的点,带有箭头的直线AB为机器人行进的第一条直线移动路径,箭头所指的方向为第一方向。当机器人行进至转弯点B时,按弧形轨迹进行掉头,当掉头至位置点C时,机器人行进的方向与所述第一条直线移动路径上的行进方向相反(即第二方向),该条行进方向相反的直线CD作为机器人行进的第二条直线移动路径,位置点C作为第二条直线移动路径的起点, 位置点D则作为第二条直线移动路径的转弯点。图中所示,带箭头的竖直线表示的路径都是机器人的直线移动路径,首尾两端连接相邻两条直线移动路径的弧线段则表示机器人掉头的掉头路径。如图,直线EF为第三条直线移动路径;相邻所述第三条直线移动路径的右侧的直线GH为第四条直线移动路径,以此类推。
本发明所述的扫地机器人的补扫方法,包括如下步骤:基于栅格地图,确定已清扫区和未清扫区的入口边界;基于每条所述入口边界的两端的端点分别作为两个入口参考点;根据入口选择条件在每条所述入口边界的两个所述入口参考点中确定一个最佳入口点;根据优先清扫条件确定其中一个最佳入口点为优先清扫区的清扫起始点;从当前位置点行进至所述清扫起始点,按预设清扫条件清扫所述优先清扫区;清扫完毕后,再根据入口选择条件和优先清扫条件确定下一个最佳入口点为下一个优先清扫区的清扫起始点,以此类推,至所有满足未清扫区清扫条件的未清扫区都清扫完毕为止。如图1所示的一个栅格区域的示意地图(大部分栅格未画出),机器人从A点出发,以弧角弓字型的方式清扫至B点,此时,已完成栅格区域的常规清扫。在常规清扫过程中,机器人将清扫过的栅格单元标示为已扫单元,将碰到障碍物的栅格单元标示为障碍单元(即图中标示X的方格),将未清扫过的栅格单元标示为未扫单元,最终形成图1所示的示意结构,图中,弧角弓字型路线占据的区域为已清扫区,虚线框内的区域为未清扫区。常规清扫完成后,需要进行未清扫区的补扫,所以要先确定已清扫区和未清扫区的入口边界(即图中d1点至d2点之间的线段、c1点至c2点之间的线段、c3点至c4点之间的线段等),把d1点、d2点、c1点、c2点、c3点和c4点等作为入口参考点,再在d1点和d2点中选择一个作为最佳入口点,c1点和c2点选择一个作为最佳入口点、c3点和c4点选择一个作为最佳入口点等。最后在所选的最佳入口点中确定一个作为优先清扫区的优先清扫点,机器人从B点行进至该优先清扫点,开始对该区域进行清扫。清扫完该区域后,再以该区域的清扫结束点作为当前位置点,继续判断下一个优先清扫区,至所有未清扫区清扫完毕。本发明所述的补扫方法,通过对已清扫区和未清扫区的每条入口边界的入口参考点进行择优选取,确定最佳入口点,再通过入口选择条件从最佳入口点中选取一个作为清扫起始点,并依照预设清扫条件进行区域清扫。这种补扫方法不需要做任何标记位置点,只需要将栅格地图中已清扫区和未清扫区的每条入口边界的端点作为入口参考点进行择优选取,即使未清扫区的形状很复杂,只要对其每条边界都进行分析判断,从中选取最佳入口点,就可以更客观、更灵活、更准确地确定未清扫区的清扫起始点,从而选择最适合的未清扫区优选进行清扫。同时,按照所述预设清扫条件对该区域进行清扫,还能避免现有的简单从标记位置点开始以弓字型清扫方式所带来的漏扫问题,保证清扫的全面性和完整性。
优选的,所述根据入口选择条件在每条所述入口边界的两个所述入口参考点中确定一个最佳入口点,包括如下步骤:以当前位置点作为坐标原点建立XY轴坐标系;分析同一条所述入口边界的两个所述入口参考点的坐标位置;当两个所述入口参考点的X轴值相同,则选择与当前位置点距离最近的所述入口参考点作为最佳入口点;当两个所述入口参考点的Y轴值相同,则选择与当前位置点距离最近的所述入口参考点作为最佳入口点;当两个所述入口参考点的X轴值和Y轴值都不相同,则判断未清扫区与已清扫区的位置关系;如果未清扫区在已清扫区的左边,则选择X轴值大的所述入口参考点作为最佳入口点;如果未清扫区在已清扫区的右边,则选择X轴值小的所述入口参考点作为最佳入口点。如图1所示,机器人行进至B点时,B点作为当前位置点,以B点为原点建立一个XY轴坐标系,分析未清扫区中的a区的两条入口边界a1-a3边界和a4-a5边界(由于a1-a2边界和a2-a3边界互相连接,可以作为一条入口边界)的a1点和a3点、a4点和a5点的坐标位置,由于a1点和a3点相对于坐标原点(B点)的X轴值和Y轴值都不同,且a区在已清扫区的左侧,所以选择X轴值大的a1点作为最佳入口点(由于a1点和a3点的X轴值都为负值,所以,在X轴方向距离原点越近的点,X轴值越大)。由于a4点和a5点的Y轴值相同,所以,选择与当前位置点距离最近的a5点作为a区的另一个最佳入口点。
同理,选择b2点、b4点和b8点作为b区的最佳入口点;选择c1点、c5点和c4点作为c区的最佳入口点;选择d1点作为d区的最佳入口点。
通过所述入口选择条件,可以对每个未清扫区的每条入口边界都进行分析,从中选取最佳入口点作为后续的优先清扫参考点的选择对象,如此,即使未清扫区的形状很复杂,也可以全面有效地分析哪个位置点更合适作为最佳入口点,从而为优先清扫参考点的选取提供更客观、更准确的对象。
优选的,所述根据优先清扫条件确定其中一个最佳入口点为优先清扫区的清扫起始点,包括如下步骤:在一个未清扫区中选择与一个与当前位置点距离最近的所述最佳入口点作为优先清扫参考点;选择与当前位置点距离最近的两个所述优先清扫参考点;判断当前位置点分别到两个所述优先清扫参考点的距离差值是否小于预设距离值;如是,则选择长度较长的所述入口边界所对应的所述优先清扫参考点作为清扫起始点;如否,则选择与当前位置点的距离最近的那一个所述优先清扫参考点作为清扫起始点。通过对两个与当前位置点距离最近的优先清扫参考点进行分析,同时结合所述入口边界的长度,可以更全面更准确地确定更适合优先清扫的区域,避免现有的仅仅依靠距离的远近来确定优先清扫区域所导致清扫效率不高的问题,由此提高机器人清扫的高效性。比如,有两个与当前位置点都比较接近的区域,其中距离最近的一个区域的入口边界的长度很短,一般情况下表明该区域的面积也较小,而另外一个区域的入口边界很长,一般情况下表明该区域的面积也较大。如果机器人只考虑距离的话,就会先去入口边界的长度很短的区域,如此,不仅会导致大面积的区域未得到及时清扫而导致清扫效率低,影响用户的产品使用体验,还会导致机器人先去长度较短的入口边界时,由于地图误差或行进误差等原因,需要花费较长时间来找到清扫起始点。所以,最高效的方式是,在确定两个距离都比较接近的区域时,优先清扫入口边界较长的区域,只有当这两个区域与当前位置点的距离相差较大的情况下,才清扫距离最近的区域。如果机器人不先清扫身边比较近的区域,跑很远的距离去清扫虽然面积比较大的区域,也会由于花费太多的时间在行进路程上而降低机器人的清扫效率,同时让用户觉得机器人比较笨,不够智能,而降低了产品的使用体验。
如图1所示,在确定了每个未清扫区的最佳入口点后,在a区的最佳入口点(a1点和a5点)中选择与B点距离最近的a1点作为优先清扫参考点;在b区中选择b4点作为优先清扫参考点;在c区中选择c1点作为优先清扫参考点;在d区中选择d1点作为优先清扫参考点。然后再选择与B点距离最近的两个优先清扫参考点a1点和b4点,由于a1点到B点的距离与b4点到B点的距离的差值大于预设距离值,所以,选择距离最近的a1点作为清扫起始点。所述预设距离值为一个可设置的值,可以根据具体的需求设置不同的参数值,本实施例中选择两个机器人的机身宽度作为该预设距离值。
优选的,所述按预设清扫条件清扫所述优先清扫区,包括如下步骤:判断所述清扫起始点所在的所述入口边界的两个端点的位置关系;当两个端点的X轴值相同时,则从清扫起始点开始,直接朝所述入口边界的另一个端点行进,按弧角弓字型的轨迹形式清扫未清扫区;当两个端点的Y轴值相同时;如果未清扫区位于所述入口边界的上方,则从清扫起始点开始,沿Y轴正方向行进,按弧角弓字型的轨迹形式清扫未清扫区;如果未清扫区位于所述入口边界的下方,则从清扫起始点开始,沿Y轴负方向行进,按弧角弓字型的轨迹形式清扫未清扫区;当两个端点的X轴值和Y轴值都不相同时,则从清扫起始点开始,沿垂直另一个端点所在的X轴的方向行进,按弧角弓字型的轨迹形式清扫未清扫区。
如图1所示,清扫a区时,判断a1点和a3点的位置关系,由于a1点和a3点的X轴值和Y轴值都不相同,所以,从a1点开始沿垂直a3点所在的X轴方向(即a2点)行进,按弧角弓字型的轨迹形式,从右到左清扫a区。其中,所述弧角弓字型与弓字型的区别在于,在转向掉头时,弓字型采用的是两次直角转弯掉头,弧角弓字型采用的是弧形轨迹的形式进行转弯掉头。通过判断入口边界两点的位置关系,对应采用不同的清扫方式,可以有效避免复杂形状的未清扫区域的一些边角的地方被漏扫的问题,从而提高机器人清扫的全面性和完整性。
在清扫完a区时,机器人行进至清扫结束点(即a5点),此时,a5点作为当前位置点,根据上述的入口选择条件,选择d1点、c1点、c4点、c5点、b1点、b3点和b8点作为最佳入口点,再根据优先清扫条件确定d1点作为清扫起始点。机器人从a5点行进至d1点后,朝d2点的方向,以弧角弓字型的轨迹形式,从右至左清扫d区,至清扫结束点(d4点)时,对该区的清扫结束。
以d4点为当前位置点,继续根据入口选择条件和优先清扫条件确定c4点作为清扫起始点,机器人从d4点行进至c4点后,朝c3点的方向,以弧角弓字型的轨迹形式,从左至右清扫c区,至清扫结束点(c1点)时,对该区的清扫结束。
以c1点为当前位置点,继续根据入口选择条件和优先清扫条件确定b8点作为清扫起始点,机器人从c1点行进至b8点后,沿垂直b6所在的X轴的方向行进,以弧角弓字型的轨迹形式,从左至右清扫b区,至清扫结束点(b4点)时,对该区的清扫结束。
优选的,判断是否满足所述未清扫区清扫条件,包括如下步骤:判断一个所述漏清扫区的所有所述入口边界的长度是否都小于预设入口长度;如果是,则所述入口边界所对应的所述漏清扫区不满足所述漏清扫区清扫条件;如果否,则所述入口边界所对应的所述漏清扫区满足所述漏清扫区清扫条件。其中,所述预设入口长度也是一个可设置的值,可以根据具体的需求进行相应设置,本实施例中设置为1.2倍的机器人机身宽度,只要有一个入口边界的长度大于或等于1.2倍的机器人机身宽度,即可以通过该入口边界对该区域进行清扫。如果所有的入口边界都小于1.2倍的机器人机身宽度,则机器人无法或者很难进入该区进行清扫,不需要将其列为补扫对象,可以在后续的其它清扫阶段中处理。通过入口边界的长度来判断机器人是否能够进入该未扫区域,以此提高补扫效率,避免机器人花费较长时间行进至该区又无法进入清扫的情况。
优选的,所述基于栅格地图,确定已清扫区和未清扫区的入口边界,包括如下步骤:基于栅格地图中的栅格区域,确定所述栅格区域中已清扫区和未清扫区的入口边界,其中,所述栅格区域为按预定长度和预定宽度对栅格地图进行划分所形成的单个区域;或者,基于栅格地图中的全局区域,确定所述全局区域中已清扫区和未清扫区的入口边界,其中,所述全局区域为若干个所述栅格区域所组成的区域;其中,所述栅格图为基于栅格单元所构成的平面地图,机器人把所述栅格地图中已行进过的栅格单元标示为已扫单元,把检测到障碍物的栅格单元标示为障碍单元;把未行进过的单元标示为未扫单元。
如图1所示,为一个栅格区域的地图,所示栅格区域的预定长度为4m,预定宽度为3m,当然,所述预定长度和预定宽度也可以根据实际情况设置为其它值。机器人对该栅格区域进行常规清扫后,确定已清扫区和未清扫区的入口边界,再对未清扫区进行补扫。该栅格区域的补扫结束后,机器人又行进至下一个栅格区域,进行常规清扫和补扫,至所有的栅格区域的常规清扫和补扫结束后,形成全局区域所对应的地图。同样的,由各个栅格区域所组成的全局区域,也存在已清扫区和未清扫区,机器人按照本发明所述的补扫方法,对全局区域中的未清扫区进行补扫。
优选的,所述从当前位置点行进至所述清扫起始点,包括如下步骤:搜索栅格地图,确定由预行进位置点连接的从当前位置点到所述清扫起始点的路径为预行进路径;基于当前位置点所对应的当前栅格单元,确定在预行进路径方向上的下一个栅格单元为路径参考单元;判断所述路径参考单元在垂直预行进路径方向的任意一侧的预设距离内的栅格单元是否为障碍单元;如果否,则将所述路径参考单元所对应的所述预行进位置点作为行进位置点;如果是,则判断另一侧的在预设距离内的栅格单元是否为障碍单元;如果否,则将与所述路径参考单元所对应的所述预行进位置点在远离障碍单元的方向偏移设定距离的位置点作为行进位置点;如果是,则将所述路径参考单元所对应的所述预行进位置点作为行进位置点;接着,以再下一个栅格单元作为路径参考单元进行判断,以此类推,至所判断的栅格单元为所述清扫起始点所在的栅格单元,则结束判断;确定由行进位置点连接的从当前位置点到清扫起始点的路径为行进路径。所述方法通过对现有路径搜索算法所搜索出来的预行进路径进行优化,将所述预行进路径上与障碍单元靠近的栅格单元所对应的预行进位置点进行偏移,最终形成与障碍单元相隔一定距离的行进路径,机器人按所述行进路径行进,不容易碰到障碍物,提高了行进效率,同时,不影响从当前位置点到清扫起始点的导航,导航更准确,效率更高。
其中,如果所述路径参考单元的前方的预设距离内的栅格单元为障碍单元,则判断在垂直预行进路径方向的任意一侧的预设距离内的栅格单元是否为障碍单元;如果是,则将所述路径参考单元所对应的预行进位置点在第一预设方向偏移设定距离的位置点作为行进位置点,其中,所述第一预设方向为远离侧边障碍单元的方向和远离前方障碍单元的方向的合方向;如果否,则将当前栅格单元所对应的预行进位置点在第二预设方向偏移设定距离的位置点作为行进位置点,其中,所述第二预设方向为在预行进路径方向上所述路径参考单元到下一个栅格单元的方向与远离前方障碍单元的方向的合方向。由于现有的路径搜索算法得出预行进路径,不会将机器人导航进入一个三面都是障碍单元的位置,所以,只要考虑在垂直预行进路径方向的一侧是否有障碍单元即可,不需要考虑另一侧是否有障碍单元,以此简化机器人的数据处理资源,提高控制效率。同时,控制机器人按第一预设方向或者第二预设方向偏移行进,可以避免转弯时容易碰到障碍物的问题,提高行进效率。
其中,所述预设距离为可设置的值,可以根据具体的需求进行相应地设置,优选的,可以设置为两个栅格单元的长度。所述设定距离也是一个可以设置的值,可以根据具体的需求进行相应地设置,优选的,可以设置为一个栅格单元的四分之一长度或者一半的长度。
如图3所示,图中的一个方格表示一个栅格单元,一个小圆圈则表示一个位置点,由于本实施例中,机器人的机身宽度为两个栅格单元的长度之和,所以,机器人按预行进路径(即虚线所示路线)从A点开始行进时,其占据虚线当中的栅格和虚线两侧的栅格的各一半,即机器人与右侧的障碍单元只有半个栅格单元的距离。当前位置点为A点,清扫起始点为B点,从A点至B点的虚线所连接的栅格单元所对应的预行进位置点1至26所构成的路径为根据路径搜索算法(A*算法)所搜索出来的预行进路径。由于该预行进路径比较接近障碍单元(图中标有X的栅格单元),所以,如果机器人按照此路径行进,容易碰到障碍物,从而影响行进效率。图中带箭头的线路表示按本发明所述的方法所确定的行进路径。具体如下:将A点所在的栅格单元作为当前栅格单元,确定在预行进路径方向上A点所在的栅格单元的下一个栅格单元(即位于当前栅格单元上方且与当前栅格单元相邻的栅格单元,后续简称为第1栅格)为路径参考单元,由于第1栅格的右侧第二个栅格单元为障碍单元,且左侧的预设距离(即两个栅格单元距离的长度)内没有障碍单元,所以,将第1栅格对应的预行进位置点在远离障碍单元的方向偏移设定距离的位置点作为行进位置点(即将第1栅格对应的预行进位置点向第1栅格左侧偏移半个栅格单元的距离的位置点作为行进位置点)。接着将第1栅格作为当前栅格单元,由于第2栅格(即位于第1栅格上方且与第1栅格相邻的栅格单元)的右侧的第二个栅格单元为障碍单元,且左侧的两个栅格单元距离的长度内没有障碍单元,所以,将第2栅格对应的预行进位置点在远离障碍单元的方向偏移设定距离的位置点作为行进位置点(即将第2栅格对应的预行进位置点向第2栅格左侧偏移半个栅格单元的距离的位置点作为行进位置点)。同理,第3至8栅格所对应的预行进位置点向左侧偏移半个栅格单元的长度。到第9栅格时,由于第9栅格的左右两侧的预设距离内都没有障碍单元,所以,将第9栅格所对应的所述预行进位置点作为行进位置点。紧接着,由于第10栅格的前方的第二个栅格单元为障碍单元,左侧的第二个栅格单元也是障碍单元,所以,将第10栅格所对应的预行进位置点在远离侧边障碍单元的方向(即水平向右的方向)和远离前方障碍单元的方向(即竖直向下的方向)的合方向(即斜向右下角的方向)偏移半个栅格单元的距离的位置点作为行进位置点。继续按预行进路径的方向,由于第11栅格的左侧的第二个栅格单元为障碍单元,右侧没有障碍单元,所以将第11栅格对应的预行进位置点向第11栅格右侧偏移半个栅格单元的距离的位置点作为行进位置点。由于第12栅格左右两侧的第二个栅格单元都为障碍单元,所以,将第12栅格对应的预行进位置点作为行进位置点,同理,将第13至15栅格对应的预行进位置点作为行进位置点。到第16栅格时,由于第16栅格左右两侧的预设距离内都没有障碍单元,所以,将第16栅格对应的预行进位置点作为行进位置点,同理,第17和18栅格对应的预行进位置点作为行进位置点。到第19栅格时,由于第19栅格的左侧第二个栅格单元为障碍单元,右侧没有障碍单元,所以将第19栅格对应的预行进位置点向第19栅格右侧偏移半个栅格单元的距离的位置点作为行进位置点,同理,将第20至23栅格对应的预行进位置点向右侧偏移半个栅格单元的距离的位置点作为行进位置点。由于第24至26栅格左右两侧的预设距离内都没有障碍单元,所以,将第24至26栅格对应的预行进位置点作为行进位置点。由于B点所在的栅格单元为目标栅格单元,所以,结束判断。将从A点至B点的由行进位置点所构成的线路作为行进路径,即图中带箭头所指示的线路。所述行进路径是在原搜索路径的基础上,根据不同的路径情况进行相应的调整,能够有效地避免碰撞到障碍物,从而保证了机器人行进的高效性,同时,避免机器人经常碰撞到障碍物所带来的行进误差,提高导航效率。
优选的,所述预行进位置点的坐标值的确定,包括如下步骤:确定所述行进路径上的栅格单元的坐标值为(X,Y);确定栅格单元的长度为h,宽度为w;确定所述预行进位置点的坐标值为(x,y),则x=X*h+h/2,y=Y*w+w/2。由于机器人在搜索栅格地图时,判断障碍物是以栅格单元的形式进行,而实际行进时是按照位置点的形式行进,所以,搜索栅格地图得出的栅格路径需要换算成具体的预行进位置点,才能最终得出机器人的预行进路径。假设以A点所在栅格单元的左侧相邻的栅格单元的坐标值为(0,0),即(0,0)栅格单元的左下角的点为原点建立的坐标系中,A点所在的栅格单元的坐标值为(1,0),第1栅格的坐标值为(1,1),栅格单元的长度和宽度相等且都为0.2m,则第1栅格的坐标值为(0.3m,0.3m),即第1栅格的预行进位置点的位置为X轴正方向0.3m和Y轴正方向0.3m的交点处,即第1栅格的中心点。第2栅格的坐标为(1,2),则第2栅格的坐标值为(0.3,0.5),即第2栅格的预行进位置点的位置为X轴正方向0.3m和Y轴正方向0.5m的交点处,即第2栅格的中心点。通过把搜索出来的栅格路径转换成具体的预行进位置点所构成的预行进路径,使机器人可以按照具有具体坐标的位置点行进,提高机器人行进的准确性。同时,把预行进位置点设置在栅格单元的中心,更有利于后续规划机器人的行进路径。其中,搜索栅格单元的长度和宽度可以根据不同的情况设置为不同的值,也可以设置为不相等的两个值。
优选的,所述确定由行进位置点连接的从当前位置点到清扫起始点的路径为行进路径的步骤之后,还包括如下步骤:基于所述行进路径,确定当前行进位置点、下一个行进位置点和再下一个行进位置点;确定从所述当前位置点到所述下一个行进位置点的方向作为当前方向;确定从所述下一个行进位置点到所述再下一个行进位置点的方向作为待变方向;从所述当前位置点朝所述下一个行进位置点行进预定距离时,判断所述待变方向是否与所述当前方向相同;如果是,则保持当前方向和当前速度继续行进;如果否,则调整当前方向和当前速度,使从所述当前位置点行进至预定距离时的位置点到所述再下一个行进位置点之间的行进轨迹为弧形轨迹;以此类推,至所述再下一个行进位置点为所述清扫起始点;将调整后的行进路径作为最优行进路径。
其中,所述调整当前方向和当前速度,使从所述当前位置点行进至预定距离时的位置点到所述再下一个行进位置点之间的行进轨迹为弧形轨迹,包括如下步骤:基于当前速度,预估下一时段行进的预计行进距离;判断所述预计行进距离是否大于从所述当前位置点朝所述下一个行进位置点行进预定距离后距所述下一个行进位置点的剩余距离;如果否,则继续基于当前速度行进;如果是,则降低当前速度,并调整内轮和外轮的速度差,使行进方向从所述当前方向逐渐转到与所述待变方向相同的方向。
其中,所述调整内轮和外轮的速度差,使行进方向从所述当前方向逐渐转到与所述待变方向相同的方向,包括如下步骤:判断所述待变方向与所述当前方向之间的角度是否小于或等于45°;如果是,则使所述内轮速度为所述外轮速度的四分之一;如果否,则使所述内轮速度为所述外轮速度的六分之一;计算未来时间段内,内轮和外轮的预行进距离差,所述预行进距离差为所述外轮和所述内轮的速度差的绝对值与所述未来时间段的乘积;计算得出所述运动角度预变量,所述运动角度预变量为所述预行进距离差除以所述内轮和所述外轮之间的宽度;判断所述行进方向与所述待变方向之间的角度是否小于所述运动角度预变量;如果否,则保持当前的外轮速度和内轮速度;如果是,则调整外轮速度或者内轮速度,使外轮速度和内轮速度相同。
以一个具体应用为例进行说明,如图4所示,从A点开始沿箭头指示路线方向开始算,A点的圆圈不算,以第一个圆圈表示的位置点为第1行进位置点,第二个圆圈表示的位置点为第2行进位置点,以此类推,至B点下方的圆圈表示的位置点为第26行进位置点。从当前位置点A点到第1行进位置点的方向(即当前方向)为112.5°(在进行角度的计算时,是以当前位置点为原点,水平向右的方向为X轴正方向,竖直向上的方向为Y轴正方向,A点到第1行进位置点方向的线段与X轴正方向的夹角即为112.5°,同理,可进行其它方向角度的计算)。从第1行进位置点到第2行进位置点的方向(即待变方向)为90°。从A点朝第1行进位置点行进半个栅格单元的距离时,判断待变方向和当前方向不同,则计算下一个时段T1内机器人的预计行进距离为V*T1且该距离大于从A点到第1行进位置点的距离的一半,所以,机器人降低当前速度V的一半。然后判断得出待变方向与当前方向之间的角度小于45°,故需要调整内轮和外轮的速度差,使所述内轮速度V1为所述外轮速度V2的四分之一,此时,机器人开始按弧形轨迹转弯。在转弯的过程中,计算未来时间段T2内,机器人的运动角度预变量为△θ=(|V1-V2|*T2)/W,其中W为机器人的内轮和外轮之间的宽度。由于转弯过程中,行进方向和待变方向之间的角度越来越小,当所述行进方向与所述待变方向之间的角度小于所述运动角度预变量△θ时,调整外轮速度或者内轮速度,使外轮速度和内轮速度相同,由于调整的过程中,机器人还是会有微小的角度变化,刚好能够补偿所述行进方向与所述待变方向之间的角度,所以,最终机器人在到达第2行进位置点时,将按照待变方向向前直行。
由于第2至7行进位置点的当前方向和待变方向一致,所以,一直保持直行。当准备到达第8行进位置点时,由于第7行进位置点到第8行进位置点的方向(即当前方向)为90°,第8行进位置点到第9行进位置点(即待变方向)为67.5°,从第7行进位置点朝第8行进位置点行进半个栅格单元的距离时,判断待变方向和当前方向不同,则计算下一个时段T1内机器人的预计行进距离为V*T1且该距离大于从第7行进位置点到第8行进位置点的距离的一半,所以,机器人降低当前速度V的一半。然后判断得出待变方向与当前方向之间的角度等于22.5°,小于45°,故需要调整内轮和外轮的速度差,使所述内轮速度V1为所述外轮速度V2的四分之一,如果待变方向与当前方向之间的角度大于45°,则需要使所述内轮速度V1为所述外轮速度V2的六分之一,这样可以更快的调整角度变化量,直到之间的角度小于或等于45°,才使所述内轮速度V1为所述外轮速度V2的四分之一,以此减缓角度变化量,为后续的精细调整作准备。此时,机器人已经开始按弧形轨迹转弯。在转弯的过程中,计算未来时间段T2内,机器人的运动角度预变量为△θ=(|V1-V2|*T2)/W,其中W为所述内轮和所述外轮之间的宽度。由于转弯过程中,行进方向和待变方向之间的角度越来越小,当所述行进方向与所述待变方向之间的角度小于所述运动角度预变量△θ时,调整外轮速度或者内轮速度,使外轮速度和内轮速度相同,由于调整的过程中,机器人还是会有微小的角度变化,刚好能够补偿所述行进方向与所述待变方向之间的角度,所以,最终机器人将按照待变方向(即第8行进位置点到第9行进位置点的方向)向前直行。
同理,在第9行进位置点到第10行进位置点,第11行进位置点到第12位置点,第16行进位置点到第17行进位置点到第18行进位置点等这些当前方向与待变方向不同的需要转弯的路径时,按上述方法,通过调整内轮速度和外轮速度,使机器人在这些转弯的路径都以弧形轨迹的形式行进。最后,将按弧形轨迹调整后的行进路径作为最优行进路径。
如图4所示,机器人在图4中带箭头的路径中的每个转弯处都采用弧形轨迹的形式,可以使得机器人的行进路径更平滑、更顺畅,避免产生卡顿的现象,提高了机器人的行进效率。
其中,上述时间段T1和T2为可设置的值,本实施例中设置为10ms的倍数,具体为30ms。
本发明所述的芯片,用于存储程序,所述程序用于控制机器人执行上述补扫方法。通过所述入口选择条件,可以对每个未清扫区的每条入口边界都进行分析,从中选取最佳入口点作为后续的优先清扫参考点的选择对象,如此,即使未清扫区的形状很复杂,也可以全面有效地分析哪个位置点更合适作为最佳入口点,从而为优先清扫参考点的选取提供更客观、更准确的对象。
以上实施例仅为充分公开而非限制本发明,凡基于本发明的创作主旨、未经创造性劳动的等效技术特征的替换,应当视为本申请揭露的范围。
Claims (13)
1.一种扫地机器人的补扫方法,其特征在于,包括如下步骤:
基于栅格地图,确定已清扫区和未清扫区的入口边界;
基于每条所述入口边界的两端的端点分别作为两个入口参考点;
根据入口选择条件在每条所述入口边界的两个所述入口参考点中确定一个最佳入口点;
根据优先清扫条件确定其中一个最佳入口点为优先清扫区的清扫起始点;
从当前位置点行进至所述清扫起始点,按预设清扫条件清扫所述优先清扫区;
清扫完毕后,再根据入口选择条件和优先清扫条件确定下一个最佳入口点为下一个优先清扫区的清扫起始点,以此类推,至所有满足未清扫区清扫条件的未清扫区都清扫完毕为止。
2.根据权利要求1所述的方法,其特征在于,所述根据入口选择条件在每条所述入口边界的两个所述入口参考点中确定一个最佳入口点,包括如下步骤:
以当前位置点作为坐标原点建立XY轴坐标系;
分析同一条所述入口边界的两个所述入口参考点的坐标位置;
当两个所述入口参考点的X轴值相同,则选择与当前位置点距离最近的所述入口参考点作为最佳入口点;
当两个所述入口参考点的Y轴值相同,则选择与当前位置点距离最近的所述入口参考点作为最佳入口点;
当两个所述入口参考点的X轴值和Y轴值都不相同,则判断未清扫区与已清扫区的位置关系;如果未清扫区在已清扫区的左边,则选择X轴值大的所述入口参考点作为最佳入口点;如果未清扫区在已清扫区的右边,则选择X轴值小的所述入口参考点作为最佳入口点。
3.根据权利要求1所述的方法,其特征在于,所述根据优先清扫条件确定其中一个最佳入口点为优先清扫区的清扫起始点,包括如下步骤:
在一个未清扫区中选择与一个与当前位置点距离最近的所述最佳入口点作为优先清扫参考点;
选择与当前位置点距离最近的两个所述优先清扫参考点;
判断当前位置点分别到两个所述优先清扫参考点的距离差值是否小于预设距离值;
如是,则选择长度较长的所述入口边界所对应的所述优先清扫参考点作为清扫起始点;
如否,则选择与当前位置点的距离最近的那一个所述优先清扫参考点作为清扫起始点。
4.根据权利要求1所述的方法,其特征在于,所述按预设清扫条件清扫所述优先清扫区,包括如下步骤:
判断所述清扫起始点所在的所述入口边界的两个端点的位置关系;
当两个端点的X轴值相同时,则从清扫起始点开始,直接朝所述入口边界的另一个端点行进,按弧角弓字型的轨迹形式清扫未清扫区;
当两个端点的Y轴值相同时;如果未清扫区位于所述入口边界的上方,则从清扫起始点开始,沿Y轴正方向行进,按弧角弓字型的轨迹形式清扫未清扫区;如果未清扫区位于所述入口边界的下方,则从清扫起始点开始,沿Y轴负方向行进,按弧角弓字型的轨迹形式清扫未清扫区;
当两个端点的X轴值和Y轴值都不相同时,则从清扫起始点开始,沿垂直另一个端点所在的X轴的方向行进,按弧角弓字型的轨迹形式清扫未清扫区。
5.根据权利要求1所述的方法,其特征在于,判断是否满足所述未清扫区清扫条件,包括如下步骤:
判断一个所述漏清扫区的所有所述入口边界的长度是否都小于预设入口长度;
如果是,则所述入口边界所对应的所述漏清扫区不满足所述漏清扫区清扫条件;
如果否,则所述入口边界所对应的所述漏清扫区满足所述漏清扫区清扫条件。
6.根据权利要求1至5任一项所述的方法,其特征在于,所述基于栅格地图,确定已清扫区和未清扫区的入口边界,包括如下步骤:
基于栅格地图中的栅格区域,确定所述栅格区域中已清扫区和未清扫区的入口边界,其中,所述栅格区域为按预定长度和预定宽度对栅格地图进行划分所形成的单个区域;
或者,
基于栅格地图中的全局区域,确定所述全局区域中已清扫区和未清扫区的入口边界,其中,所述全局区域为若干个所述栅格区域所组成的区域;
其中,所述栅格图为基于栅格单元所构成的平面地图,机器人把所述栅格地图中已行进过的栅格单元标示为已扫单元,把检测到障碍物的栅格单元标示为障碍单元;把未行进过的单元标示为未扫单元。
7.根据权利要求6所述的方法,其特征在于,所述从当前位置点行进至所述清扫起始点,包括如下步骤:
搜索栅格地图,确定由预行进位置点连接的从当前位置点到所述清扫起始点的路径为预行进路径;
基于当前位置点所对应的当前栅格单元,确定在预行进路径方向上的下一个栅格单元为路径参考单元;
判断所述路径参考单元在垂直预行进路径方向的任意一侧的预设距离内的栅格单元是否为障碍单元;
如果否,则将所述路径参考单元所对应的所述预行进位置点作为行进位置点;
如果是,则判断另一侧的在预设距离内的栅格单元是否为障碍单元;
如果否,则将与所述路径参考单元所对应的所述预行进位置点在远离障碍单元的方向偏移设定距离的位置点作为行进位置点;
如果是,则将所述路径参考单元所对应的所述预行进位置点作为行进位置点;
接着,以再下一个栅格单元作为路径参考单元进行判断,以此类推,至所判断的栅格单元为所述清扫起始点所在的栅格单元,则结束判断;
确定由行进位置点连接的从当前位置点到清扫起始点的路径为行进路径。
8.根据权利要求7所述的方法,其特征在于,所述从当前位置点行进至所述清扫起始点,还包括如下步骤:
如果所述路径参考单元的前方的预设距离内的栅格单元为障碍单元,则判断在垂直预行进路径方向的任意一侧的预设距离内的栅格单元是否为障碍单元;
如果是,则将所述路径参考单元所对应的预行进位置点在第一预设方向偏移设定距离的位置点作为行进位置点,其中,所述第一预设方向为远离侧边障碍单元的方向和远离前方障碍单元的方向的合方向;
如果否,则将当前栅格单元所对应的预行进位置点在第二预设方向偏移设定距离的位置点作为行进位置点,其中,所述第二预设方向为在预行进路径方向上所述路径参考单元到下一个栅格单元的方向与远离前方障碍单元的方向的合方向。
9.根据权利要求7所述的方法,其特征在于,所述预行进位置点的坐标值的确定,包括如下步骤:
确定所述行进路径上的栅格单元的坐标值为(X,Y);
确定栅格单元的长度为h,宽度为w;
确定所述预行进位置点的坐标值为(x,y),则x=X*h+h/2,y=Y*w+w/2。
10.根据权利要求8所述的方法,其特征在于,所述确定由行进位置点连接的从当前位置点到清扫起始点的路径为行进路径的步骤之后,还包括如下步骤:
基于所述行进路径,确定当前行进位置点、下一个行进位置点和再下一个行进位置点;
确定从所述当前位置点到所述下一个行进位置点的方向作为当前方向;
确定从所述下一个行进位置点到所述再下一个行进位置点的方向作为待变方向;
从所述当前位置点朝所述下一个行进位置点行进预定距离时,判断所述待变方向是否与所述当前方向相同;
如果是,则保持当前方向和当前速度继续行进;
如果否,则调整当前方向和当前速度,使从所述当前位置点行进至预定距离时的位置点到所述再下一个行进位置点之间的行进轨迹为弧形轨迹;
以此类推,至所述再下一个行进位置点为所述清扫起始点;
将调整后的行进路径作为最优行进路径。
11.根据权利要求10所述的方法,其特征在于,所述调整当前方向和当前速度,使从所述当前位置点行进至预定距离时的位置点到所述再下一个行进位置点之间的行进轨迹为弧形轨迹,包括如下步骤:
基于当前速度,预估下一时段行进的预计行进距离;
判断所述预计行进距离是否大于从所述当前位置点朝所述下一个行进位置点行进预定距离后距所述下一个行进位置点的剩余距离;
如果否,则继续基于当前速度行进;
如果是,则降低当前速度,并调整内轮和外轮的速度差,使行进方向从所述当前方向逐渐转到与所述待变方向相同的方向。
12.根据权利要求11所述的方法,其特征在于,所述调整内轮和外轮的速度差,使行进方向从所述当前方向逐渐转到与所述待变方向相同的方向,包括如下步骤:
判断所述待变方向与所述当前方向之间的角度是否小于或等于45°;
如果是,则使所述内轮速度为所述外轮速度的四分之一;
如果否,则使所述内轮速度为所述外轮速度的六分之一;
计算未来时间段内,内轮和外轮的预行进距离差,所述预行进距离差为所述外轮和所述内轮的速度差的绝对值与所述未来时间段的乘积;
计算得出所述运动角度预变量,所述运动角度预变量为所述预行进距离差除以所述内轮和所述外轮之间的宽度;
判断所述行进方向与所述待变方向之间的角度是否小于所述运动角度预变量;
如果否,则保持当前的外轮速度和内轮速度;
如果是,则调整外轮速度或者内轮速度,使外轮速度和内轮速度相同。
13.一种芯片,用于存储程序,其特征在于,所述程序用于控制机器人执行权利要求1至12任一项所述的补扫方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710770238.6A CN107390698B (zh) | 2017-08-31 | 2017-08-31 | 扫地机器人的补扫方法及芯片 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710770238.6A CN107390698B (zh) | 2017-08-31 | 2017-08-31 | 扫地机器人的补扫方法及芯片 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107390698A true CN107390698A (zh) | 2017-11-24 |
CN107390698B CN107390698B (zh) | 2020-12-01 |
Family
ID=60347766
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710770238.6A Active CN107390698B (zh) | 2017-08-31 | 2017-08-31 | 扫地机器人的补扫方法及芯片 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107390698B (zh) |
Cited By (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107807650A (zh) * | 2017-11-29 | 2018-03-16 | 莱克电气股份有限公司 | 一种机器人的运动控制方法、装置及设备 |
CN107895374A (zh) * | 2017-11-28 | 2018-04-10 | 深圳市杉川机器人有限公司 | 清扫区域查找方法及装置 |
CN108189039A (zh) * | 2018-02-09 | 2018-06-22 | 意诺科技有限公司 | 一种移动机器人的行进方法及装置 |
CN108614558A (zh) * | 2018-05-31 | 2018-10-02 | 北京智行者科技有限公司 | 一种清扫轨迹规划方法 |
CN108931980A (zh) * | 2018-07-26 | 2018-12-04 | 珠海市微半导体有限公司 | 机器人内建地图的标记方法和芯片及室内清洁机器人 |
CN109984689A (zh) * | 2017-12-29 | 2019-07-09 | 速感科技(北京)有限公司 | 一种清洁机器人及清洁机器人的路径优化方法 |
CN109984678A (zh) * | 2017-12-29 | 2019-07-09 | 速感科技(北京)有限公司 | 一种清洁机器人及清洁机器人的清洁方法 |
WO2019144867A1 (zh) * | 2018-01-26 | 2019-08-01 | 广东宝乐机器人股份有限公司 | 一种提高移动机器人边角覆盖率的方法 |
CN110702120A (zh) * | 2019-11-06 | 2020-01-17 | 小狗电器互联网科技(北京)股份有限公司 | 地图边界处理方法、系统、机器人和存储介质 |
CN110764513A (zh) * | 2019-11-26 | 2020-02-07 | 小狗电器互联网科技(北京)股份有限公司 | 一种地图盲区识别方法 |
CN111185899A (zh) * | 2018-11-14 | 2020-05-22 | 苏州科瓴精密机械科技有限公司 | 机器人控制方法及机器人系统 |
CN111345734A (zh) * | 2018-12-24 | 2020-06-30 | 珠海市一微半导体有限公司 | 扫地机器人作业方法、装置、存储介质及扫地机器人 |
CN111493756A (zh) * | 2020-05-29 | 2020-08-07 | 深圳拓邦股份有限公司 | 一种扫地机补扫方法、存储介质及扫地机 |
CN112198876A (zh) * | 2020-09-28 | 2021-01-08 | 湖南格兰博智能科技有限责任公司 | 一种适用于扫地机器人的带地图全覆盖清扫模块化控制方法 |
CN112352530A (zh) * | 2020-10-27 | 2021-02-12 | 点亮明天科技(北京)有限责任公司 | 一种自动除草机器人的工作路径优化方法 |
WO2021037116A1 (zh) * | 2019-08-27 | 2021-03-04 | 南京德朔实业有限公司 | 自行走割草系统及其漏割区域的补充作业的方法 |
CN112567958A (zh) * | 2019-09-12 | 2021-03-30 | 南京德朔实业有限公司 | 自行走割草系统及其漏割区域的补充作业的方法 |
CN112764418A (zh) * | 2020-12-25 | 2021-05-07 | 珠海市一微半导体有限公司 | 基于寻径代价的清洁入口位置确定方法、芯片及机器人 |
CN113633221A (zh) * | 2021-08-17 | 2021-11-12 | 北京智行者科技有限公司 | 自动清洁设备漏扫区域处理方法、装置和系统 |
CN113907648A (zh) * | 2021-10-19 | 2022-01-11 | 微思机器人(深圳)有限公司 | 确定清扫路径的方法、装置、扫地机器人及存储介质 |
CN114711668A (zh) * | 2022-03-31 | 2022-07-08 | 苏州三六零机器人科技有限公司 | 清扫方法、装置、扫地机及计算机可读存储介质 |
WO2024016839A1 (zh) * | 2022-07-21 | 2024-01-25 | 深圳银星智能集团股份有限公司 | 二次清洁方法、装置、清洁机器人及存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050171644A1 (en) * | 2004-01-30 | 2005-08-04 | Funai Electric Co., Ltd. | Autonomous mobile robot cleaner |
US20060123582A1 (en) * | 2004-12-15 | 2006-06-15 | Funai Electric Co., Ltd. | Self-propelled cleaner |
JP2010017428A (ja) * | 2008-07-12 | 2010-01-28 | Nishi Nihon Kosoku Doro Maintenance Kansai Kk | 床面清掃ロボット |
CN103099583A (zh) * | 2011-11-14 | 2013-05-15 | 三星电子株式会社 | 机器人吸尘器及其控制方法 |
CN105739500A (zh) * | 2016-03-29 | 2016-07-06 | 海尔优家智能科技(北京)有限公司 | 一种智能扫地机器人的交互控制方法及装置 |
-
2017
- 2017-08-31 CN CN201710770238.6A patent/CN107390698B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050171644A1 (en) * | 2004-01-30 | 2005-08-04 | Funai Electric Co., Ltd. | Autonomous mobile robot cleaner |
US20060123582A1 (en) * | 2004-12-15 | 2006-06-15 | Funai Electric Co., Ltd. | Self-propelled cleaner |
JP2010017428A (ja) * | 2008-07-12 | 2010-01-28 | Nishi Nihon Kosoku Doro Maintenance Kansai Kk | 床面清掃ロボット |
CN103099583A (zh) * | 2011-11-14 | 2013-05-15 | 三星电子株式会社 | 机器人吸尘器及其控制方法 |
CN105739500A (zh) * | 2016-03-29 | 2016-07-06 | 海尔优家智能科技(北京)有限公司 | 一种智能扫地机器人的交互控制方法及装置 |
Cited By (32)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107895374A (zh) * | 2017-11-28 | 2018-04-10 | 深圳市杉川机器人有限公司 | 清扫区域查找方法及装置 |
CN107895374B (zh) * | 2017-11-28 | 2020-01-17 | 深圳市杉川机器人有限公司 | 清扫区域查找方法及装置 |
CN107807650A (zh) * | 2017-11-29 | 2018-03-16 | 莱克电气股份有限公司 | 一种机器人的运动控制方法、装置及设备 |
CN109984678B (zh) * | 2017-12-29 | 2021-08-06 | 速感科技(北京)有限公司 | 一种清洁机器人及清洁机器人的清洁方法 |
CN109984689A (zh) * | 2017-12-29 | 2019-07-09 | 速感科技(北京)有限公司 | 一种清洁机器人及清洁机器人的路径优化方法 |
CN109984678A (zh) * | 2017-12-29 | 2019-07-09 | 速感科技(北京)有限公司 | 一种清洁机器人及清洁机器人的清洁方法 |
CN109984689B (zh) * | 2017-12-29 | 2021-09-17 | 速感科技(北京)有限公司 | 一种清洁机器人及清洁机器人的路径优化方法 |
WO2019144867A1 (zh) * | 2018-01-26 | 2019-08-01 | 广东宝乐机器人股份有限公司 | 一种提高移动机器人边角覆盖率的方法 |
CN108189039B (zh) * | 2018-02-09 | 2020-05-12 | 意诺科技有限公司 | 一种移动机器人的行进方法及装置 |
CN108189039A (zh) * | 2018-02-09 | 2018-06-22 | 意诺科技有限公司 | 一种移动机器人的行进方法及装置 |
CN108614558B (zh) * | 2018-05-31 | 2020-12-25 | 北京智行者科技有限公司 | 一种清扫轨迹规划方法 |
CN108614558A (zh) * | 2018-05-31 | 2018-10-02 | 北京智行者科技有限公司 | 一种清扫轨迹规划方法 |
CN108931980A (zh) * | 2018-07-26 | 2018-12-04 | 珠海市微半导体有限公司 | 机器人内建地图的标记方法和芯片及室内清洁机器人 |
CN108931980B (zh) * | 2018-07-26 | 2021-07-06 | 珠海市一微半导体有限公司 | 机器人内建地图的标记方法和芯片及室内清洁机器人 |
CN111185899A (zh) * | 2018-11-14 | 2020-05-22 | 苏州科瓴精密机械科技有限公司 | 机器人控制方法及机器人系统 |
CN111185899B (zh) * | 2018-11-14 | 2022-05-13 | 苏州科瓴精密机械科技有限公司 | 机器人控制方法及机器人系统 |
CN111345734A (zh) * | 2018-12-24 | 2020-06-30 | 珠海市一微半导体有限公司 | 扫地机器人作业方法、装置、存储介质及扫地机器人 |
WO2021037116A1 (zh) * | 2019-08-27 | 2021-03-04 | 南京德朔实业有限公司 | 自行走割草系统及其漏割区域的补充作业的方法 |
CN112567958A (zh) * | 2019-09-12 | 2021-03-30 | 南京德朔实业有限公司 | 自行走割草系统及其漏割区域的补充作业的方法 |
CN110702120A (zh) * | 2019-11-06 | 2020-01-17 | 小狗电器互联网科技(北京)股份有限公司 | 地图边界处理方法、系统、机器人和存储介质 |
CN110764513A (zh) * | 2019-11-26 | 2020-02-07 | 小狗电器互联网科技(北京)股份有限公司 | 一种地图盲区识别方法 |
CN111493756A (zh) * | 2020-05-29 | 2020-08-07 | 深圳拓邦股份有限公司 | 一种扫地机补扫方法、存储介质及扫地机 |
CN111493756B (zh) * | 2020-05-29 | 2021-12-28 | 深圳拓邦股份有限公司 | 一种扫地机补扫方法、存储介质及扫地机 |
CN112198876A (zh) * | 2020-09-28 | 2021-01-08 | 湖南格兰博智能科技有限责任公司 | 一种适用于扫地机器人的带地图全覆盖清扫模块化控制方法 |
CN112198876B (zh) * | 2020-09-28 | 2023-10-03 | 湖南格兰博智能科技有限责任公司 | 一种适用于扫地机器人的带地图全覆盖清扫模块化控制方法 |
CN112352530A (zh) * | 2020-10-27 | 2021-02-12 | 点亮明天科技(北京)有限责任公司 | 一种自动除草机器人的工作路径优化方法 |
CN112764418A (zh) * | 2020-12-25 | 2021-05-07 | 珠海市一微半导体有限公司 | 基于寻径代价的清洁入口位置确定方法、芯片及机器人 |
CN112764418B (zh) * | 2020-12-25 | 2024-04-02 | 珠海一微半导体股份有限公司 | 基于寻径代价的清洁入口位置确定方法、芯片及机器人 |
CN113633221A (zh) * | 2021-08-17 | 2021-11-12 | 北京智行者科技有限公司 | 自动清洁设备漏扫区域处理方法、装置和系统 |
CN113907648A (zh) * | 2021-10-19 | 2022-01-11 | 微思机器人(深圳)有限公司 | 确定清扫路径的方法、装置、扫地机器人及存储介质 |
CN114711668A (zh) * | 2022-03-31 | 2022-07-08 | 苏州三六零机器人科技有限公司 | 清扫方法、装置、扫地机及计算机可读存储介质 |
WO2024016839A1 (zh) * | 2022-07-21 | 2024-01-25 | 深圳银星智能集团股份有限公司 | 二次清洁方法、装置、清洁机器人及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN107390698B (zh) | 2020-12-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107390698A (zh) | 扫地机器人的补扫方法及芯片 | |
CN107368079B (zh) | 机器人清扫路径的规划方法及芯片 | |
CN112099493B (zh) | 一种自主移动机器人轨迹规划方法、系统及设备 | |
CN109984689B (zh) | 一种清洁机器人及清洁机器人的路径优化方法 | |
CN104972462B (zh) | 自移动机器人避障行走方法 | |
CN111813121B (zh) | 基于距离-角度优先级的多移动机器人编队避障方法 | |
CN111830970B (zh) | 一种机器人沿边行走的区域清扫规划方法、芯片及机器人 | |
CN110487279B (zh) | 一种基于改进a*算法的路径规划方法 | |
CN108180911B (zh) | 一种agv自动生成修正路径方法 | |
CN111857127B (zh) | 一种机器人沿边行走的清洁分区规划方法、芯片及机器人 | |
CN107560620A (zh) | 一种路径导航方法和芯片及机器人 | |
CN106346129B (zh) | 一种基于激光焊缝跟踪传感器的机器人焊接运动控制方法 | |
CN109514133A (zh) | 一种基于线结构光感知的焊接机器人3d曲线焊缝自主示教方法 | |
US20230309776A1 (en) | Method for Controlling Cleaning Based on Dense Obstacles | |
CN109945873A (zh) | 一种用于室内移动机器人运动控制的混合路径规划方法 | |
KR20210053323A (ko) | 동적 확률 모션 계획 | |
CN106774347A (zh) | 室内动态环境下的机器人路径规划方法、装置和机器人 | |
CN112799398A (zh) | 基于寻径代价的清洁路径规划方法、芯片及清洁机器人 | |
CN109798909A (zh) | 一种全局路径规划的方法 | |
CN106826834B (zh) | 一种机器人焊接自动寻位方法 | |
CN107065883A (zh) | 移动控制方法、装置、机器人及存储介质 | |
CN112683275B (zh) | 一种栅格地图的路径规划方法 | |
JP6672702B2 (ja) | 制御装置、工作機械、制御方法及びコンピュータプログラム | |
CN105676779A (zh) | 一种自由曲面加工局部干涉区域边界确定的追踪方法 | |
CN109933057A (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 |