机器人的碰撞处理方法、装置及机器人与流程

文档序号:13364188阅读:841来源:国知局

本发明涉及智能家居技术领域,具体涉及一种机器人的碰撞处理方法、装置及机器人。



背景技术:

随着科技的发展,以及人们对生活质量的要求的不断增高,智能家居逐渐出现在人们的日常生活中,其中,尤其具有代表性的清扫机器人越来越受人们的喜爱。由于清扫环境的复杂性,使得清扫机器人在执行清扫工作的过程中会遇到各种障碍物,其中,尤其当机器人行进到一些不规则的障碍物附近,例如,“v字型”障碍物附近,则机器人容易被困在该障碍物内,因而会阻断清扫机器人自动完成清扫工作。

然而,发明人在实现本发明的过程中发现,现有技术中的机器人在遇到上述不规则障碍物后,往往只能通过人工挪动的方式,或者,按照固定的方式退出该障碍物附近,因此,不能完成不规则障碍物附近的清扫工作。由此可见,现有技术中尚没有一种能够很好地解决上述问题的技术方案。



技术实现要素:

鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的机器人的碰撞处理方法、装置及机器人。

根据本发明的一个方面,提供了一种机器人的碰撞处理方法,包括:

当检测到机器人与障碍物碰撞后,通过设置在机器人的前端的至少两个碰撞传感器确定机器人的碰撞方位;

控制机器人移动至旋转位置并开始旋转运动,在旋转运动的过程中,监测设置在机器人的预设位置处的距离传感器所感测到的障碍物距离值的变化情况;

根据障碍物距离值的变化情况以及机器人的碰撞方位判断机器人的当前朝向是否与障碍物相互平行;

当判断结果为是时,控制机器人停止旋转运动,并沿障碍物行进。

进一步的,所述预设位置包括:机器人的非中心位置,并且,所述距离传感器的朝向与所述机器人的横向方向相互平行;其中,所述机器人的横向方向垂直于所述机器人的当前朝向。

进一步的,所述监测设置在机器人的预设位置处的距离传感器所感测到的障碍物距离值的变化情况;根据所述障碍物距离值的变化情况以及所述机器人的碰撞方位判断机器人的当前朝向是否与所述障碍物相互平行的步骤具体包括:

根据所述距离传感器所感测到的障碍物距离值的变化情况绘制对应的变化曲线,根据所述变化曲线中的波谷判断机器人的当前朝向是否与所述障碍物相互平行。

进一步的,所述根据所述距离传感器所感测到的障碍物距离值的变化情况绘制对应的变化曲线的步骤具体包括:绘制所述距离传感器所感测到的障碍物距离值根据时间和/或旋转角度进行变化时的变化曲线;

则所述根据所述变化曲线中的波谷判断机器人的当前朝向是否与所述障碍物相互平行的步骤具体包括:

根据所述变化曲线中的波谷确定能够使机器人的当前朝向与所述障碍物相互平行的时间点和/或旋转角度,将机器人在该时间点和/或旋转角度时对应的位置确定为平行位置;当机器人处于所述平行位置时,确定机器人的当前朝向与所述障碍物相互平行。

进一步的,所述根据所述变化曲线中的波谷判断机器人的当前朝向是否与所述障碍物相互平行的步骤具体包括:

当所述变化曲线中的波谷为多个时,根据机器人的碰撞方位确定机器人与障碍物之间的位置关系;

根据该位置关系滤除多个波谷中包含的无效波谷后,从多个波谷中选定有效波谷,根据该有效波谷判断机器人的当前朝向是否与所述障碍物相互平行。

进一步的,所述至少两个碰撞传感器包括:设置在机器人防撞杆内部的第一开关式碰撞传感器以及第二开关式碰撞传感器;则所述通过设置在所述机器人的前端的至少两个碰撞传感器确定机器人的碰撞方位的步骤具体包括:

当所述第一开关式碰撞传感器被触发,所述第二开关式碰撞传感器未被触发时,确定碰撞方位位于与所述第一开关式碰撞传感器相对应的方位;

当所述第二开关式碰撞传感器被触发,所述第一开关式碰撞传感器未被触发时,确定碰撞方位位于与所述第二开关式碰撞传感器相对应的方位;

当所述第一开关式碰撞传感器被触发,且所述第二开关式碰撞传感器被触发时,确定碰撞方位位于所述第一开关式碰撞传感器以及所述第二开关式碰撞传感器的中部。

进一步的,所述至少两个碰撞传感器进一步包括:设置在所述第一开关式碰撞传感器与所述第二开关式碰撞传感器之间的至少一个中部开关式碰撞传感器,其中,各个碰撞传感器之间间隔预设角度。

进一步的,所述预设位置包括:机器人的第一轮的前端,或者,机器人的第二轮的前端。

进一步的,所述距离传感器与机器人中心位置的连线与机器人的横向方向之间呈预设夹角;其中,所述预设夹角为3度至15度。

进一步的,所述预设夹角为5度至10度。

进一步的,所述沿所述障碍物行进的步骤具体包括:

将机器人停止旋转运动时所感测到的障碍物距离值确定为基准障碍物距离值;

判断该基准障碍物距离值是否处于预设的基准范围内;

若是,则控制机器人与障碍物之间保持该基准障碍物距离值并行进;若否,则调整机器人的第一轮和/或第二轮的轮速,以使机器人与障碍物之间的距离处于所述基准范围内并行进。

进一步的,所述调整机器人的第一轮和/或第二轮的轮速,以使机器人与障碍物之间的距离处于所述基准范围内并行进的步骤具体包括:

若该基准障碍物距离值大于所述预设的基准范围,则控制所述第一轮加速,第二轮减速,以缩减机器人与障碍物之间的距离;

若该基准障碍物距离值小于所述预设的基准范围,则控制所述第一轮减速,第二轮加速,以增大机器人与障碍物之间的距离;

其中,所述第一轮与障碍物之间的距离大于所述第二轮与障碍物之间的距离。

进一步的,所述控制机器人与障碍物之间保持该基准障碍物距离值并行进的步骤具体包括:

在机器人行进的过程中,实时获取所述距离传感器所感测到的障碍物距离值,根据获取到的障碍物距离值对所述机器人的第一轮和/或第二轮的轮速进行实时调整。

进一步的,所述当检测到机器人与障碍物碰撞后,控制所述机器人移动至旋转位置并开始旋转运动的步骤具体包括:

当检测到机器人与障碍物碰撞后,控制所述机器人从碰撞位置开始后退预设距离至所述旋转位置,在所述旋转位置处进行原地旋转运动。

进一步的,所述机器人的外部进一步设置有回弹部件;

则所述当检测到机器人与障碍物碰撞后,控制所述机器人移动至旋转位置并开始旋转运动的步骤具体包括:

所述机器人在所述回弹部件的回弹作用下,从碰撞位置开始向后回弹至所述旋转位置,在所述旋转位置处进行原地旋转运动。

根据本发明的另一方面,提供了一种机器人的碰撞处理装置,包括:

确定模块,适于当检测到机器人与障碍物碰撞后,通过设置在所述机器人的前端的至少两个碰撞传感器确定机器人的碰撞方位;

第一控制模块,适于控制所述机器人移动至旋转位置并开始旋转运动;

监测模块,适于在旋转运动的过程中,监测设置在机器人的预设位置处的距离传感器所感测到的障碍物距离值的变化情况;

判断模块,适于根据所述障碍物距离值的变化情况以及所述机器人的碰撞方位判断机器人的当前朝向是否与所述障碍物相互平行;

第二控制模块,适于当判断结果为是时,控制所述机器人停止旋转运动,并沿所述障碍物行进。

进一步的,所述预设位置包括:机器人的非中心位置,并且,所述距离传感器的朝向与所述机器人的横向方向相互平行;其中,所述机器人的横向方向垂直于所述机器人的当前朝向。

进一步的,所述监测模块进一步适于:根据所述距离传感器所感测到的障碍物距离值的变化情况绘制对应的变化曲线;

所述判断模块进一步适于:根据所述变化曲线中的波谷判断机器人的当前朝向是否与所述障碍物相互平行。

进一步的,所述监测模块进一步适于:绘制所述距离传感器所感测到的障碍物距离值根据时间和/或旋转角度进行变化时的变化曲线;

则所述判断模块进一步适于:

根据所述变化曲线中的波谷确定能够使机器人的当前朝向与所述障碍物相互平行的时间点和/或旋转角度,将机器人在该时间点和/或旋转角度时对应的位置确定为平行位置;当机器人处于所述平行位置时,确定机器人的当前朝向与所述障碍物相互平行。

进一步的,所述判断模块进一步适于:当所述变化曲线中的波谷为多个时,根据机器人的碰撞方位确定机器人与障碍物之间的位置关系;

根据该位置关系滤除多个波谷中包含的无效波谷后,从多个波谷中选定有效波谷,根据该有效波谷判断机器人的当前朝向是否与所述障碍物相互平行。

进一步的,所述至少两个碰撞传感器包括:设置在机器人防撞杆内部的第一开关式碰撞传感器以及第二开关式碰撞传感器;则所述确定模块进一步适于:

当所述第一开关式碰撞传感器被触发,所述第二开关式碰撞传感器未被触发时,确定碰撞方位位于与所述第一开关式碰撞传感器相对应的方位;

当所述第二开关式碰撞传感器被触发,所述第一开关式碰撞传感器未被触发时,确定碰撞方位位于与所述第二开关式碰撞传感器相对应的方位;

当所述第一开关式碰撞传感器被触发,且所述第二开关式碰撞传感器被触发时,确定碰撞方位位于所述第一开关式碰撞传感器以及所述第二开关式碰撞传感器的中部。

进一步的,所述至少两个碰撞传感器进一步包括:设置在所述第一开关式碰撞传感器与所述第二开关式碰撞传感器之间的至少一个中部开关式碰撞传感器,其中,各个碰撞传感器之间间隔预设角度。

进一步的,所述预设位置包括:机器人的第一轮的前端,或者,机器人的第二轮的前端。

进一步的,所述距离传感器与机器人中心位置的连线与机器人的横向方向之间呈预设夹角;其中,所述预设夹角为3度至15度。

进一步的,所述预设夹角为5度至10度。

进一步的,所述第二控制模块进一步适于:

将机器人停止旋转运动时所感测到的障碍物距离值确定为基准障碍物距离值;

判断该基准障碍物距离值是否处于预设的基准范围内;

若是,则控制机器人与障碍物之间保持该基准障碍物距离值并行进;若否,则调整机器人的第一轮和/或第二轮的轮速,以使机器人与障碍物之间的距离处于所述基准范围内并行进。

进一步的,所述第二控制模块进一步适于:

若该基准障碍物距离值大于所述预设的基准范围,则控制所述第一轮加速,第二轮减速,以缩减机器人与障碍物之间的距离;

若该基准障碍物距离值小于所述预设的基准范围,则控制所述第一轮减速,第二轮加速,以增大机器人与障碍物之间的距离;

其中,所述第一轮与障碍物之间的距离大于所述第二轮与障碍物之间的距离。

进一步的,所述第二控制模块进一步适于:

在机器人行进的过程中,实时获取所述距离传感器所感测到的障碍物距离值,根据获取到的障碍物距离值对所述机器人的第一轮和/或第二轮的轮速进行实时调整。

进一步的,所述第一控制模块进一步适于:

当检测到机器人与障碍物碰撞后,控制所述机器人从碰撞位置开始后退预设距离至所述旋转位置,在所述旋转位置处进行原地旋转运动。

进一步的,所述机器人的外部进一步设置有回弹部件;

则所述第一控制模块进一步适于:

所述机器人在所述回弹部件的回弹作用下,从碰撞位置开始向后回弹至所述旋转位置,在所述旋转位置处进行原地旋转运动。

根据本发明的又一个方面,提供了一种机器人,包括上述的机器人的碰撞处理装置,设置在机器人的预设位置处的距离传感器,以及设置在机器人的前端的至少两个碰撞传感器。

根据本发明的又一方面,提供了一种电子设备,包括:处理器、存储器、通信接口和通信总线,处理器、存储器和通信接口通过通信总线完成相互间的通信;

存储器用于存放至少一可执行指令,可执行指令使处理器执行上述机器人的碰撞处理方法对应的操作。

根据本发明的再一方面,提供了一种计算机存储介质,存储介质中存储有至少一可执行指令,可执行指令使处理器执行如上述机器人的碰撞处理方法对应的操作。

根据本发明的机器人的碰撞处理方法、装置及机器人,可以针对清扫过程中遇到的不规则障碍物进行碰撞处理,例如,针对“v字型”障碍物的碰撞进行处理,通过碰撞传感器确定碰撞的碰撞方位,并利用距离传感器监测障碍物距离值,根据障碍物距离值的变化情况以及确定的碰撞方位确定机器人与发生碰撞的障碍物互相平行的机器人的当前朝向,进而使机器人的当前朝向与发生碰撞的障碍物平行,此后,机器人即可继续沿障碍物进行清扫工作。

上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。

附图说明

通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:

图1示出了本发明一个实施例的机器人的碰撞处理方法的流程图;

图2示出了本发明另一个实施例的机器人的碰撞处理方法的了流程图;

图3示出了本发明一个实施例的机器人与障碍物的相对位置关系的横截面示意图;

图4示出了本发明一个实施例的控制机器人按预设的沿边行进规则沿障碍物行进的方法流程图;

图5示出了本发明一个实施例提供的机器人的碰撞处理装置的功能框图;

图6示出了根据本发明实施例的一种电子设备的结构示意图。

具体实施方式

下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。

图1示出了本发明一个实施例的机器人的碰撞处理方法的流程图。如图1所示,该方法包括以下步骤:

步骤s101:当检测到机器人与障碍物碰撞后,通过设置在机器人的前端的至少两个碰撞传感器确定机器人的碰撞方位。

在机器人进行清扫工作的过程,由于清扫环境的复杂性,机器人难免会与障碍物发生碰撞,与此同时,由于障碍物的不规则,例如障碍物为“v字型”障碍物,导致难以确定发生碰撞的碰撞方位,因此,在本步骤中,当检测到机器人与障碍物碰撞后,通过机器人上的碰撞传感器确定机器人的碰撞方位,以便于根据该碰撞方位执行相应的碰撞处理措施。

其中,碰撞传感器设置在机器人的前端。机器人的前端和机器人的后端的划分可通过下述方式确定:由机器人的两个驱动轮的连线所在的直线将机器人划分为两个区域,其中靠近机器人沿直线前进的方向的区域为前半区域,远离机器人沿直线前进的方向的区域为后半区域,则机器人的前端是指前半区域的周围,机器人的后端是指后半区域的周围。碰撞传感器可以用于监测发生碰撞的碰撞方位,可选的,碰撞传感器主要由激光雷达构成,利用激光雷达的定位功能来确定碰撞方位。并且,设置两个碰撞传感器能够便于准确确认发生碰撞的碰撞方位,其中,碰撞方位包括机器人的左侧,机器人的中部,和/或机器人的右侧,相对于机器人沿直线前进的方向而言,两个驱动轮的连线的垂直平分线的左侧称为机器人的左侧,两个驱动轮的连线的垂直平分线上的位置称为机器人的中部,两个驱动轮的连线的垂直平分线的右侧称为机器人的右侧。

经过本步骤,利用两个碰撞传感器确定了碰撞发生的碰撞方位。

步骤s102:控制机器人移动至旋转位置并开始旋转运动,在旋转运动的过程中,监测设置在机器人的预设位置处的距离传感器所感测到的障碍物距离值的变化情况。

本步骤中,通过控制机器人移动,使机器人能够远离障碍物;然后,在旋转运动的过程中,利用距离传感器实时感测障碍物距离值,并检测障碍物距离值的变化情况,该变化情况能够表征出机器人与障碍物的位置关系。

其中,距离传感器包括激光测距传感器、超声波测距传感器、或者红外测距传感器;可选的,将距离传感器设置在靠近机器人的左驱动轮或右驱动轮的前方,且距离传感器的感测方向与机器人的横向方向平行。

具体实施时,可以控制机器人后退以远离障碍物,进而避免机器人与障碍物之间的接触。并且,在机器人移动至旋转位置后,需要进一步合理调整机器人的朝向,以使机器人能够沿障碍物行走而不会再次碰撞,为此,在本实施例中,控制机器人在旋转位置开始进行旋转运动,以便于根据旋转运动过程中障碍物距离值的变化情况确定机器人相对于障碍物的位置。可选的,以机器人的中心位置为旋转中心,并控制左驱动轮和右驱动轮分别做相反方向的运动,且左右轮速相同,以使机器人做原地旋转运动。

经过本步骤,监测得到障碍物距离值随时间或旋转角度的变化情况。

步骤s103:根据障碍物距离值的变化情况以及机器人的碰撞方位判断机器人的当前朝向是否与障碍物相互平行。

障碍物距离值的变化主要是由于在旋转运动的过程中,机器人的当前朝向的改变而引起的,也就意味着机器人在旋转运动过程中的当前朝向与障碍物距离值存在映射关系。具体地,根据垂直距离最短的原理,随着机器人的当前朝向与障碍物的夹角变小,障碍物距离值也随之变小,当夹角为0度时,即为机器人的当前朝向与障碍物平行,且距离传感器的朝向与障碍物边缘垂直,因此,此时对应的障碍物距离值最小。

然而,由于存在一些不规则的障碍物,例如,“v字型”障碍物,则在机器人旋转运动的过程中,仅从障碍物距离值的变化情况来判断,会出现至少两次机器人的当前朝向与障碍物互相平行的情况。此时,需要结合机器人的碰撞方位来进一步判断机器人的当前朝向是否与此次发生碰撞的障碍物或障碍物的部分区域相互平行。

经过本步骤,只有障碍物距离值满足条件,并且该障碍物距离值对应的机器人的当前朝向与碰撞方位相符时,才能判断机器人的当前朝向与障碍物相互平行。

步骤s104:当判断结果为是时,控制机器人停止旋转运动,并沿障碍物行进。

控制机器人停止旋转运动是指:当机器人的当前朝向与此次发生碰撞的障碍物或障碍物的部分区域相互平行时控制机器人停止旋转运动,以使机器人与此次发生碰撞的障碍物或障碍物的部分区域平行,此时,机器人的朝向已调整完毕。然后,机器人按照调整后的朝向继续沿障碍物行进以完成清扫工作。

实际情况下,在机器人进行清扫工作的过程中,由于清扫环境的复杂性以及多变性,机器人难免会与清扫环境中的障碍物之间发生碰撞,尤其当机器人行进到不规则障碍物附近时,机器人可能会频繁的与多个方位的障碍物发生碰撞,因此,首先需要确定碰撞的碰撞方位,然后根据碰撞方位执行相应的处理措施。本发明提供的机器人的碰撞处理方法,可以广泛适用于与上述情况类似的不规则障碍物碰撞处理的场景,以解决机器人因与障碍物碰撞而不能正常完成清扫工作的问题。

需要在此说明的是,在本发明实施例的描述以及给出的障碍物的示意图中,均是以“v字型”障碍物举例说明,但是,本领域技术人员应该理解为,本发明实施例中给出的方案能够适用于处理至少由两部分互相不平行的障碍物所组成的一个障碍物整体中的机器人的碰撞情况,其中,不平行的障碍物之间可以接触,也可以不接触,本发明对此不做具体限定。

根据本实施例提供的机器人的碰撞处理方法,当检测到机器人与障碍物碰撞后,通过设置在机器人的前端的至少两个碰撞传感器确定机器人的碰撞方位;然后,控制机器人移动至旋转位置,以远离障碍物,避免机器人与障碍物在旋转的过程中发生摩擦;利用距离传感器,在机器人做旋转运动的过程中感测障碍物距离值,得到障碍物距离值随时间或旋转角度的变化情况,并根据该变化情况及碰撞方位确定机器人的当前朝向与此次发生碰撞的障碍物或障碍物的部分区域平行时的时间或旋转角度;在对应该时间或旋转角度控制机器人停止旋转运动,以使机器人与此次发生碰撞的障碍物或障碍物的部分区域平行;并控制机器人以与障碍物平行的方式行进,进而避免机器人与障碍物在短时间内再次发生碰撞;或者控制机器人与障碍物之间的距离保持在一个合适的范围内行进,进而保证机器人不与障碍物发生碰撞,以及能够最大程度的进行障碍物周边的清扫,减少漏扫的情况。

图2示出了本发明另一个实施例的机器人的碰撞处理方法的流程图。如图2所示,该方法包括以下步骤:

步骤s201:当检测到机器人与障碍物碰撞后,通过设置在机器人的前端的至少两个碰撞传感器确定机器人的碰撞方位。

当机器人与障碍物碰撞后,首先通过碰撞传感器确定机器人的碰撞方位,以便于根据该碰撞方位执行相应的碰撞处理措施。

图3示出了本发明一个实施例的机器人与障碍物的相对位置关系的横截面示意图,其中,障碍物31为“v字型”障碍物,其由两部分组成,分别为第一障碍物311和第二障碍物312。如图3所示,机器人30有两个驱动轮,分别为左驱动轮301和右驱动轮302,位于机器人30的中心位置所在的直线上,其中,箭头方向为机器人30沿直线前进的方向。需要强调的是,图3中的机器人30以及障碍物31仅为示例性示意图,实际中,机器人可以为其他形状,例如椭圆形,障碍物也可以为其他的不规则形状,并且距离传感器303的位置也可以在其他位置。

在本发明的实施例中,左驱动轮301与右驱动轮302连线的方向为机器人30的横向方向,左驱动轮301和右驱动轮302的连线所在的直线将机器人划分为两个区域,其中靠近机器人沿直线前进的方向的区域为前半区域321,背离机器人沿直线前进的方向的区域为后半区域322,则机器人的前端331是指前半区域321的周围,机器人的后端332是指后半区域322的周围;与该机器人30的横向方向垂直,且与机器人30沿直线前进的方向一致的方向为机器人30的当前朝向(即,当前朝向也可以理解为机器人的前进方向),当前朝向与障碍物之间的夹角为θ。其中,左驱动轮301与右驱动轮302连线的中点位置为机器人30的中心位置,相应地,机器人的前进方向所对应的直线与左驱动轮301和右驱动轮302连线的垂直平分线(即经过机器人的中心位置且垂直于机器人横向方向的直线)相互平行。

其中,碰撞传感器设置在机器人的前端。并且,设置两个碰撞传感器能够便于准确确认发生碰撞的碰撞方位,其中,碰撞方位包括机器人的左侧,机器人的中部,和/或机器人的右侧,相对于机器人沿直线前进的方向而言,两个驱动轮的连线的垂直平分线的左侧称为机器人的左侧,两个驱动轮的连线的垂直平分线上的位置称为机器人的中部,两个驱动轮的连线的垂直平分线的右侧称为机器人的右侧。

具体地,至少两个碰撞传感器包括:设置在机器人防撞杆内部的第一开关式碰撞传感器以及第二开关式碰撞传感器,比如,图3中对称设置的第一开关式碰撞传感器341以及第二开关式碰撞传感器342。其中,机器人防撞杆设置在机器人外部的周围,例如,设置在图3中的机器人30的圆周,或者,机器人防撞杆设置在机器人的前端,以用于使机器人避免与障碍物之间发生激烈的碰撞而导致机器人硬件构件损坏,因此,将碰撞传感器设置在机器人防撞杆内部可以避免碰撞传感器的损坏。

对应上述设置的第一开关式碰撞传感器和第二开关式碰撞传感器,则通过碰撞传感器确定机器人的碰撞方位的方法具体为:当第一开关式碰撞传感器被触发,第二开关式碰撞传感器未被触发时,确定碰撞方位位于与第一开关式碰撞传感器相对应的方位;当第二开关式碰撞传感器被触发,第一开关式碰撞传感器未被触发时,确定碰撞方位位于与第二开关式碰撞传感器相对应的方位;当第一开关式碰撞传感器被触发,且第二开关式碰撞传感器被触发时,确定碰撞方位位于第一开关式碰撞传感器以及第二开关式碰撞传感器的中部。以图3为例,若仅仅第一开关式碰撞传感器341被触发,则确定机器人30的左侧与第二障碍物312发生碰撞。

在本发明的一些具体实施例中,为了使碰撞方位的确定能够更加准确,在上述设置的基础上,至少两个碰撞传感器进一步包括:设置在第一开关式碰撞传感器与第二开关式碰撞传感器之间的至少一个中部开关式碰撞传感器,其中,各个碰撞传感器之间间隔预设角度。其中,碰撞传感器的数量越多,检测位置越精准;碰撞传感器的数量越少,成本越低廉。本领域技术人员可根据需要设置碰撞传感器的数量。

经过本步骤,在碰撞发生后,能够准确确定发生碰撞的碰撞方位,以供判断机器人的当前朝向与此次发生碰撞的障碍物或障碍物的部分区域的位置关系。

步骤s202:当检测到机器人与障碍物碰撞后,控制机器人移动至旋转位置并开始旋转运动。

为避免机器人与障碍物碰撞后造成机器人无法正常工作的情况发生,在检测到机器人与障碍物碰撞,并确定了碰撞方位后,立即执行本实施例提供的碰撞处理的方法,以使机器人远离障碍物。

本步骤中,通过控制机器人移动来使机器人避开障碍物。具体地,控制机器人移动的方式有两种,其中,方式一是控制机器人后退预设距离,方式二是利用回弹部件控制机器人回弹,下面对该两种控制方式进行详细说明。

方式一,控制机器人后退预设距离。具体地,当检测到机器人与障碍物碰撞后,控制机器人从碰撞位置开始后退预设距离至旋转位置,在旋转位置处进行原地旋转运动。

其中,预设距离可根据碰撞发生时机器人的当前朝向与障碍物之间的夹角、环境地图、和/或经验值设定。另外,预设距离的数值既可以是一个根据上述因素确定的变量,也可以是一个固定设置的常量,本发明对此不做限定。控制机器人后退预设距离的方式能够更稳定的控制机器人的移动,为机器人进行方向调整留有合适的空间,以避免调整过程中与障碍物的摩擦或碰撞。

方式二,利用回弹部件控制机器人回弹。具体地,机器人的外部进一步设置有回弹部件,用于使机器人在碰撞后从碰撞位置开始向后回弹至旋转位置;控制机器人在旋转位置进行原地旋转运动。

其中,回弹部件设置在机器人外部的周围,例如,设置在图3中的机器人30的圆周,或者,回弹部件设置在机器人的前端。在机器人与障碍物碰撞后,由于回弹部件的回弹作用,机器人会自动回弹一段距离,进而达到了远离障碍物的目的。该利用回弹部件控制机器人回弹方式不仅能够使机器人远离障碍物,而且可以利用回弹部件有效的保护机器人的硬件,不使机器人的硬件受到激烈的碰撞。

经过本步骤控制机器人移动,使机器人远离了障碍物,为确定机器人与障碍物平行的当前朝向的调整过程提供了空间。

步骤s203:在旋转运动的过程中,监测设置在机器人的预设位置处的距离传感器所感测到的障碍物距离值的变化情况;根据距离传感器所感测到的障碍物距离值的变化情况绘制对应的变化曲线。

其中,预设位置包括:机器人的非中心位置,并且,距离传感器的朝向与机器人的横向方向相互平行;其中,机器人的横向方向垂直于机器人的当前朝向。其中,中心位置是指:两个驱动轮的连线的中点。具体地,将距离传感器的朝向设置为与机器人的横向方向相互平行,主要是为了利用垂直距离最短的原理在感测到的障碍物距离值最小时确定机器人的当前朝向与障碍物平行。将距离传感器设置在机器人的非中心位置主要出于以下考量因素:一方面,将距离传感器设置在机器人的非中心位置,例如,设置在机器人的左侧或右侧(相对于前进方向而言),能够确保机器人旋转到左侧时测量的障碍物距离与旋转到右侧时测量的障碍物距离明显不同,进而能够根据障碍物距离值的差异更好地确定机器人当前朝向与障碍物之间的夹角。另一方面,将距离传感器设置在机器人的非中心位置,例如设置在机器人的前半区域或后半区域的位置,还能够在机器人前进或后退过程中进行预判,以留出反应时间。

更进一步的,预设位置包括:机器人的第一轮的前端,或者,机器人的第二轮的前端;其中,第一轮和第二轮分别为机器人的左驱动轮和右驱动轮。其中,第一轮或第二轮的前端是由机器人的前进方向决定的。例如,将驱动轮中靠近机器人的前进方向的一端称为第一轮的前端或第二轮的前端,将背离机器人的前进方向的一端称为第一轮的后端或第二轮的后端。比如,图3中将距离传感器303沿机器人的前进方向(即图中箭头所示的方向)设置在右驱动轮302的前方。并且,距离传感器与机器人中心位置之间的连线与机器人的横向方向之间呈预设夹角。例如,图3中的角α。具体地,该预设夹角的值的确定需要参考多方面的因素。例如,不能使距离传感器影响第一轮或第二轮的正常运转,同时不能使第一轮或第二轮阻挡距离传感器的测距方向;能够让距离传感器感测到机器人在各个时间点或旋转角度时的障碍物距离值。基于此,在本发明的一个具体实施例中,预设夹角为3度至15度。可选的,在本发明的另一个具体实施例中,预设夹角为5度至10度。

具体地,在机器人旋转运动的过程中,距离传感器不断感测障碍物距离值,并根据监测到的各个时间点或旋转角度对应的障碍物距离值绘制距离传感器所感测到的障碍物距离值根据时间和/或旋转角度进行变化时的变化曲线。由于机器人是以机器人的中心位置为中心旋转的,即中心位置与障碍物的距离没有改变,因此,在旋转的过程中,随着机器人的当前朝向的改变,机器人的当前朝向与障碍物的夹角也随之改变,距离传感器感测到的障碍物距离值也会随之改变;更具体的,以图3为例进行说明,假设图3所示的机器人30的位置为旋转位置,并且机器人30沿逆时针方向旋转,则旋转过程中,首先,距离传感器303感测到的到第一障碍物311的障碍物距离值d会由大变小,再由小变大,然后,距离传感器303感测到的到第二障碍物312的障碍物距离值d会由大变小,再由小变大;显然,随着机器人的当前朝向与对应的障碍物的夹角的变小,距离传感器感测到的障碍物距离值也随之减小,并且,当机器人的当前朝向与对应的障碍物平行时,障碍物距离值最小。

步骤s204:根据变化曲线中的波谷以及机器人的碰撞方位判断机器人的当前朝向是否与障碍物相互平行。

一般的,根据变化曲线中的波谷即能判断机器人的当前朝向是否与障碍物相互平行:根据变化曲线中的波谷确定能够使机器人的当前朝向与障碍物相互平行的时间点和/或旋转角度,将机器人在该时间点和/或旋转角度时对应的位置确定为平行位置;当机器人处于平行位置时,确定机器人的当前朝向与障碍物相互平行。

但是,由于本发明主要针对的是与不规则障碍物碰撞后的处理,例如,与图3中的“v字型”障碍物31的至少一边发生碰撞后的处理,该场景中,显然对应于与第一障碍物311的障碍物距离值的变化曲线中,会有一个波谷,对应于与第二障碍物312的障碍物距离值的变化曲线中,也会有一个波谷,此时,需要确定哪一个波谷为有效波谷。具体地,当变化曲线中的波谷为多个时,根据机器人的碰撞方位确定机器人与障碍物之间的位置关系;根据该位置关系滤除多个波谷中包含的无效波谷后,从多个波谷中选定有效波谷,根据该有效波谷判断机器人的当前朝向是否与障碍物相互平行。其中,有效波谷,即:针对本次碰撞的障碍物或障碍物的部分区域,机器人的当前朝向与该障碍物或障碍物的部分区域平行时对应的变化曲线中的波谷。例如,图3中,当机器人30与第一障碍物311碰撞,则有效波谷为机器人30的当前朝向平行于第一障碍物311时对应的变化曲线中的波谷,而无效波谷为机器人30的当前朝向平行于第二障碍物312时对应的变化曲线中的波谷。

更进一步的,根据机器人的碰撞方位确定碰撞发生时机器人与障碍物的相对位置关系,并根据该相对位置关系确定有效波谷。例如,碰撞传感器确定机器人的左侧发生碰撞,则可以确定碰撞发生处在机器人左侧,假设机器人沿逆时针方向旋转,则有效波谷为对应变化曲线中机器人旋转90度内的波谷。需要强调的是,当确定了机器人与发生碰撞的障碍物的位置关系后,确定有效波谷,或滤除无效波谷的方式有多种,比如上述提到的旋转角度,另外还有,比如,对应波谷的旋转时间、对应波谷的障碍物距离值、以及对应波谷时的机器人的当前朝向与碰撞发生时机器人的当前朝向的夹角等等,因此,现有的凡是能够根据机器人与障碍物的位置关系确定有效波谷,或滤除无效波谷的方式均包含在本发明的保护范围内。

另外,需要说明的是,本实施例中的机器人的当前朝向与障碍物相互平行的含义既可以是指机器人的当前朝向严格平行于障碍物的边缘,也可以是机器人的当前朝向大致平行于障碍物的边缘。其中,在大致平行时,可以预先设置一定的角度误差,例如,当机器人与障碍物之间的夹角小于3度时确定机器人的当前朝向大致平行于障碍物的边缘。

步骤s205:当判断结果为是时,控制机器人停止旋转运动,并沿障碍物行进。

当判断出有效波谷后,控制机器人在对应有效波谷的时间点或旋转角度时停止旋转,以使机器人与障碍物平行。然后,机器人按照调整后的朝向继续沿障碍物行进以完成清扫工作,具体地,按预设的沿边行进规则沿障碍物行进。

图4示出了本发明一个实施例的控制机器人按预设的沿边行进规则沿障碍物行进的方法流程图,即:步骤s205的细化流程图。如图4所示,步骤s205具体包括以下子步骤:

步骤s401:将机器人停止旋转运动时所感测到的障碍物距离值确定为基准障碍物距离值。

当判断出机器人的当前朝向与障碍物平行后,此时,机器人已经完成了朝向的调整,机器人停止旋转运动。然后,机器人还需要继续沿障碍物行进以完成清扫工作,本步骤将机器人停止旋转运动时所感测到的障碍物距离值确定为基准障碍物距离值,是为了利用该基准障碍物距离值制定相应的调整机器人与障碍物之间的距离的措施,以使机器人能够不与障碍物碰撞,和/或,使机器人能够最大程度的对障碍物周边进行清扫,减少漏扫的可能。

步骤s402:判断该基准障碍物距离值是否处于预设的基准范围内。

为了使机器人不与障碍物发生碰撞,则必须设置预设的最小基准值,同时,为了使机器人不会距离障碍物太远,以至于不能清扫到障碍物周边,则必须设置预设的最大基准值,综上,即能够确定预设的基准范围介于最小基准值与最大基准值之间。

本步骤中,通过判断基准障碍物距离值是否在预设的基准范围内,可以确定机器人在此后的行进过程中能否达到不与障碍物碰撞并能够清扫障碍物周边的效果。若判断结果为是,则执行步骤s404,若判断结果为否,则执行步骤s403。

步骤s403:调整机器人的第一轮和/或第二轮的轮速,以使机器人与障碍物之间的距离处于基准范围内并行进。

其中,第一轮与障碍物之间的距离大于第二轮与障碍物之间的距离,对应图3,可以认为第一轮为左驱动轮301,第二轮为右驱动轮302。具体地,基准障碍物距离值不在预设的基准范围内有两种情况:情况一,基准障碍物距离值大于预设的基准范围;情况二,基准障碍物距离值小于预设的基准范围。下面分别针对两种情况进行调整,以使机器人与障碍物之间的距离处于基准范围内并行进。

情况一,若该基准障碍物距离值大于预设的基准范围,则控制第一轮加速,第二轮减速,以缩减机器人与障碍物之间的距离。具体地,基准障碍物距离值大于预设的基准范围,则表明机器人离障碍物太远,不能完成障碍物周边的清扫工作,需要通过控制第一轮和第二轮的速度差来缩减机器人与障碍物之间的距离。

情况二,若该基准障碍物距离值小于预设的基准范围,则控制第一轮减速,第二轮加速,以增大机器人与障碍物之间的距离。具体地,基准障碍物距离值小于预设的基准范围,则表明机器人离障碍物太近,可能与障碍物发生摩擦碰撞,需要通过控制第一轮和第二轮的速度差来增大机器人与障碍物之间的距离。

上述两种情况中,确定调整机器人的第一轮和/或第二轮的轮速的具体值的一种可选的方式为通过pid控制算法确定。如本领域技术人员所理解的,pid控制代表使用三项(即:比例(p)、积分(i)和微分(d)项)的控制回路反馈机构。pid需要在一个闭环系统里实现,即:有输入有反馈。在本实施例中,输入为第一轮和第二轮的轮速,反馈为实时感测的基准障碍物距离值与预设的基准范围的偏差,最终确定满足预设条件的偏差对应的第一轮和第二轮的速度为调整的具体值。换言之,只要机器人与障碍物之间的距离值与预设的基准范围内的标准值的偏差不满足预设条件,就利用pid控制算法确定第一轮和第二轮的轮速或轮速差,进而使机器人与障碍物之间的距离处于基准范围内。

步骤s404:控制机器人与障碍物之间保持该基准障碍物距离值并行进。

具体地,当基准障碍物距离值在预设的基准范围内,可以确定机器人在此后的行进过程中与障碍物之间保持该基准障碍物距离值所对应的数值能达到不与障碍物碰撞并能够清扫障碍物周边的效果。然而,实际中,由于清扫环境的复杂性与多变性,例如,障碍物形状不规则等,导致机器人与障碍物之间的距离随时可能发生变化。对此,本实施例中,在机器人行进的过程中,实时获取距离传感器所感测到的障碍物距离值,根据获取到的障碍物距离值对机器人的第一轮和/或第二轮的轮速进行实时调整,以使机器人与障碍物之间的距离近似不变。其中,实时调整可通过pid控制算法实现。

需要注意的是,经过上述步骤s403或步骤s404的调整过后,机器人与障碍物之间的距离虽然处于预设的基准范围内,但是机器人的当前朝向可能与障碍物之间存在夹角,使得在此后的行进过程中,机器人会与障碍物发生碰撞,因此,在本发明的一个具体实施例中,当第一轮和/或第二轮的轮速调整后,控制机器人旋转预设的回旋角度,以使机器人的当前朝向与障碍物平行并行进。其中,预设的回旋角度可以根据机器人的当前朝向与障碍物之间的夹角确定。其中,尤其当调整过程中机器人的第一轮和第二轮的轮速相差较大时,需要在调整后进一步控制机器人旋转预设的回旋角度。例如,当在步骤s403中调整机器人的第一轮和/或第二轮的轮速,以使机器人与障碍物之间的距离处于基准范围内之后,若调整前机器人与障碍物之间的距离与基准范围之间的差值超过预设差值,导致机器人朝向突变,则更应当在调整轮速后进一步控制机器人旋转预设的回旋角度。

并且,若机器人在行进的过程中,距离传感器感测到的障碍物距离值发生了突变,例如,遇到直角障碍物时,距离传感器感测到的障碍物距离值突变到无穷大,针对类似的情况,可以采用相应的避障处理措施,使机器人能够避开该障碍物,并且能够继续沿该障碍物进行清扫工作,具体地处理措施如下:当障碍物距离值符合预设的避障开始条件时,则表明机器人遇到了存在一定角度的障碍物,例如上述直角障碍物,此时,通过按照第一规则调节的机器人的第一轮和/或第二轮的轮速来控制机器人移动,直到符合预设的避障暂停条件,则认为机器人靠近障碍物的驱动轮越过了成一定夹角的障碍物的转角,换言之,越过了障碍物距离值发生突变的位置;此后,为了使机器人能够沿着障碍物进行清扫工作,需要将机器人往靠近障碍物的方向移动,根据障碍物距离值,以及预设的避障暂停条件确定机器人移动时的第一轮和/或第二轮的轮速,直至机器人移动到符合预设的避障结束条件时,则避障处理完成,进而使机器人在避障过程中避免与障碍物的摩擦碰撞;在避障结束时移动到靠近障碍物的位置,以使机器人能够继续清扫障碍物周边。

另外,在机器人沿障碍物行进时,机器人大致平行于障碍物的边缘,以最大程度地避免二者发生碰撞。但是,当障碍物的边缘不规则时,例如,当障碍物的边缘呈曲线时,机器人可沿曲线中各个点的切线方向前进,以更好地贴合障碍物并实现彻底清洁的效果。或者,当障碍物的边缘坑洼不平时,也可以使机器人与障碍物之间近似平行,而非严格意义上的平行,从而避免机器人轮速的频繁调整。总之,本领域技术人员可以灵活设置机器人沿障碍物行进的规则,本发明对此不做限定。

根据本实施例提供的机器人的碰撞处理方法,当检测到机器人与障碍物碰撞后,通过设置在机器人的前端的至少两个碰撞传感器确定机器人的碰撞方位;然后,控制机器人移动至旋转位置,以远离障碍物,避免机器人与障碍物在旋转的过程中发生摩擦;利用距离传感器,在机器人做旋转运动的过程中感测障碍物距离值,得到障碍物距离值随时间或旋转角度的变化情况,并根据该变化情况及碰撞方位确定机器人的当前朝向与此次发生碰撞的障碍物或障碍物的部分区域平行时的时间或旋转角度;在对应该时间或旋转角度控制机器人停止旋转运动,以使机器人与此次发生碰撞的障碍物或障碍物的部分区域平行;此后,控制机器人按预设的沿边行进规则沿障碍物行进,以使机器人与障碍物之间的距离保持在合适的范围内,进而保证机器人不与障碍物发生碰撞,以及能够最大程度的进行障碍物周边的清扫,减少漏扫的情况;另外,在机器人行进的过程中,若距离传感器监测到的障碍物距离值发生突变,则可以利用相应的避障措施,使机器人避开使障碍物距离值发生突变的位置,并使机器人继续沿该障碍物行进以清扫障碍物周边。

图5示出了本发明一个实施例提供的机器人的碰撞处理装置的功能框图。如图5所示,该装置包括:确定模块501、第一控制模块502、监测模块503、判断模块504以及第二控制模块505。

确定模块501,适于当检测到机器人与障碍物碰撞后,通过设置在所述机器人的前端的至少两个碰撞传感器确定机器人的碰撞方位;

第一控制模块502,适于控制所述机器人移动至旋转位置并开始旋转运动;

监测模块503,适于在旋转运动的过程中,监测设置在机器人的预设位置处的距离传感器所感测到的障碍物距离值的变化情况;

判断模块504,适于根据所述障碍物距离值的变化情况以及所述机器人的碰撞方位判断机器人的当前朝向是否与所述障碍物相互平行;

第二控制模块505,适于当判断结果为是时,控制所述机器人停止旋转运动,并沿所述障碍物行进。

另外,在本发明的另一个实施例中:

预设位置包括:机器人的非中心位置,并且,所述距离传感器的朝向与所述机器人的横向方向相互平行;其中,所述机器人的横向方向垂直于所述机器人的当前朝向。

可选的,监测模块503进一步适于:根据所述距离传感器所感测到的障碍物距离值的变化情况绘制对应的变化曲线;

则判断模块504进一步适于:根据所述变化曲线中的波谷判断机器人的当前朝向是否与所述障碍物相互平行。

可选的,监测模块503进一步适于:绘制所述距离传感器所感测到的障碍物距离值根据时间和/或旋转角度进行变化时的变化曲线;

则所述判断模块504进一步适于:根据所述变化曲线中的波谷确定能够使机器人的当前朝向与所述障碍物相互平行的时间点和/或旋转角度,将机器人在该时间点和/或旋转角度时对应的位置确定为平行位置;当机器人处于所述平行位置时,确定机器人的当前朝向与所述障碍物相互平行。

可选的,判断模块504进一步适于:当所述变化曲线中的波谷为多个时,根据机器人的碰撞方位确定机器人与障碍物之间的位置关系;

根据该位置关系滤除多个波谷中包含的无效波谷后,从多个波谷中选定有效波谷,根据该有效波谷判断机器人的当前朝向是否与所述障碍物相互平行。

可选的,至少两个碰撞传感器包括:设置在机器人防撞杆内部的第一开关式碰撞传感器以及第二开关式碰撞传感器;

则所述确定模块501进一步适于:

当所述第一开关式碰撞传感器被触发,所述第二开关式碰撞传感器未被触发时,确定碰撞方位位于与所述第一开关式碰撞传感器相对应的方位;

当所述第二开关式碰撞传感器被触发,所述第一开关式碰撞传感器未被触发时,确定碰撞方位位于与所述第二开关式碰撞传感器相对应的方位;

当所述第一开关式碰撞传感器被触发,且所述第二开关式碰撞传感器被触发时,确定碰撞方位位于所述第一开关式碰撞传感器以及所述第二开关式碰撞传感器的中部。

可选的,至少两个碰撞传感器进一步包括:设置在所述第一开关式碰撞传感器与所述第二开关式碰撞传感器之间的至少一个中部开关式碰撞传感器,其中,各个碰撞传感器之间间隔预设角度。

可选的,所述预设位置包括:机器人的第一轮的前端,或者,机器人的第二轮的前端。

可选的,距离传感器与机器人中心位置的连线与机器人的横向方向之间呈预设夹角;其中,所述预设夹角为3度至15度。

可选的,所述预设夹角为5度至10度。

可选的,第二控制模块505进一步适于:

将机器人停止旋转运动时所感测到的障碍物距离值确定为基准障碍物距离值;

判断该基准障碍物距离值是否处于预设的基准范围内;

若是,则控制机器人与障碍物之间保持该基准障碍物距离值并行进;若否,则调整机器人的第一轮和/或第二轮的轮速,以使机器人与障碍物之间的距离处于所述基准范围内并行进。

可选的,第二控制模块505进一步适于:

若该基准障碍物距离值大于所述预设的基准范围,则控制所述第一轮加速,第二轮减速,以缩减机器人与障碍物之间的距离;

若该基准障碍物距离值小于所述预设的基准范围,则控制所述第一轮减速,第二轮加速,以增大机器人与障碍物之间的距离;

其中,所述第一轮与障碍物之间的距离大于所述第二轮与障碍物之间的距离。

可选的,所述第二控制模块505进一步适于:

在机器人行进的过程中,实时获取所述距离传感器所感测到的障碍物距离值,根据获取到的障碍物距离值对所述机器人的第一轮和/或第二轮的轮速进行实时调整。

可选的,第一控制模块502进一步适于:

当检测到机器人与障碍物碰撞后,控制所述机器人从碰撞位置开始后退预设距离至所述旋转位置,在所述旋转位置处进行原地旋转运动。

可选的,所述机器人的外部进一步设置有回弹部件;

则所述第一控制模块502进一步适于:所述机器人在所述回弹部件的回弹作用下,从碰撞位置开始向后回弹至所述旋转位置,在所述旋转位置处进行原地旋转运动。

另外,本申请实施例还提供了一种机器人,包括图5所示机器人的碰撞处理装置,上文提到设置在机器人的预设位置处的距离传感器,以及上文提到的设置在机器人的前端的至少两个碰撞传感器。其中,机器人的碰撞处理装置的具体结构以及距离传感器的具体设置位置可参照上文中相应部分的描述,此处不再赘述。

本申请实施例提供了一种非易失性计算机存储介质,计算机存储介质存储有至少一可执行指令,该计算机可执行指令可执行上述任意方法实施例中的机器人的碰撞处理方法。

图6示出了根据本发明实施例的一种电子设备的结构示意图,本发明具体实施例并不对电子设备的具体实现做限定。

如图6所示,该电子设备可以包括:处理器(processor)602、通信接口(communicationsinterface)604、存储器(memory)606、以及通信总线608。

其中:

处理器602、通信接口604、以及存储器606通过通信总线608完成相互间的通信。

通信接口604,用于与其它设备比如客户端或其它服务器等的网元通信。

处理器602,用于执行程序610,具体可以执行上述机器人的碰撞处理方法实施例中的相关步骤。

具体地,程序610可以包括程序代码,该程序代码包括计算机操作指令。

处理器602可能是中央处理器cpu,或者是特定集成电路asic(applicationspecificintegratedcircuit),或者是被配置成实施本发明实施例的一个或多个集成电路。电子设备包括的一个或多个处理器,可以是同一类型的处理器,如一个或多个cpu;也可以是不同类型的处理器,如一个或多个cpu以及一个或多个asic。

存储器606,用于存放程序610。存储器606可能包含高速ram存储器,也可能还包括非易失性存储器(non-volatilememory),例如至少一个磁盘存储器。

程序610具体可以用于使得处理器602执行以下操作:

当检测到机器人与障碍物碰撞后,通过设置在所述机器人的前端的至少两个碰撞传感器确定机器人的碰撞方位;

控制所述机器人移动至旋转位置并开始旋转运动,在旋转运动的过程中,监测设置在机器人的预设位置处的距离传感器所感测到的障碍物距离值的变化情况;

根据所述障碍物距离值的变化情况以及所述机器人的碰撞方位判断机器人的当前朝向是否与所述障碍物相互平行;

当判断结果为是时,控制所述机器人停止旋转运动,并沿所述障碍物行进。

在一种可选的方式中:所述预设位置包括:机器人的非中心位置,并且,所述距离传感器的朝向与所述机器人的横向方向相互平行;其中,所述机器人的横向方向垂直于所述机器人的当前朝向。

在一种可选的方式中,程序610具体可以进一步用于使得处理器602执行以下操作:

根据所述距离传感器所感测到的障碍物距离值的变化情况绘制对应的变化曲线,根据所述变化曲线中的波谷判断机器人的当前朝向是否与所述障碍物相互平行。

在一种可选的方式中,程序610具体可以进一步用于使得处理器602执行以下操作:绘制所述距离传感器所感测到的障碍物距离值根据时间和/或旋转角度进行变化时的变化曲线;

根据所述变化曲线中的波谷确定能够使机器人的当前朝向与所述障碍物相互平行的时间点和/或旋转角度,将机器人在该时间点和/或旋转角度时对应的位置确定为平行位置;当机器人处于所述平行位置时,确定机器人的当前朝向与所述障碍物相互平行。

在一种可选的方式中,程序610具体可以进一步用于使得处理器602执行以下操作:当所述变化曲线中的波谷为多个时,根据机器人的碰撞方位确定机器人与障碍物之间的位置关系;

根据该位置关系滤除多个波谷中包含的无效波谷后,从多个波谷中选定有效波谷,根据该有效波谷判断机器人的当前朝向是否与所述障碍物相互平行。

在一种可选的方式中,程序610具体可以进一步用于使得处理器602执行以下操作:所述至少两个碰撞传感器包括:设置在机器人防撞杆内部的第一开关式碰撞传感器以及第二开关式碰撞传感器;则所述通过设置在所述机器人的前端的至少两个碰撞传感器确定机器人的碰撞方位的步骤具体包括:

当所述第一开关式碰撞传感器被触发,所述第二开关式碰撞传感器未被触发时,确定碰撞方位位于与所述第一开关式碰撞传感器相对应的方位;

当所述第二开关式碰撞传感器被触发,所述第一开关式碰撞传感器未被触发时,确定碰撞方位位于与所述第二开关式碰撞传感器相对应的方位;

当所述第一开关式碰撞传感器被触发,且所述第二开关式碰撞传感器被触发时,确定碰撞方位位于所述第一开关式碰撞传感器以及所述第二开关式碰撞传感器的中部。

在一种可选的方式中:所述至少两个碰撞传感器进一步包括:设置在所述第一开关式碰撞传感器与所述第二开关式碰撞传感器之间的至少一个中部开关式碰撞传感器,其中,各个碰撞传感器之间间隔预设角度。

在一种可选的方式中:所述预设位置包括:机器人的第一轮的前端,或者,机器人的第二轮的前端。

在一种可选的方式中:距离传感器与机器人中心位置的连线与机器人的横向方向之间呈预设夹角;其中,所述预设夹角为3度至15度。

在一种可选的方式中:所述预设夹角为5度至10度。

在一种可选的方式中,程序610具体可以进一步用于使得处理器602执行以下操作:

将机器人停止旋转运动时所感测到的障碍物距离值确定为基准障碍物距离值;

判断该基准障碍物距离值是否处于预设的基准范围内;

若是,则控制机器人与障碍物之间保持该基准障碍物距离值并行进;若否,则调整机器人的第一轮和/或第二轮的轮速,以使机器人与障碍物之间的距离处于所述基准范围内并行进。

在一种可选的方式中,程序610具体可以进一步用于使得处理器602执行以下操作:

若该基准障碍物距离值大于所述预设的基准范围,则控制所述第一轮加速,第二轮减速,以缩减机器人与障碍物之间的距离;

若该基准障碍物距离值小于所述预设的基准范围,则控制所述第一轮减速,第二轮加速,以增大机器人与障碍物之间的距离;

其中,所述第一轮与障碍物之间的距离大于所述第二轮与障碍物之间的距离。

在一种可选的方式中,程序610具体可以进一步用于使得处理器602执行以下操作:

在机器人行进的过程中,实时获取所述距离传感器所感测到的障碍物距离值,根据获取到的障碍物距离值对所述机器人的第一轮和/或第二轮的轮速进行实时调整。

在一种可选的方式中,程序610具体可以进一步用于使得处理器602执行以下操作:

当检测到机器人与障碍物碰撞后,控制所述机器人从碰撞位置开始后退预设距离至所述旋转位置,在所述旋转位置处进行原地旋转运动。

在一种可选的方式中,程序610具体可以进一步用于使得处理器602执行以下操作:所述机器人的外部进一步设置有回弹部件;

则所述当检测到机器人与障碍物碰撞后,控制所述机器人移动至旋转位置并开始旋转运动的步骤具体包括:

所述机器人在所述回弹部件的回弹作用下,从碰撞位置开始向后回弹至所述旋转位置,在所述旋转位置处进行原地旋转运动。

在此提供的算法和显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。

在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。

类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。

本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。

此外,本领域的技术人员能够理解,尽管在此的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。

本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(dsp)来实现根据本发明实施例的机器人的碰撞处理装置中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。

应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。

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