机器人、用于机器人的避障方法和装置
技术领域
本公开的实施例涉及计算机技术领域,具体涉及机器人、用于机器人的避障方法和装置。
背景技术
目前,各种类型的机器人已应用于许多领域中。例如,用于完成运输或配送任务的机器人可以应用在如医院、商场、银行、机场、仓库等各种地方以完成运输或配送任务,从而可以节省许多人力,提高工作效率。又例如,扫地机器人可以应用在室内以完成室内清洁功能。
机器人在行进过程中,可能遇到如障碍物或地面高低不平(如出现沟、坎等)等情况,这些情况都可能会造成碰撞或跌落等情况。因此,在机器人应用领域中,对于这些情况下,如何使得机器人完成对地面情况的探测,以保证行进安全,避免出现碰撞或跌落等情况是该领域一直在研究的方向之一。
发明内容
本公开的实施例提出了机器人、用于机器人的避障方法和装置。
第一方面,本公开的实施例提供了一种机器人,包括:处理器和光学传感器;光学传感器测量其与其发射的第一光束对应的第一投影区域之间的距离作为第一距离,测量其与其发射的第二光束对应的第二投影区域之间的距离作为第二距离,将测量到的第一距离和第二距离发送至处理器,其中,第一光束与竖直方向之间的第一角度大于第二光束与竖直方向之间的第二角度;处理器根据第一距离确定第一投影区域是否为机器人的安全区,根据第二距离确定第二投影区域是否为机器人的安全区;响应于确定第一投影区域为非安全区,控制机器人进行减速制动或转向,响应于确定第二投影区域为非安全区,控制机器人进行紧急制动。
在一些实施例中,处理器根据第一距离确定第一投影区域是否为机器人的安全区,根据第二距离确定第二投影区域是否为机器人的安全区,包括:处理器确定第一角度的余弦值与第一距离的乘积是否属于第一区间,确定第二角度的余弦值与第二距离的乘积是否属于第一区间;处理器响应于确定第一角度的余弦值与第一距离的乘积不属于第一区间,确定第一投影区域为非安全区;响应于确定第二角度的余弦值与第二距离的乘积不属于第一区间,确定第二投影区域为非安全区。
在一些实施例中,机器人还包括比较器;光学传感器确定第二距离对应的模拟量,以及将模拟量发送至比较器;比较器确定模拟量是否属于第二区间,以及响应于确定模拟量不属于第二区间,控制切断针对机器人的供电。
在一些实施例中,第二角度根据机器人的制动距离确定。
在一些实施例中,光学传感器发射的光束的投影区域的宽度根据用于表征机器人的避障能力的避障信息确定。
第二方面,本公开的实施例提供了一种用于机器人的避障方法,机器人包括光学传感器,该方法包括:接收光学传感器测量得到的第一距离和第二距离,其中,第一距离用于表征光学传感器与其发射的第一光束对应的第一投影区域之间的距离,第二距离用于表征光学传感器与其发射的第二光束对应的第二投影区域之间的距离,第一光束与竖直方向之间的第一角度大于第二光束与竖直方向之间的第二角度;根据第一距离确定第一投影区域是否为机器人的安全区,以及响应于确定第一投影区域为非安全区,控制机器人进行减速制动或转向;根据第二距离确定第二投影区域是否为安全区,以及响应于确定第二投影区域为非安全区,控制机器人进行紧急制动。
在一些实施例中,根据第一距离确定第一投影区域是否为机器人的安全区,包括:确定第一角度的余弦值与第一距离的乘积是否属于第一区间;响应于确定第一角度的余弦值与第一距离的乘积不属于第一区间,确定第一投影区域为非安全区。
在一些实施例中,根据第二距离确定第二投影区域是否为安全区,包括:确定第二角度的余弦值与第二距离的乘积是否属于第一区间;响应于确定第二角度的余弦值与第二距离的乘积不属于第一区间,确定第二投影区域为非安全区。
在一些实施例中,机器人还包括比较器;以及光学传感器确定第二距离对应的模拟量,以及将模拟量发送至比较器,以使比较器执行如下处理步骤:确定模拟量是否属于第二区间;响应于确定模拟量不属于第二区间,控制切断针对机器人的供电。
在一些实施例中,第二角度根据机器人的制动距离确定。
在一些实施例中,光学传感器发射的光束的投影区域的宽度根据用于表征机器人的避障能力的避障信息确定。
第三方面,本公开的实施例提供了一种用于机器人的避障装置,机器人包括光学传感器,该装置包括:接收单元,被配置成接收光学传感器测量得到的第一距离和第二距离,其中,第一距离用于表征光学传感器与其发射的第一光束对应的第一投影区域之间的距离,第二距离用于表征光学传感器与其发射的第二光束对应的第二投影区域之间的距离,第一光束与竖直方向之间的第一角度大于第二光束与竖直方向之间的第二角度;控制单元,被配置成根据第一距离确定第一投影区域是否为机器人的安全区,以及响应于确定第一投影区域为非安全区,控制机器人进行减速制动或转向;控制单元,进一步被配置成根据第二距离确定第二投影区域是否为安全区,以及响应于确定第二投影区域为非安全区,控制机器人进行紧急制动。
在一些实施例中,上述控制单元进一步被配置成:确定第一角度的余弦值与第一距离的乘积是否属于第一区间;响应于确定第一角度的余弦值与第一距离的乘积不属于第一区间,确定第一投影区域为非安全区。
在一些实施例中,上述控制单元进一步被配置成:确定第二角度的余弦值与第二距离的乘积是否属于第一区间;响应于确定第二角度的余弦值与第二距离的乘积不属于第一区间,确定第二投影区域为非安全区。
在一些实施例中,机器人还包括比较器;以及光学传感器确定第二距离对应的模拟量,以及将模拟量发送至比较器,以使比较器执行如下处理步骤:确定模拟量是否属于第二区间;响应于确定模拟量不属于第二区间,控制切断针对机器人的供电。
在一些实施例中,第二角度根据机器人的制动距离确定。
在一些实施例中,光学传感器发射的光束的投影区域的宽度根据用于表征机器人的避障能力的避障信息确定。
第四方面,本公开的实施例提供了一种计算机可读介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如第二方面中任一实现方式描述的方法。
本公开的实施例提供的机器人、用于机器人的避障方法和装置,利用机器人上安装的光学传感器所发射的不同角度的两束光束分别测量光学传感器与两束光束对应的投影区域之间的距离,机器人的处理器根据光学传感器测量得到的第一距离判断第一投影区域是否属于机器人可安全行进的安全区,并根据第二距离判断第二投影区域是否属于机器人可安全行进的安全区,其中,第一投影区域在第二投影区域的前方。基于此,处理器进一步可以在第一投影区域出现非安全区时,及时控制机器人进行减速制动或转向,以保证机器人的安全行进,而且在第一距离测量过程出现故障等情况时,还可以根据第二距离判断到第二投影区域出现非安全区,以及时控制机器人进行紧急制动,进一步保证机器人的安全行进,从而利用光学传感器的光束的安全冗余设置,提升机器人避障处理的可靠性。
附图说明
通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本公开的其它特征、目的和优点将会变得更明显:
图1是本公开的一个实施例可以应用于其中的示例性***架构图;
图2是适于用来实现本公开的实施例的机器人的结构示意图;
图3是适于用来实现本公开的实施例的机器人上的光学传感器的探测范围的侧视示意图;
图4是根据本公开的实施例的用于机器人的避障方法的一个实施例的流程图;
图5是根据本公开的用于机器人的避障装置的一个实施例的结构示意图。
具体实施方式
下面结合附图和实施例对本公开作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释相关发明,而非对该发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与有关发明相关的部分。
需要说明的是,在不冲突的情况下,本公开中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本公开。
图1示出了可以应用本公开的用于机器人的避障方法或用于机器人的避障装置的实施例的示例性架构100。
如图1所示,***架构100可以包括机器人101、机器人行进的路面102。其中,机器人101可以为各种类型的机器人。例如家用机器人(如扫地机器人等)、服务型机器人(如搬运机器人等)、农业机器人、工业机器人等等。
机器人101可以包括处理器,以控制机器人的行进。机器人101还可以包括光学传感器1011。光学传感器1011可以发射光束(如图中标号10111所示)以探测光束的投影区域与传感器之间的距离等。光学传感器可以是各种类型的光学传感器。例如,激光传感器、光栅式传感器等等。
机器人101在行进过程中,处理器可以利用光学传感器1011的测距功能确定前方路面102是否存在障碍物或悬崖(如图中标号1021所示)等非安全区。在发现前方路面102存在非安全区时,处理器可以及时控制机器人进行减速制动、转向、紧急制动等操作以保证机器人的行进安全。
需要说明的是,本公开的实施例所提供的用于机器人的避障方法一般由机器人101包括的处理器执行,相应地,用于机器人的避障装置一般设置于机器人101包括的处理器中。
需要说明的是,根据实际的应用需求和不同的应用场景,机器人101还可以包括其它各种硬件或软件等以使机器人完成不同的功能。应该理解,图1中的光学传感器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的光学传感器。
继续参考图2,其示出了适用于实现本公开的实施例的机器人(如图1所示的机器人)200的结构示意图。本公开的实施例中的机器人可以为各种类型的机器人。例如,机器人可以包括但不限于:家用机器人(如扫地机器人等)、服务型机器人(如搬运机器人等)、农业机器人、工业机器人等等。
如图2所示,机器人200可以包括处理器201和光学传感器202。其中,光学传感器202可以是各种类型的光学传感器。例如,光学传感器202包括但不限于:激光式传感器、光栅式传感器。光学传感器202在机器人200上的安装位置可以根据机器人的具体结构具体确定。光学传感器202发射的光束可以在机器人的行进前方,以对机器人的行进前方的路面进行探测。
下面结合图3作为示例进行说明,图3是适用于实现本公开的实施例的机器人上的光学传感器的探测范围的侧视示意图。如图3所示,机器人上安装的光学传感器301发射第一光束3011和第二光束3012。其中,第一光束3011在地面302上的投影区域为第一投影区域3013,第二光束3012在地面302上的投影区域为第二投影区域3014。
第一光束3011与竖直方向之间的夹角可以为第一角度β,第二光束3012与竖直方向之间的夹角可以为第二角度γ。第一角度β大于γ。由此也可以看出,第一光束3011对应的第一投影区域3013和第二光束3012对应的第二投影区域3014都在机器人的行进前方,且第一投影区域3013在第二投影区域3014的前方,第一投影区域3013和第二投影区域3014之间的距离为d2。
在机器人的行进过程中,光学传感器301可以测量其与第一投影区域3013之间的距离作为第一距离,同时可以测量其与第二投影区域3014之间的距离作为第二距离。之后,光学传感器301可以将测量到的第一距离和第二距离发送至机器人的处理器。
处理器可以根据接收到的第一距离确定第一投影区域3013是否为机器人的安全区,以及在处理器确定第一投影区域3013为非安全区时,可以控制机器人进行减速制动或转向,以避开第一投影区域处3013的非安全区。
同时,处理器还可以根据第二距离确定第二投影区域3014是否为机器人的安全区,以及在处理器确定第二投影区域3014为非安全区时,可以控制机器人进行紧急制动,以避免机器人行进到第二投影区域3014而发生跌落或碰撞等情况。
其中,安全区可以指机器人在行进过程中可以安全通过的区域。对应地,非安全区可以指机器人在行进过程中无法安全通过的区域。在非安全区,机器人可能会发生碰撞或跌落等导致无法正常行进的情况。
处理器根据不同的应用场景或实际的应用需求可以灵活采用各种方式根据接收到的第一距离确定第一投影区域3013是否为安全区。同样地,处理器可以灵活采用各种方式根据接收到的第二距离确定第二投影区域3014是否为安全区。
例如,处理器可以确定第一距离是否属于第一预设区间,以及响应于确定第一距离属于第一预设区间,可以认为第一投影区域3013属于安全区,响应于确定第一距离不属于第一预设区间,可以认为第一投影区域3013属于非安全区。其中,第一预设区间可以由技术人员预先根据机器人的光学传感器到属于安全区的第一投影区域的距离确定。
类似地,处理器可以确定第二距离是否属于第二预设区间,以及响应于确定第二距离属于第二预设区间,可以认为第二投影区域3014属于安全区,响应于确定第二距离不属于第二预设区间,可以认为第二投影区域3014属于非安全区。其中,第二预设区间可以由技术人员预先根据机器人的光学传感器到属于安全区的第二投影区域的距离确定。
在本实施例的一些可选的实现方式中,处理器可以通过如下步骤根据第一距离确定第一投影区域3013是否为机器人的安全区:确定第一角度β的余弦值与第一距离的乘积是否属于第一区间,以及响应于确定第一角度β的余弦值与第一距离的乘积属于第一区间,可以确定第一投影区域3013为安全区,响应于确定第一角度β的余弦值与第一距离的乘积不属于第一区间,可以确定第一投影区域3013为非安全区。其中,第一区间可以由技术人员预先根据机器人的光学传感器到属于安全区的地面的垂直距离(如图2中的距离h)确定。
类似地,处理器可以通过如下步骤根据第二距离确定第二投影区域3014是否为机器人的安全区:确定第二角度γ的余弦值与第二距离的乘积是否属于上述第一区间,以及响应于确定第二角度γ的余弦值与第二距离的乘积属于第一区间,可以确定第二投影区域3014为安全区,响应于确定第二角度γ的余弦值与第二距离的乘积不属于第一区间,可以确定第二投影区域3014为非安全区。
由于光学传感器到属于安全区的地面的垂直距离可以根据机器人的避障能力较容易地预先确定。因此,可以在利用光学传感器探测得到光学传感器与投影区域之间的距离之后,可以利用光学传感器发射的光束与竖直方向的夹角的余弦值与探测得到的距离的乘积与上述垂直距离的比较,快速且准确地判断投影区域是否是属于安全区。
在本实施例的一些可选的实现方式中,机器人200还可以包括比较器(图2未示出)。其中,比较器可以用于对两个或多个数据项进行比较,以确定两个或多个数据项之间的大小关系等。
此时,机器人200包括的光学传感器202可以确定第二距离对应的模拟量,并将模拟量发送至比较器。比较器可以确定模拟量是否属于第二区间,以及响应于确定模拟量不属于第二区间,比较器可以控制切断针对机器人200的供电。
其中,第二区间可以由技术人员预先根据机器人的光学传感器到属于安全区的第二投影区域的距离确定。此时,第二区间表示的数值范围可以与上述第二预设区间表示的数值范围相同。
此时,比较器响应于确定第二距离对应的模拟量属于第二区间,可以认为第二投影区域为安全区,机器人可以正常通过,响应于确定第二距离对应的模拟量不属于第二区间,可以认为第二投影区域为非安全区,机器人不可通过该区域。
第二距离对应的模拟量可以根据实际的应用需求使用不同类型的模拟量。例如,第二距离对应的模拟量可以使用电压值、电流值等来表示。
作为示例,使用电压值表征第二距离对应的模拟量时,可以由技术人员预先设计距离与电压值之间的对应关系。此时,第二区间可以表示一个电压值区间。若第二距离对应的电压值属于第二区间,可以认为第二投影区域属于安全区。若第二距离对应的电压值不属于第二区间,可以认为第二投影区域属于非安全区,此时,可以对机器人200进行紧急制动,以避免机器人在第二投影区域处发生碰撞或跌落等情况。
比较器的具体实现方式可以由技术人员根据实际的应用需求和应用场景灵活设置。例如,可以通过设置一个比较电路作为比较器,同时设置一个参考电路用于输出上述第二区间指示的一个模拟量的取值范围。此时,光学传感器可以将确定的第二距离对应的模拟量发送至比较电路,同时,参考电路可以将第二区间也发送至比较电路,然后由比较电路输出比较结果,并根据比较结果对机器人进行控制。例如,若比较器判断出第二距离对应的模拟量不属于第二区间,此时,可以通过关闭用于控制机器人的供电的开关来切断机器人的供电。
可选地,光学传感器可以具有两个输出接口。其中一个接口可以用于输出第一距离和第二距离分别对应的数字量,另一个接口可以用于输出第二距离对应的模拟量。
由于比较器可以直接控制切断机器人200的供电,而不需要通过机器人200的其它控制部件向机器人200发送制动指令等较复杂的控制逻辑,可以更快的对机器人200进行紧急制动,保证机器人安全,而且也可以保证在机器人200的其它控制部件或控制逻辑发生错误而不能正常运行时,可以通过比较器实现对机器人200的避障处理。
在本实施例的一些可选的实现方式中,第二角度可以根据机器人200的制动距离确定。其中,机器人的制动距离可以指机器人从开始制动到完全停止所走过的路程。第二角度可以由技术人员预先根据实际的应用场景设置。
可选地,第二角度对应的第二投影区域与机器人200之间的水平距离可以与机器人200的制动距离相同。此时,结合图3来看,即图中的距离d1可以与机器人的制动距离相同。
这种情况下,在探测到第二投影区域为非安全区时,机器人必须进行急停,否则就会经过第二投影区域而发生碰撞或机器人跌落等情况。因此,这个时候可以利用比较器快速地对机器人进行紧急制动,以最快的时间让机器人停止,避免发生危险。
在本实施例的一些可选的实现方式中,机器人200的光学传感器202发射的光束的投影区域的宽度可以根据用于表征机器人200的避障能力的避障信息确定。
由于机器人200一般具有一定的避障能力。例如,一些尺寸的障碍物或一些尺寸的悬崖机器人200是可以通过的,而不需要进行绕行等避障处理。因此,可以根据机器人200本身的避障能力确定光学传感器202发射的光束的投影区域的宽度,以避免对机器人可通过的障碍物或悬崖等进行不必要的检测而浪费计算资源的情况。
仍结合图3进行说明,第一光束3011的投影区域3013的宽度可以与第二光束3014的投影区域3014的宽度相同。如图3中所示,投影区域3013的宽度和投影区域3014的宽度均未d3。而d3可以是机器人200可以通过的悬崖或障碍物的宽度。
在本实施例的一些可选的实现方式中,可以在机器人的后退方向上也安装与前进方向上所安装的相同的光学传感器,并可以利用同样的方法在机器人进行后退时,对后退方向前面的地面的非安全区进行探测,以保证机器人的安全。
应当可以理解,根据本公开的上述探测机器人的前进方向上地面的非安全区方案可以根据实际的应用场景中,机器人的运行方向、光学传感器发射的光束的投影范围等等,在机器人的不同位置安装光学传感器,以实现机器人全部运行方向的安全检测。
需要说明的是,机器人上安装的光学传感器的数目可以根据实际的应用场景和应用需求灵活设置。本公开对此不作限定。
例如,光学传感器可以是一个能够发射两束不重合的光束的光学传感器。光学传感器也可以是由两个分别能够发射一束光束的光学传感器组成。此时,可以通过调整两个光学传感器的安装位置以控制两个光学传感器分别发射的光束与竖直方向之间的夹角。
另外,根据机器人上所安装的光学传感器发射的光束的投影区域的长度和机器人本身的尺寸,灵活设置一组或多组光学传感器,以覆盖机器人前方即将走过的所有地面区域,从而保证对机器人前方的待行驶区域进行全面覆盖检测,进一步保证机器人的安全性。
应当可以理解,根据实际的应用需求和不同的应用场景,机器人200还可以包括其他各种图2中未示出的硬件(如电机、用于监控电机旋转状态的编码器等)或软件(如各种实现不同功能的应用程序等)。
需要说明的是,图2示出的机器人仅仅是一个示例,不应对本公开的实施例的功能和使用范围带来任何限制。
目前,在现有技术中,通常通过在机器人的前进方向安装3D深度相机或在机器人底盘安装红外测距传感器等来实现机器人的避障处理。但是,3D深度相机对光线敏感,容易受到环境光线的影响,而且需要耗费较多的计算资源。而红外测距传感器的覆盖范围通常较小,因此,对于一些如网孔、较小的缝隙等在机器人的避障能力之内的地面,也会尽心不必要的避障处理。
本公开的上述实施例提供的机器人利用光学传感器发射的、与竖直方向不同角度的两束光束分别探测距离机器人前方不同距离处是否存在不安全区域。一方面,利用可以探测到距离机器人前方较远处的光束探测到前方存在不安全区时,及时控制机器人进行减速制动或转向以使机器人在到达前方不安全区域时能够平稳停止或转弯避开,保证机器人行进过程中的安全。另一方面,在可以探测到距离机器人前方较远处的光束出现问题而导致没有探测到前方存在的不安全区时,可以利用另一个光束探测到该不安全区,从而及时对机器人进行紧急制动,以防止机器人出现碰撞或跌落等情况,进一步通过保证机器人行进过程中的安全。另外,这种方式受周围环境光线的影响较小,而且计算快,不需要耗费过多的计算资源,同时能够根据机器人实际的避障能力对光束的投影区域进行设置,从而可以提升非安全区的识别准确率,以避免不必要的避障操作。
进一步参考图4,其示出了用于机器人的避障方法的又一个实施例的流程400。该用于机器人的避障方法的流程400,包括以下步骤:
步骤401,接收机器人包括的光学传感器测量得到的第一距离和第二距离。
在本实施例中,用于机器人的避障方法的执行主体可以为机器人中设置的处理器(如图2所示的处理器201)。
第一距离可以用于表征光学传感器与其发射的第一光束对应的第一投影区域之间的距离,第二距离可以用于表征光学传感器与其发射的第二光束对应的第二投影区域之间的距离,第一光束与竖直方向之间的第一角度大于第二光束与竖直方向之间的第二角度。
步骤402,根据第一距离确定第一投影区域是否为机器人的安全区,以及响应于确定第一投影区域为非安全区,控制机器人进行减速制动或转向。
步骤403,根据第二距离确定第二投影区域是否为安全区,以及响应于确定第二投影区域为非安全区,控制机器人进行紧急制动。
在本实施例的一些可选的实现方式中,可以通过如下步骤根据第一距离确定第一投影区域是否为机器人的安全区:确定第一角度的余弦值与第一距离的乘积是否属于第一区间;响应于确定第一角度的余弦值与第一距离的乘积不属于第一区间,确定第一投影区域为非安全区。
在本实施例的一些可选的实现方式中,可以通过如下步骤根据第二距离确定第二投影区域是否为机器人的安全区:确定第二角度的余弦值与第二距离的乘积是否属于第一区间;响应于确定第二角度的余弦值与第二距离的乘积不属于第一区间,确定第二投影区域为非安全区。
在本实施例的一些可选的实现方式中,机器人还可以包括比较器。机器人的光学传感器可以确定第二距离对应的模拟量,并将模拟量发送至比较器,以使比较器执行如下处理步骤:确定模拟量是否属于第二区间;响应于确定模拟量不属于第二区间,控制切断针对机器人的供电。
在本实施例的一些可选的实现方式中,第二角度可以根据机器人的制动距离确定。
在本实施例的一些可选的实现方式中,光学传感器发射的光束的投影区域的宽度根据用于表征机器人的避障能力的避障信息确定。
上述步骤401-403的具体的执行过程,以及本实施例中的其它内容可参考图2对应实施例中的相关说明,在此不再赘述。
本公开的上述实施例提供的用于机器人的避障方法利用光学传感器发射的、与竖直方向不同角度的两束光束分别探测距离机器人前方不同距离处是否存在不安全区域。一方面,利用可以探测到距离机器人前方较远处的光束探测到前方存在不安全区时,及时控制机器人进行减速制动或转向以使机器人避开前方不安全区域,保证机器人行进过程中的安全。另一方面,在可以探测到距离机器人前方较远处的光束出现问题而导致没有探测到前方存在的不安全区时,可以利用另一个光束探测到该不安全区,从而及时对机器人进行紧急制动,以防止机器人出现碰撞或跌落等情况,进一步通过保证机器人行进过程中的安全。另外,在利用处理器控制机器人进行避障的同时,采用比较器同时对光学传感器发送的第二距离的模拟量进行处理以在前方出现非安全区时,更快速地反应,通过直接断电以使机器人急停,也可以保证在利用处理器等实现的控制逻辑出现问题时,仍能保证机器人的行进安全。
进一步参考图5,作为对上述各图所示方法的实现,本公开提供了用于机器人的避障装置的一个实施例,该装置实施例与图4所示的方法实施例相对应,该装置具体可以应用于各种机器人中。
如图5所示,本实施例提供的用于机器人的避障装置500包括接收单元501和控制单元502。其中,接收单元501被配置成接收机器人包括的光学传感器测量得到的第一距离和第二距离,其中,第一距离用于表征光学传感器与其发射的第一光束对应的第一投影区域之间的距离,第二距离用于表征光学传感器与其发射的第二光束对应的第二投影区域之间的距离,第一光束与竖直方向之间的第一角度大于第二光束与竖直方向之间的第二角度;控制单元502被配置成根据第一距离确定第一投影区域是否为机器人的安全区,以及响应于确定第一投影区域为非安全区,控制机器人进行减速制动或转向;根据第二距离确定第二投影区域是否为安全区,以及响应于确定第二投影区域为非安全区,控制机器人进行紧急制动。
在本实施例中,用于机器人的避障装置500中:接收单元501和控制单元502的具体处理及其所带来的技术效果可分别参考图2对应实施例中的步骤401、步骤402和步骤403的相关说明,在此不再赘述。
在本实施例的一些可选的实现方式中,上述控制单元502进一步被配置成:确定第一角度的余弦值与第一距离的乘积是否属于第一区间;响应于确定第一角度的余弦值与第一距离的乘积不属于第一区间,确定第一投影区域为非安全区。
在本实施例的一些可选的实现方式中,上述控制单元502进一步被配置成:确定第二角度的余弦值与第二距离的乘积是否属于第一区间;响应于确定第二角度的余弦值与第二距离的乘积不属于第一区间,确定第二投影区域为非安全区。
在本实施例的一些可选的实现方式中,机器人还包括比较器;以及光学传感器确定第二距离对应的模拟量,以及将模拟量发送至比较器,以使比较器执行如下处理步骤:确定模拟量是否属于第二区间;响应于确定模拟量不属于第二区间,控制切断针对机器人的供电。
在本实施例的一些可选的实现方式中,第二角度根据机器人的制动距离确定。
在本实施例的一些可选的实现方式中,光学传感器发射的光束的投影区域的宽度根据用于表征机器人的避障能力的避障信息确定。
本公开的上述实施例提供的用于机器人的避障装置,通过接收单元接收机器人的光学传感器测量得到的第一距离和第二距离,其中,第一距离用于表征光学传感器与其发射的第一光束对应的第一投影区域之间的距离,第二距离用于表征光学传感器与其发射的第二光束对应的第二投影区域之间的距离,第一光束与竖直方向之间的第一角度大于第二光束与竖直方向之间的第二角度;控制单元根据第一距离确定第一投影区域是否为机器人的安全区,以及响应于确定第一投影区域为非安全区,控制机器人进行减速制动或转向;根据第二距离确定第二投影区域是否为安全区,以及响应于确定第二投影区域为非安全区,控制机器人进行紧急制动。由此,可以利用光学传感器发射的光束的安全冗余设置,提升机器人行进过程中的安全性。
需要说明的是,根据本公开的实施例,上文参考流程图描述的过程可以被实现为软件程序。例如,本公开的实施例包括一种软件程序产品,其包括承载在可读介质上的软件程序,该软件程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该软件程序可以从网络上被下载和安装,或者从存储设备被安装。在该软件程序被执行时,执行本公开的实施例的方法中限定的上述功能。
需要说明的是,本公开的实施例所述的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的***、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开的实施例中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行***、装置或者器件使用或者与其结合使用。而在本公开的实施例中,计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读信号介质可以发送、传播或者传输用于由指令执行***、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:电线、光缆、RF(射频)等等,或者上述的任意合适的组合。
上述计算机可读介质可以是上述机器人中所包含的;也可以是单独存在,而未装配入该机器人中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被该机器人执行时,使得该机器人:接收机器人包括的光学传感器测量得到的第一距离和第二距离,其中,第一距离用于表征光学传感器与其发射的第一光束对应的第一投影区域之间的距离,第二距离用于表征光学传感器与其发射的第二光束对应的第二投影区域之间的距离,第一光束与竖直方向之间的第一角度大于第二光束与竖直方向之间的第二角度;根据第一距离确定第一投影区域是否为机器人的安全区,以及响应于确定第一投影区域为非安全区,控制机器人进行减速制动或转向;根据第二距离确定第二投影区域是否为安全区,以及响应于确定第二投影区域为非安全区,控制机器人进行紧急制动。
可以以一种或多种程序设计语言或其组合来编写用于执行本公开的实施例的操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)——连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
附图中的流程图和框图,图示了按照本公开各种实施例的***、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的***来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本公开的实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的单元也可以设置在处理器中,例如,可以描述为:一种处理器包括接收单元和控制单元。其中,这些单元的名称在某种情况下并不构成对该单元本身的限定,例如,接收单元还可以被描述为“接收光学传感器测量得到的第一距离和第二距离的单元”。
以上描述仅为本公开的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本公开的实施例中所涉及的发明范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离上述发明构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本公开的实施例中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。