CN113340287B - 一种装船机船舱舱口识别方法 - Google Patents
一种装船机船舱舱口识别方法 Download PDFInfo
- Publication number
- CN113340287B CN113340287B CN202110890634.9A CN202110890634A CN113340287B CN 113340287 B CN113340287 B CN 113340287B CN 202110890634 A CN202110890634 A CN 202110890634A CN 113340287 B CN113340287 B CN 113340287B
- Authority
- CN
- China
- Prior art keywords
- coordinate system
- laser scanner
- calculating
- point cloud
- matrix
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C15/00—Surveying instruments or accessories not provided for in groups G01C1/00 - G01C13/00
- G01C15/002—Active optical surveying means
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B65—CONVEYING; PACKING; STORING; HANDLING THIN OR FILAMENTARY MATERIAL
- B65G—TRANSPORT OR STORAGE DEVICES, e.g. CONVEYORS FOR LOADING OR TIPPING, SHOP CONVEYOR SYSTEMS OR PNEUMATIC TUBE CONVEYORS
- B65G67/00—Loading or unloading vehicles
- B65G67/60—Loading or unloading ships
- B65G67/606—Loading or unloading ships using devices specially adapted for bulk material
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B65—CONVEYING; PACKING; STORING; HANDLING THIN OR FILAMENTARY MATERIAL
- B65G—TRANSPORT OR STORAGE DEVICES, e.g. CONVEYORS FOR LOADING OR TIPPING, SHOP CONVEYOR SYSTEMS OR PNEUMATIC TUBE CONVEYORS
- B65G69/00—Auxiliary measures taken, or devices used, in connection with loading or unloading
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01B—MEASURING LENGTH, THICKNESS OR SIMILAR LINEAR DIMENSIONS; MEASURING ANGLES; MEASURING AREAS; MEASURING IRREGULARITIES OF SURFACES OR CONTOURS
- G01B11/00—Measuring arrangements characterised by the use of optical techniques
- G01B11/22—Measuring arrangements characterised by the use of optical techniques for measuring depth
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C9/00—Measuring inclination, e.g. by clinometers, by levels
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Radar, Positioning & Navigation (AREA)
- Remote Sensing (AREA)
- Mechanical Engineering (AREA)
- Ocean & Marine Engineering (AREA)
- Aviation & Aerospace Engineering (AREA)
- Length Measuring Devices By Optical Means (AREA)
Abstract
本发明公开了一种装船机船舱舱口识别方法,解决现有技术不能正确识别船体和煤的问题。方法包括获取两台激光扫描仪点云,计算出坐标系间的转换矩阵,以激光扫描仪获取的每一条扫描线为基本单位进行滑窗检测提取出边界点,对边界点进行聚类选出最终边界点云集合,将最终边界点云集合转换到轨道坐标下,对最终边界点云集合拟合出轮廓线,计算船舱深度及船舱倾斜度。本发明采用点云数据的坐标数据对点云进行坐标转换、剔除和轮廓线提取,消除了因点云反射率强度相近而无法区分船体和煤的情况。利用滑窗检测法,提高了确定舱口边界点的精度。利用舱口识别处理结果,可计算船舱的深度、船舱的倾斜度,为装船过程控制软件提供实时监测数据。
Description
技术领域
本发明涉及位置识别技术领域,尤其是涉及一种装船机船舱舱口识别方法。
背景技术
全球贸易一体化的发展促进了全球范围内对煤炭运输的需求。从大类商品来看,铁矿石、煤炭、粮食等散货的海运量上升呈快速增长的态势。伴随这一发展的是远洋散货运输船舶的不断更新,以及能够停靠和接卸这些大型船舶的超级大港使用的散货装卸船设备的更新。散货装卸自动化是必然的发展趋势。
目前,散货装船系统自动化程度较低,装船作业均采用人工操作方式,装船作业的范围以及装船机各个机构运动均由司机通过操作台控制。通常在装船作业时,需在船上设置一名观测人员,与司机通话交流,配合实现装船作业。
随着自动控制、测绘、检测技术的进步,国内已经开展装船机全自动控制的研究。实现装船机全自动控制,其中的一个关键技术是在溜筒初次进入船舱以及在移舱过程中对船舱的识别,包括船舱舱口识别、船舱宽度、深度、倾斜角度的测绘和分析。测绘和分析结果可用于装船机机构的作业过程控制,并避免溜筒与舱口、舱壁发生碰撞事故。
现有的船舱舱口识别方法中,有公开号为CN112529958的专利,对获取的船舱、舱内煤等物体的激光雷达数据进行聚类、筛选,以及利用图像处理方法,对轮廓点云和边的提取、并转换到三维坐标下,形成舱口四壁平面,达到舱口识别的目的。该方法采用点云反射率强度作为船体与煤的筛选标准,在现场运行时可能会发生无法识别船体和煤界限的情况,一种情况是部分煤种和部分/或全部船体的激光发射率强度相近而无法区分船体和煤;二种情况是部分较小吨位船舶的船舱之间采用较低的格挡,格挡上容易积煤,积煤的存在将导致该格挡被错判为船舱中的煤,因而不能正确地识别出这类船舱结构的舱口;此外,图像处理方法得到的轮廓边界,存在误差较大的结果。
发明内容
本发明主要是解决现有技术不能正确识别船体和煤的问题,提供了一种装船机船舱舱口识别方法。
本发明的上述技术问题主要是通过下述技术方案得以解决的:一种装船机船舱舱口识别方法,装船机包括沿轨道移动的大车、转动设置在大车上的悬臂,设置在悬臂前端的溜筒平台,在溜筒平台两侧分别安装有激光扫描仪,其特征在于:包括以下步骤:
S1.开启工作,两台激光扫描仪各自获取点云;
S2.根据激光扫描仪、轨道工况分别建立激光扫描仪极坐标系、激光扫描仪直角坐标系、轨道坐标系,计算坐标系之间转换矩阵;其中激光扫描仪直角坐标系以扫描仪光点为原点,激光扫描仪旋转0°位置方向向量投影到水平面为x轴,z轴与重力方向相反,y轴方向由右手定则决定,xoy为水平面;
S3.将点云数据进行预处理,根据转换矩阵将点云数据转换成激光扫描仪直角坐标系和轨道坐标系下的坐标;
S4.以激光扫描仪获取的在激光扫描仪直角坐标系内的每一条扫描线为基本单位进行滑窗检测,提取出边界点;
S41.设定滑窗长度为L个点,步长为S个点,点云数据每个点为Pij=(x,0,z),(i<=n,j<=m),n为具有n条扫描线,m为每条扫描线上具有m个点;其中长度L、步长S都是表示点数量,一个步长S为一个点或是多个点,滑窗以覆盖L个点为一个滑窗,滑窗形状不是固定矩形,而是随所覆盖的点构成的形状。
S42.获取滑窗内的点,编号为W0、W1、……、WL-1,设定比较间隔k;比较间隔k是表示点数量,即k个点,设置比较间隔k是为了减小误差,k根据激光扫描仪本身的精度与滑窗长度进行设定,比较的两点间间隔距离需要大于激光扫描仪本身误差。
S43.进行竖直面判断,选取Wk及之后选取p个点,Wk、Wk+1、……、Wk+p,分别判断这些点与W0连线和x轴的角度是否都大于设定阈值α0,若是认为W0位于某个竖直面上;其中阈值α0根据现场船舱的三维结构和激光扫描仪的测量精度设置,α0设置区间在75°-80°之间,具体值根据实际情况进行选取。
S44.若W0位于某个竖直面上,进行水平面判断,选取Wk+p+1、……、WL-1,分别判断这些点与W0连线和x轴的角度是否都小于设定阈值β0,若是认为W0位于某个水平面上,当W0既位于竖直面又位于水平面认为该点为舱口边界点,保存该点;其中阈值β0根据现场船舱的三维结构和激光扫描仪的测量精度设置,β0设置区间在5°-10°之间,具体值根据实际情况进行选取。
S45.将滑窗前进一个步长S再进行步骤S42-S44,直到滑窗滑动到一条扫描线尾部,获得一系列边界点云集合GB;
S5.对边界点云集合GB根据高程进行聚类,筛选出最终边界点云集合;
S6.将最终边界点云集合根据转换矩阵转换到轨道坐标系下;
S7.采用Ransac算法对轨道坐标下最终边界点云集合进行直线拟合,获取4条轮廓线LLeft、LRight、LFront、LBack;根据船舶实际姿态位置对轮廓线进行识别,将四条轮廓线分为LLeft、LRight、LFront、LBack,标志四条轮廓线在码头中的实际位置。
S8.通过任意相交两条轮廓线的单位方向向量及长度,计算船舱深度和船舱倾斜度。
本发明采用点云数据的坐标数据对点云进行坐标转换、剔除和轮廓线提取,消除了因点云反射率强度相近而无法区分船体和煤的情况。利用坐标数据和滑窗检测阀,提高了确定舱口边界点的精度。利用舱口识别处理结果,可计算船舱的深度、船舱的倾斜度,为装船过程控制软件提供实时监测数据。
作为一种优选方案,步骤S43中竖直面判断具体过程为:
选取Wk及之后选取p个点,Wk、Wk+1、……、Wk+p;p为常数;
其中W0=(x0,0,z0)、Wk=(xk,0,zk)、Wk+1=(xk+1,0,zk+1)、……、Wk+p=(xk+p,0,zk+p);
将W0作为待定点,循环计算W0与Wk、Wk+1、……、Wk+p连线和x轴的斜率tanαt1,t1=0,1……p,根据斜率计算出W0与Wk、Wk+1、……、Wk+p连线和x轴的角度αt1,t1=0,1……p;
判断αt1,t1=0,1……p是否都大于设定阈值α0,若是认为W0位于某个竖直面上。
作为一种优选方案,步骤S44中水平面判断具体过程为:
选取剩余的点Wk+p+1、……、WL-1;
其中W0=(x0,0,z0)、Wk+p+1=(xk+p+1,0,zk+p+1)、……、WL-1=(xL-1,0,zL-1);
将W0作为待定点,循环计算W0与Wk+p+1、……、WL-1连线和x轴的斜率tanβt2,t2=p+1,p+2……L-1,根据斜率计算出W0与Wk+p+1、……、WL-1连线和x轴的角度;βt表示W0分别与Wk+p+1、……、WL-1连线和X轴的角度βt2,t2=p+1,p+2……L-1。
判断βt2,t2=p+1,p+2……L-1是否都小于设定阈值β0,若是认为W0位于某个水平面上。
作为一种优选方案,步骤S2中具体过程包括:
建立坐标系
(1)轨道坐标系
轨道位于码头上,以轨道一侧终点O为原点建立轨道坐标系;码头包括码头面,码头面为矩形位于轨道坐标系内;
(2)激光扫描仪极坐标系
激光扫描仪得到点云数据为极坐标系数据(d,α),d为离扫描中心的距离,α为激光束初始发射位置与当前发射激光束位置夹角;
(3)激光扫描仪直角坐标系
以扫描仪光点为原点,激光扫描仪旋转0°位置方向向量投影到水平面为x轴,z轴与重力方向相反,y轴方向由右手定则决定,xoy为水平面,建立激光扫描仪直角坐标系;
计算转换矩阵
1)激光扫描仪极坐标至激光扫描仪直角坐标系的转换公式
PSC2n=(dcosα,0,-dsinα,1)
其中PSC2n表示激光扫描仪的三维坐标投影于xoz平面的二维坐标;
2)激光扫描仪直角坐标系至轨道坐标系的转换矩阵
计算激光扫描仪坐标原点位置,通过安装位置、实时大车位置d1、实时回转角度γ1、实时俯仰角度γ2、实时悬臂伸缩量L1;设d1、γ1、γ2、L1均为0时为装船机初始位置;
通过测量获得装船机初始位置,设定激光扫描仪相对于溜筒平台中心的变换矩阵M1;由于在装船机运动过程中激光扫描仪与溜筒平台中心的空间位置恒定,因此该变换矩阵为一个常量不会改变,设置该变换矩阵为M1。
实时计算溜筒平台中心坐标,通过测量获得装船机初始位置相对于装船机回转中心距离d2;
a.计算溜筒平台中心相对与装船机回转中心平移矩阵
b.计算装船机初始位置加上悬臂伸缩量后的激光扫描仪坐标原点相对于装船机回转中心的平移矩阵M22=M21M1;
c.根据当前俯仰角度、回转角度计算悬臂旋转矩阵,
俯仰转换矩阵为
回转转换矩阵为
则悬臂旋转矩阵为
M25=M23M24;
d.计算激光扫描仪自身旋转矩阵
将激光扫描仪扫描平面与水平面的夹角分解为三个分量角度ζ1、ζ2、ζ3,设扫描平面法向量在xoz、yoz平面投影分别为Sxoz、Syoz,则ζ1为Sxoz与扫描仪直角坐标系z轴方向单位向量夹角,ζ2为Syoz与扫描仪直角坐标系z轴方向单位向量夹角,ζ3为装船机初始位置时,扫描仪直角坐标系x轴方向单位向量与轨道坐标系x轴方向单位向量夹角;通过激光扫描仪内置倾角仪可以实时获取两个夹角ζ1、ζ2。ζ3为规定值,通过测量得到。回转平面为激光扫描仪过光心且与回转轴垂直的平面。
计算激光扫描仪直角坐标系y轴修正矩阵,ζ1对应的旋转矩阵
计算激光扫描仪直角坐标系x轴修正矩阵,ζ2对应的旋转矩阵
计算激光扫描仪直角坐标系z轴修正矩阵
由于最终目的是将在扫描仪直角坐标系中的点云坐标转换到轨道坐标系中,因此需要保证扫描仪直角坐标系的三轴与轨道坐标系的三轴方向相同,由于装船机在悬臂回转的过程中会造成扫描仪自身坐标系x、y轴方向也跟随回转发生变化因此需要对其进行修正。
激光扫描仪自身旋转矩阵为M29=M26M27 M28;
e.实时计算激光扫描仪直角坐标系原点至装船机回转中心的实时变换矩阵M2,M2=M29M22 M25;
f.计算激光扫描仪直角坐标系原点相对于轨道坐标系变换矩阵M3
计算装船机回转中心相对于轨道坐标系原点的平移矩阵
M3=M2M31。
作为一种优选方案,步骤S3具体过程包括:
S31.对点云数据进行预处理,将d距离大于阈值d0的点去除;其中d0根据激光扫描仪光心与船舱底部、船舱四周的最大距离设置。
S32.获取PSC2n=(dcosα,0,-dsinα,1);
S33.设MLn为每一条扫描线对应的旋转角度ηn的旋转矩阵,
扫描线旋转角度ηn时,点云在激光扫描仪直角坐标系下三维坐标为
PSC3n= PSC2nMLn=(x n’,yn,z n’,1),
由于激光扫描仪的量程原因,扫描点云数据中会存在码头面的数据,而在建立的轨道坐标系中码头面的三维坐标是固定,因此,直接将点云坐标线进行一次转换;
将三维坐标转换到轨道坐标系下
PTCn= PSC3n M3;
取码头面4顶点坐标A、B、C、D,将所有属于该矩形码头面内的坐标PTCn对应的点云剔除。
作为一种优选方案,步骤S5具体过程包括:
对边界点云集合GB根据高程进行聚类,得到多个待定类的点云集合,分别去求每个点集的最小包围盒,验证最小包围盒长宽高L、W、H,L∈[Lmin,Lmax],W∈[Wmin,Wmax],H∈[Hmin,Hmax],剔除异常的类,最终取包含点数最多的类作为最终边界点云集合。
作为一种优选方案,步骤S6具体过程包括:
将最终边界点云集合根据转换矩阵转换到轨道坐标系下,
Pij M2= P’ij=(x’,y’,z’,1),(i<=n,j<=m)
GBG={ P’ij | (i<=n,j<=m )},GBG为轨道坐标系下最终边界点云集合。
作为一种优选方案,步骤S8具体过程包括:
计算船舱深度
在计算矩阵M2的过程中,获取溜筒平台实时坐标PB=(xb、yb、zb),通过测量获得溜筒半径为r,设定一个以溜筒为中心的领域,提取出内环和外环的点云,将提取出的点云通过基于密度的DBScan算法聚类,去除点云数量小于一定阈值N的类,选取所含最多点云的类,设该类中点云数量为Q1,设该类中每点对应的高程为PiZ,即为其在轨道坐标系下的z坐标值,计算平均高程,
设边界点数量为Q2,设边界点每点高程为PBiZ,即其在轨道坐标系下的z坐标值,计算边界的平均高程
船舱深度Deep=BAave-PAave;
计算船舱倾斜度
Norm=Dir1×Dir2
其中Dir1、Dir2为任意相交两条轮廓线单位方向向量,×为叉乘符号;
设x、y方向单位向量为X=(1,0,0),Y=(0,1,0);
计算船舱纵向倾角、船舱横向倾角
船舱纵向倾角,即xoz平面夹角Angle1=arCos(Norm•Y/| Norm |),
Norm•Y为向量Norm与单位向量Y的点积,
船舱横向倾角,即yoz平面夹角Angle2=arCos(Norm•X/| Norm |),
Norm•X为向量Norm与单位向量X的点积。
作为一种优选方案,当滑窗进行到每一根扫描线的尾部时,若出现剩余点云小于滑窗长度L时,将滑窗中第一个点往扫描线头部方向移动,直到剩余点云满足滑窗长度为止,对剩余点云进行滑窗检测。
因此,本发明的优点是:
1.采用点云数据的坐标数据对点云进行坐标转换、剔除和轮廓线提取,消除了因点云反射率强度相近而无法区分船体和煤的情况。
2.利用坐标数据和滑窗检测法,提高了确定舱口边界点的精度。
3. 利用舱口识别处理结果,可计算船舱的深度、船舱的倾斜度,为装船过程控制软件提供实时监测数据。
附图说明
图1是本发明中激光扫描仪直角坐标系的一种示意图;
图2是本发明中滑窗检测的一种示意图;
图3是本发明中边界点提取的一种示意图;
图4是本发明实施例中以溜筒为中心的领域的示意图。
具体实施方式
下面通过实施例,并结合附图,对本发明的技术方案作进一步具体的说明。
实施例:
本实施例一种装船机船舱舱口识别方法,其中装船机包括沿轨道移动的大车、转动设置在大车上的悬臂,设置在悬臂前端的溜筒平台,在溜筒平台两侧分别安装有激光扫描仪。两台激光扫描仪工作时船舱整体可全部扫描到,激光扫描仪云台安装倾角仪,实时监测激光扫描仪平台与水平面夹角。本方法采用了结合测绘定位,船舶数据库,以及内置水平倾角的激光扫描仪对船舶舱口进行识别。激光扫描仪的工作方式为在竖直平面一定角度内发射单数激光,获取该平面内点云数据,水平方向通过云台的方式将激光扫描仪旋转,最终获取到三维坐标数据。
方法包括以下步骤:
S1.开启工作,两台激光扫描仪各自获取点云;
S2.根据激光扫描仪、轨道工况分别建立激光扫描仪极坐标系、激光扫描仪直角坐标系、轨道坐标系,计算坐标系之间转换矩阵;
建立坐标系
(1)轨道坐标系
轨道位于码头上,以轨道一侧终点O为原点建立轨道坐标系;码头包括码头面,码头面为矩形位于轨道坐标系内;
(2)激光扫描仪极坐标系
激光扫描仪得到点云数据为极坐标系数据(d,α),d为离扫描中心的距离,α为激光束初始发射位置与当前发射激光束位置夹角;
(3)激光扫描仪直角坐标系
以扫描仪光点为原点,激光扫描仪旋转0°位置方向向量投影到水平面为x轴,z轴与重力方向相反,y轴方向由右手定则决定,xoy为水平面,建立激光扫描仪直角坐标系。
计算转换矩阵
1)激光扫描仪极坐标至激光扫描仪直角坐标系的转换公式
PSC2n=(dcosα,0,-dsinα,1)
其中PSC2n表示激光扫描仪的三维坐标投影于xoz平面的二维坐标;
2)激光扫描仪直角坐标系至轨道坐标系的转换矩阵
计算激光扫描仪坐标原点位置,通过安装位置、实时大车位置d1、实时回转角度γ1、实时俯仰角度γ2、实时悬臂伸缩量L1;设d1、γ1、γ2、L1均为0时为装船机初始位置;
通过测量获得装船机初始位置,设定激光扫描仪相对于溜筒平台中心的变换矩阵M1;由于在装船机运动过程中激光扫描仪与溜筒平台中心的空间位置恒定,因此该变换矩阵为一个常量不会改变,设置该变换矩阵为M1。
实时计算溜筒平台中心坐标,通过测量获得装船机初始位置相对于装船机回转中心距离d2;
a.计算溜筒平台中心相对与装船机回转中心平移矩阵
b.计算装船机初始位置加上悬臂伸缩量后的激光扫描仪坐标原点相对于装船机回转中心的平移矩阵M22=M21M1;
c.根据当前俯仰角度、回转角度计算悬臂旋转矩阵,
俯仰转换矩阵为
回转转换矩阵为
则悬臂旋转矩阵为
M25=M23M24;
d.计算激光扫描仪自身旋转矩阵
将激光扫描仪扫描平面与水平面的夹角分解为三个分量角度ζ1、ζ2、ζ3,设扫描平面法向量在xoz、yoz平面投影分别为Sxoz、Syoz,则ζ1为Sxoz与扫描仪直角坐标系z轴方向单位向量夹角,ζ2为Syoz与扫描仪直角坐标系z轴方向单位向量夹角,如图1所示,ζ3为装船机初始位置时,扫描仪直角坐标系x轴方向单位向量与轨道坐标系x轴方向单位向量夹角;通过激光扫描仪内置倾角仪可以实时获取两个夹角ζ1、ζ2。ζ3为规定值,通过测量得到。回转平面为激光扫描仪过光心且与回转轴垂直的平面。
计算激光扫描仪直角坐标系y轴修正矩阵,ζ1对应的旋转矩阵
计算激光扫描仪直角坐标系x轴修正矩阵,ζ2对应的旋转矩阵
计算激光扫描仪直角坐标系z轴修正矩阵
由于最终目的是将在扫描仪直角坐标系中的点云坐标转换到轨道坐标系中,因此需要保证扫描仪直角坐标系的三轴与轨道坐标系的三轴方向相同,由于装船机在悬臂回转的过程中会造成扫描仪自身坐标系x、y轴方向也跟随回转发生变化因此需要对其进行修正。
激光扫描仪自身旋转矩阵为M29=M26M27 M28;
e.实时计算激光扫描仪直角坐标系原点至装船机回转中心的实时变换矩阵M2,M2=M29M22 M25;
f.计算激光扫描仪直角坐标系原点相对于轨道坐标系变换矩阵M3
计算装船机回转中心相对于轨道坐标系原点的平移矩阵
M3=M2M31。
S3.将点云数据进行预处理,根据转换矩阵将点云数据转换成激光扫描仪直角坐标系和轨道坐标系下的坐标;具体过程包括:
S31.对点云数据进行预处理,将d距离大于阈值d0的点去除;其中d0根据激光扫描仪光心与船舱底部、船舱四周的最大距离设置。
S32.获取PSC2n=(dcosα,0,-dsinα,1);
S33.设MLn为每一条扫描线对应的旋转角度ηn的旋转矩阵,
扫描线旋转角度ηn时,点云在激光扫描仪直角坐标系下三维坐标为
PSC3n= PSC2nMLn=(x n’,yn,z n’,1), x n’, z n’为PSC2n与MLn相乘后坐标值。
由于激光扫描仪的量程原因,扫描点云数据中会存在码头面的数据,而在建立的轨道坐标系中码头面的三维坐标是固定,因此,直接将点云坐标线进行一次转换;
将三维坐标转换到轨道坐标系下
PTCn= PSC3n M3;
取码头面4顶点坐标A、B、C、D,将所有属于该矩形码头面内的坐标PTCn对应的点云剔除。
S4.以激光扫描仪获取的在激光扫描仪直角坐标系内的每一条扫描线为基本单位进行滑窗检测,提取出边界点;滑窗检测是对转换到激光扫描仪直角坐标系内的数据PSC2n=(dcosα,0,-dsinα,1)进行的。
S41.设定滑窗长度为L个点,步长为S个点,点云数据每个点为Pij=(x,0,z),(i<=n,j<=m),n为具有n条扫描线,m为每条扫描线上具有m个点;其中长度L、步长S都是表示点数量,一个步长S为一个点或是多个点,滑窗以覆盖L个点为一个滑窗,滑窗形状不是固定矩形,而是随所覆盖的点构成的形状。
S42.获取滑窗内的点,编号为W0、W1、……、WL-1,设定比较间隔k;比较间隔k是表示点数量,即k个点,设置比较间隔k是为了减小误差,k根据激光扫描仪本身的精度与滑窗长度进行设定,比较的两点间间隔距离需要大于激光扫描仪本身误差。
如图2所示,采用简单例子对滑窗进行说明,设定滑窗长度L为5,滑窗覆盖住5个点P11、P12、P13、P14、P15,则编号为W0、W1、W2、W3、W4。若设定步长S为1,则滑窗进行完检测后前进1个点。
S43.进行竖直面判断,如图3所示,选取Wk及之后选取p个点,Wk、Wk+1、……、Wk+p,
其中W0=(x0,0,z0)、Wk=(xk,0,zk)、Wk+1=(xk+1,0,zk+1)、……、Wk+p=(xk+p,0,zk+p);
将W0作为待定点,循环计算W0与Wk、Wk+1、……、Wk+p连线和X轴的斜率tanαt1,t1=0,1……p,该斜率根据上述点的坐标可以计算出来,再根据斜率分别计算出W0分别与Wk、Wk+1、……、Wk+p连线和X轴的角度αt1,t1=0,1……p;
判断计算出的角度αt1,t1=0,1……p是否都大于设定阈值α0,若是认为W0位于某个竖直面上;其中阈值α0根据现场船舱的三维结构和激光扫描仪的测量精度设置,α0设置区间在75°-80°之间,具体值根据实际情况进行选取,本实施例优选77°作为实际值。
S44.若W0位于某个竖直面上,进行水平面判断,选取Wk+p+1、……、WL-1,
其中W0=(x0,0,z0)、Wk+p+1=(xk+p+1,0,zk+p+1)、……、WL-1=(xL-1,0,zL-1);
将W0作为待定点,循环计算W0与Wk+p+1、……、WL-1的连线和x轴的斜率tanβt2,t2=p+1,p+2……L-1,根据斜率分别计算出W0与Wk+p+1、……、WL-1连线和x轴的角度βt2,t2=p+1,p+2……L-1;
判断计算出的角度βt2,t2=p+1,p+2……L-1是否都小于设定阈值β0,若是认为W0位于某个水平面上,当W0既位于竖直面又位于水平面认为该点为舱口边界点,保存该点;其中阈值β0根据现场船舱的三维结构和激光扫描仪的测量精度设置,β0设置区间在5°-10°之间,具体值根据实际情况进行选取。本实施例优选7°作为实际值。
S45.将滑窗前进一个步长S再进行步骤S42-S44,直到滑窗滑动到一条扫描线尾部,获得一系列边界点云集合GB;
且当滑窗进行到每一根扫描线的尾部时,若出现剩余点云小于滑窗长度L时,将滑窗中第一个点往扫描线头部方向移动,直到剩余点云满足滑窗长度为止,对剩余点云进行滑窗检测。
S5.对边界点云集合GB根据高程进行聚类,筛选出最终边界点云集合;具体过程包括:
对边界点云集合GB根据高程进行聚类,得到多个待定类的点云集合,分别去求每个点云集合的最小包围盒,验证最小包围盒长宽高L、W、H,L∈[Lmin,Lmax],W∈[Wmin,Wmax],H∈[Hmin,Hmax],剔除异常的类,最终取包含点数最多的类作为最终边界点云集合。
S6.将最终边界点云集合根据转换矩阵转换到轨道坐标系下;具体过程包括:
将最终边界点云集合根据转换矩阵转换到轨道坐标系下,
Pij M2= P’ij=(x’,y’,z’,1),(i<=n,j<=m)
P’ij为Pij与M2相乘后的值,x’,y’,z’为x,y,z经过计算处理后的值。
GBG={ P’ij | (i<=n,j<=m )}。GBG为轨道坐标系下最终边界点云集合。
S7.采用Ransac算法对轨道坐标系下最终边界点云集合进行直线拟合,获取4条轮廓线LLeft、LRight、LFront、LBack;根据船舶实际姿态位置对轮廓线进行识别,将四条轮廓线分为LLeft、LRight、LFront、LBack,标志四条轮廓线在码头中的实际位置。
若识别后缺失一条轮廓线,根据之前存储的船舶类型数据已知船舱长宽,则可以对轮廓进行补全,要求至少存在两条相交的轮廓线。当至少已知存在两条相交的轮廓线时,船舱平面已定,同时已知船舶长宽及轮廓线方向则可通过向量法对船舱轮廓进行补全,至此得到船舱四条轮廓线的坐标单位方向向量及长度。其中,设任意相交两条轮廓线的单位方向向量及长度分别为
Dir1=(xDl,yDl,zDl),L1
Dir2=(xD2,yD2,zD2),L2。
xDl,yDl,zDl为Dir1单位方向向量坐标,xD2,yD2,zD2为Dir2单位方向向量坐标。
S8.通过任意相交两条轮廓线的单位方向向量及长度,计算船舱深度和船舱倾斜度。具体过程包括:
计算船舱深度
在计算矩阵M2的过程中,获取溜筒平台实时坐标PB=(xb、yb、zb),通过测量获得溜筒半径为r,如图4所示,设定一个以溜筒为中心的领域,提取出内环和外环的点云,将提取出的点云通过基于密度的DBScan算法聚类,去除点云数量小于一定阈值N的类,选取所含最多点云的类,设该类中点云数量为Q1,设该类中每点对应的高程为PiZ,即其在轨道坐标系下的z坐标值,计算平均高程,
设边界点数量为Q2,设边界点每点高程为PBiZ,即其在轨道坐标系下的z坐标值,计算边界的平均高程
船舱深度Deep=BAave-PAave;
计算船舱倾斜度
Norm=Dir1×Dir2
其中Dir1、Dir2为任意相交两条轮廓线单位方向向量,Dir1=(xDl,yDl,zDl),Dir2=(xD2,yD2,zD2),×为叉乘符号;
设x、y方向单位向量为X=(1,0,0),Y=(0,1,0);
计算船舱纵向倾角、船舱横向倾角
船舱纵向倾角,即xoz平面夹角Angle1=arCos(Norm•Y/| Norm |),
Norm•Y为向量Norm与单位向量Y的点积,
船舱横向倾角,即yoz平面夹角Angle2=arCos(Norm•X/| Norm |),
Norm•X为向量Norm与单位向量X的点积。
本文中所描述的具体实施例仅仅是对本发明精神作举例说明。本发明所属技术领域的技术人员可以对所描述的具体实施例做各种各样的修改或补充或采用类似的方式替代,但并不会偏离本发明的精神或者超越所附权利要求书所定义的范围。
Claims (9)
1.一种装船机船舱舱口识别方法,装船机包括沿轨道移动的大车、转动设置在大车上的悬臂,设置在悬臂前端的溜筒平台,在溜筒平台两侧分别安装有激光扫描仪,其特征在于:包括以下步骤:
S1.开启工作,两台激光扫描仪各自获取点云;
S2.根据激光扫描仪、轨道工况分别建立激光扫描仪极坐标系、激光扫描仪直角坐标系、轨道坐标系,计算坐标系之间转换矩阵;其中激光扫描仪直角坐标系以扫描仪光点为原点,激光扫描仪旋转0°位置方向向量投影到水平面为x轴,z轴与重力方向相反,y轴方向由右手定则决定,xoy为水平面;
S3. 将点云数据进行预处理,根据转换矩阵将点云数据转换成激光扫描仪直角坐标系和轨道坐标系下的坐标;
S4.以激光扫描仪获取的在激光扫描仪直角坐标系内的每一条扫描线为基本单位进行滑窗检测,提取出边界点;
S41.设定滑窗长度为L个点,步长为S个点,点云数据每个点为Pij=(x,0,z),(i<=n,j<=m),n为具有n条扫描线,m为每条扫描线上具有m个点;
S42.获取滑窗内的点,编号为W0、W1、……、WL-1,设定比较间隔k;
S43.进行竖直面判断,选取Wk及之后选取p个点,Wk、Wk+1、……、Wk+p,分别判断这些点与W0连线和x轴的角度是否都大于设定阈值α0,若是认为W0位于某个竖直面上;
S44.若W0位于某个竖直面上,进行水平面判断,选取Wk+p+1、……、WL-1,分别判断这些点与W0连线和x轴的角度是否都小于设定阈值β0,若是认为W0位于某个水平面上,当W0既位于竖直面又位于水平面认为该点为舱口边界点,保存该点;
S45.将滑窗前进一个步长S再进行步骤S42-S44,直到滑窗滑动到一条扫描线尾部,获得一系列边界点云集合GB;
S5.对边界点云集合GB根据高程进行聚类,筛选出最终边界点云集合;
S6.将最终边界点云集合根据转换矩阵转换到轨道坐标系下;
S7.采用Ransac算法对轨道坐标系下最终边界点云集合进行直线拟合,获取4条轮廓线LLeft、LRight、LFront、LBack;
S8.通过任意相交两条轮廓线的单位方向向量及长度,计算船舱深度和船舱倾斜度。
2.根据权利要求1所述的一种装船机船舱舱口识别方法,其特征是步骤S43中竖直面判断具体过程为:
选取Wk及之后选取p个点,Wk、Wk+1、……、Wk+p;
其中W0=(x0,0,z0)、Wk=(xk,0,zk)、Wk+1=(xk+1,0,zk+1)、……、Wk+p=(xk+p,0,zk+p);
将W0作为待定点,循环计算W0与Wk、Wk+1、……、Wk+p连线和x轴的斜率tanαt1,t1=0,1……p,根据斜率分别计算出W0与Wk、Wk+1、……、Wk+p连线和x轴的角度αt1,t1=0,1……p;
判断αt1,t1=0,1……p是否都大于设定阈值α0,若是认为W0位于某个竖直面上。
3.根据权利要求1所述的一种装船机船舱舱口识别方法,其特征是步骤S44中水平面判断具体过程为:
选取剩余的点Wk+p+1、……、WL-1;
其中W0=(x0,0,z0)、Wk+p+1=(xk+p+1,0,zk+p+1)、……、WL-1=(xL-1,0,zL-1);
将W0作为待定点,循环计算W0与Wk+p+1、……、WL-1的连线和x轴的斜率tanβt2,t2=p+1,p+2……L-1,根据斜率分别计算出W0与Wk+p+1、……、WL-1连线和x轴的角度βt2,t2=p+1,p+2……L-1;
判断βt2,t2=p+1,p+2……L-1是否都小于设定阈值β0,若是认为W0位于某个水平面上。
4.根据权利要求1所述的一种装船机船舱舱口识别方法,其特征是步骤S2中具体过程包括:
建立坐标系
(1)轨道坐标系
轨道位于码头上,以轨道一侧终点O为原点建立轨道坐标系;码头包括码头面,码头面为矩形位于轨道坐标系内;
(2)激光扫描仪极坐标系
激光扫描仪得到点云数据为极坐标系数据(d,α),d为离扫描中心的距离,α为激光束初始发射位置与当前发射激光束位置夹角;
(3)激光扫描仪直角坐标系
以扫描仪光点为原点,激光扫描仪旋转0°位置方向向量投影到水平面为x轴,z轴与重力方向相反,y轴方向由右手定则决定,xoy为水平面,建立激光扫描仪直角坐标系;
计算转换矩阵
1)激光扫描仪极坐标至激光扫描仪直角坐标系的转换公式
PSC2n=(dcosα,0,-dsinα,1)
其中PSC2n表示激光扫描仪的三维坐标投影于xoz平面的二维坐标;
2)激光扫描仪直角坐标系至轨道坐标系的转换矩阵
计算激光扫描仪坐标原点位置,通过安装位置、实时大车位置d1、实时回转角度γ1、实时俯仰角度γ2、实时悬臂伸缩量L1;设d1、γ1、γ2、L1均为0时为装船机初始位置;
通过测量获得装船机初始位置,设定激光扫描仪相对于溜筒平台中心的变换矩阵M1;
实时计算溜筒平台中心坐标,通过测量获得装船机初始位置相对于装船机回转中心距离d2;
a.计算溜筒平台中心相对与装船机回转中心平移矩阵
b.计算装船机初始位置加上悬臂伸缩量后的激光扫描仪坐标原点相对于装船机回转中心的平移矩阵M22=M21M1;
c.根据当前俯仰角度、回转角度计算悬臂旋转矩阵,
俯仰转换矩阵为
回转转换矩阵为
则悬臂旋转矩阵为
M25=M23M24;
d.计算激光扫描仪自身旋转矩阵
将激光扫描仪扫描平面与水平面的夹角分解为三个分量角度ζ1、ζ2、ζ3,设扫描平面法向量在xoz、yoz平面投影分别为Sxoz、Syoz,则ζ1为Sxoz与扫描仪直角坐标系z轴方向单位向量夹角,ζ2为Syoz与扫描仪直角坐标系z轴方向单位向量夹角,ζ3为装船机初始位置时,扫描仪直角坐标系x轴方向单位向量与轨道坐标系x轴方向单位向量夹角;
计算激光扫描仪直角坐标系y轴修正矩阵,ζ1对应的旋转矩阵
计算激光扫描仪直角坐标系x轴修正矩阵,ζ2对应的旋转矩阵
计算激光扫描仪直角坐标系z轴修正矩阵
激光扫描仪自身旋转矩阵为M29=M26M27 M28;
e.实时计算激光扫描仪直角坐标系原点至装船机回转中心的实时变换矩阵M2,M2=M29M22 M25;
f.计算激光扫描仪直角坐标系原点相对于轨道坐标系变换矩阵M3
计算装船机回转中心相对于轨道坐标系原点的平移矩阵
M3=M2M31。
6.根据权利要求1或2或3或4所述的一种装船机船舱舱口识别方法,其特征是步骤S5具体过程包括:
对边界点云集合GB根据高程进行聚类,得到多个待定类的点云集合,分别去求每个点集的最小包围盒,验证最小包围盒长宽高L、W、H,L∈[Lmin,Lmax],W∈[Wmin,Wmax],H∈[Hmin,Hmax],剔除异常的类,最终取包含点数最多的类作为最终边界点云集合。
7.根据权利要求4所述的一种装船机船舱舱口识别方法,其特征是步骤S6具体过程包括:
将最终边界点云集合根据转换矩阵转换到轨道坐标系下,
Pij M2= P’ij=(x’,y’,z’,1),(i<=n,j<=m)
GBG={ P’ij | (i<=n,j<=m )},GBG为轨道坐标系下最终边界点云集合。
8.根据权利要求4所述的一种装船机船舱舱口识别方法,其特征是步骤S8具体过程包括:
计算船舱深度
在计算矩阵M2的过程中,获取溜筒平台实时坐标PB=(xb、yb、zb),通过测量获得溜筒半径为r,设定一个以溜筒为中心的领域,提取出内环和外环的点云,将提取出的点云通过基于密度的DBScan算法聚类,去除点云数量小于一定阈值N的类,选取所含最多点云的类,设该类中点云数量为Q1,设该类中每点对应的高程为PiZ,计算平均高程,
设边界点数量为Q2,设边界点每点高程为PBiZ,计算边界的平均高程
船舱深度Deep=BAave-PAave;
计算船舱倾斜度
Norm=Dir1×Dir2
其中Dir1、Dir2为任意相交两条轮廓线单位方向向量,×为叉乘符号;
设x、y方向单位向量为X=(1,0,0),Y=(0,1,0);
计算船舱纵向倾角、船舱横向倾角
船舱纵向倾角,即xoz平面夹角Angle1=arCos(Norm•Y/| Norm |),
Norm•Y为向量Norm与单位向量Y的点积,
船舱横向倾角,即yoz平面夹角Angle2=arCos(Norm•X/| Norm |),
Norm•X为向量Norm与单位向量X的点积。
9.根据权利要求1所述的一种装船机船舱舱口识别方法,其特征是当滑窗进行到每一根扫描线的尾部时,若出现剩余点云小于滑窗长度L时,将滑窗中第一个点往扫描线头部方向移动,直到剩余点云满足滑窗长度为止,对剩余点云进行滑窗检测。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110890634.9A CN113340287B (zh) | 2021-08-04 | 2021-08-04 | 一种装船机船舱舱口识别方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110890634.9A CN113340287B (zh) | 2021-08-04 | 2021-08-04 | 一种装船机船舱舱口识别方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113340287A CN113340287A (zh) | 2021-09-03 |
CN113340287B true CN113340287B (zh) | 2021-11-09 |
Family
ID=77480587
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110890634.9A Active CN113340287B (zh) | 2021-08-04 | 2021-08-04 | 一种装船机船舱舱口识别方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113340287B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114266796B (zh) * | 2021-11-05 | 2022-09-13 | 广东省国土资源测绘院 | 基于激光点云数据与平均大潮高潮面的自然岸线自动获取方法、设备、介质 |
CN114211173B (zh) * | 2022-01-27 | 2024-05-31 | 上海电气集团股份有限公司 | 一种确定焊接位置的方法、装置及系统 |
CN115984195B (zh) * | 2022-12-16 | 2023-09-29 | 秦皇岛燕大滨沅科技发展有限公司 | 一种基于三维点云的车厢轮廓检测方法及系统 |
CN117681197B (zh) * | 2023-12-18 | 2024-07-23 | 安徽工布智造工业科技有限公司 | 一种基于钢结构3d模型的6轴机器人取料视觉分料算法 |
CN118239289A (zh) * | 2024-04-28 | 2024-06-25 | 南通远海船务有限公司 | 散货码头数字化智慧装船系统及方法 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101206262A (zh) * | 2007-12-06 | 2008-06-25 | 上海交通大学 | 装船机物位二维激光扫描雷达自动检测系统及方法 |
CN112150388B (zh) * | 2020-09-30 | 2024-03-29 | 大连华锐重工集团股份有限公司 | 一种连续卸船机船舶及物料的识别感知方法 |
CN213211045U (zh) * | 2020-10-12 | 2021-05-14 | 中交一航局安装工程有限公司 | 一种装船机用船舶舱口识别系统 |
CN112529958B (zh) * | 2020-12-10 | 2022-08-26 | 神华天津煤炭码头有限责任公司 | 一种单激光雷达散货货船舱口位置识别方法 |
-
2021
- 2021-08-04 CN CN202110890634.9A patent/CN113340287B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN113340287A (zh) | 2021-09-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113340287B (zh) | 一种装船机船舱舱口识别方法 | |
CN106599885B (zh) | 一种集装箱Bay位监测系统及方法 | |
JP4533659B2 (ja) | レーザー計測により地図画像を生成する装置及び方法 | |
US5525883A (en) | Mobile robot location determination employing error-correcting distributed landmarks | |
CN112150388B (zh) | 一种连续卸船机船舶及物料的识别感知方法 | |
CN115147723B (zh) | 一种内河船舶识别与测距方法、系统、介质、设备及终端 | |
US20150288947A1 (en) | Position and location detection of objects | |
Olson et al. | Maximum likelihood rover localization by matching range maps | |
CN109916301B (zh) | 一种体积测量方法和深度相机模组 | |
KR101888171B1 (ko) | 무인 수상정의 자세정보 기반 환경인식 장치 및 방법 | |
CN105431370A (zh) | 用于使用集装箱起重机将集装箱自动地卸货在卸货目标上的方法和系统 | |
EP3924794B1 (en) | Autonomous mobile aircraft inspection system | |
CN112068152A (zh) | 使用3d扫描仪同时进行2d定位和2d地图创建的方法和系统 | |
Olson et al. | Wide-baseline stereo vision for Mars rovers | |
CN112613509A (zh) | 一种铁路货车车厢号识别抓拍方法及系统 | |
CN113447922A (zh) | 基于雷达捕捉和激光跟踪的岸基靠泊系统、方法及设备 | |
KR20230045020A (ko) | 크레인 스프레더의 맵핑 및 크레인 스프레더 대상 | |
CN113819844A (zh) | 一种识别行车物料的方法、装置、设备及可读存储介质 | |
CN117011362A (zh) | 货物体积的计算方法、容积率的动态计算方法 | |
Lovas et al. | Laser scanning ship hulls to support hydrodynamic simulations | |
Abe et al. | Vision based navigation system for autonomous mobile robot with global matching | |
JP2020190814A (ja) | 軌道生成装置 | |
Han et al. | Three-dimensional reconstruction of a semi-submersible offshore platform with an unmanned surface vehicle | |
CN118376290B (zh) | 一种基于推耙机点云配准的高斯预测煤堆体积计算方法 | |
Ivanovskii | The Concept of Automated Draught Survey System for Marine Ships |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |