一种机器人被困的判断方法及其脱困的控制方法与流程

文档序号:15488630发布日期:2018-09-21 20:11阅读:235来源:国知局

本发明涉及电子信息和智能控制技术领域,具体涉及一种机器人被困的判断方法及其脱困的控制方法。



背景技术:

扫地机器人,又称自动打扫机、智能吸尘器、机器人吸尘器等,是智能家用电器的一种,能凭借一定的人工智能,自动在房间内完成地板清理工作。这种机器人通过传感器检测到位于清洁区内的诸如家具、办公设备和墙壁的障碍物的距离,会触发扫地机器人绕行障碍物一周进行清扫,从而完成沿边清扫任务。

扫地机器人的行走规则主要有两种,包括沿边和弓字型,其中弓字型行走,用于清扫空旷区域;沿边行走,用于清扫房间的边边角角。所述沿边行走,就是让机器人沿着墙边移动,在移动过程中,可以不断根据与墙边的距离调整所走方向。所述机器人在沿边行走过程中,会遇到不同的障碍物,为了有效简化对室内环境的描述,便于在路径规划中提出合理的对应策略,可对室内障碍物做如下处理:1、只要障碍物与墙壁的距离不满足所述机器人通行的最小距离,机器人不能顺利通过,就按靠墙障碍物处理。2、对于直线型障碍物,用矩形代表其轮廓特征;对于非直线型障碍物,采用折线逼近法处理。3、当两个障碍物之间的距离很近而无法使所述机器人顺利通过时,可将二者看做一个障碍物进行处理。

在沿边行走过程中,扫地机器人容易被困在一些复杂的区域,如家里的桌子、椅子下面。所以机器人的沿边行走必须具备以下两个特点:1、机器人一直贴着障碍物行走,也就是保证贴边;2、无论障碍物是规则的一面墙,还是不规则的复杂障碍物,机器人都能快速的走过。至于特点2,扫地机器人遇到障碍物时,要根据障碍物的方位,选择一个比较大的角度旋转,扫地机器人朝着远离障碍物的方向旋转,绕过障碍物。

但在一些复杂环境,四周都是障碍物,只有一个比扫地机器人机身略宽的出口时,沿边采用特点2的转角方式,则很难走出来,导致一直被困住这个小区域,不利于提高机器人的清扫效率。在现有的技术中,机器人在预定时间内通过判断预定时间内原地自转或碰撞的次数来判断机器人是否被困,然后通过检测障碍物反射回的红外线反射率去调整循环触发距离,以脱离被困区域。上述判断被困的方法中,所述预定次数会受到机器人驱动轮子打滑的影响,使得判断存在误差;同时所述脱困解决方案会受到障碍物的反射率的影响,在被困区域出口宽度不够的情况下,机器人会撞向反射率较高的障碍物,使得机器人原地打转,从而发生无法脱离被困区域的问题。因此有必要提供一种新的技术方案以解决现有技术存在的问题。



技术实现要素:

本发明的具体技术方案如下:

一种机器人被困的判断方法,包括如下步骤:

步骤 S1:记录机器人获取的栅格坐标;

步骤S2:判断预定时间内记录到所述栅格坐标的计数变量的变化量是否小于预设计数阈值,是则确定所述机器人被困,否则确定所述机器人不被困;

其中,所述预定时间表示检测所述机器人运动的时间间隔,所述计数变量记录所述机器人获取的不同栅格坐标的个数;所述预设计数阈值是根据所述机器人被困情况而设置的所述计数变量的临界值。

进一步地,所述预定时间的数值设置为20,单位为秒。

进一步地,所述预设计数阈值的数值设置小于或等于5。

进一步地,所述判断方法的步骤S1的具体方法包括:

步骤S11:获取当前栅格坐标,并进入步骤S12;

步骤S12:判断所述当前栅格坐标与缓冲区内的栅格坐标是否相同,是则跳出步骤S12,否则进入步骤S13;

步骤S13:将所述当前栅格坐标放在所述缓冲区的首位置,所述缓冲区其它的栅格坐标数据按顺序往后移动,并让所述计数变量加1,当所述缓冲区已填满时,其最后的栅格坐标数据被移除。

进一步地,所述缓冲区的内存大小设置为20,单位为栅格坐标的个数。

进一步地,所述判断方法的步骤S2的具体方法包括:

步骤S21: 当机器人开始运动时,记录下初始时间作为参考时间变量,记录下初始计数变量作为参考计数变量,并进入步骤S22;

步骤S22:判断当前时间与参考时间变量的差值是否大于所述预定时间,是则进入步骤S23,否则继续记录时间;

步骤S23:判断当前所述计数变量与参考计数变量的差值是否小于所述预设计数阈值,是则进入步骤S25,否则进入步骤S24;

步骤S24:确定所述机器人不被困,并进入步骤S26;

步骤S25:确定所述机器人被困,并进入步骤S26;

步骤S26:将所述参考计数变量的数值更新为当前所述计数变量的数值,并进入步骤S27;

步骤S27:将所述参考时间变量的数值更新为所述当前时间的数值,本次判断结束,并返回步骤S22。

另一种机器人被困的判断方法,包括如下步骤:

步骤 S1:记录机器人获取的栅格坐标;

步骤 S2:记录机器人的旋转角度;

步骤S3:判断预定时间内记录到所述栅格坐标的计数变量的变化量是否小于预设计数阈值,并判断预定时间内记录到所述旋转角度的变化量是否大于360度,如果上述两个判断都成立则确定所述机器人被困,否则确定所述机器人不被困;

其中,所述预定时间表示检测所述机器人运动的时间间隔,所述计数变量记录所述机器人获取的不同栅格坐标的个数;所述预设计数阈值是根据所述机器人被困情况而设置的所述计数变量的临界值。

进一步地,所述预定时间的数值设置为20,单位为秒。

进一步地,所述预设计数阈值设置小于或等于8。

进一步地,所述判断方法的步骤S1的具体方法包括:

步骤S11:获取当前栅格坐标,并进入步骤S12;

步骤S12:判断所述当前栅格坐标与缓冲区内的栅格坐标是否相同,是则跳出步骤S12,否则进入步骤S13;

步骤S13:将所述当前栅格坐标放在所述缓冲区的首位置,所述缓冲区其它的栅格坐标数据按顺序往后移动,并让所述计数变量加1,当所述缓冲区已填满时,其最后的栅格坐标数据被移除,

进一步地,所述缓冲区的内存大小设置为20,单位为栅格坐标的个数。

进一步地,所述判断方法的步骤S3的具体方法包括:

步骤S31: 当机器人开始运动时,记录下初始时间作为参考时间变量,记录下初始计数变量作为参考计数变量,记录下所述机器人初始旋转角度作为参考旋转角度,并进入步骤S32;

步骤S32:判断当前时间与参考时间变量的差值是否大于所述预定时间,是则进入步骤S33,否则继续记录时间;

步骤S33:判断当前所述计数变量与参考计数变量的差值是否小于所述预设计数阈值,并判断当前所述旋转角度与参考旋转角度的差值的绝对值是否大于360度,是则进入步骤S35,否则进入步骤S34;

步骤S34:确定所述机器人不被困,并进入步骤S36;

步骤S35:确定所述机器人被困,并进入步骤S36;

步骤S36:将所述参考计数变量的数值更新为当前所述计数变量的数值,将所述参考旋转角度的数值更新为当前所述旋转角度的数值,并进入步骤S37;

步骤S37:将所述参考时间变量数值更新为所述当前时间的数值,本次判断结束,并返回步骤S32。

一种机器人脱困的控制方法,所述控制方法具体包括:

步骤1:当感测到所述机器人在当前位置与障碍物碰撞时,设置一个比所述机器人被困时碰撞到障碍物转动角度小的预设角度,并进入步骤2;

步骤2:所述机器人往其前进方向的同一侧转动所述预设角度,再前进,并进入步骤3;

步骤3:根据所述判断方法确定所述机器人是否被困,如果是,则返回步骤1,否则确定机器人脱困。

进一步地,所述预设角度设置为大于5度,小于15度。

本发明实施的有益效果在于,本发明介绍一种机器人被困的判断方法,能快速检测到扫地机器人被困,机器人每次碰撞障碍物后,往同一方向转动预设角度,再前进,直到扫地机器人脱离被困区域,从而提高机器人的清扫效率和清洁效果。

附图说明

图1为机器人的基本结构图;

图2为机器人的控制方法流程图;

图3为缓冲区记录栅格坐标的方法流程图;

图4为机器人被困的判断方法流程图(不对机器人的旋转角度加以判断);

图5 为机器人被困的判断方法流程图(结合机器人的旋转角度加以判断);

图6为机器人沿着只有一个出口的墙壁区域行走,被困在该区域的示意图;

图7为机器人沿着只有一个出口的墙壁区域行走,脱离该区域的示意图;

图8为机器人沿着四个角落都有障碍物且有四个出口的区域行走,被困在该区域的示意图;

图9为机器人沿着四个角落都有障碍物且有四个出口的区域行走,脱离该区域的示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行详细描述。应当理解,下面所描述的具体实施例仅用于解释本发明,并不用于限定本发明。

在本发明专利中,需要理解的是术语“中心”、“宽度”、“左”、“右”等指示方位或位置关系为基于附图所示的方位或位置关系,仅是为了方便描述本发明实施和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明专利的限制。

图1是本实施例提供的机器人的模块构成图,所述机器人包括行动机体101、主控模块104、传感器集合105、电源模块及区域操作组件。其中,行动机体1包括机壳、左驱动轮103和右驱动轮102。传感器集合105包括碰撞检测传感器、障碍物检测传感器、距离信息传感器、角度信息传感器,均与主控模块有电气连接。

具体地,碰撞检测传感器用于感测机器人所在区域碰到的障碍物,做出当前与障碍物发生碰撞的判断并通知主控模块104。防跌路检测传感器用于机器人下方为悬空状态时,做出当前处于危险状态的判断并通知主控模块104。障碍物检测传感器用于检测机器人周围是否出现障碍物并通知主控模块104。距离信息传感器为轮子编码器,角度信息传感器为陀螺仪。区域操作组件是指对机器人所处区域进行某些功能操作的组件,可以为清洁组件、摄像组件、加湿组件、除湿组件、灭虫组件中的一个或多个,本实施例以清洁组件为例进行说明,即本实施例所述的机器人为扫地机器人。

图2是本发明实施例下机器人的控制方法,包括所述机器人被困的判断方法和所述机器人脱困的控制方法,通过记录预定时间内不同栅格坐标的个数,结合机器人绕着障碍物的边缘转过的角度,快速判断出机器人被困的情况。如果判断机器人被困,则在每一次与障碍物碰撞时,机器人往同一方向转动所述预设角度,再前进,然后根据被困判断方法去确定所述机器人脱离这个被困区域。

本发明提供一种机器人被困的判断方法,该方法包括,步骤S1中,记录机器人获取的栅格坐标;步骤S2:判断预定时间内记录到所述栅格坐标的计数变量的变化量是否小于预设计数阈值,是则确定所述机器人被困,否则确定所述机器人没有被困。

具体地,所述预定时间表示检测机器人运动的时间间隔,数值设置为20,单位为秒。

具体地,所述计数变量记录所述机器人获取的不同栅格坐标的个数。

具体地,根据本发明实施使用的机器人的实际运行情况,在不考虑所述机器人驱动轮打滑的情况下,将该数值设置为小于或等于5。

所述判断方法的步骤S1的具体方法,如图3的缓冲区记录栅格坐标的流程图所示。步骤S11中,获取当前栅格坐标,并进入步骤S12;步骤S12中,判断所述当前栅格坐标与缓冲区内的栅格坐标是否相同,是则跳出步骤S12,否则进入步骤S13;步骤S13中,将所述当前栅格坐标放在所述缓冲区的首位置,所述缓冲区其它的栅格坐标数据按顺序往后移动,并让所述计数变量加1,当所述缓冲区已填满时,其最后的栅格坐标数据被移除。

具体地,所述缓冲区的内存大小设置为20,单位为栅格坐标的个数。

所述判断方法的步骤S2的具体方法包括,步骤S21中,当机器人开始运动时,记录下初始时间作为参考时间变量,记录下初始计数变量作为参考计数变量,并进入步骤S22;步骤S22中,判断当前时间与参考时间变量的差值是否大于所述预定时间,是则进入步骤S23,否则继续记录时间;在步骤S23中,判断当前所述计数变量与参考计数变量的差值是否小于所述预设计数阈值,是则进入步骤S25,否则进入步骤S24;步骤S24中,确定所述机器人不被困,并进入步骤S26;步骤S25中,确定所述机器人被困,并进入步骤S26;步骤S26中,将所述参考计数变量的数值更新为当前所述计数变量的数值,并进入步骤S27;

在步骤S27中,将所述参考时间变量的数值更新为所述当前时间的数值,本次判断结束,并返回步骤S22。

本发明提供另一种机器人被困的判断方法,该方法包括,步骤S1中,记录机器人获取的栅格坐标;步骤S2:记录机器人的旋转角度;步骤S3:判断预定时间内记录到所述栅格坐标的计数变量的变化量是否小于预设计数阈值,并判断预定时间内记录到所述旋转角度的变化量是否大于360度,如果上述两个判断都成立则确定所述机器人被困,否则确定所述机器人没有被困。

具体地,所述预定时间表示检测机器人运动的时间间隔,数值设置为20,单位为秒。

具体地,所述计数变量记录所述机器人获取的不同栅格坐标的个数。

具体地,由于实际家庭环境比较复杂,所以要考虑到所述机器人的驱动轮打滑、陀螺仪漂移等产生误差,导致所述机器人在预定时间内所述计数变量的变化量比所述机器人实际经过的不同栅格坐标的个数多,所述预设计数阈值是在综合考虑所述误差的基础上,为判断机器人被困情况而设置的所述预定时间内进入缓冲区的栅格坐标的个数的临界值, 根据本发明实施使用的机器人的实际运行情况,将该数值设置为小于或等于8。

所述判断方法的步骤S1的具体方法,如图3的缓冲区记录栅格坐标的流程图所示。步骤S11中,获取当前栅格坐标,并进入步骤S12;步骤S12中,判断所述当前栅格坐标与上一次进入缓冲区的栅格坐标是否相同,是则跳出步骤S12,否则进入步骤S13;步骤S13中,将所述当前栅格坐标放在所述缓冲区的首位置,所述缓冲区其它的栅格坐标数据按顺序往后移动,并让计数变量加1,当所述缓冲区已填满时,其最后的栅格坐标数据被移除,然后结束对重复进入所述缓冲区的栅格坐标的判断,确保每一次进入所述缓冲区的栅格坐标都是不同的。

具体地,所述缓冲区的内存大小设置为20,单位为栅格坐标的个数。

所述判断方法的步骤S3的具体方法包括,步骤S31中,当机器人开始运动时,记录下初始时间作为参考时间变量,记录下初始计数变量作为参考计数变量,记录下所述机器人初始旋转角度作为参考旋转角度,并进入步骤S32;步骤S32中,判断当前时间与参考时间变量的差值是否大于所述预定时间,是则进入步骤S33,否则继续记录时间;步骤S33中,判断当前所述计数变量与参考计数变量的差值是否小于所述预设计数阈值,并判断当前所述旋转角度与参考旋转角度的差值的绝对值是否大于360度,是则进入步骤S35,否则进入步骤S34;步骤S34中,确定所述机器人不被困,并进入步骤S36;步骤S35中,确定所述机器人被困,并进入步骤S36;步骤S36中,将所述参考计数变量的数值更新为当前所述计数变量的数值,将所述参考旋转角度的数值更新为当前所述旋转角度的数值,并进入步骤S37;步骤S37中,将所述参考时间变量数值更新为所述当前时间的数值,本次判断结束,并返回步骤S32。

根据上述的判断方法得出所述机器人被困时,机器人脱困的控制方法包括,步骤1中,当感测到所述机器人在当前位置与障碍物碰撞时,设置一个比所述机器人被困时碰撞到障碍物转动角度小的预设角度,并进入步骤2;在步骤2中,所述机器人往其前进方向的同一侧转动所述预设角度,再前进,并进入步骤3;在步骤3中,根据所述判断方法确定所述机器人是否被困,如果是,则返回步骤1,否则确定机器人脱困。具体地,在所述预定时间内,当所述计数变量的变化量大于所述预设计数阈值时,所述机器人已离开被困区域,所述机器人不再以预设角度转动,但会继续往其他区域运动;或者在所述预定时间内,当所述计数变量的变化量大于所述预设计数阈值,且所述旋转角度的变化量的绝对值小于360度时,所述机器人已离开被困区域,机器人不再以预设角度转动,但会继续往其他区域运动。

在上述运动过程中,所述机器人的主控模块104根据传感器集合105对被困区域的感测结果对碰撞到障碍物时转动的角度进行设置,如果设置过所述机器人每次移动路径较短,不利于提高清扫效率;如果转动的角度值设置过大,使得机器人在清洁区域出口宽度略大于机身宽度的情况下,所述机器人转动后,朝着远离出口的一端前进,撞向出口的另一个端并返回被困区域,从而在被困区域内360度打转,无法脱离。所以在机器人脱困的控制方法中,设置一个比被困情况下碰撞到障碍物时转动的角度小预设角度,使得所述机器人在碰撞到障碍物时转动所述预设角度进行脱困,所述预设角度设置为大于5度,小于15度。

本发明的一种实施例中的清洁区域有实体边界,只有一个出口,且清洁区域的出口宽度都略大于扫地机器人的行动机体1的直径。如图6和图7所示,机器人的清洁区域为#1,该区域包括第一墙面10、第二墙面11及第三墙面12,第二墙面11位于第一墙面10和第三墙面12之间,使得清洁区域#1成为一狭窄的死巷,只有一个出口AB。假设扫地机器人的行动机体1的直径为37.5cm,出口AB的宽度为40cm,机器人行动机体1的直径长度略小于出口AB宽度。主控模块104每隔20s去检测新记录的栅格坐标的个数是否小于所述预设计数阈值(本实施例中设置为5),是则得出所述机器人被困的结果;否则,如果出现所述机器人的驱动轮打滑等误差,导致20s内述机器人实际经过的栅格坐标的个数小于所述计数变量的变化量,则需要重新设置更大的所述预设计数阈值进行判断(本实施例中设置为8)进行判断,从而确定所述机器人被困在清洁区域#1中。由于所述机器人被困在清洁区域#1时会沿墙面打转,所以在本发明实施其中一种机器人被困的判断方法中,需要结合角度信息传感器在20s内所述机器人记录到所述旋转角度的变化量大于360度来进一步判断所述机器人是否被困在清洁区域#1。

优选地,本发明提供机器人被困的一种具体实施例,所述机器人在清洁区域#1中碰撞到障碍物时,将转动的角度设置在15-90度这一角度范围,在图6中,确定为22度。当述机器人在清洁区域#1中位置O1处与障碍物B相碰撞时,向右转动22度,使其往位置O1处箭头方向l1前进,撞向第三墙面12,在撞到第一墙面12后,往其前进方向的右侧转动22度以改变运动方向继续前进,直到碰撞第三墙面12的另一个位置;所述机器人按照上述行走逻辑继续前进,当运动到位置O2处时与第二墙面11碰撞,然后往其前进方向的右侧转动22度,使其朝着位置O2处箭头方向l2前进,直到碰撞到另一个障碍物;所述机器人按照上述行走逻辑继续前进,当所述机器人行走到位置O3时与第一墙面10碰撞,然后往其前进方向的右侧转动22度,使其朝着位置O3处箭头方向l3前进,直到碰撞另一个障碍物;所述机器人运用上述行走逻辑继续前进,当所述机器人当运动到位置O处,朝着位置O处箭头方向l4前进至位置O’,在位置O’处与障碍物A碰撞,然后向其前进方向的右侧转动22度,再前进至位置O1’。当所述机器人朝着位置O1’处箭头方向l5前进时,因为出口AB的宽度略大于所述机器人的行动机体1的直径,会撞向障碍物B,在与障碍物B碰撞后,往其前进方向的右侧转动22度,继续前进,返回位置O1,然后按照上述行走逻辑在清洁区域#1内沿着第三墙面12、第二墙面11和第一墙面10打转,根据上述的机器人被困的判断方法确定所述机器人被困在清洁区域#1,整体路径方向如图6虚线箭头所示。

本发明提供机器人脱困的一种具体实施方式,所述机器人需要在每次碰撞障碍物时,设置比上述被困情况下碰撞到障碍物时转动的角度小的预设角度,如果所述预设角度设置在5-15度这一角度范围,如图7所示,确定好所述预设角度为12度,所述机器人从清洁区域#1的位置O4处开始执行脱困操作。所述机器人在位置O4处与障碍物B碰撞,然后向右侧转动所述预设角度,使其往O4处箭头方向l6前进,在撞到第三墙面12后,往其前进方向的右侧转动所述预设角度,继续前进,直到碰撞到另一个障碍物;当所述机器人按照上述行走方式到达位置O6时,与第三墙面12碰撞,然后向其前进方向的右侧转动所述预设角度,使其往O6处箭头方向l7继续前进,然后向其前进方向的右侧转动所述预设角度,继续前进,直到碰撞到另一个障碍物;当所述机器人按照上述行走方式运动到位置O8处,与第二墙面11碰撞,然后往其前进方向的右侧转动所述预设角度,使其朝着位置O8处箭头方向l8继续前进,在撞到第一墙面10后,往其前进方向的右侧转动所述预设角度,继续前进,直到碰撞到另一个障碍物;当所述机器人按照上述行走方式运动到位置O5处时,朝着位置O5指向位置O5’的箭头方向l9前进,到达位置O5’处与障碍物A碰撞,然后所述机器人通知主控模块104向前进方向的右侧转动12度,使其朝着位置O4’处箭头方向l10前进至位置O4’,由于清洁区域#1的AB出口宽度略大于所述机器人行动机体1的直径,所以所述机器人到达位置O4’处与障碍物B碰撞,所述机器人往前进方向的右侧转动所述预设角度,使其朝着位置O3’处箭头方向l10’前进至位置O3’,同时所述机器人的主控模块104执行所述机器人被困的判断方法,判断到所述机器人运动到位置O3’处不被困,所述机器人沿着箭头方向l10’继续前进,离开清洁区域#1。

本发明的另一种实施例中的清洁区域没有实体边界,只是由若干个孤立障碍物组成,且清洁区域的出口宽度都略大于扫地机器人的行动机体1的直径。如图8和图9所示,机器人的清洁区域为#2,该区域的四周都有障碍物,分别为孤立的障碍物A1、B1、C1、D1,类似桌子、椅子底下的区域,该区域的出口A1B1、B1D1、C1D1、C1A1的宽度都略大于扫地机器人的行动机体1的直径。假设扫地机器人的行动机体1的直径可设置为37.5cm,清洁区域#2出口宽度设置为40cm。主控模块104每隔20s去检测新记录的栅格坐标的个数是否小于所述预设计数阈值(本实施例中设置为5),是则得出所述机器人被困的结果;否则,如果出现所述机器人的驱动轮打滑等误差,导致20s内所述机器人实际经过的栅格坐标的个数小于所述计数变量的变化量,则需要重新设置更大的所述预设计数阈值(本实施例中设置为8)进行判断,从而确定所述机器人的被困情况。由于所述机器人被困在清洁区域#2时会沿四个障碍物360度打转,所以在本发明实施提供的一种机器人被困的判断方法中,需要结合角度信息传感器在20s内所述机器人记录到所述旋转角度的变化量是否大于360度来进一步判断所述机器人是否被困在清洁区域#2。

优选地,本发明提供机器人被困的一种具体实施例,所述机器人在清洁区域#2中碰撞到障碍物时,将转动的角度设置在15-90度这一角度范围,在图6中,确定为60度。如图8所示,所述机器人从位置O10出发,朝着位置O10处箭头方向l11,直到与障碍物A1相撞,到达位置O10’处,然后向其前进方向的左侧转动60度,使其朝着位置O10’处箭头方向l12前进,所述机器人在位置O13处与障碍物D1碰撞,所述机器人在位置O13处向其前进方向的左侧转动60度,使其朝着箭头方向l13前进。由于清洁区域#2的C1D1出口宽度略大于所述机器人行动机体1的直径,所以按照上述行走逻辑前进,会在位置O12处与障碍物C1碰撞,然后向其前进方向的左侧转动60度,使其朝着位置O12处箭头方向l14前进。由于清洁区域#2的C1B1出口宽度略大于所述机器人行动机体1的直径,所以运动至位置O11处与障碍物B1碰撞,然后向其前进方向的左侧转动60度,使其朝着位置O11处箭头方向l15前进,由于清洁区域#2的A1B1出口宽度略大于所述机器人行动机体1的直径,所以所述机器人离开障碍物B1后,与障碍物A1碰撞,然后向其前进方向的左侧转动60度,返回位置O10’,重复上述行走逻辑,所述机器人在清洁区域#2内沿着四个障碍物打转,根据上述的机器人被困的判断方法,确定所述机器人被困在清洁区域#2,整体路径方向如图8虚线箭头所示。

本发明提供机器人脱困的一种具体实施方式,所述机器人需要在每次碰撞障碍物时,设置比上述被困情况下碰撞到障碍物时转动的角度小的预设角度,如果所述预设角度设置在5-15度这一角度范围,如图9所示,确定好所述预设角度为12度,所述机器人从清洁区域#2的位置O11’处开始执行脱困操作。所述机器人从位置O11’处出发,朝着位置O11’处箭头方向l15前进,直到与障碍物A1碰撞,然后往其前进方向的左侧转动12度,使其朝着位置O12’处箭头方向l16前进至位置O13’, 由于清洁区域#2的A1D1出口宽度略大于所述机器人行动机体1的直径,所以在位置O13’上与障碍物D1碰撞,然后向其前进方向的左侧转动12度,使其朝着箭头方向l17前进至位置O14’,同时主控模块104执行所述机器人被困的判断方法,判断到所述机器人在位置O14’处没有被困,所述机器人沿着箭头方向l17继续前进,离开清洁区域#2。

从上述机器人被困的两种具体实施例可知,所述机器人在预定时间内能通过记录的不同栅格坐标的个数变化和绕障碍物旋转的角度变化,快速判断出所述机器人的被困情况,并能兼顾机器打滑等误差状况,减少机器人绕过障碍物所花的不必要时间,有利于机器人脱困。

从上述机器人脱困的两种具体实施方式可知,所述机器人被困时不可避免地与障碍物碰撞。为了避开障碍物,每次碰撞后,无论障碍物位于机器人的什么方向,所述机器人往前进方向的同一侧转动所述预设角度,再前进,直到判断得出所述机器人脱离被困区域,从而提高机器人清扫效率和清洁效果。

本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。这些程序可以存储于计算机可读取存储介质(比如ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质)中。该程序在执行时,执行包括上述各方法实施例的步骤。

最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改, 或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1