掌桥专利:专业的专利平台
掌桥专利
首页

边缘检测方法、装置、机器人及存储介质

文献发布时间:2023-06-19 11:49:09


边缘检测方法、装置、机器人及存储介质

技术领域

本申请属于机器人技术领域,尤其涉及一种边缘检测方法、装置、机器人及存储介质。

背景技术

目前,机器人在移动时需要进行边缘检测,该边缘指的是机器人行走的桌面、台阶等平面的边缘位置,机器人在检测到边缘后,能够通过改变移动动作来避免在边缘处跌落。通常,边缘检测是通过安装于机器人的距离传感器来朝下测量距离,通过该距离的变化来判定前方是否存在边缘。然而,由于机器人,特别是人形机器人的距离传感器测量的距离受机器人自身姿态变化的影响,导致无法根据该距离传感器准确地进行边缘检测。

发明内容

有鉴于此,本申请实施例提供了边缘检测方法、装置、机器人及存储介质,以解决现有技术中如何使得机器人能够准确地实现边缘检测的问题。

本申请实施例的第一方面提供了一种边缘检测方法,所述方法应用于机器人,包括:

获取设于所述机器人的距离传感器检测到的目标距离,以及确定所述机器人的运动状态;所述目标距离为所述距离传感器探测到的行走平面与所述距离传感器之间的距离;所述行走平面为与所述机器人的行走方向平行的平面;

根据所述机器人的运动状态及所述目标距离,确定边缘检测结果。

本申请实施例的第二方面提供了一种边缘检测装置,所述装置应用于机器人,包括:

获取单元,用于获取设于所述机器人的距离传感器检测到的目标距离,以及确定所述机器人的运动状态;所述目标距离为所述距离传感器探测到的行走平面与所述距离传感器之间的距离;所述行走平面为与所述机器人的行走方向平行的平面;

边缘检测结果确定单元,用于根据所述机器人的运动状态及所述目标距离,确定边缘检测结果。

本申请实施例的第三方面提供了一种机器人,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,当所述处理器执行所述计算机程序时,使得机器人实现如所述边缘检测方法的步骤。

本申请实施例的第四方面提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,当所述计算机程序被处理器执行时,使得机器人实现如所述边缘检测方法的步骤。

本申请实施例的第五方面提供了一种计算机程序产品,当计算机程序产品在机器人上运行时,使得机器人执行上述第一方面中所述的边缘检测方法。

本申请实施例与现有技术相比存在的有益效果是:本申请实施例中,通过获取设于所述机器人的距离传感器检测到的目标距离以及确定机器人的运动状态后,再根据该机器人的运动状态和该目标距离,确定边缘检测结果。由于该边缘检测结果除了以距离传感器检测到的目标距离作为判定条件外,还进一步结合了机器人的运动状态作为另一判定条件,因此能够使得在确定边缘检测结果时能够考虑机器人自身的运动状态对该目标距离的影响,从而提高边缘检测结果的准确性。

附图说明

为了更清楚地说明本申请实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍。

图1是本申请实施例提供的一种边缘检测方法的实现流程示意图;

图2是本申请实施例提供的一种距离传感器的探测示意图;

图3是本申请实施例提供的另一种距离传感器的探测示意图;

图4是本申请实施例提供的一种人形机器人的脚部示意图;

图5是本申请实施例提供的另一种人形机器人的脚部示意图;

图6是本申请实施例提供的行走状态下对应的脚步姿态的二阶矩阵示意图;

图7是本申请实施例提供的另一种边缘检测方法的实现流程示意图;

图8是本申请实施例提供的一种距离传感器的俯视图;

图9是本申请实施例提供的一种距离传感器的侧视图;

图10是本申请实施例提供的一种边缘检测装置的示意图;

图11是本申请实施例提供的机器人的示意图。

具体实施方式

以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本申请实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本申请。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本申请的描述。

为了说明本申请所述的技术方案,下面通过具体实施例来进行说明。

应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。

还应当理解,在此本申请说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本申请。如在本申请说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。

还应当进一步理解,在本申请说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。

如在本说明书和所附权利要求书中所使用的那样,术语“如果”可以依据上下文被解释为“当...时”或“一旦”或“响应于确定”或“响应于检测到”。类似地,短语“如果确定”或“如果检测到[所描述条件或事件]”可以依据上下文被解释为意指“一旦确定”或“响应于确定”或“一旦检测到[所描述条件或事件]”或“响应于检测到[所描述条件或事件]”。

另外,在本申请的描述中,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。

目前,机器人在移动时需要进行边缘检测,该边缘指的是机器人行走的桌面、台阶等平面的边缘位置,机器人在检测到边缘后,能够通过改变移动动作来避免在边缘处跌落。通常,边缘检测是通过安装于机器人的距离传感器来朝下测量距离,通过该距离的变化来判定前方是否存在边缘。对于一些姿态固定的机器人,例如轮式机器人而言,无论其处于哪种运动状态下,其姿态基本固定不变,对距离传感器的距离检测不会造成较大的影响,因此只需监测该距离传感器朝下测得的距离是否突然变大,即可确定机器人前方是否存在边缘。而对于一些存在多种变化姿态的机器人,例如人形机器人,由于机器人自身的运动状态的影响,例如双腿站立、单腿站立、倒立、弯腰、侧身、躺下、躺下起立或者该机器人被人为拿起时,会导致安装于机器人的距离传感器(通常安装于人形机器人的胸部或者背部等较高的地方)测得的距离受机器人自身运动状态带来的影响,导致无法根据该距离传感器准确地进行边缘检测。为了解决该技术问题,本申请提供了一种边缘检测方法、装置、机器人及存储介质,包括:获取设于所述机器人的距离传感器检测到的目标距离,以及确定所述机器人的运动状态;所述目标距离为所述距离传感器探测到的行走平面与所述距离传感器之间的距离;所述行走平面为与所述机器人的行走方向平行的平面;根据所述机器人的运动状态及所述目标距离,确定边缘检测结果;所述边缘检测结果用于表示所述行走平面是否存在边缘。由于该边缘检测结果除了以距离传感器检测到的目标距离作为判定条件外,还进一步结合了机器人的运动状态作为另一判定条件,因此能够使得在确定边缘检测结果时能够考虑机器人自身的运动状态对该目标距离的影响,从而提高边缘检测结果的准确性。

图1示出了本申请实施例提供的第一种边缘检测方法的流程示意图,该边缘检测方法的执行主体为机器人,详述如下:

在S101中,获取设于所述机器人的距离传感器检测到的目标距离,以及确定所述机器人的运动状态;所述目标距离为所述距离传感器探测到的行走平面与所述距离传感器之间的距离;所述行走平面为与所述机器人的行走方向平行的平面。

本申请实施例中,距离传感器,也称为测距传感器,是一种用于感应其与某物体间的距离的传感器。示例性地,该距离传感器包括但不限于超声波测距传感器、激光测距传感器、红外线测距传感器、雷达传感器等。该距离传感器设于机器人的指定部位上,其探测方向为斜向下的方向,例如图2所示,从而使得该距离传感器检测到的目标距离为该距离传感器在该探测方向上探测到的行走平面与该距离传感器自身之间的距离,以通过该目标距离来判定该行走平面是否存在边缘。具体地,本申请实施例中的行走平面为与机器人的行走方向平行的平面,包括机器人正在行走的平面(例如图2、图3的第一平面),以及包括位于机器人前方的与第一平面平行、位于第一平面的边缘之外的第二平面(如图3所示)。

本申请实施例中,机器人的运动状态可以包括静止站立状态、倒立状态、躺下状态、弯腰状态、起立状态、侧身状态、行走状态等。在一个实施例中,可以根据安装于机器人各个关节的传感器(例如陀螺仪、位移传感器等),确定机器人的姿态变化,从而确定机器人的运动状态。在另一个实施例中,可以通过该距离传感器检测到的目标距离,确定当前机器人的指定部位与行走平面的距离,从而确定机器人的运动状态。

在S102中,根据所述机器人的运动状态及所述目标距离,确定边缘检测结果。

在获取到目标距离及确定了机器人的运动状态之后,根据该运动状态和该目标距离,确定当前的边缘检测结果。具体地,如图3所示,若行走平面存在边缘,则当机器人移动至靠近该边缘的位置时,距离传感器检测到的目标距离(如图3虚线所示的距离)远大于行走平面不存在边缘时(或者机器人尚未靠近该边缘时)检测到的目标距离(如图2虚线所示的距离),因此,根据该目标距离,可以确定当前的边缘检测结果。并且,考虑到机器人的运动状态对目标距离的影响,本申请实施例中具体根据该机器人的运动状态及当前检测到的目标距离这两个条件,共同确定边缘检测结果。

在一个实施例中,可以提前为机器人的各种运动状态分别设置对应的一个第一预设阈值(例如,行走状态对应的第一预设阈值为1米,倒立状态对应的预设阈值为1.5米),根据确定机器人的运动状态,确定了当前的第一预设阈值之后,根据该目标距离与该当前的第一预设阈值的关系,确定当前的边缘检测结果。具体地,若该目标距离大于或者等于当前的第一预设阈值,则确定当前检测到的目标距离较大,该边缘检测结果为:检测到行走平面存在边缘(如图3所示);具体为在机器人行走方向的前方一定距离的位置上存在边缘。具体地,若该目标距离小于当前的第一预设阈值,则确定当前检测到的目标距离较小,该边缘检测结果为:未检测到行走平面存在边缘;具体包括该行走平面不存在边缘,或者当前机器人与行走平面的边缘的距离较远,尚未能够检测到该边缘。

在另一个实施例中,提前设定指定的运动状态(例如行走状态)作为能够准确进行边缘检测的运动状态,并为该指定的运动状态设定对应的第一预设阈值。在确定了机器人的运动状态后,判断该机器人的运动状态是否为该指定的运动状态。若当前该机器人的运动状态为该指定的运动状态,则根据目标距离与该指定的运动状态对应的第一预设阈值的比较结果,确定当前的边缘检测结果。若当前该机器人的运动状态不是该指定的运动状态,则返回当前无法确定边缘检测结果的提示信息。

可选地,所述运动状态包括行走状态和非行走状态,上述的步骤S102包括:

若所述机器人的运动状态为所述行走状态,且所述目标距离大于或者等于第一预设阈值,则确定所述边缘检测结果为:检测到所述行走平面存在边缘。

本申请实施例中,由于机器人在行走时的姿势保持相对固定,并且一般机器人的边缘检测是在机器人移动过程中进行行为决策的一个检测步骤(即通常是在机器人移动过程中才有必要进行边缘检测来预知前方的路况,以决定后行的行为),因此,本申请实施例中,具体以行走状态作为指定的能够进行准确的边缘检测的运动状态,而将除行走状态以外的其它非行走状态作为无法进行准确的边缘检测的运动状态。本申请实施例中,第一预设阈值为提前设置的在机器人处于行走状态下,距离传感器探测到高度最小的边缘(例如最小台阶高度、最小桌面边缘高度)时得到的距离值。

本申请实施例中,获取到目标距离以及确定了机器人的运动状态之后,判定该机器人的运动状态是否为行走状态,以及判定该目标距离是否大于或者等于第一预设阈值,当这两个条件同时满足时,即,当前机器人的运动状态为行走状态,并且,当前距离传感器检测到的目标距离大于或者等于第一预设阈值,则确定机器人当前在行走过程中检测到边缘,即,当前的边缘检测结果确定为:检测到行走平面存在边缘。

本申请实施例中,由于行走状态为能够进行准确的边缘检测的运动状态,因此在判定机器人为行走状态时,再根据目标距离与该第一预设阈值的比较结果来确定当前的边缘检测结果,在目标距离大于或者等于第一预设阈值时,确定检测到行走平面存在边缘,因此能够准确地实现机器人的边缘检测。

可选地,所述机器人为具有左脚和右脚的人形机器人,所述距离传感器至少包括安装于所述左脚的第一距离传感器和安装于所述右脚的第二距离传感器;

对应地,所述获取设于所述机器人的距离传感器检测到的目标距离,以及确定所述机器人的运动状态,包括:

每隔预设时间间隔,获取所述第一距离传感器检测到的第一目标距离和所述第二距离传感器检测到的第二目标距离,以及获取运动状态标识;所述运动状态标识为:根据目标周期内获取到的第一目标距离和第二目标距离而确定的用于反映所述机器人的运动状态的标识;

对应地,所述若所述机器人的运动状态为所述行走状态,且所述目标距离大于或者等于第一预设阈值,则确定所述边缘检测结果为:检测到所述行走平面存在边缘,包括:

若检测到所述运动状态标识指示所述机器人的运动状态为行走状态,且所述第一目标距离和所述第二目标距离中至少一个大于或者等于第一预设阈值,则确定所述边缘检测结果为:检测到所述行走平面存在边缘。

本申请实施例中,机器人为具有左脚和右脚的人形机器人,该距离传感器包括安装于左脚的第一距离传感器和安装于右脚的第二距离传感器,如图4所示。对应地,本申请示例中的目标距离包括第一距离传感器检测到的第一目标距离,以及第二距离传感器检测到的第二目标距离。机器人每隔预设时间间隔,同时获取一次第一距离传感器检测到的第一目标距离和获取一次第二距离传感器检测到的第二目标距离,并且获取当前的运动状态标识,以便及时地获取最新的目标距离,确定出最新的边缘检测结果。具体地,该运动状态标识为根据目标周期内获取到的第一目标距离和第二目标距离而确定的用于反映机器人的运动状态的标识。具体地,该运动状态标识可以包括用于表示机器人的运动状态为非行走状态的第一标识,以及用于表示机器人的运动状态为行走状态的第二标识。示例性地,该第一标识可以为0,第二标识可以为1;该运动状态标识初始为0,用于表示当前的机器人的运动状态为非行走状态,而当根据目标周期内获取到的第一目标距离和第二目标距离,确定当前机器人的运动状态为行走状态时,该运动状态标识更新为1。

对应地,在步骤S102中,当检测到该运动状态标识为表示机器人的运动状态为行走状态的标识(例如上述的第二标识1),并且当前获取到的第一目标距离和第二目标距离中至少一个大于或者等于第一预设阈值,则说明处于行走状态的机器人通过左脚的第一距离传感器和/或右脚的第二距离传感器检测到的距离突然增加,因此,判定当前的边缘检测结果为:检测到行走平面存在边缘。

本申请实施例中,由于对于人形机器人来说,相对于人形机器人的胸部、背部、腿部等能够随着机器人的动作变化发生较大高度变化的位置,机器人的脚部位置的高度相对稳定,其高度变化范围远小于边缘高度,因此,将距离传感器安装在机器人的脚上,能够减少机器人自身的运动状态对边缘检测结果的影响。并且,通过在机器人的左脚安装第一距离传感器,在机器人的右脚安装第二距离传感器,能够跟踪目标周期内这两个距离传感器检测到的第一目标距离、第二目标距离的变化,从而确定机器人的运动状态,而无需安装另外的诸如陀螺仪、位移传感器等其它传感器,因此能够方便准确地确定机器人的运动状态,从而进一步提高机器人边缘检测的便捷性及准确性。

可选地,所述方法还包括:

根据当前时刻获取到的所述第一目标距离和所述第二目标距离,确定当前时刻所述左脚对应的脚步姿态以及所述右脚对应的脚步姿态;

根据当前时刻所述左脚对应的脚步姿态和所述右脚对应的脚步姿态,以及目标周期内的历史时刻所述左脚对应的脚步姿态和所述右脚对应的脚步姿态,更新所述运动状态标识。

具体地,当没有检测到行走平面存在边缘时,机器人根据当前时刻获取到的第一目标距离和第二目标距离,确定当前时刻左脚对应的脚步姿态和右脚对应的脚步姿态。具体地,脚步姿态包括:紧贴行走平面的姿态和抬脚离开行走平面的姿态。示例性地,如图5所示,该时刻左脚处于紧贴行走平面的姿态,而右脚处于抬脚离开行走平面的姿态。具体地,可以根据第一目标距离、第二目标距离与提前设置的第二预设阈值的关系,分别确定左脚、右脚对应的脚步姿态。具体地,该第二预设阈值可以为提前测量到的机器人的脚紧贴于行走平面时(例如机器人站立时),第一距离传感器或者第二距离传感器测得的距离,可以记为L

在获取到当前时刻左脚对应的脚步姿态和右脚对应的脚步姿态后,根据该当前时刻左脚对应的脚步姿态和右脚对应的脚步姿态,以及缓存的目标周期内的历史时刻该左脚对应的脚步姿态和右脚对应的脚步姿态,更新当前的运动状态标识。具体地,该目标周期内的历史时刻即为在目标周期内,且在当前时刻之前的某一个按照预设时间间隔获取到第一目标距离和第二目标距离的时刻。具体地,在机器人行走过程中,机器人的左脚和右脚交替地出现紧贴行走平面的姿态和抬脚离开行走平面的姿态。示例性地,可以将当前时刻左脚对应的脚步姿态记为step_cur_l,当前时刻右脚对应的脚步姿态记为step_cur_r,历史时刻左脚对应的脚步姿态记为step_last_l,历史时刻右脚对应的脚步姿态记为step_last_r,并用标识“1”表示当前的脚步姿态为紧贴行走平面的姿态,用标识“0”表示当前的脚步姿态为抬脚离开行走平面的姿态,则,当((step_last_l+step_cur_r)-(step_last_r+step_cur_l))的绝对值等于2时,可以判定当前机器人的左脚和右脚交替地出现紧贴行走平面的姿态和抬脚离开行走平面的姿态,判定此时机器人处于行走状态,并将当前的运动状态标识更新为用于表示行走状态的标识。相反地,若上式的绝对值不等于2时,则判定此时机器人处于非行走状态,则当前的运动状态标识保持为用于表示非行走状态的标识。为了进一步说明,可以参见图6所示的两个二阶矩阵,其中,每个二阶矩阵的第一行表示历史时刻step_last,每个二阶矩阵的第二行表示当前时刻step_cur,第一列表示左脚l,第二列表示右脚r,即,每个二阶矩阵的第一行第一列表示历史时刻左脚对应的脚步姿态,第一行第二列表示历史时刻右脚对应的脚步姿态,第二行第一列表示当前时刻左脚对应的脚步姿态,第二行第二列表示当前时刻右脚对应的脚步姿态,则,只有在图6所示的两种二阶矩阵形式下,即step_last_l==1,step_last_r==0,且step_cur_l==0,step_cur_r==1;或step_last_l==0,step_last_r==1,且step_cur_l==1,step_cur_r==0时,上述的式子((step_last_l+step_cur_r)-(step_last_r+step_cur_l))的绝对值等于2成立,说明此时的机器人处于行走状态,将运动状态标识更新为表示行走状态的标识。而其它的矩阵形式下上式的绝对值不等于2,当前的运动状态标识保持为用于表示非行走状态的标识。

本申请实施例中,由于能够根据当前时刻左脚对应的脚步姿态、右脚对应的脚步姿态,以及历史时刻左脚对应的脚步姿态、右脚对应的脚步姿态,准确地判定机器人是否处于行走状态,从而准确地更新运动状态标识,使得后续能够根据该运动状态标识准确地确定边缘检测结果,因此能够保证机器人边缘检测的准确性。

可选地,所述预设时间间隔和/或所述目标周期根据所述机器人的行走步速确定。

本申请实施例中,行走步速为机器人行走时脚步移动的速度,根据该行走步速,可以相应求得机器人的行走频率和行走周期。行走频率用于表示机器人每条腿每秒走多少步,行走周期为行走频率的倒数,用于表示机器人每走一步所需的时长。具体地,根据产品设定,机器人在行走时存在预设的最小行走步速V

本申请实施例中,上述的预设时间间隔,即预设的每次获取目标距离(包括第一目标距离和第二目标距离)的间隔时间,可以根据该最大行走步速V

本申请实施例中,上述的目标周期,即预设的进行一轮边缘检测的周期,可以根据该最小行走步速V

在一个实施例中,边缘检测方法的流程示意图可以如图7所示,详述如下:

(1)在初始时,将相关变量清零。其中,将当前时刻左脚对应的脚步姿态step_cur_l、当前时刻右脚对应的脚步姿态step_cur_r、历史时刻左脚对应的脚步姿态step_last_l、历史时刻右脚对应的脚步姿态step_last_r等变量置0,用于表示脚步姿态初始为抬脚离开行走平面的姿态;将运动状态标识变量steping_flag置为0,用于表示初始默认机器人的运动状态为非行走状态;以上述的最大行走周期P

(2)以上述的P

(3)若检测到当前的运动状态标识steping_flag==1(即指示当前机器人的运动状态为行走状态),并且第一目标距离和第二目标距离组成的数据对中至少存在一个数据大于或者等于第一预设阈值L

(4)若当前的运动状态标识不等于1和/或数据对中不存在一个大于或者等于第一预设阈值的数据,则进一步地:若左脚上的第一距离传感器测得的第一目标距离小于或者等于第二预设阈值L

(5)之后,判断((step_last_l+step_cur_r)-(step_last_r+step_cur_l))的绝对值是否等于2。若等于,则说明此时机器人处于行走状态,将运动状态标识steping置位为1,并将用于统计目标周期的计时器P

(6)之后,判断当前是否已到达目标周期P

本申请实施例中,通过上述的预设时间间隔和目标周期的设置,能够及时地采样第一目标距离和第二目标距离进行相关判断,以提高边缘检测的准确性。

可选地,所述第一距离传感器与所述第二距离传感器的安装位置相反,所述第一目标距离为所述第一距离传感器探测到的在所述机器人的第一行走方向上的行走平面与所述第一距离传感器之间的距离;所述第二目标距离为所述第二距离传感器探测到的在所述机器人的第二行走方向上的行走平面与所述第二距离传感器之间的距离。

本申请实施例中,第一距离传感器与第二距离传感器的安装位置相反,即,若第一距离传感器安装于左脚的正前方,则第二距离传感器安装于右脚的正后方;若第一距离传感器安装于左脚的正后方,则第二距离传感器安装于右脚的正前方;例如图8所示。从而使得,第一目标距离为第一距离传感器探测到的在机器人的第一行走方向上的行走平面与该第一距离传感器之间的距离,第二目标距离为第二距离传感器探测到的在机器人的第二行走方向上的行走平面与该第二距离传感器之间的距离,使得无论机器人沿第一行走方向还是沿第二行走方向行走时,均能够通过第一距离传感器或者第二距离传感器提前探测到行走方向前方的边缘。

可选地,所述距离传感器的探测方向为斜向下且与所述行走平面成预设角度的方向,在所述获取距离传感器检测到的目标距离之前,还包括:

根据预设的水平检测距离,调整所述距离传感器的所述预设角度;其中,所述水平检测距离为所述距离传感器能够探测到的最远的水平距离。

本申请实施例中,距离传感器的探测方向为斜向下的与行走平面成预设角度α的方向,预设的水平检测距离d为根据边缘检测需求提前设定的距离传感器能够探测到的最远的水平距离,如图9所示。在一个实施例中,可以通过不断调整距离传感器的预设角度并测量每个预设角度下的实时水平检测距离,当测量到的实时水平检测距离与预设的水平检测距离d相等时,确定当前的距离传感器的预设角度为最终调整后的预设角度。在另一个实施例中,可以根据预设的水平检测距离d和距离传感器的安装高度h,根据三角函数关系,求得该距离传感器的应与行走平面所成的角度α=arctan(h/d),并将距离传感器的预设角度调整为求得的该角度α。由于能够根据预设的水平检测距离,准确地调整距离传感器的预设角度,因此能够满足边缘检测的距离需求,保证之后机器人能够提前在该预设的水平检测距离检测到边缘。

本申请实施例中,通过获取距离传感器检测到的目标距离以及确定机器人的运动状态后,再根据该机器人的运动状态和该目标距离,确定边缘检测结果。由于该边缘检测结果除了以距离传感器检测到的目标距离作为判定条件外,还进一步结合了机器人的运动状态作为另一判定条件,因此能够使得在确定边缘检测结果时能够考虑机器人自身的运动状态对该目标距离的影响,从而提高边缘检测结果的准确性。

应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。

图10示出了本申请实施例提供的一种边缘检测装置的结构示意图,为了便于说明,仅示出了与本申请实施例相关的部分:

该边缘检测装置包括:获取单元101、边缘检测结果确定单元102。其中:

获取单元101,用于获取设于所述机器人的距离传感器检测到的目标距离,以及确定所述机器人的运动状态;所述目标距离为所述距离传感器探测到的行走平面与所述距离传感器之间的距离;所述行走平面为与所述机器人的行走方向平行的平面。

边缘检测结果确定单元102,用于根据所述机器人的运动状态及所述目标距离,确定边缘检测结果。

可选地,所述运动状态包括行走状态和非行走状态,所述边缘检测结果确定单元102,具体用于若所述机器人的运动状态为所述行走状态,且所述目标距离大于或者等于第一预设阈值,则确定所述边缘检测结果为:检测到所述行走平面存在边缘。

可选地,所述机器人为具有左脚和右脚的人形机器人,所述距离传感器至少包括安装于所述左脚的第一距离传感器和安装于所述右脚的第二距离传感器;对应地,所述获取单元101,具体用于每隔预设时间间隔,获取所述第一距离传感器检测到的第一目标距离和所述第二距离传感器检测到的第二目标距离,以及获取运动状态标识;所述运动状态标识为:根据目标周期内获取到的第一目标距离和第二目标距离而确定的用于反映所述机器人的运动状态的标识;对应地,所述边缘检测结果确定单元102,具体用于若检测到所述运动状态标识指示所述机器人的运动状态为行走状态,且所述第一目标距离和所述第二目标距离中至少一个大于或者等于第一预设阈值,则确定所述边缘检测结果为:检测到所述行走平面存在边缘。

可选地,所述边缘检测装置还包括:

脚步姿态确定单元,用于根据当前时刻获取到的所述第一目标距离和所述第二目标距离,确定当前时刻所述左脚对应的脚步姿态以及所述右脚对应的脚步姿态;

运动状态标识更新单元,用于根据当前时刻所述左脚对应的脚步姿态和所述右脚对应的脚步姿态,以及目标周期内的历史时刻所述左脚对应的脚步姿态和所述右脚对应的脚步姿态,更新所述运动状态标识。

可选地,所述预设时间间隔和/或所述目标周期根据所述机器人的行走步速确定。

可选地,所述第一距离传感器与所述第二距离传感器的安装位置相反,所述第一目标距离为所述第一距离传感器探测到的在所述机器人的第一行走方向上的行走平面与所述第一距离传感器之间的距离;所述第二目标距离为所述第二距离传感器探测到的在所述机器人的第二行走方向上的行走平面与所述第二距离传感器之间的距离。

可选地,所述距离传感器的探测方向为斜向下且与所述行走平面成预设角度的方向,所述边缘检测装置,还包括:

角度调整单元,用于根据预设的水平检测距离,调整所述距离传感器的所述预设角度;其中,所述水平检测距离为所述距离传感器能够探测到的最远的水平距离。

需要说明的是,上述装置/单元之间的信息交互、执行过程等内容,由于与本申请方法实施例基于同一构思,其具体功能及带来的技术效果,具体可参见方法实施例部分,此处不再赘述。

所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。上述系统中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

图11是本申请一实施例提供的机器人的示意图。如图6所示,该实施例的机器人6包括:处理器60、存储器61以及存储在所述存储器61中并可在所述处理器60上运行的计算机程序62,例如边缘检测程序。所述处理器60执行所述计算机程序62时实现上述各个边缘检测方法实施例中的步骤,例如图1所示的步骤S101至S102。或者,所述处理器60执行所述计算机程序62时实现上述各装置实施例中各模块/单元的功能,例如图10所示获取单元101至边缘检测结果确定单元102的功能。

示例性的,所述计算机程序62可以被分割成一个或多个模块/单元,所述一个或者多个模块/单元被存储在所述存储器61中,并由所述处理器60执行,以完成本申请。所述一个或多个模块/单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述所述计算机程序62在所述机器人6中的执行过程。

所述机器人可包括,但不仅限于,处理器60、存储器61。本领域技术人员可以理解,图6仅仅是机器人6的示例,并不构成对机器人6的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如所述机器人还可以包括输入输出设备、网络接入设备、总线等。

所称处理器60可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。

所述存储器61可以是所述机器人6的内部存储单元,例如机器人6的硬盘或内存。所述存储器61也可以是所述机器人6的外部存储设备,例如所述机器人6上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,所述存储器61还可以既包括所述机器人6的内部存储单元也包括外部存储设备。所述存储器61用于存储所述计算机程序以及所述机器人所需的其他程序和数据。所述存储器61还可以用于暂时地存储已经输出或者将要输出的数据。

所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。上述系统中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。

本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。

在本申请所提供的实施例中,应该理解到,所揭露的装置/机器人和方法,可以通过其它的方式实现。例如,以上所描述的装置/机器人实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。

所述集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。

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

相关技术
  • 边缘检测方法、装置、机器人及存储介质
  • 一种图像边缘检测方法、装置及存储介质
技术分类

06120113067479