首页 > 范文大全 > 正文

堆取料机空间防碰撞系统设计与实现

开篇:润墨网以专业的文秘视角,为您筛选了一篇堆取料机空间防碰撞系统设计与实现范文,如需获取更多写作素材,在线客服老师一对一协助。欢迎您的阅读与分享!

摘 要: 在国内外煤炭码头中,堆料机、取料机是散货堆场作业的核心设备,堆取料机空间碰撞系统一直是个难题。设计一种堆取料机空间防碰撞控制系统,其原理是在堆取料机上的大臂和回转中心安装gps流动站,通过gps的位置信息和空间几何算法,得出两个堆取料机之间的最小距离从而可以判断出堆取料机发生碰撞的可能性,使得工作人员进行相应处理,解决行走编码器不准确、误差累积的问题。本系统可以实时计算出堆取料机大臂的相对位置和距离,可实现两台甚至多台堆取料机在同一个场垛中安全作业。

关键词: 堆取料机;RTK系统;基准站;流动站;处理单元

1 背景技术

堆取料作业过程中,在一个堆场中经常需要使用多个堆取料机进行作业。图1为堆取料机在堆场作业的示意图,10为堆场,20为堆取料机,30为行走轨道。在一个堆场中可能有多个堆取料机,沿着行走轨道进行行走作业,在行走过程中,多个堆取料机的大臂之间有可能会发生碰撞。

目前国内包括黄骅港在内的煤炭码头中,没有有效地方法来提前预知堆取料机20之间是否将要发生碰撞,堆取料机空间防碰撞是堆取料作业过程中的难题。具体来说,现有的防碰撞方法中需要结合堆取料机的行走数据,而现有的方法获取的堆取料机的行走数据经常不准,由于堆取料机的行走距离很长,都在1500m以上,而用于获取堆取料机的行走数据的行走编码器都安装在行走轮上,堆取料机的行走轨道与堆取料机的行走轮之间的摩擦力不均,一旦堆取料机的行走轮出现打滑现象,行走数据就会出现不准确的情况,长时间累积会造成误差越来越大,即使通过行走定点校正对编码器进行修正,但不准确因素仍无法彻底克服。

其次,对大臂的空间位置计算过程非常复杂,该计算过程需要结合行走、俯仰、回转3个编码器的数值进行空间建模,而这3个编码器都有不同程度的误差,这就造成累积误差,故大臂空间坐标的准确性不高。另一种现有的防碰撞方法是根据2个堆取料机是否处于一个场垛进行判断,如果2个堆取料机不在同一个场垛就可以正常作业。2个堆取料机进入一个场垛进行作业时,就对两个堆取料机都进行锁定,使其不能工作,由此避免堆取料机之间发生碰撞,这严重影响了堆取料机的同场作业。

由于以上原因,现有的防碰撞方法无法有效避免堆取料机空间防碰撞问题,使得2个堆取料机无法同时在同一个堆场中安全作业,严重影响效率。故当前一般都采用人工监控的方法来避免空间碰撞事故。

2 具体设计方案

笔者设计了一种堆取料机空间防碰撞系统,该系统包括:大臂位置反馈系统、空间数据计算系统、空间防碰撞控制系统。现在分别介绍其详细设计。

2.1 大臂位置反馈系统

通常的大臂空间位置反馈都是采用行走、回转、俯仰三个编码器的数值计算得出的,本设计采用当今世界上最先进的定位手段-RTK GPS测量系统。RTK是能够在野外实时得到厘米级定位精度的测量方法,它采用了载波相位动态实时差分(Real-time kinematic)方法,是GPS应用的重大里程碑。高精度的GPS测量必须采用载波相位观测值,RTK定位技术就是基于载波相位观测值的实时动态定位技术,它能够实时地提供测站点在指定坐标系中的三维定位结果,并达到厘米级精度。在RTK作业模式下,基准站通过数据链将其观测值和测站坐标信息一起传送给流动站。流动站不仅通过数据链接收来自基准站的数据,还要采集GPS观测数据,并在系统内组成差分观测值进行实时处理,同时给出厘米级定位结果,历时不到一秒钟。

基准站的位置可以根据具体需要设置在任意位置,在本系统中,选取中控室安装一台基准站,每台堆取料机上安装两台流动站,分别安装在大机回转中心点和大臂头部中心点处,流动站安装位置如下图所示:

在图2中,1为1号流动站,2为2号流动站。两个流动站实时检测空间的三维坐标信息,并通过以太网传输给中控室的plc主机,这样根据“两点确定一条直线”原理,中控plc就可以实时的知道堆取料机的大机回转中心和堆取料机的大臂头部中心所在轴线的位置了。

通过使用流动站和基准站来检测的大臂位置信息可以精确到厘米级,并且不受堆取料机自身行走轮打滑和其他编码器累积误差的影响,因此比现有的防碰撞方法更加准确高效。克服了现有技术中由于大臂空间位置反馈都是采用行走、回转、俯仰三个编码器的数值计算得出的,而造成的误差累积问题。

2.2 空间数据计算系统

空间数据计算系统的主要任务是根据采集到的各堆取料机大臂位置信息来计算任意两台堆取料机大臂的空间最小距离。可以通过多种方法来根据位置信息确定多个堆取料机中任意两个堆取料机的大臂之间的最小距离,由于堆取料机的大臂较长,两个堆取料机之间的距离可以近似看作是两个堆取料机的大臂之间的距离。所以两个堆取料机之间的最小距离为:一堆取料机的大机回转中心和堆取料机的大臂头部中心所构成的线段、与另一堆取料机的大机回转中心和堆取料机的大臂头部中心所构成的线段之间的最小距离。其中当两个堆取料机的大臂共面时,最小距离为一堆取料机的大臂头部中心到另一个大机回转中心和大臂头部中心所构成的线段的垂直距离或两个堆取料机的大臂头部中心之间的最小距离;当两个堆取料机的大臂异面时,最小距离为一堆取料机的大机回转中心和堆取料机的大臂头部中心所构成的线段、与另一堆取料机的大机回转中心和堆取料机的大臂头部中心所构成的线段的公垂线段的距离或两个堆取料机的大臂头部中心之间的最小距离。

采集到各台堆取料机的位置信息后,可以通过以下过程来建立堆取料机大机回转中心和大臂头部中心所构成的线段的空间直线方程,现在以两个堆取料机为例具体介绍,两个堆取料机可以称为第一堆取料机和第二堆取料机。

设第一堆取料机的大机回转中心A和大臂头部中心B处的三维坐标分别为A(x1,y1,z1)、B(x2,y2,z2),第二堆取料机的大机回转中心C和大臂头部中心D处的三维坐标分别为C(x3,y3,z3)、D(x4,y4,z4)。也就是说通过RTK采集了四个点的坐标,每两个点可以确定一条线段。根据空间立体几何,两条直线线段的关系有两种情况,共面和异面。所谓共面是指两条直线在一个平面内,而异面则指两条直线不在一个平面内,现在分别介绍两种情况下如何两个堆取料机之间的最小距离。

2.2.1 共面情况分析

如图3所示,两条直线共面存在两种情况,一种是两条直线平行,一种是两条直线相交。两条直线平行的情况是指两个堆取料机的大臂在空间坐标中平行时的状态;而两条直线相交在实际中则不能发生,因为大臂是实体,不可能出现相交的情况,由于大臂的长度有限,所以在共面的情况下,除了平行,另一个状态则是不平行,有相交的趋势。在这两种情况下,出现两个堆取料机的大臂相碰撞的可能情形有以下三种:一是第一堆取料机的大臂的头部碰到第二堆取料机的大臂的头部,二是第一堆取料机的大臂的头部碰到第二堆取料机的大臂的上下左右侧部,三是第二堆取料机的大臂的头部碰到第一堆取料机的大臂的上下左右侧部。在共面的情况下,不可能出现两个大臂的侧部相碰。

所以共面情况下算法的原理是求出一个大臂的头部中心到另一个大机回转中心和大臂头部中心所构成的线段的垂直距离,当每个大臂头部中心到另一个堆取料机的大机回转中心和大臂头部中心所构成的线段都没有垂线时,可直接求出两个大臂头部中心之间的最小距离。

2.2.2 异面情况分析

如图4所示,在异面的情况下,求两个大臂的最小距离可以采用两条直线间计算公垂线的办法来实现,但是由于两条大臂的长度有限,有可能不存在公垂线,这时则需要将两条大机回转中心和大臂头部中心所构成的线段延长为两条直线,求出直线的公垂线和两条大臂的交点p1、p2,首先检查交点p1有没有在第一堆取料机的大臂上,如果在则选定p1为第一个点,如果不在则选择第一堆取料机的大臂头部的点A作为第一点;然后检查p2点有没有在第二堆取料机的大臂上,同理如果在,则作为第二个点,如果不在,则选中第二堆取料机的大臂头部的点C作为第二点。两点选择完毕后计算两点之间的最小距离。

2.2.3 具体算法实现

根据以上原理,可以按照如下过程来确定最小距离。

首先需要判断A、B、C、D四个点是否在同一个平面即共面还是异面,具体过程如下:

计算A(x1,y1,z1)、B(x2,y2,z2)、C(x3,y3,z3)、D(x4,y4,z4)四个点构成的四个向量AB(a1,b1,c1)、AC(a2,b2,c2)、AD(a3,b3,c3)、CD(a4,b4,c4)分别为:

公式1:AB:a1=x1-x2;b1=y1-y2;c1=z1-z2

公式2:AC:a2=x1-x3;b2=y1-y3;c2=z1-z3

公式3:AD:a3=x1-x4;b3=y1-y4;c3=z1-z4

公式4:CD:a4=x4-x3;b4=y4-y3;c4=z4-z3

首先,需要判断A、B、C、D四个点是否处于一个平面内。根据四点共面定理,若三个向量的混合积(AB,AC,AD)=0,即如果

公式5:a1хb2хc3+a2хb3хc1+a3хb1хc2-a3хb2хc1-a1хb3хc2-a2хb1хc3=0

则四点共面,否则,说明不共面即异面。

在判断出共面的情况下:

如果

公式6:(a2хa4+b2хb4+c2хc4)/(sqrt(a2хa2+b2хb2+c2хc2)хsqrt(a4хa4+b4хb4+c4хc4)>=0

说明两个向量之间的夹角为0-90°,则第一堆取料机的大臂头部中心到第二堆取料机的大机回转中心和大臂头部中心所构成的线段有垂线。其中sqrt()代表平方根运算。

根据两点确定一条直线原则,第二堆取料机的大臂的直线方程可以设为:

公式7:(x-x3)/a4=(y-y3)/b4=(z-z3)/c4

则过已知点A(x1,y1,z1)且与已知直线CD相垂直的平面的方程为:

公式8:a4(x-x1)+b4(y-y1)+c4(z-z1)=0

可以通过以上两个方程求出第二堆取料机的直线与垂直平面的交点(x5,y5,z5),所以,可以通过两点之间的距离计算出第一堆取料机的大臂头部中心与第二堆取料机的大机回转中心和大臂头部中心所构成的线段的距离为:

公式9:Dist1=sqrt((x1-x5)х(x1-x5)+(y1-y5)х(y1-y5)+(z1-z5)х(z1-z5))

否则

计算第一堆取料机的大臂头部中心与第二堆取料机的大臂头部中心距离,即点A、C之间的距离:

公式10:Dist3= sqrt(a2хa2+b2хb2+c2хc2)

同理,如果

公式11:(a1хa2+b1хb2+c1хc2)/(sqrt(a1хa1+b1хb1+c1хc1)хsqrt(a2хa2+b2хb2+c2хc2))>=0

说明两个向量之间的夹角为0-90°,则第二堆取料机的大臂头部中心到第一堆取料机的大机回转中心和大臂头部中心所构成的线段有垂线。

根据两点确定一条直线原则,第一堆取料机的大臂的直线方程为:

公式12:(x-x1)/a1=(y-y1)/b1=(z-z1)/c1

则过已知点C(x3,y3,z3)且与已知直线AB相垂直的平面的方程为:

公式13:a1(x-x3)+b1(y-y3)+c1(z-z3)=0

可以通过以上两个方程求出第一堆取料机的直线与垂直平面的交点(x6,y6,z6),所以,可以通过两点之间的距离计算出第一堆取料机的大臂头部中心与第二堆取料机的大机回转中心和大臂头部中心所构成的线段的距离为

公式14:Dist2=sqrt((x3-x6)х(x3-x6+(y3-y6)х(y3-y6)+(z3-z6)х(z3-z6))

否则

则计算第一堆取料机的大臂头部中心与第二堆取料机的大臂头部中心距离为:

公式15:Dist3= sqrt(a2хa2+b2хb2+c2хc2)

然后选取上面所计算的三个距离Dist1,Dist2,Dist3中最小的距离计算

公式16:Mindist1=MIN(Dist1,Dist2,Dist3)

为两个堆取料机之间的最小距离。

在判断异面的情况下:

首先求出AB、CD所在直线的公垂线与AB、CD所在直线的交点即公垂点p1、p2,计算过程如下:

设两根大臂直线的方程如下:

第一堆取料机的大臂所在直线方程为:

公式17:(x-x1)/a1=(y-y1)/b1=(z-z1)/c1

第二堆取料机的大臂所在直线方程为:

公式18:(x-x3)/a4=(y-y3)/b4=(z-z3)/c4

设p1,p2的坐标分别为p1(a1хt1+x1,b1хt1+y1,c1хt1+z1),p2(a4хt2+x3,b4хt2+y3,c4хt2+z3);

因为p1、p2点所在的直线垂直于AB所在直线、并垂直于CD所在直线,所以

公式19:(a4хt2+x3-a1хt1+x1,b4хt2+y3- b1хt1+y1,c4хt2+z3-c1хt1+z1)х(a1,b1,c1)=0

公式20:(a4хt2+x3-a1хt1+x1,b4хt2+y3- b1хt1+y1,c4хt2+z3-c1хt1+z1)х(a4,b4,c4)=0

由此可以求出t1和t2,从而可以求出p1和p2两点的坐标:p1(x7,y7,z7),p2(x8,y8,z8)。

然后判断点p1和p2是否分别在线段AB和线段CD中,具体过程如下:

如果同时满足x1

公式21:Mindist2= sqrt((x8-x7)х(x8-x7+(y8-y7)х(y8-y7)+(z8-z7)х(z8-z7))

否则,如果满足x1

公式22:Mindist2= sqrt((x3-x7)х(x3-x7+(y3-y7)х(y3-y7)+(z3-z7)х(z3-z7))

如果仅满足x3

公式23:Mindist2= sqrt((x8-x1)х(x8-x1+(y8-y1)х(y8-y1)+(z8-z1)х(z8-z1))

如果都不在,则求出两个大臂头部中心的距离

公式24:Mindist2= sqrt((x3-x1)х(x3-x1+(y3-y1)х(y3-y1)+(z3-z1)х(z3-z1))为两个堆取料机之间的最小距离

2.3 空间防碰撞控制系统

根据上述过程得出最小距离后,可以将最小距离与第一预定距离和第二预定距离进行比较;当最小距离小于第一预定距离,判断碰撞可能性为较高;当最小距离小于第一预定距离而大于第二预定距离时,判断碰撞可能性为中等;当最小距离大于第二预定距离时,判断碰撞可能性为较低。当判断可能性为较高时,进行碰撞报警,使得工作人员得知堆取料机之间即将发生碰撞,可以进行停机等处理;当判断可能性为中等时,进行减速报警,使得工作人员得知堆取料机之间可能要发生碰撞,需要减慢堆取料机运行速度;当判断可能性为较低时,不进行报警,堆取料机可以安全地进行作业。

其中第一预定距离小于第二预定距离,并且都可以根据需要预先设定,在本项目中,第一预定距离设定为3m,第二预定距离设定8m。

2.4 多台堆取料机的防碰撞控制

为了合理利用堆场,通常一个堆场上会出现多台堆取料机作业的情况,现以三台堆取料机同时工作为例,进行多台堆取料防碰撞控制的分析。设三台堆取料机分别为A、B、C。则作为A堆取料机,需要同时计算与B堆取料机、C堆取料机之间的最小距离,即Mindist1AB(共面)、Mindist1AC(共面)、Mindist2AB(异面)、Mindist2AC(异面),然后分别与B堆取料机、C堆取料机的第一和第二预定距离进行比较,根据对比情况进行相应的报警。同理,作为B堆取料机和C堆取料机采用同样地方法进行计算对比,由此可实现多台堆取料机的防碰撞控制。

3 项目实现与成效

根据本设计提供的堆取料机空间防碰撞系统,黄骅港堆取料机进行了多台大机防碰撞试验,即分别在两天取料机和一台堆料机的回转中心和悬臂头部安装了gps数据模块,并进行了数据采集和空间几何算法计算,再将计算结果传给plc进行防碰撞控制的计算与报警,效果显著。本项目不但解决了行走打滑的问题,而且不需要使用编码器数据,降低了误差;同时,计算过程相对简单、精度高,可以实现多个堆取料机同场作业,并且能够实时检测各个大臂之间的最小距离,提高了安全性和作业效率,可以用于多种类型的堆取料机,可以提高同场作业效率70%,值得推广。