一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

自行走机器人的遇障处理方法、装置、机器人和存储介质与流程

2022-06-11 16:04:17 来源:中国专利 TAG:


1.本公开涉及机器人控制技术领域,尤其涉及一种自行走机器人的遇障处理方法、装置、机器人和存储介质。


背景技术:

2.随着科技的高速发展,越来越多的智能生活电器进入了千家万户,大大提高人们的生活舒适性和便利性。扫地机器人作为一种能够自动进行清扫的电器,可以代替人对地面的进行洁扫,减少了人的家务负担,越来越受到人们的认可。
3.扫地机器人在正常清扫或行走过程中,有可能会遇到比如门槛之类的障碍物,存在导致机器不能正常越过从而出现打滑的现象。


技术实现要素:

4.有鉴于此,本公开实施例提供一种自行走机器人的遇障处理方法、装置、机器人和存储介质,用以使机器人能够顺利地越过障碍物。
5.本公开第一方面的实施例,提供了一种自行走机器人的遇障处理方法,包括:
6.基于检测到自行走机器人处于预设异常状态,控制自行走机器人执行第一预设动作;检测自行走机器人的当前位置与周侧障碍物的越障位置信息;根据越障位置信息,控制自行走机器人执行第二预设动作以进行越障。
7.可选地,控制自行走机器人执行第一预设动作的步骤,具体包括:
8.控制自行走机器人后退第一预设距离。
9.可选地,自行走机器人包括两个驱动轮,两个驱动轮包括第一驱动轮和第二驱动轮,根据越障位置信息,控制自行走机器人执行第二预设动作的步骤,具体包括:
10.控制第二驱动轮不动,第一驱动轮向靠近第二驱动轮的方向旋转前进,并记录自行走机器人的第一旋转姿态信息;基于第一旋转姿态信息达到第一预设旋转范围,控制第一驱动轮不动,第二驱动轮向靠近第一驱动轮旋转前进,并记录自行走机器人的第二旋转姿态信息;基于第二旋转姿态信息达到第二预设旋转范围,控制第二驱动轮停止工作。
11.可选地,周侧障碍物包括沿自行走机器人的预设前进方向的两侧相对分布的第一障碍物和第二障碍物,检测自行走机器人的当前位置与周侧障碍物的越障位置信息的步骤,具体包括:
12.检测自行走机器人与第一障碍物之间的第一距离信息;检测自行走机器人与第二障碍物之间的第二距离信息;基于第一距离信息的数值和第二距离信息的数值不相等,将数值较小的一个所对应的第一障碍物或第二障碍物记录为标定障碍物;基于第一距离信息的数值和第二距离信息的数值相等,将第一障碍物或第二障碍物记录为标定障碍物;确定两个驱动轮中靠近标定障碍物的一个为第一驱动轮,另一个为第二驱动轮。
13.可选地,检测到自行走机器人处于预设异常状态的步骤,具体包括:
14.在第一预设时长内,检测自行走机器人的姿态信息、自行走机器人在构建的环境
空间地图的运动轨迹信息,两个驱动轮各自的行驶里程信息和/或两个驱动轮各自的速度信息;基于姿态信息处于预设水平范围内;若运动轨迹信息处于预设轨迹范围内,且行驶里程信息与运动轨迹信息的位移差超过预设位移差范围的持续时长大于第二预设时长,则自行走机器人处于预设异常状态;或若两个驱动轮的角速度的差值大于预设角速度差范围的持续时长大于第三预设时长,则自行走机器人处于预设异常状态。
15.可选地,在控制自行走机器人执行第二预设动作的步骤之后,还包括:
16.重新检测自行走机器人是否处于预设异常状态;若是,返回并重新执行控制自行走机器人执行第一预设动作的步骤;否则,控制自行走机器人执行处于预设异常状态之前的预设操作;其中,预设操作包括以下至少之一:延续清扫、跨区清扫、回桩行走、延续行走、沿墙清扫。
17.可选地,重新检测自行走机器人是否处于预设异常状态的步骤,具体包括:
18.获取自行走机器人在构建的环境空间地图的运动轨迹信息,其中,运动轨迹信息中自行走机器人的当前位置为第一位置,运动轨迹信息中自行走机器人处于预设异常状态时的位置为第二位置;若第二位置与第一位置之间的水平距离小于等于第二预设距离,则自行走机器人处于预设异常状态,否则,自行走机器人处于正常状态。
19.可选地,自行走机器人还包括湿式清洁系统和抬升结构,在检测到自行走机器人处于预设异常状态的步骤之后,控制自行走机器人执行第一预设动作的步骤之前,还包括:
20.控制抬升机构执行抬升操作升起湿式清洁系统;控制自行走机器人执行前进操作,并检测自行走机器人是否处于预设异常状态;若是,执行控制自行走机器人执行第一预设动作的步骤;否则,记录预设异常状态和抬升操作。
21.本公开第二个方面的实施例,提供了一种自行走机器人的遇障处理装置,包括:第一处理模块,用于基于检测到自行走机器人处于预设异常状态,控制自行走机器人执行第一预设动作;第一检测模块,用于检测自行走机器人的当前位置与周侧障碍物的越障位置信息;第二处理模块,用于根据越障位置信息,控制自行走机器人执行第二预设动作以进行越障。
22.可选地,第一处理模块包括:第一处理单元,用于控制自行走机器人后退第一预设距离。
23.可选地,自行走机器人包括两个驱动轮,两个驱动轮包括第一驱动轮和第二驱动轮,第二处理模块包括:第二处理单元,用于控制所述第二驱动轮不动,所述第一驱动轮向靠近所述第二驱动轮的方向旋转前进,并记录所述自行走机器人的第一旋转姿态信息;第三处理单元,用于基于所述第一旋转姿态信息达到第一预设旋转范围,控制所述第一驱动轮不动,所述第二驱动轮向靠近所述第一驱动轮的方向旋转前进,并记录所述自行走机器人的第二旋转姿态信息;第四处理单元,用于基于所述第二旋转姿态信息达到第二预设旋转范围,控制所述第二驱动轮停止工作。
24.可选地,周侧障碍物包括沿自行走机器人的预设行进方向的两侧相对分布的第一障碍物和第二障碍物,第一检测模块包括:第一检测单元,用于检测所述自行走机器人与所述第一障碍物之间的第一距离信息;第二检测单元,用于检测所述自行走机器人与所述第二障碍物之间的第二距离信息;记录单元,用于基于所述第一距离信息的数值和所述第二距离信息的数值不相等,将数值较小的一个所对应的所述第一障碍物或所述第二障碍物记
录为标定障碍物,基于所述第一距离信息的数值和所述第二距离信息的数值相等,将所述第一障碍物或所述第二障碍物记录为标定障碍物;第一确定单元,用于确定所述两个驱动轮中靠近所述标定障碍物的一个为所述第一驱动轮,另一个为所述第二驱动轮。
25.可选地,第一处理模块还包括包括:第三检测单元,用于在第一预设时长内,检测所述自行走机器人的姿态信息、所述自行走机器人在构建的环境空间地图的运动轨迹信息,所述两个驱动轮各自的行驶里程信息和/或所述两个驱动轮各自的速度信息;第二确定单元,用于基于所述姿态信息处于预设水平范围内,若所述运动轨迹信息处于预设轨迹范围内,且所述行驶里程信息与所述运动轨迹信息的位移差超过预设位移差范围的持续时长大于第二预设时长,则所述自行走机器人处于所述预设异常状态;或若所述两个驱动轮的角速度的差值大于预设角速度差范围的持续时长大于第三预设时长,则所述自行走机器人处于所述预设异常状态。
26.可选地,自行走机器人的遇障处理装置还包括:第二检测模块,用于重新检测所述自行走机器人是否处于所述预设异常状态;第三处理模块,用于在所述第二模块的检测结果为是的情况下,返回并重新执行控制所述自行走机器人执行第一预设动作的步骤,否则,控制所述自行走机器人执行处于所述预设异常状态之前的预设操作;其中,预设操作包括以下至少之一:延续清扫、跨区清扫、回桩行走、延续行走、沿墙清扫。
27.可选地,第二检测模块包括:第一获取单元,用于获取所述自行走机器人在构建的环境空间地图的运动轨迹信息,其中,所述运动轨迹信息中所述自行走机器人的当前位置为第一位置,所述运动轨迹信息中所述自行走机器人处于所述预设异常状态时的位置为第二位置;第三确定单元,用于在所述第二位置与所述第一位置之间的水平距离小于等于第二预设距离,则确定所述自行走机器人处于所述预设异常状态,否则,确定所述自行走机器人处于正常状态。
28.可选地,自行走机器人的遇障处理装置还包括:第四处理模块,用于控制所述抬升机构执行抬升操作升起所述湿式清洁系统,控制所述自行走机器人执行前进操作,并检测所述自行走机器人是否处于所述预设异常状态,若是,执行所述控制所述自行走机器人执行所述第一预设动作的步骤,否则,记录所述预设异常状态和所述抬升操作。
29.本公开的第三个方面的实施例,提供了一种机器人,其包括处理器和存储器;存储器,用于存储操作指令;处理器,用于通过调用操作指令,执行上述第一个方面任一项的自行走机器人的遇障处理方法。
30.本公开的第四个方面的实施例,提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述第一个方面中任一项的自行走机器人的遇障处理方法。
31.本公开实施例提供的自行走机器人的遇障处理方法,当自行走机器人处于预设异常状态时,通过控制自行走机器人执行第一预设动作,以确保后续执行的第二预设动作能够顺利进行,通过检测自行走机器人的当前位置与周侧障碍物的越障位置信息,使得第二预设动作的执行与周侧障碍物的位置相匹配,能够进一步提高越障的成功率。
附图说明
32.为了更清楚地说明本公开实施例或现有技术中的技术方案,下面将对实施例或现
有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
33.图1为根据本公开的一个可选实施例提供的自行走机器人的结构示意图;
34.图2为图1所示实施例的一个视角的结构示意图;
35.图3为根据本公开的另一个可选实施例提供的自行走机器人的结构示意图;
36.图4为根据本公开的一个可选实施例提供的自行走机器人的遇障处理方法的流程示意图;
37.图5为根据本公开的一个可选实施例提供的自行走机器人的遇障处理装置的示意框图;
38.图6为根据本公开的一个可选实施例提供的机器人的电子结构示意图;
39.图7为根据本公开的一个可选实施例提供的自行走机器人的应用场景示意图;
40.图8为根据本公开的另一个可选实施例提供的自行走机器人的应用场景示意图。
41.附图标记说明
42.100自行走机器人,110主体,111前向部分,112后向部分,120感知系统,121位置确定装置,122缓冲器,130驱动系统,131驱动轮,132从动轮,133第一驱动轮,134第二驱动轮,140清洁系统,141干式清洁系统,142湿式清洁系统,143边刷,150抬升机构,160能源系统,170门槛,180周侧障碍物,181第一障碍物,182第二障碍物,183标定障碍物,500自行走机器人的遇障处理装置,502第一处理模块,504第一检测模块,506第二处理模块,601处理装置,602rom,603ram,604总线,605i/o接口、606输入装置,607输出装置,608存储装置,609通信装置。
具体实施方式
43.下面详细描述本技术的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本技术,而不能解释为对本公开的限制。
44.本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本技术的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。应该理解,当我们称元件被“连接”或“相接”到另一元件时,它可以直接连接或相接到其他元件,或者也可以存在中间元件。此外,这里使用的“连接”或“相接”可以包括无线连接或无线稠接。这里使用的措辞“和/或”包括一个或更多个相关联的列出项的全部或任一单元和全部组合。
45.为使本技术的目的、技术方案和优点更加清楚,下面将结合附图对本技术实施方式作进一步地详细描述。
46.本公开实施例提供一种可能的应用场景,该应用场景包括自行走机器人100,例如扫地机器人、拖地机器人、吸尘器、除草机等等。在某些实施例中,如图l和图3所示,以家用式扫地机器人为例进行说明,在扫地机器人工作过程中,其可以根据预置路线或自动规划的路线进行清扫,但不可避免的会在某些地方被卡住而无法进行。如机器人在正常清扫或
行走过程中,有可能会遇到比如门槛170之类的障碍物,该类障碍物的高度不足以被机器人的碰撞传感器感测,也就是说障碍物的高度低于机器前撞的下边缘,但是由于该障碍物的存在,可能导致机器不能正常越过从而出现打滑的现象。因此,若扫地机器人能够顺利越过此类障碍物,则能够扩大扫地机器人的功能和清扫范围,提升用于使用扫地机器人的清洁体验。
47.在本公开提供的实施例中,机器人可以设置有触敏显示器或者通过移动终端控制,以接收用户输入的操作指令。自动清洁设备可以设置各种传感器,例如缓冲器122、悬崖传感器、超声传感器、红外传感器、磁力计、加速度计、陀螺仪、里程计等传感装置(各传感器的具体结构不做详细介绍,可以采用任何一种上述传感器应用于本自动清洁设备),机器人还可以设置有wife模块、bluetooth模块等无线通讯模块,以与智能终端或服务器连接,并通过无线通讯模块接收智能终端或服务器传输的操作指令。
48.如图1所示,自动清洁设备可通过相对于由主体110界定的如下三个相互垂直轴的移动的各种组合在地面上行进:前后轴x、横向轴y及中心垂直轴z。沿着前后轴x的前向驱动方向标示为“前向”,且沿着前后轴x的向后驱动方向标示为“后向”。横向轴y的方向实质上是沿着由驱动轮131模块的中心点界定的轴心在机器人的右轮与左轮之间延伸的方向。
49.其中,自动清洁设备可以绕y轴转动。当自动清洁设备的前向部分111向上倾斜,后向部分112向下倾斜时为“上仰”,且当自动清洁设备的前向部分111向下倾斜,后向部分112向上倾斜时为“下俯”。另外,机器人可以绕z轴转动。在自动清洁设备的前向方向上,当自动清洁设备向x轴的右侧倾斜为“右转”,当自动清洁设备向x轴的左侧倾斜为“左转”。
50.如图2和图3所示,自动清洁设备包含机器主体110、感知系统120、控制系统、驱动系统130、清洁系统140、能源系统160和人机交互系统。
51.机器主体110包括前向部分111和后向部分112,具有近似圆形形状(前后都为圆形),也可具有其他形状,包括但不限于前方后圆的近似d形形状及前方后方的矩形或正方形形状。
52.如图2所示,感知系统120包括位于机器主体110上的位置确定装置121、设置于机器主体110的前向部分111的缓冲器122上的碰撞传感器、近距离传感器,设置于机器主体110下部的悬崖传感器,以及设置于机器主体110内部的磁力计、加速度计、陀螺仪(gyro)、里程计(odo,全称odograph)等传感装置,用于向控制系统提供机器的各种位置信息和运动状态信息。位置确定装置121包括但不限于摄像头、激光测距装置(lds,全称laser directstructuring)。
53.如图2和图3所示,机器主体110的前向部分111可承载缓冲器122,在清洁过程中驱动轮131推进机器人在地面行走时,缓冲器122经由设置在其上的传感器系统,例如红外传感器,检测自动清洁设备的行驶路径中的一或多个事件,自动清洁设备可通过由缓冲器122检测到的事件,例如障碍物、墙壁,而控制驱动轮131模块使自动清洁设备来对所述事件做出响应,例如远离障碍物。
54.控制系统设置在机器主体110内的电路主板上,包括与非暂时性存储器,例如硬盘、快闪存储器、随机存取存储器,通信的计算处理器,例如中央处理单元、应用处理器,应用处理器根据激光测距装置反馈的障碍物信息利用定位算法,例如即时定位与地图构建(slam,全称simultaneous localization and mapping),绘制机器人所在环境中的即时地
图。并且结合缓冲器122上所设置传感器、悬崖传感器、磁力计、加速度计、陀螺仪、里程计等传感装置反馈的距离信息、速度信息综合判断扫地机当前处于何种工作状态、位于何位置,以及扫地机当前位姿等,如过门槛170,土地毯,位于悬崖处,上方或者下方被卡住,尘盒满,被拿起等等,还会针对不同情况给出具体的下一步动作策略,使得机器人的工作更加符合主人的要求,有更好的用户体验。
55.如图2和图3所示,驱动系统130可基于具有距离和角度信息(例如x、y及o分量)的驱动命令而操纵机器人跨越地面行驶。驱动系统130包含驱动轮131和驱动模块,驱动模块可以同时控制左驱动轮和右驱动轮,为了更为精确地控制机器的运动,优选驱动模块分别包括左驱动轮模块和右驱动轮模块。左、右驱动轮模块沿着由主体110界定的横向轴对置。为了机器人能够在地面上更为稳定地运动或者更强的运动能力,机器人可以包括一个或者多个从动轮132,从动轮132包括但不限于万向轮。驱动模块包括驱动马达以及控制驱动马达的控制电路,驱动模块还可以连接测量驱动电流的电路和里程计。驱动模块可以可拆卸地连接到主体110上,方便拆装和维修。驱动轮131可具有偏置下落式悬挂系统,以可移动方式紧固,例如以可旋转方式附接,到机器人主体110,且接收向下及远离机器人主体110偏置的弹簧偏置。弹簧偏置允许驱动轮131以一定的着地力维持与地面的接触及牵引,同时自动清洁设备的清洁元件也以一定的压力接触地面。
56.如图2和图3所示,清洁系统140可为干式清洁系统141和/或湿式清洁系统142。作为干式清洁系统141,主要的清洁功能源于滚刷、尘盒、风机、出风口以及四者之间的连接部件所构成的清扫系统。与地面具有一定干涉的滚刷将地面上的垃圾扫起并卷带到滚刷与尘盒之间的吸尘口前方,然后被风机产生并经过尘盒的有吸力的气体吸入尘盒。干式清洁系统141还可包含具有旋转轴的边刷143,旋转轴相对于地面成一定角度,以用于将碎屑移动到清洁系统140的滚刷区域中。
57.湿式清洁系统142可以包括:清洁头、驱动单元、送水机构、储液箱等。其中,清洁头可以设置于储液箱下方,储液箱内部的清洁液通过送水机构传输至清洁头,以使清洁头对待清洁平面进行湿式清洁。在其他实施例中,储液箱内部的清洁液也可以直接喷洒至待清洁平面,清洁头通过将清洁液涂抹均匀实现对平面的清洁。其中,清洁头用于清洁待清洁表面,驱动单元用于驱动清洁头沿着目标面基本上往复运动的,目标面为待清洁表面的一部分。清洁头沿待清洁表面做往复运动,清洁头与待清洁表面的接触面表面设有清洁布或清洁板,通过往复运动与待清洁表面产生高频摩擦,从而去除待清洁表面上的污渍。
58.在本公开的实施例中,自行走机器人100还包括抬升机构150,湿式清洁系统142可以通过抬升机构150与机器主体110相连接。当湿式清洁系统142暂时不参与工作,例如,自行走机器人100停靠基站对湿式清洁系统142的清洁头进行清洗、对储液箱进行注水;或者遇到无法采用湿式清洁系统142进行清洁的待清洁表面时,通过抬升机构150将湿式清洁系统142升起。
59.能源系统160包括充电电池,例如保氢电池和鲤电池。充电电池可以连接有充电控制电路、电池组充电温度检测电路和电池欠压监测电路,充电控制电路、电池组充电温度检测电路、电池欠压监测电路再与单片机控制电路相连。主机通过设置在机身侧方或者下方的充电电极与充电桩连接进行充电。如果裸露的充电电极上沾附有灰尘,会在充电过程中由于电荷的累积效应,导致电极周边的塑料机体融化变形,甚至导致电极本身发生变形,无
法继续正常充电。
60.人机交互系统包括主机面板上的按键,按键供用户进行功能选择;还可以包括显示屏和/或指示灯和/或喇叭,显示屏、指示灯和喇叭向用户展示当前机器所处状态或者功能选择项;还可以包括子机客户端程序。对于路径导航型自动清洁设备,在于机客户端可以向用户展示设备所在环境的地图,以及机器所处位置,可以向用户提供更为丰富和人性化的功能项。
61.本公开实施例提供的自行走机器人100的遇障处理方法,使得机器人在行进过程中若卡在如门槛170一类的障碍物上出现打滑的情况时,能够顺利地越过此类障碍物,扩大了自行走机器人的功能,提升了用户的使用体验。具体如下:
62.作为实施方式之一,如图4所示,本公开实施例提供一种自行走机器人的遇障处理方法,包括如下方法步骤:
63.步骤s402:基于检测到自行走机器人处于预设异常状态,控制自行走机器人执行第一预设动作。
64.其中,预设异常状态是指自行走机器人卡在如门槛一类的待越障碍物上出现打滑的情况,具体地,打滑通常包括以下两种状态,一种是自行走机器人的两个驱动轮都被待越障碍物卡住,即自行走机器人很可能处于待越障碍物上方,两个驱动轮空转;另一种是自行走机器人在旋转过程中,一个驱动轮被待越障碍物卡住,进行空转,另一个正常转动。也就是说,当检测到自行走机器人处于预设异常状态时,说明自行走机器人在构建的环境空间地图的运动轨迹信息相对于待越障碍物是处于预设范围内的,如在环境空间地图内,沿自行走机器人的前进方向,在一定时间内,自行走机器人与待越障碍物之间的距离持续为定值,即自行走机器人无法正常前进,因此,说明自行走机器人处于预设异常状态。
65.由于自行走机器人处于预设异常状态时无法正常前进,因此,通过控制自行走机器人执行第一预设动作,能够确保后续的第二预设动作顺利执行,即为后续执行第二预设动作进行越障提供了实施基础,以使第二预设动作能够可靠、准确的完成,进而顺利完成越障操作。
66.步骤s404:检测自行走机器人的当前位置与周侧障碍物的越障位置信息;
67.步骤s406:根据越障位置信息,控制自行走机器人执行第二预设动作以进行越障。
68.其中,自行走机器人的当前位置是指自行走机器人完成第一预设动作后的位置。周侧障碍物是指位于自行走机器人周侧的障碍物,可以理解的是,周侧障碍物并不包括导致自行走机器人处于预设异常状态时的待越障碍物,即导致自行走机器人处于预设异常状态的待越障碍物与周侧障碍物是不同的对象,如待越障碍物可以包括自行走机器人处于预设异常装置时,卡住自行走机器人的门槛类障碍物,周侧障碍物可以包括位于门槛周侧的墙壁或满足要求的其他障碍物等。
69.通过检测自行走机器人的当前位置与周侧障碍物的越障位置信息,能够了解自行走机器人在完成第一预设动作后,与周侧障碍物之间的位置关系,因此,根据越障位置信息控制自行走机器人执行第二预设动作,有利于提高越障的可靠性和成功率,即根据越障位置信息执行第二预设动作,能够确保自行走机器人顺利、可靠地完成越障,进而扩大自行走机器人的功能,有利于增大自行走机器人的清扫范围,提高用户使用的满意度。
70.也就是说,本公开实施例提供的自行走机器人的遇障处理方法,当检测到自行走
机器人处于预设异常状态时,说明自行走机器人无法正常前进,需要越过待越障碍物,通过控制自行走机器人执行第一预设动作,以确保后续执行的第二预设动作能够顺利进行,进而顺利、可靠地完成越障操作。通过在自行走机器人完成第一预设动作后,检测自行走机器人的当前位置与周侧障碍物的越障位置信息,并根据越障位置信息,控制自行走机器人执行第二预设动作以进行越障,使得第二预设动作的执行与周侧障碍物的位置相匹配,能够进一步提高越障的准确性和成功率。即本公开实施例提供的自行走清洁设备,在遇到类似门槛等待越障碍物出现打滑的情况时,通过第一预设动作和第二预设动作对自行走机器人的行为进行修正,使得自行走机器人能够顺利越过待越障碍物,增大了自行走机器人的功能。
71.在本公开提供的一些可能实现的实施例中,控制自行走机器人执行第一预设动作的步骤,具体包括:控制自行走机器人后退第一预设距离。
72.其中,第一预设距离的大小可以与自行走机器人的参数相关联,如第一预设距离可以与行走机器人的外形尺寸正相关,或者第一预设距离可以与自行走机器人的外形尺寸成正比例关系。可以理解的是,第一预设距离也可以为固定值,如第一预设距离为8cm、10cm、15cm、20cm或满足要求的其他数值,本公开不做具体限定。
73.由于自行走机器人处于预设异常状态时,自行走机器人无法正常前进,因此,通过控制自行走机器人后退第一预设距离,使得自行走机器人能够顺利脱离门槛类障碍物,为自行走机器人后续执行第二预设动作提供前进的空间,进而有利于确保第二预设动作能够顺利、可靠实施以完成越障。
74.也就是说,本公开提供的自行走机器人的遇障处理方法,并不是在待越障碍物处直接进行第二预设动作的越障操作,而是通过执行第一预设动作,使自行走机器人后退第一预设距离,脱离待越障碍物后,再执行第二预设动作以进行越障,这样能够避免直接在待越障碍物上进行第二预设动作的越障操作难度系数较大的问题,通过第一预设动作脱离待越障碍物后再执行第二预设动作进行越障,大大降低了越障难度系数,有利于提高越障的可靠性和顺利性,进而提高越障的成功率。
75.作为一种示例,自行走机器人包括两个驱动轮,分别为第一驱动轮和第二驱动轮,可以理解的是,第一驱动轮可以为左驱动轮或右驱动轮,第二驱动轮也可以为右驱动轮或左驱动轮。步骤s406具体包括:
76.步骤s406-2:控制第二驱动轮不动,第一驱动轮朝向靠近待越障碍物方向行进,并记录自行走机器人的第一旋转姿态信息。
77.由于自行走机器人直行前进过程中遇到类似门槛等待越障碍物容易出现打滑的情况,因此,通过控制第二驱动轮不动,第一驱动轮朝向靠近待越障碍物方向行进,即自行走机器人向靠近待越障碍物的方向旋转前进,降低了自行走机器人直行前进时遇到门槛等待越障碍物出现打滑的情况,进而有利于提高了越障的成功率。
78.可以理解的是,当第二驱动轮不动,第一驱动轮旋转行进的情况下,使得自行走机器人可以包括靠近待越障碍物和远离待越障碍物两个运动趋势,本公开提供的实施例,在第二驱动轮不动的情况下,通过控制第一驱动轮朝向靠近待越障碍物方向行进,进而能够减小自行走机器人与待越障碍物之间的距离,以陆续实现越障操作。
79.定义自行走机器人的第二驱动轮不动、第一驱动轮朝向靠近待越障碍物方向行进
过程中的旋转姿态为第一旋转姿态,通过记录第一旋转姿态的信息,能够了解自行走机器人在向靠近待越障碍物方向行进过程中旋转的角度,进而便于对后续动作进行控制,提高越障速度和越障的顺利性。
80.步骤s406-4:基于第一旋转姿态信息达到第一预设旋转范围,控制第一驱动轮不动,第二驱动轮朝向待越障碍物方向行进,并记录自行走机器人的第二旋转姿态信息;
81.步骤s406-6:基于第二旋转姿态信息达到第二预设旋转范围,控制第二驱动轮停止工作。
82.其中,第一预设旋转范围可以与自行走机器人的参数相关联、或与第一预设距离相关联等,具体地,如第一预设旋转范围与自行走机器人的外形尺寸正相关,可以理解的是,第一预设旋转范围也可以为固定值,如第一预设旋转范围为55
°
、60
°
、65
°
、或满足要求的其他数值。
83.当第一旋转姿态信息达到第一预设旋转范围,说明自行走机器人的当前旋转姿态处于合适范围内,若第一驱动轮以当前姿态继续旋转行进,则有可能出现后退的情况,即自行走机器人有可能出现远离待越障碍物的运动趋势,因此,控制第一驱动轮不动,第二驱动轮朝向靠近待越障碍物方向行进,能够确保自行走机器人向靠近待越障碍物的方向继续旋转前进,并与之前的旋转前进相配合形成了蛇形摆动前进,这样,使得自行走机器人的第一驱动轮和第二驱动轮能够依次越至待越障碍物上方,进而使得在旋转过程中,远离轴心侧的驱动轮沿待越障碍物爬行,并在被待越障碍物垫高后仍能与待越障碍物接触,减少打滑,提供更强的驱动力,因此相较于两个驱动轮共同朝向待越障碍物直线前进,具有更好的越障能力。
84.可以理解的是,当第一驱动轮不动,第二驱动轮旋转行进的情况下,使得自行走机器人可以包括靠近待越障碍物和远离待越障碍物两个运动趋势,本公开提供的实施例,在第一驱动轮不动的情况下,通过控制第二驱动轮朝向靠近待越障碍物方向行进,进而能够减小自行走机器人与待越障碍物之间的距离,以陆续实现越障操作。
85.定义自行走机器人的第一驱动轮不动、第二驱动轮朝向靠近待越障碍物方向行进过程中的旋转姿态为第二旋转姿态,通过记录第二旋转姿态的信息,能够了解自行走机器人在向靠近待越障碍物方向旋转前进过程中旋转的角度,当第二旋转姿态信息达到第二预设旋转范围时,说明自行走机器人的当前旋转姿态处于合适范围内,若第二驱动轮以当前姿态继续旋转行进,则有可能出现后退的情况,因此,控制第二驱动轮不动,完成越障操作。
86.其中,第二预设旋转范围可以与自行走机器人的参数相关联、或与第一预设距离相关联等,具体地,如第二预设旋转范围与自行走机器人的外形尺寸正相关,可以理解的是,第二预设旋转范围也可以为固定值,如第一预设旋转范围为55
°
、60
°
、65
°
、或满足要求的其他数值。
87.进一步地,第一驱动轮朝向待越障碍物方向行进过程中,第一驱动轮的角速度可以为第一角速度,第一驱动轮的线速度为第一线速度,第二驱动轮朝向待越障碍物方向行进过程中,第二驱动轮的角速度可以为第二角速度,第二驱动轮的线速度为第二线速度。其中,第一预设角速度的大小、和/或第一线速度的大小、和/或第二角速度的大小、和/或第二线速度的大小可以与自行走机器人的参数相关联,如第一预设角速度、和/或第一线速度、和/或第二角速度、和/或第二线速度,与自行走机器人的外形尺寸关联、或与第一驱动轮的
尺寸关联、或与第二驱动轮的尺寸关联、或与第一驱动轮的驱动模块的参数关联、或与第二驱动轮的驱动模块的参数关联等。可以理解的是,第一预设角速度和第二预设角速度也可以为固定值,如第一预设角速度和/或第二预设角速度为为
±
1.5
°
/s、
±2°
/s、
±
2.5
°
/s、
±3°
/s或满足要求的其他数值,第一预设角速度和第二预设角速度的值可以相等也可以不等。第一预设线速度和第二预设线速度也可以为固定值,如第一预设线速度和/或第二预设线速度为为0.15m/s、0.2m/s、0.25m/s、0.3m/s或满足要求的其他数值,第一预设线速度和第二预设线速度的值可以相等也可以不等,本公开不做具体限定。
88.也就是说,本公开实施例提供的第二预设动作是依次控制单个驱动轮旋转前进,使自行走机器人的整个运动轨迹是以蛇形的运动轨迹越过待越障碍物,这样能够使两个驱动轮依次越至待越障碍物上方,进而使得在旋转过程中,远离轴心侧的驱动轮沿待越障碍物爬行,并在被待越障碍物垫高后仍能与待越障碍物接触,减少打滑,提供更强的驱动力,因此相较于两个驱动轮共同朝向待越障碍物直线前进,具有更好的越障能力。
89.在本公开提供的一些可能实现的实施例中,周侧障碍物包括沿自行走机器人的预设前进方向的两侧相对分布的第一障碍物和第二障碍物,其中,预设前进方向可以为自行走机器人通过如门槛类待越障碍物的前进方向,第一障碍物和第二障碍物沿前进方向分布在自行走机器人的左右两侧,其中,第一障碍物和第二障碍物可以为椅子、桌子、墙壁或满足要求的其他类型障碍物。其中,步骤s404具体包括:
90.步骤s404-2:检测自行走机器人与第一障碍物之间的第一距离信息;
91.步骤s404-4:检测自行走机器人与第二障碍物之间的第二距离信息。
92.其中,以第一障碍物沿自行走机器人的预设前进方向分布在自行走机器人的左侧,第二障碍物沿自行走机器人的预设前进方向分布在自行走机器人的右侧为例,检测自行走机器人与第一障碍物之间的第一距离信息,检测自行走机器人与第二障碍物之间的第二距离信息。可以理解的是,通过第一距离信息和第二距离信息的数值的大小,能够确定自行走机器人完成第一预设动作后,在当前位置下,是靠近第一障碍物、或靠近第二障碍物、或位于第一障碍物和第二障碍物之间,即能够了解自行走机器人当前的位置是偏左侧障碍物、或偏右侧障碍物、或位于两侧障碍物的中心,进而使得后续执行的第二预设动作能够参考自行走机器人的当前位置,以避免自行走机器人在执行第二预设动作的过程中,与第一障碍物或第二障碍物接触而导致无法越过如门槛类的待越障碍物,提高了第二预设动作执行的顺利性,以提高越障的准确性。
93.具体地,可以通过检测自行走机器人的中心与第一障碍物和第二障碍物的垂直距离,进而得到第一距离信息和第二距离信息,可以理解的是,也可以通过检测自行走机器人的左驱动轮与第一障碍物的距离得到第一距离信息,通过检测右驱动轮与第二障碍物的距离得到第二距离信息,或者通过满足要求的其他方式确定第一距离信息和第二距离信息,本公开不做具体说明。
94.步骤s404-6:基于第一距离信息的数值和第二距离信息的数值不相等,将数值较小的一个所对应的第一障碍物或第二障碍物记录为标定障碍物;
95.步骤s404-8:基于第一距离信息的数值和第二距离信息的数值相等,将第一障碍物或第二障碍物记录为标定障碍物;
96.步骤s404-10:确定两个驱动轮中靠近标定障碍物的一个为第一驱动轮,另一个为
第二驱动轮。
97.当第一距离信息的数值和第二距离信息的数值不相等,说明第一距离信息的数值和第二距离信息的数值中的一个大于另一个,将数值较小的一个所对应的第一障碍物或第二障碍物记录为标定障碍物,即将距离自行走机器人较近的第一障碍物或第二障碍物记录为标定障碍物。举例而言,若第一距离信息的数值小于第二距离信息的数值,说明自行走机器人距离第一障碍物较近,则将第一距离信息对应的第一障碍物记录为标定障碍物,若第二距离信息的数值小于第一距离信息的数值,说明自行走机器人距离第二障碍物较近,则将第二距离信息对应的第二障碍物记录为标定障碍物。
98.当第一距离信息的数值和第二距离信息的数值相等,说明自行走机器人位于第一障碍物和第二障碍物的中间位置,可以将第一障碍物和第二障碍物中的任一个记录为标定障碍物。
99.然后,通过确定两个驱动轮中靠近标定障碍物的一个为第一驱动轮,另一个为第二驱动轮,说明第一驱动轮与第二驱动轮相比,更靠近周侧障碍物,即离周侧障碍物较近,这样,在后续控制自行走机器人执行第二预设动作进行越障时,先控制第二驱动轮不动,第一驱动轮向靠近第二驱动轮旋转前进,能够避免自行走机器人在执行第二预设动作过程中,先与距离较近的标定障碍物接触的问题,进而提高了第二预设动作执行顺畅性,提高越障的准确性。
100.具体地,如图7和图8所示,待越障碍物如门槛170,位于自行走机器人100的前进方向的前方,其中,前进方向如图7和图8中的箭头所示。周侧障碍物180包括第一障碍物181和第二障碍物182,可以理解的是,第一障碍物181和第二障碍物182可以为墙壁,第一障碍物181位于自行走机器人100的左侧,第二障碍物182位于自行走机器人100的右侧。如图7所示,当自行走机器人100完成第一预设动作,由门槛170处后退第一预设距离后,距离左侧的第一障碍物181较近,则将位于左侧的第一障碍物181记录为标定障碍物183,进而将靠近标定障碍物183的左驱动轮确定为第一驱动轮133,远离标定障碍物183的右驱动轮确定为第二驱动轮134。进而在执行第二预设动作时,先控制位于右侧的第二驱动轮134不动,控制位于左侧的第一驱动轮133旋转前进,能够避免自行走机器人100旋转过程中与标定障碍物183接触的问题,提高了第二预设动作能够顺利完成的可能性。
101.如图8所示,当自行走机器人100完成第一预设动作,由门槛170处后退第一预设距离后,距离右侧的第二障碍物182较近,则将位于右侧的第二障碍物182记录为标定障碍物183,进而将靠近标定障碍物183的右驱动轮确定为第一驱动轮133,远离标定障碍物183的左驱动轮确定为第二驱动轮134。进而在执行第二预设动作时,先控制位于左侧的第二驱动轮134不动,控制位于右侧的第一驱动轮133旋转前进,能够避免自行走机器人100旋转过程中与标定障碍物183接触的问题,提高了第二预设动作能够顺利完成的可能性。
102.也就是说,本公开提供的自行走机器人的遇障处理方法,在通过控制自行走机器人执行第一预设动作,后退第一预设距离,以确保后续执行第二预设动作能够顺利进行的基础上,并考虑到了自行走机器人在执行第一预设动作后的当前位置与周侧障碍物的距离,并将两个驱动轮中较靠近周侧障碍物的一个确定为第一驱动轮,另一个确定为第二驱动轮,在执行第二预设动作过程中,先控制第二驱动轮不动,第一驱动轮朝向靠近待越障碍物方向行进,并在自行走机器人旋转第一预设旋转范围后,控制第一驱动轮不动,第二驱动
轮朝向靠近待越障碍物方向行进,并在自行走机器人旋转第二预设旋转范围后,控制第二驱动轮不动。即通过如蛇形的摆动方式前进,这样,使得自行走机器人的第一驱动轮和第二驱动轮能够依次越至待越障碍物上方,进而使得在旋转过程中,远离轴心侧的驱动轮沿待越障碍物爬行,并在被待越障碍物垫高后仍能与待越障碍物接触,减少打滑,提供更强的驱动力,具有较好的越障能力。
103.作为一种可选示例,检测到自行走机器人处于预设异常状态的步骤,具体包括:
104.在第一预设时长内,检测自行走机器人的姿态信息、自行走机器人在构建的环境空间地图的运动轨迹信息,两个驱动轮各自的行驶里程信息和/或两个驱动轮各自的速度信息;
105.基于姿态信息处于预设水平范围内;
106.若运动轨迹信息处于预设轨迹范围内,且行驶里程信息与运动轨迹信息的位移差超过预设位移差范围的持续时长大于第二预设时长,则自行走机器人处于预设异常状态;或
107.若两个驱动轮的角速度的差值大于预设角速度差范围的持续时长大于第三预设时长,则自行走机器人处于预设异常状态。
108.在该实施例中,第一预设时长可以根据自行走机器人的参数确定,如第一预设时长可以与自行走机器人的外形尺寸、驱动轮尺寸、驱动模块的参数相关联、或满足要求的其他参数关联。可以理解的是,第一预设时长也可以为固定值,如第一预设时长为3s、5s、8s、10s或满足要求的其他数值,本公开不做具体限定。具体地,可以通过陀螺仪检测自行走机器人的姿态信息,具体地,检测自行走机器人x方向的姿态信息;通过slam检测自行走机器人在构建的环境空间地图的运动轨迹信息,通过里程计检测两个驱动轮各自的行驶里程信息和/或两个驱动轮各自的速度信息。
109.其中,姿态信息处于预设水平范围内,说明在第一预设时长内,自行走机器人的朝向不变,具体地,如在第一预设时长内,陀螺仪的水平角度(即x方向)保持不变或水平角度变化较小,即说明自行走机器人的朝向不变。
110.一方面,在自行走机器人的朝向不变的情况下,若运动轨迹信息处于预设轨迹范围内,说明在第一预设时长内,自行走机器人在构建的环境空间地图的位置不变或变化较小,如在第一预设时长内,自行走机器人的slam坐标保持不变或变化较小,说明自行走机器人在构建的环境空间地图的位置不变。当行驶里程信息与运动轨迹信息的位移差超过预设位移差范围,说明里程计记录的行驶里程信息表明自行走机器人行走了一段距离,其中,预设位移差范围可以为10cm、15cm、20cm或满足要求的其他数值,可以理解的是,依据里程计的测量精度和slam的定位精度来确定该数值。当行驶里程信息与运动轨迹信息的位移差超过预设位移差范围的持续时长大于第二预设时长,则表明自行走机器人实际出现了打滑情况,即驱动轮一直在转,里程计记录行驶里程信息在增长,但是自行走机器人在构建的地图中的坐标位置没变,说明,此时自行走机器人处于预设异常状态。可以理解的是,第二预设时长可以为1s、2s、3s或满足要求的其他数值,具体地,第二预设时长小于第一预设时长。
111.其中,该种情况可以视为自行走机器人在直线行走的过程中出现了打滑,如自行走机器人的两个驱动轮都被待越障碍物卡住,即机器人很可能处于待越障碍物上方。
112.另一方面,在自行走机器人的朝向不变的情况下,若两个驱动轮的角速度的差值
大于预设角速度差范围,其中,预设角速度差范围可以为15
°
/s、20
°
/s、25
°
/s或满足要求的其他数值。即两个驱动轮是差速转动的,如一个驱动轮正转,另一个驱动轮反转;或者一个驱动轮正转或反转,另一个驱动轮不转;或者一个高速正转或反转,另一个低速正转或反转,此时对应两个驱动轮的里程计记录的各自的角速度应该是有差值的,当该差值大于预设角速度范围时,说明自行走机器人实际应该是有旋转动作的,但是陀螺仪显示自行走机器人的朝向没有变化,也进一步说明机器人在旋转过程中出现了打滑情况。
113.因此,可以将该种情况视为自行走机器人在旋转过程中出现了打滑,如当自行走机器人在旋转的情况下,一个驱动轮被待越障碍物卡住(排除同向旋转的情况),另一个驱动轮还可以正常转动。
114.可以理解的是,本公开通过上述提供的方案,能够可靠、准确、及时地确定自行走机器人处于预设异常状态,进而依次执行第一预设动作和第二预设动作以进行越障,扩大自行走机器人的功能。
115.在本公开提供的一些可能实现的实施例中,在步骤s406之后,自行走机器人的遇障处理方法还包括:
116.重新检测自行走机器人是否处于预设异常状态;
117.若是,返回并重新执行控制自行走机器人执行第一预设动作的步骤;
118.否则,控制自行走机器人执行处于预设异常状态之前的预设操作;
119.其中,预设操作包括以下至少之一:延续清扫、跨区清扫、回桩行走、延续行走、沿墙清扫。
120.在该实施例中,通过重新检测自行走机器人是否处于预设异常状态,能够确定自行走机器人的此次动作是否越障成功。如果自行走机器人仍处于预设异常状态,说明此次动作没有成功越障,即一个动作序列之后自行走机器人没有成功越障,因此,可以返回并重新执行自行走机器人执行第一预设动作的步骤,进而陆续执行第二预设动作以重新越障,以提高自行走机器人越障的成功率。
121.可以理解的是,通常情况下,如果是可跨越的待越障碍物,完成第一预设动作和第二预设动作之后,就会越障成功,但是也有可能存在仍然越障不成功的情况发生,因此,可以通过再进行一次或多次越障操作,如完成一次第一预设动作和第二预设动作后没有成功越障,即可再执行一个第一预设动作和第二预设动作重新越障。
122.若自行走机器人成功越障,则控制自行走机器人执行处于异常状态之前的预设操作,其中,预设操作包括以下至少之一:延续清扫、跨区清扫、回桩行走、延续行走、沿墙清扫。具体地,延续清扫是指要求自行走机器人在成功越障之后回归到越障前的对接位置和方向;跨区清扫是指自行走机器人在结束前一个分区的清扫之后,越障进入到下一个分区进行新的清扫,此时越障成功之后的位置即为下一个分区新的清扫的起点。回桩行走、延续行走是指机器人越障之后,根据原计划的目的地继续行走;沿墙清扫是指自行走机器人在成功越障之后,以该位置为起点去寻找越障之前的墙的对接位置,以继续沿墙清扫。
123.在上述实施例中,作为一种可选示例,重新检测自行走机器人是否处于预设异常状态的步骤,具体包括:
124.获取自行走机器人在构建的环境空间地图的运动轨迹信息,其中,运动轨迹信息中自行走机器人的当前位置为第一位置,运动轨迹信息中自行走机器人处于预设异常状态
时的位置为第二位置;
125.若第二位置与第一位置之间的距离小于等于预设距离,则自行走机器人处于预设异常状态,否则,自行走机器人处于正常状态。
126.在该实施例中,在自行走机器人执行第二预设动作的步骤之后,通过获取自行走机器人在构建的环境空间地图的运动轨迹信息,即此时的运动轨迹信息显示的是自行走机器人完成第二预设动作之后的运动轨迹信息,其中,运动轨迹信息中自行走机器人的当前位置为第一位置,即运动轨迹信息中自行走机器人完成第二预设动作之后的位置为第一位置,运动轨迹信息中自行走机器人处于预设异常状态时的位置为第二位置,第二预设距离可以根据自行走机器人的参数设定,也可以为固定值,如第二预设距离可以与自行走机器人的外形尺寸正相关,或者,第二预设距离为15cm、20cm、25cm或满足要求的其他数值。
127.若第二位置与第一位置之间的水平距离小于等于第二预设距离,说明第二位置与第一位置之间的水平距离足够小,自行走机器人并没有成功越障,则自行走机器人仍处于预设异常状态,若第二位置与第一位置之间的水平距离大于第二预设距离,说明第二位置与第一位置之间的水平距离足够大,自行走机器人并成功越障,则自行走机器人仍处于正常状态。
128.可以理解的是,也可以通过判断自行走机器人是否打滑来确定自行走机器人是否处于预设异常状态,其具体判断过程如前文所述,在此不再介绍。
129.在本公开提供的一些可能实现的实施例中,自行走机器人还包括湿式清洁系统和抬升机构,其中,抬升机构用于将湿式清洁系统升起远离待清洁表面。在检测到自行走机器人处于预设异常状态的步骤之后,控制自行走机器人执行第一预设动作的步骤之前,还包括:
130.控制抬升机构执行抬升操作升起湿式清洁系统;
131.控制自行走机器人执行前进操作,并检测自行走机器人是否处于预设异常状态;
132.若是,执行自行走机器人执行第一预设动作的步骤;
133.否则,记录预设异常状态和抬升操作。
134.在该实施例中,当检测到自行走机器人处于预设异常状态时,有可能存在湿式清洁系统与门槛类待越障碍物卡住的问题,如湿式清洁系统的清洁头与门槛卡住,通过抬升机构抬起湿式清洁系统后,自行走清洁设备很可能直接越过待越障碍物,不需要执行后续的第一预设动作和第二预设动作的越障操作。因此,先控制抬升机构执行抬升操作,将湿式清洁系统升起远离待清洁表面,如将清洁头升起,然后控制执行走机器人执行前进操作,同时检测自行走机器人是否处于预设异常状态。
135.若自行走机器人仍处于预设异常状态,说明并不是因为湿式清洁系统与门槛类待越障碍物卡住而导致自行走机器人打滑,因此,需要执行越障操作,即执行控制自行走机器人执行第一预设动作的步骤,为后续执行第二预设动作进行越障提供准备,并继续执行后续第二预设动作以实现越障。
136.若自行走机器人并不处于预设异常状态,即自行走机器人处于正常状态,能够正常工作,则将预设异常状态和抬升操作记录下来,若下一次自行走机器人再工作至该门槛类待越障碍物时,控制抬升机构执行抬升操作将湿式清洁系统升起,即可使行走机器人完成越障,简化了后续第一预设动作和第二预设动作等越障操作,有利于提高越障速度。
137.如图5所示,本公开第二个方面的实施例,提供了一种自行走机器人的遇障处理装置500,包括:包括:第一处理模块502,用于基于检测到自行走机器人处于预设异常状态,控制自行走机器人执行第一预设动作;第一检测模块504,用于检测自行走机器人的当前位置与周侧障碍物的越障位置信息;第二处理模块506,用于根据越障位置信息,控制自行走机器人执行第二预设动作以进行越障。
138.本公开提供的自行走机器人的遇障处理装置500,当第一处理模块502检测到自行走机器人处于预设异常状态时,说明自行走机器人无法正常前进,通过控制自行走机器人执行第一预设动作,以确保后续执行的第二预设动作能够顺利进行,进而顺利、可靠地完成越障操作。通过在自行走机器人完成第一预设动作后,第一检测模块504检测自行走机器人的当前位置与周侧障碍物的越障位置信息,第二处理模块506根据越障位置信息,控制自行走机器人执行第二预设动作以进行越障,使得第二预设动作的执行与周侧障碍物的位置相匹配,能够进一步提高越障的准确性和可靠性。即本公开实施例提供的自行走清洁设备,在遇到类似门槛170等障碍物出现打滑的情况时,通过第一预设动作和第二预设动作对自行走机器人的行为进行修正,使得自行走机器人能够顺利越过待越障碍物,增大了自行走机器人的功能。
139.作为一种示例,第一处理模块502包括:第一处理单元,用于控制自行走机器人后退第一预设距离。
140.作为一种示例,自行走机器人包括两个驱动轮,两个驱动轮包括第一驱动轮和第二驱动轮,第二处理模块506包括:第二处理单元,用于控制所述第二驱动轮不动,所述第一驱动轮朝向所述第二驱动轮的方向旋转前进,并记录所述自行走机器人的第一旋转姿态信息;第三处理单元,用于基于所述第一旋转姿态信息达到第一预设旋转范围,控制所述第一驱动轮不动,所述第二驱动轮朝向所述第一驱动轮的方向旋转前进,并记录自行走机器人的第二旋转姿态信息;第四处理单元,用于基于所述第二旋转姿态信息达到第二预设旋转范围,控制所述第二驱动轮停止工作。
141.作为一种示例,周侧障碍物包括沿自行走机器人的预设行进方向的两侧相对分布的第一障碍物和第二障碍物,第一检测模块504包括:第一检测单元,用于检测所述自行走机器人与所述第一障碍物之间的第一距离信息;第二检测单元,用于检测所述自行走机器人与所述第二障碍物之间的第二距离信息;记录单元,用于基于所述第一距离信息的数值和所述第二距离信息的数值不相等,将数值较小的一个所对应的所述第一障碍物或所述第二障碍物记录为标定障碍物,基于所述第一距离信息的数值和所述第二距离信息的数值相等,将所述第一障碍物或所述第二障碍物记录为标定障碍物;第一确定单元,用于确定所述两个驱动轮中靠近所述标定障碍物的一个为所述第一驱动轮,另一个为所述第二驱动轮。
142.作为一种示例,第一处理模块502还包括包括:第三检测单元,用于在第一预设时长内,检测所述自行走机器人的姿态信息、所述自行走机器人在构建的环境空间地图的运动轨迹信息,所述两个驱动轮各自的行驶里程信息和/或所述两个驱动轮各自的速度信息;第二确定单元,用于基于所述姿态信息处于预设水平范围内,若所述运动轨迹信息处于预设轨迹范围内,且所述行驶里程信息与所述运动轨迹信息的位移差超过预设位移差范围的持续时长大于第二预设时长,则所述自行走机器人处于所述预设异常状态;或若所述两个驱动轮的角速度的差值大于预设角速度差范围的持续时长大于第三预设时长,则所述自行
走机器人处于所述预设异常状态。
143.作为一种示例,自行走机器人的遇障处理装置还包括:第二检测模块,用于重新检测所述自行走机器人是否处于所述预设异常状态;第三处理模块,用于在所述第二模块的检测结果为是的情况下,返回并重新执行控制所述自行走机器人执行第一预设动作的步骤,否则,控制所述自行走机器人执行处于所述预设异常状态之前的预设操作;其中,预设操作包括以下至少之一:延续清扫、跨区清扫、回桩行走、延续行走、沿墙清扫。
144.作为一种示例,第二检测模块包括:第一获取单元,用于获取所述自行走机器人在构建的环境空间地图的运动轨迹信息,其中,所述运动轨迹信息中所述自行走机器人的当前位置为第一位置,所述运动轨迹信息中所述自行走机器人处于所述预设异常状态时的位置为第二位置;第三确定单元,用于在所述第二位置与所述第一位置之间的水平距离小于等于第二预设距离,则确定所述自行走机器人处于所述预设异常状态,否则,确定所述自行走机器人处于正常状态。
145.作为一种示例,自行走机器人的遇障处理装置还包括:第四处理模块,用于控制所述抬升机构执行抬升操作升起所述湿式清洁系统,控制所述自行走机器人执行前进操作,并检测所述自行走机器人是否处于所述预设异常状态,若是,执行所述控制所述自行走机器人执行所述第一预设动作的步骤,否则,记录所述预设异常状态和所述抬升操作。
146.本公开实施例提供一种计算机可读存储介质,存储有计算机程序指令,计算机程序指令在被处理器调用和执行时实现如上述任一实施例的自行走机器人的遇障处理方法步骤。
147.本公开实施例提供了一种机器人,包括处理器和存储器,存储器存储有能够被处理器执行的计算机程序指令,处理器执行计算机程序指令时,实现任一实施例的自行走机器人的遇障处理方法步骤。
148.如图6所示,机器人可以包括处理装置601(例如中央处理器、图形处理器等),其可以根据存储在只读存储器(rom602)中的程序或者从存储装置608加载到随机访问存储器(ram603)中的程序而执行各种适当的动作和处理。在ram603中,还存储有电子机器人操作所需的各种程序和数据。处理装置601、rom602以及ram603通过总线604彼此相连。输入/输出(i/o)接口也连接至总线604。
149.通常,以下装置可以连接至i/o接口605:包括例如触摸屏、触摸板、键盘、鼠标、摄像头、麦克风、加速度计、陀螺仪等的输入装置606;包括例如液晶显示器(lcd)、扬声器、振动器等的输出装置607;包括例如硬盘等的存储装置608;以及通信装置609。通信装置609可以允许电子机器人与其他机器人进行无线或有线通信以交换数据。虽然图6示出了具有各种装置的电子机器人,但是应理解的是,并不要求实施或具备所有示出的装置。可以替代地实施或具备更多或更少的装置。
150.特别地,根据本公开的实施例,上文参考流程图描述的过程可以被实现为机器人软件程序。例如,本公开的实施例包括一种机器人软件程序产品,其包括承载在可读介质上的计算机程序,该计算机程序包含用于执行流程图4所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信装置609从网络上被下载和安装,或者从存储装置608被安装,或者从rom602被安装。在该计算机程序被处理装置601执行时,执行本公开实施例的方法中限定的上述功能。
151.需要说明的是,本公开上述的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以但不限于:电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(ram603)、只读存储器(rom602)、可擦式可编程只读存储器(eprom602或闪存)、光纤、便携式紧凑磁盘只读存储器(cd-rom602)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本公开中,计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读信号介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:电线、光缆、rf(射频)等等,或者上述的任意合适的组合。
152.上述计算机可读介质可以是上述机器人中所包含的;也可以是单独存在,而未装配入该机器人中。
153.可以以一种或多种程序设计语言或其组合来编写用于执行本公开的操作的计算机程序代码,上述程序设计语言包括面向对象的程序设计语言诸如java、small talk,c ,还包括常规的过程式程序设计语言诸如“c”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。
154.在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络,如包括局域网(lan)或广域网(wan)连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
155.附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为苔换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
156.以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
157.最后应说明的是:以上实施例仅用以说明本公开的技术方案,而非对其限制:尽管参照前述实施例对本公开进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换:而这些修改或者替换,并不使相应技术方案的本质脱离本公开各实施例技术方案的精神和范围。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献