体系功用及运用
本体系首要完结将智能车行进过程中的各种状况信息(如传感器亮灭,车速,舵机转角,电池电量等)实时地以无线串行通讯办法发送至上位机处理,并制作各部分状况值关于时刻的曲线。有了这些曲线就不难看出智能车在赛道各个方位的状况,各种操控参数的好坏便一望而知了。尤为重要的是关于电机操控PID参数的选取,经过速度一时刻曲线能够很简略发现各套PID参数之间的差异。关于选用CCD传感器的部队来说,该体系便成为了调试者的眼睛,能够见智能车之所见,信任对编写循线算法有很大协助。而且还能够对这些数据作进一步处理,例如求取一阶导数,以得到更多的信息。 体系的硬、软件规划
规划方案首要分红三部分:车载数据收集体系,无线数传体系,上位机数据处理体系。体系根本构建如图1所示。
车载数据收集体系
车载数据收集体系首要由单片机担任收集赛车行进过程中的速度、传感器状况、电池电压、舵机转角等信息。为了使监测体系不占用S12单片机的内部资源而且支撑热插拔,咱们将除供电之外的监测体系与智能车操控体系相别离。咱们挑选ATMEL公司的ATMEGA16单片机作为该数据收集体系的处理器。二值型光电传感器信号的收集直接运用该单片机的I/O口进行收集,接连型光电传感器、电池电压及CCD摄像头信号则选用该单片机的A/D口进行收集,速度信息则经过光电编码器和该单片机的计数器来收集。收集到的数据每20ms向上位机发送一次。
无线数传体系
下位机向上位机传输的是以每20ms传输一组包含了光电编码器值(speed),电池电压(battery),舵机转角值(angle),传感器当时状况(sensor)的数据,如果是在抱负状况下,上位机接纳到的应是上述各值循环呈现的周期性数据,此刻上位机只需将这些数据按次序装入各自的数组并画图即可。但在实践的无线传输过程中或许呈现数据丢掉现象。因而参加恰当的数据校验是必要的,不然会呈现数据装入过错,形成画图的紊乱。咱们在实践过程中是在每组数据中参加0x00,0xff的帧头,当数据呈现过错时,则放弃该帧数据。
数据的无线收发部分选用的是SUNRAY公司的QC96型无线收发模块,该模块能够收发波特率为9600bps的串行数据,间隔可达100m。
上位机的数据接纳及处理
上位机部份首要由四个模块构成:
·数据接纳模块
功用:上位机经过串口收集下位机发送的原始数据。
完成:VC++中完成串口通讯一般有二种办法,分别是MSComm控件和Windows API函数。MSComm简练易用,适用于比较简略的体系,Windows API函数运用较广但比较复杂繁琐,由于此模块的串口通讯功用相对简略,本体系选用前者。在实践过程中运用的是事情驱动的办法,这种办法呼应及时,可靠性高,而且比查询法占用更少的资源。
·存储模块
功用:可直接存储收集到的原始数据,以备今后更多的剖析处理。
完成:在每个OnComm事情被触发后,将串口接纳到的数据直接存入temp临时文件,而且能够在用户的要求下将temp临时文件里的值存储到指定文件。
·数据的剖析和处理模块
功用:将收集到的原始数据进行用户选定的剖析和处理,首要包含丢掉过错数据,以及去除帧头并进行数据装入使命,一同也能够对已保存的数据进行剖析和处理。
完成:将temp临时文件或用户指定文件的数据读出并装入,以下为首要程序代码:
·图形显现模块
功用:以图形界面来显现处理后的数据,以便更直观地调查智能车的运转状况。
完成:将上一模块中装入各数组的数据在用户的挑选的形式下进行画图,能够只看一幅图,也能够将四幅图放在一同进行比照观看。实践的运转界面及作用如图2。
结语
该体系经过增加无线收发模块,将智能车的实时状况信息传到上位机上,经过VC++编程,用图象直观形象地将其表现出来,很好地达到了对智能车状况实时监测的意图,极大当地便了咱们调理PID等智能车参数,对赛道回忆算法的研讨供给了很大的协助。
责任编辑:gt