一种基于三维点云的车厢轮廓检测方法及系统
技术领域
本发明涉及物流运输技术领域,尤其涉及的是一种基于三维点云的车厢轮廓检测方法及系统。
背景技术
物流业是我国国民经济基础产业重要组成部分,其融合了道路运输业、仓储业和信息业等多个产业,具有涉及领域广,吸纳就业人数多等特点。
目前袋装物品装车过程中,主要依赖人在现场或通过摄像头判断车厢外轮廓和车厢拉绳的位置,这种方式过于依赖人工,由于长时间的货物装载,极易引起人员疲劳,并且受视角、光线变化、尺度变化等因素影响,容易存在盲区和误检的情况。
因此,现有技术存在缺陷,需要改进。
发明内容
本发明所要解决的技术问题是针对现有技术的不足提供一种基于三维点云的车厢轮廓检测方法及系统。
本发明的技术方案如下:
一种基于三维点云的车厢轮廓检测方法,包括以下步骤:
(1)指定系统坐标系原点,保证所有装车区域的点云坐标x,y,z均为正值,方便后续的处理和计算;使用手持RTK标定系统坐标原点的经纬度坐标,并转换为空间直角坐标系坐标O(x0,y0,z0);
(2)指定搭载三维激光扫描仪云台的安装位置为车厢停靠位置的正上方,并使用手持RTK标定该点的经纬度坐标,然后转换为云台安装位置原点O1(x′0,y′0,z′0),其中两个坐标系之间在x,y,z方向的平移向量分别为l,w,h;
(3)对三维激光扫描仪加装旋转云台,以便于扫描车厢全部区域;三维激光扫描仪的坐标系是以三维激光扫描仪成像位置为中心,以扫描区域正前方为x轴方向,y轴和z轴方向平行于扫描仪扫描平面;
采集云台俯仰角为0度即雷达垂直向下以及云台俯仰角为正负30度三个角度的雷达三维点云数据;将云台正负30度时的三维点云数据转换到垂直向下的坐标系;该坐标系的点云坐标通过(1)、(2)步手持RTK的标定,直接通过平移变换转换到系统坐标系坐标;
(5)将三个角度点云数据的重合点进行位置校验拼接,得到整个车厢的三维点云数据;
(5)采用均匀采样的方式进行拼接采样;首先设定每隔e长度,取一个三维点云,取与网格点云重心欧式距离最近的点作为点云坐标;
(6)选取感兴趣区域点云,投影到平面图像,图像的像素为该位置的Z值;则根据车厢边框和拉绳明显高于车厢底部的特性,设置高度阈值Tz将投影后的单通道图像进行二值化处理;
假设车厢底部高度为h1,车厢外边框的高度为h2,则高度阈值为选择h1-Δh<z<h2+Δh区域,作为系统感兴趣区域;
选择感兴趣区域的系统坐标系点云数据(x2,y2,z2),将其投影到二维图像,将(x2,y2)作为像素位置,将z2作为像素值,得到灰度图像image(x2,y2)=Z2(x2,y2);再对灰度图像二值化处理得到二值化图像;
(7)将二值化的图像进行轮廓提取并得到轮廓的最小外接矩形,通过车厢尺寸对二值化图像进行轮廓筛选,判断得到车厢外轮廓和车厢拉绳分割区域的最小外接矩形,并得到角点图像坐标;
(8)最后将车厢及拉绳分割区域的角点图像坐标的像素值提取出来,转化为系统坐标系的真实坐标(x3,y3,z3),传输给自动装车系统。
所述的方法,所述步骤(3),通过平移变换转换到系统坐标系坐标的方法为:首先获取云台倾斜角度θ,假设云台倾斜轴距离扫描仪的扫描位置长度为l,扫描仪倾斜状态下点云坐标为(x,y,z),转化后的坐标为(x1,y1,z1);
所述的方法,所述步骤(4),首先分别对垂直扫描点云数据和倾斜扫描并转化完成的点云数据进行平面拟合,以(x11,y11,z11)和(x12,y12,z12)为例:
通过(x11,y11,z11)点云拟合出的平面为a1x11+b1y11+c1z11+d1=0;
通过(x12,y12,z12)点云拟合出的平面为a2x12+b2y12+c2z12+d2=0;
设定阈值T1,若同一区域内两个平面位置差超过阈值T1,则需要重新扫描;若位置差小于阈值T1,则判定为可以对点云进行拼接采样。
根据任一所述方法的车厢轮廓检测系统。
根据所述车厢轮廓检测系统的自动装车系统,所述自动装车系统根据步骤(1)到(8)中过程得到的车厢边缘及拉绳位置坐标进行计算,判断可有效装车区域的坐标,并根据预设好的袋装物料码垛规则,指导自动装车下料装置行驶到指定位置进行装车作业,实现自动装车流程。
本方法通过将云台不同角度的点云坐标进行拼接验证,得到完整点云车厢数据,并将三维点云数据转化到二维平面图像,通过图像处理的方式得到车厢轮廓区域坐标,然后通过坐标变换转化为系统坐标,传递给自动装车系统,指导自动装车作业,防止装车过程中,机械臂与车厢侧壁或车厢拉绳碰撞,还能够防止装车过程中,袋装货物装到车厢拉绳或车厢侧壁,从而散落货物。本发明能够实现高栏车、半挂车等车厢外轮廓和车厢拉绳的自动检测,为实现自动装车提供必要准备和前提条件。
附图说明
图1三维激光扫描仪坐标系示意图;
图2拼接采样示意图;
图3车厢轮廓识别方法流程图;
具体实施方式
以下结合具体实施例,对本发明进行详细说明。
本发明提供了一种基于三维点云的车厢轮廓检测方法,包括以下步骤:
(1)指定系统坐标系原点为装车机房的西南角,使用手持RTK标定系统坐标原点的经纬度坐标,并转换为空间直角坐标系坐标O(x0,y0,z0),此系统坐标原点的选择可以保证所有装车区域的点云坐标x,y,z均为正值,方便后续的处理和计算。
(2)指定搭载三维激光扫描仪云台的安装位置为车厢停靠位置的正上方,并使用手持RTK标定该点的经纬度坐标,然后转换为云台安装位置原点O1(x′0,y′0,z′0),其中两个坐标系之间在x,y,z方向的平移向量分别为l,w,h;
(3)由于载货车厢长度经常超出扫描仪的扫描区域,因此对三维激光扫描仪加装旋转云台,以便于扫描车厢全部区域。
三维激光扫描仪的坐标系是以三维激光扫描仪成像位置为中心,以扫描区域正前方为x轴方向,y轴和z轴方向平行于扫描仪扫描平面。
采集云台俯仰角为0度(雷达垂直向下),以及云台俯仰角为正负30度,三个位置的雷达三维点云数据。将云台正负30度时的三维点云数据转换到垂直向下的坐标系。该坐标系的点云坐标通过(1)、(2)步手持RTK的标定,可以直接通过平移变换转换到系统坐标系坐标。
首先获取云台倾斜角度θ,假设云台倾斜轴距离扫描仪的扫描位置长度为l,扫描仪倾斜状态下点云坐标为(x,y,z),转化后的坐标为(x1,y1,z1)。
(6)将三个角度点云数据的重合点进行位置校验拼接,得到整个车厢的三维点云数据。
首先分别对垂直扫描点云数据和倾斜扫描并转化完成的点云数据进行平面拟合,以(x11,y11,z11)和(x12,y12,z12)为例。
通过(x11,y11,z11)点云拟合出的平面为a1x11+b1y11+c1z11+d1=0。
通过(x12,y12,z12)点云拟合出的平面为a2x12+b2y12+c2z12+d2=0。
设定阈值T1,若同一区域内两个平面位置差超过阈值T1,则需要重新扫描。若位置差小于阈值T1,则判定为可以对点云进行拼接采样。
(5)采用均匀采样的方式进行拼接采样。首先设定每隔e长度,取一个三维点云,本系统取与网格点云重心欧式距离最近的点作为点云坐标。
(6)选取感兴趣区域点云,投影到平面图像,图像的像素为该位置的Z值。则根据车厢边框和拉绳明显高于车厢底部的特性,设置高度阈值Tz将投影后的单通道图像进行二值化处理;
假设车厢底部高度为h1,车厢外边框的高度为h2,则高度阈值为选择h1-Δh<z<h2+Δh区域,作为系统感兴趣区域,其中Δh=0.5m。
选择感兴趣区域的系统坐标系点云数据(x2,y2,z2),将其投影到二维图像,将(x2,y2)作为像素位置,将z2作为像素值,得到灰度图像image(x2,y2)=Z2(x2,y2)。再对灰度图像二值化处理得到二值化图像。
(7)将二值化的图像进行轮廓提取并得到轮廓的最小外接矩形,通过车厢尺寸对二值化图像进行轮廓筛选,判断得到车厢外轮廓和车厢拉绳分割区域的最小外接矩形,并得到角点图像坐标。
(8)最后将车厢及拉绳分割区域的角点图像坐标的像素值提取出来,转化为系统坐标系的真实坐标(x3,y3,z3),传输给自动装车系统。
(9)自动装车系统根据(1)到(8)中过程得到的车厢边缘及拉绳位置坐标进行计算,判断可有效装车区域的坐标,并根据预设好的袋装物料码垛规则,指导自动装车下料装置行驶到指定位置进行装车作业,实现自动装车流程。
使用基于三维点云检测出的车厢轮廓来指导自动装车作业,可以有效地防止机械臂与车厢侧壁或车厢拉绳碰撞,或者袋装货物装到车厢拉绳或车厢侧壁,避免装车过程的货物散落。
应当理解的是,对本领域普通技术人员来说,可以根据上述说明加以改进或变换,而所有这些改进和变换都应属于本发明所附权利要求的保护范围。