数据驱动的电动矿卡的工作流程分析
来源: | 作者:pmod6d781 | 发布时间: 2021-12-03 | 1026 次浏览 | 分享到:


另一部分是在工作区域定义的基础上进行比较高频的实时或准实时的工作流程分析。首先也是把矿卡的路径通过位置转换到节点序列,然后结合区域定义,把它的路径进行生成和清理,之后根据路径去做工作流程划分以及装载状态的判别。


最后得到两方面的数据,一是工作流程的划分数据,每一趟什么时间开始的,什么时间结束的,它是一个普通的装载卸载的流程,还是中间有换电的流程。另一方面是对车辆的满载和空载状态的判断。


流程实现算法的详细介绍

首先是地理节点的划分和位置信息的转换,我们把整个矿场按经纬度进行离散化,划分成一系列的小方格,方便后续进行区域的定义和整合。


每个方格的尺寸都是55米×55米,大概就是相当于4辆矿车的面积。这个尺度主要考虑两方面的因素,一方面考虑分辨率画的不能太大,否则整个分辨率会不太好,会把一些不相关的节点划到工作区里;另外考虑实时计算的压力,因为对位置信息转换需要做到实时运行,如果节点太多,则会影响整个程序运行效率。


综合考虑之后,对矿场的划分做了55×55米的尺寸,然后根据矿卡的GPS数据,结合对每个方格的定义,把矿卡的轨迹转换成为地块节点编号的序列。


有了上述的基础,可以做作业区的节点识别,看哪些地块节点是可能的工作区。这里需要考虑工作区节点与其他节点的区别在哪,矿卡到了工作区节点的行为模式跟在其他比如路上的行为模式不一样,比如到工作区之后,它有一个停车的过程。停车之前往往会挂倒档,不管是装载还是卸载,都需要先倒车一段时间到指定位置之后,才会进行相应的作业,所以要找出一些带特征的作业动作。


考虑到这些原因,我们对每一个节点进行统计,一段时间内矿场所有车辆在这个节点里的行为特征,比如停车前挂倒档的比例,比如货箱的举升器的状态统计等等,把这些特征统计出来,作为每一个地块节点的特征,然后用分类模型去看哪些可能是作业区节点,哪些不是作业区节点。


在这一步我们设置了一个判定原则,就是做节点判断的时候,尽可能全的把可能的节点包含进来,允许一部分不是作业区的,被错误归进来。


得到了潜在的一些作业节点之后,把节点聚合成区域,把它定义成一个工作区。这个工作区域是通过节点的相邻关系去定义的,一组相互之间有相邻关系的节点,定义为一个区域。


通过聚合得到这一系列区域之后,再看矿卡在这个区域里的行为模式,来给这个区域打标签,判断是哪一种类型的工作区域,比如装载区、卸载区、充换电区和车库。这和刚才地块节点的原理类似,对多个节点构成的区域做车辆的行为统计,作为每个区域的特征,还是建立多分类模型,把工作区域划分成这些具体的功能区。