一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种基于类平面多高度层轮廓识别及坐标计算方法及系统与流程

2021-11-24 20:59:00 来源:中国专利 TAG:


1.本发明属于钢铁厂型材或棒材码堆无人驾驶行车技术领域,具体涉及一种基于类平面多高度层轮廓识别及坐标计算方法及系统。


背景技术:

2.随着自动化和识别定位技术的发展,钢铁厂无人驾驶行车已成为一种趋势。三维激光雷达扫描系统,好比无人驾驶行车的眼睛,通过扫描识别出型材捆、棒材捆及其堆垛和货车位置坐标,通过网络传送给plc控制行车自动运行。
3.型材捆件为矩形截面,堆放方式为多层紧密的顺向堆码。棒材捆件为椭圆形截面,堆码方式为多层交叠井字形堆码。库区环境灰黑,被吊物品与环境的辨识性弱,图像识别技术受光照影响大。现有的有人驾驶行车需要司机和指挥员协同作业,因环境灰黑,司机注意力难以长时间集中,安全风险较高,劳动强度大和重复性强,不利于作业人员健康。目前国内无人驾驶行车邻域涉足型材和棒材码堆及装车方向的专利尚未检索到。例如,东南大学和南京科远集团等所申请的“一种基于边缘检测和区域增长的垛位点云定位方法”专利主要研究圆盘型钢卷的位置定位问题。上海宝信软件股份有限公司所申请的“全自动无人行车装卸位置检测系统”专利需要卡车司机观测监控画面并控制激光扫描装置定位物料或垛位位置,使无人行车获得物料和垛位位置,从而实现自动行走和装卸物料;该专利未具体指明型材或棒材的装卸,实现方法也不同。因此如何克服现有技术的不足是目前型材和棒材码堆及装车无人驾驶行车技术领域亟需解决的问题。


技术实现要素:

4.本发明的目的是为了解决现有技术的不足,提供一种基于类平面多高度层轮廓识别及坐标计算方法,对要吊取的型材或棒材捆、堆垛堆放的位置进行定位,并网络传输位置坐标给行车的plc控制器。
5.为实现上述目的,本发明采用的技术方案如下:一种基于类平面多高度层轮廓识别及坐标计算方法,包括:步骤(1),采用三维激光雷达扫描系统扫描目标区域,采集到的点云数据存储到原始数据表;步骤(2),将原始数据表转换到行列映射的高度表中;步骤(3),在高度表中查找各点邻域半径内高度值近似相等的近邻点数,设参数阈值过滤掉离群点;步骤(4),在高度表中按行查找高度连续相等和近似相等的段,找到各行高度段的首、尾边界点和点数存储;在高度表中按列查找高度连续相等和近似相等的段,找到各列高度段的首、尾边界点及点数存储;步骤(5),把行或列查找的各高度段按高度相等或近似相等的原则进行均值合并且从小到大排序存储;
步骤(6),依据排序过的高度把各高度层在高度表中连续区域内的首、尾行边界,首、尾列边界及层区域行数、列数和点数查找出来存储;步骤(7),根据高度层区域最小行数、最小列数、最小点数作为条件阈值过滤掉不符合要求的高度层,保留兴趣层;整理兴趣层轮廓边界点,并对兴趣层轮廓进行平滑处理;步骤(8),把经平滑处理兴趣层轮廓呈矩形类平面的四个有效顶点在高度表中的行列坐标系中查找出来,根据行列坐标对应原始数据表中的点进行xyz坐标系投影计算,得到这四个点的三维坐标值;步骤(9),根据兴趣高度层四个顶点的xyz坐标和计算出正、斜放识别体的长宽高及上表面的中点坐标及放置角度θ;步骤(10),在兴趣高度层轮廓区域内,等间距选取n行或列查找出有效边界点,确定该点在高度表中的行列坐标,映射到原始数据表中对应的点进行xyz坐标投影计算,求这n行或列边界点xyz坐标的平均值,算出该高度层边界的中点坐标值,之后进行输出。
6.进一步,优选的是,步骤(1)中,三维激光雷达扫描系统包括云台和安装在云台上的二维激光扫描仪;云台安装在行车上;每个云台旋转角度分辨率采集一组激光扫描仪的点云数据,作为表的一行存储;即表中的行表征云台旋转角度系数维度,表中的列表征激光扫描角度系数维度,表中的数值表征激光点射程距离维度。
7.进一步,优选的是,步骤(2)中,将原始数据表中的每个点做xyz坐标系投影计算,然后对原始数值、云台旋转角度α、激光扫描角度β、x、y、z轴坐标值进行阈值滤波,过滤掉不匹配的点,把留下的点z值存储到高度表行列映射位置上,进一步,优选的是,步骤(3)中,按行或列遍历高度表过滤掉行或列中高度渐变或跳变的点,保留连续相等及高度误差系数内的近似相等的点;再在高度表中查找各点邻域半径内高度值近似相等的近邻点数,设参数阈值过滤掉离群点。
8.进一步,优选的是,步骤(4)中,行高度段中最小连续点数和最大不连续点数作为条件阈值进行滤波;列高度段中最小连续点数和最大不连续点数作为条件阈值进行滤波。
9.进一步,优选的是,步骤(9)中,识别物为型材或棒材捆,计算时按照长方体来进行计算。
10.本发明同时提供一种基于类平面多高度层轮廓识别及坐标计算系统,包括安装在行车上的三维激光雷达扫描系统、plc模块、控制模块、电源模块和远端人机界面;电源模块为控制模块供电;plc模块与远端人机界面进行通讯;plc模块还用于控制控制模块的工作;控制模块用于控制三维激光雷达扫描系统的工作;三维激光雷达扫描系统将采集到的数据传输至控制模块中;控制模块包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述基于类平面多高度层轮廓识别及坐标计算方法的步骤。
11.由于打包区的型材捆与地面、堆垛都需要知道每个层的高度和层轮廓,继而确定出型材捆的中点位置,以及堆垛兴趣层的中点边界位置。这就要求计算出型材捆与地面的高度、堆垛各层高度,并把这些高度排序,再用排序后的高度去查找出各层轮廓,并过滤掉不需要的高度层,保留兴趣层并分析层轮廓区域特征,从而确定型材捆位置和堆垛堆码位
置。
12.本发明中三维激光雷达扫描系统自带电源供市电220v即可,plc模块行车自配已带电源。
13.步骤(9)输出兴趣高度层中点或层长(或短/首/尾)边界轮廓线中点与参考点(参考点为装小车上的三维激光雷达扫描系统,无人驾驶行车吊具中点相对参考点加大车x、小车y、起升高度z的距离偏差系数)相对坐标距离x、y、z(毫米)/或无人驾驶行车停车扫描点x、y、z绝对坐标位置,兴趣高度层长边界与二维激光雷达扫描方向间的夹角θ(吊具旋转角度,单位0.01
°
),坐标数据有效标志位(0/1),层中点标志位(0/1),层边界中点标志位(0/1),停车扫描点坐标标志位(0/1)等。plc根据输出的大车x、小车y、起升高度z坐标(x、y与大、小车对应关系根据三维激光雷达扫描系统安装方向来确定)、吊具旋转θ角度和相应标志位控制行车的大车、小车、起升机构和吊具旋转机构移动相应距离或旋转相应角度。
14.本发明已在无人驾驶行车实验室进行实验验证阶段,目前只需人工上电后在人机界面点击【自动运行】按钮,型材或棒材无人驾驶行车自动去扫描型材或棒材堆垛当前状态和记录下捆堆放位置,然后到打包一区或二区(或更多,需人工或机器人打标后选择打包区编号)扫描型材捆或棒材捆位置,行车移动到型材捆或棒材捆位置上电磁铁吸合,并吊运到堆垛上次记录位置对应的扫描点停车再次扫描确认后移动到堆放位置堆放;然后再回到已选打包区扫描吊取型材或棒材到堆垛堆放,如此循环往复。在人界上点击【自动运行停止】按钮则停止运行。
15.本发明与现有技术相比,其有益效果为:本发明提供基于类平面多高度层轮廓识别及坐标计算方法及系统,有效解决了型材或棒材码堆无人驾驶行车对吊取物和堆垛的识别和定位问题,采用的设备成本低,系统结构新颖,实用,通过实践验证,证实本发明方法及系统运行简单,可以实现无人自动化,使用方便,且准确率极高,易于推广应用。
附图说明
16.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
17.图1为本发明基于类平面多高度层轮廓识别及坐标计算方法的流程图。
18.图2为本发明基于类平面多高度层轮廓识别及坐标计算系统的结构示意图。
19.图3为本发明系统中arm芯片与网卡电路原理图。
具体实施方式
20.下面结合实施例对本发明作进一步的详细描述。
21.本领域技术人员将会理解,下列实施例仅用于说明本发明,而不应视为限定本发明的范围。实施例中未注明具体技术或条件者,按照本领域内的文献所描述的技术或条件或者按照产品说明书进行。所用材料或设备未注明生产厂商者,均为可以通过购买获得的常规产品。
22.本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本发明的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。应该理解,当我们称元件被“连接”到另一元件时,它可以直接连接到其他元件,或者也可以存在中间元件。此外,这里使用的“连接”可以包括无线连接。这里使用的措辞“和/或”包括一个或更多个相关联的列出项的任一单元和全部组合。
23.在本发明的描述中,除非另有说明,“多个”的含义是两个或两个以上。术语“内”、“上”、“下”等指示的方位或状态关系为基于附图所示的方位或状态关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。
24.在本发明的描述中,需要说明的是,除非另有明确的规定和限定,术语“安装”、“连接”、“设有”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连。对于本领域的普通技术人员而言,根据具体情况理解上述术语在本发明中的具体含义。
25.本技术领域技术人员可以理解,除非另外定义,这里使用的所有术语(包括技术术语和科学术语)具有与本发明所属领域中的普通技术人员的一般理解相同的意义。还应该理解的是,诸如通用字典中定义的那些术语应该被理解为具有与现有技术的上下文中的意义一致的意义,并且除非像这里一样定义,不会用理想化或过于正式的含义来解释。
26.一种基于类平面多高度层轮廓识别及坐标计算方法,包括:步骤(1),采用三维激光雷达扫描系统扫描目标区域,采集到的点云数据存储到原始数据表;步骤(2),将原始数据表转换到行列映射的高度表中;步骤(3),在高度表中查找各点邻域半径内高度值近似相等的近邻点数,设参数阈值过滤掉离群点;步骤(4),在高度表中按行查找高度连续相等和近似相等的段,找到各行高度段的首、尾边界点和点数存储;在高度表中按列查找高度连续相等和近似相等的段,找到各列高度段的首、尾边界点及点数存储;步骤(5),把行或列查找的各高度段按高度相等或近似相等的原则进行均值合并且从小到大排序存储;步骤(6),依据排序过的高度把各高度层在高度表中连续区域内的首、尾行边界,首、尾列边界及层区域行数、列数和点数查找出来存储;步骤(7),根据高度层区域最小行数、最小列数、最小点数作为条件阈值过滤掉不符合要求的高度层,保留兴趣层;整理兴趣层轮廓边界点,并对兴趣层轮廓进行平滑处理;步骤(8),把经平滑处理兴趣层轮廓呈矩形类平面的四个有效顶点在高度表中的行列坐标系中查找出来,根据行列坐标对应原始数据表中的点进行xyz坐标系投影计算,得到这四个点的三维坐标值;步骤(9),根据兴趣高度层四个顶点的xyz坐标和计算出正、斜放识别体的长宽高及上表面的中点坐标及放置角度θ;
步骤(10),在兴趣高度层轮廓区域内,等间距选取n行或列查找出有效边界点,确定该点在高度表中的行列坐标,映射到原始数据表中对应的点进行xyz坐标投影计算,求这n行或列边界点xyz坐标的平均值,算出该高度层边界的中点坐标值,之后进行输出。
27.优选,步骤(1)中,三维激光雷达扫描系统包括云台和安装在云台上的二维激光扫描仪;云台安装在行车上;每个云台旋转角度分辨率采集一组激光扫描仪的点云数据,作为表的一行存储;即表中的行表征云台旋转角度系数维度,表中的列表征激光扫描角度系数维度,表中的数值表征激光点射程距离维度。
28.优选,步骤(2)中,将原始数据表中的每个点做xyz坐标系投影计算,然后对原始数值、云台旋转角度α、激光扫描角度β、x、y、z轴坐标值进行阈值滤波,过滤掉不匹配的点,把留下的点z值存储到高度表行列映射位置上,优选,步骤(3)中,按行或列遍历高度表过滤掉行或列中高度渐变或跳变的点,保留连续相等及高度误差系数内的近似相等的点;再在高度表中查找各点邻域半径内高度值近似相等的近邻点数,设参数阈值过滤掉离群点。
29.优选,步骤(4)中,行高度段中最小连续点数和最大不连续点数作为条件阈值进行滤波;列高度段中最小连续点数和最大不连续点数作为条件阈值进行滤波。
30.优选,步骤(9)中,识别物为型材或棒材捆,计算时按照长方体来进行计算。
31.本发明同时提供一种基于类平面多高度层轮廓识别及坐标计算系统,包括安装在行车上的三维激光雷达扫描系统、plc模块、控制模块、电源模块和远端人机界面;电源模块为控制模块供电;plc模块与远端人机界面进行通讯;plc模块还用于控制控制模块的工作;控制模块用于控制三维激光雷达扫描系统的工作;三维激光雷达扫描系统将采集到的数据传输至控制模块中;控制模块包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述基于类平面多高度层轮廓识别及坐标计算方法的步骤。
32.在行车上安装三维激光雷达扫描系统、plc模块、控制模块及其电源模块,通过无线网络模块和交换机进行网络连接,并建立与远端人机界面(pc机)的通讯。本发明一种基于类平面多高度层轮廓识别及坐标计算方法是通过控制模块及其固件程序实现的,功能如下:控制模块控制三维激光雷达扫描系统扫描目标区域,采集点云数据采样存储到原始数据表:每个云台旋转角度分辨率采集一组激光扫描仪的点云数据,作为表的一行存储;即表中的行表征云台旋转角度系数维度,表中的列表征激光扫描角度系数维度,表中的数值表征激光点射程距离维度。
33.控制模块开辟一块内存存储高度表,使高度表与原始数据表一一映射,原始数据表中的每个点做xyz坐标系投影计算,通过原始数值d、云台旋转角度α、激光扫描角度β、x、y、z轴坐标值进行阈值滤波,过滤掉不匹配的点(各个阈值优选:5000<d<60000mm,60<α<160
°
,30<β<150
°
,0<x<17000mm,0<y<12000mm,6000<z<12000mm);把留下的点z值(即高度——激光雷达作为xyz坐标系原点,也可以根据需要选x或y值)存储到高度表行列映射位置上(行列坐标系)。然后按行(或列)遍历高度表过滤掉行(或列)中高度渐变或跳变的点,
保留连续相等(高度误差系数内的近似相等)的点(优选:高度误差系数根据识别物表面平整度和高度等因素调适,如型材优选60~80mm,棒材80~90mm)。再在高度表中查找各点邻域半径内高度值近似相等的近邻点数,设参数阈值过滤掉离群点。(优选:根据实测匹配,如邻域半径r=6,近邻点数阈值优选10~15)行查找函数的功能是在高度表中按行查找高度连续相等(近似相等)的段,找到各行高度段的首、尾边界点和点数存储。函数参数行高度段中最小连续点数和最大不连续点数作为条件阈值进行滤波。
34.最小连续点数——如行查找时行中连续高度相等的点不能小于多少个(即最小连续点数),小于该高度段无效丢弃,大于存储该高度段的首尾边界及点数。最大不连续点数——点云数据由于激光点回波受钢丝绳等物遮挡或干扰存在丢点情况,如行查找时行连续高度相等的点数大于最小连续点数,但该行正在查询的高度段突然缺点(值为0),若缺的点数(即不连续点数)少(实际为同一识别物在该行上局部被遮挡),则认为是同一高度段,忽略缺的点(不计入高度段存储点数),继续查询该高度段的尾边界点,若不连续点数大于一定值,则判定该高度段结束,则这个不连续点数的一定值就是最大不连续点数。
35.滤波就是用最小连续点数作为阈值过滤掉行中高度连续相等点数少的高度段,小于最大不连续点数忽略认为同一高度段,大于最大不连续点数则该高度段结束。
36.列查找函数的功能是在高度表中按列查找高度连续相等(近似相等)的段,找到各列高度段的首、尾边界点及点数存储。函数参数列高度段中最小连续点数和最大不连续点数作为条件阈值进行滤波。
37.高度合并排序函数的功能是把行或列查找的各高度段按高度相等(高度误差系数内的近似相等)的原则进行均值合并且从小到大排序存储。(优选:高度误差系数根据识别物表面平整度和高度等因素调适,如型材优选60~80mm,棒材80~90mm,盘卷250~350mm)均值合并:新合并高度段的高度和已存储在排序数组里的高度进行比较,若二者高度相等(在高度误差系数内),则把二者高度相加除2求平均值存储到排序数组原位(即均值合并);若二者高度不相近,则把要合并高度段的高度新加入到排序数组里。
38.高度层区域特征查找函数的功能是依据排序过的高度把各高度层在高度表中连续区域内的首、尾行边界,首、尾列边界及层区域行数、列数和点数查找出来存储(点数指高度层区域内所有与层高度相等的点数统计)。根据高度层区域最小行数、最小列数、最小点数作为条件阈值过滤掉不符合要求的高度层,保留兴趣层。整理兴趣层轮廓边界点,依据前后几行(或列)的首、尾边界点来均值行(或列)边界点[举例:如行查找的高度层区域在20~40行,300~600列(300即所有行首边界点平均值,600即所有行尾边界点的平均值)。首边界点23行为280,而20、21和22行分别为298,299和301,而24、25和26分别为302、298和300,则23行首边界点280与前后相邻行相差太多,改取首边界点平均值300,且须判断高度表23行300列的值与层高度相等,即该点要存在不能缺点,若不存在须另选点。尾边界点轮廓线平滑方法雷同],平滑处理层轮廓,使层轮廓呈规则形状。
[0039]
高度层顶点查找函数的功能是把兴趣层轮廓呈矩形类平面(高度误差系数内的近似高度相等切平面,表面可能不光滑平整或呈波浪形)的四个有效顶点在高度表中的行列坐标系中查找出来(查找方法:层区域内查找区域第一点和最后点及所有行列最小最大值点,再加点邻域点邻域半径内点数阈值筛选,邻域半径r=6,四个顶点近邻点数阈值优选25~
90),根据行列坐标对应原始数据表中的点进行xyz坐标系投影计算,得到该点的三维坐标值。
[0040]
识别物(型材或棒材捆)长宽高及中点坐标计算函数,根据兴趣高度层四个顶点的xyz坐标和勾股定理可计算出正、斜放识别体(长方体)的长宽高及上表面的中点坐标。
[0041]
兴趣高度层(堆垛层)边界中点坐标计算函数,在高度层轮廓区域内,等间距选取n行或列查找出有效边界点,确定该点在高度表中的行列坐标,映射到原始数据表中对应的点进行xyz坐标投影计算,求n行或列边界点xyz坐标的平均值可算出该高度层边界的中点坐标值。该函数方法也可以计算识别物长宽高及中点坐标位置,具体为:在兴趣高度层(识别物上表面)轮廓区域内,等间距选取n行,行查找得到行的有效首尾边界点在高度表中的行列坐标,映射到原始数据表中对应的点进行xyz坐标投影计算,每行首、尾边界点的y坐标值相减计算高度层长度,相加除2计算层中点的y坐标,再求n行平均值作为高度层长度值和层中点y坐标值。等间距选取n列进行列查找,得到列有效的首尾边界点在高度表中的行列坐标,映射到原始数据表中对应的点进行xyz坐标投影计算,每列首、尾边界点x坐标值相减计算高度层宽度,相加除2计算中点x坐标,再求n行平均值作为高度层宽度值和层中点x坐标值。层中点z坐标值即兴趣高度层的高度值(相对于参考点),用地面高度或下一层高度减兴趣层高度得到实际的识别物物理高度。
[0042]
云台旋转方向和激光雷达扫描方向水平校正功能,通过云台旋转校正系数可修正云台旋转方向与地平面的水平偏差,激光雷达扫描校正系数可校正激光扫描方向与地平面的水平偏差。(注:云台旋转校正系数在所有涉及云台旋转角度计算时加入,激光雷达扫描校正系数在所有涉及激光雷达扫描角度计算时加入。主要在xyz坐标投影计算中调用,在步骤(2)、步骤(8)和步骤(10)中使用)综上所述,控制模块基于上述硬件电路及固件程序采集三维激光雷达扫描系统的点云数据存储到原始数据表中,然后转换成行列映射的高度表,在高度表中行(或列)查找,把找到的高度进行合并排序,依据排序后的高度进行层轮廓识别和层区域特征分析,获得兴趣层顶点、中点或层边界中点在高度表中的行列坐标,以该坐标映射原始数据表的点进行xyz坐标投影计算,最终得到兴趣层中点和层边界中点的坐标;通过网络把这些位置坐标传送给其他模块。该方案基于类平面多高度层轮廓识别及坐标计算的方法,解决了型材或棒材捆及其堆垛的位置坐标计算问题。
[0043]
优选,高度合并排序处理和打包区型材捆或棒材捆扫描类矩形告诉层区域四个顶点法计算层长度及中点y坐标多选用行查找(对应二维激光雷达扫描方向,精度高0.1667
°
)。计算型材捆或棒材捆宽度及中点x坐标和堆垛层边界轮廓线中点因二维激光雷达扫描方向渐变不明显故采用列查找(对应云台旋转角度,精度0.2
°
,实际需要根据三维激光雷达扫描系统安装方向于行车大、小车对应情况来旋转)。
[0044]
本发明控制模块的硬件电路采用高性能arm单片机作为运算、控制、存储的核心单元,通过arm芯片的串行外设接口(spi)连接百兆网卡与其他模块进行网络通信,包括与三维激光雷达扫描系统、plc模块和远端人机界面(pc机或触摸屏)等设备的网络连接。电源模块给硬件电路供电,其输入端连接市电ac220v,输出端dc24v连接硬件电路。
[0045]
所述三维激光雷达扫描系统包括云台和二维激光雷达扫描仪,其中云台用于搭载二维激光雷达扫描仪并旋转构成三维扫描区域,通过控制模块网络指令控制云台启停或循
环运行,并通过旋转起始角锁定扫描区域。三维激光雷达扫描系统旋转扫描时,控制模块采集扫描区域的点云数据存储。
[0046]
arm芯片固件程序嵌入开源uip tcp/ip协议栈以实现icmp、ip、tcp、udp协议的功能,编写底层驱动程序实现网卡驱动及数据链路层链接。固件程序通过网络指令实现对三维激光雷达扫描系统的扫描控制,采集激光雷达的点云数据采样存储,实现类平面多高度层轮廓的识别及坐标计算,并网络输出位置坐标给其他模块。arm芯片与网卡电路原理图如图3所示。
[0047]
以上显示和描述了本发明的基本原理、主要特征和本发明的优点。本行业的技术人员应该了解,本发明不受上述实施例的限制,上述实施例和说明书中描述的只是说明本发明的原理,在不脱离本发明精神和范围的前提下,本发明还会有各种变化和改进,这些变化和改进都落入要求保护的本发明范围内。本发明要求保护范围由所附的权利要求书及其等效物界定。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献