归一化处理后的特性曲线如图4。由曲线可知,该组光电管传感器的电压—偏离距离特性曲线基本上呈现三段形态:即两边偏离黑线较远处为斜率较小的直线段,中间为斜率较大的陡升段,黑线附近处底部呈现小平台(某些传感器特性曲线没有显示出平台是因为测试点间隔较大的原因)。利用软件工具对这些曲线进行分段直线拟合,以得到可供算法应用的简单线性关系曲线,结果如图5。
图5 线性拟合后传感器电压—偏离距离特性
有了这些曲线,便可以根据传感器电压,来计算各传感器与赛道中心标记线之间的距离,进而得到连续分布的路径信息。在算法编写过程中,需将上述得到的传感器特性曲线参数写入程序,作为数据库进行保存。
(2)预标定
考虑到赛道差异以及传感器温漂对传感器电压整体变化产生的影响,每次赛车出发前需要进行赛道预标定,从而为下面算法路径识别部分中的归一化处理提供准确的归一化基本参数。
在标定过程中,赛车处于停车状态,但传感器及其电压A/D转换通道仍在工作,单片机不断记录读入的电压值。在赛道上移动赛车使其所有传感器均能扫过白色的路面以及黑色的赛道标记线,这样单片机就能记录下在该赛道上道路传感器的电压最大值(白区电压)以及最小值(黑区电压),为算法中的归一化处理提供基本参数。
(3)路径识别
路径识别(即路径信息获取)为控制算法的核心内容,各步骤在单个决策控制周期内完成。
首先,在每个决策控制周期中,通过A/D转换将传感器电压转换为数字量读入单片机中。
然后,利用在标定过程中得到的传感器电压最大、最小值将得到的传感器电压进行归一化处理。
下面需要确定能够用于确定路径信息的有效传感器。从原始传感器特性曲线中不难看出,曲线在低电压值处的直线度较好,斜率较大,与我们所选取的分段直线模型较为近似,而在高电压值处则有较大偏差,因此为了保证路径信息准确性,需要对传感器信息进行筛选,选用那些所得电压值百分比较小,即与黑色赛道标记线相距较近那些传感器。例如可以选择电压百分比最小的三个传感器作为有效传感器。
接着,就需要调用传感器特性曲线参数进行路径信息计算。从特性参数数据库中调用先前确定的有效传感器的陡升段斜率,传感器中心位置等参数信息。然后根据这些参数以及传感器电压百分比,就可以计算由每一个有效传感器得到的车身中心位置偏离路径标记线的距离。