掌桥专利:专业的专利平台
掌桥专利
首页

机器人绕柱脱困方法、装置、计算机设备及存储介质

文献发布时间:2023-06-19 11:22:42


机器人绕柱脱困方法、装置、计算机设备及存储介质

技术领域

本申请涉及机器人导航技术领域,尤其涉及机器人绕柱脱困方法、装置、计算机设备及存储介质。

背景技术

扫地机器人能够自主的对一个区域进行清扫,大大降低了清洁工作所需消耗的人力。扫地机器人对待清洁区域的遍历通过自行绘制的地图导航进行,在实际工作过程当中,待清洁区域的物料摆放是复杂的,容易对扫地机器人的行进造成干扰,扫地机器人在工作过程中,需要进入沿墙模式,以实现对清洁区域的边角区域进行完整的清洁,或者自行回充座进行充电,在此过程当中,扫地机器人通过信号发射器发射信号,并接收墙壁返回信号,根据墙壁返回的信号保持与墙壁平行并且贴合的方式行进的,因此在沿墙的状态下,扫地机器人有概率因受到干扰偏离沿墙路线,而行进到墙壁附近的柱状障碍物附近,并且将柱状障碍物识别为墙壁,绕柱行走而受困,典型的受困场景包括比较粗的桌腿,凳子,沙发脚托,衣架,花架子等,如果在上述环境中形成了绕柱,扫地机器人在沿墙状态下会持续绕柱动作,从而无法正常清洁待清洁区域。

发明内容

本申请实施例的目的在于提出一种控制扫地机器人在绕柱的状态下自动识别绕柱状态并且脱困的方案。

为了解决上述技术问题,本申请实施例提供一种机器人绕柱脱困方法,采用了如下所述的技术方案:

机器人绕柱脱困方法,包括下述步骤:

在沿墙状态下,连续记录扫地机器人在清洁区域中的坐标和前进方向角度;

如果扫地机器人在已经过的坐标上重复运行,标记当前坐标为检测坐标,并且进入监测状态;

在监测状态下,如果扫地机器人在已经过的坐标上重复运行,则进入回复状态;

在回复状态下,控制扫地机器人运行到检测坐标,并且根据连续记录的所述坐标,控制扫地机器人沿首次运行到所述检测坐标之前的坐标反向行走,直到发生碰撞;

根据当前坐标更新所述检测坐标,并且恢复到沿墙状态,如果扫地机器人在预设运行距离内在所述检测坐标上重复运行,则进入监测状态,直到在沿墙状态下扫地机器人在预设运行距离内没有出现重复运行,清空所述检测坐标。

进一步的,所述步骤如果扫地机器人在已经过的坐标上重复运行,标记当前坐标为检测坐标,并且进入监测状态,具体包括:

根据扫地机器人在一个所述坐标上重复出现,获取扫地机器人在所述坐标上两次出现之间扫地机器人的前进方向角度变化量;

根据所述扫地机器人的前进方向角度变化量为一周,确定扫地机器人绕柱;

标记当前坐标为检测坐标,并且进入监测状态。

进一步的,所述步骤根据扫地机器人在一个所述坐标上重复出现,获取扫地机器人在所述坐标上两次出现之间扫地机器人的前进方向角度变化量之后,步骤根据所述扫地机器人的前进方向角度变化量为一周,确定扫地机器人绕柱之前,该方法还包括;

根据扫地机器人的沿墙方向,确定机器人绕柱时的角度变化方向为顺时针或逆时针;

根据扫地机器人的前进方向的所述角度变化量,确定所述角度变化量匹配机器人绕柱时的角度变化方向。

进一步的,所述步骤在回复状态下,控制扫地机器人运行到检测坐标,并且根据连续记录的所述坐标,控制扫地机器人沿首次运行到所述检测坐标之前的坐标反向行走,直到发生碰撞之后,该方法还包括:

根据当前坐标更新所述检测坐标,并且恢复到沿墙状态,如果扫地机器人在预设运行距离内在已经经过的坐标上重复运行,并且当前坐标与检测坐标不一致,根据当前坐标更新检测坐标,并且进入监测状态。

为了解决上述技术问题,本申请实施例还提供一种机器人绕柱脱困装置,采用了如下所述的技术方案:

机器人绕柱脱困装置,包括:

记录单元:用于在沿墙状态下,连续记录扫地机器人在清洁区域中的坐标和前进方向角度;

重复检测单元,用于如果扫地机器人在已经过的坐标上重复运行,标记当前坐标为检测坐标,并且进入监测状态;

位置对比单元,用于在监测状态下,如果扫地机器人在已经过的坐标上重复运行,则进入回复状态;

位置回复单元,用于在回复状态下,控制扫地机器人运行到检测坐标,并且根据连续记录的所述坐标,控制扫地机器人沿首次运行到所述检测坐标之前的坐标反向行走,直到发生碰撞;

沿墙回复单元,用于根据当前坐标更新所述检测坐标,并且恢复到沿墙状态,如果扫地机器人在预设运行距离内在所述检测坐标上重复运行,则进入监测状态,直到在沿墙状态下扫地机器人在预设运行距离内没有出现重复运行,清空所述检测坐标。

进一步的,所述位置对比单元,具体包括:

角度变化量获取子单元,用于根据扫地机器人在一个所述坐标上重复出现,获取扫地机器人在所述坐标上两次出现之间扫地机器人的前进方向角度变化量;

绕柱确定子单元,用于根据所述扫地机器人的前进方向角度变化量为一周,确定扫地机器人绕柱;

监测状态进入子单元,用于标记当前坐标为检测坐标,并且进入监测状态。

进一步的,位置对比单元,还包括;

方向确定子单元,用于根据扫地机器人的沿墙方向,确定机器人绕柱时的角度变化方向为顺时针或逆时针;

方向对比子单元,用于根据扫地机器人的前进方向的所述角度变化量,确定所述角度变化量匹配机器人绕柱时的角度变化方向。

进一步的,该方案还包括:

检测点调整单元,用于根据当前坐标更新所述检测坐标,并且恢复到沿墙状态,如果扫地机器人在预设运行距离内在已经经过的坐标上重复运行,并且当前坐标与检测坐标不一致,根据当前坐标更新检测坐标,并且进入监测状态。

为了解决上述技术问题,本申请实施例还提供一种计算机设备,采用了如下所述的技术方案:

一种计算机设备,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器执行所述计算机程序时实现如上所述的机器人绕柱脱困方法的步骤。

为了解决上述技术问题,本申请实施例还提供一种计算机可读存储介质,采用了如下所述的技术方案:

一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上所述的机器人绕柱脱困方法的步骤。

与现有技术相比,本申请实施例主要有以下有益效果:通过设置监测状态,并且在扫地机器人在清洁区域中的一个坐标下出现两次的状态下,进入监测状态,之后,如果监测扫地机器人是连续在清洁区域中的区域上重复行走,则说明扫地机器人进入了一个循环的路径,此时将扫地机器人转入回复状态,并且在回复状态下,控制扫地机器人在监测坐标按照记录的路径,原路返回,在发生碰撞时尝试切换回沿墙状态,因为碰撞点也在记录的路径上,如果依然发生绕柱,则将碰撞点作为新的检测坐标,继续沿扫地机器人进入监测状态之前的原路返回,直到碰撞是发生在扫地机器人和墙壁之间,此时,根据沿墙策略,扫地机器人能够从脱离墙壁的地点开始继续沿墙,并且沿墙的方式与之前相同,如此能够形成一条完整闭合的沿墙轨迹,该方案能够实现扫地机器人在沿墙状态下脱困,并且实现沿墙运动的完整性,该方案的导航成功率高。

附图说明

为了更清楚地说明本申请中的方案,下面将对本申请实施例描述中所需要使用的附图作一个简单介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1根据本申请的机器人绕柱脱困方法的一个实施例的流程图;

图2是根据本申请的机器人绕柱脱困装置的一个实施例的结构示意图;

图3是根据本申请的计算机设备的一个实施例的结构示意图。

具体实施方式

除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同;本文中在申请的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本申请;本申请的说明书和权利要求书及上述附图说明中的术语“包括”和“具有”以及它们的任何变形,意图在于覆盖不排他的包含。本申请的说明书和权利要求书或上述附图中的术语“第一”、“第二”等是用于区别不同对象,而不是用于描述特定顺序。

在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。

为了使本技术领域的人员更好地理解本申请方案,下面将结合附图,对本申请实施例中的技术方案进行清楚、完整地描述。

继续参考图1,示出了根据本申请的机器人绕柱脱困方法的一个实施例的流程图。所述的机器人绕柱脱困方法,包括以下步骤:

步骤S100:在沿墙状态下,连续记录扫地机器人在清洁区域中的坐标和前进方向角度;

步骤S200:如果扫地机器人在已经过的坐标上重复运行,标记当前坐标为检测坐标,并且进入监测状态;

步骤S300:在监测状态下,如果扫地机器人在已经过的坐标上重复运行,则进入回复状态;

步骤S400:在回复状态下,控制扫地机器人运行到检测坐标,并且根据连续记录的所述坐标,控制扫地机器人沿首次运行到所述检测坐标之前的坐标反向行走,直到发生碰撞;

步骤S500:根据当前坐标更新所述检测坐标,并且恢复到沿墙状态,如果扫地机器人在预设运行距离内在所述检测坐标上重复运行,则进入监测状态,直到在沿墙状态下扫地机器人在预设运行距离内没有出现重复运行,清空所述检测坐标。

与现有技术相比,本申请实施例主要有以下有益效果:通过设置监测状态,并且在扫地机器人在清洁区域中的一个坐标下出现两次的状态下,进入监测状态,之后,如果监测扫地机器人是连续在清洁区域中的区域上重复行走,则说明扫地机器人进入了一个循环的路径,此时将扫地机器人转入回复状态,并且在回复状态下,控制扫地机器人在监测坐标按照记录的路径,原路返回,在发生碰撞时尝试切换回沿墙状态,因为碰撞点也在记录的路径上,如果依然发生绕柱,则将碰撞点作为新的检测坐标,继续沿扫地机器人进入监测状态之前的原路返回,直到碰撞是发生在扫地机器人和墙壁之间,此时,根据沿墙策略,扫地机器人能够从脱离墙壁的地点开始继续沿墙,并且沿墙的方式与之前相同,如此能够形成一条完整闭合的沿墙轨迹,预设一个运行距离,当扫地机器人在沿墙状态下运行的距离超过了预设的运行距离,则说明扫地机器人已经彻底恢复到了沿墙状态,此时删除掉检测坐标,并操作扫地机器人正常行驶,由此,可以防止扫地机器人在回复状态下,收到新的障碍物干扰,进入新一轮的绕柱状态,虽然同样是沿着墙壁行走,并且行走的路线也和运行过得路线不重复,但是仍然是在错误的路径上行走的问题。该方案能够实现扫地机器人在沿墙状态下脱困,并且实现沿墙运动的完整性,该方案的导航成功率高。

进一步的,所述步骤S200:如果扫地机器人在已经过的坐标上重复运行,标记当前坐标为检测坐标,并且进入监测状态,具体包括:

步骤S201:根据扫地机器人在一个所述坐标上重复出现,获取扫地机器人在所述坐标上两次出现之间扫地机器人的前进方向角度变化量;

步骤S204:根据所述扫地机器人的前进方向角度变化量为一周,确定扫地机器人绕柱;

步骤S205:标记当前坐标为检测坐标,并且进入监测状态。

具体的,在个别狭小区域的沿墙状态下,比如一些房间中承重柱和墙壁之间的距离较近而形成的凹位。而导航所用的坐标精度有限的情况下,扫地机器人可能在沿墙的过程中重复经过同一个坐标,此时通过首先判断扫地机器人在同一个坐标上重复运行,其次再判断扫地机器人两次经过同一坐标时,陀螺仪所累加的扫地机器人旋转角度,如果扫地机器人进行了绕柱,则当扫地机器人两次经过同一坐标时,至少带动陀螺仪累计转动一周,如此能够精确区分扫地机器人是否绕柱受困。

进一步的,所述步骤S201:根据扫地机器人在一个所述坐标上重复出现,获取扫地机器人在所述坐标上两次出现之间扫地机器人的前进方向角度变化量之后,步骤S204:根据所述扫地机器人的前进方向角度变化量为一周,确定扫地机器人绕柱之前,该方法还包括;

步骤S202:根据扫地机器人的沿墙方向,确定机器人绕柱时的角度变化方向为顺时针或逆时针;

步骤S203:根据扫地机器人的前进方向的所述角度变化量,确定所述角度变化量匹配机器人绕柱时的角度变化方向。

针对部分出口狭小的清洁区域区域,扫地机器人进入该区域,进行沿墙,之后从出口离开该清洁区域,可能会发生绕柱误判,比如,如果墙在扫地机器人前进方向的左侧,则扫地机器人绕柱时,陀螺仪所检测到的扫地机器人转动应当是逆时针转动;同样是墙在扫地机器人前进方向的左侧,如果扫地机器人是顺时针转动,则说明即便扫地机器人转动角度达到了一周,扫地机器人也是在围绕一个区域做沿墙运动,而并非绕柱运动。针对这一情况,首先,判断扫地机器人沿墙的方向,在一种实施例中,墙体在扫地机器人前进方向的左侧,之后,当扫地机器人在同一坐标重复运行,并且陀螺仪累计转动了一周时,判断扫地机器人见到变化的方向,如果扫地机器人是按照顺时针的方向转动,则说明扫地机器人是在出口狭小的清洁区域正常沿墙行走,而只有在扫地机器人是按照逆时针转动累加了一周的情况下,才是绕柱受困。该方案有利于精确识别扫地机器人是否绕柱受困。

进一步的,所述步骤S400:在回复状态下,控制扫地机器人运行到检测坐标,并且根据连续记录的所述坐标,控制扫地机器人沿首次运行到所述检测坐标之前的坐标反向行走,直到发生碰撞之后,该方法还包括:

步骤S600:根据当前坐标更新所述检测坐标,并且恢复到沿墙状态,如果扫地机器人在预设运行距离内在已经经过的坐标上重复运行,并且当前坐标与检测坐标不一致,根据当前坐标更新检测坐标,并且进入监测状态。

该方案有利于扫地机器人沿墙过程中,连续出现绕柱受困、脱困,再受困的状态下,调整检测坐标,以增强扫地机器人绕柱脱困的成功率。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,该计算机程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,前述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)等非易失性存储介质,或随机存储记忆体(Random Access Memory,RAM)等。

应该理解的是,虽然附图的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,其可以以其他的顺序执行。而且,附图的流程图中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,其执行顺序也不必然是依次进行,而是可以与其他步骤或者其他步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。

进一步参考图2,作为对上述图1所示方法的实现,本申请提供了一种机器人绕柱脱困装置的一个实施例,该装置实施例与图1所示的方法实施例相对应,该装置具体可以应用于各种电子设备中。

机器人绕柱脱困装置,包括:

记录单元100:用于在沿墙状态下,连续记录扫地机器人在清洁区域中的坐标和前进方向角度;

重复检测单元200,用于如果扫地机器人在已经过的坐标上重复运行,标记当前坐标为检测坐标,并且进入监测状态;

位置对比单元300,用于在监测状态下,如果扫地机器人在已经过的坐标上重复运行,则进入回复状态;

位置回复单元400,用于在回复状态下,控制扫地机器人运行到检测坐标,并且根据连续记录的所述坐标,控制扫地机器人沿首次运行到所述检测坐标之前的坐标反向行走,直到发生碰撞;

沿墙回复单元500,用于根据当前坐标更新所述检测坐标,并且恢复到沿墙状态,如果扫地机器人在预设运行距离内在所述检测坐标上重复运行,则进入监测状态,直到在沿墙状态下扫地机器人在预设运行距离内没有出现重复运行,清空所述检测坐标。

与现有技术相比,本申请实施例主要有以下有益效果:通过设置监测状态,并且在扫地机器人在清洁区域中的一个坐标下出现两次的状态下,进入监测状态,之后,如果监测扫地机器人是连续在清洁区域中的区域上重复行走,则说明扫地机器人进入了一个循环的路径,此时将扫地机器人转入回复状态,并且在回复状态下,控制扫地机器人在监测坐标按照记录的路径,原路返回,在发生碰撞时尝试切换回沿墙状态,因为碰撞点也在记录的路径上,如果依然发生绕柱,则将碰撞点作为新的检测坐标,继续沿扫地机器人进入监测状态之前的原路返回,直到碰撞是发生在扫地机器人和墙壁之间,此时,根据沿墙策略,扫地机器人能够从脱离墙壁的地点开始继续沿墙,并且沿墙的方式与之前相同,如此能够形成一条完整闭合的沿墙轨迹,预设一个运行距离,当扫地机器人在沿墙状态下运行的距离超过了预设的运行距离,则说明扫地机器人已经彻底恢复到了沿墙状态,此时删除掉检测坐标,并操作扫地机器人正常行驶,由此,可以防止扫地机器人在回复状态下,收到新的障碍物干扰,进入新一轮的绕柱状态,虽然同样是沿着墙壁行走,并且行走的路线也和运行过得路线不重复,但是仍然是在错误的路径上行走的问题。该方案能够实现扫地机器人在沿墙状态下脱困,并且实现沿墙运动的完整性,该方案的导航成功率高。

进一步的,所述位置对比单元200,具体包括:

角度变化量获取子单元201,用于根据扫地机器人在一个所述坐标上重复出现,获取扫地机器人在所述坐标上两次出现之间扫地机器人的前进方向角度变化量;

绕柱确定子单元204,用于根据所述扫地机器人的前进方向角度变化量为一周,确定扫地机器人绕柱;

监测状态进入子单元205,用于标记当前坐标为检测坐标,并且进入监测状态。

进一步的,位置对比单元200,还包括;

方向确定子单元203,用于根据扫地机器人的沿墙方向,确定机器人绕柱时的角度变化方向为顺时针或逆时针;

方向对比子单元203,用于根据扫地机器人的前进方向的所述角度变化量,确定所述角度变化量匹配机器人绕柱时的角度变化方向。

进一步的,该方案还包括:

检测点调整单元600,用于根据当前坐标更新所述检测坐标,并且恢复到沿墙状态,如果扫地机器人在预设运行距离内在已经经过的坐标上重复运行,并且当前坐标与检测坐标不一致,根据当前坐标更新检测坐标,并且进入监测状态。

为解决上述技术问题,本申请实施例还提供计算机设备。具体请参阅图3,图3为本实施例计算机设备基本结构框图。

所述计算机设备6包括通过系统总线相互通信连接存储器61、处理器62、网络接口63。需要指出的是,图中仅示出了具有组件61-63的计算机设备6,但是应理解的是,并不要求实施所有示出的组件,可以替代的实施更多或者更少的组件。其中,本技术领域技术人员可以理解,这里的计算机设备是一种能够按照事先设定或存储的指令,自动进行数值计算和/或信息处理的设备,其硬件包括但不限于微处理器、专用集成电路(ApplicationSpecific Integrated Circuit,ASIC)、可编程门阵列(Field-Programmable GateArray,FPGA)、数字处理器(Digital Signal Processor,DSP)、嵌入式设备等。

所述计算机设备可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。所述计算机设备可以与用户通过键盘、鼠标、遥控器、触摸板或声控设备等方式进行人机交互。

所述存储器61至少包括一种类型的可读存储介质,所述可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘等。在一些实施例中,所述存储器61可以是所述计算机设备6的内部存储单元,例如该计算机设备6的硬盘或内存。在另一些实施例中,所述存储器61也可以是所述计算机设备6的外部存储设备,例如该计算机设备6上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(FlashCard)等。当然,所述存储器61还可以既包括所述计算机设备6的内部存储单元也包括其外部存储设备。本实施例中,所述存储器61通常用于存储安装于所述计算机设备6的操作系统和各类应用软件,例如机器人绕柱脱困方法的程序代码等。此外,所述存储器61还可以用于暂时地存储已经输出或者将要输出的各类数据。

所述处理器62在一些实施例中可以是中央处理器(Central Processing Unit,CPU)、控制器、微控制器、微处理器、或其他数据处理芯片。该处理器62通常用于控制所述计算机设备6的总体操作。本实施例中,所述处理器62用于运行所述存储器61中存储的程序代码或者处理数据,例如运行所述机器人绕柱脱困方法的程序代码。

所述网络接口63可包括无线网络接口或有线网络接口,该网络接口63通常用于在所述计算机设备6与其他电子设备之间建立通信连接。

本申请还提供了另一种实施方式,即提供一种计算机可读存储介质,所述计算机可读存储介质存储有机器人绕柱脱困程序,所述机器人绕柱脱困程序可被至少一个处理器执行,以使所述至少一个处理器执行如上述的机器人绕柱脱困方法的步骤。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本申请各个实施例所述的方法。

显然,以上所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例,附图中给出了本申请的较佳实施例,但并不限制本申请的专利范围。本申请可以以许多不同的形式来实现,相反地,提供这些实施例的目的是使对本申请的公开内容的理解更加透彻全面。尽管参照前述实施例对本申请进行了详细的说明,对于本领域的技术人员来,其依然可以对前述各具体实施方式所记载的技术方案进行修改,或者对其中部分技术特征进行等效替换。凡是利用本申请说明书及附图内容所做的等效结构,直接或间接运用在其他相关的技术领域,均同理在本申请专利保护范围之内。

相关技术
  • 机器人绕柱脱困方法、装置、计算机设备及存储介质
  • 机器人小空间脱困方法、装置、计算机设备及存储介质
技术分类

06120112902136