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

三是在循环内的车辆的健康信息,为车辆的维护维修提供一些参考信息。


数据分析的基本思路与尝试

有了输入和输出的定义,整个数据分析模块的工作就比较明确了,有两种基本思路。


第一种思路,也是最直接能想到的做法,是找到车辆每次循环的状态变化的过程,从状态数据里面,去推测矿卡的装载状态,继而去切割它的工作流程。


但按这个思路去做了一些验证,发现不太可行。


首先车辆的载重状态没有测点,同时也不具备安装载重测点的条件,无法直接通过载重来判断满载或空载。


那是否能通过其他的一些变化去判断它的状态?比如从电机的输出与车辆的速度变化,或者从档位的变化与速度变化之间的关系,能不能推测车辆整体的重量状态,进而去推测它的装载状态?尝试发现这也比较困难,因为现场的工作条件比较恶劣,坑坑洼洼的土路居多,车辆在运行过程中不平稳,状态起伏非常大,影响判断的因素也会比较多。想从简单的物理模型的角度去做载重状态分析很难。


既然因素比较复杂,那能不能直接学习出一个模型呢?但学习又遇到缺乏标签的问题,因为拿到的数据没有标明哪一段是空载状态,哪一段是满载状态,还需要从数据里去推断它的状态,给训练数据提供标签,但这本身就是一个比较大的工作量,权衡之后我们考虑换一种思路。


第二种思路,从工作区域的角度出发,首先从数据里把各个装载区、卸载区等这些工作区域的范围定出来,再根据车辆在不同的工作区之间的轨迹,经过了哪些工作区去判定车辆的工作流程。


从工作区域间接判断运行状态,也可以为后续用车辆状态去判断空载满载积累一些标签数据,便于后续算法的升级。


基于以上思考进行数据建模,从工作区域的定义出发,先在原有的实体基础上增加一个与工作区域相关的实体——地块节点,地块节点是将矿场画出一系列的小方格,每个小方格成为一个地块节点,由这些地块节点组合形成工作区。


通过矿卡在各个区域内的一些状态的统计特征,给工作区域打标签,是装载区、卸载区、换电区或者车库,然后通过矿卡的位置,结合对工作区域的定义,得到矿卡的工作路径,继而去判断它的工作状态。



我们进一步把上面的数据实体定义详细设计成了在开发过程中的数据表,基于整理后的数据模型,就可以进行矿卡总体的分析流程。



考虑到矿卡的工作区域会随时间发生变化,所以整个算法流程分成了不同频率运行的两部分,一部分是以较低的频率运行的工作区域的识别部分,是小时级的,比如一小时或者两小时进行一次新的工作区域的识别,来更新整个矿场内的工作区。


这里面包括有4个步骤,首先是对地块做离散化的划分,同时把 GPS得到的矿卡的位置数据转换为它经过的地块节点的序列;之后通过对各个节点内的状态的统计分析,去识别潜在的作业区的节点;再将作业区的节点聚合成作业区的区域;然后通过各个区域内车辆状态的统计分析,去识别这个区域具体是什么样的区域。这个过程就完成了对工作区域的定义。