安徽大学江淮学院学士学位论文
开始 调入赛道 调入赛车 检测赛道 控制 运动模型 界面显示 N 停止 Y 保存运行数据 结束
图7:仿真程序设计步骤
仿真程序块的运行流程图如图,程序在赛道和智能车都调入仿真环境中后,主要在赛道检测,得到赛道信息,通过赛道信息和智能车当前的状态控制智能车的运行,根据运动模型的到下一个仿真周期智能车位置,输出显示智能车几个环节中循环,直到完成比赛。
数据分析模块是用来完成对仿真数据的后期处理,在实际的仿真运行过程中,虽然可以看见智能车的仿真运行状态,但是,由于智能车的运行速度很快,这些状态在以相当高的频率变化,特别是速度表所指示的速度,和实际测试一样,也不能的对运行过程进行分析,但是,在仿真的结束,可以把仿真数据存放在文件中,这里就是对仿真数据的处理程序[5]。
12
安徽大学江淮学院学士学位论文
在完成仿真程序的设计步骤后,剩下的就是利用程序进行仿真,下面给简单介绍了仿真流程。
初始化设置 设置赛道信息 加载赛车信息 命令 发送命令 进入仿真 显示结果
图8:仿真流程图
第四章 利用虚拟仪器平台进行智能车仿真
智能车仿真系统的开发主要分为前面板设计和程序框图设计。完成该系统的开发,首先要对系统的功能进行总体分析,罗列出该系统应该具备的功能,然后进行前面板设计,进而完成程序框图设计,最后经过反复的调试和不断的完善,来最终实现该系统。
在智能车仿真系统的软件设计中,仿真的大体流程是:先完成初始化设置,然后设置赛道信息,即黑线数据,加载赛车信息并发送命令,最终在黑线图像上显示结果[6]。
4. 1 初始化程序
初始化设置主要包括开关串口,串口的选择,波特率的设定,数据比特的设定,奇偶位选择,停止位的选择。其前面板如图9所示。
13
安徽大学江淮学院学士学位论文
图9: 初始化设置前面板
1. 串口选择是VISA资源的名称指定要打开的资源,该控件也指定了会话句柄和类。 2. 波特率是指数据信号对载波的调制速率,它用单位时间内载波调
3. 制状态改变的次数来表示,其单位是波特(Baud)。波特率与比特率的关系是比特率=波特率*单个调制状态对应的二进制位数。
4. 奇偶校验位是一种校验代码传输正确性的方法。根据被传输的一组二进制代码的数位中“1”的个数是奇数或偶数来进行校验。通常专门设置一个奇偶校验位,用它使这组代码中“1”的个数为奇数或偶数。若用奇校验,则当接收端收到这组代码时,校验“1”的个数是否为奇数,从而确定传输代码的正确性。
初始化设置的程序框图如图10所示。
14
安徽大学江淮学院学士学位论文
图10: 初始化设置程序框图
4. 2 赛道和赛车信息的加载
赛道信息即黑线数据,赛道信息在系统显示为黑线数据,这个需要根据自身需要进行设定。主要包括宽度,高度,放大倍数,黑线的掩码和色码。修改黑线的色码后黑线将不再是黑色,而是自己设定的颜色。
4.2.1 利用前面板对基本参数的设置
赛道信息即黑线数据,赛道信息在系统显示为黑线数据,这个需要根据自身需要进行设定。主要包括宽度,高度,放大倍数,黑线的掩码和色码。修改黑线的色码后黑线将不再是黑色,而是自己设定的颜色。
在前面板中可以设定赛道的高度,宽度及图像放大倍数,色码和掩码。其前面板如图11所示。
15
安徽大学江淮学院学士学位论文
图11: 黑线数据及黑线图像显示的前面板
其中:
1. 掩码是字节数组,其中的每一位都描述了一个像素的掩码信息, 2. 色码表是与数据数组映射的两种颜色。
4.2.2 黑线数据及黑线图像显示程序设计 黑线数据及黑线图像显示程序框图如图12所示。
图12: 黑线数据及黑线图像显示程序框图
如下具体介绍了程序的设计步骤:
1. 截取字符串
图13: 截取字符串的图标
16