(1)电磁信号A/D采集
A/D转换利用单片机的内置A/D模块实现,通过选择不同的模拟量通道,可以将模拟量直接输入到单片机对应的输入脚,外围电路比较简单。转换后的数据直接保存在片内寄存器中,数据提取方便。A/D转换单片机的A/D通道可以选择8位、10位或者12位采样精度。对于传感器来说,采样精度越高,分辨率就越高,车模位置的判断会更精确。OPA2350在5 V的供电电压下可以将信号放大到4.6 V,单片机的内部基准电压选择高基准电压5 V。所以车模在整个赛道内可以采集到的模拟量大小为0~4.6 V,数字量大小为0~3 760。
将电磁传感器的增益调到比较大的值,可以提高电磁信号采集的精度,应保证车模在正常运行时,电磁传感器采集到的最大值在寄存器可计数范围之内,例如,使用12位精度的A/D采集电磁信号,采集值的计数范围为0~4 095,超出范围的采集值一律记为4 095,导致车模无法获得正常的赛道信息,从而影响车模运行性能。
在电磁信号预处理方面,由于不同赛道的电磁信号可能存在一定的偏差,为了更好地适应赛道,在每次更换赛道前,最好采集一次当前赛道的电感信号最大值以及零点漂移,在车模运行时对所有的电感采集值及偏差计算都采用归一化的数据(当前值-零点漂移/最大值),为方便观察,可以将得到的小数乘以100得到整数数值用于处理。同时也可以根据最大值来确定当前赛道的最大值是否超出采值范围,也可以根据最大值来调整运放模块的电位器,来调整放大倍数,得到合适的结果,让车模更好地运行。
采集到的电磁信号通常会受到干扰,需要多次采集电磁信号,进行信号滤波处理。滤波算法包括中值滤波、均值滤波以及窗口滤波等。中值滤波是指多次采集信号,对采集值进行冒泡排序,然后取中间值作为滤波结果;均值滤波是指对多个采集值进行求和然后除以采样次数;窗口滤波是指对多个采集值进行冒泡排序,取窗口内的元素进行计算得到滤波结果,可以防止偶然采集到的异常值对电磁偏差计算产生较大的干扰。经过实验测试,窗口滤波得到的电磁信号较为接近真实的赛道情况。
(2)电磁信号偏差计算
车模通过电磁传感器探测赛道信息,电磁传感器相当于车模的眼睛,一套鲁棒性强的偏差计算算法决定了眼睛的视力高低。电磁传感器安装示意图如图8.2所示,三个电感等距横向安装在碳素杆上。电磁传感器的安装并不是越复杂越好,尝试过将电感倾斜一定的角度、使用横向电感与竖向电感配合、使用前三后二的双排电感安装方案之后,发现简单的电感安装方法反而鲁棒性更强,对赛道各种特殊元素的适应性更强,例如,这种电磁安装方案可以以完美路径通过十字以及环岛元素,而其他安装方案会发生剧烈抖动的情况。(www.xing528.com)
一个好的电感安装方案还需要电磁偏差计算算法的配合才能更好地识别赛道信息,为后面的运动控制部分打下坚实的基础。电磁信号采集和信号偏差计算通过PIT模块定时5 ms执行一次,假设车模在赛道上以3 m/s的速度运行,连续两次信号采集之间车模应前进1.6 cm,对于路径连续的赛道来说,前后两次电磁信号偏差计算的结果应是十分接近的,如果两次结果差距较大则PID的微分项会使车模发生剧烈抖动,因此电磁信号偏差计算算法应建立在单调、连续的基础上,必要时可以通过限制幅度的方法约束前后两次偏差结果的差距。
图8.2 电磁传感器安装示意图
差分法是一个鲁棒性强,同时满足单调、连续的电磁偏差计算方法。传统的差分方法是将左右电感采集值做差,然后除以左右两电感的采集值之和。经过测试,采用传统的差分方法会导致车模经过直道时,由于左右电感的采集值较小,即分母部分很小,车模在直道行驶的路径较差甚至发生左右摆动的情况。当实际偏差较大的情况下车模转向不及时,导致高速经过弯道时经常冲出赛道。因此在传统的差分方法的基础上进行改进,在分母部分加上了一项中间电感采集值的倍数,当车模实际偏差较小时,中间电感采集值很大,此时的偏差较小。当车模的实际偏差增大时,a×EM项会迅速减小,从而提高转向的实时性,如式(8.2)所示。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。