AGV后向栈板及障碍物识别方法、装置及AGV与流程

文档序号:25023553发布日期:2021-05-11 16:48阅读:484来源:国知局
AGV后向栈板及障碍物识别方法、装置及AGV与流程

本发明涉及自动化控制技术领域,尤其涉及一种agv后向栈板及障碍物识别方法、装置及agv。



背景技术:

科技的发展和进步促使各行各业的自动化程度也不断提高。尤其在自动化仓储和物流领域,自动化控制技术更是得到了重视和运用。自动导引车(automaticguidedvehicle,agv)是自动化搬运装卸的重要技术,其应用范围和技术水平得到了迅猛的发展。

在agv后向运行时,由于需要完成栈板的自动装卸功能,所以agv具有栈板识别的需求;同时在agv后向运行时,也可能会出现障碍物阻碍其运行,因此agv也具有障碍物感知的需求。

目前,对栈板的识别和对障碍物的感知,分别是由两个传感器来完成的,这会增加agv车身上传感器的密度和agv的成本。



技术实现要素:

本发明提供一种agv后向栈板及障碍物识别方法、装置及agv,用以解决agv后向栈板及障碍物识别需要两个感知传感器的缺陷。

本发明提供一种agv后向栈板及障碍物识别方法,包括:

获取感知传感器采集的agv后向的点云数据;

对所述点云数据进行处理,确定所述点云数据中的栈板点云数据以及障碍物点云数据;

基于所述栈板点云数据对agv后向栈板进行识别,并基于所述障碍物点云数据对agv后向障碍物进行识别。

根据本发明提供一种的agv后向栈板及障碍物识别方法,所述对所述点云数据进行处理,确定所述点云数据中的栈板点云数据以及障碍物点云数据,具体包括:

滤除所述点云数据中的地面点云数据,得到备选点云数据;

对所述备选点云数据进行分割,得到所述栈板点云数据以及所述障碍物点云数据。

根据本发明提供一种的agv后向栈板及障碍物识别方法,所述滤除所述点云数据中的地面点云数据,得到备选点云数据,具体包括:

对所述点云数据进行直通滤波,确定感兴趣区域点云数据;

滤除所述感兴趣区域点云数据中的地面点云数据,得到所述备选点云数据。

根据本发明提供一种的agv后向栈板及障碍物识别方法,所述对所述备选点云数据进行分割,得到所述栈板点云数据以及所述障碍物点云数据,具体包括:

基于栈板颜色特征、栈板目标物特征以及栈板几何特征中的至少一种,从所述备选点云数据分割出所述栈板点云数据,并得到所述备选点云数据中除所述栈板点云数据外的剩余点云数据;

基于聚类算法,确定所述剩余点云数据中的障碍物点云数据。

根据本发明提供一种的agv后向栈板及障碍物识别方法,所述基于所述栈板点云数据对agv后向栈板进行识别,具体包括:

基于法向量估计算法、区域生成算法或点云聚类算法,对所述栈板点云数据进行处理,识别出所述agv后向栈板的位姿信息。

根据本发明提供一种的agv后向栈板及障碍物识别方法,所述基于所述障碍物点云数据对agv后向障碍物进行识别,具体包括:

基于障碍物感知算法或欧式聚类算法,对所述障碍物点云数据进行处理,识别出所述agv后向障碍物的状态信息。

本发明还提供一种agv后向栈板及障碍物识别装置,包括:

获取模块,用于获取感知传感器采集的agv后向的点云数据;

处理模块,用于对所述点云数据进行处理,确定所述点云数据中的栈板点云数据以及障碍物点云数据;

识别模块,用于基于所述栈板点云数据对agv后向栈板进行识别,并基于所述障碍物点云数据对agv后向障碍物进行识别。

本发明还提供一种agv,包括:感知传感器以及如上所述的agv后向栈板及障碍物识别装置,所述感知传感器与所述agv后向栈板及障碍物识别装置电连接。

本发明还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述任一种所述agv后向栈板及障碍物识别方法的步骤。

本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如上述任一种所述agv后向栈板及障碍物识别方法的步骤。

本发明提供的agv后向栈板及障碍物识别方法、装置及agv,通过获取感知传感器采集的点云数据,对点云数据进行处理,分割出栈板点云数据和障碍物点云数据,再分别识别栈板点云数据和障碍物点云数据,得出栈板位姿信息和障碍物状态信息,实现了只用一个感知传感器识别agv后向栈板及障碍物的功能。而且,可以对agv后向栈板及障碍物进行同时识别,可以提高agv后向运行的安全性。

附图说明

为了更清楚地说明本发明或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是本发明实施例提供的agv后向栈板及障碍物识别方法的流程示意图;

图2是本发明实施例提供的agv后向栈板及障碍物识别方法的完整流程示意图;

图3是本发明提供的agv后向栈板及障碍物识别装置的结构示意图;

图4是本发明提供的agv的结构示意图;

图5是本发明提供的电子设备的结构示意图。

具体实施方式

为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明中的附图,对本发明中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

目前,通常使用相机或多线激光雷达进行栈板识别和定位,使用光电型、超声波型传感器或单线激光雷达进行障碍物感知。由于对栈板的识别和对障碍物的感知,分别是由不同的传感器来完成的,这会增加agv车身上传感器的密度和agv的成本。为此,本发明实施例中提供了一种agv后向栈板及障碍物识别方法。

图1是本发明实施例提供的一种agv后向栈板及障碍物识别方法的流程示意图。如图1所示,该方法包括:

s1,获取感知传感器采集的agv后向的点云数据;

s2,对所述点云数据进行处理,确定所述点云数据中的栈板点云数据以及障碍物点云数据;

s3,基于所述栈板点云数据对agv后向栈板进行识别,并基于所述障碍物点云数据对agv后向障碍物进行识别。

具体地,本发明实施例中提供的agv后向栈板及障碍物识别方法,其执行主体可以是agv主控制器,也可以是独立于agv的服务器,例如可以是本地服务器、云端服务器等,本地服务器可以是计算机、平板电脑或智能手机等,本发明实施例中对此不作具体限定。

首先执行步骤s1。其中,感知传感器可以是激光雷达。激光雷达是一种采用非接触激光测距技术的扫描式传感器,通过搜集反射回来的光束形成点云数据。激光雷达包括旋转式激光雷达,通过多束激光竖立而排,绕轴进行360°旋转,每一束激光扫描一个平面,纵向叠加后呈现出三维立体图形。激光雷达还包括固态激光雷达,采用相控阵原理,有许多个固定的细小光束组成,通过每个阵元点产生光束的相位与幅度,以此强化光束在指定方向上的强度,并压抑其他方向的强度,从而实现光束方向的改变。

在另一个实施例中,感知传感器可以是深度相机。深度相机是由被动相机和主动深度传感器组成。与传统相机不同,深度相机除了提供彩色图像(redgreenbule,rgb)外,还提供每个像素的深度信息,结合了主动和被动传感器的优点。深度相机通过在场景中发射光信号并分析反射光来计算深度,但是入射波调制是在空间而非时间上执行的。深度相机的主要功能可以分为两个部分,即获取rgb图像和深度图像。rgb相机通过测量光和密度来获取rgb图像,深度图像是指该图像中的每个像素值是传感器距离物体的实际距离,可以由深度传感器获取。

需要说明的是,感知传感器的选择可以根据需要进行设置,本发明实施例对此不作具体限定,只要具有输出3d点云功能的传感器均可应用于本发明实施例中。

本发明实施例中,感知传感器采集的点云数据是一种基础的三维模型,是指在一个三维坐标系统中的一组向量的集合。这些向量通常以x,y,z三维坐标的形式表示,而且一般主要用来代表一个物体的外表面形状。除(x,y,z)代表的几何位置信息之外,点云数据还可以表示一个点的rgb颜色、灰度值、深度和分割结果等。点云数据往往由测量直接得到,每个点对应一个测量点,未经过其他处理手段,故包含了最大的信息量。

本发明实施例中,感知传感器采集到的点云数据可以是基于机器人操作系统(robotoperatingsystem,ros)的点云数据。ros在机器人技术研究领域是一个被广泛使用的平台,其开发采用开放的伯克利软件发行版(berkeleysoftwaredistribution,bsd)协议。ros作为一个适用于机器人编程的框架,将使用者的操作系统和使用者开发的ros应用程序连接起来。ros采用了分布式的框架,有利于模块化的修改和定制,并提高了系统的容错能力。同时,ros支持多种编程语言且具有一个庞大的开源社区,更有利于开发者进行开发。

由于agv的后向空间可能包含有栈板、障碍物以及地面等,因此感知传感器采集的点云数据中可以包括agv后向的地面点云数据、栈板点云数据和障碍物点云数据中的至少一种。

然后执行步骤s2。其中,处理点云数据可以包括图像强化、滤波、关键点/边缘检测等基本操作。在完成基本操作后,可以对点云数据进行分割,通过分割,确定出点云数据中的栈板点云数据和障碍物点云数据。

本发明实施例中,如果没有分割出栈板点云数据,说明此时agv后向可能没有栈板或栈板被遮挡,感知传感器采集到的点云数据不包含栈板点云数据,因此也无法将栈板点云数据分割出来,此时可以直接将感知传感器采集到的点云数据判定为障碍物。而且,为了避免agv触碰到障碍物发生损伤,此时agv可以停止继续向后运行。

最后执行步骤s3。其中,基于分割得到的栈板点云数据,可以对agv后向的栈板进行识别,对栈板的识别可以包括计算栈板的方向和位置等。同时,基于得到的障碍物点云数据,可以对障碍物进行识别,对障碍物的识别可以包括计算障碍物的位置、数量以及是否运动等,本发明实施例对此不作具体限定。

本发明实施例中提供的agv后向栈板及障碍物识别方法,通过获取感知传感器采集的点云数据,对所述点云数据做处理,通过对点云数据的分割,可以确定栈板点云数据和障碍物点云数据。再根据所述栈板点云数据和障碍物点云数据对二者分别进行识别。该方法只需要一个感知传感器即可同时完成对栈板和障碍物的识别,减少了agv车身上传感器的密度,也降低了agv的成本。同时,由于点云数据对3d空间的感知很准确,通过点云数据进行agv后向的栈板和障碍物的识别也会更准确。而且,由于可以对agv后向栈板及障碍物进行同时识别,可以避免agv后向存在障碍物但未能及时识别而存在的安全隐患,提高agv后向运行的安全性。

在上述实施例的基础上,本发明实施例中提供的agv后向栈板及障碍物识别方法,所述对所述点云数据进行处理,确定所述点云数据中的栈板点云数据以及障碍物点云数据,具体包括:

滤除所述点云数据中的地面点云数据,得到备选点云数据;

对所述备选点云数据进行分割,得到所述栈板点云数据以及所述障碍物点云数据。

具体地,本发明实施例中,可以使用点云库(pointcloudlibrary,pcl)对所述点云数据中的地面点云数据进行滤除。pcl是一个大型跨平台开源编程库,用于处理二维/三维图像和点云数据。pcl实现了大量与点云相关的通用算法和高效数据结构,涉及到点云的获取、滤波、分割、特征提取、可视化等。pcl支持多种操作系统平台,例如windows、linux、android等。

利用pcl中已经封装好的滤波器,对获取的感知传感器采集到的点云数据进行处理,可以滤除掉地面点云数据,得到所述的备选点云数据。

其中,滤波器可以是直通滤波器。直通滤波器适用于在空间分布有一定空间特征的点云数据,例如使用线性光结构扫描的方式采集的点云数据,该点云数据沿z向分布较广,但x,y向的分布处于有限范围内,此时可以利用直通滤波器确定点云在x或y方向上的范围,达到快速剔除离群点的作用。

在另一个实施例中,滤波器可以是条件滤波器。条件滤波器通过设定滤波条件对点云数据进行滤波,当点云数据在一定范围内时留下此点云数据,当点云数据不在设定的条件范围内时,则剔除该点云数据,从而达到滤波的作用。

在滤除地面点云数据后,即可得到备选点云数据。此时,备选点云数据中可能包含有栈板点云数据和/或障碍物点云数据,还可能包含有噪声点云数据。如果备选点云数据中至少同时包含有栈板点云数据和障碍物点云数据,利用点云分割技术则可以将栈板点云数据和障碍物点云数据进行分割。

点云数据分割的目的是提取点云数据中不同物体对应的点云数据。在本发明实施例中,即是提取备选点云数据中的栈板点云数据和障碍物点云数据,从而可以实现对栈板点云数据和障碍物点云数据单独处理的目的。

点云数据分割可以通过邻近搜索的方式实现。通过对比某一点和其最近一点的某些特征,来实现点云数据的分割。确定一个点云数据之间的相邻关系可以通过k维树(kd-tree)来完成。建立kd-tree,在kd-tree中查找。建立kd-tree的过程是一个不断划分的过程,首先选择最稀疏的维度,然后找到该维度上的中间点,垂直该维度做第一次划分。此时k维超平面被一分为二,在两个子平面中再找到最稀疏的维度,依次类推直到最后一个点也被划分,此时就形成了一个不断二分的树。一般情况下,一个点的邻近点只需要在其父节点和子节点中搜索即可,大大缩小了邻近点的搜索规模。并且kd-tree可以有效的对插入点进行判断其最近点在哪个位置。对于低层次视觉来说kd-tree算法是非常重要的。在很多情况下需要给出某个点,再查k临近点的编号,或者差某半径范围内的点。

本发明实施例中提供的agv后向栈板及障碍物识别方法,通过对地面点云数据的滤除,避免了地面点云数据对后续的分割过程的干扰,使得后续的分割过程实现起来更高效、更准确。通过对备选点云数据进行分割,可以确定出栈板点云数据和障碍物点云数据,方便后续分别对栈板点云数据和障碍物点云数据进行单独处理,降低了后续识别栈板和障碍物的难度。

在上述实施例的基础上,本发明实施例中提供的agv后向栈板及障碍物识别方法,所述滤除所述点云数据中的地面点云数据,得到备选点云数据,具体包括:

对所述点云数据进行直通滤波,确定感兴趣区域点云数据;

滤除所述感兴趣区域点云数据中的地面点云数据,得到所述备选点云数据。

具体地,本发明实施例中,可以先对所述点云数据做x,y,z三个方向的直通滤波,依次指定x,y,z维度以及该维度下的值域;其次,遍历点云数据中的每一个点,判断该点在指定维度上的取值是否在指定的值域内,删除取值不在值域内的点;最后,遍历结束,留下的点即构成直通滤波后的点云数据。通过直通滤波后,可以滤除噪声点云数据,得到感兴趣区域点云数据。

本发明实施例中,在直通滤波处理后,还可以进行离群点过滤。离群点过滤是指对点云数据中每一个点的领域进行统计分析,计算该点到所有临近点的平均距离。假设得到的结果是一个高斯分布,其形状是由均值和标准差决定的,那么平均距离在标准范围之外的点,可以被定义为离群点,并从点云数据中删除。其中,标准范围可以由全局距离平均值和方差确定,也可以给定,本发明实施例中对此不作具体限定。

本发明实施例中,在进行离群点过滤后,还可以进行降采样。可以使用pcl库中自带的voxelgrid类实现点云数据的降采样。降采样是一种多速率数字信号处理的技术或是降低信号采样率的过程,通常用于降低数据传输速率或者数据大小。voxelgrid类的基本原理是建立一个三维体素网格,对点云进行网格划分,落在每个小立方块区域中的点的重心就代表网格中的所有点,通过控制网格边长就能够控制降采样的点数。

在本发明实施例中,可以使用pcl中随机采样一致性算法滤除所述感兴趣区域点云数据中的地面点云数据。随机采样一致性算法可以从一组包含“局外点”的观测数据集中,通过迭代的方式估计数学模型的参数。它是一种不确定的算法,有一定的概率得出一个合理的结果。为了提高得出合理结果的概率,必须提高迭代的次数。

随机采样一致性算法通过反复选择数据中的一组随机子集来达成目标。被选取的子集被假设为局内点,并通过以下步骤进行验证:有一个模型适应于假定的局内点,即所有的未知参数都能从假设的局内点计算得出;用上述的模型去测试所有的其它数据,如果某个点适用于估计的模型,认为他也是局内点;如果有足够多的点被归类为假设的局内点,那么估计的模型就足够合理;然后,用所有假设的局内点去重新估计模型,因为它仅仅被初始的假设局内点估计过;最后,通过估计局内点与模型的错误率来评估模型。通过不断的迭代,即可得到错误率在允许范围内的最好的模型,此时就可以用该模型测试测试出所有局内点,剔除所有局外点,达到滤除的效果。

本发明实施例中提供的agv后向栈板及障碍物识别方法,通过直通滤波可以确定感兴趣区域,缩小了需要处理的点云数据的范围,方便了后续的操作。离群点过滤可以进一步剔除感兴趣区域外的点云数据,提升后续滤除的效果。降采样可以降低后续处理的时间和空间复杂度,提高后续处理的效率。使用随机采样一致性算法将地面点云数据滤除,得到备选点云数据,简化了后续的点云数据分割过程。

在上述实施例的基础上,本发明实施例中提供的agv后向栈板及障碍物识别方法,所述对所述备选点云数据进行分割,得到所述栈板点云数据以及所述障碍物点云数据,具体包括:

基于栈板颜色特征、栈板目标物特征以及栈板几何特征中的至少一种,从所述备选点云数据分割出所述栈板点云数据,并得到所述备选点云数据中除所述栈板点云数据外的剩余点云数据;

基于聚类算法,确定所述剩余点云数据中的障碍物点云数据。

具体地,本发明实施例中,栈板可以被提前标记。例如,在栈板中间可以标记特殊的颜色,如红色或绿色等,也可以在栈板中间的位置标记上二维码等目标物。同时,栈板自身也具有几何特征,因此,可以利用颜色特征、栈板目标物特征以及栈板几何特征中的至少一种特征先将栈板点云数据分割出来,并得到除栈板点云数据外的剩余点云数据,剩余点云数据中不再包含栈板点云数据。

然后,可以基于聚类算法对剩余点云数据进行聚类,以确定剩余点云数据中可能存在的障碍物点云数据。聚类是指按照某个特定标准(如距离)把一个数据集分割成同的类或簇,使得一个簇内的数据对象的相似度尽可能大,同时不在一个簇内的数据对象的差异性也尽可能大。即聚类后同一类的数据会尽可能聚集到一起,不同的数据会分离。

本发明实施例中采用的聚类算法可以是k均值(k-means)聚类。k-means聚类首先随机选择k个对象,这里的k可以根据需要进行设定,本发明对此不作限定,并随机初始化它们各自的中心点。中心点是与每个数据点向量长度相同的位置。然后计算每个数据点到中心点的距离,数据点距离哪个中心点最近就划分到哪一类中。再重新计算每个类的平均值,更新为新的类中心。重复以上步骤,直到每一类中心在每次迭代后变化不大为止。也可以多次随机初始化中心点,然后选择运行结果最好的一个。

在另一个实施例中,聚类算法还可以是自下而上的层次聚类。层次聚类将每个数据看作一个单一的类,计算两两之间的最小距离;将距离最小的两个类合并成一个新类;再重新计算新类与所有类之间的距离;重复计算两两之间的最小距离,将距离最小的两个类合并成一个新类,再计算新类与所有类之间的距离的步骤,直到所有类最后合并成一类。

需要说明的是,在对备选点云数据进行分割时,除了上述的先分割出栈板点云数据外,本发明实施例中也可以在障碍物运动的情况下,根据障碍物的运动状态,先将障碍物点云数据分割出来,本发明实施例中对此不作具体限定。

本发明实施例中提供的agv后向栈板及障碍物识别方法,基于栈板的颜色、目标特征或自身几何特征中的至少一种,可以将栈板点云数据先分割出来,再对剩下的点云数据基于聚类算法确定出障碍物点云。实现了只需要一个传感器采集点云数据即可同时获取到栈板点云数据和障碍物点云数据的目的。

在上述实施例的基础上,本发明实施例中提供的agv后向栈板及障碍物识别方法,所述基于所述栈板点云数据对agv后向栈板进行识别,具体包括:

基于法向量估计算法、区域生成算法或点云聚类算法,对所述栈板点云数据进行处理,识别出所述agv后向栈板的位姿信息。

具体地,在本发明实施例中,法向量估计算法可以选取点云数据中的每一点,对其进行临近点的搜索,将包含该点的临近点拟合成曲面,对曲面中的点进行主成分分析(principalcomponentsanalysis,pca),查找最小特征值对应的特征向量,该特征向量即为该拟合曲面的法向量。该拟合曲面为栈板表面,进而可以确定出agv后向栈板的位姿信息,例如包括位置和姿态。

在本发明实施例中,区域生成算法具体可以使用区域生长(regiongrowing)类实现区域生长分割,算法的输出是一个聚类集合。算法的流程可以为:设立空的种子点序列、空的聚类数组->初始种子点加入种子序列->搜索邻域点->若领域点法线与当前种子点法线的夹角小于阈值,则加入当前区域->领域点曲率值小于曲率阈值,则加入种子点序列->删除当前种子点,利用新种子点生长,直到种子序列点被清空。

在本发明实施例中,点云聚类算法可以使用基于密度的聚类算法(density—basedspatialclusteringofapplicationwithnoise,dbscan)。dbscan算法假设聚类结构能够通过样本分布的紧密程度确定,从样本密度的角度来考察样本之间的可连续性,并基于可连接样本不断扩展聚类簇以获取最终聚类结果。dbscan算法中将簇定义为密度相连最大的点,把具有足够密度的区域划分为簇,该算法可以在有噪音的空间数据集中发现任意形状的簇。

dbscan算法的步骤如下:从点云数据中任意选取一个点p;如果对于参数邻域半径和邻域中点的数目阈值,所选取的点p是核心点,则找出所有从点p密度可达的点,形成一个簇;如果选取的点p是边缘点,选取另一个点;重复上述步骤,直到点云数据中所有点被处理。

本发明实施例中提供的agv后向栈板及障碍物识别方法,可以通过法向量估计算法、区域生成算法或点云聚类算法对得到的栈板点云数据进行处理,计算出栈板的位置和方向等位姿信息,以便于agv对栈板进行自动装卸。

在上述实施例的基础上,本发明实施例中提供的agv后向栈板及障碍物识别方法,所述基于所述障碍物点云数据对agv后向障碍物进行识别,具体包括:

基于障碍物感知算法或欧式聚类算法,对所述障碍物点云数据进行处理,识别出所述agv后向障碍物的状态信息。

具体地,在本发明实施例中,障碍物感知算法可以是归一化切割(normalizedcut,ncut)算法。ncut算法的基本思想是基于空间平滑性假设,即空间上接近的点来自同一个障碍物。首先,利用地图信息对点云进行预处理,例如去掉感兴趣区域之外的点云,降低点云图的复杂度。然后根据预处理后的点云构建加权图g=(v,e,w),将点云分割转换为图分割的问题,可以利用图聚类的算法求解,最终求解的每一个簇就代表一个障碍物。

在本发明实施例中,欧式聚类算法是指一种基于欧式距离度量的聚类算法,仅依据距离,将小于距离阈值的点云数据作为一个类。欧式聚类算法的步骤如下:找到点云数据中某点p10,用kd-tree搜索算法找到离点p10最近的n个点,判断这n个点到点p10的距离;将距离小于设定阈值的点p12、p13、p14等放在集合q里;当q中的元素数目不再增加,则聚类结束,否则,需在集合q中选取p10以外的点,重复上述步骤,直至集合q中的元素不再增加。通过欧式聚类算法也能对障碍物进行处理,识别出障碍物的状态信息。

在本发明实施例中,障碍物状态信息可以包括障碍物的位置、个数,是否运动等信息。

本发明实施例中提供的agv后向栈板及障碍物识别方法,通过障碍物感知算法或欧式聚类算法,在基于栈板点云数据对agv后向栈板进行识别的同时,对障碍物点云数据进行处理,可以识别出agv后向的障碍物状态信息,以便于agv在后向运行时能够及时避开障碍物或及时停车,避免了agv触碰障碍物产生不必要的损失。

本发明实施例中提供的agv后向栈板及障碍物识别方法,通过获取感知传感器采集的点云数据,对点云数据进行处理,确定所述点云数据中的栈板点云数据和障碍物点云数据,再分别识别所述栈板点云数据和障碍物点云数据,得到栈板的位姿信息和障碍物的状态信息。该方法只需要一个感知传感器即可同时获取到栈板信息和障碍物信息,降低了agv的系统成本agv自身的传感器密度。

图2是本发明实施例提供的一种agv后向栈板及障碍物识别方法的完整流程示意图。如图2所示,该方法包括:

s21,获取感知传感器采集到的点云数据。

s22,对点云数据进行处理,将地面点云数据滤除。滤除地面点云数据的方法包括随机采样一致性算法,在滤除地面之前,为了达到更好的效果,也可以对点云数据进行滤波、离群点过滤等预处理。

s23,确定栈板点云数据和障碍物点云数据,也就是说进行栈板点云和障碍物点云的分割。可以按照栈板的颜色、目标特征或几何特征中的至少一种将栈板点云数据分割出来,得到剩余点云数据,再对剩余点云数据进行聚类,得到障碍物点云数据。

s24,确定是否分割出栈板点云数据,也就是说,分割是否成功,如果分割成功,则继续执行s25;若分割失败,则继续执行s26。

s25,分别识别栈板点云数据和障碍物点云数据,得出栈板的位姿信息和障碍物状态信息。

s26,将整个点云数据判定为障碍物,并对其进行识别,计算其状态信息。

图3是本发明实施例提供的一种agv后向栈板及障碍物识别装置的结构示意图。如图3所示,该装置包括:获取模块301、处理模块302和识别模块303。其中,

获取模块301用于获取感知传感器采集的agv后向的点云数据;

处理模块302用于对所述点云数据进行处理,确定所述点云数据中的栈板点云数据以及障碍物点云数据;

识别模块303用于基于所述栈板点云数据对agv后向栈板进行识别,并基于所述障碍物点云数据对agv后向障碍物进行识别。

具体地,在本发明实施例中的agv后向栈板及障碍物识别装置,可以是agv主控制器。感知传感器采集到的点云数据可以传输至获取模块。

在本发明实施例中,处理模块中对点云数据的处理可以包括图像强化、滤波、关键点/边缘检测等基本操作。在完成基本操作后,可以对点云数据进行分割,通过分割,确定点云数据中的栈板点云数据和障碍物点云数据。

在本发明实施例中,识别模块可以识别基于分割得到的栈板点云数据,对栈板的识别可以包括计算栈板的方向和位置等。同时,基于得到的障碍物点云数据,可以对障碍物进行识别,对障碍物的识别可以包括计算障碍物的位置、数量以及是否运动等。

本发明实施例中提供的agv后向栈板及障碍物识别装置,只需要在agv上安装一个感知传感器即可同时完成对agv后向栈板和障碍物的识别,降低了agv的生产成本。

在上述实施例的基础上,本发明实施例中提供的agv后向栈板及障碍物识别装置,所述处理模块包括:

滤除子模块,用于滤除所述点云数据中的地面点云数据,得到备选点云数据;

分割子模块,用于对所述备选点云数据进行分割,得到所述栈板点云数据以及所述障碍物点云数据。

在上述实施例的基础上,本发明实施例中提供的agv后向栈板及障碍物识别装置,所述滤除子模块,具体用于:

对所述点云数据进行直通滤波,确定感兴趣区域点云数据;

滤除所述感兴趣区域点云数据中的地面点云数据,得到所述备选点云数据。

在上述实施例的基础上,本发明实施例中提供的agv后向栈板及障碍物识别装置,所述分割子模块,具体用于:

基于栈板颜色特征、栈板目标物特征以及栈板几何特征中的至少一种,从所述备选点云数据分割出所述栈板点云数据,并得到所述备选点云数据中除所述栈板点云数据外的剩余点云数据;

基于聚类算法,确定所述剩余点云数据中的障碍物点云数据。

在上述实施例的基础上,本发明实施例中提供的agv后向栈板及障碍物识别装置,所述识别模块,具体用于:

基于法向量估计算法、区域生成算法或点云聚类算法,对所述栈板点云数据进行处理,识别出所述agv后向栈板的位姿信息。

在上述实施例的基础上,本发明实施例中提供的agv后向栈板及障碍物识别装置,所述识别模块,还具体用于:

基于障碍物感知算法或欧式聚类算法,对所述障碍物点云数据进行处理,识别出所述agv后向障碍物的状态信息。

具体地,本发明实施例中提供的agv后向栈板及障碍物识别装置中各模块的作用与上述方法类实施例中各步骤的操作流程是一一对应的,实现的效果也是一致的,具体参见上述方法类实施例,本发明实施例中对此不作具体限定。

在本发明的优选实施例中,agv后向栈板及障碍物识别装置还可以包括配置模块,用于对本发明实施例中提供的处理模块和识别模块中的算法进行参数配置。配置模块可以先将各类参数设置好,提高后续算法的效率。

在本发明的优选实施例中,agv后向栈板及障碍物识别装置还可以包括用户界面(userinterface,ui)显示模块,用于操作人员在线对配置模块中的参数进行配置及对栈板位姿和障碍物的ui展示。通过ui显示模块,可以方便操作人员配置参数,也使操作人员能更清楚栈板的位姿和障碍物的状态信息,方便进一步对agv进行操作。

图4是本发明实施例提供的一种agv的结构示意图。如图4所示,该agv包括:

感知传感器401以及如上述agv后向栈板及障碍物识别装置402,所述感知传感器401与所述agv后向栈板及障碍物识别装置402电连接。

具体地,本发明实施例提供的agv可以应用于上述各实施例中提供的agv后向栈板及障碍物识别方法。因此,本发明实施例提供的agv可以具有与前面任一实施例提供的agv后向栈板及障碍物识别方法的全部有益效果,在此不再赘述。

图5示例了一种电子设备的实体结构示意图,如图5所示,该电子设备可以包括:处理器(processor)510、通信接口(communicationsinterface)520、存储器(memory)530和通信总线540,其中,处理器510,通信接口520,存储器530通过通信总线540完成相互间的通信。处理器510可以调用存储器530中的逻辑指令,以执行上述各实施例中提供的agv后向栈板及障碍物识别方法,该方法包括:获取感知传感器采集的agv后向的点云数据;对所述点云数据进行处理,确定所述点云数据中的栈板点云数据以及障碍物点云数据;基于所述栈板点云数据对agv后向栈板进行识别,并基于所述障碍物点云数据对agv后向障碍物进行识别。

此外,上述的存储器530中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。

另一方面,本发明还提供一种计算机程序产品,所述计算机程序产品包括存储在非暂态计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,计算机能够执行上述各实施例中提供的agv后向栈板及障碍物识别方法,该方法包括:获取感知传感器采集的agv后向的点云数据;对所述点云数据进行处理,确定所述点云数据中的栈板点云数据以及障碍物点云数据;基于所述栈板点云数据对agv后向栈板进行识别,并基于所述障碍物点云数据对agv后向障碍物进行识别。

又一方面,本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述各实施例中提供的agv后向栈板及障碍物识别方法,该方法包括:获取感知传感器采集的agv后向的点云数据;对所述点云数据进行处理,确定所述点云数据中的栈板点云数据以及障碍物点云数据;基于所述栈板点云数据对agv后向栈板进行识别,并基于所述障碍物点云数据对agv后向障碍物进行识别。

以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如rom/ram、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。

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

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1