发明内容
在发明内容部分中引入了一系列简化形式的概念,这将在具体实施方式部分中进一步详细说明。本发明的发明内容部分并不意味着要试图限定出所要求保护的技术方案的关键特征和必要技术特征,更不意味着试图确定所要求保护的技术方案的保护范围。
为了解决上述问题,本发明一方面公开了一种智能移动设备,其包括:
主体,所述主体具有能使其沿设定路径行进的行动机构;
碰撞传感器,所述碰撞传感器设置在主体的前端区域,用于检测所述智能移动设备与障碍物的撞击;
控制单元,所述控制单元包括行进控制模块、模式切换模块和脱困判断模块,其中
所述行进控制模块用于控制所述行动机构使所述主体在行进区域中进行弓字形行进,所述弓字形包括多个平行的移动行;
所述模式切换模块用于在所述主体进行弓字形行进的过程中,判断所述智能移动设备是否困于特定空间内,如果判定所述智能移动设备困于特定空间内,则指示所述控制单元进入第一脱困模式,
在所述第一脱困模式中,所述行进控制模块配置为控制所述智能移动设备重复执行下述操作:
当所述智能移动设备的碰撞传感器撞到障碍物后,控制所述智能移动设备沿第一方向旋转直到所述碰撞传感器与所述障碍物的挤压解除为止;
当智能移动设备的所述碰撞传感器与所述障碍物的挤压解除后,控制所述智能移动设备沿挤压解除方向行进第一设定时间或第一设定距离,然后控制所述智能移动设备转弯并继续行进;
脱困判断模块,所述脱困判断模块用于判定所述智能移动设备是否脱困成功,如果判定所述智能移动设备脱困成功则指示所述控制单元进入正常行进模式,在所述正常行进模式中,所述控制单元控制所述智能移动设备在所述行进区域中进行弓字形行进。
在本发明一个实施例中,在所述第一脱困模式中,当智能移动设备的所述碰撞传感器与所述障碍物的挤压解除后,所述控制单元控制所述智能移动设备直接转弯并继续行进。
在本发明一个实施例中,所述控制单元包括路径规划模块,在所述第一脱困模式中,所述路径规划模块配置为:
基于所述智能移动设备记录的移动行的位置信息,在所述智能移动设备的移动行上确定第一目标点,并基于所述第一目标点规划脱困路径,其中,所述第一目标点位于所述特定空间之外。
在本发明一个实施例中,所述控制单元还包括方向判断模块,在所述第一脱困模式中,所述方向判断模块配置为:在所述智能移动设备的当前行进时间或当前行进距离达到设定阈值时判断所述智能移动设备是否朝向所述第一目标点行进。
在本发明一个实施例中,所述方向判断模块进一步配置为:
如果判定所述智能移动设备是在朝向所述第一目标点行进,则指示所述行进控制模块当所述智能移动设备撞到所述障碍物后,继续控制所述智能移动设备沿所述第一方向旋转直到所述碰撞传感器与所述障碍物的挤压解除为止;
如果判定所述智能移动设备不是在朝向所述第一目标点行进,则指示所述行进控制模块调转所述智能移动设备的方向,且在所述智能移动设备撞击到障碍物后控制所述智能移动设备沿第二方向旋转直到所述碰撞传感器与所述障碍物的挤压解除为止,其中,所述第二方向与所述第一方向相反。
在本发明一个实施例中,所述方向判断模块进一步配置为:
如果判定所述智能移动设备是在朝向所述第一目标点行进,则指示所述行进控制模块当所述智能移动设备撞到所述障碍物后,继续控制所述智能移动设备沿所述第一方向旋转直到所述碰撞传感器与所述障碍物的挤压解除为止;
如果判定所述智能移动设备不是在朝向所述第一目标点行进,则指示所述行进控制模块调转所述智能移动设备的方向,且在所述智能移动设备撞击到障碍物后控制所述智能移动设备沿第二方向旋转直到所述碰撞传感器与所述障碍物的挤压解除为止,其中,所述第二方向与所述第一方向相反。
在本发明一个实施例中,所述脱困判断模块在所述碰撞传感器检测不到撞击触发和/或所述智能移动设备处于所述特定空间之外时判定所述智能移动设备脱困成功。
在本发明一个实施例中,所述脱困判断模块在所述智能移动设备行进最大脱困时间或最长脱困距离后仍然处于所述特定空间时判定所述智能移动设备脱困失败。
在本发明一个实施例中,还包括:
前方障碍物传感器,所述前方障碍物传感器设置在所述智能移动设备的前端,用于检测所述智能移动设备前方一定角度和一定距离范围内的障碍物。
在本发明一个实施例中,所述模式切换模块进一步配置为:当所述碰撞传感器在所述智能移动设备的两侧都检测到撞击且所述前方障碍物传感器未检测到障碍物时,指示所述控制单元进入第二脱困模式。
在本发明一个实施例中,还包括:
侧向障碍物传感器,所述侧向障碍物传感器设置在所述智能移动设备的侧端,用于检测所述智能移动设备与侧端障碍物的接近程度;
所述模式切换模块进一步配置为:
当所述侧向障碍物传感器检测到所述智能移动设备侧端靠近过障碍物,与所述侧向障碍物传感器所在一侧的相反侧的所述碰撞传感器检测到撞击,且所述前方障碍物传感器未检测到障碍物时,指示所述控制单元进入第二脱困模式。
在本发明一个实施例中,在所述第二脱困模式中,所述行进控制模块配置为控制所述智能移动设备重复执行下述操作设定次数或设定时间:
当所述智能移动设备撞击到障碍物后,控制所述智能移动设备交替向当前行进方向的左右两侧旋转设定角度,且每次旋转后控制所述智能移动设备继续行进直到所述碰撞传感器检测到撞击为止。
在本发明一个实施例中,每次旋转的所述设定角度均小于上次旋转的所述设定角度。
在本发明一个实施例中,所述模式切换模块在所述智能移动设备的出入口位置信息发生偏移使得所述智能移动设备无法原路返回时判定所述智能移动设备困于特定空间内。
根据本发明的智能移动设备通过判定智能移动设备是否被困于特定空间,如果被困于特定空间,则进入第一脱困模式,在撞击到障碍物后不断通过解除挤压、前进、转弯等寻找出口直到脱困成功,从而避免了智能移动设备由于位置信息误差而被困于特定空间内。
进一步地,根据本发明的智能移动设备当智能移动设备的左右两侧碰撞传感器均检测到撞击或者一侧的碰撞传感器检测到撞击另一侧的侧向障碍物传感器检测到接近障碍物且前方障碍物传感器未检测到障碍物时,通过交替左右旋转前进来尝试从当前出口出去。
本发明另一方面还公开了一种智能移动设备的控制方法,在所述智能移动设备的前端区域设置有碰撞传感器,用于检测所述智能移动设备与障碍物的撞击,所述控制方法包括:
控制所述智能移动设备在行进区域中进行弓字形行进,所述弓字形包括多个平行的移动行;
在所述智能移动设备进行弓字形行进的过程中,判断所述智能移动设备是否困于特定空间内,如果判定所述智能移动设备困于特定空间内,则控制所述智能移动设备进入第一脱困模式,
在所述第一脱困模式中,控制所述智能移动设备执行下述操作:
当所述智能移动设备的碰撞传感器撞到障碍物后,控制所述智能移动设备沿第一方向旋转直到所述碰撞传感器与所述障碍物的挤压解除为止;
当智能移动设备的所述碰撞传感器与所述障碍物的挤压解除后,控制所述智能移动设备沿挤压解除方向行进第一设定时间或第一设定距离,然后控制所述智能移动设备转弯并继续行进;
重复上述操作,直到判定所述智能移动设备脱困成功或脱困失败为止。
在本发明一个实施例中,在所述第一脱困模式中,当智能移动设备的所述碰撞传感器与所述障碍物的挤压解除后,直接控制所述智能移动设备转弯并继续行进。
在本发明一个实施例中,在所述第一脱困模式中,还包括:
基于所述智能移动设备记录的移动行的位置信息,在所述智能移动设备的移动行上确定第一目标点,并基于所述第一目标点规划脱困路径,其中,所述第一目标点位于所述特定空间之外。
在本发明一个实施例中,在所述第一脱困模式中,还包括:
判断所述智能移动设备是否朝向所述第一目标点行进;
如果判定所述智能移动设备是在朝向所述第一目标点行进,则当所述智能移动设备撞到所述障碍物后,继续控制所述智能移动设备沿所述第一方向旋转直到所述碰撞传感器与所述障碍物的挤压解除为止;
如果判定所述智能移动设备不是在朝向所述第一目标点行进,则指示所述行进控制模块调转所述智能移动设备的方向,且在所述智能移动设备撞到所述障碍物后,则控制所述智能移动设备沿第二方向旋转直到所述碰撞传感器与所述障碍物的挤压解除为止,其中,所述第二方向与所述第一方向相反。
在本发明一个实施例中,在所述碰撞传感器检测不到撞击触发和/或所述智能移动设备处于所述特定空间之外时判定所述智能移动设备脱困成功。
在本发明一个实施例中,在所述智能移动设备行进最大脱困时间或最长脱困距离后仍然处于所述特定空间时判定所述智能移动设备脱困失败。
在本发明一个实施例中,在所述智能移动设备的前端设置有前方障碍物传感器,用于检测所述智能移动设备前方一定角度和一定距离范围内的障碍物,其特征在于,如果所述碰撞传感器在所述智能移动设备的两侧都检测到撞击且所述前方障碍物传感器未检测到障碍物时,则控制所述智能移动设备进入第二脱困模式。
在本发明一个实施例中,在所述智能移动设备的前端还设置有前方障碍物传感器,在所述智能移动设备的侧端设置有侧向障碍物传感器,所述控制方法还包括:
当所述侧向障碍物传感器检测到所述智能移动设备侧端靠近过障碍物,与所述侧向障碍物传感器所在一侧的相反侧的所述碰撞传感器检测撞击,且所述前方障碍物传感器未检测到障碍物时,控制所述智能移动设备进入第二脱困模式。
在本发明一个实施例中,在所述第二脱困模式中,控制所述智能移动设备执行下述操作:
当所述智能移动设备撞击到障碍物后,控制所述智能移动设备交替向当前行进方向的左右两侧旋转设定角度,且每次旋转后控制所述智能移动设备继续行进直到所述碰撞传感器检测到撞击为止;
重复上述操作设定次数或设定时间,直到判定所述智能移动设备脱困成功或脱困失败为止。
在本发明一个实施例中,每次旋转的所述设定角度均小于上次旋转的所述设定角度。
在本发明一个实施例中,如果所述智能移动设备的出入口位置信息发生偏移使得所述智能移动设备无法原路返回,则判定所述智能移动设备困于特定空间内。
根据本发明的智能移动设备的控制方法,通过判定智能移动设备是否被困于特定空间,如果被困于特定空间,则进入第一脱困模式,在撞击到障碍物后不断通过解除挤压、前进、转弯等寻找出口直到脱困成功,从而避免了智能移动设备由于位置信息误差而被困于特定空间内。
进一步地,根据本发明的智能移动设备的控制方法当智能移动设备的左右两侧碰撞传感器均检测到撞击或者一侧的碰撞传感器检测到撞击另一侧的侧向障碍物传感器检测到接近障碍物且前方障碍物传感器未检测到障碍物时,通过交替左右旋转前进来尝试从当前出口出去。
本发明再一方面还公开了一种智能移动设备,所述智能移动设备包括存储器和处理器,所述存储器上存储有由所述处理器运行的计算机程序,所述计算机程序在被所述处理器运行时执行如上所述的智能移动设备的控制方法。
本发明又一方面还公开了一种存储介质,所述存储介质上存储有计算机程序,所述计算机程序在运行时执行如上所述的智能移动设备的控制方法。
具体实施方式
在下文的描述中,给出了大量具体的细节以便提供对本发明更为彻底的理解。然而,对于本领域技术人员来说显而易见的是,本发明实施方式可以无需一个或多个这些细节而得以实施。在其他的例子中,为了避免与本发明实施方式发生混淆,对于本领域公知的一些技术特征未进行描述。
为了彻底了解本发明实施方式,将在下列的描述中提出详细的结构。显然,本发明实施方式的施行并不限定于本领域的技术人员所熟习的特殊细节。本发明的较佳实施方式详细描述如下,然而除了这些详细描述外,本发明还可以具有其他实施方式。
参考图3至图6,根据本发明示例性实施例的智能移动设备10包括主体11,该主体11包括壳体,在壳体的正面设置操作按钮和指示灯,在壳体的背面设置有行进机构,该行进机构能使主体/智能移动设备10沿设定路径行进。
示例性地,该行进机构包括左轮12和右轮13。行进驱动单元300包括至少一个驱动马达。该驱动马达包括可以使左轮12旋转的左轮驱动马达和可以使右轮13旋转的右轮驱动马达。左轮驱动马达和右轮驱动马达由控制单元200的行进控制模块210独立地控制,使得主体11可以向前或向后移动或者转动。例如,左轮驱动马达和右轮驱动马达可以沿着相同的方向旋转;然而当左轮驱动马达和右轮驱动马达以不同的速度旋转或彼此以相反的方向旋转时,主体11的行进方向可以改变。此外,根据需要在所述主体11的背面还可以设置有辅助支撑轮或转向轮(未示出)。
根据本发明示例性实施例的智能移动设备10可以实现为清洁机器人,此时其示例性地还包括清扫单元310,以便在行进过程对行进区域进行清扫。清扫单元310包括滚刷14和边刷15以及设置在壳体内尘盒,滚刷14位于主体11底部中心位置,边刷15位于主体11底部靠边一侧。在清洁过程中,边刷15将智能移动设备10周边的杂物扫到主体11底部,然后主要通过滚刷14将地面的杂物扫入尘盒内。
碰撞传感器110设置在主体11的前端区域,用于检测所述智能移动设备10与障碍物的撞击。所述主体11的前端区域指的是主体11的机头两侧一定范围的区域,例如在本实施例中主体11大致呈圆形状,所述前端区域示例性地为所述主体11的前半圆区域,或者比所述前半圆区域略小的区域。所述碰撞传感器110可以采用各种合适的部件,示例性地,例如其包括弹性检测元件,当主体11与障碍物撞击时,该弹性检测元件被压缩,对应的检测元件便检测到该压缩从而确定主体11与障碍物撞击。示例性地,所述碰撞传感器110还可以检测到撞击所在区域,例如确定是主体的左侧还是右侧与障碍物撞击。所述主体11的左侧指的以智能移动设备的行进方向为准(如图5中箭头所示)位于所述行进方向左侧的部分即为所述主体11的左侧,位于所述行进方向的右侧的部分即为所述主体11的右侧。
前方障碍物传感器120设置在主体11的前端,用于检测所述智能移动设备10前方一定角度和一定距离范围内的障碍物。所述前端的定义与所述前端区域的定义类似,也指的是主体11的机头两侧一定范围的区域。前方障碍物传感器120可以采用各种障碍物检测元件,例如红外障碍物检测元件,其可以包括红外发射器和红外接收器。示例性地,所述前方障碍物传感器120可以包括多个障碍物检测元件,从而可以检测前方一定角度和一定距离范围内的障碍物。示例性地,如图5所示,前方障碍物传感器120可以检测图中扇形区域是否存在障碍物。
侧向障碍物传感器130设置在主体11的侧端,用于检测所述智能移动设备与侧端障碍物的接近程度。侧向障碍物传感器130可以采用各种障碍物检测元件,例如红外障碍物检测元件。通过侧向障碍物传感器130可以确定所述主体11的侧端是否靠近障碍物,例如墙壁。示例性地,在本实施例中仅在所述主体11的右侧设置侧向障碍物传感器130。当然,在其它实施例中,还可以在主体11的左侧也设置侧向障碍物传感器130。
图6示出图3所示智能移动设备10的部件结构框图。如图6所示,智能移动设备10包括传感器单元100、行进驱动单元300和清扫单元310以及控制智能移动设备整体操作的控制单元200。控制单元200可以实现为一个或多个处理器,或者可以实现为硬件装置。
传感器单元100除了包括碰撞传感器110、前方障碍物传感器120和侧向障碍物传感器130之外,还包括位置信息传感器140。位置信息传感器140设置在主体11的内部,其可以包括里程计、陀螺仪、光鼠传感器等,通过位置信息传感器140可以获取智能移动设备10的移动位置/路径的坐标信息,从而建立智能移动设备10的移动地图,并实时确定智能移动设备的当前位置信息。
控制单元200包括行进控制模块210、模式切换模块220、路径规划模块230、方向判断模块240和脱困判断模块250。
行进控制模块210用于控制行进驱动单元300,进而控制左轮12和右轮13旋转,从而使智能移动设备10按设定路径行进。
模式切换模块220用于控制智能移动设备10工作模式。在本实施例中,智能移动设备10工作模式包括正常行进模式,第一脱困模式和第二脱困模式。模式切换模块220基于设定条件使智能移动设备10在这些模式中进行切换,以使智能移动设备10正常行进,而不被困于特定空间内。
路径规划模块230用于规划智能移动设备10移动路径,例如用于规划智能移动设备10的正常行进路径或脱困路径。
方向判断模块240用于判断智能移动设备10行进方向,例如判断智能移动设备10是靠近出口还是远离出口。
脱困判断模块250用于判断智能移动设备10是否脱困成功。如果判定所述智能移动设备10脱困成功则指示所述控制单元200进入正常行进模式。
下面对根据本实施例的智能移动设备10的三种工作模式进行说明。
在正常行进模式中,行进控制模块210用于控制所述行动机构使所述主体11在行进区域中按照路径规划模块230规划的路径行进,例如进行弓字形行进,所述弓字形包括多个平行的移动行。所述弓字形行进的路径可以参考图1。
所述模式切换模块220在所述主体11进行弓字形行进的过程中,判断所述智能移动设备10是否困于特定空间内,如果判定所述智能移动设备10困于特定空间内,则指示所述控制单元200进入第一脱困模式。
示例性地,所述模式切换模块220在所述智能移动设备10的出入口位置信息发生偏移使得所述智能移动设备10无法原路返回时判定所述智能移动设备10困于特定空间内。所述出入口位置信息基于所述碰撞传感器110和位置信息传感器140获得位置、路径信息来获得。
在所述第一脱困模式中,所述行进控制模块210配置为控制所述智能移动设备重复执行下述操作:
当所述智能移动设备10的碰撞传感器110撞到障碍物后,控制所述智能移动设备10沿第一方向旋转直到所述碰撞传感器110与所述障碍物的挤压解除为止。所述第一方向例如为向左或向右。
当智能移动设备10的所述碰撞传感器110与所述障碍物的挤压解除后,控制所述智能移动设备10沿挤压解除方向行进第一设定时间或第一设定距离,然后控制所述智能移动设备10转弯并继续行进。示例性地,所述第一设定时间例如为300ms,所述第一设定距离例如为1或2cm。
此外,在其它实施例中,也可以不进行所述沿挤压解除方向行进第一设定时间或第一设定距离,而是当智能移动设备10的所述碰撞传感器110与所述障碍物的挤压解除后,直接控制所述智能移动设备10转弯并继续行进。
在所述第一脱困模式中,脱困判断模块250用于判定所述智能移动设备10是否脱困成功,如果判定所述智能移动设备10脱困成功则指示所述控制单元200进入正常行进模式,在所述正常行进模式中,所述控制单元200控制所述智能移动设备10在所述行进区域中进行弓字形行进。示例性地,在本实施例中,所述脱困判断模块250在所述碰撞传感器110检测不到撞击触发和/或根据所述智能移动设备10的移动地图判断所述智能移动设备10处于所述特定空间之外时判定所述智能移动设备10脱困成功。所述脱困判断模块250在所述智能移动设备10行进最大脱困时间或最长脱困距离后仍然处于所述特定空间时判定所述智能移动设备脱困失败。如果判定所述智能移动设备10脱困失败,则报错或重新规划脱困路径。
进一步地,在所述第一脱困模式中,所述路径规划模块230配置为:基于所述智能移动设备10记录的移动行的位置信息,在所述智能移动设备10的移动行上确定第一目标点,并基于所述第一目标点规划脱困路径,其中,所述第一目标点位于所述特定空间之外。所述第一目标点所在移动行上与所述智能设备所在的移动行间隔预设行间距。示例性地,所述第一目标点所在移动行与所述智能设备所在的移动行间隔一个行间距。
在所述第一脱困模式中,所述方向判断模块240配置为:判断所述智能移动设备10是否朝向所述第一目标点行进;如果判定所述智能移动设备10是在朝向所述第一目标点行进,则指示所述行进控制模块210当所述智能移动设备10撞到所述障碍物后,继续控制所述智能移动设备10沿所述第一方向旋转直到所述碰撞传感器110与所述障碍物的挤压解除为止;如果判定所述智能移动设备10不是在朝向所述第一目标点行进,则指示所述行进控制模块210调转所述智能移动设备10的方向,并且当所述智能移动设备撞到所述障碍物后,控制所述智能移动设备10沿第二方向旋转直到所述碰撞传感器110与所述障碍物的挤压解除为止,其中,所述第二方向与所述第一方向相反。例如所述第一方向作为向左,则所述第二方向为向右。
示例性地,在所述第一脱困模式中,所述方向判断模块240在所述智能移动设备的10当前行进时间或当前行进距离达到设定阈值时判断所述智能移动设备是否朝向所述第一目标点行进。例如当所述智能移动设备10开始脱困后,当前行进时间达到10s或当前行进距离达到100cm时进行所述判断所述智能移动设备是否朝向所述第一目标点行进,以确定所述智能移动是否朝向正确的方向行进。
示例性地,所述方向判断模块进一步配置为:以所述智能移动设备10当前所在位置为原点,在所述第一目标点和所述原点之间建立角度坐标;判断所述智能移动设备10的前端是否朝向所述角度坐标的第一区域内,其中,所述第一区域指的是从所述第一目标点和所述原点之间的连线开始到与所述连线的夹角为预设角度的预设线段之间区域;如果是则判定所述智能移动设备10是在朝向所述第一目标点行进,反之则判定所述智能移动设备10不是在朝向所述第一目标点行进。
所述第二脱困模式适用于使所述智能移动设备从更小的空间出去。其进入条件例如为:当所述碰撞传感器110在所述智能移动设备10的两侧都检测到撞击且所述前方障碍物传感器120未检测到障碍物时,模式切换模块220指示所述控制单元200进入第二脱困模式。或者,当所述侧向障碍物传感器130检测到所述智能移动设备10侧端靠近过障碍物,与所述侧向障碍物传感器130所在一侧的相反侧的所述碰撞传感器110检测到撞击,且所述前方障碍物传感器120未检测到障碍物时,模式切换模块220指示所述控制单元200进入第二脱困模式。
在所述第二脱困模式中,所述行进控制模块210配置为控制所述智能移动设备10重复执行下述操作设定次数或设定时间:
当所述智能移动设备10撞击到障碍物后,控制所述智能移动设备10交替向当前行进方向的左右两侧旋转设定角度,且每次旋转后控制所述智能移动设备继续行进直到所述碰撞传感器检测到撞击为止。
示例性地,每次旋转的所述设定角度均小于上次旋转的所述设定角度。示例性地,每次旋转的所述设定角度均为上次旋转的所述设定角度的一半。
在所述第二脱困模式,在所述行进控制模块210控制所述智能移动设备10重复执行所述操作设定次数或设定时间后,通过判断碰撞传感器110的触发确定智能移动设备是否脱困成功。例如,如果在所述行进控制模块210控制所述智能移动设备10重复执行所述操作设定次数或设定时间后,碰撞传感器110仍然被触发,例如碰撞传感器110仍然在智能移动设备10的左右两侧检测到撞击,则判定脱困失败,反之如果,碰撞传感器110没有触发,其所述智能移动设备前进了一定距离(该距离大于设定阈值),则判断脱困成功。
下面结合图7A至图9对根据本发明实施例的智能移动设备的脱困过程进行说明。
图7A-7B示出根据本发明的实施例智能移动设备一脱困过程示意图。
如图7A所示,智能移动设备(图中圆圈所示)进入图中L形区域后,由于出入口信息发生偏移,导致智能移动设备无法从出入口原路返回,在该过程中,智能移动设备会例如撞到墙壁,此时智能移动设备的模式切换模块220判断智能移动设备困于特定空间,指示控制单元200进入第一脱困模式。
在该示例中,在第一脱困模式中,智能移动设备的脱困过程为:首先路径规划模块230按照设定条件在移动行h上确定第一目标点6,并以该第一目标点6规划脱困路径。然后,当智能移动设备在位置1处撞到墙壁后,控制智能移动设备朝位置2方向旋转(即向右旋转),直到碰撞传感器解除挤压为止,然后控制智能移动设备沿挤压解除方向行进第一设定时间或第一设定距离,例如行进300ms,然后控制智能移动设备转弯(即向左旋转)并继续前进。当智能移动设备在位置4处撞到墙壁后,控制智能移动设备朝位置3方向旋转(即向右旋转),直到碰撞传感器解除挤压为止。如此往复不断转弯前进、转弯前进不断执行上述步骤以寻找出口。
应当明白,当智能移动设备撞到诸如墙壁的障碍物后,其旋转方向可以为预先设定,也可以为随机选择。例如,在本实施例中,随机选择向右旋转,而图7A所示,由于该方向旋转错位,使得当智能移动设备会由位置1运动到位置5,使得智能移动设备离出口越来越远。因此,当智能移动设备以上上述方式行进设定距离或设定时间后,需要判断智能移动设备是否在接近第一目标点6。如图7A所示,判断方法包括:一,首先在设定第一目标点时基于智能移动设备记录的地图(即经过的移动行的位置信息)将第一目标点设置在该特定空间的出入口附近,方向判断模块240在判断智能移动设备脱困的过程中监测智能移动设备当前位置(位置5)所在的移动行L与第一目标点6所在的移动行h是否有所偏离,如果方向判断模块240确定智能移动设备在不断偏离第一目标点6所在的移动行h,则当能移动设备当前位置(位置5)所在的移动行L与第一目标点6所在的移动行h的偏离距离超过设定阈值时,例如超过2或3个行间距则认为智能移动设备在远离第一目标点6。二,方向判断模块240在智能移动设备当前位置(位置5)和第一目标点6之间建立角度坐标,该角度坐标为56之间连线为0度角,以65x为135度,65y为-135度,如果智能移动设备机头朝向在65x和65y之间,则认为朝向正确,智能移动设备在接近第一目标点6,如果机头朝向在x5p和p5y内则认为智能移动设备在远离第一目标点6的,应及时调整方向。即在本示例中,智能移动设备的模式切换模块220判断智能移动设备困于特定空间,指示控制单元200进入第一脱困模式后,智能移动设备在执行向左转弯-撞击到墙壁后向右旋转使碰撞传感器的挤压接触-前进-再向左转弯碰撞的操作,按照1-2-3-4-5的路径行走,在位置5处发现远离第一目标点6,此时调转智能移动设备的方向,并且在后续行走过程中进行向右转弯-向左旋转解除挤压-前进-向右转弯的操作,应向左旋转,然后如图7B中沿5-1-6方向直到找到移动行h上的第一目标点6,然后进入正常行进模式按照弓字形行进。由此可见,当智能移动设备调转方向后,其转弯方向和旋转方向都与之前的方向相反。
图8A至图8D示出根据本发明的实施例的智能移动设备另一脱困过程示意图。
如图8A所示,智能移动设备进入桌椅下方时候,由于桌子或者椅子的四个腿将智能移动设备限制在一个狭小的空间中,此种情况下智能移动设备很难从两个柱子之间通过以脱离该狭小的空间(此时同样出入口信息发生偏移,导致智能移动设备无法从出入口原路返回),此时智能移动设备的模式切换模块220判断智能移动设备困于特定空间,指示控制单元200进入第一脱困模式。假设智能移动设备机身宽度为35cm,椅子腿之间的宽度分为32cm、32cm、36cm、36cm,那智能移动设备如何找到宽度为36cm的出口,此时则可能需要进入第二脱困模式。
如前所述,进入第二脱困模式的其中一个条件为:当所述碰撞传感器110在所述智能移动设备10的两侧都检测到撞击且所述前方障碍物传感器120未检测到障碍物。如图8A所示,当智能移动设备10的右侧撞击到椅子腿1的A点后,其按照第一脱困模式会如图8B所示向左旋转,并在碰撞传感器110的挤压解除后沿挤压解除方向S行进第一预定时间或第一预定距离,然后如图8C所示,当智能移动设备10的左侧撞击到椅子腿3,此时便符合进入第二脱困模式的条件。模式切换模块220指示控制单元200进入第二脱困模式。
在第二脱困模式中,行进控制模块210控制智能移动设备执行下述操作:当智能移动设备10撞击到椅子腿3时,控制智能移动设备沿当前行进方向交替左右旋转前进,直到判定脱困成功或脱困失败为止。例如,当智能移动设备10撞击到椅子腿3点后,控制智能移动设备向右旋转第一设定角度,然后沿旋转后的方向行进直到撞到椅子腿1为止,然后,控制智能移动设备向左第二设定角度,并沿旋转后的方向行进直到撞到椅子腿3为止,接着,控制智能移动设备向右旋转第三设定角度,然后沿旋转后的方向行进直到撞到椅子腿1为止,如此往复,直到判定脱困成功或脱困失败为止。其中,第一设定角度大于第二设定角度,第二设定角度大于第三设定角度,例如第二设定角度为第一设定角度的一半,第三设定角度为第二设定角度的一半。
脱困成功或失败的判定如前所述,当智能移动设备重复上述操作设定次数或设定时间后,例如行进方向交替左右旋转前进5次之后,碰撞传感器110在智能移动设备10的左右两侧仍然能检测到撞击,则判定脱困失败,智能移动设备无法从椅子腿1、3之间出去,此时,控制智能移动设备寻址下一个出口,例如图8D所示,当智能移动设备撞击到椅子腿3后,不再执行上述操作,而是继续向左旋转前进,直到撞击到椅子腿,然后开始尝试能否从椅子腿3、4之间出去。反之,当智能移动设备重复上述操作设定次数或设定时间后,碰撞传感器110在智能移动设备10的左右两侧不能检测到撞击,且智能移动设备当前行进距离超过设定值,则判定脱困成功,随后进入正常行进模式。
图9示出根据本发明的实施例的智能移动设备又一脱困过程示意图。
如前所述,进入第二脱困模式的其中一个条件为:当所述侧向障碍物传感器130检测到所述智能移动设备10侧端靠近过障碍物,与所述侧向障碍物传感器130所在一侧的相反侧的所述碰撞传感器110检测到撞击,且所述前方障碍物传感器120未检测到障碍物。如图9所示,智能移动设备10的侧向障碍物传感器130检测到右侧接近障碍物W2,例如墙壁,右侧碰撞传感器110检测到撞击,且前方障碍物传感器120未检测到障碍物(检测区域D中没有障碍物),此时,模式切换模块220指示控制单元200进入第二脱困模式。在第二脱困模式中,控制智能移动设备10沿当前行进方向交替左右旋转前进,直到判定脱困成功或脱困失败为止。例如,当智能移动设备10撞击到左侧障碍物W1后,控制智能移动设备沿第一方向(图中箭头1所示方向,本示例中为向右,其它实施例也可以为向左)旋转第一设定角度,例如40度,然后沿旋转后的方向行进直到撞到右侧障碍物W2为止,然后,控制智能移动设备与第一方向相反的方向旋转(图中箭头2所示方向,本示例中为向左)第二设定角度,例如第二设定角度为第一设定角度的一半,20度,并沿旋转后的方向行进直到撞到左侧障碍物W1为止,如此往复,直到判定脱困成功或脱困失败为止。脱困成功或失败的判定如前所述,当智能移动设备重复上述操作设定次数或设定时间后,例如行进方向交替左右旋转前进5次之后,碰撞传感器110在智能移动设备10的左右两侧仍然能检测到撞击,则判定脱困失败。反之,当智能移动设备重复上述操作设定次数或设定时间后,碰撞传感器110在智能移动设备10的左右两侧不能检测到撞击,且智能移动设备当前行进距离超过设定值,则判定脱困成功,随后进入正常行进模式。
图10示出根据本发明实施例的智能移动设备的控制方法的示意性流程图。下面结合体图10对本发明实施例的智能移动设备的控制方法进行描述。
如图10所示,根据本发明实施例的智能移动设备的控制方法包括:
步骤S100,启动智能移动设备。
步骤S101,控制智能移动设备以正常行进模式行进,例如控制所述智能移动设备在行进区域中进行弓字形行进,所述弓字形包括多个平行的移动行。
步骤S102,在所述智能移动设备进行弓字形行进的过程中,判断所述智能移动设备是否困于特定空间内,如果判定所述智能移动设备困于特定空间内,则转至步骤S103,控制所述智能移动设备进入第一脱困模式,则继续执行步骤S101,控制智能移动设备以正常行进模式行进。
示例性地,在本实施例中,如果所述智能移动设备的出入口位置信息发生偏移使得所述智能移动设备无法原路返回,则判定所述智能移动设备困于特定空间内。
步骤S103,控制智能移动设备进入第一脱困模式。
在所述第一脱困模式中,控制所述智能移动设备重复执行下述操作:
当所述智能移动设备的碰撞传感器撞到障碍物后,控制所述智能移动设备沿第一方向旋转直到所述碰撞传感器与所述障碍物的挤压解除为止;
当智能移动设备的所述碰撞传感器与所述障碍物的挤压解除后,控制所述智能移动设备沿挤压解除方向行进第一设定时间或第一设定距离,然后控制所述智能移动设备转弯并继续行进。
示例性地,在其它实施例中,在所述第一脱困模式中,当智能移动设备的所述碰撞传感器与所述障碍物的挤压解除后,直接控制所述智能移动设备转弯并继续行进。
示例性地,在所述第一脱困模式中,还包括:
示例性地基于所述智能移动设备记录的移动行的位置信息,在所述智能移动设备的移动行上确定第一目标点,并基于所述第一目标点规划脱困路径,其中,所述第一目标点位于所述特定空间之外。
示例性地,在所述第一脱困模式中,还包括:
判断所述智能移动设备是否朝向所述第一目标点行进;
如果判定所述智能移动设备是在朝向所述第一目标点行进,则当所述智能移动设备撞到所述障碍物后,继续控制所述智能移动设备沿所述第一方向旋转直到所述碰撞传感器与所述障碍物的挤压解除为止;
如果判定所述智能移动设备不是在朝向所述第一目标点行进,则指示所述行进控制模块调转所述智能移动设备的方向,然后在所述智能移动设备撞到所述障碍物后,则控制所述智能移动设备沿第二方向旋转直到所述碰撞传感器与所述障碍物的挤压解除为止,其中,所述第二方向与所述第一方向相反。
在第一脱困模式执行过程中,执行步骤S104中,判断是否进入第二脱困模式。如果是,则转至步骤S105,反之则转至步骤S106。
示例性地,在本实施例中,如果所述碰撞传感器在所述智能移动设备的两侧都检测到撞击且所述前方障碍物传感器未检测到障碍物时,则控制所述智能移动设备进入第二脱困模式。
示例性地,在本实施例中,如果所述侧向障碍物传感器检测到所述智能移动设备侧端靠近过障碍物,与所述侧向障碍物传感器所在一侧的相反侧的所述碰撞传感器检测撞击,且所述前方障碍物传感器未检测到障碍物时,控制所述智能移动设备进入第二脱困模式。
在步骤S105中,控制智能移动设备进入第二脱困模式。
在所述第二脱困模式中,控制所述智能移动设备重复执行下述操作:
当所述智能移动设备撞击到障碍物后,控制所述智能移动设备交替向当前行进方向的左右两侧旋转设定角度,且每次旋转后控制所述智能移动设备继续行进直到所述碰撞传感器检测到撞击为止;
其中,每次旋转的所述设定角度均小于上次旋转的所述设定角度。
在步骤S106中,判断所述智能移动设备是否脱困成功,如果判定所述智能移动设备脱困成功则转入步骤S101,控制智能移动设备以正常行进模式行进,反之则转至步骤S107。
示例性地,在本实施例中,在所述碰撞传感器检测不到撞击触发和/或所述智能移动设备处于所述特定空间之外时判定所述智能移动设备脱困成功。或者在所述智能移动设备行进最大脱困时间或最长脱困距离后仍然处于所述特定空间时判定所述智能移动设备脱困失败。
示例性地,在本实施例中,在所述第二脱困模式中,在所述行进控制模块控制所述智能移动设备重复执行所述操作设定次数或设定时间后,通过判断碰撞传感器的触发确定智能移动设备是否脱困成功。
在步骤S107中,当判定智能移动设备无法脱困后,则进行报错或重新规划脱困路径。
图11示出了根据本发明实施例的智能移动设备20的示意性框图。
如图11所示,智能移动设备20包括碰撞传感器110、前方障碍物传感器120、侧向障碍物传感器130、存储器150和处理器160。
碰撞传感器110设置在智能移动设备20的前端区域,用于检测所述智能移动设备10与障碍物的撞击。
前方障碍物传感器120设置在智能移动设备20的前端,用于检测所述智能移动设备10前方一定角度和一定距离范围内的障碍物。
侧向障碍物传感器130设置在智能移动设备20的侧端,用于检测所述智能移动设备与侧端障碍物的接近程度。
存储器1500存储用于实现根据本发明实施例的智能移动设备的控制方法中的相应步骤的程序代码。存储器150可以包括一个或多个计算机程序产品,所述计算机程序产品可以包括各种形式的计算机可读存储介质,例如易失性存储器和/或非易失性存储器。所述易失性存储器例如可以包括随机存取存储器(RAM)和/或高速缓冲存储器(cache)等。所述非易失性存储器例如可以包括只读存储器(ROM)、硬盘、闪存等。
所述处理器160可以是中央处理单元(CPU)或者具有数据处理能力和/或指令执行能力的其它形式的处理单元,并且可以控制所述智能移动设备20中的其它组件以执行期望的功能。处理器160可以运行所述程序指令,以实现下文所述的本发明实施例中(由处理器实现)的客户端功能以及/或者其它期望的功能。在所述计算机可读存储介质中还可以存储各种应用程序和各种数据,例如所述应用程序使用和/或产生的各种数据等。所述处理器160用于运行所述存储器150中存储的程序代码,以执行根据本发明实施例的智能移动设备的控制方法的相应步骤,并且用于实现根据本发明实施例的智能移动设备的设备中的行进控制模块210、模式切换模块220、路径规划模块230、方向判断模块240和脱困判断模块250。
在一个实施例中,在所述程序代码被所述处理器160运行时执行以下步骤:控制所述智能移动设备在行进区域中进行弓字形行进,所述弓字形包括多个平行的移动行;
在所述智能移动设备进行弓字形行进的过程中,判断所述智能移动设备是否困于特定空间内,如果判定所述智能移动设备困于特定空间内,则控制所述智能移动设备进入第一脱困模式,
在所述第一脱困模式中,控制所述智能移动设备执行下述操作:
当所述智能移动设备的碰撞传感器撞到障碍物后,控制所述智能移动设备沿第一方向旋转直到所述碰撞传感器与所述障碍物的挤压解除为止;
当智能移动设备的所述碰撞传感器与所述障碍物的挤压解除后,控制所述智能移动设备沿挤压解除方向行进第一设定时间或第一设定距离,然后控制所述智能移动设备转弯并继续行进;
重复上述操作,直到判定所述智能移动设备脱困成功或脱困失败为止
此外,根据本发明实施例,还提供了一种存储介质,在所述存储介质上存储了程序指令,在所述程序指令被计算机或处理器运行时用于执行本发明实施例的活体检测方法的相应步骤,并且用于实现根据本发明实施例的活体检测装置中的相应模块。所述存储介质例如可以包括智能电话的存储卡、平板电脑的存储部件、个人计算机的硬盘、只读存储器(ROM)、可擦除可编程只读存储器(EPROM)、便携式紧致盘只读存储器(CD-ROM)、USB存储器、或者上述存储介质的任意组合。所述计算机可读存储介质可以是一个或多个计算机可读存储介质的任意组合。
在一个实施例中,所述计算机程序指令在被计算机运行时可以实现根据本发明实施例的智能移动设备的各个功能模块,并且/或者可以执行根据本发明实施例的智能移动设备的控制方法。
在一个实施例中,所述计算机程序指令在被计算机运行时执行以下步骤:控制所述智能移动设备在行进区域中进行弓字形行进,所述弓字形包括多个平行的移动行;
在所述智能移动设备进行弓字形行进的过程中,判断所述智能移动设备是否困于特定空间内,如果判定所述智能移动设备困于特定空间内,则控制所述智能移动设备进入第一脱困模式,
在所述第一脱困模式中,控制所述智能移动设备执行下述操作:
当所述智能移动设备的碰撞传感器撞到障碍物后,控制所述智能移动设备沿第一方向旋转直到所述碰撞传感器与所述障碍物的挤压解除为止;
当智能移动设备的所述碰撞传感器与所述障碍物的挤压解除后,控制所述智能移动设备沿挤压解除方向行进第一设定时间或第一设定距离,然后控制所述智能移动设备转弯并继续行进;
重复上述操作,直到判定所述智能移动设备脱困成功或脱困失败为止。
根据本发明实施例的智能移动设备中的各模块可以通过根据本发明实施例的智能移动设备的处理器运行在存储器中存储的计算机程序指令来实现,或者可以在根据本发明实施例的计算机程序产品的计算机可读存储介质中存储的计算机指令被计算机运行时实现。
根据本发明实施例的智能移动设备及其控制方法、存储介质,通过判定智能移动设备是否被困于特定空间,如果被困于特定空间,则进入第一脱困模式,在撞击到障碍物后不断通过解除挤压、前进、转弯等寻找出口直到脱困成功,从而避免了智能移动设备由于位置信息误差而被困于特定空间内。
进一步地,当智能移动设备的左右两侧碰撞传感器均检测到撞击或者一侧的碰撞传感器检测到撞击另一侧的侧向障碍物传感器检测到接近障碍物且前方障碍物传感器未检测到障碍物时,通过交替左右旋转前进来尝试从当前出口出去。
尽管这里已经参考附图描述了示例实施例,应理解上述示例实施例仅仅是示例性的,并且不意图将本发明的范围限制于此。本领域普通技术人员可以在其中进行各种改变和修改,而不偏离本发明的范围和精神。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
在本申请所提供的几个实施例中,应该理解到,所揭露的设备和方法,可以通过其它的方式实现。例如,以上所描述的设备实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个设备,或一些特征可以忽略,或不执行。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本发明并帮助理解各个发明方面中的一个或多个,在对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。发明点在于可以用少于某个公开的单个实施例的所有特征的特征来解决相应的技术问题。
本领域的技术人员可以理解,除了特征之间相互排斥之外,可以采用任何组合对本说明书(包括伴随的摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。
本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发明实施例的智能移动设备中的一些模块的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。
以上所述,仅为本发明的具体实施方式或对具体实施方式的说明,本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。