• 【地磁车辆检测】——解决问题的方法


    这是学习时的笔记,包含相关资料链接,有的当时没有细看,记录下来在需要的时候回顾。

    有些较混乱的部分,后续会再更新。

    欢迎感兴趣的小伙伴一起讨论,跪求大神指点~

    需求提要

    解决停车位人工监管问题,需要设备得知车位停车信息。目前有许多解决的途径,如地感线圈、红外、超声波、雷达、摄像头、地磁等。考虑了成本、功耗、稳定性、安装难易程度、后期维护等问题,最终选用地磁。
    这看起来不是多复杂的问题,但实现过程中仍遇到some troubles。


    解决流程

    对磁传感器一无所知的情况下,很难直接操刀,因此要先了解一下,磁传感器原理,影响地磁的因素,各因素的影响效应。其次,车体构造对地磁影响,因此要获取尽可能多的不同车型停车过程的地磁变化数据。

    磁性及磁传感器

    其实我并不是很明白磁传感器内部构造和具体原理,但测试获取一些数据后,数据变化情况不太一致,有的车辆停放后,地磁数据比基线(初始地磁数据)大,有的反而小。因此查看了磁传感器的磁力变化影响原因:
    当有外界磁场Ha时,传感器上主磁域方向就会发生变化而不再是初始的方向了,那么磁场方向和电流的夹角θ也会发生变化,夹角变化决定了数据趋势是增还是减。
    磁力方向和电流方向夹角
    磁力方向和电流方向夹角
    θ-R特性曲线
    θ-R特性曲线
    同时,明白了磁传感器的方向对检测数据的影响,因此,测试时设计试验需注意。

    推荐阅读磁力计工作原理

    车型差异检测

    实测车辆入库出库的地磁数据变化:
    (只显示地磁z轴数据。图中x轴表示测试得到的数据点,相关时间与测试时的波特率相关。这部分波特率为119200)
    普通电动汽车
    普通电动汽车
    三厢电动汽车
    三厢电动汽车
    普通小轿车
    普通小轿车
    小跑车
    小跑车
    还有电动货车,小型公交,高底盘的SUV等,不一一列举。上述已经能看出各个车型的差异了,而且短期的区分度还是很明显的。

    方法1

    既然区分度如此明显,而且要在单片机上做数据流分析,计算部分越简单越好。因此我采用平均值滤波+阈值+峰谷值差进行判断;无车时用一阶滞后滤波进行基线更新。
    滤波降低了突变情况的干扰;
    阈值与峰谷值差结合,提取有车进入时的稳定变化特征,检测微小抖动、大抖动,当每个阶段稳定后,判断有车或无车。
    简单的算法,理清逻辑后,很容易实现。

    推荐阅读
    基于磁阻的车辆检测 北京交通
    基于地磁的车辆检测 华南理工

    实测遇到的问题

    1. 按大多数论文的说法,基本上认为地球同一个地点的地磁信号不变,可是初期拿到的地磁长时测试数据,效果并不好,一度怀疑是传感器的问题。
      地磁传感器室内获取一天数据的曲线图
      室内尽量减少其他干扰后得到的结果,漂移范围上下波动100左右。同样在室外检测了一组数据(夏),数据变化趋势与温度变化趋势有相关性。
      如果说车辆长时停放时数据漂移严重,此期间不能进行基线更新,那么以此作为判断出库的标志显然是不明智的。

       不选用只看峰谷值差来判断车辆出库,是因为,如果中间出现大的影响因子,这里判断出错,那么后续所有判断都会反转,没有良好的监察机制。
       (后来更换了一个型号的地磁传感器,效果好的多,室内放置两天,上下波动只有10-20左右)
      
    2. 有的车辆完全入库停放后,地磁数据与基线值没有差异。

    方法2

    匹配:记录入库时的散点(保留入库图像特征),在之后的窗移过程中选取合适的点,当点数足够多时开始匹配,我选用DTW匹配,当匹配到合适的图形时,DTW距离出现局部最小,此时匹配完成,认为车出库。当然实际操作,需要再延时检测一会,确定地磁数据稳定后再决定。

    原始数据如图0,记录入库的散点特征如下图1,该部分经过翻转得到,因为入库与出库的特征呈对称分布。最优匹配采集的散点如下图2:


    匹配算法部分比较容易实现,主要问题在于处理数据流时的性能优化。需要窗移,因此我选用单链表,减少移动时的操作。
    但是每次移动,窗口内的峰谷值都发生变化,为了性能优化,我舍弃了窗口内的最大最小值,只比对每次进入的new value、移出窗口的old value和原最大最小值,如果移除的值是当前的max或min,选用old value->next,由于数据流的连续性,基本保留了数据特征。

        优点:不用考虑不同车型和车体结构对地磁影响不同的问题,毕竟做不到各种车型都测一遍。
                   不用考虑基线漂移问题,因为不管基线飘到哪,车出库都对地磁造成影响,且影响效应基本相同。
        缺点:驾驶人的行为问题,多次入库或多次出库都会对匹配造成影响。不过可以用逻辑尽量规避。
                   可能产生局部最优图形,造成的匹配失误。
    

    (若非特别声明,文章是Vanessa的个人笔记,转载请注明出处。文章如有侵权内容,请联系我,我会及时删除)

  • 相关阅读:
    Java中存取权限和修饰符public、private、protected和default的区别和联系
    java集合之ArrayList,TreeSet和HashMap分析
    ResultSet,RowSet,OracleCachedRowSet和RowSetMetaData区别及联系
    实战篇
    kubernetes系列之 service代理模式ipvs
    Python Jinja2的简单使用
    Helm v3从入门到实战
    迷宫
    python多线程下载文件
    乱码,编码
  • 原文地址:https://www.cnblogs.com/Vanessa-Feng/p/7615181.html
Copyright © 2020-2023  润新知