CN115755881A - 基于超声波的地面环境运动规划方法 - Google Patents
基于超声波的地面环境运动规划方法 Download PDFInfo
- Publication number
- CN115755881A CN115755881A CN202211238871.8A CN202211238871A CN115755881A CN 115755881 A CN115755881 A CN 115755881A CN 202211238871 A CN202211238871 A CN 202211238871A CN 115755881 A CN115755881 A CN 115755881A
- Authority
- CN
- China
- Prior art keywords
- carpet
- cleaning robot
- partition
- area
- cleaned
- 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.)
- Pending
Links
Images
Landscapes
- Electric Vacuum Cleaner (AREA)
- Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)
Abstract
本发明公开基于超声波的地面环境运动规划方法,包括:清洁机器人基于超声波传感器接收到的探测信号强度检测出至少一个地毯分区,再在检测出的地毯分区之外的可通行区域行走,直至清洁机器人在室内环境中行走完硬地面区域;根据地毯分区的面积与硬地面区域的面积的比值从检测出的地毯分区当中筛选出待清扫地毯分区,然后进入当前筛选出的一个待清扫地毯分区,再在同一个待清扫地毯分区内行走,直至清洁机器人在该待清扫地毯分区内行走所产生的耗时达到标准清洁时间,然后开始沿着该待清扫地毯分区的边界线行走并提取出该待清扫地毯分区的边角信息,再基于提取出的待清扫地毯分区的边角信息,重新定位清洁机器人的位姿信息。
Description
技术领域
本申请涉及智能移动机器人的技术领域,特别是基于超声波的地面环境运动规划方法。
背景技术
在室内环境下,仅使用惯性传感器进行导航的清洁机器人在地面行走时,可能接触到地毯等容易让清洁机器人的驱动轮打滑的地面介质,清洁机器人在地毯行走的过程中出现打滑或空转后,容易出现漏扫或重复清扫,若清洁机器人在地毯内打滑,地图中依据惯性传感器标记出的距离已经超出预期速度下所能行走出的距离,并从地图中确定出清洁机器人已经从地毯内跨出至硬地面,且在地图会将硬地面的部分区域标记为已清扫区域,但是清洁机器人实际上并没有清扫覆盖到该部分区域,后续规划清扫的过程中会绕过该部分区域,则清洁机器人在硬地面容易出现漏扫。因此,在同一室内环境下,清洁机器人往返于地毯和硬地板这两种软硬不同地面介质区域的过程中,往往会因为清洁机器人在地毯出现打滑而造成清洁机器人在硬地板的清扫覆盖率降低。
发明内容
本申请公开基于超声波的地面环境运动规划方法,具体的技术方案如下:
基于超声波的地面环境运动规划方法,地面环境运动规划方法适用于底部装配超声波传感器的清洁机器人,清洁机器人被配置为行走在具有地毯和硬地面的地面环境中;所述地面环境运动规划方法包括:步骤S1、清洁机器人基于超声波传感器接收到的探测信号强度检测出至少一个地毯分区,再在检测出的地毯分区之外的可通行区域行走,并依据检测出的地毯分区的边界线计算该地毯分区的面积,直至清洁机器人在室内环境中行走完硬地面区域,并计算获得硬地面区域的面积,其中,清洁机器人将室内环境中除了检测出的地毯分区之外的可通行区域标记为硬地面区域;每个地毯分区与硬地面区域之间都设置边界线,以标记为对应地毯分区的边界线;步骤S2、根据地毯分区的面积与硬地面区域的面积的比值,从步骤S1检测出的地毯分区当中筛选出待清扫地毯分区;然后,依据待清扫地毯分区的面积设置清洁机器人在待清扫地毯分区内的标准清洁时间;步骤S3、清洁机器人从硬地面区域进入当前筛选出的一个待清扫地毯分区,然后保持在同一个待清扫地毯分区内行走,直至清洁机器人在该待清扫地毯分区内行走所产生的耗时达到标准清洁时间;步骤S4、清洁机器人在步骤S3所述的待清扫地毯分区内的行走耗时达到标准清洁时间后,开始沿着该待清扫地毯分区的边界线行走并提取出该待清扫地毯分区的边角信息,再基于提取出的待清扫地毯分区的边角信息,重新定位清洁机器人的位姿信息,并将重新定位出的清洁机器人的位姿信息更新清洁机器人的当前位置,再离开该待清扫地毯分区。
进一步地,在所述步骤S2中,所述根据地毯分区的面积与硬地面区域的面积的比值,从步骤S1检测出的地毯分区当中筛选出待清扫地毯分区的方法包括:清洁机器人判断步骤S1计算出的一个地毯分区的面积与所述硬地面区域的面积的比值是否处于预设覆盖比值范围,是则将该地毯分区设置为待清扫地毯分区并确定清洁机器人筛选出一个待清扫地毯分区,否则将该地毯分区设置为禁止清扫分区;其中,禁止清扫分区的面积小于待清扫地毯分区的面积;预设覆盖比值范围用于描述允许清洁机器人行走的地毯分区与硬地面区域在同一室内环境中的布局情况;其中,所述硬地面区域的表面覆盖的介质与所述待清扫地毯分区的表面覆盖的介质不同,不同的待清扫地毯分区被所述硬地面区域隔开。
进一步地,在第一次执行所述步骤S3时,清洁机器人已经行走完所述硬地面区域,然后在清洁机器人在进入待清扫地毯分区之前,选择距离清洁机器人的当前位置最近的一个待清扫地毯分区更新为所述当前筛选出的一个待清扫地毯分区,然后清洁机器人从其当前位置开始进入所述当前筛选出的一个待清扫地毯分区;执行所述步骤S4之后,还包括:清洁机器人选择距离更新出的当前位置最近的一个未遍历的待清扫地毯分区设置为所述当前筛选出的一个待清扫地毯分区;然后行走至所述硬地面区域以离开当前所处的待清扫地毯分区,再重复执行步骤S3和步骤S4,直至清洁机器人依次遍历到每个待清扫地毯分区,再返回硬地面区域。
进一步地,所述步骤S1中,所述清洁机器人基于超声波传感器接收到的探测信号强度检测出至少一个地毯分区的方法包括:步骤S11、清洁机器人按照预设规划路径行走在硬地面区域,并控制超声波传感器发出超声波并接收超声波反射信号,同时控制惯性传感器测量清洁机器人的姿态角;步骤S12、当超声波传感器接收到的超声波反射信号的强度处于预设强度阈值范围内时,清洁机器人检测到地毯,并将当前检测到地毯的位置点标记为地毯的边界点,再在全局地图中标记出地毯的边界点对应的栅格,同时调整行走方向以使清洁机器人不进入地毯;其中,地毯的边界点连成地毯的边界线,地毯的边界线连成的闭合区域是配置为地毯分区;超声波反射信号的强度是超声波传感器接收到的探测信号强度。
进一步地,在步骤S12中,每当清洁机器人检测到地毯后,在保持不进入当前检测到的地毯的前提下,沿着当前检测到的地毯的边界线行走在地毯的外部区域;若清洁机器人在沿着当前检测到的地毯的边界线行走一圈的过程中,检测到边界线的第一侧区域反射回来的超声波反射信号的强度处于预设强度阈值范围内,且检测同一边界线的第二侧区域反射回来的超声波反射信号的强度没有处于预设强度阈值范围内,则清洁机器人确定当前检测到的地毯的边界线围成一个地毯分区,并确定清洁机器人检测到一个地毯分区,其中,惯性传感器用于测量清洁机器人是否沿着边界线行走过一圈,地毯分区的边界线是属于地毯的边界线;然后清洁机器人按照预设规划路径行走至未遍历区域内且保持不进入地毯,再重复执行步骤S11和步骤S12以检测出新的地毯分区;其中,所述全局地图是属于栅格地图,缓存在清洁机器人的存储器中;清洁机器人的底部装配至少两个超声波传感器,用于探测清洁机器人的行走方向的两侧的区域的地面介质类型。
进一步地,所述步骤S12中,清洁机器人先行走至该未遍历位置点,再从该未遍历位置点继续按照预设规划路径进行行走,但不进入地毯;当清洁机器人行走完除所检测到的地毯之外的区域时,确定剩下的未遍历区域是地毯覆盖区域;其中,地毯覆盖区域是由地毯的边界点连接形成的至少一个闭合区域组成,一个闭合区域是一个地毯分区;每个地毯分区的边界点都属于地毯覆盖区域的边界点。
进一步地,所述步骤S1中,所述依据检测出的地毯分区的边界线计算该地毯分区的面积的方法包括:将当前检测出的一个地毯分区划分为由至少一个规则图形区域组成;然后计算当前检测的一个地毯分区的边界线在横坐标轴方向上的投影长度与同一地毯分区的边界线在纵坐标轴方向上的投影长度;然后基于组成当前检测出的一个地毯分区的规则图形区域所属的几何图形类型,利用获取的各个坐标轴方向上的投影长度计算出对应规则图形区域的面积,再将组成当前检测出的一个地毯分区的所有规则图形区域的面积的和值设置为该地毯分区的面积。
进一步地,组成一个地毯分区的规则图形区域是一个矩形区域或至少两个矩形区域的组合;在同一室内环境中,一个硬地面区域和至少一个地毯分区组成矩形区域;其中,所述硬地面区域和所述地毯分区都设置为可通行区域。
进一步地,所述步骤S1还包括:清洁机器人在室内环境中行走完除了所有地毯分区之外的可通行区域后,确定清洁机器人已经遍历完所述硬地面区域,并将清洁机器人在硬地面区域中行走过的位置点依次标记在全局地图的对应栅格中以组成硬地面区域的轮廓地图;然后统计所述硬地面区域在全局地图中占据的栅格数量,再将栅格数量与单位栅格的面积的乘积设置为硬地面区域的面积。
进一步地,在步骤S2中,所述依据待清扫地毯分区的面积设置清洁机器人在待清扫地毯分区内的标准清洁时间的方法包括:所述标准清洁时间等于所述待清扫地毯分区的面积与清洁机器人的有效清扫面积的比值与预设误差系数的乘积;其中,清洁机器人的有效清扫面积是等于预先设定的清洁机器人行走速度与清洁机器人的机身直径的乘积;其中,预设误差系数用于表示清洁机器人实际行走完所述待清扫地毯分区后,清洁机器人实际行走出的轨迹的覆盖区域与所述待清扫地毯分区的面积差异程度。
进一步地,在所述步骤S3中,保持在同一个待清扫地毯分区内行走,直至清洁机器人在该待清扫地毯分区内行走所产生的耗时达到标准清洁时间的方法包括:步骤S31、清洁机器人在所述待清扫地毯分区内从预设行走起点开始行走的过程中,当超声波传感器接收到的超声波反射信号的强度没有处于预设强度阈值范围内时,清洁机器人确定当前行走至所述待清扫地毯分区的边界线,然后清洁机器人调整行走方向,使得清洁机器人不行走至所述待清扫地毯分区的外部,其中,清洁机器人调整后的行走方向与其调整前的行走方向的夹角的角度设置为大于或等于调整前的行走方向与清洁机器人行走到的边界线所成的夹角的角度;步骤S32、清洁机器人保持在所述待清扫地毯分区内行走,直至记录到清洁机器人从所述待清扫地毯分区内的预设行走起点开始行走所耗费的时间达到标准清洁时间,清洁机器人确定其已经覆盖到所述待清扫地毯分区;其中,清洁机器人在所述待清扫地毯分区内不按照预设规划路径行走;其中,清洁机器人的底部的前方装配超声波传感器,用于朝清洁机器人的行走地面发射超声波。
进一步地,在所述步骤S3中,清洁机器人行走完硬地面区域后,清洁机器人从硬地面区域进入当前筛选出的一个待清扫地毯分区的方法包括:从所有未被清洁机器人进入的待清扫地毯分区中,选择距离清洁机器人的当前位置最近的一个角点配置为参考角点;其中,每个待清扫地毯分区的边界点都包括角点;然后,清洁机器人在该参考角点所处的待清扫地毯分区中,选择以该参考角点为共同端点的两条边界线分别配置为第一参考边和第二参考边;清洁机器人在第一参考边的中点和第二参考边的中点当中,选择距离清洁机器人的当前位置最近的一个中点配置为当前预设目标点;然后,清洁机器人将当前预设目标点所处的待清扫地毯分区设置为机器人当前需要进入的待清扫地毯分区。
进一步地,在步骤S4中,清洁机器人开始沿着该待清扫地毯分区的边界线行走并提取出该待清扫地毯分区的边角信息,再基于提取出的待清扫地毯分区的边角信息,重新定位清洁机器人的位姿信息,并将重新定位出的清洁机器人的位姿信息更新清洁机器人的当前位置的方法包括:清洁机器人行走到所述待清扫地毯分区的边界线时,清洁机器人转动机身以调整行走方向,直至清洁机器人的一侧装配的超声波传感器接收到的超声波反射信号的强度没有处于预设强度阈值范围内、清洁机器人的另一侧装配的超声波传感器接收到的超声波反射信号的强度处于预设强度阈值范围内,则确定清洁机器人的两个超声波传感器分居所述待清扫地毯分区的边界线的两侧,并将机器人的当前位置设置为重定位起点位置;清洁机器人从重定位起点位置开始,在保持清洁机器人的两侧的超声波传感器分居所述待清扫地毯分区的边界线的两侧的状态下按照预设时针方向行走,并使用惯性传感器检测清洁机器人的偏转角度的变化量;当清洁机器人行走到角点时,将该角点的位姿信息设置为重新定位出清洁机器人的位姿信息,并使用该角点的位姿信息更新为清洁机器人的当前位姿信息,以使得清洁机器人在所述角点处按照预设时针方向转动过所述参考角度;然后确定清洁机器人在所述待清扫地毯分区内重新获得其位姿信息;其中,所述偏转角度的变化量用于表示清洁机器人的行走方向的变化;其中,所述角点是所述待清扫地毯分区的两条边界线的公共端点;其中,预设时针方向是顺时针方向或逆时针方向;其中,清洁机器人的两侧分别装配有超声波传感器,用于探测清洁机器人的行走方向的两侧的区域的地面介质类型。
进一步地,步骤S4还包括:清洁机器人行走至所述重定位起点位置之前,清洁机器人在所述待清扫地毯分区内行走,当超声波传感器接收到的超声波反射信号的强度没有处于预设强度阈值范围内时,清洁机器人确定其行走到所述重定位起点位置所在的边界线;其中,预设强度阈值范围用于表示地毯分区反馈回的超声波反射信号的信号强度范围;其中,所述角点和所述重定位起始点位于所述待清扫地毯分区的同一条边界线上;所述角点处允许存在障碍物,以使得所述角点是位于墙角区域或缺口的端点位置。
进一步地,清洁机器人在所述待清扫地毯分区内行走时,清洁机器人控制超声波传感器发出超声波并接收超声波反射信号,并控制惯性传感器测量清洁机器人的姿态角,但停止对全局地图的栅格进行标记;当清洁机器人使用所述角点的位姿信息更新为清洁机器人的当前位姿信息后,清洁机器人行走至所述硬地面区域,同时清洁机器人获取其位姿信息,并在全局地图内标记为清洁机器人的当前位置对应的栅格。
针对工作于带有地毯的地面环境中的清洁机器人,本申请通过超声波传感器检测地毯材质还是硬地面材质,能够在清洁机器人在地毯的外围行走的过程中依次标记出地毯的边界线以逐步围成各个地毯分区,划分出地毯分区与硬地面区域之间的边界,进而机器人在遍历完一整块硬地面区域后划分出多个地毯分区,确保机器人在不进入任意地毯分区的前提下按照预设规划路径完整且不重复地覆盖清扫完硬地面区域,清洁机器人不受到在地毯打滑或空转因素的影响,减少出现地毯之外的地面环境的漏扫和重复清扫。
清洁机器人在覆盖清扫完硬地面区域之后,会根据地毯分区的面积与硬地面区域的面积的比值来决定是否对该地毯分区进行遍历,在开始遍历地毯区域时可以采用随机行走的方式且不更新地图,而且不一定做到完整的覆盖地毯分区,但会在满足一定的清扫时间后进行重定位并退出该地毯分区。
其中,本申请定义的待清扫地毯分区是一个房间区域中的地毯覆盖区域时,本申请依靠惯性传感器和超声波传感器在每个地毯分区内都在相适应的时间内进行覆盖面较大的清洁作业,不用建图定位,也不用规划路径,则减少机器人的驱动轮打滑带来的建图定位误差,从而克服地毯带来的打滑因素的影响,避免清洁机器人的惯性传感器在地毯表面积累的漂移误差的影响,但最终会遍历到地毯,考虑到地毯的清扫但不完整地清扫地毯,而是完整地清扫地毯外部的硬地面区域。因此在考虑地毯带来的机器人打滑因素的同时,兼顾到硬地板的清扫覆盖率。
清洁机器人在地毯分区内完成既定时间的遍历之后,通过提取边缘位置信息来重新定位回清洁机器人的当前位置,再退下地毯,则清洁机器人从该重新定位回的当前位置回到硬地面区域时,还能继续相对准确地通过传感器或预先建立的地图定位出自身的实时位置。进而在每个地毯分区的边角位置处能够重定位出一个相对准确的机体定位信息,以便于由一个已遍历的地毯分区进入距离合理的未遍历的地毯分区或返回硬地面区域,有序地遍历室内环境中所有地毯分区。
附图说明
图1是本发明的一种实施例公开基于超声波的地面环境运动规划方法的流程图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行详细描述。以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本申请实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本申请。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本申请的描述。
应当理解,当在本申请中使用时,术语“包括”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。 还应当理解,在本申请中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。 如在本申请中所使用的那样,术语“如果”可以依据上下文被解释为“当…时”或“一旦”或“响应于确定”或“响应于检测到”。类似地,短语“如果确定”或“如果检测到[所描述条件或事件]”可以依据上下文被解释为意指“一旦确定”或“响应于确定”或“一旦检测到[所描述条件或事件]”或“响应于检测到[所描述条件或事件]”。
机器人感知到行走环境发生变化,主要是机器人在行走过程中检测到从地板进入地毯或者从地毯进入地板等行走环境发生变化,机器人的驱动轮会出现打滑或空转,与码盘实际测得的里程距离不一致,导致位移计算有偏差;其中,行走的地面环境包括地毯以及地板,导致机器人的驱动轮会存在打滑的风险,导致机器人建立的地图与真实的环境地图存在偏差,后续使用该全局地图导航时不能确保机器人停留在给定路线上和/或达到指定位置,导致机器人的位移距离计算结果出错。
在扫地机器人的运行过程中,由于轮子打滑等复杂因素,使得陀螺仪和编码器出现误差,如果不对误差进行校正,机器人会逐渐偏离路线。机器人处于正常状态时,机器人的驱动轮带动机器人进行位移,即机器人测得的驱动轮的行驶里程与机器人的实际位移是一致的;若机器人的驱动轮在转动,而机器人的实际位移是不变的,则机器人测得的驱动轮的行驶里程与机器人的实际位移不同,可以确定机器人处于打滑状态,一般地,机器人测得的驱动轮的行驶里程会大于机器人的实际位移。
从而打滑误差可以表现为在该地毯上时容易在全局地图中将清洁机器人的当前位置标记为偏移到相邻的硬地面区域内,则相邻的硬地面区域被标记为已清扫区域(已遍历区域),导致被偏移的相邻接的硬地面区域被漏扫;或者离开该地毯分区后进入硬地面区域时容易在全局地图中将清洁机器人的当前位置标记为偏移回地毯分区内,则当前所在的硬地面区域被标记为未清扫区域(未遍历区域),导致当前被清扫的硬地面区域会被重复清扫。
例如,机器人在地毯行走过程中,由于驱动轮打滑,所以机器人测得的驱动轮的行驶里程与机器人的实际位移不是相等,当在地图中标记机器人的当前位置已经位于地毯之外且偏离地毯的中心位置具有第一预设距离,但实际上机器人仍在地毯内,只是驱动轮在转,而机器人的实际位移还没达到地毯之外的硬地面,地图中标记的机器人的当前位置与地毯的边界线之间的区域会被标记已清扫区域,但实际上没有被机器人清扫覆盖过。当机器人实际行走到地毯之外的硬地面时,在地图中标记的机器人的当前位置偏离地毯的中心位置具有第二预设距离,第二预设距离小于所述第一预设距离,从而在地图中将机器人的当前位置与地毯的中心位置之间的区域会被标记已清扫区域,并在同一地图中将机器人的当前位置与距离地毯的中心位置具有第一预设距离的位置之间的区域标记未清扫区域,然而距离地毯的中心位置具有第二预设距离的位置与距离地毯的中心位置具有所述第一预设距离的位置之间的区域实际上已经被机器人遍历到,后续在硬地面清扫规划过程中导致该部分区域被重复清扫,使得地毯打滑误差蔓延到硬地面区域。
本领域技术人员可知,超声波传感器可以以6ms为间隔持续采集探测空间区域的超声波数据,清洁机器人可以将超声波传感器探测到的区域位置坐标信息转换到全局地图中,可以是由体素表示的三维地图或投影到二维栅格地图中。超声波传感器产生的探测空间区域由超声波传发射角和最大探测距离约束形成,优选地构成一种锥形区域范围。其中,超声波反射信号返回的测量信号的强度包括超声波在该锥形区域范围内距超声波传感器距离最近的障碍物表面、地面介质反馈的强弱不同的超声波信号强度,一般使用电平大小来表示,可以根据超声波信号的强度区分表面的介质类型,具体可以区分出地毯区域和硬地面区域,则确定出地毯区域和硬地面区域的分界线,该分界线可视为地毯区域的边界线。超声波的反射信号返回的测量信号还包括该锥形区域范围内距超声波传感器距离最近的地毯边缘位置点的距离测量值,也可以是超声波在障碍物表面的投影区域反馈回的距离信息,因为超声波都是有一定角度,例如形成10度的锥形区域,所以对应获得一块区域的点云信息,可以获得距离信息的集合。
本申请实施例公开基于超声波的地面环境运动规划方法,地面环境运动规划方法适用于装配超声波传感器的清洁机器人,考虑到激光传感器和视觉传感器的成本较高,清洁机器人还可以装配惯性传感器以进行导航定位;超声波传感器装配在清洁机器人的底部的前方,让清洁机器人在行走过程尽快检测到前方的地毯。优选地,清洁机器人的底部的两侧各安装至少一个超声波传感器,每个超声波传感器可以与清洁机器人的中轴线的垂直距离处于2厘米至3厘米的范围内,清洁机器人的中轴线是与清洁机器人的行走方向平行,清洁机器人可以是圆盘形状的扫地机器人,其外壳构造出一定的机身直径。
作为一种实施例,如图1所示,公开基于超声波的地面环境运动规划方法,地面环境运动规划方法的具体步骤包括:
步骤S1、清洁机器人基于超声波传感器接收到的探测信号强度检测出至少一个地毯分区,这里的至少一个地毯分区是一个室内环境中铺设的至少一块地毯,也可以是预设设置的同一室内环境中的至少一个房间区域内铺设的地毯区域(可以在每个房间区域内分别铺设一块地毯);再在检测出的地毯分区之外的可通行区域行走,同时还在检测出的地毯分区之外的区域,基于惯性传感器采集的位置信息在全局地图内标记栅格以构建地图;则在全局地图中,地毯分区之外的区域的轮廓的包围下,可以依据检测出的地毯分区的边界线依次计算该地毯分区的面积,每检测出一个地毯分区,则计算出该地毯分区的面积,计算方式可以依据边界线的长度以及边界线所围成的图形形状确定;其中,检测出的地毯分区能够与地毯分区之外的可通行区域共同的边界线,即每个地毯分区与硬地面区域之间都设置边界线,以标记为对应地毯分区的边界线;机器人可以通过调整行走方向来保持不进入任意一个被检测出的地毯分区,直至清洁机器人在室内环境中行走完除了检测出的地毯分区之外的可通行区域以清扫完硬地面区域,并计算获得硬地面区域的面积,在清洁机器人遍历硬地面区域的过程中,按照预设规划路径对硬地面区域进行清扫,比如按照弓字型路径或其余来回弯折的路径对所行走的位置进行清扫作业,包括清洁机器人控制机体底部的清洁刷对地面进行清扫并使用机体底部的吸尘装置进行吸尘作业,以通过预设规划路径对硬地面区域进行全覆盖式清扫;然后执行步骤S2,而不是继续在除了检测出的地毯分区之外的可通行区域内继续行走,其中,清洁机器人将室内环境中除了检测出的地毯分区之外的可通行区域标记为硬地面区域,即室内环境中所有地毯分区之外的可通行区域是地面介质不同于地毯的地面区域,本实施例将这一地面介质类型的地面区域视为硬地面区域。
步骤S2,根据地毯分区的面积与硬地面区域的面积的比值,从步骤S1检测出的地毯分区当中筛选出待清扫地毯分区;一般地,在清洁机器人行走完硬地面区域后,才计算各个地毯分区的面积与硬地面区域的面积的比值,以通过与预设的比值比较来在同一室内环境(同一房间区域内)中确定出占地面积合理的地毯分区,作为待清扫地毯分区,便于清洁机器人清扫覆盖地毯,但不一定完整地覆盖地毯。在此基础上,清洁机器人依据待清扫地毯分区的面积设置清洁机器人在待清扫地毯分区内的标准清洁时间,然后清洁机器人执行步骤S3;其中,标准清洁时间具体与清洁机器人的形状大小和运动速度相关,清洁机器人在不打滑的理想状态下按照预设规划路径行走时,在标准清洁时间内能够清扫所述待清扫地毯分区。
需要说明的是,同一室内环境或同一房间区域内可以包括多个地毯分区;地毯分区或待清扫地毯分区是由其边界点连接形成的闭合区域,一个地毯分区是一个闭合区域,闭合区域等效于封闭区域;每个地毯分区的边界点也可以视为与之相接壤的硬地面区域的边界点;所述地毯分区在全局地图中是表示为由边界点对应的栅格围成的多个闭合的栅格区域组成;需要说明的是,本实施例中,每当清洁机器人行走到一个位置点,则确定清洁机器人遍历到该位置点,并将该位置点设置为已遍历的位置点,且在全局地图中将该位置点对应的栅格标记为已遍历的栅格,逐个栅格的遍历,则清洁机器人能标记出单个已遍历区域。
步骤S3,清洁机器人从硬地面区域进入当前筛选出的一个待清扫地毯分区。在第一次执行步骤S3时,清洁机器人在遍历完所述硬地面区域后,进入当前筛选出的一个待清扫地毯分区,这里的进入动作仅是按照规定的路径导航至待清扫地毯分区,沿途没有进行清扫作业(即不重复清扫硬地面区域);所述当前筛选出的一个待清扫地毯分区是属于步骤S2筛选出的一个待清扫地毯分区。在后续执行步骤S3时,清洁机器人可能会重复遍历到所述硬地面区域,再从所述硬地面区域内的一个位置点进入未遍历的待清扫地毯分区,可以是在步骤S4中基于重新定位出的当前位置更新出的所述当前筛选出的一个待清扫地毯分区,同样属于步骤S2筛选出的所有待清扫地毯分区当中的一个未遍历的地毯分区。然后清洁机器人保持在同一个待清扫地毯分区(清洁机器人在步骤S3中进入的待清扫地毯分区)内行走,清洁机器人行走在该待清扫地毯分区的过程中,会保持对待清扫地毯分区进行清扫,包括清洁机器人控制机体底部的清洁刷对地面进行随机清扫并使用机体底部的吸尘装置进行吸尘作业,以通过预设规划路径对待清扫地毯分区进行清扫;直至在该待清扫地毯分区内行走所产生的耗时达到标准清洁时间,然后清洁机器人执行步骤S4。优选地,清洁机器人依据其当前位置点确定一个目标起点和所要进入的一个待清扫地毯分区,然后,清洁机器人从目标起点开始行走至所要进入的一个待清扫地毯分区的内部。
优选地,在步骤S3中,考虑到清洁机器人在地毯表面行走时容易出现打滑,清洁机器人不按照预设规划路径行走,而是以随机行走的方式遍历所述待清扫地毯分区,可以从一个预设行走起点开始,在待清扫地毯分区内以随机的行走方向执行清扫作业,其中,清洁机器人的运动速度可以是固定,且清洁机器人不允许走出待清扫地毯分区;直至清洁机器人在该待清扫地毯分区内行走(清扫)所产生的耗时达到标准清洁时间。
步骤S4,清洁机器人在步骤S3所述的待清扫地毯分区内的行走耗时达到标准清洁时间后,开始沿着该待清扫地毯分区的边界线行走并提取出该待清扫地毯分区的边角信息,优选地,通过调整行走方向来控制清洁机器人在保持两个超声波传感器分居该待清扫地毯分区的边界线的两侧的状态下行走,具体是在清洁机器人中轴线的左右两侧的超声波传感器分居该待清扫地毯分区的边界线的两侧的状态下进行行走,以使得清洁机器人沿着所述待清扫地毯分区的边界线行走。再基于提取出的待清扫地毯分区的边角信息,重新定位清洁机器人的位姿信息,以更新清洁机器人的当前位置,即将重新定位出的清洁机器人的位姿信息更新清洁机器人的当前位置;在一些实施例中,待清扫地毯分区的边角信息当中会存在一些比较明显环境特征,如待清扫地毯分区的轮廓中的缺口;待清扫地毯分区是矩形区域或矩形的组合区域时,也会存在一些比较明显的边界特征,如待清扫地毯分区的轮廓中的直角特征;则清洁机器人通过提取出的相关类型的角点信息,可以准确定位清洁机器人当前在待清扫地毯分区的位置,实现在退出待清扫地毯分区之前对清洁机器人进行重定位,其中,角点信息是属于围成待清扫地毯分区的边界线的端点,在清洁机器人完整覆盖到所述硬地面区域之后,已经标记在全局地图中并保存在清洁机器人的存储器中。
综上,针对工作于带有地毯的地面环境中的清洁机器人,本申请通过超声波传感器检测地毯材质还是硬地面材质,能够在清洁机器人在地毯的外围行走的过程中依次标记出地毯的边界线以逐步围成各个地毯分区,划分出地毯分区与硬地面区域之间的边界,进而机器人在遍历完一整块硬地面区域后划分出多个地毯分区,确保机器人在不进入任意地毯分区的前提下按照预设规划路径完整且不重复地覆盖清扫完硬地面区域,清洁机器人不受到在地毯打滑或空转因素的影响,减少出现地毯之外的硬地面环境的漏扫和重复清扫。
在上述实施例的基础上,在清洁机器人第一次执行步骤S3时,清洁机器人行走完所述硬地面区域,已经确定围成各个待清扫地毯分区,然后在清洁机器人在进入待清扫地毯分区之前,选择距离清洁机器人的当前位置选择距离最近的一个待清扫地毯分区作为所述当前筛选出的一个待清扫地毯分区,能够在全局地图中予以标记,此时仍属于第一次执行步骤S3的流程当中,清洁机器人仍位于所述硬地面区域内,然后清洁机器人从其当前位置开始进入所述当前筛选出的一个待清扫地毯分区,并保持在所述当前筛选出的一个待清扫地毯分区内行走,然后可以执行步骤S4。
在上述实施例的基础上,所述步骤S4还包括:清洁机器人离开待清扫地毯分区之前,清洁机器人选择距离更新出的当前位置最近的一个未遍历的待清扫地毯分区更新为所述当前筛选出的一个待清扫地毯分区,等效于重复执行步骤S3以选择距离清洁机器人的当前位置最近的一个待清扫地毯分区设置为所述当前筛选出的一个待清扫地毯分区,形成下一个遍历的待清扫地毯分区,属于未遍历的待清扫地毯分区;然后清洁机器人重复执行前述实施例公开的步骤S3和步骤S4,直至清洁机器人依次遍历到每个待清扫地毯分区,并确定清洁机器人已经遍历到步骤S2筛选出的所有待清扫地毯分区;其中,清洁机器人从已遍历的一个待清扫地毯分区行走至未遍历的一个待清扫地毯分区的过程中,可能会经过硬地面区域,但不经过其余已遍历的待清扫区域,且在进入未遍历的待清扫地毯分区之前不进行清扫。清洁机器人在地毯分区内完成既定时间的遍历之后,通过提取边缘位置信息来重新定位回清洁机器人的当前位置,再退下地毯,则清洁机器人从该重新定位回的当前位置回到硬地面区域时,还能继续相对准确地通过传感器或预先建立的地图定位出自身的实时位置。进而在每个地毯分区的边角位置处能够重定位出一个相对准确的机体定位信息,以便于由一个已遍历的地毯分区进入距离合理的未遍历的地毯分区或返回硬地面区域,有序地遍历室内环境中所有地毯分区。
由于地毯介质引起打滑的因素,不一定保证清洁机器人能够完整地清扫覆盖到单个待清扫地毯分区的全部区域,且待清扫地毯分区是基于步骤S2设定的面积比值筛选出的地毯分区,不是步骤S1在同一室内环境内检测出的全部地毯分区,所以清洁机器人没有遍历到全部的地毯分区,可能只是清扫覆盖到同一室内环境中的部分地毯分区的部分区域;然后清洁机器人返回硬地面区域,而清洁机器人已经完整地清扫覆盖到硬地面区域的全部,则不需要再对硬地面区域进行清扫;且能够从待清扫地毯分区返回硬地面区域后,依靠其在待清扫地毯分区的边界线处提取的边角信息重新定位清洁机器人的位姿信息,以获得相对准确的当前位置,克服清洁机器人在待清扫地毯分区内行走所积累的打滑误差,因而清洁机器人从待清扫地毯分区的边界线处返回硬地面区域后定位出的当前位置是相对准确,即在待清扫地毯分区的边界线处重新定位出的清洁机器人的位姿信息的基础上计算出的清洁机器人位于所述硬地面区域内的当前位置也是相对准确。
综上,清洁机器人在地毯分区内完成所述标准清洁时间的遍历之后,通过提取边缘位置信息来重新定位回清洁机器人的当前位置,再退下地毯,则清洁机器人从该重新定位回的当前位置回到硬地面区域时,还能继续相对准确地通过传感器或预先建立的地图定位出自身的实时位置。进而在每个地毯分区的边角位置处能够重定位出一个相对准确的机体定位信息,以便于由一个已遍历的地毯分区进入距离合理的未遍历的地毯分区或返回硬地面区域,有序地遍历室内环境中所有地毯分区。
需要说明的是,所述全局地图是由多条线、多个点构成,可以视为轮廓地图;其中,线围成一个或者多个连通区域。所述全局地图中的连通区域表示在现实环境内与该连通区域对应的可通行区域,例如一个房间的空旷区域。若清洁机器人在某个区域已进行清扫过预设时间段,则将清洁机器人的清扫路径映射到该区域在全局地图中对应的连通区域(也可以表示为可通行区域)上,即该区域在全局地图中对应的连通区域内有历史清扫路径,或者,将该区域在全局地图中对应的连通区域标记成已清扫区域或已遍历区域。这里,连通区域是否是未清扫的区域,表示的是该连通区域在室内环境中对应的区域是否是未清扫的区域,清洁机器人在该连通区域进行清扫,表示的是清洁机器人在该连通区域在室内环境中对应的区域进行清扫。
在本申请实施例中,地毯分区、待清扫地毯分区和硬地面区域都是可通行区域,即前述连通区域;从当前位置点(也可以表示为当前位置)行走到连通区域的距离,可以指的是从当前位置点(也可以表示为当前位置)到连通区域的边界点的最小距离,进一步地,从同一当前位置行走到各个待清扫地毯分区的距离分别具有对应一种数值的最小距离;从当前位置点行走到连通区域的路径的长度,可以指的是从当前位置点到连通区域的边界点最小长度的可达路径的长度。
作为一种实施例,针对前述实施例公开的步骤S2筛选待清扫地毯分区的具体方法,所述根据地毯分区的面积与硬地面区域的面积的比值,从步骤S1检测出的地毯分区当中筛选出待清扫地毯分区的方法包括:
每当清洁机器人判断步骤S1计算出的一个地毯分区的面积与所述硬地面区域的面积的比值是否处于预设覆盖比值范围,是则将该地毯分区设置为待清扫地毯分区并确定清洁机器人从步骤S1检测出的地毯分区筛选出其中一个待清扫地毯分区;否则将该地毯分区设置为禁止清扫分区,以使清洁机器人不去遍历该地毯分区;在本实施例中,预设覆盖比值范围用于描述允许清洁机器人行走的地毯分区与硬地面区域在同一室内环境中的布局情况,具体是涉及到允许清洁机器人遍历的地毯分区在同一室内环境中的覆盖区域大小与硬地面区域在同一室内环境中的覆盖区域大小的比值。其中,禁止清扫分区的面积小于待清扫地毯分区的面积,则预设覆盖比值范围是等效于大于一个预设下限值的比值;所述硬地面区域的面积可以作为参考面积,让一个地毯分区的面积与所述硬地面区域的面积的比值可以用于描述同一室内环境中的地毯与硬地面的布局情况,以通过预设覆盖比值范围确定清洁机器人是否应该在这一布局环境中遍历地毯分区或是否应该忽略地毯分区,从而在相应的室内环境中提取出有必要清扫的地毯分区,在本实施例中有必要清扫的地毯分区是面积足够大,特别是在同一室内环境下相对于硬地面区域而言是比较大。若清洁机器人检测到面积比较小的地毯分区,特别是在同一室内环境下相对于硬地面区域而言是比较小,则清洁机器人不需对其进行覆盖清扫,可以直接忽略该地毯分区。
比如,同一房间区域内存在一块地毯和一块硬地面区域,该块地毯被硬地面区域所包围,若地毯分区的面积是6平方米,硬地面区域的面积是10平方米,预设覆盖比值范围设置为大于数值0.1的比值范围,则由于地毯分区的面积与硬地面区域的面积的比值是0.6,处于预设覆盖比值范围内,所以清洁机器人在该房间区域内将地毯分区设置为待清扫地毯分区,以允许清洁机器人在该房间区域内遍历完硬地面区域后进入面积足够大的地毯分区内进行清扫作业,相对于与硬地面区域的面积比值小于数值0.1的地毯分区,清洁机器人能够在与硬地面区域的面积比值大于数值0.1的地毯分区内能够达到一定程度的覆盖清扫。一般地,同一房间区域内,覆盖的地毯的数量越多,则硬地面区域的面积越小,其中,同一房间区域内所有地毯的面积和硬地面区域的面积的和值是固定不变。
值得注意的是,在同一房间区域内,地毯分区的面积越小,相对于硬地面区域的面积减小得越明显,则清洁机器人在该地毯分区内行走受到打滑因素的影响越严重且还不容易使用超声波传感器探测出该地毯区域的边界线,比如该地毯分区的面积远小于清洁机器人的机身覆盖面积,则清洁机器人不容易探测出该地毯分区的边界点等轮廓特征。若地毯分区的面积是1平方米,硬地面区域的面积是30平方米,预设覆盖比值范围设置为大于数值0.1的比值范围,则由于地毯分区的面积与硬地面区域的面积的比值是小于0.1,不处于预设覆盖比值范围内,所以清洁机器人在该房间区域内将这个面积相对小的地毯分区设置为禁止清扫分区,以防止清洁机器人行走在该地毯分区内,避免造成严重的打滑误差,打滑误差可以表现为在该地毯分区上时容易在全局地图中将清洁机器人的当前位置标记为偏移到相邻的硬地面区域内,会导致被偏移的相邻接的硬地面区域被漏扫;或者离开该地毯分区后进入硬地面区域时容易将清洁机器人的当前位置标记为偏移回地毯分区内,会导致当前被清扫的硬地面区域会被重复清扫。又由于该地毯分区在整个房间区域内所占面积比值较小,且该地毯分区的覆盖范围远小于硬地面区域的覆盖范围,所以清洁机器人在该地毯分区内无法提取出有效的边界轮廓信息以进行清扫遍历,反倒因为在地毯表面打滑而容易行走出地毯分区,所以清洁机器人在该房间区域内可以将该地毯分区忽略不计,不用标记为所需行走遍历的地毯分区。
在上述实施例的基础上,清洁机器人按照前述面积比值与预设覆盖比值范围的数值关系方式依次判断步骤S1检测出的每个地毯分区后,清洁机器人已经逐一判断完所述步骤S1检测出的各个地毯分区的面积与同一硬地面区域的面积的比值是否适合清洁机器人进入地毯分区,进而确定清洁机器人可以从步骤S1检测出的所有地毯分区当中筛选出所有待清扫地毯分区。
在一些实施例中,在同一室内环境存在一个硬地面区域和至少一个地毯分区,所述硬地面区域的表面覆盖的介质与所述待清扫地毯分区的表面覆盖的介质不同;但不在同一室内环境中布局出存在多个不直接连通的硬地面区域(但通过邻接的地毯分区连通在一起),即不存在被地毯分区分隔出的多个硬地面区域,以防止清洁机器人在遍历地毯分区的边界线的过程中需要在进入地毯分区的前提下才能从一个硬地面区域行走至另一个硬地面区域,引起打滑风险,降低清洁机器人对硬地面区域的清扫覆盖率;但是存在会被一个硬地面区域隔开的至少两个地毯分区,被隔开的至少两个地毯分区不直接连通但会通过硬地面区域连通。
需要说明的是,同一室内环境内可以包括多个地毯分区;地毯分区或待清扫地毯分区是由其边界点连接形成的闭合区域,一个地毯分区是一个闭合区域,闭合区域等效于封闭区域;每个地毯分区的边界点也可以视为与地毯分区相邻接的硬地面区域的边界点;所述地毯分区在全局地图中是表示为由边界点对应的栅格围成的多个闭合的栅格区域组成。同一室内环境内被清洁机器人预先划分为多个房间区域,比如清洁机器人通过测距传感器(激光传感器)对室内环境进行局部或全局扫描,获取轮廓信息,再基于房间入口的尺寸特征以及墙体的分布特征,设置出每个房间区域以及该房间区域与外部区域的分界线,也探索出房间区域内外的连通区域以及清洁机器人在连通区域内的可达路径。
进一步地,室内环境布局为存在多个房间区域及其相连通的走廊区域时,部分或全部房间区域内可以覆盖至少一个地毯分区,比如每个房间区域内至少覆盖一个地毯分区,走廊区域也可以覆盖至少一个地毯分区,此时,同一室内环境中的硬地面区域是连通所有房间区域及走廊区域的可通行区域,并与每个地毯分区都邻接,也可以理解为与每个地毯分区都相连通。因此,步骤S1计算出的一个地毯分区的面积与所述硬地面区域的面积的比值是某个房间区域内的其中一个地毯分区与整个室内环境下的硬地面区域的面积比值,则预设覆盖比值范围的下限值可以适当地减小,则清洁机器人可以在同一室内环境下筛选出更多的地毯分区作为待清扫地毯分区,以适应清洁机器人在较大的区域内遍历到更多地毯分区,保证清洁机器人在具有多个房间区域的室内环境中的多个面积较大的地毯分区的清扫覆盖率。
当然也可以将同一室内环境中的单个房间区域作为判断单位,则步骤S1计算出的一个地毯分区的面积与所述硬地面区域的面积的比值是某个房间区域内的其中一个地毯分区与同一房间区域内的硬地面区域的面积比值,则预设覆盖比值范围的下限值可以适当地增大,则清洁机器人可以在同一房间区域内筛选出面积足够大的地毯分区作为待清扫地毯分区,以使清洁机器人在同一房间区域内遍历到更合理的地毯分区,避免进入面积过小的地毯分区以引起较为严重的打滑现象,提高清洁机器人在室内环境中对房间区域的清扫效率。
作为一种实施例,所述步骤S1中,所述清洁机器人基于超声波传感器接收到的探测信号强度检测出至少一个地毯分区的方法包括:
步骤S11、清洁机器人按照预设规划路径行走在硬地面区域,即清洁机器人在硬地面区域开始执行清扫作业,清洁机器人一开始是放置在硬地面区域中;控制超声波传感器发出超声波并接收超声波反射信号,同时控制惯性传感器测量清洁机器人的姿态角,当惯性传感器是陀螺仪时,可以实时测量清洁机器人的偏航角度,以指示清洁机器人的前进方向;每当在清洁机器人的行走地面上检测到地毯分区和/或硬地面区域,则在全局地图中标记对应的栅格,赋予栅格相关地面介质类型信息和清洁机器人的位姿信息;
步骤S12、当超声波传感器接收到的超声波反射信号的强度处于预设强度阈值范围内时,清洁机器人检测到地毯这一材质,同时也能区分出与地毯相邻接的硬地面区域,由于清洁机器人一直在硬地面区域内行走,所以开始检测到地毯时就意味着检测到地毯的边界位置,因而将清洁机器人当前检测到地毯的位置点(属于清洁机器人定位出的当前位置)标记为地毯的边界点,并在全局地图中标记出地毯的边界点对应的栅格,同时调整行走方向以使清洁机器人不进入地毯,让机器人及时避开地毯表面,减少机器人的打滑现象的发生,特别是防止将打滑的行走距离影响效果延展到硬地面区域,保证清洁机器人在硬地面区域的清扫覆盖率。这样一来,清洁机器人在不进入地毯的前提下,如果一直检测到地毯,那么本实施例将清洁机器人检测到地毯的位置点标记为地毯的边界点;其中,地毯的边界点连成边界线,边界线连成的闭合区域是配置为地毯分区,可视为地毯的边界线在硬地面区域内围成地毯分区并允许被硬地面区域封闭,直至清洁机器人在室内环境中行走完所述硬地面区域,清洁机器人可以将所行走过的硬地面区域视为闭合区域。
需要说明的是,所述超声波反射信号的强度是超声波传感器接收到的探测信号强度。清洁机器人在超声波反射信号的一个信号强度范围内区分出地毯分区和硬地面区域,其中,地毯分区是柔性表面的介质铺设的区域,清洁机器人行走于地毯分区的表面时容易出现打滑。值得注意的是,清洁机器人开始行走之前,先通过超声波传感器检测行走地面的前方的地面介质类型,比如检测清洁机器人的前方区域是否存在地毯,当没有检测到地毯时,清洁机器人才会进行弓字形清扫,同时,清洁机器人保持使用惯性传感器测得的信息,包括里程计测得的位移信息和陀螺仪测得的角度信息计算出位姿信息以同步构建地图。由于清洁机器人正常的导航行走时,会进行打滑的判断。
对于所述步骤S1,具体的实施方法包括:
清洁机器人在硬地面区域行走的过程中或清洁机器人在硬地面区域启动行走之前,清洁机器人控制超声波传感器发出超声波并接收超声波反射信号,同时控制惯性传感器测量机体的姿态角;其中,超声波传感器通过向行进地面发射超声波以确定地面介质类型,进而确定地毯分区以及硬地面区域的覆盖范围,包括边界位置,相比传统的激光检测,成本更低,并且不受光线的干扰,结合惯性传感器的角度信息,使得检测过程更为稳定,其中,惯性传感器是对物理运动做出反应的器件,如线性位移或角度旋转,但不主动对外发出各种光探测信号。使得机器人能够适应室内复杂多样的光照环境。当超声波传感器接收到的超声波反射信号的强度没有处于预设强度阈值范围内时,机器人没有检测到地毯分区,而是检测到硬地面区域且保持行走在硬地面区域,在误差允许的范围内,机器人没有碰触到障碍物,选择直接在水平硬地面区域按照预设规划路径行走。需要说明的是,所述超声波传感器基于不同清洁对象的表面密度反馈强度不同的超声波信号。预设强度阈值范围内的数值大小与地毯表面的介质类型相关。当超声波传感器接收到的超声波反射信号的强度处于预设强度阈值范围时,清洁机器人检测到前方区域表面存在地毯,由于清洁机器人一直在硬地面区域行走,所以检测到地毯分区,可视为检测到地毯分区的边界,即将硬地面区域与相邻接的地毯分区的边界线,并在全局地图中标记边界线经过的位置点对应的栅格,其中,边界线是该地毯分区的边缘线上的点,也可理解为地毯覆盖的平面区域的轮廓线上的点,可以是来源于超声波传感器的接收到点云信息,具体是由地毯分区的表面的超声波反射信号反馈回的距离测量信息换算得到。在本实施例中,清洁机器人将当前检测到的地毯分区标记为未遍历区域,即清洁机器人没有优先行走的区域;清洁机器人当前检测到的地毯分区不一定是实际环境中的全部区域,但可以由一个或多个栅格组成,或由多个孤立的分区块组成,在该地毯分区的边界点对应的栅格都标记上地毯的信息,比如让栅格标记地毯信息。
每当清洁机器人检测到地毯分区,清洁机器人调整行走方向,使得清洁机器人不进入地毯分区,在当前检测出的地毯分区之外的可通行区域行走,在一些实施例中可以接触到地毯分区的边界点,此时,清洁机器人可以不按照预设规划路径行走,但须通过调整行走方向以离开当前检测到的地毯分区。
在本实施例中,地毯分区与硬地面区域(平常的水泥硬路面)不同,都视为可通行区域,以被清洁机器人调用来进行清扫覆盖;清洁机器人在地毯分区行走时,会处于连续颠簸的状态。可选地,清洁机器人处于地毯分区的各个边界点,都可以根据当前机器人中超声波传感器所采集的在该位置点的超声波数据和预设地毯超声波数据,确定清洁机器人当是否处于地毯分区的边界点或位于地毯分区之前(实际上是在相邻接的硬地面区域上)。其中,清洁机器人的底盘设置有超声波传感器,可以针对不同的路面区域,采集到不同的超声波数据;预设地毯超声波数据可以进行预先确定。例如,预先采购不同材质的房间或走廊场景中使用的地毯,让清洁机器人在铺有地毯的可通行地面进行行驶,将地毯路面与对应的超声波数据进行统一存储,建立地毯超声波数据库,且地毯超声波数据库内存储的超声波数据都处于所述预设强度阈值范围内。因此,在清洁机器人采集到该位置点的超声波数据时,就可以将该超声波数据与地毯超声波数据库中的预设地毯超声波进行匹配,若存在与之一致的预设地毯超声波数据或所述预设强度阈值范围,则将可以检测出地毯分区,并确定出地毯与硬地面的分界线。
需要说明的是,在本实施例中,惯性传感器测得的距离和角度,可以转换到同一全局坐标系中,辅助构建全局地图,全局地图的形式可以是坐标位图形式,属于全局栅格地图,预存在机器人的存储器中,且标记出的相关区域都是使用栅格表示;其中,每个栅格的角点(一个栅格的左上点、左下点、右上点以及右下点)及中心点的坐标可以代表该栅格的坐标,机器人实际行走过的位置点或其前方通过超声波传感器探测到的位置点是可以对应一个栅格的角点或中心点,可以将该角点或中心点对应的栅格视为该位置点对应的栅格。
对于所述步骤S12,形成一种实施例,具体包括:每当清洁机器人检测到地毯后,即区分出当前检测到的地毯分区的边界后,清洁机器人仍在硬地面区域,清洁机器人可以停止继续按照预设规划路径行走,然后在保持不进入当前检测到的地毯的前提下,沿着当前检测到的地毯的边界线行走在地毯的外部区域(即硬地面区域),若清洁机器人当前所行走的预设规划路径的行走方向与当前检测到的地毯的边界线平行,则清洁机器人继续按照预设规划路径行走以沿着当前检测到的地毯的边界线行走,直至清洁机器人按照预设规划路径跨过地毯的边界线以进入地毯为止,再调整行走方向以避免进入地毯分区,然后清洁机器人可以选择沿着当前检测到的地毯的边界线行走一圈,以划分出一个地毯分区,是否行走一圈可以由清洁机器人内置的陀螺仪测量的角度信息确定;从而实现在同一房间区域内划分出一个地毯分区或在具有多个房间区域和走廊的室内环境中规划出一个地毯分区,其中,与该地毯分区相邻接的部分硬地面区域也被同时确定。若清洁机器人在沿着当前检测到的地毯的边界线行走一圈的过程中,检测到边界线的第一侧区域反射回来的超声波反射信号的强度处于预设强度阈值范围内,且检测同一边界线的第二侧区域反射回来的超声波反射信号的强度没有处于预设强度阈值范围内,则清洁机器人确定当前检测到的地毯的边界线围成一个地毯分区,形成一个闭合区域,并在全局地图中依次标记出地毯的边界点对应的栅格以构成地毯分区的轮廓地图,并确定清洁机器人检测到一个地毯分区,同时惯性传感器用于测量清洁机器人是否沿着边界线行走过一圈,比如采用陀螺仪测量清洁机器人是否旋转过360度,以确定清洁机器人是否沿着所述地毯分区行走一圈,其中,前述的地毯分区的边界线是属于地毯的边界线,围成一个闭合区域,同时也能够确定邻接的硬地面区域相应地包围该地毯分区,当地毯分区是规则几何图形的地毯时,地毯分区是由多条直线边界连接围成。然后清洁机器人按照预设规划路径行走至未遍历区域内且保持不进入地毯,再在硬地面区域行走的过程中重复执行步骤S11和步骤S12以继续检测出新的地毯分区,可以在同一房间区域内检测出多个地毯分区,或是依次在多个房间区域内检测出的地毯分区,一直保持至遍历玩硬地面区域以完成对硬地面区域的完整覆盖;其中,所述全局地图是属于栅格地图,缓存在清洁机器人的存储器中;清洁机器人的底部装配至少两个超声波传感器,用于探测清洁机器人的行走方向的两侧的区域的地面介质类型,具体是地毯分区的边界线的两侧的地面介质类型,也可以视为地毯内外两侧。
优选地,边界线的第一侧区域可以是当前检测到的地毯的边界线的左侧区域(地毯的内部区域),边界线的第二侧区域可以是当前检测到的地毯的边界线的右侧区域(地毯的外部区域,属于硬地面区域);为了提高检测精度,用于检测边界线的第一侧区域反射回来的超声波反射信号的超声波传感器和用于检测边界线的第二侧区域反射回来的超声波反射信号的超声波传感器分别装配在清洁机器人的左右两侧,比如机体中轴线的左右两侧的前方,从而在沿着当前检测到的地毯的边界线行走一圈的过程中,可以让清洁机器人的两个超声波传感器分居所述地毯分区的边界线的两侧,但每当清洁机器人的两个超声波传感器检测到的超声波反射信号的强度都处于预设强度阈值范围内时,清洁机器人可能开始进入地毯分区,则清洁机器人调整行走方向,以避免进入地毯分区,且让清洁机器人的一侧装配的超声波传感器检测到地毯分区反射回来的超声波反射信号,同时让清洁机器人的另一侧装配的超声波传感器检测到硬地面区域反射回来的超声波反射信号,以维持沿着当前检测到的地毯的边界线行走一圈。
优选地,所述地毯分区是地毯覆盖的区域,地毯分区可以是矩形的地毯区域,也可以是其它形状的地毯,这里的形状是指相关区域的水平平面形状;地毯覆盖在室内环境中时,每个地毯分区的形状可以与其实际覆盖的房间户型的平面形状相关联,每个地毯分区的边界点对应的栅格都被标记到全局地图中,则在全局地图的对应栅格中标记出位置信息和介质信息。存在两个地毯分区是相互孤立且分居于不同的房间区域中,其中,每个地毯分区在全局地图中标记为一个闭合的栅格区域;一个房间区域的地面可以接近覆盖满一个地毯分区,该地毯分区的形状与房间区域的地面形状(房间的边界围成的区域的形状)相同,比如,当一个房间区域是由相连通的一个大矩形和一个小矩形组合成,则一个地毯分区的形状也是相连通的一个大矩形和一个小矩形的组合图形的形状。
优选地,所述预设规划路径是弓字形路径;其中,超声波传感器接收到的超声波反射信号的强度是超声波在清洁机器人行走的地面环境(尤其是可通行区域)的反射信号,经过模数转换得到的电平信号,机器人可以通过数字电平信号来检测地表介质反馈的信号强弱,尤其是识别出地毯,防止清洁机器人误入地毯,减少清洁机器人的驱动轮打滑情况。
对于所述步骤S12,形成另一种实施例,具体包括:每当清洁机器人在全局地图中搜索邻域中没被地毯覆盖的未遍历位置点对应的栅格时,清洁机器人先行走至该未遍历位置点,再从该未遍历位置点继续按照预设规划路径进行行走,但不进入地毯;其中,未遍历位置点是清洁机器人未行走过的位置点,在全局地图中表示为未遍历栅格可以位于清洁机器人当前位置的邻域,邻域内的点可以是与清洁机器人当前位置点相邻接或相连通,邻域也可以视为邻域栅格区域,包括但不限于清洁机器人的当前位置点对应的栅格的八邻域及十六邻域。在清洁机器人按照预设规划路径行走的过程中,清洁机器人结合超声波传感器接收到的超声波反射信号的强度,在超声波反射信号的一个信号强度范围内检测地毯分区,同时调整行走策略以使得清洁机器人不进入地毯,从而标记出组成地毯分区的边界点对应的栅格。当清洁机器人行走完除所检测到的地毯之外的区域时,确定剩下的未遍历区域是地毯覆盖区域,以在全局地图中划分出已覆盖的硬地面区域的轮廓地图和未覆盖的地毯分区的轮廓地图;当清洁机器人行走完除所检测到的地毯分区之外的硬地面区域时,即清洁机器人在最新遍历到的位置点的邻域内搜索完室内环境中地毯分区之外的可通行区域时,确定剩下的未遍历区域是地毯分区;其中,每当清洁机器人行走到一个位置点,则确定清洁机器人遍历到该位置点,并将该位置点设置为已遍历的位置点,若对该位置执行清扫作业,则标记为已清扫位置,且在全局地图中将该位置点对应的栅格设置为已遍历的栅格;清洁机器人在检测到所述地毯分区时会在全局地图中标记出所述地毯分区的边界点对应的栅格,在全局地图中都有对应的栅格中记录位置信息和介质信息;地毯覆盖区域是由地毯的边界点连接形成的至少一个闭合区域组成,一个闭合区域是一个地毯分区;多个地毯分区离散分布在全局地图中,可以对应为多个房间分布在同一个室内环境下;每个地毯分区的边界点都属于地毯覆盖区域的边界点;地毯分区在全局地图中可以是由至少一个栅格或多个栅格组成的矩形区域,便于确定边界点和中心点,有利于清洁机器人后续行走过程中及时规避地毯带来的打滑误差,防止对硬地面区域的重复清扫或漏扫。
在所述步骤S12中,清洁机器人在检测地毯分区的过程中,清洁机器人需要先行走到一个未遍历位置点,即需要导航至一个目标点;具体地,清洁机器人没有检测到地毯分区时,会在硬地面区域先导航至一个未遍历位置点,再从该未遍历位置点开始按照预设规划路径进行行走,因此,清洁机器人需要在全局地图中搜索未遍历位置点,依此导航至未遍历的可通行的位置点,其中,搜索未遍历位置点的算法是属于路径节点搜索算法,包括即深度优先搜索和广度优先搜索,能够在全局地图中搜索出未遍历位置点对应的栅格。优选地,所述未遍历位置点是位于清洁机器人的可达区域内,是通过相应路径节点搜索算法(包括A*算法)搜索出的与清洁机器人的当前位置点相通的位置点,然后沿着相应的路径,逐个位置点地行走至该位置点,再从该位置点规划出覆盖硬地面区域的预设规划路径。
综上,机器人递归搜索全局地图上没有走过的没被地毯覆盖的可通行区域,然后导航过去完成对应的覆盖清扫,如此递归下去直到走完整个硬地面区域,只剩下地毯分区没有走过,这时,清洁机器人将所有标记到的属于地毯的边界点对应的栅格围成地毯分区,形成地毯在全局地图中的各个栅格区域的覆盖范围,从而清洁机器人可以准确识别地毯分区的形状、大小和位置,及时提示清洁机器人误入地毯分区,减少清洁机器人的驱动轮打滑情况以影响在硬地面区域的清扫覆盖率。
作为一种实施例,所述步骤S1中,所述依据检测出的地毯分区的边界线计算该地毯分区的面积的方法包括:清洁机器人将当前检测出的一个地毯分区划分为由至少一个规则图形区域组成,优选地,一个地毯分区是一个矩形区域或至少两个矩形区域的组合,则组成一个地毯分区的规则图形区域是一个矩形区域或至少两个矩形区域的组合,且在同一室内环境中,一个硬地面区域和至少一个地毯分区组成矩形区域;所述硬地面区域和所述地毯分区都设置为可通行区域。然后清洁机器人在全局地图中获取当前检测的一个地毯分区的边界线的端点在横坐标轴方向上的坐标,再计算当前检测的一个地毯分区的边界线在横坐标轴方向上的投影长度;同时,获取同一地毯分区的边界线的端点在纵坐标轴方向上的坐标,再计算同一地毯分区的边界线在纵坐标轴方向上的投影长度。然后基于组成当前检测出的一个地毯分区的各个规则图形区域所属的几何图形类型,利用获取的各个坐标轴方向上的投影长度分别计算出对应规则图形区域的面积,,再将组成当前检测出的一个地毯分区的所有规则图形区域的面积的和值设置为该地毯分区的面积。其中,所述地毯分区的边界点对应的栅格是预先标记在全局地图中,则可以获得所述地毯分区的边界点的坐标信息,相应地使用地毯分区的边界线的端点的坐标表示;当所述地毯分区是设置于室内环境的房间区域中时,组成一个地毯分区的规则图形区域是一个矩形区域或至少两个矩形区域的组合形状,或者是梯形、三角形及其组合,都可以获得所述地毯分区在各个坐标轴方向上的端点,包括左上角点、左下角点、右上角点及右下角点,若地毯分区是由圆形区域组成,则所述地毯分区在各个坐标轴方向上的端点的连线可以视为各个坐标轴方向上的直径;由所述地毯分区的端点可以计算出相应端点连接成的边界线的边长,作为组成所述地毯分区的规则图形区域的边长,进而将所述地毯分区划分为多个矩形区域的基础上,通过矩形面积的计算方式(长与宽的乘积(单独一个矩形)、或长与宽的乘积的累加(多个矩形的组合)、或底边与高线的乘积的二分之一(三角形)来计算出所述地毯分区的面积,也可以通过计算边界线围成的闭合区域内所填充的栅格的数量来面积。
在上述实施例的基础上,所述步骤S1还包括:清洁机器人在室内环境中行走完除了所有地毯分区之外的可通行区域后,确定清洁机器人已经遍历完所述硬地面区域,即清洁机器人清扫完硬地面区域,并将清洁机器人在硬地面区域中行走过的位置点依次标记在全局地图的对应栅格中以组成硬地面区域的轮廓地图;然后统计所述硬地面区域在全局地图中占据的栅格数量,形成室内环境的轮廓线与地毯分区的边界线围成的闭合区域(除了所有地毯分区之外的可通行区域)所填充的栅格数量,再将该栅格数量与单位栅格的面积(单个栅格的占地面积,视为栅格地图的每个栅格对应占用的物理面积)的乘积设置为硬地面区域的面积。
优选地,若没有占据完整的一个栅格的二分之一,则视为没有占据一个栅格,从而在前述实施例计算单个地毯分区的面积与所述硬地面区域的面积的比值时,获得的比值结果偏大,为打滑导致出现的重复清扫情况提供冗余量。若没有占据完整的一个栅格的二分之一,则视为占据一个栅格,为打滑导致出现的漏扫情况提供冗余量。
作为一种实施例,在步骤S2中,所述依据待清扫地毯分区的面积设置清洁机器人在待清扫地毯分区内的标准清洁时间的方法包括:
所述标准清洁时间等于所述待清扫地毯分区的面积与清洁机器人的有效清扫面积的比值与预设误差系数的乘积,即在误差允许范围内等于与所述硬地面区域的面积的比值处于预设覆盖比值范围的地毯分区与清洁机器人的有效覆盖区域的比值。其中,清洁机器人的有效清扫面积是等于预先设定的清洁机器人行走速度(清洁机器人在地毯表面的清扫速度,是预先试验的结果)与清洁机器人的机身直径(一般采用圆形机身的扫地机器人作为清洁机器人)的乘积;清洁机器人的机身直径所沿的方向是垂直于清洁机器人的行走方向;所述预设误差系数用于表示清洁机器人实际行走完所述待清扫地毯分区后,清洁机器人实际行走出的轨迹的覆盖区域与所述待清扫地毯分区的面积差异程度。
所述待清扫地毯分区的面积与清洁机器人的有效清扫面积的比值等于清洁机器人在不产生误差、不出现停顿和计入清洁机器人自转时间的前提下,行走完所述待清扫地毯分区所花费的时间,属于清洁机器人的行走时间;但所述待清扫地毯分区是能够让清洁机器人出现打滑的闭合区域,使得清洁机器人按照预设规划路径在待清扫地毯分区内行走时,在所述待清扫地毯分区内实际行走出的轨迹的形状不同于预设规划路径的形状,因此,清洁机器人实际行走完所述待清扫地毯分区所耗费的时间是大于所述待清扫地毯分区的面积与清洁机器人的有效清扫面积的比值。则本实施例需设置所述预设误差系数去补偿清洁机器人在待清扫地毯分区内行走所产生的误差;预设误差系数用于表示清洁机器人遍历完所述待清扫地毯分区后,清洁机器人实际行走出的轨迹的覆盖区域与所述待清扫地毯分区的面积差异,产生差异的原因包括但不限于:由清洁机器人停顿下来进行方向调整计算和所消耗的时间(不计入机器人的行走时间)、由于清洁机器人在地毯表面打滑而行走出比既定方向上清扫所覆盖的区域更大的区域的面积。
优选地,为了在所述标准清洁时间的基础上计算出调整清洁机器人的行走方向所需的时间间隔,需设置一个预设时间系数对所述标准清洁时间作比例计算;预设时间系数与所述待清扫地毯分区的形状(在步骤S1中遍历硬地面区域所确定出的形状的基础上,通过步骤S2筛选出来的结果)相适应;预设时间系数与围成所述待清扫地毯分区的边界线的数量相关,当围成所述待清扫地毯分区的边界线的数量越大时,预设时间系数越小;从而将所述标准清洁时间在所述待清扫地毯分区的各个边界线上进行分配,让调整出的行走方向能够对应上所述待清扫地毯分区的各个边界线的延伸方向,实现对清洁机器人在待清扫地毯分区内的行走方向的调整次数的合理配置。克服相关打滑误差引起清洁机器人实际行走所耗费的时间过长的误判问题,比如容易在步骤S3中引导清洁机器人驶离地毯分区。
所述清洁机器人的有效清扫面积是等效于清洁机器人行走1秒的过程中,清洁机器人的机体所覆盖到的区域的面积,通过设置预设时间系数来满足清洁机器人实际行走过程中的时间变化状态,是对清洁机器人遍历完待清扫地毯分区的理想时间的修正结果,克服行走表面介质变化和机身动作产生的误差。优选地,所述待清扫地毯分区是表面覆盖地毯的矩形平面区域;其中,预设误差系数是设置为大于或等于数值2,预设时间系数是设置为数值1/4,对应为矩形平面区域的四条边界线。
作为一种实施例,在所述步骤S3中,保持在该待清扫地毯分区内行走,直至清洁机器人在该待清扫地毯分区内行走所产生的耗时达到标准清洁时间的方法包括:
步骤S31、清洁机器人在所述待清扫地毯分区内从预设行走起点开始行走的过程中,当超声波传感器接收到的超声波反射信号的强度没有处于预设强度阈值范围内时,清洁机器人确定当前行走至所述待清扫地毯分区的边界线,然后清洁机器人调整行走方向,使得清洁机器人不行走至所述待清扫地毯分区的外部,其中,清洁机器人调整后的行走方向与其调整前的行走方向的夹角的角度设置为大于或等于调整前的行走方向与清洁机器人行走到的边界线所成的夹角的角度,以将清洁机器人从所述待清扫地毯分区的边界线处的行走方向纠正回到指向所述待清扫地毯分区的内部。
需要说明的是,在待清扫地毯分区内,每当清洁机器人行走到一个位置点,则清洁机器人确定遍历到该位置点,并将该位置点设置为已遍历的位置点,但不在全局地图中将该位置点对应的栅格标记为已遍历的栅格,以避免在全局地图中引入机器人的打滑误差。清洁机器人调整后的行走方向与其调整前的行走方向的夹角的角度设置得越大,清洁机器人在调整先后所清扫到的区域更多。
步骤S32、清洁机器人保持在所述待清扫地毯分区内行走,即按照步骤S31的行走和检测方式保持遍历所述待清扫地毯分区,直至记录到清洁机器人从所述待清扫地毯分区内的预设行走起点开始行走所耗费的时间达到标准清洁时间,清洁机器人确定其已经覆盖到所述待清扫地毯分区;其中,清洁机器人在所述待清扫地毯分区内不按照预设规划路径行走以减小打滑带来的误差偏移量,由于存在打滑现象,所以清洁机器人优先选择随机清扫的方式对待清扫地毯分区进行清扫作业。其中,清洁机器人的底部的前方装配至少一个超声波传感器,用于朝清洁机器人的行走地面发射超声波;其中,预设强度阈值范围用于表示地毯分区反馈回的超声波反射信号的信号强度范围。
可选地,在待清扫地毯分区内,清洁机器人从预设行走起点开始,在该待清扫地毯分区内行走,并记录其在待清扫地毯分区内所耗费的时间,优选地,为了保证清洁机器人不轻易行走出所述待清扫地毯分区且在所述待清扫地毯分区内存在足够空旷的行走区域,清洁机器人将预设行走起点设置为所述待清扫地毯分区的中心点,则控制清洁机器人从所述待清扫地毯分区的中心点开始随机行走,清洁机器人同步使用计时器装置记录其行走的时间。在一些实施例中,每当清洁机器人行走过一段预定时间间隔,清洁机器人对当前行走方向进行调整,再按照调整后的行走方向保持在所述待清扫地毯分区内行走,减少走出地毯的概率;在一些实施例中,对当前行走方向进行调整的时间可以是清洁机器人停顿下来对预先存储好的行走方向进行切换的时间,也可以忽略不计。清洁机器人在所述待清扫地毯分区内沿着调整后的行走方向行走的过程中,当清洁机器人记录到行走过一段预定时间间隔,清洁机器人开始进行新的一次行走方向调整,如此重复执行,直至记录到清洁机器人从所述预设行走起点开始行走所耗费的时间达到所述标准清洁时间,确定清洁机器人遍历完所述待清扫地毯分区,则可以停止在所述待清扫地毯分区内行走,其中,所述标准清洁时间可以表示清洁机器人从预先行走起点开始清扫所述待清扫地毯分区的全部或部分所消耗的时间,属于按照预先设定的数学模型计算的理想结果。
综上,清洁机器人在覆盖清扫完硬地面区域之后,在开始遍历待清扫地毯分区时可以采用随机行走的方式,但不一定做到完整的覆盖地毯分区,本申请定义的待清扫地毯分区是一个房间区域中的地毯覆盖区域时,本申请依靠惯性传感器和超声波传感器在每个地毯分区内都在相适应的时间内进行覆盖面较大的清洁作业,不用建图定位,也不用规划路径,则减少机器人的驱动轮打滑带来的建图定位误差,从而克服地毯带来的打滑因素的影响,避免清洁机器人的惯性传感器在地毯表面积累的漂移误差的影响,提高清洁机器人在有限时间内完成所述地毯分区内的行走覆盖率,,由于行走至边界线处会及时调整行走方向,所以清洁机器人在同一个待清扫地毯分区内既能够交叉行走过同一局部区域,也能行走至未遍历区域,兼顾到清洁机器人对地毯表面的不同方向区域覆盖率;但不完整地清扫地毯,而是完整地清扫地毯外部的硬地面区域。因此在考虑地毯带来的机器人打滑因素的同时,兼顾到硬地板的清扫覆盖率。
作为一种实施例,在所述步骤S3中,清洁机器人行走完硬地面区域后,清洁机器人从硬地面区域进入当前筛选出的一个待清扫地毯分区的方法包括:首先需要确定当前筛选出的一个待清扫地毯分区,是从步骤S2筛选出的所有待清扫地毯分区中获得;具体地,清洁机器人从所有未被清洁机器人进入的待清扫地毯分区中,选择距离清洁机器人的当前位置最近的一个角点配置为参考角点,参考角点是当前筛选的一个待清扫地毯分区的角点;其中,每个待清扫地毯分区的边界点都包括角点,则参考角点是预先标记在全局地图的对应栅格中;优选地,不同的地毯分区之间不存在共同的一个角点,也不存在共同的一条边界线。角点是属于围成待清扫地毯分区的边界线的端点,其中,每个角点都有其对应的待清扫地毯分区;所述待清扫地毯分区的平面形状是多边形时,所述待清扫地毯分区的角点是所述待清扫地毯分区的顶点,所述待清扫地毯分区的边界线是围成多边形的边,所述待清扫地毯分区等效于由多条边界线段首尾顺次连接组成的封闭图形,对应为闭合区域,包括多边形可以分为正多边形和非正多边形、凸多边形及凹多边形,可以优选为矩形。本实施例使用该参考角点来确定出距离清洁机器人最近的待清扫地毯分区,加快清洁机器人进入待清扫地毯分区的速度。
然后,清洁机器人在该参考角点所处的待清扫地毯分区中,选择以该参考角点为共同端点的两条边界线分别配置为第一参考边和第二参考边;其中,每条边界线都有其对应的待清扫地毯分区。清洁机器人在第一参考边的中点和第二参考边的中点当中,选择距离清洁机器人的当前位置最近的一个中点配置为当前预设目标点,其中,参考角点所处的待清扫地毯分区是所述当前预设目标点所处的地毯分区;然后,清洁机器人将当前预设目标点所处的待清扫地毯分区设置为机器人当前需要进入的待清扫地毯分区,并将其更新为所述当前筛选出的一个待清扫地毯分区。从而按照就近原则在待清扫地毯分区的相应边界线上选择中点作为清洁机器人进入距离最近的待清扫地毯分区的导航入口位置点。
具体地,清洁机器人从硬地面区域进入待清扫地毯分区的方法包括:依据清洁机器人全局地图搜索出的由当前位置对应的栅格与所述当前预设目标点对应的栅格之间的可通行的栅格,形成一条导航路径,然后清洁机器人沿着该导航路径,逐个位置点地行走到当前预设目标点,但在这一行走过程中不对地面清扫;至于从当前预设目标点开始行走至当前预设目标点所处的待清扫地毯分区的预设行走起点的方式,是清洁机器人直接沿着当前预设目标点指向相应的预设行走起点的方向行走,其中,当前预设目标点及其所处的待清扫地毯分区的预设行走起点可以预先计算其位姿信息并保存起来,并在全局地图中标记出对应的栅格;清洁机器人的当前位置点是使用清洁机器人的机体中心点来表示。当清洁机器人行走至所述预设行走起点时,清洁机器人确定已经完全进入所述待清扫地毯分区内,并停止使用惯性传感器测得的里程数值的累加值和角度值的累加值去计算清洁机器人的位姿,也停止往全局地图中标记栅格,减少将清洁机器人打滑误差数据映射到全局地图中。
在前述实施例的基础上,每次重复执行步骤S3之前,即每次执行完步骤S4之后,清洁机器人从当前所有未遍历的待清扫地毯分区中,选择距离上一次执行的步骤S4中更新后的机器人的当前位置最近的一个角点配置为参考角点;然后在该参考角点所属的待清扫地毯分区中,选择以该参考角点为共同端点的两条边界分别配置为第一参考边和第二参考边;然后在第一参考边的中点和第二参考边的中点当中,选择距离更新后的清洁机器人的当前位置最近的一个中点配置为下一个预设目标点;并该参考角点所属的待清扫地毯分区是下一个筛选出的待清扫地毯分区,下一个预设目标点则作为清洁机器人进入下一个筛选出的待清扫地毯分区的导航入口,进而将所述下一个筛选出的待清扫地毯分区更新为当前筛选出的待清扫地毯分区,下一个预设目标点更新为当前预设目标点,所述下一个筛选出的待清扫地毯分区的预设行走起点更新为所述当前筛选出的待清扫地毯分区的预设行走起点,以便于机器人从预设行走起点开始在所述下一个筛选出的待清扫地毯分区内清扫。
作为一种实施例,在所述步骤S4中,清洁机器人开始沿着该待清扫地毯分区的边界线行走并提取出该待清扫地毯分区的边角信息,再基于提取出的待清扫地毯分区的边角信息,重新定位清洁机器人的位姿信息,并将重新定位出的清洁机器人的位姿信息更新清洁机器人的当前位置的方法包括:
清洁机器人行走到步骤S3所述的待清扫地毯分区(清洁机器人在执行步骤S3过程中行走的待清扫地毯分区)的边界线时,清洁机器人转动机身以调整行走方向,直至清洁机器人的一侧装配的超声波传感器接收到的超声波反射信号的强度没有处于预设强度阈值范围内、清洁机器人的另一侧装配的超声波传感器接收到的超声波反射信号的强度处于预设强度阈值范围内,则确定清洁机器人的两个超声波传感器分居所述待清扫地毯分区的边界线的两侧,并将机器人的当前位置设置为重定位起点位置;在一些实施方式中,清洁机器人调整两个超声波传感器分居待清扫地毯分区的边界线两侧后,则清洁机器人的当前位置点是位于边界线上;需要说明的是,清洁机器人的当前位置点是清洁机器人的机体中心点;调整两个超声波传感器分居待清扫地毯分区的边界线两侧的方式可以是清洁机器人转动机身,改变行走方向,直至各侧的超声波传感器检测到相应的地面介质类型信息。
清洁机器人从重定位起点位置开始,在保持清洁机器人的两侧的超声波传感器分居所述待清扫地毯分区的边界线的两侧的状态下按照预设时针方向行走,以使清洁机器人沿着所述待清扫地毯分区的边界线行走,并使用惯性传感器检测清洁机器人的偏转角度的变化量,即测量清洁机器人沿着所述待清扫地毯分区的边界线行走所转过的角度。
当清洁机器人行走到角点时,检测到偏转角度的变化量达到参考角度,将该角点的位姿信息设置为重新定位出清洁机器人的位姿信息,并使用该角点的位姿信息更新为清洁机器人的当前位姿信息,以使得清洁机器人在所述角点处按照预设时针方向转动过所述参考角度;然后确定清洁机器人在所述待清扫地毯分区内重新获得其位姿信息,完成清洁机器人的一次重定位。其中,所述偏转角度的变化量用于表示清洁机器人的行走方向的变化;其中,所述角点是所述待清扫地毯分区的两条边界线的公共端点,形成清洁机器人通过转动所述参考角度来维持其沿着所述待清扫地毯分区的边界线行走的位置点;预设时针方向是顺时针方向或逆时针方向。清洁机器人的两侧分别装配有超声波传感器,用于探测清洁机器人的行走方向的两侧的区域的地面介质类型。
优选地,参考角度是处于清洁机器人在所述待清扫地毯分区内的打滑误差允许的角度范围内,使得清洁机器人在角点处通过转动所述参考角度来维持其沿着待清扫地毯分区的边界线行走,并获取到超声波反射信号的强度产生的较明显或具有规律的变化值,如在预设强度阈值范围的内外变化。在本实施例中,机器人为了保持两个超声波传感器分居当前特定介质分区的边界线两侧的状态而对行走方向的调整,在一定程度上可以修正陀螺仪检测角度时存在的打滑误差。由于行走积累的打滑误差的影响,如果所述参考角度设置得过小,很难找到相适配的重定位位置,如果所述参考角度设置得过大,找到的对象的准确性又比较低,所以,本实施例公开的参考角度可以设置为允许清洁机器人行走到一个边角位置并通过旋转参考角度来维持沿着边界线行走,该边角位置可以是一条线段的端点、或两条边界线的公共端点、或一个缺口的两端,也因为边界线上分布的障碍物而让超声波反射信号的强度产生的较明显或具有规律的变化值并让清洁机器人及时捕获到,形成重定位的位置选择的必要因素。
需要说明的是,围成待清扫地毯分区的每条边界线的位姿信息是预先保存在清洁机器人的存储器中(在步骤S1中获得的,也属于硬地面区域的边界线的位姿信息),是清洁机器人进入待清扫地毯分区之前就在全局地图中标记出相应的栅格,记录好位姿信息;角点是围成待清扫地毯分区的一条边界线的端点,即相邻接的两条边界线的公共端点,其位姿信息也是预先保存在清洁机器人的存储器中。在本实施例中,清洁机器人是否行走角点可以通过在一定的时间内转动角度的变化量进行判断,也可以通过转动角度和预先保存好的栅格位置的关系进行判断,也可以可以通过清洁机器人开始沿沿着待清扫地毯分区的边界线行走的起始点和第一个行走到的角点的位置关系来进行判断,还可以把这些因素结合起来进行综合判断,等等。从而在没有实时地对地图标记新的栅格信息和实时计算清洁机器人位姿信息的前提下,把清洁机器人当前的位置重定位为这个角点在清洁机器人中预先记录的位置。所述全局地图预存在机器人的存储器中。所述全局地图是清洁机器人没有进入所述待清扫地毯分区前,利用其自身携带的各种传感器(例如:加速度传感器、陀螺仪、超声波测距仪等等)对每个房间区域进行搜索,感应每个房间区域的可通行位置、形状和大小,并据此绘制出一张包含环境边界信息的全局地图。
具体地,分居待清扫地毯分区的边界线两侧的两个超声波传感器是位于清洁机器人的中轴线的左右两侧。所述待清扫地毯分区的形状是多边形,且两个超声波传感器是配置为安装在清洁机器人的中轴线的两侧时,为了维持所述两个超声波传感器分居待清扫地毯分区的边界线两侧,则清洁机器人在行走过程中,会一次或多次地转动机身,在这一过程中,清洁机器人的机身(包括驱动轮和超声波传感器)不可避免地反复进出所述待清扫地毯分区,清洁机器人的运动轨迹形成与所述待清扫地毯分区的边界线交错的轨迹线,则清洁机器人以这一实施方式沿着待清扫地毯分区的边界线行走,当清洁机器人是扫地机器人时,可以实施对所述待清扫地毯分区进行交错清洁,整体上按照预设时针方向在待清扫地毯分区内行走以实现绕着待清扫地毯分区的中心完成固定沿边方向的沿边行走。
在上述实施例的基础上,所述步骤S4还包括:清洁机器人行走至所述重定位起点位置之前,清洁机器人在所述待清扫地毯分区内行走,当超声波传感器接收到的超声波反射信号的强度没有处于预设强度阈值范围内时,清洁机器人确定其行走到所述重定位起点位置所在的边界线;其中,预设强度阈值范围用于表示地毯分区反馈回的超声波反射信号的信号强度范围;其中,所述角点和所述重定位起始点位于所述待清扫地毯分区的同一条边界线上;所述角点处允许存在障碍物,以使得所述角点是位于墙角区域或缺口(比如墙面底部的缺口洞口)的端点位置。
具体地,清洁机器人在所述待清扫地毯分区内行走的过程中,当超声波传感器接收到的超声波反射信号的强度没有处于预设强度阈值范围内时,清洁机器人确定其行走到所述待清扫地毯分区的边界线上;其中,预设强度阈值范围用于表示所述待清扫地毯分区反馈回的超声波反射信号的信号强度范围。超声波传感器是清洁机器人的两侧装配的超声波传感器中的任意一个,即机器人在所述待清扫地毯分区内随机行走的过程中,只要清洁机器人的其中一侧(左侧或右侧)的超声波传感器接收到的超声波反射信号的强度没有处于预设强度阈值范围内,即可确定清洁机器人已经行走到所述待清扫地毯分区的边界线,并开始行走出所述待清扫地毯分区,然后从该边界线上选择当前位置作为所述重定位起点位置。
所述角点和所述重定位起点位置位于所述待清扫地毯分区的同一条边界线上,该条边界线位于清洁机器人的两侧的超声波传感器之间,存在一个超声波传感器位于所述待清扫地毯分区的上方,另一个超声波传感器位于所述待清扫地毯分区之外的区域(硬地面区域)的上方,比如,第一超声波传感器装配在清洁机器人的底部的左侧,第二超声波传感器装配在清洁机器人的底部的右侧,且清洁机器人按照逆时针方向来沿着所述待清扫地毯分区的边界线行走,则第一超声波传感器位于所述待清扫地毯分区的上方,第二超声波传感器位于所述待清扫地毯分区之外的区域的上方。优选地,所述待清扫地毯分区是表面覆盖地毯的矩形区域,所述角点是该矩形区域的顶点,所述参考角度是90度,使得清洁机器人按照预设时针方向转动一个直角后,使用该直角的顶点的位姿信息更新为清洁机器人的当前位姿信息;其中,所述矩形区域的每条边是一条边界线,所述矩形区域由四条边界线围成,该直角的顶点的位姿信息包括该直角的顶点的坐标信息和角度信息,都是预先保存的位姿信息以便于后续进行重定位操作。对应到室内环境中,清洁机器人的行走环境覆盖到室内环境的地面,其中,墙体垂直于地面;若所述待清扫地毯分区覆盖到室内环境的地面,则清洁机器人沿着所述待清扫地毯分区行走的运动轨迹的转角均为直角,所述待清扫地毯分区的相交的两条边界线之间的夹角均为直角。
在所述步骤S4中,清洁机器人在所述待清扫地毯分区内行走过程中,当存在一个超声波传感器接收到超声波反射信号的强度是没有处于预设强度阈值范围内时,清洁机器人确定其前方区域的表面不存在地毯,由于清洁机器人是行走在所述待清扫地毯分区内,所以清洁机器人在检测到其前方区域的表面不存在地毯时,该超声波传感器的探测范围位于待清扫地毯分区之外,该超声波传感器可能位于所述待清扫地毯分区之外;清洁机器人当前检测到所述待清扫地毯分区的边界线,且确定当前行走至所述待清扫地毯分区的边界线,然后清洁机器人调整行走方向,即清洁机器人调整行走角度,偏向所述待清扫地毯分区的内部行走,避免清洁机器人整体离开所述待清扫地毯分区的边界线,可以允许部分机体露出待清扫地毯分区之外,但需调整清洁机器人的行走方向,带动清洁机器人沿着所述待清扫地毯分区的边界线行走。
在前述实施例中,清洁机器人在所述待清扫地毯分区内行走时,清洁机器人控制超声波传感器发出超声波并接收超声波反射信号,并控制惯性传感器测量清洁机器人的姿态角,但停止对全局地图的栅格进行标记。即清洁机器人在地毯等柔性介质的表面不计算自身的位姿信息(包括位置坐标信息和角度信息),不实时构建地图,不往全局地图内标记新的栅格,以减少清洁机器人打滑带来的误差影响。但清洁机器人丢失其在地毯表面的位姿信息(包括位置坐标信息和角度信息),为了在清洁机器人即将离开地毯时重新获取自身的位姿信息(即重定位)以便于在地毯之外的区域进行路径导航,在清洁机器人确定从所述预设行走起点开始行走所耗费的时间已经达到所述标准清洁时间后,清洁机器人需要执行步骤S4,以重新定位清洁机器人的位姿信息。然后,当清洁机器人使用所述角点的位姿信息更新为清洁机器人的当前位姿信息后,清洁机器人行走至所述硬地面区域,同时清洁机器人获取其位姿信息,并在全局地图内标记为清洁机器人的当前位置对应的栅格,以进行地图构建操作。
需要补充的是,清洁机器人包含机器主体、感知系统、控制系统、驱动系统、清洁系统、能源系统,清洁机器人的主体包括前向部分和后向部分,具有近似圆形形状(前后都为圆形),也可具有其他形状,包括但不限于前方后圆的近似D形形状或前方后方的矩形或正方形形状。在一些实施例中,设置于机器人的主机的前向部分上的碰撞传感器、近距离传感器,设置于机器人主体下部的悬崖传感器,以及设置于机器人主体内部的控制器、磁力计、加速度计、陀螺仪(Gyro)、以及安装在驱动轮内部的里程计(ODO ,全称odograph)、安装在左右驱动轮与机体的底盘连接的槽位内的跌落传感器等传感装置,用于向处理器提供机器的各种位置信息和运动状态信息。所述处理器可基于具有距离和角度信息(例如x 、y及z分量)的驱动命令而操纵机器人跨越不同类型的地面行进,并在全局地图中标记出地毯分区的边界线、硬地面区域和接触到的障碍物对应的栅格,并赋予位姿信息和环境类型信息。所述处理器包含驱动轮模块,驱动轮模块可以同时控制左驱动轮和右驱动轮,为了更为精确地控制清洁机器人的运动,优选地,驱动轮模块包括左驱动轮模块和右驱动轮模块,左驱动轮模块和右驱动轮模块沿着由机体界定的横向轴对称设置。为了清洁机器人能够在地面上更为稳定地运动或者更强的运动能力,清洁机器人可以包括一个或者多个从动轮,从动轮包括但不限于用于改变转向的万向轮。驱动轮模块包括驱动轮、驱动马达以及控制驱动马达的控制电路,驱动轮模块还可以连接测量驱动电流的电路、里程计和陀螺仪,以实现构建地图。当清洁机器人是扫地机器人,且地毯分区是一个房间区域中的地毯覆盖区域时,本申请依靠惯性传感器和超声波传感器在每个地毯分区上都进行覆盖面较大的清洁作业,也减少机器人的驱动轮打滑带来的建图误差,并在每个地毯分区内获得一个准确的机体定位信息以便于由一个已遍历的地毯分区进入距离合理的未遍历的地毯分区,有序地完成室内工作区域中的地毯所包括的所有地毯分区的清洁工作。
在所述清洁机器人内部的一个存储器中,存储清洁机器人构建的所述全局地图,全局地图是栅格地图,由栅格单元组成,前述实施例中的栅格是该栅格单元;所述的栅格单元是指边长为20厘米的虚拟方格,由很多栅格单元连续排布所形成的具有一定长度和宽度的用于表示地理环境信息的地图就是栅格地图,对应到全局坐标系中是形成所述全局地图。根据栅格地图,清洁机器人可以由一边行走一边检测到的数据得知当前对应的栅格单元位置,并可以实时更新栅格单元的状态,清洁机器人在地毯分区行走除外;优选地,以上这些实施例中所述的地毯分区是指不挨着墙壁或者不挨着靠墙物体的覆盖地毯的孤立矩形区域,且清洁机器人能够沿着该孤立矩形区域的边缘行走一圈,其中,孤立矩形区域对应的栅格区域并不仅仅是指一个栅格单元,靠拢在一起并且能够形成连续的多个栅格单元,也属于分区。
此外,以上这些实施例中,清洁机器人在所述待清扫地毯分区的外部行走所记录的预设规划路径和标记到的所述待清扫地毯分区的边界点对应的栅格是能够存储在所述存储器中的,预设规划路径可以是弓字型路径,所述地毯分区是矩形区域或多个不连续的矩形区域组成的区域,则所述清洁机器人的存储器(包括缓存区)包括存储弓字型路径对应的栅格单元的栅格坐标、弓字型路径的起始位置点对应的栅格单元的栅格坐标、弓字型路径的结束位置点对应的栅格单元的栅格坐标、弓字型路径的起始执行时间、弓字型路径的结束执行时间、所述地毯分区的边界点对应的栅格单元的栅格坐标等等。这些在存储器中存储的数据是不能随意删除的,可以用作清洁机器人进行重新定位和建立地图的参考数据。
显然,上述实施例仅仅是为清楚地说明所作的举例,而并非对实施方式的限定。对于所属领域的普通技术人员来说,在上述说明的基础上还可以做出其它不同形式的变化或变动。这里无需也无法对所有的实施方式予以穷举。而由此所引伸出的显而易见的变化或变动仍处于本发明创造的保护范围之中。
Claims (15)
1.基于超声波的地面环境运动规划方法,其特征在于,地面环境运动规划方法适用于底部装配超声波传感器的清洁机器人,清洁机器人被配置为行走在具有地毯和硬地面的地面环境中;
所述地面环境运动规划方法包括:
步骤S1、清洁机器人基于超声波传感器接收到的探测信号强度检测出至少一个地毯分区,再在检测出的地毯分区之外的可通行区域行走,并依据检测出的地毯分区的边界线计算该地毯分区的面积,直至清洁机器人在室内环境中行走完硬地面区域,并计算获得硬地面区域的面积,其中,清洁机器人将室内环境中除了检测出的地毯分区之外的可通行区域标记为硬地面区域;每个地毯分区与硬地面区域之间都设置边界线,以标记为对应地毯分区的边界线;
步骤S2、根据地毯分区的面积与硬地面区域的面积的比值,从步骤S1检测出的地毯分区当中筛选出待清扫地毯分区;然后,依据待清扫地毯分区的面积设置清洁机器人在待清扫地毯分区内的标准清洁时间;
步骤S3、清洁机器人从硬地面区域进入当前筛选出的一个待清扫地毯分区,然后保持在同一个待清扫地毯分区内行走,直至清洁机器人在该待清扫地毯分区内行走所产生的耗时达到标准清洁时间;
步骤S4、清洁机器人在步骤S3所述的待清扫地毯分区内的行走耗时达到标准清洁时间后,开始沿着该待清扫地毯分区的边界线行走并提取出该待清扫地毯分区的边角信息,再基于提取出的待清扫地毯分区的边角信息,重新定位清洁机器人的位姿信息,并将重新定位出的清洁机器人的位姿信息更新清洁机器人的当前位置,再离开该待清扫地毯分区。
2.根据权利要求1所述地面环境运动规划方法,其特征在于,在所述步骤S2中,所述根据地毯分区的面积与硬地面区域的面积的比值,从步骤S1检测出的地毯分区当中筛选出待清扫地毯分区的方法包括:
清洁机器人判断步骤S1计算出的一个地毯分区的面积与所述硬地面区域的面积的比值是否处于预设覆盖比值范围,是则将该地毯分区设置为待清扫地毯分区并确定清洁机器人筛选出一个待清扫地毯分区,否则将该地毯分区设置为禁止清扫分区;
其中,禁止清扫分区的面积小于待清扫地毯分区的面积;预设覆盖比值范围用于描述允许清洁机器人行走的地毯分区与硬地面区域在同一室内环境中的布局情况;
其中,所述硬地面区域的表面覆盖的介质与所述待清扫地毯分区的表面覆盖的介质不同,不同的待清扫地毯分区被所述硬地面区域隔开。
3.根据权利要求2所述地面环境运动规划方法,其特征在于,在第一次执行所述步骤S3时,清洁机器人已经行走完所述硬地面区域,然后在清洁机器人在进入待清扫地毯分区之前,选择距离清洁机器人的当前位置最近的一个待清扫地毯分区更新为所述当前筛选出的一个待清扫地毯分区,然后清洁机器人从其当前位置开始进入所述当前筛选出的一个待清扫地毯分区;
执行所述步骤S4之后,还包括:清洁机器人选择距离更新出的当前位置最近的一个未遍历的待清扫地毯分区设置为所述当前筛选出的一个待清扫地毯分区;然后行走至所述硬地面区域以离开当前所处的待清扫地毯分区,再重复执行步骤S3和步骤S4,直至清洁机器人依次遍历到每个待清扫地毯分区,再返回硬地面区域。
4.根据权利要求2所述地面环境运动规划方法,其特征在于,所述步骤S1中,所述清洁机器人基于超声波传感器接收到的探测信号强度检测出至少一个地毯分区的方法包括:
步骤S11、清洁机器人按照预设规划路径行走在硬地面区域,并控制超声波传感器发出超声波并接收超声波反射信号,同时控制惯性传感器测量清洁机器人的姿态角;
步骤S12、当超声波传感器接收到的超声波反射信号的强度处于预设强度阈值范围内时,清洁机器人检测到地毯,并将当前检测到地毯的位置点标记为地毯的边界点,再在全局地图中标记出地毯的边界点对应的栅格,同时调整行走方向以使清洁机器人不进入地毯;其中,地毯的边界点连成地毯的边界线,地毯的边界线连成的闭合区域是配置为地毯分区;超声波反射信号的强度是超声波传感器接收到的探测信号强度。
5.根据权利要求4所述地面环境运动规划方法,其特征在于,在步骤S12中,每当清洁机器人检测到地毯后,在保持不进入当前检测到的地毯的前提下,沿着当前检测到的地毯的边界线行走在地毯的外部区域;
若清洁机器人在沿着当前检测到的地毯的边界线行走一圈的过程中,检测到边界线的第一侧区域反射回来的超声波反射信号的强度处于预设强度阈值范围内,且检测同一边界线的第二侧区域反射回来的超声波反射信号的强度没有处于预设强度阈值范围内,则清洁机器人确定当前检测到的地毯的边界线围成一个地毯分区,并确定清洁机器人检测到一个地毯分区,其中,惯性传感器用于测量清洁机器人是否沿着边界线行走过一圈,地毯分区的边界线是属于地毯的边界线;
然后清洁机器人按照预设规划路径行走至未遍历区域内且保持不进入地毯,再重复执行步骤S11和步骤S12以检测出新的地毯分区;
其中,所述全局地图是属于栅格地图,缓存在清洁机器人的存储器中;清洁机器人的底部装配至少两个超声波传感器,用于探测清洁机器人的行走方向的两侧的区域的地面介质类型。
6.根据权利要求4所述地面环境运动规划方法,其特征在于,所述步骤S12中,清洁机器人先行走至该未遍历位置点,再从该未遍历位置点继续按照预设规划路径进行行走,但不进入地毯;当清洁机器人行走完除所检测到的地毯之外的区域时,确定剩下的未遍历区域是地毯覆盖区域;
其中,地毯覆盖区域是由地毯的边界点连接形成的至少一个闭合区域组成,一个闭合区域是一个地毯分区;每个地毯分区的边界点都属于地毯覆盖区域的边界点。
7.根据权利要求5或6所述地面环境运动规划方法,其特征在于,所述步骤S1中,所述依据检测出的地毯分区的边界线计算该地毯分区的面积的方法包括:
将当前检测出的一个地毯分区划分为由至少一个规则图形区域组成;
然后计算当前检测的一个地毯分区的边界线在横坐标轴方向上的投影长度与同一地毯分区的边界线在纵坐标轴方向上的投影长度;
然后基于组成当前检测出的一个地毯分区的规则图形区域所属的几何图形类型,利用获取的各个坐标轴方向上的投影长度计算出对应规则图形区域的面积,再将组成当前检测出的一个地毯分区的所有规则图形区域的面积的和值设置为该地毯分区的面积。
8.根据权利要求7所述地面环境运动规划方法,其特征在于,组成一个地毯分区的规则图形区域是一个矩形区域或至少两个矩形区域的组合;
在同一室内环境中,一个硬地面区域和至少一个地毯分区组成矩形区域;
其中,所述硬地面区域和所述地毯分区都设置为可通行区域。
9.根据权利要求7所述地面环境运动规划方法,其特征在于,所述步骤S1还包括:
清洁机器人在室内环境中行走完除了所有地毯分区之外的可通行区域后,确定清洁机器人已经遍历完所述硬地面区域,并将清洁机器人在硬地面区域中行走过的位置点依次标记在全局地图的对应栅格中以组成硬地面区域的轮廓地图;然后统计所述硬地面区域在全局地图中占据的栅格数量,再将栅格数量与单位栅格的面积的乘积设置为硬地面区域的面积。
10.根据权利要求4所述地面环境运动规划方法,其特征在于,在步骤S2中,所述依据待清扫地毯分区的面积设置清洁机器人在待清扫地毯分区内的标准清洁时间的方法包括:
所述标准清洁时间等于所述待清扫地毯分区的面积与清洁机器人的有效清扫面积的比值与预设误差系数的乘积;
其中,清洁机器人的有效清扫面积是等于预先设定的清洁机器人行走速度与清洁机器人的机身直径的乘积;
其中,预设误差系数用于表示清洁机器人实际行走完所述待清扫地毯分区后,清洁机器人实际行走出的轨迹的覆盖区域与所述待清扫地毯分区的面积差异程度。
11.根据权利要求10所述地面环境运动规划方法,其特征在于,在所述步骤S3中,保持在同一个待清扫地毯分区内行走,直至清洁机器人在该待清扫地毯分区内行走所产生的耗时达到标准清洁时间的方法包括:
步骤S31、清洁机器人在所述待清扫地毯分区内从预设行走起点开始行走的过程中,当超声波传感器接收到的超声波反射信号的强度没有处于预设强度阈值范围内时,清洁机器人确定当前行走至所述待清扫地毯分区的边界线,然后清洁机器人调整行走方向,使得清洁机器人不行走至所述待清扫地毯分区的外部,其中,清洁机器人调整后的行走方向与其调整前的行走方向的夹角的角度设置为大于或等于调整前的行走方向与清洁机器人行走到的边界线所成的夹角的角度;
步骤S32、清洁机器人保持在所述待清扫地毯分区内行走,直至记录到清洁机器人从所述待清扫地毯分区内的预设行走起点开始行走所耗费的时间达到标准清洁时间,清洁机器人确定其已经覆盖到所述待清扫地毯分区;
其中,清洁机器人在所述待清扫地毯分区内不按照预设规划路径行走;
其中,清洁机器人的底部的前方装配超声波传感器,用于朝清洁机器人的行走地面发射超声波。
12.根据权利要求11所述地面环境运动规划方法,其特征在于,在所述步骤S3中,清洁机器人行走完硬地面区域后,清洁机器人从硬地面区域进入当前筛选出的一个待清扫地毯分区的方法包括:
从所有未被清洁机器人进入的待清扫地毯分区中,选择距离清洁机器人的当前位置最近的一个角点配置为参考角点;其中,每个待清扫地毯分区的边界点都包括角点;
然后,清洁机器人在该参考角点所处的待清扫地毯分区中,选择以该参考角点为共同端点的两条边界线分别配置为第一参考边和第二参考边;
清洁机器人在第一参考边的中点和第二参考边的中点当中,选择距离清洁机器人的当前位置最近的一个中点配置为当前预设目标点;
然后,清洁机器人将当前预设目标点所处的待清扫地毯分区设置为机器人当前需要进入的待清扫地毯分区。
13.根据权利要求2所述地面环境运动规划方法,其特征在于,在步骤S4中,清洁机器人开始沿着该待清扫地毯分区的边界线行走并提取出该待清扫地毯分区的边角信息,再基于提取出的待清扫地毯分区的边角信息,重新定位清洁机器人的位姿信息,并将重新定位出的清洁机器人的位姿信息更新清洁机器人的当前位置的方法包括:
清洁机器人行走到所述待清扫地毯分区的边界线时,清洁机器人转动机身以调整行走方向,直至清洁机器人的一侧装配的超声波传感器接收到的超声波反射信号的强度没有处于预设强度阈值范围内、清洁机器人的另一侧装配的超声波传感器接收到的超声波反射信号的强度处于预设强度阈值范围内,则确定清洁机器人的两个超声波传感器分居所述待清扫地毯分区的边界线的两侧,并将机器人的当前位置设置为重定位起点位置;
清洁机器人从重定位起点位置开始,在保持清洁机器人的两侧的超声波传感器分居所述待清扫地毯分区的边界线的两侧的状态下按照预设时针方向行走,并使用惯性传感器检测清洁机器人的偏转角度的变化量;
当清洁机器人行走到角点时,将该角点的位姿信息设置为重新定位出清洁机器人的位姿信息,并使用该角点的位姿信息更新为清洁机器人的当前位姿信息,以使得清洁机器人在所述角点处按照预设时针方向转动过所述参考角度;然后确定清洁机器人在所述待清扫地毯分区内重新获得其位姿信息;其中,所述偏转角度的变化量用于表示清洁机器人的行走方向的变化;
其中,所述角点是所述待清扫地毯分区的两条边界线的公共端点;
其中,预设时针方向是顺时针方向或逆时针方向;
其中,清洁机器人的两侧分别装配有超声波传感器,用于探测清洁机器人的行走方向的两侧的区域的地面介质类型。
14.根据权利要求13所述地面环境运动规划方法,其特征在于,步骤S4还包括:
清洁机器人行走至所述重定位起点位置之前,清洁机器人在所述待清扫地毯分区内行走,当超声波传感器接收到的超声波反射信号的强度没有处于预设强度阈值范围内时,清洁机器人确定其行走到所述重定位起点位置所在的边界线;
其中,预设强度阈值范围用于表示地毯分区反馈回的超声波反射信号的信号强度范围;
其中,所述角点和所述重定位起始点位于所述待清扫地毯分区的同一条边界线上;所述角点处允许存在障碍物,以使得所述角点是位于墙角区域或缺口的端点位置。
15.根据权利要求14所述地面环境运动规划方法,其特征在于,清洁机器人在所述待清扫地毯分区内行走时,清洁机器人控制超声波传感器发出超声波并接收超声波反射信号,并控制惯性传感器测量清洁机器人的姿态角,但停止对全局地图的栅格进行标记;
当清洁机器人使用所述角点的位姿信息更新为清洁机器人的当前位姿信息后,清洁机器人行走至所述硬地面区域,同时清洁机器人获取其位姿信息,并在全局地图内标记为清洁机器人的当前位置对应的栅格。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211238871.8A CN115755881A (zh) | 2022-10-11 | 2022-10-11 | 基于超声波的地面环境运动规划方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211238871.8A CN115755881A (zh) | 2022-10-11 | 2022-10-11 | 基于超声波的地面环境运动规划方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115755881A true CN115755881A (zh) | 2023-03-07 |
Family
ID=85351200
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211238871.8A Pending CN115755881A (zh) | 2022-10-11 | 2022-10-11 | 基于超声波的地面环境运动规划方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115755881A (zh) |
-
2022
- 2022-10-11 CN CN202211238871.8A patent/CN115755881A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11960304B2 (en) | Localization and mapping using physical features | |
CN109997089B (zh) | 地面处理机和地面处理方法 | |
US11052540B2 (en) | Methods and systems for complete coverage of a surface by an autonomous robot | |
WO2020103707A1 (zh) | 一种机器人的清扫控制方法和芯片以及清洁机器人 | |
CN112137529B (zh) | 一种基于密集障碍物的清扫控制方法 | |
US20050085947A1 (en) | Autonomouse machine | |
JP2007213236A (ja) | 自律走行ロボットの経路計画方法及び自律走行ロボット | |
AU2002337343A1 (en) | An autonomous machine | |
JPH04333902A (ja) | 清掃機の自動走行清掃方式 | |
CN107678429B (zh) | 一种机器人的控制方法及芯片 | |
CN112180924A (zh) | 一种导航至密集障碍物的移动控制方法 | |
CN115755881A (zh) | 基于超声波的地面环境运动规划方法 | |
KR950005402B1 (ko) | 자동 주행 청소기의 위치 인식방법 | |
CN111897336A (zh) | 一种机器人沿边行为结束的判断方法、芯片及机器人 | |
CN116942018A (zh) | 基于特定介质区域的机器人控制方法、机器人及芯片 | |
CN114355871A (zh) | 一种自行走装置及其控制方法 | |
CN112155477B (zh) | 一种基于栅格地图的密集障碍物点标记方法 | |
CN116954205A (zh) | 机器人行走环境检测方法、行走控制方法、机器人及芯片 | |
CN116953710A (zh) | 基于特定介质区域的机器人重定位方法、机器人及芯片 | |
CN114305202B (zh) | 一种自行走装置及其控制方法 | |
CN113433945A (zh) | 一种自行走清洁装置在床面上全覆盖遍历的方法 | |
CN116069010A (zh) | 基于激光点的机器人悬空判断方法、地图更新方法及芯片 | |
CN116954204A (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 |