发明内容
为了解决上述问题中的至少一个而提出了本发明。根据本发明一方面,提供了一种自主机器人,所述自主机器人包括感知系统和控制系统,其中:所述感知系统用于对所述自主机器人的周围环境进行感知;所述控制系统能够获取所述感知系统的感知数据,并根据所述感知数据对所述自主机器人的运动行为进行控制;所述控制系统被配置为:基于所述自主机器人的运动状态动态调整所述自主机器人的行为安全阈值,以用于基于所述感知数据和所述动态调整的行为安全阈值控制所述自主机器人的运动行为。
在本发明的一个实施例中,所述感知系统至少包括悬崖传感器,所述行为安全阈值为悬崖测距安全阈值。
在本发明的一个实施例中,所述自主机器人的运动状态包括第一运动状态和第二运动状态,其中:当所述自主机器人的运动状态为所述第一运动状态时,所述控制系统将所述悬崖测距安全阈值设置为第一阈值;当所述自主机器人的运动状态为所述第二运动状态时,所述控制系统将所述悬崖测距安全阈值设置为第二阈值。
在本发明的一个实施例中,所述第一运动状态是所述自主机器人的机身与所述自主机器人所在地面的夹角为零;所述第二运动状态是所述自主机器人的机身与所述自主机器人所在地面的夹角不为零。
在本发明的一个实施例中,所述第二运动状态为所述自主机器人处于越障过程中的运动状态。
在本发明的一个实施例中,所述控制系统进一步被配置为:当所述悬崖传感器的感知数据小于或等于所述悬崖测距安全阈值时,认定能够越障,并控制所述自主机器人继续越障;以及当所述悬崖传感器的感知数据大于所述悬崖测距安全阈值时,认定前方是悬崖,并控制所述自主机器人后退。
在本发明的一个实施例中,所述第一阈值的大小取决于所述自主机器人能够安全下落的最大距离的大小和/或所述自主机器人的越障能力。
在本发明的一个实施例中,所述第二阈值的大小至少与以下三者相关联:所述第一阈值的大小、所述自主机器人的机身与所述自主机器人所在地面的夹角的大小、以及所述自主机器人的机身的长度。
在本发明的一个实施例中,当所述自主机器人处于越障过程中且以所述自主机器人的机身为支点倾斜时,所述第二阈值的大小仅与所述三者相关联。
在本发明的一个实施例中,所述第二阈值的大小还与所述自主机器人的底面中心距离所述自主机器人所在地面的距离的大小相关联。
在本发明的一个实施例中,当所述自主机器人处于越障过程中且以所述自主机器人的驱动轮为支点倾斜时,所述第二阈值的大小与所述自主机器人的底面中心距离所述自主机器人所在地面的距离的大小相关联。
根据本发明另一方面,提供了一种自主机器人的控制方法,所述控制方法包括:基于检测装置所检测的所述自主机器人的运动状态动态调整所述自主机器人的行为安全阈值;以及基于所述自主机器人的感知系统的感知数据和所述动态调整的行为安全阈值控制所述自主机器人的运动行为。
在本发明的一个实施例中,所述感知系统至少包括悬崖传感器,所述行为安全阈值为悬崖测距安全阈值。
在本发明的一个实施例中,所述自主机器人的运动状态包括第一运动状态和第二运动状态,其中:当所述自主机器人的运动状态为所述第一运动状态时,将所述悬崖测距安全阈值设置为第一阈值;当所述自主机器人的运动状态为所述第二运动状态时,将所述悬崖测距安全阈值设置为第二阈值。
在本发明的一个实施例中,所述第一运动状态是所述自主机器人的机身与所述自主机器人所在地面的夹角为零;所述第二运动状态是所述自主机器人的机身与所述自主机器人所在地面的夹角不为零。
在本发明的一个实施例中,所述第二运动状态为所述自主机器人处于越障过程中的运动状态。
在本发明的一个实施例中,所述控制方法进一步包括:当所述悬崖传感器的感知数据小于或等于所述悬崖测距安全阈值时,认定能够越障,并控制所述自主机器人继续越障;以及当所述悬崖传感器的感知数据大于所述悬崖测距安全阈值时,认定前方是悬崖,并控制所述自主机器人后退。
在本发明的一个实施例中,所述第一阈值的大小取决于所述自主机器人能够安全下落的最大距离的大小和/或所述自主机器人的越障能力。
在本发明的一个实施例中,所述第二阈值的大小至少与以下三者相关联:所述第一阈值的大小、所述自主机器人的机身与所述自主机器人所在地面的夹角的大小、以及所述自主机器人的机身的长度。
在本发明的一个实施例中,当所述自主机器人处于越障过程中且以所述自主机器人的机身为支点倾斜时,所述第二阈值的大小仅与所述三者相关联。
在本发明的一个实施例中,所述第二阈值的大小还与所述自主机器人的底面中心距离所述自主机器人所在地面的距离的大小相关联。
在本发明的一个实施例中,当所述自主机器人处于越障过程中且以所述自主机器人的驱动轮为支点倾斜时,所述第二阈值的大小与所述自主机器人的底面中心距离所述自主机器人所在地面的距离的大小相关联。
根据本发明再一方面,提供了一种用于上述任一项所述控制方法的控制装置,所述控制装置包括:阈值设置模块,用于基于检测装置所检测的所述自主机器人的运动状态动态调整所述自主机器人的行为安全阈值;以及控制模块,用于基于所述自主机器人的感知系统的感知数据和所述动态调整的行为安全阈值控制所述自主机器人的运动行为。
根据本发明再一方面,提供了一种自主机器人的控制系统,所述控制系统包括存储装置和处理器,所述存储装置上存储有由所述处理器运行的计算机程序,所述计算机程序在被所述处理器运行时执行上述任一项所述的自主机器人的控制方法。
根据本发明又一方面,提供了一种计算机可读介质,所述计算机可读介质上存储有计算机程序,所述计算机程序在运行时执行上述任一项所述的自主机器人的控制方法。
根据本发明实施例的自主机器人及其控制方法、装置、系统和计算机可读介质基于自主机器人的运动状态动态调整自主机器人的行为安全阈值,可以确保在各种应用场景下对自主机器人行为的正确控制,例如可以基于自主机器人的运动状态动态调整悬崖传感器测距的安全阈值,从而确保在各种应用场景下对悬崖高度判定的真实性和有效性,提高自主机器人的可靠性(例如可以避免机器人越障时因不准确的悬崖测距而受到干扰导致无法正常障碍等),从而可以提高用户体验。
具体实施方式
为了使得本发明的目的、技术方案和优点更为明显,下面将参照附图详细描述根据本发明的示例实施例。显然,所描述的实施例仅仅是本发明的一部分实施例,而不是本发明的全部实施例,应理解,本发明不受这里描述的示例实施例的限制。基于本发明中描述的本发明实施例,本领域技术人员在没有付出创造性劳动的情况下所得到的所有其它实施例都应落入本发明的保护范围之内。
首先,参照图1至图4来描述可以用于实现根据本发明实施例的自主机器人及其控制方法、装置和系统的示例性自主机器人的结构。如图1至图4所示,自主机器人100可以为扫地机器人、拖地机器人等自动清洁设备(应理解,其仅是示例性的,可以用于实现根据本发明实施例的自主机器人及其控制方法、装置和系统的示例性自主机器人还可以为包括其他结构的其他类型的自主机器人),该自主机器人100可以包含机器主体110、感知系统120、控制系统130、驱动系统140、清洁系统150、能源系统160和人机交互系统170。
机器主体110包括前向部分111和后向部分112,具有近似圆形形状(前后都为圆形),也可具有其他形状,包括但不限于前方后圆的近似D形形状。
感知系统120包括位于机器主体110上方的位置确定装置121、位于机器主体110的前向部分111的缓冲器122、悬崖传感器123和超声传感器(图中未示出)、红外传感器(图中未示出)、磁力计(图中未示出)、加速度计(图中未示出)、陀螺仪(图中未示出)、里程计(图中未示出)等传感装置,向控制系统130提供机器的各种位置信息和运动状态信息。位置确定装置121包括但不限于摄像头、激光测距装置(LDS)。
机器主体110的前向部分111可承载缓冲器122,在清洁过程中驱动轮模块141推进机器人在地面行走时,缓冲器122经由传感器系统,例如红外传感器,检测自主机器人100的行驶路径中的一或多个事件(或对象),机器人可通过由缓冲器122检测到的事件(或对象),例如障碍物、墙壁,而控制驱动轮模块141使机器人来对所述事件(或对象)做出响应,例如远离障碍物。对于不太高的障碍物(例如障碍物高度不够,不足以激发机器人前端的碰撞传感器来促使机器人后退),通常会采取翻越障碍的方式来进行。
控制系统130设置在机器主体110内的电路主板上,包括存储装置(例如硬盘、快闪存储器、随机存取存储器等)以及通信的计算处理器(例如中央处理单元、应用处理器等)。计算处理器可以根据激光测距装置反馈的障碍物信息利用定位算法,例如即时定位与地图构建(SLAM)算法,绘制机器人所在环境中的即时地图。并且结合缓冲器122、悬崖传感器123和超声传感器、红外传感器、磁力计、加速度计、陀螺仪、里程计等传感装置反馈的距离信息、速度信息综合判断机器人当前处于何种工作状态,如过门槛,上地毯,位于悬崖处,上方或者下方被卡住,尘盒满,被拿起等等,还会针对不同情况给出具体的下一步动作策略,使得机器人的工作更加符合主人的要求,有更好的用户体验。进一步地,控制系统130能基于SLAM绘制的即时地图信息规划最为高效合理的清扫路径和清扫方式,大大提高机器人的清扫效率。
驱动系统140可基于具有距离和角度信息,例如x、y及θ分量的驱动命令而操纵自主机器人100在地面上行驶。驱动系统140包含驱动轮模块141,驱动轮模块141可以同时控制左轮和右轮。为了更为精确地控制机器的运动,优选驱动轮模块141分别包括左驱动轮模块和右驱动轮模块。左、右驱动轮模块沿着由主体110界定的横向轴对置。为了机器人能够在地面上更为稳定地运动或者更强的运动能力,机器人可以包括一个或者多个从动轮142,从动轮包括但不限于万向轮。驱动轮模块包括行走轮和驱动马达以及控制驱动马达的控制电路,驱动轮模块还可以连接测量驱动电流的电路和里程计。驱动轮模块141可以可拆卸地连接到主体110上,方便拆装和维修。驱动轮可具有偏置下落式悬挂系统,以可移动方式紧固,例如以可旋转方式附接,到机器人主体110,且接收向下及远离机器人主体110偏置的弹簧偏置。弹簧偏置允许驱动轮以一定的着地力维持与地面的接触及牵引,同时自主机器人100的清洁元件也以一定的压力接触地面。
清洁系统150可为干式清洁系统和/或湿式清洁系统。作为干式清洁系统,主要的清洁功能源于滚刷结构、尘盒结构、风机结构、出风口以及四者之间的连接部件所构成的清扫系统151。与地面具有一定干涉的滚刷结构将地面上的垃圾扫起并卷带到滚刷结构与尘盒结构之间的吸尘口前方,然后被风机结构产生并经过尘盒结构的有吸力的气体吸入尘盒结构。扫地机的除尘能力可用垃圾的清扫效率DPU(Dust pick up efficiency)进行表征,清扫效率DPU受滚刷结构和材料影响,受吸尘口、尘盒结构、风机结构、出风口以及四者之间的连接部件所构成的风道的风力利用率影响,受风机的类型和功率影响,是个复杂的系统设计问题。相比于普通的插电吸尘器,除尘能力的提高对于能源有限的自主机器人来说意义更大。因为除尘能力的提高直接有效降低了对于能源要求,也就是说原来充一次电可以清扫八十平米地面的机器,可以进化为充一次电清扫一百八十平米甚至更多。并且减少充电次数的电池的使用寿命也会大大增加,使得用户更换电池的频率也会增加。更为直观和重要的是,除尘能力的提高是最为明显和重要的用户体验,用户会直接得出扫得是否干净/擦得是否干净的结论。干式清洁系统还可包含具有旋转轴的边刷152,旋转轴相对于地面成一定角度,以用于将碎屑移动到清洁系统150的滚刷区域中。
能源系统160包括充电电池,例如镍氢电池和锂电池。充电电池可以连接有充电控制电路、电池组充电温度检测电路和电池欠压监测电路,充电控制电路、电池组充电温度检测电路、电池欠压监测电路再与单片机控制电路相连。主机通过设置在机身侧方或者下方的充电电极与充电桩连接进行充电。
人机交互系统170包括主机面板上的按键,按键供用户进行功能选择;还可以包括显示屏和/或指示灯和/或喇叭,显示屏、指示灯和喇叭向用户展示当前机器所处状态或者功能选择项;还可以包括手机客户端程序。对于路径导航型清洁设备,在手机客户端可以向用户展示设备所在环境的地图,以及机器所处位置,可以向用户提供更为丰富和人性化的功能项。
为了更加清楚地描述机器人的行为,进行如下方向定义:自主机器人100可通过相对于由主体110界定的如下三个相互垂直轴的移动的各种组合在地面上行进:横向轴x、前后轴y及中心垂直轴z。沿着前后轴y的前向驱动方向标示为“前向”,且沿着前后轴y的后向驱动方向标示为“后向”。横向轴x实质上是沿着由驱动轮模块141的中心点界定的轴心在机器人的右轮与左轮之间延伸。其中,自主机器人100可以绕x轴转动。当自主机器人100的前向部分向上倾斜,后向部分向下倾斜时为“上仰”,且当自主机器人100的前向部分向下倾斜,后向部分向上倾斜时为“下俯”。另外,自主机器人100可以绕z轴转动。在机器人的前向方向上,当自主机器人100向Y轴的右侧倾斜为“右转”,当自主机器人100向y轴的左侧倾斜为“左转”。
以上示例性地示出了用于实现根据本发明实施例的自主机器人及其控制方法、装置和系统的示例性自主机器人的结构。下面描述根据本发明实施例的自主机器人。如前所述,由于根据本发明实施例的自主机器人主要用于解决在一些应用场景中感知系统(例如悬崖传感器测距)读数不属实而引起的问题(例如本来可以翻越的障碍物因悬崖传感器的工作的干扰而无法成功越障),因此,根据本发明实施例的自主机器人主要包括感知系统和控制系统,其中:所述感知系统用于对所述自主机器人的周围环境进行感知;所述控制系统能够获取所述感知系统的感知数据,并根据所述感知数据对所述自主机器人的运动行为进行控制。下文将以悬崖传感器为例来描述,应理解,其仅是示例性的,本领域技术人员根据本发明的教导还可以理解感知系统的其他传感器在读数不反映真实情况时的处理方式。
一般地,悬崖传感器在测距时是测量其到与机身垂直的地面的距离。如图5所示,当自主机器人在平地上运行时,即自主机器人的机身与自主机器人所在地面(此处,地面不仅仅指代大地平面,也可以指代任何自主机器人所处的表面)的夹角为零,在该情况下,位于自主机器人底部的悬崖传感器(例如图2中所示的悬崖传感器123)所测得的读数(即悬崖传感器的感知数据)为如图5中所示的距离C。在该场景中,该测得的读数C是悬崖传感器距离悬崖的高度距离,在自主机器人机身不倾斜(即自主机器人的机身与自主机器人所在地面的夹角为零)的情况下,悬崖传感器距离悬崖的高度距离也即真实的、自主机器人距离悬崖的高度距离。自主机器人距离悬崖的高度距离小于或等于预定的安全阈值才判定可以下落。一般地,自主机器人的控制系统(例如图1中所示的控制系统130)将悬崖传感器的感知数据C(在该实施例中该读数C为真实的自主机器人距离悬崖的高度距离)与该预先设置的悬崖测距安全阈值M1(即下文中将讨论的自主机器人在第一运动状态下将设置的第一阈值)进行比较。如果C小于或等于M1,则判定可以下落,将控制自主机器人继续向前行驶(例如通过控制如图2所示的驱动系统140正向运转);反之,如果C大于M1,则判定前方为悬崖,不能下落,将控制自主机器人后退(例如通过控制如图2所示的驱动系统140反向运转)。
然而,在其他场景中,例如如图6所示的自主机器人的机身发生倾斜(在图6中示出为是因为越障而倾斜,应理解,还可能因为其他的原因而发生倾斜),即自主机器人的机身与自主机器人所在地面(此处,地面不仅仅指代大地平面,也可以指代任何自主机器人所处的表面)的夹角不为零。在该情况下,位于自主机器人底部的悬崖传感器(例如图2中所示的悬崖传感器123)所测得的读数为如图6中所示的距离C。很明显,如图6中所示的距离C并非自主机器人距离悬崖的真实高度距离。此时,如果控制系统还采用先前在平地上时使用的悬崖测距安全阈值M1,可能出现自主机器人距离悬崖的真实距离小于或等于M1而读数C却大于M1的情况,基于此,控制系统将判定前方是悬崖而控制自主机器人后退。也可能出现自主机器人距离悬崖的真实距离大于M1而读数C却小于或等于M1的情况,基于此,控制系统将判定可以下落而控制自主机器人前进。然而,很明显,控制系统由于不属实的悬崖测距而错误控制了自主机器人的运动行为,导致本来能够翻越的障碍却越障失败,使得障碍后方无法清扫,本来可以下落的台阶却后退了,或者导致本来不能下落的距离下落了,从而可能导致损坏机器人或机器人回到此处时无法爬上来,从而降低了自主机器人的可靠性,使得用户体验较差。
基于此,根据本发明实施例的自主机器人的控制系统被配置为:基于自主机器人的运动状态动态调整自主机器人的行为安全阈值(例如悬崖测距安全阈值),以用于基于感知系统(例如悬崖传感器)的感知数据和动态调整的行为安全阈值(例如悬崖测距安全阈值)控制自主机器人的运动行为。
由于根据本发明实施例的自主机器人采用动态而非固定的悬崖测距安全阈值,因此能够确保在各种应用场景下对悬崖高度判定的真实性和有效性,提高自主机器人的可靠性,从而提高用户体验。
下面结合附图参考具体实施例详细描述根据本发明实施例的自主机器人的控制方法、控制装置以及控制系统,这些控制方法、控制装置以及控制系统可以通过配置上文所述的自主机器人的控制系统而得以实现。
图7示出根据本发明实施例的自主机器人的控制方法700的示意性流程图。如图7所示,自主机器人的控制方法700可以包括如下步骤:
在步骤S710,基于检测装置所检测的自主机器人的运动状态动态调整自主机器人的行为安全阈值(例如悬崖测距安全阈值)。
在步骤S720,基于自主机器人的感知系统(例如悬崖传感器)的感知数据和所述动态调整的行为安全阈值(例如悬崖测距安全阈值)控制自主机器人的运动行为。
在一个实施例中,可以将自主机器人的运动状态定义为包括第一运动状态和第二运动状态,其中:第一运动状态是自主机器人的机身与自主机器人所在地面的夹角为零(例如自主机器人在平地上运行),第二运动状态是自主机器人的机身与自主机器人所在地面的夹角不为零(例如自主机器人在越障过程中或者其他可能的情况)。当自主机器人的运动状态为第一运动状态时,可以将悬崖测距安全阈值设置为第一阈值;当自主机器人的运动状态为第二运动状态时,可以将悬崖测距安全阈值设置为第二阈值。其中,第一阈值和第二阈值的大小以及它们之间的关系将在下文中论述。
相应地,当自主机器人的运动状态为第一运动状态时,将自主机器人的悬崖传感器的感知数据和所设置的第一阈值相比较,如果自主机器人的悬崖传感器的感知数据小于或等于该第一阈值,则控制自主机器人继续前进,如果自主机器人的悬崖传感器的感知数据大于该第一阈值,则控制自主机器人后退。当自主机器人的运动状态为第二运动状态时,将自主机器人的悬崖传感器的感知数据和所设置的第二阈值相比较,如果自主机器人的悬崖传感器的感知数据小于或等于该第二阈值,则控制自主机器人继续前进,如果自主机器人的悬崖传感器的感知数据大于该第二阈值,则控制自主机器人后退。
在其他实施例中,也可以将自主机器人的运动状态定义为其他类型的运动状态,而不限于前面所述的第一运动状态和第二运动状态,基于不同的运动状态,可相应地设置不同的悬崖测距安全阈值(即实现动态调整悬崖测距安全阈值)。当自主机器人的悬崖传感器的感知数据小于或者等于所设置的悬崖测距安全阈值时,控制自主机器人继续前进,当自主机器人的悬崖传感器的感知数据大于所设置的悬崖测距安全阈值时,控制自主机器人后退。
在一个实施例中,检测自主机器人的运动状态的检测装置可以为自主机器人自身的检测装置,例如如图1所示的感知系统120中的某个检测器件。在上面的示例中,自主机器人的运动状态与自主机器人的机身和自主机器人所在地面的夹角相关联,在该示例中,检测自主机器人的运动状态的检测装置可以为自主机器人的角运动检测装置,例如如图1所示的感知系统120中的防螺仪。在其他实施例中,检测自主机器人的运动状态的检测装置也可以不是自主机器人自身的检测装置,而是其他的检测装置。
在一个实施例中,与第一运动状态相对应的第一阈值的大小可以取决于自主机器人能够安全下落的最大距离的大小。在该实施例中,以自主机器人能够安全下落为前提来设置平地上悬崖测距的安全阈值(即悬崖测距安全阈值),可以防止自主机器人跌落损坏,有效地保护自主机器人,延长其使用寿命。在另一个实施例中,第一阈值的大小可以取决于自主机器人的越障能力。在该实施例中,以自主机器人能够在下落后在返回此处时爬上该悬崖为前提来设置平地上悬崖测距的安全阈值,可以防止自主机器人下落后无法再爬上来,进一步提高自主机器人的自主能力,从而使其功能更为优化。在又一个实施例中,第一阈值的大小可以取决于自主机器人能够安全下落的最大距离的大小和自主机器人的越障能力这两者。在该实施例中,可以兼顾前两个实施例的优势。在其他实施例中,还可以出于其他的考虑来设置第一阈值的大小。在一些应用实例中,第一阈值的大小可以在1.9厘米到2.5厘米之间,例如等于2.0厘米等。当然,这仅是示例性的,可以基于不同的应用实例设置第一阈值的具体数值,本发明对此不作限制。
在一个实施例中,与第二运动状态相对应的第二阈值的大小可以至少与以下三者相关联:第一阈值的大小、自主机器人的机身与自主机器人所在地面的夹角的大小、以及自主机器人的机身的长度。下面参考图6和图8来描述该实施例中第二阈值的设置。
图6示出了自主机器人的一种越障情况,在该情况下的越障动作是自主机器人的机身未完全抬起,即自主机器人处于越障过程中且以自主机器人的机身为支点(即以自主机器人的机身后端底部为支点)倾斜。
在该情况下,自主机器人的机身与自主机器人所在地面成一夹角θ,如图8的简化图中所示的,其中θ不为零。在该状态下,自主机器人的悬崖传感器所测得的读数为如图8所示的C,而实际上,自主机器人距离悬崖的真实高度距离应该等于H’-H,其中H为悬崖传感器距离自主机器人所在地面的高度,H’为悬崖传感器距离悬崖地面的高度。H可以通过下式来计算:H=L×sinθ,其中L为机身的长度;H’可以通过下式来计算:H’=C×cosθ。因此,自主机器人距离悬崖的真实高度距离应该等于C×cosθ-L×sinθ。
基于前面的讨论,自主机器人距离悬崖的真实高度距离应该小于或等于第一阈值M1才判定可以下落,如果是在平地上,即为C≤M1,而对于该实施例中处于第二运动状态的自主机器人,应有C×cosθ-L×sinθ≤M1,也就是说,在该实施例中悬崖传感器的读数C应该满足C≤(M1+L×sinθ)/cosθ才能判定可以下落,因此在该实施例中,与第二运动状态相对应的第二阈值(例如表示为M2)的取值可以为:M2=(M1+L×sinθ)/cosθ,即在该实施例中第二阈值的大小与以下三者相关联:第一阈值M1的大小、自主机器人的机身与自主机器人所在地面的夹角θ的大小、以及自主机器人的机身的长度L。当C≤M2时,可以认定能够越障,并控制所述自主机器人继续越障;当C>M2时,可以认定前方有悬崖,并控制自主机器人后退。
在一个实施例中,与第二运动状态相对应的第二阈值的大小除了与上述三者(即第一阈值的大小、自主机器人的机身与自主机器人所在地面的夹角的大小、以及自主机器人的机身的长度)相关联之外,还可以与自主机器人的底面中心距离自主机器人所在地面的距离的大小相关联。下面参考图9和图10来描述该实施例中第二阈值的设置。
图9示出了自主机器人的另一种越障情况,在该情况下的越障动作是自主机器人的机身完全抬起,即自主机器人处于越障过程中且以驱动轮为支点倾斜。
在该情况下,自主机器人的机身与自主机器人所在地面成一夹角θ,如图10的简化图中所示的,其中θ不为零。在该状态下,自主机器人的悬崖传感器所测得的读数为如图10所示的C,而实际上,自主机器人距离悬崖的真实高度距离应该等于H’-H,其中H为悬崖传感器距离自主机器人所在地面的高度,H’为悬崖传感器距离悬崖地面的高度。H可以通过下式来计算:H=h+L/2×sinθ,其中L为机身的长度,h为自主机器人的底面中心距离自主机器人所在地面的距离,由于此时驱动轮处于压制状态,因此h的值是可知的;H’可以通过下式来计算:H’=C×cosθ。因此,自主机器人距离悬崖的真实高度距离应该等于C×cosθ-h-L/2×sinθ。
基于前面的讨论,自主机器人距离悬崖的真实高度距离应该小于或等于第一阈值M1才判定可以下落,如果是在平地上,即为C≤M1,而对于该实施例中处于第二运动状态的自主机器人,应有C×cosθ-h-L/2×sinθ≤M1,也就是说,在该实施例中悬崖传感器的读数C应该满足C≤(M1+h+L/2×sinθ)/cosθ才能判定可以下落,因此在该实施例中,与第二运动状态相对应的第二阈值(例如表示为M2)的取值可以为:M2=(M1+h+L/2×sinθ)/cosθ,即在该实施例中第二阈值的大小与以下四者相关联:第一阈值M1的大小、自主机器人的机身与自主机器人所在地面的夹角θ的大小、自主机器人的机身的长度L、以及自主机器人的底面中心距离自主机器人所在地面的距离h的大小。当C≤M2时,可以认定能够越障,并控制所述自主机器人继续越障;当C>M2时,可以认定前方有悬崖,并控制自主机器人后退。
以上分别讨论了以自主机器人的机身为支点和以自主机器人的驱动轮为支点时自主机器人的越障情况。这里,如何判断是以机身为支点还是以驱动轮为支点可以通过如下途径来实现:预先测试一个临界角度,在该临界角度下驱动轮被压制到一定程度,机身后端处于接触地面或不接触地面的临界点上。在检测出自主机器人的机身与自主机器人所在地面的夹角大于该临界角度时,表明驱动轮受压制程度变少,机身后端底部着地;在检测出自主机器人的机身与自主机器人所在地面的夹角小于该临界角度时,表明驱动轮受压制程度变大,是以驱动轮为支点。该途径的实现是以自主机器人的驱动轮是以弹簧偏置为前提的。在其他情况下,在其他实施例中,自主机器人的越障可能不局限于以上所描述的情况,但无论如何,在本发明的教导下,可以基于不同的情况下动态设置不同的悬崖测距安全阈值,以确保悬崖测距的准确性,提高自主机器人的可靠性。
以上参考图6-图10示例性地示出了根据本发明实施例的控制方法及其在自主机器人越障过程中的应用。应理解,图6和图9(以及图5)主要是为了示意性地示出不同场景下悬崖传感器的测距情况,因此本领域技术人员可以不必太在意这些图中所示出的包括悬崖传感器的自主机器人的内部结构,因为这些结构也是示例性的,根据本发明实施例的技术方案也可以适用于其他结构的自主机器人。
基于上面的描述,根据本发明实施例的自主机器人的控制方法基于自主机器人的运动状态动态调整自主机器人的行为安全阈值,可以确保在各种应用场景下对自主机器人行为的正确控制,例如可以基于自主机器人的运动状态动态调整悬崖传感器测距的安全阈值,从而确保在各种应用场景下对悬崖高度判定的真实性和有效性,提高自主机器人的可靠性,从而可以提高用户体验。
示例性地,基于根据本发明实施例的自主机器人的控制方法可以应用于自主机器人越障场景,基于动态调整悬崖传感器测距的安全阈值,可以避免机器人越障时因不准确的悬崖测距而受到干扰导致无法正常障碍,使得越障和悬崖的检测相互不干涉,提高清洁效率。当然,根据本发明实施例的自主机器人的控制方法还可以应用于其他应用场景。
示例性地,根据本发明实施例的自主机器人的控制方法可以部署在自主机器人的控制系统中。替代地,根据本发明实施例的自主机器人的控制方法还可以部署在服务器端(或云端)。替代地,根据本发明实施例的自主机器人的控制方法还可以分布地部署在服务器端(或云端)和自主机器人的控制系统中。
下面结合图11描述本发明另一方面提供的自主机器人的控制装置。图11示出了根据本发明实施例的自主机器人的控制装置1100的示意性框图。
如图11所示,根据本发明实施例的自主机器人的控制装置1100包括阈值设置模块1110和控制模块1120。其中,阈值设置模块1110用于基于检测装置所检测的所述自主机器人的运动状态动态调整自主机器人的行为安全阈值(例如悬崖测距安全阈值)。控制模块1120用于基于所述自主机器人的感知系统(例如悬崖传感器)的感知数据和所述动态调整的行为安全阈值(例如悬崖测距安全阈值)控制所述自主机器人的运动行为。所述各个模块可分别执行上文中结合图7描述的自主机器人的控制方法的各个步骤/功能。以下仅对自主机器人的控制装置1100的各单元的主要功能进行描述,而省略以上已经描述过的细节内容。
在一个实施例中,可以将自主机器人的运动状态定义为包括第一运动状态和第二运动状态,其中:第一运动状态是自主机器人的机身与自主机器人所在地面的夹角为零(例如自主机器人在平地上运行),第二运动状态是自主机器人的机身与自主机器人所在地面的夹角不为零(例如自主机器人在越障过程中或者其他可能的情况)。当自主机器人的运动状态为第一运动状态时,阈值设置模块1110可以将悬崖测距安全阈值设置为第一阈值;当自主机器人的运动状态为第二运动状态时,阈值设置模块1110可以将悬崖测距安全阈值设置为第二阈值。其中,第一阈值和第二阈值的大小将在下文中论述。
相应地,当自主机器人的运动状态为第一运动状态时,控制模块1120将自主机器人的悬崖传感器的感知数据和阈值设置模块1110所设置的第一阈值相比较,如果自主机器人的悬崖传感器的感知数据小于或等于该第一阈值,则控制模块1120控制自主机器人继续前进,如果自主机器人的悬崖传感器的感知数据大于该第一阈值,则控制模块1120控制自主机器人后退。当自主机器人的运动状态为第二运动状态时,将自主机器人的悬崖传感器的感知数据和阈值设置模块1110所设置的第二阈值相比较,如果自主机器人的悬崖传感器的感知数据小于或等于该第二阈值,则控制模块1120控制自主机器人继续前进,如果自主机器人的悬崖传感器的感知数据大于该第二阈值,则控制模块1120控制自主机器人后退。
在其他实施例中,也可以将自主机器人的运动状态定义为其他类型的运动状态,而不限于前面所述的第一运动状态和第二运动状态,基于不同的运动状态,阈值设置模块1110可相应地设置不同的悬崖测距安全阈值(即实现动态调整悬崖测距安全阈值)。当自主机器人的悬崖传感器的感知数据小于或者等于所设置的悬崖测距安全阈值时,控制模块1120控制自主机器人继续前进,当自主机器人的悬崖传感器的感知数据大于所设置的悬崖测距安全阈值时,控制模块1120控制自主机器人后退。
在一个实施例中,检测自主机器人的运动状态的检测装置可以为自主机器人自身的检测装置,例如如图1所示的感知系统120中的某个检测器件。在上面的示例中,自主机器人的运动状态与自主机器人的机身和自主机器人所在地面的夹角相关联,在该示例中,检测自主机器人的运动状态的检测装置可以为自主机器人的角运动检测装置,例如如图1所示的感知系统120中的防螺仪。在其他实施例中,检测自主机器人的运动状态的检测装置也可以不是自主机器人自身的检测装置,而是其他的检测装置。
在一个实施例中,与第一运动状态相对应的第一阈值的大小可以取决于自主机器人能够安全下落的最大距离的大小。在该实施例中,阈值设置模块1110以自主机器人能够安全下落为前提来设置平地上悬崖测距的安全阈值(即悬崖测距安全阈值),可以防止自主机器人跌落损坏,有效地保护自主机器人,延长其使用寿命。在另一个实施例中,第一阈值的大小可以取决于自主机器人的越障能力。在该实施例中,阈值设置模块1110以自主机器人能够在下落后在返回此处时爬上该悬崖为前提来设置平地上悬崖测距的安全阈值,可以防止自主机器人下落后无法再爬上来,进一步提高自主机器人的自主能力,从而使其功能更为优化。在又一个实施例中,第一阈值的大小可以取决于自主机器人能够安全下落的最大距离的大小和自主机器人的越障能力这两者。在该实施例中,阈值设置模块1110可以兼顾前两个实施例的优势。在其他实施例中,阈值设置模块1110还可以出于其他的考虑来设置第一阈值的大小。在一些应用实例中,第一阈值的大小可以在1.9厘米到2.5厘米之间,例如等于2.0厘米等。当然,这仅是示例性的,可以基于不同的应用实例设置第一阈值的具体数值,本发明对此不作限制。
在一个实施例中,与第二运动状态相对应的第二阈值的大小可以至少与以下三者相关联:第一阈值的大小、自主机器人的机身与自主机器人所在地面的夹角的大小、以及自主机器人的机身的长度。该实施例可以适用于自主机器人处于越障过程中且以自主机器人的机身为支点倾斜的场景。在上文的描述中已经参考图6和图8描述了该实施例中第二阈值的设置情况,为了简洁,此处不再赘述。
在另一个实施例中,与第二运动状态相对应的第二阈值的大小除了与上述三者(即第一阈值的大小、自主机器人的机身与自主机器人所在地面的夹角的大小、以及自主机器人的机身的长度)相关联之外,还可以与自主机器人的底面中心距离自主机器人所在地面的距离的大小相关联。该实施例可以适用于自主机器人处于越障过程中且以自主机器人的驱动轮为支点倾斜的场景。在上文的描述中已经参考图9和图10描述了第二阈值的设置情况,为了简洁,此处不再赘述。
在其他实施例中,自主机器人的越障可能不局限于以上所描述的情况,但无论如何,在本发明的教导下,可以基于不同的情况下动态设置不同的悬崖测距安全阈值,以确保悬崖测距的准确性,提高自主机器人的可靠性。
基于动态设置的悬崖测距安全阈值,当自主机器人的悬崖传感器的感知数据小于或等于所述悬崖测距安全阈值时,控制模块1120认定能够越障,并控制所述自主机器人继续越障;当自主机器人的悬崖传感器的感知数据大于所述悬崖测距安全阈值时,控制模块1120认定前方是悬崖,并控制所述自主机器人后退。
基于上面的描述,根据本发明实施例的自主机器人的控制装置基于自主机器人的运动状态动态调整自主机器人的行为安全阈值,可以确保在各种应用场景下对自主机器人行为的正确控制,例如可以基于自主机器人的运动状态动态调整悬崖传感器测距的安全阈值,从而确保在各种应用场景下对悬崖高度判定的真实性和有效性,提高自主机器人的可靠性,从而可以提高用户体验。
示例性地,基于根据本发明实施例的自主机器人的控制装置可以应用于自主机器人越障场景,基于动态调整悬崖传感器测距的安全阈值,可以避免机器人越障时因不准确的悬崖测距而受到干扰导致无法正常障碍,使得越障和悬崖的检测相互不干涉,提高清洁效率。当然,根据本发明实施例的自主机器人的控制装置还可以应用于其他应用场景。
示例性地,根据本发明实施例的自主机器人的控制装置可以部署在自主机器人的控制系统中。替代地,根据本发明实施例的自主机器人的控制装置还可以部署在服务器端(或云端)。替代地,根据本发明实施例的自主机器人的控制装置还可以分布地部署在服务器端(或云端)和自主机器人的控制系统中。
下面结合图12描述本发明又一方面提供的自主机器人的控制控制系统。图12示出了根据本发明实施例的自主机器人的控制系统1200的示意性框图。自主机器人的控制系统1200包括存储装置1210以及处理器1220。
其中,存储装置1210存储用于实现根据本发明实施例的自主机器人的控制方法中的相应步骤的程序代码。处理器1220用于运行存储装置1210中存储的程序代码,以执行根据本发明实施例的自主机器人的控制方法的相应步骤,并且用于实现根据本发明实施例的自主机器人的控制装置中的相应模块。
在一个实施例中,在所述程序代码被处理器1220运行时使得自主机器人的控制系统1200执行以下步骤:基于检测装置所检测的所述自主机器人的运动状态动态调整所述自主机器人的行为安全阈值;以及基于所述自主机器人的感知系统的感知数据和所述动态调整的行为安全阈值控制所述自主机器人的运动行为。
在一个实施例中,所述感知系统至少包括悬崖传感器,所述行为安全阈值为悬崖测距安全阈值。
在一个实施例中,所述自主机器人的运动状态包括第一运动状态和第二运动状态,其中在所述程序代码被处理器1220运行时使得自主机器人的控制系统1200执行的基于检测装置所检测的所述自主机器人的运动状态动态调整悬崖测距安全阈值的步骤进一步包括:当所述自主机器人的运动状态为所述第一运动状态时,将所述悬崖测距安全阈值设置为第一阈值;当所述自主机器人的运动状态为所述第二运动状态时,将所述悬崖测距安全阈值设置为第二阈值。
在一个实施例中,所述第一运动状态是所述自主机器人的机身与所述自主机器人所在地面的夹角为零;所述第二运动状态是所述自主机器人的机身与所述自主机器人所在地面的夹角不为零。
在一个实施例中,所述第二运动状态为所述自主机器人处于越障过程中的运动状态。
在一个实施例中,在所述程序代码被处理器1220运行时使得自主机器人的控制系统1200执行的基于所述自主机器人的悬崖传感器的感知数据和所述动态调整的悬崖测距安全阈值控制所述自主机器人的运动行为的步骤进一步包括:当所述悬崖传感器的感知数据小于或等于所述悬崖测距安全阈值时,认定能够越障,并控制所述自主机器人继续越障;以及当所述悬崖传感器的感知数据大于所述悬崖测距安全阈值时,认定前方是悬崖,并控制所述自主机器人后退。
在一个实施例中,所述第一阈值的大小取决于所述自主机器人能够安全下落的最大距离的大小和/或所述自主机器人的越障能力。
在一个实施例中,所述第二阈值的大小至少与以下三者相关联:所述第一阈值的大小、所述自主机器人的机身与所述自主机器人所在地面的夹角的大小、以及所述自主机器人的机身的长度。
在一个实施例中,当所述自主机器人处于越障过程中且以所述自主机器人的机身为支点倾斜时,所述第二阈值的大小仅与所述三者相关联。
在一个实施例中,所述第二阈值的大小还与所述自主机器人的底面中心距离所述自主机器人所在地面的距离的大小相关联。
在一个实施例中,当所述自主机器人处于越障过程中且以所述自主机器人的驱动轮为支点倾斜时,所述第二阈值的大小与所述自主机器人的底面中心距离所述自主机器人所在地面的距离的大小相关联。
此外,根据本发明实施例,还提供了一种计算机可读存储介质,在所述存储介质上存储了程序指令,在所述程序指令被计算机或处理器运行时用于执行本发明实施例的自主机器人的控制方法的相应步骤,并且用于实现根据本发明实施例的自主机器人的控制装置中的相应模块。所述存储介质例如可以包括智能电话的存储卡、平板电脑的存储部件、个人计算机的硬盘、只读存储器(ROM)、可擦除可编程只读存储器(EPROM)、便携式紧致盘只读存储器(CD-ROM)、USB存储器、或者上述存储介质的任意组合。所述计算机可读存储介质可以是一个或多个计算机可读存储介质的任意组合,例如一个计算机可读存储介质包含基于检测装置所检测的所述自主机器人的运动状态动态调整悬崖测距安全阈值的计算机可读的程序代码,另一个计算机可读存储介质包含基于所述自主机器人的悬崖传感器的感知数据和所述动态调整的悬崖测距安全阈值控制所述自主机器人的运动行为的计算机可读的程序代码。
在一个实施例中,所述计算机程序指令在被计算机运行时可以实现根据本发明实施例的自主机器人的控制装置的各个功能模块,并且/或者可以执行根据本发明实施例的自主机器人的控制方法。
在一个实施例中,所述计算机程序指令在被计算机或处理器运行时使计算机或处理器执行以下步骤:基于检测装置所检测的所述自主机器人的运动状态动态调整所述自主机器人的行为安全阈值;以及基于所述自主机器人的感知系统的感知数据和所述动态调整的行为安全阈值控制所述自主机器人的运动行为。
在一个实施例中,所述感知系统至少包括悬崖传感器,所述行为安全阈值为悬崖测距安全阈值。
在一个实施例中,所述自主机器人的运动状态包括第一运动状态和第二运动状态,其中所述计算机程序指令在被计算机或处理器运行时使计算机或处理器执行的基于检测装置所检测的所述自主机器人的运动状态动态调整悬崖测距安全阈值的步骤进一步包括:当所述自主机器人的运动状态为所述第一运动状态时,将所述悬崖测距安全阈值设置为第一阈值;当所述自主机器人的运动状态为所述第二运动状态时,将所述悬崖测距安全阈值设置为第二阈值。
在一个实施例中,所述第一运动状态是所述自主机器人的机身与所述自主机器人所在地面的夹角为零;所述第二运动状态是所述自主机器人的机身与所述自主机器人所在地面的夹角不为零。
在一个实施例中,所述第二运动状态为所述自主机器人处于越障过程中的运动状态。
在一个实施例中,所述计算机程序指令在被计算机或处理器运行时使计算机或处理器执行的基于所述自主机器人的悬崖传感器的感知数据和所述动态调整的悬崖测距安全阈值控制所述自主机器人的运动行为的步骤进一步包括:当所述悬崖传感器的感知数据小于或等于所述悬崖测距安全阈值时,认定能够越障,并控制所述自主机器人继续越障;以及当所述悬崖传感器的感知数据大于所述悬崖测距安全阈值时,认定前方是悬崖,并控制所述自主机器人后退。
在一个实施例中,所述第一阈值的大小取决于所述自主机器人能够安全下落的最大距离的大小和/或所述自主机器人的越障能力。
在一个实施例中,所述第二阈值的大小至少与以下三者相关联:所述第一阈值的大小、所述自主机器人的机身与所述自主机器人所在地面的夹角的大小、以及所述自主机器人的机身的长度。
在一个实施例中,当所述自主机器人处于越障过程中且以所述自主机器人的机身为支点倾斜时,所述第二阈值的大小仅与所述三者相关联。
在一个实施例中,所述第二阈值的大小还与所述自主机器人的底面中心距离所述自主机器人所在地面的距离的大小相关联。
在一个实施例中,当所述自主机器人处于越障过程中且以所述自主机器人的驱动轮为支点倾斜时,所述第二阈值的大小与所述自主机器人的底面中心距离所述自主机器人所在地面的距离的大小相关联。
基于上面的描述,根据本发明实施例的自主机器人及其控制方法、装置、系统和计算机可读介质基于自主机器人的运动状态动态调整自主机器人的行为安全阈值,可以确保在各种应用场景下对自主机器人行为的正确控制,例如可以基于自主机器人的运动状态动态调整悬崖传感器测距的安全阈值,从而确保在各种应用场景下对悬崖高度判定的真实性和有效性,提高自主机器人的可靠性(例如可以避免机器人越障时因不准确的悬崖测距而受到干扰导致无法正常障碍等),从而可以提高用户体验。
尽管这里已经参考附图描述了示例实施例,应理解上述示例实施例仅仅是示例性的,并且不意图将本发明的范围限制于此。本领域普通技术人员可以在其中进行各种改变和修改,而不偏离本发明的范围和精神。所有这些改变和修改意在被包括在所附权利要求所要求的本发明的范围之内。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
在本申请所提供的几个实施例中,应该理解到,所揭露的设备和方法,可以通过其它的方式实现。例如,以上所描述的设备实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个设备,或一些特征可以忽略,或不执行。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本发明并帮助理解各个发明方面中的一个或多个,在对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该本发明的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如相应的权利要求书所反映的那样,其发明点在于可以用少于某个公开的单个实施例的所有特征的特征来解决相应的技术问题。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域的技术人员可以理解,除了特征之间相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发明实施例的物品分析设备中的一些模块的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。
以上所述,仅为本发明的具体实施方式或对具体实施方式的说明,本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。本发明的保护范围应以权利要求的保护范围为准。