今天进入数据处理部分。 我们在赛道上以慢速采集转角数据,记录在RAM里。采集的数据作图如下:
 这样的数据有很大的毛刺,不利于后边的分析使用,我采用数学形态法对此数据进行滤波。关于数学形态法,这里只是一个很简单的应用,并且把数学形态学用于滤波也不是我的原创,所以我只作些比较粗略的说明,有兴趣的朋友可以查找其他的论文和书籍。 我这里只用了数学形态学中的开运算,开运算的作用实际是滤去图象中向上的毛刺。它有腐蚀和膨胀两个运算组成。腐蚀在这里就是个在单位元范围内的取小过程,膨胀是个取大过程。根据单位元长度的不同,滤波的力度也不同。单位元越长,滤波作用就越明显。 如下3幅图是单位元长度分别去20,30,40时滤波后的结果: 

 可以看到,当长度为40的时候,在最后小S弯处的信息已经丢失了。综合对比下来,最后我取单位元的长度为20,保证既能起到良好的滤波作用,又不使有用的信息丢失。
由形态学可知,某一点的滤波结果,和它前后20个点的数值有关,我在数据存储前先用一个长度为40的循环队列算出那点滤波后的结果,再存入RAM,这样,在使用数据进行模式判断和提前控制等等的时候,用的就已经是比较规则的数据了。 to be continue... <>>< |