CN112686077B - 一种自驱动机器人和障碍物识别的方法 - Google Patents

一种自驱动机器人和障碍物识别的方法 Download PDF

Info

Publication number
CN112686077B
CN112686077B CN201910987537.4A CN201910987537A CN112686077B CN 112686077 B CN112686077 B CN 112686077B CN 201910987537 A CN201910987537 A CN 201910987537A CN 112686077 B CN112686077 B CN 112686077B
Authority
CN
China
Prior art keywords
self
obstacle
depth value
straight line
depth
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201910987537.4A
Other languages
English (en)
Other versions
CN112686077A (zh
Inventor
郭晓丽
陈超
王迎春
张震
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Jizhijia Technology Co Ltd
Original Assignee
Beijing Jizhijia Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Jizhijia Technology Co Ltd filed Critical Beijing Jizhijia Technology Co Ltd
Priority to CN201910987537.4A priority Critical patent/CN112686077B/zh
Publication of CN112686077A publication Critical patent/CN112686077A/zh
Application granted granted Critical
Publication of CN112686077B publication Critical patent/CN112686077B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Manipulator (AREA)
  • Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)

Abstract

本说明书公开了一种自驱动机器人和障碍物识别的方法,自驱动机器人可以采集深度图像,根据采集到的深度图像,确定出该深度图像中各像素的深度值,根据该深度图像中各像素的深度值,确定用于表征各像素的深度值分布的深度值分布图,从该深度值分布图中确定出基准区域,从该深度图像中确定出在该深度值分布图中位于该基准区域以外的像素,作为目标像素,识别目标像素对应的障碍物类别,并根据该障碍物类别,控制自驱动机器人进行障碍物处理。在构建出能够表征深度图像中各像素的深度值分布的深度值分布图后,能够基于该深度值分布图确定出深度图像中哪些像素属于非障碍物,哪些像素属于障碍物,保证了自驱动机器人的安全作业。

Description

一种自驱动机器人和障碍物识别的方法
技术领域
本说明书涉及智能仓储技术领域,尤其涉及一种自驱动机器人和障碍物识别的方法。
背景技术
目前,诸如智能叉车、机器人等自驱动机器人已经广泛应用于仓储、物流等领域,用于实现对货物的自动化运输。
在仓储的货物搬运过程中,诸如智能叉车、机器人等自驱动机器人可以按照控制中心发送的搬运指令,移动到仓库中的指定位置,从而将指定位置处货架上的货物从货架上取出,或是将搬运的货物堆放在该指定位置处的货架上。
然而,在移动过程中,仓库中能够使自驱动机器人行进的通道区域内可能会存在障碍物,自驱动机器人若是不能对这些障碍物进行有效的识别,则可能会导致自驱动机器人在移动过程中与这些障碍物发生碰撞,从而对自驱动机器人在仓库中的安全作业造成影响。
所以,如何能够使自驱动机器人有效的识别出移动过程中遇到的障碍物,从而保证自驱动机器人能够在仓库中进行安全作业,则是一个亟待解决的问题。
发明内容
本说明书提供一种自驱动机器人和障碍物识别的方法,以部分的解决现有技术存在的上述问题。
本说明书采用下述技术方案:
本说明书提供了一种自驱动机器人,包括:传感器、处理器;
所述传感器配置为,采集深度图像,并将所述深度图像发送给所述处理器;
所述处理器包括:
深度值分布图确定模块,设置为根据接收到的所述深度图像,确定所述深度图像中各像素的深度值,并根据所述深度图像中各像素的深度值,确定用于表征各像素的深度值分布的深度值分布图;
基准区域确定模块,设置为从所述深度值分布图中确定基准区域;
目标像素确定模块,设置为从所述深度图像中确定出在所述深度值分布图中位于所述基准区域以外的像素,作为目标像素;
障碍物识别模块,设置为识别所述目标像素对应的障碍物类别;
障碍物处理模块,设置为根据所述障碍物类别,控制所述自驱动机器人进行障碍物处理。
可选地,所述深度值分布图确定模块设置为,以所述深度图像中各行像素对应的行数为纵坐标,以深度值的大小为横坐标,确定用于表征所述深度图像中各像素的深度值分布的深度值分布图。
可选地,所述基准区域确定模块设置为,按照预设的拟合方式,将所述深度图像中各行像素的最大深度值在所述深度值分布图中所对应的点进行直线拟合,得到基准直线;根据所述基准直线,从所述深度值分布图中确定基准区域。
可选地,所述基准区域确定模块设置为,根据所述基准直线以及预设的截距阈值,确定在所述深度值分布图中所述基准直线对应的第一邻域直线以及第二邻域直线;将所述深度值分布图中所述第一邻域直线和所述第二邻域直线之间的区域,作为所述基准区域。
可选地,所述障碍物识别模块设置为,根据所述目标像素在所述深度图像中的像素坐标和所述传感器的传感器参数,确定所述目标像素在实际空间中对应的点的实际坐标;判断所述实际坐标是否位于所述自驱动机器人的行进路线上;若所述实际坐标位于所述自驱动机器人的行进路线上,则识别出所述目标像素对应第一类障碍物,所述第一类障碍物为位于所述自驱动机器人的行进路线上的障碍物;若所述实际坐标不位于所述自驱动机器人的行进路线上,则识别出所述目标像素对应第二类障碍物,所述第二类障碍物为位于所述自驱动机器人的行进路线之外的障碍物。
可选地,所述障碍物处理模块设置为,若所述目标像素对应所述第一类障碍物,则控制所述自驱动机器人停止行进;若所述目标像素对应所述第二类障碍物,则控制所述自驱动机器人继续行进。
可选地,所述基准区域确定模块还设置为,判断所述基准直线的直线参数是否位于预设的参数数值范围内;若所述基准直线的直线参数不位于预设的参数数值范围内,则控制所述自驱动机器人停止行进,所述直线参数包括:基准直线的斜率和截距。
本说明书提供了一种障碍物识别的方法,自驱动机器人设有传感器,所述方法包括:
所述自驱动机器人通过所述传感器采集深度图像;
根据所述深度图像,确定所述深度图像中各像素的深度值;
根据所述深度图像中各像素的深度值,确定用于表征各像素的深度值分布的深度值分布图;
从所述深度值分布图中确定基准区域;
从所述深度图像中确定出在所述深度值分布图中位于所述基准区域以外的像素,作为目标像素;
识别所述目标像素对应的障碍物类别;
根据所述障碍物类别,控制所述自驱动机器人进行障碍物处理。
可选地,根据所述深度图像中各像素的深度值,确定用于表征各像素的深度值分布的深度值分布图,具体包括:
以所述深度图像中各行像素对应的行数为纵坐标,以深度值的大小为横坐标,确定用于表征所述深度图像中各像素的深度值分布的深度值分布图。
可选地,从所述深度值分布图中确定基准区域,具体包括:
按照预设的拟合方式,将所述深度图像中各行像素的最大深度值在所述深度值分布图中所对应的点进行直线拟合,得到基准直线;
根据所述基准直线,从所述深度值分布图中确定基准区域。
可选地,根据所述基准直线,从所述深度值分布图中确定基准区域,具体包括:
根据所述基准直线以及预设的截距阈值,确定在所述深度值分布图中所述基准直线对应的第一邻域直线以及第二邻域直线;
将所述深度值分布图中所述第一邻域直线和所述第二邻域直线之间的区域,作为所述基准区域。
可选地,识别所述目标像素对应的障碍物类别,具体包括:
根据所述目标像素在所述深度图像中的像素坐标和所述传感器的传感器参数,确定所述目标像素在实际空间中对应的点的实际坐标;
判断所述实际坐标是否位于所述自驱动机器人的行进路线上;
若所述实际坐标位于所述自驱动机器人的行进路线上,则识别出所述目标像素对应第一类障碍物,所述第一类障碍物为位于所述自驱动机器人的行进路线上的障碍物;
若所述实际坐标不位于所述自驱动机器人的行进路线上,则识别出所述目标像素对应第二类障碍物,所述第二类障碍物为位于所述自驱动机器人的行进路线之外的障碍物。
可选地,根据所述障碍物类别,控制机器人进行障碍物处理,具体包括:
若所述目标像素对应所述第一类障碍物,则控制所述自驱动机器人停止行进;
若所述目标像素对应所述第二类障碍物,则控制所述自驱动机器人继续行进。
可选地,根据所述基准直线,从所述深度值分布图中确定基准区域,具体包括:
判断所述基准直线的直线参数是否位于预设的参数数值范围内;
若所述基准直线的直线参数不位于预设的参数数值范围内,则控制所述自驱动机器人停止行进,所述直线参数包括:基准直线的斜率和截距;
若所述基准直线的直线参数位于预设的参数数值范围内,则根据所述基准直线,从所述深度值分布图中确定基准区域。
本说明书采用的上述至少一个技术方案能够达到以下有益效果:
自驱动机器人可以采集深度图像,根据采集到的深度图像,确定出该深度图像中各像素的深度值,根据该深度图像中各像素的深度值,确定用于表征各像素的深度值分布的深度值分布图,从该深度值分布图中确定出基准区域,从该深度图像中确定出在该深度值分布图中位于该基准区域以外的像素,作为目标像素,识别目标像素对应的障碍物类别,并根据该障碍物类别,控制自驱动机器人进行障碍物处理。
从上述方法中可以看出,在构建出能够表征深度图像中各像素的深度值分布的深度值分布图后,能够基于该深度值分布图确定出深度图像中的哪些像素属于非障碍物对应的像素,哪些像素属于障碍物对应的像素,从而可以基于采集到的深度图像数据,对行进过程中遇到的障碍物进行有效识别,保证了自驱动机器人的安全作业。
附图说明
此处所说明的附图用来提供对本说明书的进一步理解,构成本说明书的一部分,本说明书的示意性实施例及其说明用于解释本说明书,并不构成对本说明书的不当限定。在附图中:
图1为本说明书提供的一种障碍物识别的流程示意图;
图2为本说明书提供的深度图像中一行像素的深度值在深度值分布图中的分布;
图3为本说明书提供的表征深度图像中所有像素点的深度值分布的深度值分布图;
图4为本说明书提供的从深度值分布图中确定基准直线的示意图;
图5为本说明书提供的基于确定出的基准直线在深度值分布图中确定基准区域的示意图;
图6为本说明书提供的一种自驱动机器人的结构示意图。
具体实施方式
为使本说明书的目的、技术方案和优点更加清楚,下面将结合本说明书具体实施例及相应的附图对本说明书中技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本说明书一部分实施例,而不是全部的实施例。基于本说明书中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本说明书保护的范围。
以下结合附图,详细说明本说明书各实施例提供的技术方案。
图1为本说明书提供的一种障碍物识别的流程示意图,具体包括以下步骤:
S101:自驱动机器人采集深度图像。
在本说明书中,自驱动机器人在仓库进行移动时,可以实时采集行进过程中的深度图像。其中,这里提到的自驱动机器人可以是指诸如智能叉车、搬运机器人等设备。
上述自驱动机器人上设有诸如摄像头、深度相机、红外摄像机等至少一个传感器,这些传感器可以设置在自驱动机器人的四周,以使自驱动机器人无论以何种姿态行进,都能通过设置的传感器采集到前行方向的深度图像。需要指出的是,这些传感器在自驱动机器人上的采集角度可以是固定的,例如,若是需要对自驱动机器人行进过程中地面上的障碍物进行识别,则设置在自驱动机器人上的传感器可以一定的角度朝地面进行图像采集。
S102:根据所述深度图像,确定所述深度图像中各像素的深度值。
自驱动机器人通过上述传感器采集到深度图像后,可以通过设置在自驱动机器人中的处理器对采集到的深度图像进行分析,以确定出该深度图像中各像素的深度值。其中,确定深度图像中各像素的深度值的具体方式可以是现有的常规方式,在此不做具体的限定。
S103:根据所述深度图像中各像素的深度值,确定用于表征各像素的深度值分布的深度值分布图。
为了能够便于对深度图像中的各像素深度值的具体情况进行分析,在本说明书中,自驱动机器人确定出该深度图像中各像素的深度值后,可以构建出能够表征各像素的深度值分布的深度值分布图。
具体的,在本说明书中,自驱动机器人可以针对该深度图像中的每行像素,确定出该行像素的各深度值。而后,自驱动机器人可以该深度图像中各行像素对应的行数为纵坐标,以深度值的大小为横坐标,确定出用于表征该深度图像中各像素的深度值分布的深度值分布图。
其中,该深度值分布图纵坐标所示的行数,是与深度图像中的第几行像素相对应的。例如,若是深度值分布图纵坐标为1,则表示是深度图像中的第1行像素。而由于针对深度图像中的每行像素,该行像素包含有多个像素点,每个像素点都对应有一个深度值,所以,在构建该深度值分布图时,可以将该行像素的深度值依次在该深度值分布图中所对应的该行处一一标出,从而得到该行像素的深度值分布,如图2所示。
图2为本说明书提供的深度图像中一行像素的深度值在深度值分布图中的分布。
假设,自驱动机器人采集到的深度图像中每行包含有10像素点。自驱动机器人确定深度图像中第A行像素在深度值分布图中的深度值分布时,可以依次将该第A行像素包含的各像素的深度值依次在该深度值分布图中标出,如图2所示。从图2所示的深度值分布图中可以看出,深度图像中第A行像素包含的各像素点的深度值具体有哪些值。也就是说,在深度值分布图中,纵坐标为第A行的各点其实表明了深度图像中第A行像素包含的各像素点都出现了哪些深度值。
需要说明的是,深度图像中的第A行像素包含有10个像素点,然而,图2所示的深度值分布图中,第A行像素所对应的深度值一共有6个,这是因为,深度图像第A行像素中有些像素点的深度值是相同的,基于此,这些深度值相同的像素点在图2所示的深度值分布图中的分布其实是相重合的,所以,图2所示的深度值分布图中只是示出了6个深度值。
自驱动机器人可以通过上述方法,依次将该深度图像中每行像素的各像素点的深度值在该深度值分布图中进行标出,从而得到能够表征该深度图像所有像素点的深度值分布的深度值分布图,如图3所示。
图3为本说明书提供的表征深度图像中所有像素点的深度值分布的深度值分布图。
图3所示的深度值分布图有效的保证出了深度图像中所有像素点的深度值分布情况,基于此,自驱动机器人可以通过该深度值分布图,从深度图像中确定出哪些像素点为障碍物对应的像素点,哪些像素点为地面对应的像素点。
S104:从所述深度值分布图中确定基准区域。
在地面所对应的深度图像中,深度图像中的各像素点的深度值是呈均匀分布的,即,按照由远及近的顺序(或是由近及远的顺序),深度图像中逐行像素点的深度值是呈均匀变化的。所以,深度图像中地面对应的像素点的深度值在该深度值分布图中应该是大致呈斜线分布的。
基于此,在本说明书中,自驱动机器人可以在确定出上述深度值分布图后,可以从该深度值分布图中确定出基准区域,该基准区域所的深度值分布其实是代表了深度图像中地面对应的各像素点的深度值分布。
具体的,对于深度图像中的每行像素来说,该行像素中深度值最大的应为地面对应的像素点(因为地面是与自驱动机器人距离最远的,所以,深度图像中地面对应的像素点的深度值相较于同行像素的其他像素点来说是最大的)。基于此,自驱动机器人可以按照预设的拟合方式,将采集到的深度图像中各行像素的最大深度值在该深度值分布图中所对应的点进行直线拟合,得到基准直线,如图4所示。
图4为本说明书提供的从深度值分布图中确定基准直线的示意图。
从图4中可以看出,基准直线处的深度值呈均匀梯度分布,所以,若是深度图像中像素点的深度值为基准直线处分布的深度值,则这些像素点应为深度图像中地面所对应的像素点。
需要说明的是,在本说明书中,自驱动机器人得到上述基准直线所采用的拟合方式可以有多种,如,最小二乘法、随机抽样一致算法(Random Sample Consensus,RANSAC)等,在此不做具体的限定。
在确定出上述基准直线后,可以进一步地根据该基准直线以及预设的截距阈值,确定出在该深度值分布图中该基准直线对应的第一邻域直线以及第二邻域直线。也就是说,而为了能够尽可能的将地面对应的像素点的深度值从深度值分布图中划分出来,则需要进一步地确定出该基准直线在该深度值分布图中的邻域范围,进而基于该邻域范围,从该深度值分布图中确定出基准区域,如图5所示。
图5为本说明书提供的基于确定出的基准直线在深度值分布图中确定基准区域的示意图。
在确定出基准直线后,自驱动机器人可以按照预设的截距阈值,将该基准直线在该深度值分布图中进行前后平移,得到如图5所示的第一邻域直线和第二邻域直线。而对于深度值分布图中第一邻域直线和第二邻域直线之间的区域,即为该基准直线在该深度值分布图的邻域范围,相应的,可以将深度值分布图中第一邻域直线和第二邻域直线之间的区域确定为基准区域。位于基准区域中的深度值,其实是深度图像中地面对应的像素点的深度值。
S105:从所述深度图像中确定出在所述深度值分布图中位于所述基准区域以外的像素,作为目标像素。
S106:识别所述目标像素对应的障碍物类别。
S107:根据所述障碍物类别,控制所述自驱动机器人进行障碍物处理。
基于从深度值分布图中划分出的基准区域,可以从深度图像中确定出深度值位于该基准区域以外的像素。这里可以将这些像素称之为目标像素。如在图5所示的深度值分布图中,深度图像中深度值位于第二邻域直线左侧的像素点,和深度图像中深度值位于第一邻域直线右侧的像素点,均为目标像素。而这些目标像素实际上即为深度图像中包含的障碍物对应的像素点。
在确定出各目标像素后,即可在该深度图像中确定出其所包含的障碍物,即,深度图像中深度值位于该基准区域内的像素点为地面所对应的像素点,而其他的像素点则可以视为障碍物所对应的像素点。其中,这里提到的障碍物除了可以是指放置在地面上的障碍物外,还可以是指与地面相距一定高度的障碍物(如,从货架中伸出来的障碍物)。
通过上述方法,可以将深度图像中除地面以外的其他物体视为障碍物,但是在实际应用中,这些其他物体可能并不会影响自驱动机器人的安全作业。例如,自驱动机器人在采集深度图像时,可能会将地面两侧的货架的底部采集到,所以,通过上述方式可以从深度图像中识别出这些货架的底部,并将其作为障碍物。但是,这些障碍物实际上是位于地面两侧的,因此,这些障碍物并不会对移动的自驱动机器人造成阻碍。
而为了能够保证自驱动机器人的顺利移动,保障自驱动机器人在仓库中的安全作业,自驱动机器人需要从采集到的深度图像中进一步地识别出能够对其行进造成阻碍的障碍物。因此,在本说明书中,自驱动机器人确定出各目标像素后,可以先确定出目标像素对应障碍物的障碍物类别,进而根据确定出的障碍物类别,来确定如何进行障碍物处理工作。
具体的,自驱动机器人可以确定出这些目标像素在实际空间中对应的点的实际坐标,以及根据这些目标像素在实际空间中对应的点的实际坐标以及自驱动机器人的行进路线,从深度图像中识别出能够对其行进造成阻碍的障碍物。换句话说,自驱动机器人需要进一步的确定出这些目标像素在实际空间中的实际坐标,进而来确定哪些目标像素所对应的物体会对自驱动机器人的行进造成阻碍。
在确定目标像素在实际空间中对应的点的实际坐标时,自驱动机器人针对每个目标像素,确定出该目标像素在该深度图像中的像素坐标,即,确定出该目标像素在该深度图像中所处的位置。而后,自驱动机器人可以根据该目标像素对应的像素坐标以及用于采集深度图像的传感器的传感器参数,确定出该目标像素在实际空间中对应的点的实际坐标。其中,这里提到的传感器参数即为采集该深度图像的传感器的内参。自驱动机器人具体可以通过以下公式来确定该目标像素在实际空间中对应的点的实际坐标。
worldZ=depthp/1000
在上述公式中,depth p即为该目标像素的深度值,U0、V0、Focal Length X、FocalLength Y为传感器的内参,x和y为该目标像素在该深度图像中的像素坐标,(worldX,worldY,worldZ)为确定出的该目标像素在实际空间中对应的点的实际坐标。
自驱动机器人在确定出的各目标像素在实际空间中对应的点的实际坐标后,可以进一步地的判断这些实际坐标是否位于自驱动机器人的行进路线上。若确定实际坐标位于自驱动机器人的行进路线上,则可以识别出目标像素对应第一类障碍物,若是确定出实际坐标不位于自驱动机器人的行进路线上,则可以识别出目标像素对应第二类障碍物。
其中,这里提到的第一类障碍物是指能够对自驱动机器人的行进造成阻碍的障碍物,即,位于自驱动机器人行进路线上的障碍物。而第二类障碍物是指不会对自驱动机器人的行进造成阻碍的障碍物,即,位于自驱动机器人行进路线以外的障碍物。
进一步地,若是确定目标像素对应第一类障碍物,则可控制自驱动机器人自身停止行进,以防止自驱动机器人与目标像素对应的障碍物发生碰撞。若是确定目标像素对应第二类障碍物,则可以控制自驱动机器人自身继续行进,也就是说,自驱动机器人保持行进的同时,不会和目标像素对应的障碍物发生碰撞。
从上述方法中可以看出,在构建出能够表征图像数据中各像素的深度值分布的深度值分布图后,不仅能够基于该深度值分布图确定出深度图像中的哪些像素点属于地面对应的像素点,哪些像素点属于障碍物对应的像素点,还可以基于障碍物对应的像素点在实际空间中对应的实际坐标,确定出哪些障碍物会对自驱动机器人的行进造成阻碍,从而在实现了对行进过程中遇到的障碍物有效识别外,还进一步地保证了自驱动机器人在识别出障碍物后的工作效率。
需要说明的是,在本说明书中,从采集到的深度图像中确定出的目标像素可能会对应多个障碍物,即,深度图像中的部分目标像素对应一个障碍物,而深度图像中其他部分的目标像素可能对应另一个障碍物。换句话说,自驱动机器人通过传感器采集到的深度图像中可能包含有多个障碍物的图像。
在这些障碍物中,有些障碍物可能属于第一类障碍物,即,会对自驱动机器人的行进造成阻碍的障碍物,而有些障碍物属于第二类障碍物,即,不会对自驱动机器人的行进造成阻碍的障碍物。而无论这些障碍物具体属于哪种障碍物,只要自驱动机器人确定出深度图像中存在对应于实际空间的实际坐标位于自驱动机器人行进路线上的目标像素,则可以控制自驱动机器人停止行进。即,若是能够从深度图像中确定出存在会对自驱动机器人的行进造成阻碍的障碍物的目标像素,则控制自驱动机器人停止行进。
而若是确定出深度图像中不存在对应于实际空间的实际坐标位于自驱动机器人行进路线上的目标像素,即,深度图像中包含的各目标像素中不存在会对自驱动机器人的行进造成阻碍的障碍物的目标像素,则可以控制自驱动机器人继续行进。
自驱动机器人在确定出目标像素在实际空间中对应的点的实际坐标后,可以将这些实际坐标转化为这些目标像素对应的点云数据。而后,根据得到的点云数据以及自驱动机器人的行进路线,可以进一步地确定出深度图像中包含的哪些障碍物会对自驱动机器人的行进造成阻碍。
若是自驱动机器人在行进时,前方存在一个较大的障碍物,则自驱动机器人采集到包含有该障碍物的深度图像时,该深度图像中的大部分像素点应均为该障碍物对应的像素点。由于深度图像中大部分像素点均出自该障碍物,则自驱动机器人通过上述方法,也会在相应的深度值分布图中拟合出一条直线。
但是,由于地面和障碍物的实际区别较大,所以,在这种情况下自驱动机器人拟合出的直线,与拟合出的用于表征地面对应的像素点的直线区别较大。基于此,自驱动机器人可以确定出该深度图像中包含有能够阻碍其行进的障碍物。
具体的,在从上述深度值分布图中确定出基准直线后,可以判断该基准直线的直线参数是否位于预设的参数数值范围。这里提到的直线参数可以包括该基准直线的斜率和截距。若是确定出该基准直线的直线参数位于预设的参数数值范围内,则可以根据该基准直线,从该深度值分布图中确定出基准区域。也就是说,若是基准直线的直线参数位于该预设的参数数值范围内,则表明该基准直线用于表征地面对应的像素点的深度值分布。
若是确定出该基准直线的直线参数位于预设的参数数值范围之外,则可以直接确定该深度图像中存在会对自驱动机器人的行进造成阻碍的障碍物,进而控制自身停止行进。也就是说,若是基准直线的直线参数位于该预设的参数数值范围以外,则表明自驱动机器人所拟合出的直线,并不是用于表征地面对应的像素点深度值分布的基准直线。
以上为本说明书的一个或多个实施例提供的障碍物识别的方法,基于同样的思路,本说明书还提供了相应的自驱动机器人,如图6所示。
图6为本说明书提供的一种自驱动机器人的结构示意图,所述自驱动机器人包括:传感器601、处理器602;
所述传感器601,设置为采集深度图像,并将所述深度图像发送给所述处理器602;
所述处理器602包括:
深度值分布图确定模块6021,设置为根据接收到的所述深度图像,确定所述深度图像中各像素的深度值,并根据所述深度图像中各像素的深度值,确定用于表征各像素的深度值分布的深度值分布图;
基准区域确定模块6022,设置为从所述深度值分布图中确定基准区域;
目标像素确定模块6023,设置为从所述深度图像中确定出在所述深度值分布图中位于所述基准区域以外的像素,作为目标像素;
障碍物识别模块6024,设置为识别所述目标像素对应的障碍物类别;
障碍物处理模块6025,设置为根据所述障碍物类别,控制所述自驱动机器人进行障碍物处理。
可选地,所述深度值分布图确定模块6021设置为,以所述深度图像中各行像素对应的行数为纵坐标,以深度值的大小为横坐标,确定用于表征所述深度图像中各像素的深度值分布的深度值分布图。
可选地,所述基准区域确定模块6022设置为,按照预设的拟合方式,将所述深度图像中各行像素的最大深度值在所述深度值分布图中所对应的点进行直线拟合,得到基准直线;根据所述基准直线,从所述深度值分布图中确定基准区域。
可选地,所述基准区域确定模块6022设置为,根据所述基准直线以及预设的截距阈值,确定在所述深度值分布图中所述基准直线对应的第一邻域直线以及第二邻域直线;将所述深度值分布图中所述第一邻域直线和所述第二邻域直线之间的区域,作为所述基准区域。
可选地,所述障碍物识别模块6024设置为,根据所述目标像素在所述深度图像中的像素坐标和所述传感器的传感器参数,确定所述目标像素在实际空间中对应的点的实际坐标;判断所述实际坐标是否位于所述自驱动机器人的行进路线上;若所述实际坐标位于所述自驱动机器人的行进路线上,则识别出所述目标像素对应第一类障碍物,所述第一类障碍物为位于所述自驱动机器人的行进路线上的障碍物;若所述实际坐标不位于所述自驱动机器人的行进路线上,则识别出所述目标像素对应第二类障碍物,所述第二类障碍物为位于所述自驱动机器人的行进路线之外的障碍物。
可选地,所述障碍物处理模块6025设置为,若所述目标像素对应所述第一类障碍物,则控制所述自驱动机器人停止行进;若所述目标像素对应所述第二类障碍物,则控制所述自驱动机器人继续行进。
可选地,所述基准区域确定模块6022还设置为,判断所述基准直线的直线参数是否位于预设的参数数值范围内;若所述基准直线的直线参数不位于预设的参数数值范围内,则控制所述自驱动机器人停止行进,所述直线参数包括:基准直线的斜率和截距。
在20世纪90年代,对于一个技术的改进可以很明显地区分是硬件上的改进(例如,对二极管、晶体管、开关等电路结构的改进)还是软件上的改进(对于方法流程的改进)。然而,随着技术的发展,当今的很多方法流程的改进已经可以视为硬件电路结构的直接改进。设计人员几乎都通过将改进的方法流程编程到硬件电路中来得到相应的硬件电路结构。因此,不能说一个方法流程的改进就不能用硬件实体模块来实现。例如,可编程逻辑器件(Programmable Logic Device,PLD)(例如现场可编程门阵列(Field Programmable GateArray,FPGA))就是这样一种集成电路,其逻辑功能由用户对器件编程来确定。由设计人员自行编程来把一个数字系统“集成”在一片PLD上,而不需要请芯片制造厂商来设计和制作专用的集成电路芯片。而且,如今,取代手工地制作集成电路芯片,这种编程也多半改用“逻辑编译器(logic compiler)”软件来实现,它与程序开发撰写时所用的软件编译器相类似,而要编译之前的原始代码也得用特定的编程语言来撰写,此称之为硬件描述语言(Hardware Description Language,HDL),而HDL也并非仅有一种,而是有许多种,如ABEL(Advanced Boolean Expression Language)、AHDL(Altera Hardware DescriptionLanguage)、Confluence、CUPL(Cornell University Programming Language)、HDCal、JHDL(Java Hardware Description Language)、Lava、Lola、MyHDL、PALASM、RHDL(RubyHardware Description Language)等,目前最普遍使用的是VHDL(Very-High-SpeedIntegrated Circuit Hardware Description Language)与Verilog。本领域技术人员也应该清楚,只需要将方法流程用上述几种硬件描述语言稍作逻辑编程并编程到集成电路中,就可以很容易得到实现该逻辑方法流程的硬件电路。
控制器可以按任何适当的方式实现,例如,控制器可以采取例如微处理器或处理器以及存储可由该(微)处理器执行的计算机可读程序代码(例如软件或固件)的计算机可读介质、逻辑门、开关、专用集成电路(Application Specific Integrated Circuit,ASIC)、可编程逻辑控制器和嵌入微控制器的形式,控制器的例子包括但不限于以下微控制器:ARC 625D、Atmel AT91SAM、Microchip PIC18F26K20以及Silicone Labs C8051F320,存储器控制器还可以被实现为存储器的控制逻辑的一部分。本领域技术人员也知道,除了以纯计算机可读程序代码方式实现控制器以外,完全可以通过将方法步骤进行逻辑编程来使得控制器以逻辑门、开关、专用集成电路、可编程逻辑控制器和嵌入微控制器等的形式来实现相同功能。因此这种控制器可以被认为是一种硬件部件,而对其内包括的用于实现各种功能的装置也可以视为硬件部件内的结构。或者甚至,可以将用于实现各种功能的装置视为既可以是实现方法的软件模块又可以是硬件部件内的结构。
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机。具体的,计算机例如可以为个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任何设备的组合。
为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本说明书时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
本领域技术人员应明白,本说明书的实施例可提供为方法、系统或计算机程序产品。因此,本说明书可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本说明书可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本说明书可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本说明书,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本说明书的实施例而已,并不用于限制本说明书。对于本领域技术人员来说,本说明书可以有各种更改和变化。凡在本说明书的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本说明书的权利要求范围之内。

Claims (14)

1.一种自驱动机器人,其特征在于,包括:传感器、处理器;
所述传感器配置为,采集深度图像,并将所述深度图像发送给所述处理器;
所述处理器包括:
深度值分布图确定模块,设置为根据接收到的所述深度图像,确定所述深度图像中各像素的深度值,并根据所述深度图像中各像素的深度值以及所述深度图像中各行像素对应的行数,确定用于表征各行像素的深度值分布的深度值分布图;
基准区域确定模块,设置为将所述深度图像中各行像素的最大深度值在所述深度值分布图中所对应的点进行直线拟合,得到基准直线,并根据所述基准直线以及预设的截距阈值,以所述基准直线为中心线,以所述截距阈值为边到中心线的距离,确定两边之间的基准区域;
目标像素确定模块,设置为从所述深度图像中确定出在所述深度值分布图中位于所述基准区域以外的像素,作为目标像素;
障碍物识别模块,设置为识别所述目标像素对应的障碍物类别;
障碍物处理模块,设置为根据所述障碍物类别,控制所述自驱动机器人进行障碍物处理。
2.如权利要求1所述的自驱动机器人,其特征在于,所述深度值分布图确定模块设置为,以所述深度图像中各行像素对应的行数为纵坐标,以深度值的大小为横坐标,确定用于表征所述深度图像中各像素的深度值分布的深度值分布图。
3.如权利要求2所述的自驱动机器人,其特征在于,所述基准区域确定模块设置为,按照预设的拟合方式,将所述深度图像中各行像素的最大深度值在所述深度值分布图中所对应的点进行直线拟合,得到基准直线;根据所述基准直线,从所述深度值分布图中确定基准区域。
4.如权利要求3所述的自驱动机器人,其特征在于,所述基准区域确定模块设置为,根据所述基准直线以及预设的截距阈值,确定在所述深度值分布图中所述基准直线对应的第一邻域直线以及第二邻域直线;将所述深度值分布图中所述第一邻域直线和所述第二邻域直线之间的区域,作为所述基准区域。
5.如权利要求1所述的自驱动机器人,其特征在于,所述障碍物识别模块设置为,根据所述目标像素在所述深度图像中的像素坐标和所述传感器的传感器参数,确定所述目标像素在实际空间中对应的点的实际坐标;判断所述实际坐标是否位于所述自驱动机器人的行进路线上;若所述实际坐标位于所述自驱动机器人的行进路线上,则识别出所述目标像素对应第一类障碍物,所述第一类障碍物为位于所述自驱动机器人的行进路线上的障碍物;若所述实际坐标不位于所述自驱动机器人的行进路线上,则识别出所述目标像素对应第二类障碍物,所述第二类障碍物为位于所述自驱动机器人的行进路线之外的障碍物。
6.如权利要求5所述的自驱动机器人,其特征在于,所述障碍物处理模块设置为,若所述目标像素对应所述第一类障碍物,则控制所述自驱动机器人停止行进;若所述目标像素对应所述第二类障碍物,则控制所述自驱动机器人继续行进。
7.如权利要求3所述的自驱动机器人,其特征在于,所述基准区域确定模块还设置为,判断所述基准直线的直线参数是否位于预设的参数数值范围内;若所述基准直线的直线参数不位于预设的参数数值范围内,则控制所述自驱动机器人停止行进,所述直线参数包括:基准直线的斜率和截距。
8.一种障碍物识别的方法,其特征在于,自驱动机器人设有传感器,所述方法包括:
所述自驱动机器人通过所述传感器采集深度图像;
根据所述深度图像,确定所述深度图像中各像素的深度值;
根据所述深度图像中各像素的深度值以及所述深度图像中各行像素对应的行数,确定用于表征各行像素的深度值分布的深度值分布图;
从所述深度值分布图中确定基准区域,将所述深度图像中各行像素的最大深度值在所述深度值分布图中所对应的点进行直线拟合,得到基准直线,并根据所述基准直线以及预设的截距阈值,以所述基准直线为中心线,以所述截距阈值为边到中心线的距离,确定两边之间的基准区域;
从所述深度图像中确定出在所述深度值分布图中位于所述基准区域以外的像素,作为目标像素;
识别所述目标像素对应的障碍物类别;
根据所述障碍物类别,控制所述自驱动机器人进行障碍物处理。
9.如权利要求8所述的方法,其特征在于,根据所述深度图像中各像素的深度值,确定用于表征各像素的深度值分布的深度值分布图,具体包括:
以所述深度图像中各行像素对应的行数为纵坐标,以深度值的大小为横坐标,确定用于表征所述深度图像中各像素的深度值分布的深度值分布图。
10.如权利要求9所述的方法,其特征在于,从所述深度值分布图中确定基准区域,具体包括:
按照预设的拟合方式,将所述深度图像中各行像素的最大深度值在所述深度值分布图中所对应的点进行直线拟合,得到基准直线;
根据所述基准直线,从所述深度值分布图中确定基准区域。
11.如权利要求10所述的方法,其特征在于,根据所述基准直线,从所述深度值分布图中确定基准区域,具体包括:
根据所述基准直线以及预设的截距阈值,确定在所述深度值分布图中所述基准直线对应的第一邻域直线以及第二邻域直线;
将所述深度值分布图中所述第一邻域直线和所述第二邻域直线之间的区域,作为所述基准区域。
12.如权利要求8所述的方法,其特征在于,识别所述目标像素对应的障碍物类别,具体包括:
根据所述目标像素在所述深度图像中的像素坐标和所述传感器的传感器参数,确定所述目标像素在实际空间中对应的点的实际坐标;
判断所述实际坐标是否位于所述自驱动机器人的行进路线上;
若所述实际坐标位于所述自驱动机器人的行进路线上,则识别出所述目标像素对应第一类障碍物,所述第一类障碍物为位于所述自驱动机器人的行进路线上的障碍物;
若所述实际坐标不位于所述自驱动机器人的行进路线上,则识别出所述目标像素对应第二类障碍物,所述第二类障碍物为位于所述自驱动机器人的行进路线之外的障碍物。
13.如权利要求12所述的方法,其特征在于,根据所述障碍物类别,控制机器人进行障碍物处理,具体包括:
若所述目标像素对应所述第一类障碍物,则控制所述自驱动机器人停止行进;
若所述目标像素对应所述第二类障碍物,则控制所述自驱动机器人继续行进。
14.如权利要求10所述的方法,其特征在于,根据所述基准直线,从所述深度值分布图中确定基准区域,具体包括:
判断所述基准直线的直线参数是否位于预设的参数数值范围内;
若所述基准直线的直线参数不位于预设的参数数值范围内,则控制所述自驱动机器人停止行进,所述直线参数包括:基准直线的斜率和截距;
若所述基准直线的直线参数位于预设的参数数值范围内,则根据所述基准直线,从所述深度值分布图中确定基准区域。
CN201910987537.4A 2019-10-17 2019-10-17 一种自驱动机器人和障碍物识别的方法 Active CN112686077B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910987537.4A CN112686077B (zh) 2019-10-17 2019-10-17 一种自驱动机器人和障碍物识别的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910987537.4A CN112686077B (zh) 2019-10-17 2019-10-17 一种自驱动机器人和障碍物识别的方法

Publications (2)

Publication Number Publication Date
CN112686077A CN112686077A (zh) 2021-04-20
CN112686077B true CN112686077B (zh) 2024-04-26

Family

ID=75444489

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910987537.4A Active CN112686077B (zh) 2019-10-17 2019-10-17 一种自驱动机器人和障碍物识别的方法

Country Status (1)

Country Link
CN (1) CN112686077B (zh)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA3008922A1 (en) * 2015-12-21 2017-06-29 Koninklijke Philips N.V. Processing a depth map for an image
CN107636680A (zh) * 2016-12-30 2018-01-26 深圳前海达闼云端智能科技有限公司 一种障碍物检测方法及装置
CN108335267A (zh) * 2017-12-29 2018-07-27 上海玮舟微电子科技有限公司 一种深度图像的处理方法、装置、设备和存储介质
CN109214348A (zh) * 2018-09-19 2019-01-15 北京极智嘉科技有限公司 一种障碍物检测方法、装置、设备及存储介质
WO2022174198A1 (en) * 2021-03-18 2022-08-18 Innopeak Technology, Inc. Self-supervised depth estimation framework for indoor environments

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9911344B2 (en) * 2015-07-24 2018-03-06 Honeywell International Inc. Helicopter landing system using a camera for obstacle detection

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA3008922A1 (en) * 2015-12-21 2017-06-29 Koninklijke Philips N.V. Processing a depth map for an image
CN107636680A (zh) * 2016-12-30 2018-01-26 深圳前海达闼云端智能科技有限公司 一种障碍物检测方法及装置
CN108335267A (zh) * 2017-12-29 2018-07-27 上海玮舟微电子科技有限公司 一种深度图像的处理方法、装置、设备和存储介质
CN109214348A (zh) * 2018-09-19 2019-01-15 北京极智嘉科技有限公司 一种障碍物检测方法、装置、设备及存储介质
WO2022174198A1 (en) * 2021-03-18 2022-08-18 Innopeak Technology, Inc. Self-supervised depth estimation framework for indoor environments

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
一种基于深度图像的自遮挡检测方法;张世辉;张煜婕;孔令富;;小型微型计算机系统(第05期);166-170 *
一种深度图像中人体的实时跟踪算法;曹昊;诸宸辰;李杨;;计算机工程(第09期);207-211 *

Also Published As

Publication number Publication date
CN112686077A (zh) 2021-04-20

Similar Documents

Publication Publication Date Title
CN112068553B (zh) 机器人避障处理方法、装置及机器人
US10127677B1 (en) Using observations from one or more robots to generate a spatio-temporal model that defines pose values for a plurality of objects in an environment
CN112036462B (zh) 一种模型训练以及目标检测的方法及装置
CN113050632A (zh) 用于机器人探索未知区域的地图探索方法、芯片及机器人
CN111127551B (zh) 一种目标检测的方法及装置
CN110956327B (zh) 一种多机器人自动停靠方法、介质、终端和装置
US12115982B2 (en) Unmanned device control based on future collision risk
CN116740361B (zh) 一种点云分割方法、装置、存储介质及电子设备
CN113050613B (zh) 自动导引车以及自动导引车控制方法
CN114740842A (zh) 一种多传感器融合的机器人避障的方法、设备及介质
CN114812539B (zh) 地图探索、地图使用方法、装置、机器人和存储介质
CN115880685A (zh) 一种基于votenet模型的三维目标检测方法和系统
CN112686924B (zh) 一种智能叉车以及定位托盘的方法
CN112686077B (zh) 一种自驱动机器人和障碍物识别的方法
CN114332201A (zh) 一种模型训练、目标检测的方法以及装置
CN111476729B (zh) 一种目标识别的方法及装置
CN117008615A (zh) 一种策略切换的无人车轨迹规划方法和系统
CN112818968A (zh) 一种目标物分类方法及装置
CN116977446A (zh) 一种多相机小目标识别、联合定位方法和系统
CN110568846A (zh) 一种agv的智能导航方法及系统
Nasti et al. Obstacle avoidance during robot navigation in dynamic environment using fuzzy controller
CN116558545A (zh) 一种传感器数据的标定方法及装置
CN113110409B (zh) 一种自驱动机器人和参数标定的方法
CN112329547A (zh) 一种数据处理方法及装置
CN114047763B (zh) 无人车区分碰撞障碍物的系统、方法、装置及电子设备

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
CB02 Change of applicant information
CB02 Change of applicant information

Address after: 100020 Beijing Chaoyang District Chuang Yuan Road 36 hospital 1 building 101

Applicant after: Beijing jizhijia Technology Co.,Ltd.

Address before: 100020 Beijing Chaoyang District Chuang Yuan Road 36 hospital 1 building 101

Applicant before: Beijing Geekplus Technology Co.,Ltd.

SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant