📡 信号的收集
在开始算法之前,首先要了解我们处理的是什么量级的数据。我们的主控 RT1064 开启了 12 位 ADC 采样,这意味着原始数值范围是 0~4096。
在正常赛道之上,电感感应到的有效值大约在 1000 ~ 3500 左右。这个量级下,环境中的噪声导致信号跳动,交给 PID 计算的时候小车会产生莫名的抖动。为了获得平滑的信号,我们采用了死区处理和 N 阶去极值平均滤波。
(1) 采样阶段:多通道同步获取
我们首先在一个控制周期内对 4 路关键传感器进行连续 5 次高速采样,存入缓冲区:
// 采样示例:在一个周期内连续获取多组数据
(i = ; i < ; i++){
filter_buf_L[i] = adc_convert(Left_ADC_Pin);
filter_buf_LS[i] = adc_convert(Left_Shu_Pin);
filter_buf_RS[i] = adc_convert(Right_Shu_Pin);
filter_buf_R[i] = adc_convert(Right_ADC_Pin);
}

