安徽大学江淮学院学士学位论文
字符串是输入字符串;偏移量是起始位置并且必须为数值, 字符串中第一个字符的偏移量为0,如没有连线或小于0,则默认值为0。长度必须为数值。如长度没有连线,则默认值为字符串长度减去偏移量。
2. 重排数组维数
图14: 重排数组维数图标
n维数组可以是任何类型的n维数组;维数大小0..m-1指定m维数组的维数,必须为数字,如维数大小为0,函数将创建空字符串;m维数组的数组大小接线端必须为m,m维数组如维数大小的乘积大于输入数组元素的数量,函数将用n维数组的默认数据类型填充新数组。如维数的乘积小于输入数组元素的数量,函数将对数组进行剪切。
3. 捆绑
图15: 捆绑图标
簇是要改变值的簇。如该输入端没有连线,函数将返回簇。连线簇接线端时,“捆绑”。函数将用元素0..n-1替换簇。输入接线端的数量必须匹配输入簇中元素的数量。元素0..n-1可接收任意类型的数据。 输出簇是作为结果的簇。
4. 绘制平化像素图
图16: 平化像素图图标
左上角指定图像左上角在坐标系中的位置。x是右侧增加的水平坐标。y是底部增加的垂直坐标。
17
安徽大学江淮学院学士学位论文
24位、8位、4位、1位像素图是要转换为图像数据的二维数据数组。图像数据的维数应与数组的维数一致。VI将该数据作为颜色数组的索引。
颜色是RGB颜色的数组,与连接至像素图的值对应。连接的像素图可确定LabVIEW如何读取输入的值。掩码该一维数组用于说明每个像素的掩码信息。
图像数据返回像素图的信息,可用绘制平化像素图VI将其绘制为图片,或用各种图形格式VI将图像保存至文件。
图17: 添加数据数组的图片
图17是要添加数据数组的图片,默认值为空图片;图像数据表明要绘制或操作的图像,图像类型保留以便今后使用;新图片是包含新图像的图片。如将该输出连线至其它图片输入端,可为图片添加更多的绘图指令。
绘制平化像素图的程序框图如图19所示。
图18: 绘制平化像素图程序框图
4.2.3 赛道信息的加载
18
安徽大学江淮学院学士学位论文
这里的赛车信息必须是已经存在的,在仿真时只需加载上即可。赛车信息加载模块前面板如图19所示。
图19: 赛车信息加载前面板
加载对话框如图20所示。
图20: 赛道加载对话框
赛道加载模块的程序框图如图21所示。
图21: 赛道加载模块的程序框图
4.3 发送命令
这是进入仿真的命令,设定好之后即可按照已经设定好的命令进行仿真,并能够在黑线图像上显示出仿真结果。
加载完赛车信息后,就可以向系统发送命令以控制赛车在赛道上的运行。其前面板图如22所示。
19
安徽大学江淮学院学士学位论文
图22: 命令发送前面板
发送命令的程序框图如图23所示。
图23: 发送命令的程序框图
命令显示的程序框图如图24所示。
图24: 命令显示程序框图
20
安徽大学江淮学院学士学位论文
I使用。连接其它数据类型作为输入时,该节点将恢复为原来的函数。如数据类型连接到函数后导致基本数学运算的失败,则该函数将返回空矩阵或NaN。通过复合运算函数可添加两个或多个值。
4.4 仿真结果
图25为系统动态仿真界面,使用者在加载玩赛道与赛车信息后,即可进行智能车的动态仿真,其中仿真周期表示系统每次计算的时间,可以根据单片机的运算周期进行设定,但值得一提的是,在仿真过程中,真实的仿真周期会因为计算机的性能等因素而不同,但其仿真的结果可以保证确实根据该仿真周期计算而得,从而保证其仿真的可靠性。
图25: 动态仿真界面
首先,由于 Plastid 仿真系统还未与实车的仿真进行过深入比较,且开发周期也较
短,因此必然留有一些不足之处;其次,在仿真过程中,系统只是根据汽车的运动学模型(将车简化为一四轮刚体来处理)进行计算,并未考虑其侧滑以及路面摩擦力的影响。这将使其仿真结果与实际结果有一定差距,我们将在后续工作中根据实车的情况,不断进行实车试验和对比,从而提高其仿真真实度,使其能尽可能地模拟出实际的情况;最后,计算速度也是系统必须面临的一大问题。对此,我们将优化代码,并裁剪不必要的程序,从而提高系统的仿真速度;综上所述,本系统主要针对本次智能车大赛而开发,将在这一届邀请赛过程中进行不断的优化和改进,争取为广大参赛队伍更好地完成开发任务而服务。
结束语:本文基于对智能车大赛的设计过程,并且利用了虚拟仪器软件LabVIEW,
为智能车比赛开发了一个比赛仿真以及理论试验平台。但由于研究时间较短和个人能力问
21