CN111178315B - 识别墙角的方法、装置和计算机设备 - Google Patents
识别墙角的方法、装置和计算机设备 Download PDFInfo
- Publication number
- CN111178315B CN111178315B CN202010007032.XA CN202010007032A CN111178315B CN 111178315 B CN111178315 B CN 111178315B CN 202010007032 A CN202010007032 A CN 202010007032A CN 111178315 B CN111178315 B CN 111178315B
- Authority
- CN
- China
- Prior art keywords
- position coordinate
- straight line
- corner
- wall
- sweeping robot
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/35—Categorising the entire scene, e.g. birthday party or wedding scene
- G06V20/36—Indoor scenes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/20—Image preprocessing
- G06V10/25—Determination of region of interest [ROI] or a volume of interest [VOI]
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Multimedia (AREA)
- Theoretical Computer Science (AREA)
- Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)
- Manipulator (AREA)
Abstract
本申请提供了一种识别墙角的方法、装置和计算机设备,扫地机器人在沿墙状态下,首先按照扫地机器人的运动轨迹,顺序获取在同一直线上的三个位置坐标,确定与当前墙壁平行的第一直线。然后在监测到第四位置坐标不在第一直线上时,可以判定此时扫地机器人出现转向,后续获取与第四位置坐标在同一直线上的第五、第六位置坐标,确定与转向后的墙壁平行的第二直线,最后根据第一直线和第二直线计算得到两者之间的交点坐标,该交点坐标即对应两面墙壁的交汇处,即墙角位置。本申请通过三个位置坐标计算得到用方程式表示的第一、第二直线,再通过数学计算第一、第二直线的交点坐标,计算简单快速,对墙角位置定位精准。
Description
技术领域
本申请涉及扫地机器人技术领域,特别涉及一种识别墙角的方法、装置和计算机设备。
背景技术
扫地机器人,又称自动打扫机、智能吸尘器、机器人吸尘器等,是智能家用电器的一种,能够凭借一定的人工智能,自动在房间内完成地板清扫工作。扫地机器人一般采用刷扫和真空方式,将地面杂物吸纳进入自身的垃圾收纳盒,从而完成地面清扫的功能。
通常,扫地机器人一般都支持沿墙边清扫。有别于其他清扫区域,墙边处一般容易积累灰尘,清扫相对较为困难,尤其是两面墙边交汇处即墙角处,更加难以清扫。
在现有技术中,扫地机器人在沿墙边清扫时,如果在行进过程中遇到前面有墙,通常都是直接切换方向沿着前方墙继续进行清扫,进而离开墙角处,从而使得在墙边角处的区域被忽略,无法被扫地机器人识别清扫到。
发明内容
本申请的主要目的为提供一种识别墙角的方法、装置和计算机设备,旨在解决现有扫地机器人无法识别到墙角区域的弊端。
为实现上述目的,本申请提供了一种识别墙角的方法,应用于扫地机器人,所述方法包括:
在沿墙状态下,顺序获取所述扫地机器人的位置坐标,直至得到所述扫地机器人的三个位置坐标,其中,所述三个位置坐标按照获取顺序依次为第一位置坐标、第二位置坐标和第三位置坐标;
判断所述第一位置坐标、所述第二位置坐标和所述第三位置坐标是否在同一直线上;
若所述第一位置坐标、所述第二位置坐标和所述第三位置坐标是在同一直线上,则记录所述第一位置坐标、所述第二位置坐标和所述第三位置坐标所在的直线为第一直线,并继续获取所述扫地机器人的位置坐标,直至新加入的第四位置坐标不在所述第一直线上;
顺序获取所述扫地机器人的第五位置坐标和第六位置坐标,判断所述第四位置坐标、所述第五位置坐标和所述第六位置坐标是否在同一直线上;
若所述第四位置坐标、所述第五位置坐标和所述第六位置坐标是在同一直线上,则记录所述第四位置坐标、所述第五位置坐标和所述第六位置坐标所在的直线为第二直线;
计算所述第一直线和所述第二直线的交点坐标,并将所述交点坐标标记为墙角位置坐标。
进一步的,所述扫地机器人包括沿墙传感器,所述在沿墙状态下,顺序获取所述扫地机器人的位置坐标,直至得到所述扫地机器人的三个位置坐标的步骤,包括:
判断所述沿墙传感器是否满足预设的正常状态条件;
若所述沿墙传感器满足预设的正常状态条件,则通过所述沿墙传感器进入沿墙状态;
按照预设时间间隔顺序获取所述扫地机器人的位置坐标,直至得到所述扫地机器人的三个位置坐标。
进一步的,所述扫地机器人还包括碰撞传感器,所述判断所述沿墙传感器是否满足预设的正常状态条件的步骤之后,包括:
若所述沿墙传感器不满足预设的正常状态条件,则通过所述碰撞传感器进入沿墙状态;
在所述碰撞传感器每次触发时,记录所述扫地机器人当前的位置坐标,直至得到所述扫地机器人三个不同的位置坐标。
进一步的,所述判断所述第一位置坐标、所述第二位置坐标和所述第三位置坐标是否在同一直线上的步骤,包括:
对所述第一位置坐标、所述第二位置坐标和所述第三位置坐标进行计算,得到拟合直线;
计算所述第一位置坐标、所述第二位置坐标和所述第三位置坐标到所述拟合直线的方差;
判断所述方差是否大于阈值;
若所述方差大于阈值,则判定所述第一位置坐标、所述第二位置坐标和所述第三位置坐标不是在同一直线上;
若所述方差小于阈值,则判定所述第一位置坐标、所述第二位置坐标和所述第三位置坐标是在同一直线上。
进一步的,所述计算所述第一直线和所述第二直线的交点坐标,并将所述交点坐标标记为墙角位置坐标的步骤之后,包括:
获取所述扫地机器人在所述沿墙状态时的沿墙方向,以及所述扫地机器人从所述第三位置坐标运动到所述第四位置坐标的转动方向;
判断所述沿墙方向是否与所述转动方向相同;
若所述沿墙方向与所述转动方向相同,则标记所述墙角位置坐标对应的墙角为凸角;
若所述沿墙方向与所述转动方向不一致,则标记所述墙角位置坐标对应的墙角为凹角。
进一步的,所述标记所述墙角位置坐标对应的墙角为凹角的步骤之后,包括:
获取所述扫地机器人的当前位置坐标;
根据所述当前位置坐标和所述墙角位置坐标,计算得到当前所述扫地机器人和所述墙角之间的相对位置,所述相对位置包括相对方向和相对距离;
判断所述相对距离是否大于预设距离;
若所述相对距离大于预设距离,则根据所述相对位置运动到所述墙角;
根据所述相对方向,调整清扫装置至正对所述墙角,对所述墙角进行清扫。
进一步的,所述根据所述相对位置运动到所述墙角的步骤,包括:
根据所述相对位置将所述墙角设置为轨迹终点;
按照弓字形轨迹进行清扫,直至运动到所述相对距离不大于所述预设距离,判定所述扫地机器人运动到所述墙角。
本申请还提供了一种识别墙角的装置,应用于扫地机器人,所述装置包括:
第一获取模块,用于在沿墙状态下,顺序获取所述扫地机器人的位置坐标,直至得到所述扫地机器人的三个位置坐标,其中,所述三个位置坐标按照获取顺序依次为第一位置坐标、第二位置坐标和第三位置坐标;
第一判断模块,用于判断所述第一位置坐标、所述第二位置坐标和所述第三位置坐标是否在同一直线上;
第一记录模块,用于若所述第一位置坐标、所述第二位置坐标和所述第三位置坐标是在同一直线上,则记录所述第一位置坐标、所述第二位置坐标和所述第三位置坐标所在的直线为第一直线,并继续获取所述扫地机器人的位置坐标,直至新加入的第四位置坐标不在所述第一直线上;
第二判断模块,用于顺序获取所述扫地机器人的第五位置坐标和第六位置坐标,判断所述第四位置坐标、所述第五位置坐标和所述第六位置坐标是否在同一直线上;
第二记录模块,用于若所述第四位置坐标、所述第五位置坐标和所述第六位置坐标是在同一直线上,则记录所述第四位置坐标、所述第五位置坐标和所述第六位置坐标所在的直线为第二直线;
第一计算模块,用于计算所述第一直线和所述第二直线的交点坐标,并将所述交点坐标标记为墙角位置坐标。
进一步的,所述扫地机器人包括沿墙传感器,所述第一获取模块,包括:
第一判断单元,用于判断所述沿墙传感器是否满足预设的正常状态条件;
第一判定单元,用于若所述沿墙传感器满足预设的正常状态条件,则通过所述沿墙传感器进入沿墙状态;
获取单元,用于按照预设时间间隔顺序获取所述扫地机器人的位置坐标,直至得到所述扫地机器人三个不同的位置坐标。
进一步的,所述扫地机器人还包括碰撞传感器,所述第一获取模块,还包括:
第二判定单元,用于若所述沿墙传感器不满足预设的正常状态条件,则通过所述碰撞传感器进入沿墙状态;
记录单元,用于在所述碰撞传感器每次触发时,记录所述扫地机器人当前的位置坐标,直至得到所述扫地机器人的三个位置坐标。
进一步的,所述第一判断模块,包括:
第一计算单元,用于对所述第一位置坐标、所述第二位置坐标和所述第三位置坐标进行计算,得到拟合直线;
第二计算单元,用于计算所述第一位置坐标、所述第二位置坐标和所述第三位置坐标到所述拟合直线的方差;
第二判断单元,用于判断所述方差是否大于阈值;
第三判定单元,用于若所述方差大于阈值,则判定所述第一位置坐标、所述第二位置坐标和所述第三位置坐标不是在同一直线上;
第四判定单元,用于若所述方差小于阈值,则判定所述第一位置坐标、所述第二位置坐标和所述第三位置坐标是在同一直线上。
进一步的,所述装置,还包括:
第二获取模块,用于获取所述扫地机器人在所述沿墙状态时的沿墙方向,以及所述扫地机器人从所述第三位置坐标运动到所述第四位置坐标的转动方向;
第三判断模块,用于判断所述沿墙方向是否与所述转动方向相同;
第一标记模块,用于若所述沿墙方向与所述转动方向相同,则标记所述墙角位置坐标对应的墙角为凸角;
第二标记模块,用于若所述沿墙方向与所述转动方向不一致,则标记所述墙角位置坐标对应的墙角为凹角。
进一步的,所述装置,还包括:
第三获取模块,用于获取所述扫地机器人的当前位置坐标;
第二计算模块,用于根据所述当前位置坐标和所述墙角位置坐标,计算得到当前所述扫地机器人和所述墙角之间的相对位置,所述相对位置包括相对方向和相对距离;
第四判断模块,用于判断所述相对距离是否大于预设距离;
运动模块,用于若所述相对距离大于预设距离,则根据所述相对位置运动到所述墙角;
清扫模块,用于根据所述相对方向,调整清扫装置至正对所述墙角,对所述墙角进行清扫。
进一步的,所述运动模块,包括:
设置单元,用于根据所述相对位置将所述墙角设置为轨迹终点;
第五判定单元,用于按照弓字形轨迹进行清扫,直至运动到所述相对距离不大于所述预设距离,判定所述扫地机器人运动到所述墙角。
本申请还提供一种计算机设备,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器执行所述计算机程序时实现上述任一项所述方法的步骤。
本申请还提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任一项所述的方法的步骤。
本申请中提供的一种识别墙角的方法、装置和计算机设备,扫地机器人在沿墙状态下,首先按照扫地机器人的运动轨迹,顺序获取在同一直线上的三个位置坐标,确定与当前墙壁平行的第一直线。然后在监测到第四位置坐标不在第一直线上时,可以判定此时扫地机器人出现转向,后续获取与第四位置坐标在同一直线上的第五、第六位置坐标,确定与转向后的墙壁平行的第二直线,最后根据第一直线和第二直线计算得到两者之间的交点坐标,该交点坐标即对应两面墙壁的交汇处,即墙角位置。本申请通过三个位置坐标计算得到用方程式表示的第一、第二直线,再通过数学计算第一、第二直线的交点坐标,计算简单快速,对墙角位置定位精准。
附图说明
图1是本申请一实施例中识别墙角的方法步骤示意图;
图2是本申请一实施例中识别墙角的装置整体结构框图;
图3是本申请一实施例的计算机设备的结构示意框图。
本申请目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
参照图1,本申请一实施例中提供了一种识别墙角的方法,应用于扫地机器人,所述方法包括:
S1:在沿墙状态下,顺序获取所述扫地机器人的位置坐标,直至得到所述扫地机器人的三个位置坐标,其中,所述三个位置坐标按照获取顺序依次为第一位置坐标、第二位置坐标和第三位置坐标;
S2:判断所述第一位置坐标、所述第二位置坐标和所述第三位置坐标是否在同一直线上;
S3:若所述第一位置坐标、所述第二位置坐标和所述第三位置坐标是在同一直线上,则记录所述第一位置坐标、所述第二位置坐标和所述第三位置坐标所在的直线为第一直线,并继续获取所述扫地机器人的位置坐标,直至新加入的第四位置坐标不在所述第一直线上;
S4:顺序获取所述扫地机器人的第五位置坐标和第六位置坐标,判断所述第四位置坐标、所述第五位置坐标和所述第六位置坐标是否在同一直线上;
S5:若所述第四位置坐标、所述第五位置坐标和所述第六位置坐标是在同一直线上,则记录所述第四位置坐标、所述第五位置坐标和所述第六位置坐标所在的直线为第二直线;
S6:计算所述第一直线和所述第二直线的交点坐标,并将所述交点坐标标记为墙角位置坐标。
本实施例中,扫地机器人在开始清扫时,内部构建有坐标系,以自身最开始的起点为坐标原点,从而实现对自身在房间内的位置监控。扫地机器人上安装有沿墙传感器和碰撞传感器,扫地机器人在运动到靠近墙壁时,如果沿墙传感器满足预设的正常状态条件,即沿墙传感器能够正常发出检测信号、接收反馈信号、并将反馈信号传输给扫地机器人的处理器,从而使得扫地机器人能够根据反馈信号计算出自身与墙壁之间的实时距离,则扫地机器人通过沿墙传感器实时监测与墙壁之间的距离,进入沿墙状态,与墙壁保持固定距离进行清扫。在清扫过程中,扫地机器人按照预设时间间隔顺序获取扫地机器人的位置坐标,直至得到扫地机器人的三个位置坐标,并按照获取顺序分别标记为第一位置坐标、第二位置坐标和第三位置坐标。若沿墙传感器无法正常工作,比如出现沿墙传感器无法发出检测信号、或者无法接收反馈信号、或者无法将反馈信号传输给扫地机器人的处理器等情况,从而导致扫地机器人无法通过沿墙传感器得到自身与墙壁之间的实时距离,则扫地机器人通过碰撞传感器实时监测自身与墙壁之间的碰撞,根据“基于碰撞传感器的沿墙走法”的路径规划方法,利用碰撞传感器来探测非常近距离的障碍物。如果扫地机器人在朝目标前进的过程中撞上障碍物,那么沿着障碍物的边缘走,否则直接朝着目标走,从而使得扫地机器人进入沿墙状态,贴着墙壁清扫。扫地机器人通过碰撞传感器,在每次与墙壁发生碰撞时,记录扫地机器人当前的位置坐标,直至得到扫地机器人的三个位置坐标,并按照获取顺序分别标记为第一位置坐标、第二位置坐标和第三位置坐标。扫地机器人判断第一位置坐标、第二位置坐标和第三位置坐标是否在同一直线上,若三个位置坐标不在同一直线上,则说明扫地机在从第二位置坐标运动到第三位置坐标的过程中可能经过了墙角。而由于任意两个点都能确定一条直线,因此单凭第一位置坐标和第二位置坐标所确定的直线来定位墙壁,实际上是不可行的。因此,扫地机只能重新取点,舍弃第一位置坐标和第二位置坐标,并以第三位置坐标来作为初始位置坐标,即新的第一位置坐标,并再次获取新的三个位置坐标,计算新的三个位置坐标是否在同一直线。扫地机循环执行上述步骤,直至获取到在同一直线的三个位置坐标。在实际使用中,开发人员或用户可以根据墙壁的长度来设定位置坐标的获取频率,比如墙壁长度较小时,则提高位置坐标的获取频率,从而保证扫地机能够在沿着墙壁清扫时,获取到平行于同一面墙壁的三个位置坐标,避免上述扫地机因每个位置坐标的获取间隔时间太长错过墙角,而导致第三位置坐标和第一、第二位置坐标不在同一直线,无法对错过的墙角进行定位的情况。具体地,扫地机器人判断第一位置坐标、第二位置坐标和第三位置坐标是否在同一直线上的方法为:扫地机器人使用最小二乘法对第一位置坐标、第二位置坐标和第三位置坐标进行计算,得到三者拟合直线。然后,计算第一位置坐标、第二位置坐标和第三位置坐标到拟合直线的方差。扫地机器人调用预先设定的阈值,判断方差是否大于阈值。若方差大于阈值,则扫地机器人判定该拟合直线不是直线,即第一位置坐标、第二位置坐标和第三位置坐标不是在同一直线上。若方差小于阈值,则扫地机器人判定该拟合直线是直线,即第一位置坐标、第二位置坐标和第三位置坐标是在同一直线上。扫地机器人将该拟合直线标记为第一直线,得到第一直线对应的第一方程式,并按照上述方法继续获取扫地机器人的位置坐标,以及判断新加入的位置坐标是否位于第一直线上。若扫地机器人监测到新获取的第四位置坐标不在第一直线上,则说明扫地机器人在从上一个位置坐标运动到第四位置坐标时发生了转向,即扫地机器人有可能经过了墙角。此时,扫地机器人按照上述方法顺序获取第四位置坐标之后的第五位置坐标和第六位置坐标,并按照计算拟合直线、计算点到拟合直线的方差以及与阈值之间的大小比对,判断第四位置坐标、第五位置坐标和第六位置坐标是否在同一直线上。如果第四位置坐标、第五位置坐标和第六位置坐标不在同一直线上,则说明扫地机当前可能再次发生转向,经过了墙角。为了识别出第三位置坐标和第四位置坐标之间的墙角坐标,扫地机增大自身获取位置坐标的获取频率,缩短位置坐标的获取间隔,避免因此墙壁长度过小而无法获取到足够的位置坐标点来拟合直线。并重新回到第四位置坐标,再次获取新的第五、第六位置坐标,与第四位置坐标组成新的三个位置坐标,循环上述的直线判断方法,直至得到扫地机在转向后的、位于同一直线的三个位置坐标。如果第四位置坐标、第五位置坐标和第六位置坐标在同一直线上,则扫地机器人记录三者所在的同一直线为第二直线,并得到第二直线对应的第二方程式。扫地机器人按照数学方法,通过第一方程式和第二方程式,计算得到第一直线和第二直线的交点坐标。比如,假设第一方程式为:A1x+B1y+C1=0,第二方程式为A2x+B2y+C2=0,将两个方程式联立,求出x和y的值即可得到交点坐标。由于第一直线、第二直线分别代表扫地机器人在转向前所沿的墙壁、扫地机器人在转向后所沿的墙壁,因此,第一直线和第二直线的交点坐标即为两面墙壁的交汇处,墙角位置坐标。
进一步的,所述扫地机器人包括沿墙传感器,所述在沿墙状态下,顺序获取所述扫地机器人的位置坐标,直至得到所述扫地机器人的三个位置坐标的步骤,包括:
S101:判断所述沿墙传感器是否满足预设的正常状态条件;
S102:若所述沿墙传感器满足预设的正常状态条件,则通过所述沿墙传感器进入沿墙状态;
S103:按照预设时间间隔顺序获取所述扫地机器人的位置坐标,直至得到所述扫地机器人的三个位置坐标。
本实施例中,扫地机器人包括沿墙传感器,在清扫时判断沿墙传感器当前是否满足预设的正常状态条件,可以正常运行,即沿墙传感器能够正常发出检测信号、接收反馈信号、并将反馈信号传输给扫地机器人的处理器,从而使得扫地机器人能够根据反馈信号计算出自身与墙壁之间的实时距离。如果沿墙传感器可以正常运行,则扫地机器人通过沿墙传感器进入沿墙状态,整体沿着墙壁边进行清扫。在沿墙状态下,扫地机器人的运动轨迹与墙壁边平行。扫地机器人按照预设时间间隔顺序获取自身的位置坐标,比如,预设时间间隔为5s,则扫地机器人每隔5s记录一次自身当前所处的位置坐标,直至得到三个位置坐标。后续扫地机器人可以根据这三个位置坐标是否在同一直线,来判断自身在从第一位置坐标行进到第三位置坐标的过程中是否出现了转向,即是否经过墙角。
进一步的,所述扫地机器人还包括碰撞传感器,所述判断所述沿墙传感器是否满足预设的正常状态条件的步骤之后,包括:
S104:若所述沿墙传感器不满足预设的正常状态条件,则通过所述碰撞传感器进入沿墙状态;
S105:在所述碰撞传感器每次触发时,记录所述扫地机器人当前的位置坐标,直至得到所述扫地机器人三个不同的位置坐标。
本实施例中,扫地机器人还包括碰撞传感器,扫地机器人识别沿墙传感器当前是否满足预设的正常状态条件。如果沿墙传感器失效,则扫地机器人通过碰撞传感器识别自身与墙壁之间的碰撞,从而进入沿墙状态,沿着墙壁边进行清扫。在清扫过程中,扫地机器人会与墙壁发生碰撞。在每次碰撞传感器触发,检测到扫地机器人与墙壁发生碰撞时,扫地机器人记录自身当前的位置坐标,该位置坐标即为扫地机器人与墙壁碰撞的位置坐标,直至得到三个位置坐标。后续扫地机器人可以根据这三个位置坐标是否在同一直线,来判断自身在从第一位置坐标行进到第三位置坐标的过程中是否出现了转向,即是否经过墙角。
进一步的,所述判断所述第一位置坐标、所述第二位置坐标和所述第三位置坐标是否在同一直线上的步骤,包括:
S201:对所述第一位置坐标、所述第二位置坐标和所述第三位置坐标进行计算,得到拟合直线;
S202:计算所述第一位置坐标、所述第二位置坐标和所述第三位置坐标到所述拟合直线的方差;
S203:判断所述方差是否大于阈值;
S204:若所述方差大于阈值,则判定所述第一位置坐标、所述第二位置坐标和所述第三位置坐标不是在同一直线上;
S205:若所述方差小于阈值,则判定所述第一位置坐标、所述第二位置坐标和所述第三位置坐标是在同一直线上。
本实施例中,扫地机器人获取的三个位置坐标按照获取顺序依次为第一位置坐
标、第二位置坐标和第三位置坐标。扫地机器人使用最小二乘法对第一位置坐标、第二位置
坐标和第三位置坐标进行计算,得到三者的拟合直线。具体计算过程为:已知N个点,设拟合直线的方程为,则和的计算方法
为:,。
在得到第一位置坐标、第二位置坐标和第三位置坐标所在的拟合直线后,扫地机器人计算
第一位置坐标、第二位置坐标和第三位置坐标到拟合直线的方差。其中,计算点到拟合直线
的方差的计算方法与现有技术相同,在此不做详述。扫地机器人内部预先设置有开发人员
录入的阈值,扫地机器人调取该阈值,并将上述计算得到的方差与阈值进行比对,判断两者
之间的大小。如果方差大于阈值,则扫地机器人根据现有的数学方法可以判定该拟合直线
为直线,即第一位置坐标、第二位置坐标和第三位置坐标均在同一直线上。如果方差小于阈
值,则扫地机人判定该拟合直线不是直线,即第一位置坐标、第二位置坐标和第三位置坐标
不在同一直线上。
进一步的,所述计算所述第一直线和所述第二直线的交点坐标,并将所述交点坐标标记为墙角位置坐标的步骤之后,包括:
S7:获取所述扫地机器人在所述沿墙状态时的沿墙方向,以及所述扫地机器人从所述第三位置坐标运动到所述第四位置坐标的转动方向;
S8:判断所述沿墙方向是否与所述转动方向相同;
S9:若所述沿墙方向与所述转动方向相同,则标记所述墙角位置坐标对应的墙角为凸角;
S10:若所述沿墙方向与所述转动方向不一致,则标记所述墙角位置坐标对应的墙角为凹角。
本实施例中,扫地机器人在计算得到墙角位置坐标后,需要判断该墙角位置坐标对应的墙角为凸角还是凹角。具体地,扫地机器人获取自身在沿墙状态时的沿墙方向,其中,沿墙方向是指扫地机器人贴近墙壁的方向,比如扫地机器人的右边贴近墙壁清扫,则沿墙方向为右边。并且,扫地机器人获取自身从第三位置坐标运动到第四位置坐标的转动方向,该转动方向即为扫地机器人转过墙角时的转动方向。扫地机器人判断沿墙方向与转动方向是否相同,如果两者相同,则标记该墙角为凸角;如果沿墙方向与转动方向不相同,则标记该墙角为凹角。比如,扫地机器人是右沿墙,则沿墙方向为右;扫地机器人转过墙角时是向右旋转的,则转动方向为右,与沿墙方向一致,可以判定墙角是凸角;如果扫地机器人是向左旋转,则说明墙角是凹角。扫地机人在经过凸角时,可以轻易清扫干净;而在经过凹角时,由于自身的形状和清扫轨迹为圆形,凹角为清扫死角,无法在预设的清扫轨迹中对凹角进行清扫。
进一步的,所述标记所述墙角位置坐标对应的墙角为凹角的步骤之后,包括:
S11:获取所述扫地机器人的当前位置坐标;
S12:根据所述当前位置坐标和所述墙角位置坐标,计算得到当前所述扫地机器人和所述墙角之间的相对位置,所述相对位置包括相对方向和相对距离;
S13:判断所述相对距离是否大于预设距离;
S14:若所述相对距离大于预设距离,则根据所述相对位置运动到所述墙角;
S15:根据所述相对方向,调整清扫装置至正对所述墙角,对所述墙角进行清扫。
本实施例中,扫地机器人判定墙角为凹角后,需要调整自身位置至墙角位置,对其进行清扫。具体地,扫地机器人获取自身的当前位置坐标,然后根据当前位置坐标和墙角位置坐标,计算得到当前扫地机器人和墙角之间的相对位置。其中,相对位置包括相对方向和相对距离,计算方法与现有计算坐标系中两个点之间的相对方向和相对距离相同,在此不做详述。扫地机器人内部预设录入有预设距离,该预设距离由开发人员根据扫地机器人上的清扫装置的伸出长度设定。扫地机器人判断当前的相对距离是否大于预设距离,如果相对距离不大于预设距离,则说明扫地机器人当前与墙角的距离在清扫装置的伸出长度内,此时扫地机器人只需要根据相对方向,将清扫装置调整至正对墙角的方向后,清扫装置可直接对墙角进行清扫。如果相对距离大于预设距离,则扫地机器人需要移动到墙角后才能进行清扫。扫地机器人可以直接根据相对方向调整自身的转向,然后根据相对距离直接运动到墙角位置进行清扫。扫地机器人也可以先对其它区域进行清扫,并逐渐运动到墙角附近,在确定自身与墙角的相对距离不大于预设距离后,通过清扫装置对墙角进行清扫。
进一步的,所述根据所述相对位置运动到所述墙角的步骤,包括:
S1401:根据所述相对位置将所述墙角设置为轨迹终点;
S1402:按照弓字形轨迹进行清扫,直至运动到所述相对距离不大于所述预设距离,判定所述扫地机器人运动到所述墙角。
本实施例中,扫地机器人根据相对位置将墙角设置为轨迹终点,然后自身按照弓字形轨迹进行清扫,以完成对其它区域的覆盖性清扫,并实时监测自身与墙角的相对距离,直至运动到相对距离不大于预设距离,判定自身运动到墙角,最后通过清扫装置对墙角进行清扫。
本实施例提供的一种识别墙角的方法,扫地机器人在沿墙状态下,首先按照扫地机器人的运动轨迹,顺序获取在同一直线上的三个位置坐标,确定与当前墙壁平行的第一直线。然后在监测到第四位置坐标不在第一直线上时,可以判定此时扫地机器人出现转向,后续获取与第四位置坐标在同一直线上的第五、第六位置坐标,确定与转向后的墙壁平行的第二直线,最后根据第一直线和第二直线计算得到两者之间的交点坐标,该交点坐标即对应两面墙壁的交汇处,即墙角位置。本申请通过三个位置坐标计算得到用方程式表示的第一、第二直线,再通过数学计算第一、第二直线的交点坐标,计算简单快速,对墙角位置定位精准。
参照图2,本申请一实施例中还提供了一种识别墙角的装置,应用于扫地机器人,所述装置包括:
第一获取模块1,用于在沿墙状态下,顺序获取所述扫地机器人的位置坐标,直至得到所述扫地机器人的三个位置坐标,其中,所述三个位置坐标按照获取顺序依次为第一位置坐标、第二位置坐标和第三位置坐标;
第一判断模块2,用于判断所述第一位置坐标、所述第二位置坐标和所述第三位置坐标是否在同一直线上;
第一记录模块3,用于若所述第一位置坐标、所述第二位置坐标和所述第三位置坐标是在同一直线上,则记录所述第一位置坐标、所述第二位置坐标和所述第三位置坐标所在的直线为第一直线,并继续获取所述扫地机器人的位置坐标,直至新加入的第四位置坐标不在所述第一直线上;
第二判断模块4,用于顺序获取所述扫地机器人的第五位置坐标和第六位置坐标,判断所述第四位置坐标、所述第五位置坐标和所述第六位置坐标是否在同一直线上;
第二记录模块5,用于若所述第四位置坐标、所述第五位置坐标和所述第六位置坐标是在同一直线上,则记录所述第四位置坐标、所述第五位置坐标和所述第六位置坐标所在的直线为第二直线;
第一计算模块6,用于计算所述第一直线和所述第二直线的交点坐标,并将所述交点坐标标记为墙角位置坐标。
本实施例中,扫地机器人在开始清扫时,内部构建有坐标系,以自身最开始的起点为坐标原点,从而实现对自身在房间内的位置监控。扫地机器人上安装有沿墙传感器和碰撞传感器,扫地机器人在运动到靠近墙壁时,如果沿墙传感器满足预设的正常状态条件,即沿墙传感器能够正常发出检测信号、接收反馈信号、并将反馈信号传输给扫地机器人的处理器,从而使得扫地机器人能够根据反馈信号计算出自身与墙壁之间的实时距离,则扫地机器人通过沿墙传感器实时监测与墙壁之间的距离,进入沿墙状态,与墙壁保持固定距离进行清扫。在清扫过程中,扫地机器人按照预设时间间隔顺序获取扫地机器人的位置坐标,直至得到扫地机器人的三个位置坐标,并按照获取顺序分别标记为第一位置坐标、第二位置坐标和第三位置坐标。若沿墙传感器无法正常工作,比如出现沿墙传感器无法发出检测信号、或者无法接收反馈信号、或者无法将反馈信号传输给扫地机器人的处理器等情况,从而导致扫地机器人无法通过沿墙传感器得到自身与墙壁之间的实时距离,则扫地机器人通过碰撞传感器实时监测自身与墙壁之间的碰撞,根据“基于碰撞传感器的沿墙走法”的路径规划方法,利用碰撞传感器来探测非常近距离的障碍物。如果扫地机器人在朝目标前进的过程中撞上障碍物,那么沿着障碍物的边缘走,否则直接朝着目标走,从而使得扫地机器人进入沿墙状态,贴着墙壁清扫。扫地机器人通过碰撞传感器,在每次与墙壁发生碰撞时,记录扫地机器人当前的位置坐标,直至得到扫地机器人的三个位置坐标,并按照获取顺序分别标记为第一位置坐标、第二位置坐标和第三位置坐标。扫地机器人判断第一位置坐标、第二位置坐标和第三位置坐标是否在同一直线上,若三个位置坐标不在同一直线上,则说明扫地机在从第二位置坐标运动到第三位置坐标的过程中可能经过了墙角。而由于任意两个点都能确定一条直线,因此单凭第一位置坐标和第二位置坐标所确定的直线来定位墙壁,实际上是不可行的。因此,扫地机只能重新取点,舍弃第一位置坐标和第二位置坐标,并以第三位置坐标来作为初始位置坐标,即新的第一位置坐标,并再次获取新的三个位置坐标,计算新的三个位置坐标是否在同一直线。扫地机循环执行上述步骤,直至获取到在同一直线的三个位置坐标。在实际使用中,开发人员或用户可以根据墙壁的长度来设定位置坐标的获取频率,比如墙壁长度较小时,则提高位置坐标的获取频率,从而保证扫地机能够在沿着墙壁清扫时,获取到平行于同一面墙壁的三个位置坐标,避免上述扫地机因每个位置坐标的获取间隔时间太长错过墙角,而导致第三位置坐标和第一、第二位置坐标不在同一直线,无法对错过的墙角进行定位的情况。具体地,扫地机器人判断第一位置坐标、第二位置坐标和第三位置坐标是否在同一直线上的方法为:扫地机器人使用最小二乘法对第一位置坐标、第二位置坐标和第三位置坐标进行计算,得到三者拟合直线。然后,计算第一位置坐标、第二位置坐标和第三位置坐标到拟合直线的方差。扫地机器人调用预先设定的阈值,判断方差是否大于阈值。若方差大于阈值,则扫地机器人判定该拟合直线不是直线,即第一位置坐标、第二位置坐标和第三位置坐标不是在同一直线上。若方差小于阈值,则扫地机器人判定该拟合直线是直线,即第一位置坐标、第二位置坐标和第三位置坐标是在同一直线上。扫地机器人将该拟合直线标记为第一直线,得到第一直线对应的第一方程式,并按照上述方法继续获取扫地机器人的位置坐标,以及判断新加入的位置坐标是否位于第一直线上。若扫地机器人监测到新获取的第四位置坐标不在第一直线上,则说明扫地机器人在从上一个位置坐标运动到第四位置坐标时发生了转向,即扫地机器人有可能经过了墙角。此时,扫地机器人按照上述方法顺序获取第四位置坐标之后的第五位置坐标和第六位置坐标,并按照计算拟合直线、计算点到拟合直线的方差以及与阈值之间的大小比对,判断第四位置坐标、第五位置坐标和第六位置坐标是否在同一直线上。如果第四位置坐标、第五位置坐标和第六位置坐标不在同一直线上,则说明扫地机当前可能再次发生转向,经过了墙角。为了识别出第三位置坐标和第四位置坐标之间的墙角坐标,扫地机增大自身获取位置坐标的获取频率,缩短位置坐标的获取间隔,避免因此墙壁长度过小而无法获取到足够的位置坐标点来拟合直线。并重新回到第四位置坐标,再次获取新的第五、第六位置坐标,与第四位置坐标组成新的三个位置坐标,循环上述的直线判断方法,直至得到扫地机在转向后的、位于同一直线的三个位置坐标。如果第四位置坐标、第五位置坐标和第六位置坐标在同一直线上,则扫地机器人记录三者所在的同一直线为第二直线,并得到第二直线对应的第二方程式。扫地机器人按照数学方法,通过第一方程式和第二方程式,计算得到第一直线和第二直线的交点坐标。比如,假设第一方程式为:A1x+B1y+C1=0,第二方程式为A2x+B2y+C2=0,将两个方程式联立,求出x和y的值即可得到交点坐标。由于第一直线、第二直线分别代表扫地机器人在转向前所沿的墙壁、扫地机器人在转向后所沿的墙壁,因此,第一直线和第二直线的交点坐标即为两面墙壁的交汇处,墙角位置坐标。
进一步的,所述扫地机器人包括沿墙传感器,所述第一获取模块1,包括:
第一判断单元,用于判断所述沿墙传感器是否满足预设的正常状态条件;
第一判定单元,用于若所述沿墙传感器满足预设的正常状态条件,则通过所述沿墙传感器进入沿墙状态;
获取单元,用于按照预设时间间隔顺序获取所述扫地机器人的位置坐标,直至得到所述扫地机器人的三个位置坐标。
本实施例中,扫地机器人包括沿墙传感器,在清扫时判断沿墙传感器当前是否满足预设的正常状态条件,可以正常运行,即沿墙传感器能够正常发出检测信号、接收反馈信号、并将反馈信号传输给扫地机器人的处理器,从而使得扫地机器人能够根据反馈信号计算出自身与墙壁之间的实时距离。如果沿墙传感器可以正常运行,则扫地机器人通过沿墙传感器进入沿墙状态,整体沿着墙壁边进行清扫。在沿墙状态下,扫地机器人的运动轨迹与墙壁边平行。扫地机器人按照预设时间间隔顺序获取自身的位置坐标,比如,预设时间间隔为5s,则扫地机器人每隔5s记录一次自身当前所处的位置坐标,直至得到三个位置坐标。后续扫地机器人可以根据这三个位置坐标是否在同一直线,来判断自身在从第一位置坐标行进到第三位置坐标的过程中是否出现了转向,即是否经过墙角。
进一步的,所述扫地机器人还包括碰撞传感器,所述第一获取模块1,还包括:
第二判定单元,用于若所述沿墙传感器不满足预设的正常状态条件,则通过所述碰撞传感器进入沿墙状态;
记录单元,用于在所述碰撞传感器每次触发时,记录所述扫地机器人当前的位置坐标,直至得到所述扫地机器人三个不同的位置坐标。
本实施例中,扫地机器人还包括碰撞传感器,扫地机器人识别沿墙传感器当前是否满足预设的正常状态条件。如果沿墙传感器失效,则扫地机器人通过碰撞传感器识别自身与墙壁之间的碰撞,从而进入沿墙状态,沿着墙壁边进行清扫。在清扫过程中,扫地机器人会与墙壁发生碰撞。在每次碰撞传感器触发,检测到扫地机器人与墙壁发生碰撞时,扫地机器人记录自身当前的位置坐标,该位置坐标即为扫地机器人与墙壁碰撞的位置坐标,直至得到三个位置坐标。后续扫地机器人可以根据这三个位置坐标是否在同一直线,来判断自身在从第一位置坐标行进到第三位置坐标的过程中是否出现了转向,即是否经过墙角。
进一步的,所述第一判断模块2,包括:
第一计算单元,用于对所述第一位置坐标、所述第二位置坐标和所述第三位置坐标进行计算,得到拟合直线;
第二计算单元,用于计算所述第一位置坐标、所述第二位置坐标和所述第三位置坐标到所述拟合直线的方差;
第二判断单元,用于判断所述方差是否大于阈值;
第三判定单元,用于若所述方差大于阈值,则判定所述第一位置坐标、所述第二位置坐标和所述第三位置坐标不是在同一直线上;
第四判定单元,用于若所述方差小于阈值,则判定所述第一位置坐标、所述第二位置坐标和所述第三位置坐标是在同一直线上。
本实施例中,扫地机器人获取的三个位置坐标按照获取顺序依次为第一位置坐
标、第二位置坐标和第三位置坐标。扫地机器人使用最小二乘法对第一位置坐标、第二位置
坐标和第三位置坐标进行计算,得到三者的拟合直线。具体计算过程为:已知N个点,设拟合直线的方程为,则和的计算方法
为:,。
在得到第一位置坐标、第二位置坐标和第三位置坐标所在的拟合直线后,扫地机器人计算
第一位置坐标、第二位置坐标和第三位置坐标到拟合直线的方差。其中,计算点到拟合直线
的方差的计算方法与现有技术相同,在此不做详述。扫地机器人内部预先设置有开发人员
录入的阈值,扫地机器人调取该阈值,并将上述计算得到的方差与阈值进行比对,判断两者
之间的大小。如果方差大于阈值,则扫地机器人根据现有的数学方法可以判定该拟合直线
为直线,即第一位置坐标、第二位置坐标和第三位置坐标均在同一直线上。如果方差小于阈
值,则扫地机人判定该拟合直线不是直线,即第一位置坐标、第二位置坐标和第三位置坐标
不在同一直线上。
进一步的,所述装置,还包括:
第二获取模块7,用于获取所述扫地机器人在所述沿墙状态时的沿墙方向,以及所述扫地机器人从所述第三位置坐标运动到所述第四位置坐标的转动方向;
第三判断模块8,用于判断所述沿墙方向是否与所述转动方向相同;
第一标记模块9,用于若所述沿墙方向与所述转动方向相同,则标记所述墙角位置坐标对应的墙角为凸角;
第二标记模块10,用于若所述沿墙方向与所述转动方向不一致,则标记所述墙角位置坐标对应的墙角为凹角。
本实施例中,扫地机器人在计算得到墙角位置坐标后,需要判断该墙角位置坐标对应的墙角为凸角还是凹角。具体地,扫地机器人获取自身在沿墙状态时的沿墙方向,其中,沿墙方向是指扫地机器人贴近墙壁的方向,比如扫地机器人的右边贴近墙壁清扫,则沿墙方向为右边。并且,扫地机器人获取自身从第三位置坐标运动到第四位置坐标的转动方向,该转动方向即为扫地机器人转过墙角时的转动方向。扫地机器人判断沿墙方向与转动方向是否相同,如果两者相同,则标记该墙角为凸角;如果沿墙方向与转动方向不相同,则标记该墙角为凹角。比如,扫地机器人是右沿墙,则沿墙方向为右;扫地机器人转过墙角时是向右旋转的,则转动方向为右,与沿墙方向一致,可以判定墙角是凸角;如果扫地机器人是向左旋转,则说明墙角是凹角。扫地机人在经过凸角时,可以轻易清扫干净;而在经过凹角时,由于自身的形状和清扫轨迹为圆形,凹角为清扫死角,无法在预设的清扫轨迹中对凹角进行清扫。
进一步的,所述装置,还包括:
第三获取模块11,用于获取所述扫地机器人的当前位置坐标;
第二计算模块12,用于根据所述当前位置坐标和所述墙角位置坐标,计算得到当前所述扫地机器人和所述墙角之间的相对位置,所述相对位置包括相对方向和相对距离;
第四判断模块13,用于判断所述相对距离是否大于预设距离;
运动模块14,用于若所述相对距离大于预设距离,则根据所述相对位置运动到所述墙角;
清扫模块15,用于根据所述相对方向,调整清扫装置至正对所述墙角,对所述墙角进行清扫。
本实施例中,扫地机器人判定墙角为凹角后,需要调整自身位置至墙角位置,对其进行清扫。具体地,扫地机器人获取自身的当前位置坐标,然后根据当前位置坐标和墙角位置坐标,计算得到当前扫地机器人和墙角之间的相对位置。其中,相对位置包括相对方向和相对距离,计算方法与现有计算坐标系中两个点之间的相对方向和相对距离相同,在此不做详述。扫地机器人内部预设录入有预设距离,该预设距离由开发人员根据扫地机器人上的清扫装置的伸出长度设定。扫地机器人判断当前的相对距离是否大于预设距离,如果相对距离不大于预设距离,则说明扫地机器人当前与墙角的距离在清扫装置的伸出长度内,此时扫地机器人只需要根据相对方向,将清扫装置调整至正对墙角的方向后,清扫装置可直接对墙角进行清扫。如果相对距离大于预设距离,则扫地机器人需要移动到墙角后才能进行清扫。扫地机器人可以直接根据相对方向调整自身的转向,然后根据相对距离直接运动到墙角位置进行清扫。扫地机器人也可以先对其它区域进行清扫,并逐渐运动到墙角附近,在确定自身与墙角的相对距离不大于预设距离后,通过清扫装置对墙角进行清扫。
进一步的,所述运动模块14,包括:
设置单元,用于根据所述相对位置将所述墙角设置为轨迹终点;
第五判定单元,用于按照弓字形轨迹进行清扫,直至运动到所述相对距离不大于所述预设距离,判定所述扫地机器人运动到所述墙角。
本实施例中,扫地机器人根据相对位置将墙角设置为轨迹终点,然后自身按照弓字形轨迹进行清扫,以完成对其它区域的覆盖性清扫,并实时监测自身与墙角的相对距离,直至运动到相对距离不大于预设距离,判定自身运动到墙角,最后通过清扫装置对墙角进行清扫。
本实施例提供的一种识别墙角的装置,扫地机器人在沿墙状态下,首先按照扫地机器人的运动轨迹,顺序获取在同一直线上的三个位置坐标,确定与当前墙壁平行的第一直线。然后在监测到第四位置坐标不在第一直线上时,可以判定此时扫地机器人出现转向,后续获取与第四位置坐标在同一直线上的第五、第六位置坐标,确定与转向后的墙壁平行的第二直线,最后根据第一直线和第二直线计算得到两者之间的交点坐标,该交点坐标即对应两面墙壁的交汇处,即墙角位置。本申请通过三个位置坐标计算得到用方程式表示的第一、第二直线,再通过数学计算第一、第二直线的交点坐标,计算简单快速,对墙角位置定位精准。
参照图3,本申请实施例中还提供一种计算机设备,该计算机设备可以是服务器,其内部结构可以如图3所示。该计算机设备包括通过***总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设计的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作***、计算机程序和数据库。该内存储器为非易失性存储介质中的操作***和计算机程序的运行提供环境。该计算机设备的数据库用于存储阈值等数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种识别墙角的方法,应用于扫地机器人。
上述处理器执行上述识别墙角的方法的步骤:
S1:在沿墙状态下,顺序获取所述扫地机器人的位置坐标,直至得到所述扫地机器人的三个位置坐标,其中,所述三个位置坐标按照获取顺序依次为第一位置坐标、第二位置坐标和第三位置坐标;
S2:判断所述第一位置坐标、所述第二位置坐标和所述第三位置坐标是否在同一直线上;
S3:若所述第一位置坐标、所述第二位置坐标和所述第三位置坐标是在同一直线上,则记录所述第一位置坐标、所述第二位置坐标和所述第三位置坐标所在的直线为第一直线,并继续获取所述扫地机器人的位置坐标,直至新加入的第四位置坐标不在所述第一直线上;
S4:顺序获取所述扫地机器人的第五位置坐标和第六位置坐标,判断所述第四位置坐标、所述第五位置坐标和所述第六位置坐标是否在同一直线上;
S5:若所述第四位置坐标、所述第五位置坐标和所述第六位置坐标是在同一直线上,则记录所述第四位置坐标、所述第五位置坐标和所述第六位置坐标所在的直线为第二直线;
S6:计算所述第一直线和所述第二直线的交点坐标,并将所述交点坐标标记为墙角位置坐标。
进一步的,所述扫地机器人包括沿墙传感器,所述在沿墙状态下,顺序获取所述扫地机器人的位置坐标,直至得到所述扫地机器人的三个位置坐标的步骤,包括:
S101:判断所述沿墙传感器是否满足预设的正常状态条件;
S102:若所述沿墙传感器满足预设的正常状态条件,则通过所述沿墙传感器进入沿墙状态;
S103:按照预设时间间隔顺序获取所述扫地机器人的位置坐标,直至得到所述扫地机器人的三个位置坐标。
进一步的,所述扫地机器人还包括碰撞传感器,所述判断所述沿墙传感器是否满足预设的正常状态条件的步骤之后,包括:
S104:若所述沿墙传感器不满足预设的正常状态条件,则通过所述碰撞传感器进入沿墙状态;
S105:在所述碰撞传感器每次触发时,记录所述扫地机器人当前的位置坐标,直至得到所述扫地机器人三个不同的位置坐标。
进一步的,所述判断所述第一位置坐标、所述第二位置坐标和所述第三位置坐标是否在同一直线上的步骤,包括:
S201:对所述第一位置坐标、所述第二位置坐标和所述第三位置坐标进行计算,得到拟合直线;
S202:计算所述第一位置坐标、所述第二位置坐标和所述第三位置坐标到所述拟合直线的方差;
S203:判断所述方差是否大于阈值;
S204:若所述方差大于阈值,则判定所述第一位置坐标、所述第二位置坐标和所述第三位置坐标不是在同一直线上;
S205:若所述方差小于阈值,则判定所述第一位置坐标、所述第二位置坐标和所述第三位置坐标是在同一直线上。
进一步的,所述计算所述第一直线和所述第二直线的交点坐标,并将所述交点坐标标记为墙角位置坐标的步骤之后,包括:
S7:获取所述扫地机器人在所述沿墙状态时的沿墙方向,以及所述扫地机器人从所述第三位置坐标运动到所述第四位置坐标的转动方向;
S8:判断所述沿墙方向是否与所述转动方向相同;
S9:若所述沿墙方向与所述转动方向相同,则标记所述墙角位置坐标对应的墙角为凸角;
S10:若所述沿墙方向与所述转动方向不一致,则标记所述墙角位置坐标对应的墙角为凹角。
进一步的,所述标记所述墙角位置坐标对应的墙角为凹角的步骤之后,包括:
S11:获取所述扫地机器人的当前位置坐标;
S12:根据所述当前位置坐标和所述墙角位置坐标,计算得到当前所述扫地机器人和所述墙角之间的相对位置,所述相对位置包括相对方向和相对距离;
S13:判断所述相对距离是否大于预设距离;
S14:若所述相对距离大于预设距离,则根据所述相对位置运动到所述墙角;
S15:根据所述相对方向,调整清扫装置至正对所述墙角,对所述墙角进行清扫。
进一步的,所述根据所述相对位置运动到所述墙角的步骤,包括:
S1401:根据所述相对位置将所述墙角设置为轨迹终点;
S1402:按照弓字形轨迹进行清扫,直至运动到所述相对距离不大于所述预设距离,判定所述扫地机器人运动到所述墙角。
本申请一实施例还提供一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现一种一种识别墙角的方法,应用于扫地机器人,具体为:
S1:在沿墙状态下,顺序获取所述扫地机器人的位置坐标,直至得到所述扫地机器人的三个位置坐标,其中,所述三个位置坐标按照获取顺序依次为第一位置坐标、第二位置坐标和第三位置坐标;
S2:判断所述第一位置坐标、所述第二位置坐标和所述第三位置坐标是否在同一直线上;
S3:若所述第一位置坐标、所述第二位置坐标和所述第三位置坐标是在同一直线上,则记录所述第一位置坐标、所述第二位置坐标和所述第三位置坐标所在的直线为第一直线,并继续获取所述扫地机器人的位置坐标,直至新加入的第四位置坐标不在所述第一直线上;
S4:顺序获取所述扫地机器人的第五位置坐标和第六位置坐标,判断所述第四位置坐标、所述第五位置坐标和所述第六位置坐标是否在同一直线上;
S5:若所述第四位置坐标、所述第五位置坐标和所述第六位置坐标是在同一直线上,则记录所述第四位置坐标、所述第五位置坐标和所述第六位置坐标所在的直线为第二直线;
S6:计算所述第一直线和所述第二直线的交点坐标,并将所述交点坐标标记为墙角位置坐标。
进一步的,所述扫地机器人包括沿墙传感器,所述在沿墙状态下,顺序获取所述扫地机器人的位置坐标,直至得到所述扫地机器人的三个位置坐标的步骤,包括:
S101:判断所述沿墙传感器是否满足预设的正常状态条件;
S102:若所述沿墙传感器满足预设的正常状态条件,则通过所述沿墙传感器进入沿墙状态;
S103:按照预设时间间隔顺序获取所述扫地机器人的位置坐标,直至得到所述扫地机器人的三个位置坐标。
进一步的,所述扫地机器人还包括碰撞传感器,所述判断所述沿墙传感器是否满足预设的正常状态条件的步骤之后,包括:
S104:若所述沿墙传感器不满足预设的正常状态条件,则通过所述碰撞传感器进入沿墙状态;
S105:在所述碰撞传感器每次触发时,记录所述扫地机器人当前的位置坐标,直至得到所述扫地机器人三个不同的位置坐标。
进一步的,所述判断所述第一位置坐标、所述第二位置坐标和所述第三位置坐标是否在同一直线上的步骤,包括:
S201:对所述第一位置坐标、所述第二位置坐标和所述第三位置坐标进行计算,得到拟合直线;
S202:计算所述第一位置坐标、所述第二位置坐标和所述第三位置坐标到所述拟合直线的方差;
S203:判断所述方差是否大于阈值;
S204:若所述方差大于阈值,则判定所述第一位置坐标、所述第二位置坐标和所述第三位置坐标不是在同一直线上;
S205:若所述方差小于阈值,则判定所述第一位置坐标、所述第二位置坐标和所述第三位置坐标是在同一直线上。
进一步的,所述计算所述第一直线和所述第二直线的交点坐标,并将所述交点坐标标记为墙角位置坐标的步骤之后,包括:
S7:获取所述扫地机器人在所述沿墙状态时的沿墙方向,以及所述扫地机器人从所述第三位置坐标运动到所述第四位置坐标的转动方向;
S8:判断所述沿墙方向是否与所述转动方向相同;
S9:若所述沿墙方向与所述转动方向相同,则标记所述墙角位置坐标对应的墙角为凸角;
S10:若所述沿墙方向与所述转动方向不一致,则标记所述墙角位置坐标对应的墙角为凹角。
进一步的,所述标记所述墙角位置坐标对应的墙角为凹角的步骤之后,包括:
S11:获取所述扫地机器人的当前位置坐标;
S12:根据所述当前位置坐标和所述墙角位置坐标,计算得到当前所述扫地机器人和所述墙角之间的相对位置,所述相对位置包括相对方向和相对距离;
S13:判断所述相对距离是否大于预设距离;
S14:若所述相对距离大于预设距离,则根据所述相对位置运动到所述墙角;
S15:根据所述相对方向,调整清扫装置至正对所述墙角,对所述墙角进行清扫。
进一步的,所述根据所述相对位置运动到所述墙角的步骤,包括:
S1401:根据所述相对位置将所述墙角设置为轨迹终点;
S1402:按照弓字形轨迹进行清扫,直至运动到所述相对距离不大于所述预设距离,判定所述扫地机器人运动到所述墙角。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储与一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的和实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可以包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM通过多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双速据率SDRAM(SSRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其它变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、装置、物品或者方法不仅包括那些要素,而且还包括没有明确列出的其它要素,或者是还包括为这种过程、装置、物品或者方法所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、装置、物品或者方法中还存在另外的相同要素。
以上所述仅为本申请的优选实施例,并非因此限制本申请的专利范围,凡是利用本申请说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其它相关的技术领域,均同理包括在本申请的专利保护范围内。
Claims (10)
1.一种识别墙角的方法,其特征在于,应用于扫地机器人,所述方法包括:
在沿墙状态下,顺序获取所述扫地机器人的位置坐标,直至得到所述扫地机器人的三个位置坐标,其中,所述三个位置坐标按照获取顺序依次为第一位置坐标、第二位置坐标和第三位置坐标;
根据下述公式,对所述第一位置坐标、所述第二位置坐标和所述第三位置坐标进行计算,得到拟合直线:
根据所述拟合直线判断所述第一位置坐标、所述第二位置坐标和所述第三位置坐标是否在同一直线上;
若所述第一位置坐标、所述第二位置坐标和所述第三位置坐标是在同一直线上,则记录所述第一位置坐标、所述第二位置坐标和所述第三位置坐标所在的直线为第一直线,并继续获取所述扫地机器人的位置坐标,直至新加入的第四位置坐标不在所述第一直线上;
顺序获取所述扫地机器人的第五位置坐标和第六位置坐标,判断所述第四位置坐标、所述第五位置坐标和所述第六位置坐标是否在同一直线上;
若所述第四位置坐标、所述第五位置坐标和所述第六位置坐标是在同一直线上,则记录所述第四位置坐标、所述第五位置坐标和所述第六位置坐标所在的直线为第二直线;
计算所述第一直线和所述第二直线的交点坐标,并将所述交点坐标标记为墙角位置坐标。
2.根据权利要求1所述的识别墙角的方法,其特征在于,所述扫地机器人包括沿墙传感器,所述在沿墙状态下,顺序获取所述扫地机器人的位置坐标,直至得到所述扫地机器人的三个位置坐标的步骤,包括:
判断所述沿墙传感器是否满足预设的正常状态条件;
若所述沿墙传感器满足预设的正常状态条件,则通过所述沿墙传感器进入沿墙状态;
按照预设时间间隔顺序获取所述扫地机器人的位置坐标,直至得到所述扫地机器人的三个位置坐标。
3.根据权利要求2所述的识别墙角的方法,其特征在于,所述扫地机器人还包括碰撞传感器,所述判断所述沿墙传感器是否满足预设的正常状态条件的步骤之后,包括:
若所述沿墙传感器不满足预设的正常状态条件,则通过所述碰撞传感器进入沿墙状态;
在所述碰撞传感器每次触发时,记录所述扫地机器人当前的位置坐标,直至得到所述扫地机器人三个不同的位置坐标。
4.根据权利要求1所述的识别墙角的方法,其特征在于,所述根据所述拟合直线判断所述第一位置坐标、所述第二位置坐标和所述第三位置坐标是否在同一直线上的步骤,包括:
计算所述第一位置坐标、所述第二位置坐标和所述第三位置坐标到所述拟合直线的方差;
判断所述方差是否大于阈值;
若所述方差大于阈值,则判定所述第一位置坐标、所述第二位置坐标和所述第三位置坐标不是在同一直线上;
若所述方差小于阈值,则判定所述第一位置坐标、所述第二位置坐标和所述第三位置坐标是在同一直线上。
5.根据权利要求1所述的识别墙角的方法,其特征在于,所述计算所述第一直线和所述第二直线的交点坐标,并将所述交点坐标标记为墙角位置坐标的步骤之后,包括:
获取所述扫地机器人在所述沿墙状态时的沿墙方向,以及所述扫地机器人从所述第三位置坐标运动到所述第四位置坐标的转动方向;
判断所述沿墙方向是否与所述转动方向相同;
若所述沿墙方向与所述转动方向相同,则标记所述墙角位置坐标对应的墙角为凸角;
若所述沿墙方向与所述转动方向不一致,则标记所述墙角位置坐标对应的墙角为凹角。
6.根据权利要求5所述的识别墙角的方法,其特征在于,所述标记所述墙角位置坐标对应的墙角为凹角的步骤之后,包括:
获取所述扫地机器人的当前位置坐标;
根据所述当前位置坐标和所述墙角位置坐标,计算得到当前所述扫地机器人和所述墙角之间的相对位置,所述相对位置包括相对方向和相对距离;
判断所述相对距离是否大于预设距离;
若所述相对距离大于预设距离,则根据所述相对位置运动到所述墙角;
根据所述相对方向,调整清扫装置至正对所述墙角,对所述墙角进行清扫。
7.根据权利要求6所述的识别墙角的方法,其特征在于,所述根据所述相对位置运动到所述墙角的步骤,包括:
根据所述相对位置将所述墙角设置为轨迹终点;
按照弓字形轨迹进行清扫,直至运动到所述相对距离不大于所述预设距离,判定所述扫地机器人运动到所述墙角。
8.一种识别墙角的装置,其特征在于,应用于扫地机器人,所述装置包括:
第一获取模块,用于在沿墙状态下,顺序获取所述扫地机器人的位置坐标,直至得到所述扫地机器人的三个位置坐标,其中,所述三个位置坐标按照获取顺序依次为第一位置坐标、第二位置坐标和第三位置坐标;
第一计算单元,用于根据下述公式,对所述第一位置坐标、所述第二位置坐标和所述第三位置坐标进行计算,得到拟合直线:
第一判断模块,用于根据所述拟合直线判断所述第一位置坐标、所述第二位置坐标和所述第三位置坐标是否在同一直线上;
第一记录模块,用于若所述第一位置坐标、所述第二位置坐标和所述第三位置坐标是在同一直线上,则记录所述第一位置坐标、所述第二位置坐标和所述第三位置坐标所在的直线为第一直线,并继续获取所述扫地机器人的位置坐标,直至新加入的第四位置坐标不在所述第一直线上;
第二判读模块,用于顺序获取所述扫地机器人的第五位置坐标和第六位置坐标,判断所述第四位置坐标、所述第五位置坐标和所述第六位置坐标是否在同一直线上;
第二记录模块,用于若所述第四位置坐标、所述第五位置坐标和所述第六位置坐标是在同一直线上,则记录所述第四位置坐标、所述第五位置坐标和所述第六位置坐标所在的直线为第二直线;
第一计算模块,用于计算所述第一直线和所述第二直线的交点坐标,并将所述交点坐标标记为墙角位置坐标。
9.一种计算机设备,包括存储器和处理器,所述存储器中存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至7中任一项所述方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010007032.XA CN111178315B (zh) | 2020-01-03 | 2020-01-03 | 识别墙角的方法、装置和计算机设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010007032.XA CN111178315B (zh) | 2020-01-03 | 2020-01-03 | 识别墙角的方法、装置和计算机设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111178315A CN111178315A (zh) | 2020-05-19 |
CN111178315B true CN111178315B (zh) | 2023-03-14 |
Family
ID=70654446
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010007032.XA Active CN111178315B (zh) | 2020-01-03 | 2020-01-03 | 识别墙角的方法、装置和计算机设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111178315B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111759231A (zh) * | 2020-06-28 | 2020-10-13 | 深圳拓邦股份有限公司 | 清洁设备的控制方法与清洁设备 |
CN112948927B (zh) * | 2021-02-25 | 2022-07-22 | 晟通科技集团有限公司 | 建筑墙角判断方法、计算机装置及存储介质 |
CN112947478B (zh) * | 2021-03-23 | 2024-02-06 | 深圳市云鼠科技开发有限公司 | 机器人绕柱脱困方法、装置、计算机设备及存储介质 |
CN113344265B (zh) * | 2021-05-28 | 2023-04-04 | 深圳市无限动力发展有限公司 | 轨迹闭合判断方法、装置、计算机设备和存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004251875A (ja) * | 2002-12-27 | 2004-09-09 | Kyokuto Sanki Co Ltd | 部屋の寸法測定装置および方法 |
CN109637339A (zh) * | 2018-11-19 | 2019-04-16 | 深圳市海柔创新科技有限公司 | 地图生成方法、装置、计算机可读存储介质和计算机设备 |
CN110253579A (zh) * | 2019-06-24 | 2019-09-20 | 合肥工业大学 | 基于圆弧特征提取的机器人定位方法、装置、设备及介质 |
-
2020
- 2020-01-03 CN CN202010007032.XA patent/CN111178315B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004251875A (ja) * | 2002-12-27 | 2004-09-09 | Kyokuto Sanki Co Ltd | 部屋の寸法測定装置および方法 |
CN109637339A (zh) * | 2018-11-19 | 2019-04-16 | 深圳市海柔创新科技有限公司 | 地图生成方法、装置、计算机可读存储介质和计算机设备 |
CN110253579A (zh) * | 2019-06-24 | 2019-09-20 | 合肥工业大学 | 基于圆弧特征提取的机器人定位方法、装置、设备及介质 |
Non-Patent Citations (1)
Title |
---|
机器人局部环境特征提取方法的研究;黄明登等;《计算机测量与控制》;20070225;第15卷(第02期);第104-107页 * |
Also Published As
Publication number | Publication date |
---|---|
CN111178315A (zh) | 2020-05-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111178315B (zh) | 识别墙角的方法、装置和计算机设备 | |
CN110448241B (zh) | 机器人被困检测及脱困方法 | |
CN108209741B (zh) | 清洁机器人控制方法和清洁机器人 | |
CN110269550B (zh) | 一种门位置识别方法以及移动机器人 | |
CN108733061B (zh) | 一种清扫作业的路径修正方法 | |
CN113475977B (zh) | 机器人路径规划方法、装置及机器人 | |
CN102138769A (zh) | 清洁机器人及其清扫方法 | |
CN107643750B (zh) | 智能行走设备斜坡的识别方法及其智能行走设备 | |
US20210213619A1 (en) | Robot and control method therefor | |
CN113261879B (zh) | 角落清洁方法、装置、计算机设备和存储介质 | |
KR101167627B1 (ko) | 이동 로봇의 위치 및 지도의 이중 보정 장치 및 방법 | |
JP2014203145A (ja) | 自律移動装置 | |
CN113503877A (zh) | 机器人分区地图建立方法、装置及机器人 | |
CN111240308A (zh) | 重复绕障的检测方法、装置、电子设备及可读存储介质 | |
CN114779777A (zh) | 自移动机器人的传感器控制方法、装置、介质及机器人 | |
CN115167427A (zh) | 一种视觉障碍物识别方法、***及割草机器人 | |
CN114153197A (zh) | 自主移动设备的脱困方法及装置 | |
CN116919247A (zh) | 贴边识别方法、装置、计算机设备及介质 | |
EP4390313A1 (en) | Navigation method and self-propelled apparatus | |
CN117008597A (zh) | 用于自移动机器人的避障方法及装置 | |
CN114564022A (zh) | 一种机器人碰撞处理方法及装置 | |
CN114594758A (zh) | 自动行走设备用地图的边界确定方法及装置 | |
CN115191890B (zh) | 清洁机器人的控制方法、清洁机器人及存储介质 | |
CN115326078B (zh) | 一种路径导航方法、装置、智能扫洗机器人及存储介质 | |
CN114794986B (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 |