1、 摘要全国大学生智能汽车竞赛是教育部倡导的一种具有探索性工程实践活动的大学生科技竞赛,要求参赛者在飞思卡尔公司提供的模型车体及主控制器芯片基础上,设计制作具有自主道路识别能力的智能赛车,在赛道上以最快速度完成赛程者为优胜。本课题以智能车比赛为背景,以缩短智能车开发周期为目的,利用虚拟仪器开发了智能车仿真软件,为智能车比赛提供可以离线验证控制算法的软件平台,该智能车虚拟系统可针对不同的赛车、赛道、路径识别方案、控制策略等内容进行相关分析和模拟,为节约智能车开发制作成本和提高开发成效提供了新的途径。关键词:虚拟仪器;仿真;LabVIEW;智能车Design of Intelligent Vehic
2、le Simulation SystemBased on VI-TechnologAbstractSmart Car Competition National University Ministry of Education initiated an exploration project with the students practice science and technology competition, requires participants to provide a model of the Freescale body and main controller chip bas
3、ed on the design with independent road recognition into smart car on the track as quickly as those who complete the race for the winner. The topics to match the background of the smart car, smart car to shorten the development cycle for the purpose of using virtual instrumentation developed simulati
4、on software smart car, smart car competition for the provision of control algorithms can be verified off-line software platform, the virtual system for intelligent vehicle different cars, track, path identification scheme, control strategy and other content related to analysis and simulation, intell
5、igent vehicle development to conserve and enhance the development effectiveness of the production costs provides a new way.Key word: Intelligent vehicle; simulation; LabVIEW; Virtual instrument目 录第一章 引 言11. 1 课题研究的背景及意义11. 2 本课题研究的内容31. 3 论文章节安排3第二章 智能车仿真系统的介绍42. 1 开发工具虚拟仪器简介42. 2 LabVIEW的介绍4第三章 智能车
6、虚拟仪器仿真平台基本模块的设计73. 1 赛道功能模块的建立73. 2 智能车功能模块的建立93. 3 仿真程序设计10第四章 利用虚拟仪器平台进行智能车仿真124. 1 初始化程序124. 2 赛道和赛车信息的加载144. 3 发送命令184. 4 仿真结果20结束语20主要参考文献22致 谢2324基于虚拟仪器技术的智能车仿真系统设计第一章 引 言1. 1 课题研究的背景及意义智能车辆技术是涵盖智能控制、模式识别等学科前沿的热点研究领域,其研究与应用具有巨大的理论和现实意义。在交通安全方面,由无人驾驶车辆研究形成的辅助安全驾驶技术,可以通过传感器准确、可靠地感知车辆自身及周边环境信息,及时
7、向驾驶员提供环境感知结果,从而有效地协助提高行车安全,同时也能降低驾驶员对车辆驾驶管理的复杂度,提高单个车辆的运行效率,可以缓解我国城市道路拥堵、交通系统运行效率较低的现状。在汽车产业自主创新方面,通过对无人驾驶车辆理论、技术研究,突破国外汽车行业专利壁垒,掌握具有核心竞争力的关键技术,可以为我国汽车产业自主创新和产业发展提供强有力的支撑。同时在国防科技方面,“快速、精确、高效”的地面智能化作战平台是未来陆军的重要力量,无人驾驶车辆将能代替人在高危险环境下完成各种任务,在保存有生力量、提高作战效能方面具有重要意义,也是无人作战系统的重要基础。 美国在无人驾驶技术上应该是全球走得最远的国家。他们
8、在2004年、2005年就已经举办过智能车挑战赛。 2004年,美国国防部高级研究项目局主办首届机器车挑战大赛。“机器车挑战大赛”(Grand Challenge)吸引了众多民间机构的兴趣,冠军奖金100万美元,全程142英里(约合227公里),路程崎岖,看哪一辆无人驾驶的汽车能够最快地跑完全程,关门时间是10个小时。那次大赛共有105支车队报名,15支车队参赛,但没有一辆车跑完7英里,也就是整个赛程的5%。 2005年9月,第2次比赛继续进行,冠军奖金也提高到了200万美元。斯坦福大学的“斯坦利”获得了第1名,所用时间是6小时53分58秒,时速达到19.1英里。参加挑战赛的车队,有几个共同点
9、,一是赞助商中都有英特尔的影子,他们的处理器来应对各种传感器上的数据;二是都用体量较大的SUV车型进行改装,只有大车才能在车顶、车轮上大动手脚,后备箱里才放得下大个儿的电脑;三是车队里的人都不把这些车当做汽车,而是叫机器人。 2006年5月15日,德国举办了欧洲陆地机器人竞赛,这个比赛是由德国军方组织的。与美国的“挑战赛”不同,欧洲赛事更强调自主性。德国的比赛只有8公里赛程,但参赛车辆必须通过影像处理来寻找道路,周围景物会被处理成3D影像,由光学定向与测距系统对所收集的信息进行导航决策,分析哪里是行人哪里是树木。据介绍,其中一辆参赛车途锐在通过关键的十字路口时还是得靠手动驾驶,它自主行驶了90
10、%的赛程。飞思卡尔”智能车竞赛是由教育部高等学校自动化专业教学指导分委员会主办,飞思卡尔半导体公司协办的全国性的比赛。比赛要求参赛队伍研究并设计一款能够自主辨识路线并能够自主行驶的智能车,在专门设计的封闭跑道上行驶,跑完整个赛程用时越短的参赛队伍成绩越好。智能车的设计要求参赛队伍首先对汽车动力学有一定的研究和了解,从而设计合理的机械结构。同时要求参赛队伍自行设计控制器系统电路、图像采集模块电路、电机驱动电路、电源模块电路等多个部分的电路。在硬件平台搭建完成后,参赛队伍要对智能车系统的路线辨识以及控制算法进行开发和调试,为了后期的调试方便,很多队伍还开发了用于调试的上位机监控程序。智能车大赛以迅
11、猛发展的汽车电子为背景,涵盖了控制、模式识别、传感技术、电子、电气、计算机、机械等多个学科交叉的科技创新比赛。随着赛事的逐年开展,不仅使参赛学生自主创新能力的提高,对于高校相关学科领域的学术水平的提升也有一定的帮助。目前,此项赛事己经成为各高校展示科研成果和学生实践能力的重要途径,同时也为社会选拔优秀的创新人才提供了重要平台。“飞思卡尔”杯智能车竞赛于2000年在韩国首次举办,我国于2006年8月举办第一届“飞思卡尔”杯全国智能车竞赛,当时吸引了来自全国50所高校的112支代表队的参与。在2007年的第二届智能车竞赛中,来自全国26个省(自治区)、直辖市的130余所院校的242支队伍分为5个赛
12、区进行角逐,比赛场面空前激烈我国大学生设计的智能车如下图图1:智能车模型 在智能车的实际设计过程中,经常面临如下几个问题:第一,制作出各种形式的赛道来测试赛车的性能,但是在实际中,很难为智能车的测试设计各种各样的比赛赛道,在经济上和效率上也是不能被接受的;第二,控制算法的实现和验证也需要一定时间,在比赛设计的有限时间里,要选择出合适的控制算法,并且试验它的有效性,也是一个比较艰巨的任务,如何快速验证我们所设计的控制算法,缩短开发周期,在有限的时间里尽可能开发出最好最优的控制算法,对我们提出了挑战;第三,分析车的运行过程进而分析车的控制方法是分析和优化控制算法的一个有效途径,实际上车的运行是一个
13、快速的过程,是转瞬即逝的,很难把车的实际运行过程复现出来的,这样就缺失了有效的分析方法。这些问题都是能够顺利完成比赛的不可避免的障碍。全国大学生智能汽车竞赛是教育部为了加强大学生实践、创新能力和团队精神的培养,在己举办的全国数学建模、电子设计、机械设计、结构设计等4大专业竞赛的基础上而设立的第五项大学生设计竞赛。该竞赛与已举办的教育部4大专业竞赛不同,是以迅猛发展的汽车电子为背景,涵盖了控制、模式识别、传感技术、电子、电气、计算机、机械等多个学科交叉的科技创意性比赛,这对进一步深化高等工程教育改革,培养本科生获取知识、应用知识的能力及创新意识,培养硕士生从事科学、技术研究能力,培养博士生知识、
14、技术创新能力具有重要意义。1. 2本课题研究的内容基于以上的问题,为了能够快速的验证智能车的设计方案,缩短其开发周期,要求在短时间内开发出为团队提供可离线/在线智能车仿真及理论实验平台。本文首先利用了虚拟仪器软件LabVIEW为智能车比赛开发了一个比赛仿真以及理论实验平台,以此实现以下几个部分的功能:1) 赛道与赛车环境建模对比。2) 赛车设计。3) 控制算法的仿真验证。4) 后期分析,以及不足与改进。最后对赛车转弯时间最优问题进行了研究,提出三种转弯策略,通过仿真比较给出了缩短比赛时间,提高比赛成绩的较好的转弯策略。1.3论文章节安排第一章,引言部分。主要介绍了课题研究的背景、意义和内容。第
15、二章,智能车仿真系统的介绍。这章介绍了虚拟仪器仿真工具LabVIEW。第三章,智能车虚拟仪器仿真平台基本模块的设计。包括赛道功能模块、赛车功能模块、仿真程序模块的设计第四章,仿真过程第二章 智能车仿真系统的介绍 2. 1 开发工具虚拟仪器简介虚拟仪器(Virtual Instrumentation)是基于计算机的仪器。计算机和仪器的密切结合是目前仪器发展的一个重要方向。粗略地说这种结合有两种方式,一种是将计算机装入仪器,其典型的例子就是所谓智能化的仪器。随着计算机功能的日益强大以及其体积的日趋缩小,这类仪器功能也越来越强大,目前已经出现含嵌入式系统的仪器。另一种方式是将仪器装入计算机。以通用的
16、计算机硬件及操作系统为依托,实现各种仪器功能。虚拟仪器主要是指这种方式。虚拟仪器实际上是一个按照仪器需求组织的数据采集系统,虚拟仪器的研究中涉及的基础理论主要有计算机数据采集和数字信号处理。目前在这一领域内,使用较为广泛的计算机语言是美国NI公司的LabVIEW。利用LabVIEW,可产生独立运行的可执行文件,它是一个真正的32位编译器。像许多重要的软件一样,LabVIEW提供了Windows、UNIX、Linux、Macintosh的多种版本4。 2. 2 LabVIEW的介绍LabVIEW(Laboratory Virtual Instrument Engineering Workbenc
17、h)是一种图形化的程序开发环境,由美国国家仪器(National Instrument)公司研制开发的,类似于C和BASIC开发环境,但是LabVIEW与其他计算机语言的显著区别是:其他计算机语言都是采用基于文本的语言产生代码,而LabVIEW使用的是图形化编辑语言来编写程序,产生的程序是框图的形式。在开发过程中,用图标就可以代替应用系统的硬件部分,这样就可以省去了很多购买硬件的资金,以节省大量的研发资金。LabVIEW中尽可能的利用了工程师们所熟知的术语、图标和概念,是一个工业标准的开发环境。它结合了图形化编程方式的高性能和灵活性以及专为测试、测量与自动化控制应用设计的高端性能和配置,能为数
18、据采集、仪器控制、测量分析与数据显示等各种应用提供必要的开发工具,这能帮助工程师们提高工作效率4。图形化的程序语言,又称为“G”语言。使用这种语言编程时,基本上不写程序代码,取而代之的是流程图或框图。它尽可能利用了技术人员、科学家、工程师所熟悉的术语、图标和概念,因此,LabVIEW是一个面向最终用户的工具。它可以增强你构建自己的科学和工程系统的能力,提供了实现仪器编程和数据采集系统的便捷途径。使用它进行原理研究、设计、测试并实现仪器系统时,可以大大提高工作效率。2.2.1 VI的概念用LabVIEW开发出的应用程序被称作VI (Virtual Instrument的英文简写,即虚拟仪器),它
19、的表现形式和功能类似于实际的仪器,也很容易改变设置和功能。VI是由图标、连线以及框图构成的应用程序,有Front Panel(前面板)、Block Diagram(后面板)以及图标/连结器(Icon Connector)三部分构成。前面板是应用程序的界面,是人机交互的窗口,主要由Controls(控制量)和Indicators(显示量)构成。当程序运行时,用户通过控制量(例如用户输入数据的文本框以及一些按钮、开关灯)输入数据和控制程序的运行,而显示量(例如显示波形的示波器控件灯)则主要用于显示程序运行的结果。如果将VI程序比作一台仪器的话,那么,控制量就是仪器的数据输入端口和控制开关,用于给程
20、序提供输入数据和控制信号,而显示量则是仪器的显示窗口,用于显示经过程序分析、处理后的结果,如图2.1所示,显然,并非简单地画两个控件就可以运行,在前面板后还有一个与之配套的流程图。图2:面板界面流程图提供VI的图形化源程序,在流程图中对VI编程,以控制和操纵定义在前面板上的输入和输出功能。流程图中包括前面板上的控件的连线端子,还有一些前面板上没有,但编程必须有的东西,例如函数、结构和连线等。图3是一个随机信号发生器的流程图,从中可以看到流程图中包括了前面板上的开关和随机数显示器的连线端子,还有一个随机数发生器的函数及程序的循环结构。随机数发生器通过连线将产生的随机信号送到显示控件,为了使它持续
21、工作下去,设置了一个WhileLoop循环,由开关控制这一循环的结束。如果将VI与标准仪器相比较,那么前面板上的东西就是仪器面板上的东西,而流程图卜的东西相当于仪器箱内的东西。在许多情况下,使用VI可以仿真标准仪器,不仅在屏幕上出现一个惟妙惟肖的标准仪器面板,而且其功能也与标准仪器相差无几。图3: 随机信号发生器的流程图2.2.2 子VI与子程序和其他编程语言一样,在LabVIEW中也存在子程序的概念,在LabVIEW中的子程序被称作子VI。在程序中使用子VI有以下优点:1.将一些代码封装成为一个子VI(即一个图标),可以使程序的结构变得更加清晰、明了。2将整个程序划分为若干模块,每个模块用一
22、个或者几个子VI实现,易于程序的编写和维护。3.将一些常用的功能编制成一个子VI,在需要的时候可以直接调用,不用重新编写这部分程序,因而子VI有利于代码复用。2.2.3 Labview平台的特点LabVIEW平台的特点可归结为以下几个方面:1.基于图形化的编程方式,其编程十分简洁方便,是真正的工程师的语言;2.提供丰富的数据采集、分析及存储的库函数;3.提供传统的程序调试手段,如单步执行、设置断点,同时提供设置探针、显示数据流动画等独具特色的调试方法;4.继承传统编程语言结构化和模块化的优点,这对于建立复杂应用和代码的可重用性来说是至关重要的;5.囊括了PCI, GPIB, PXI, VXI,
23、 RS232/485, USB等各种仪器通信总线标准的所有功能函数,使不懂总线标准的开发者也能驱动不同总线标准接口设备与仪器;6.提供大量与外部代码或软件进行链接的机制,诸如DLL(动态链接库)、DDE(共享库)、ActiveX等;7.具有强大的Internet功能,支持常用的网络协议,方便网络、远程测量仪器的开发。第三章 智能车虚拟仪器仿真平台基本模块的设计3. 1 赛道功能模块的建立仿真系统提供赛道设计赛道功能模块,可以快速地建立起赛道,很好地解决了实际中设计不同赛道的经济性和效率性的问题,赛道设计功能模块就是为所要对智能车比赛的真实赛道建模。用户可以在系统中自行设计不同的赛道,然后保存为
24、文件,在仿真时将其调用即可8。在仿真软件的设计过程中,赛道设计是以简化了的赛道为模型,即在软件的制作过程中,以点的形式存储赛道,两个相关联的点之间的距离定义为分辨率,分辨率是连续赛道的数字量化的量度,赛道的具体体现是认为两个相连的点之间是直线连接的,在分辨率设置很低的情况下,软件设计中限定了最大分辨率为0.5厘米,这样,即使是曲线的赛道也可以近似为直线,不会对仿真精度产生多大的影响10。 赛道的生成是以赛道段为单位的,所谓赛道段就是具有同种形状的赛道,比如,只是直线赛道,那就认为为一个赛道段,一个直线末端连一个半径为0.5米的角度为180的弧,则认为为两个赛道段,对于弧线,不同的半径认为是在不
25、同的赛道段上。当然也可以把一个赛道段划分为多个赛道段。赛道段总体上分为两类,直线段和弧线段,直线段信息为端点,弧线段信息为俯视旋转方向、角度和半径信息。用户首先要根据实际赛道的工程图纸,在不同的赛道段连接点建立起平面直角坐标系下的坐标,然后可以根据图纸,从起点开始依次输入各个赛道段信息,直到终点。这样就可以在仿真环境里建立起一个虚拟赛道利用了LabVIEW可视化的优势,为用户提供了友好的交互方式,方便了赛道设计,赛道设计界面包括:起始设置、操作和赛道显示三个部分:1) 起始设置为设置生成赛道的分辨率,以及赛道的起始坐标点;2) 操作部分的功能有赛道的生成方式、直线、弧线、撤销、保存赛道和停止;
26、 3) 赛道的生成方式有两种,分别为创建赛道和调入赛道,选择调入赛道是从磁盘文件中调入已经保存好的赛道文件,用来查看已有的赛道。选择创建赛道就要求用户自行定制新的赛道1。图 4 是 已完成的Plastid 的赛道设计图,用户可以使用 “ 点 ” 来精确设定赛道曲线的下一点位置,使用 “ 弧 ” 则可以以圆心坐标、角度来绘制想要得到的弧线,更可以直接采用 “ 手绘 ” 用鼠标在屏幕上绘制赛道或从数据文件中导入曲线。其操作界面友好,修改方便,且易于上手和操作。图 4中的赛道即根据韩国汉阳大学 2004 年智能车大赛采用的赛道设计而成图4:赛道界面图3. 2智能车功能模块的建立智能车体也是整个仿真的
27、基本要素之一。该模块是对智能车的基本参数进行设置,在软件环境中建立起智能车的外观模型,这些参数包括车的长度,车的宽度,轮距,轴距,转向参数,对于给定的智能车,这些基本参数是相同且不可改变的,为了使软件更通用,软件也对这些基本参数进行了可写操作,为了在更换了智能车的情况下也可以用它来仿。下图给出了赛车设计的界面。图5:智能车参数设计图为了仿真方便,我们将赛车简化为一个四轮刚体模型,除了一些基本的尺寸参数之外,在前轮转向系统 ,根据赛车的实际情况,我们用 “ 转向速度 ” 与 “ 最大转向角 ” 两个参数来模拟。对于路径识别系统, Plstid 给予使用者至多 8 个的光感传感器的坐标设定,使用者
28、可以任意地安排传感器的个数和相对于车的排列坐标(将传感器安排成一条直线,或者弧线等方案),从而达到自己想要的识别效果。图 6 即赛车设计的操作界面,左边为赛车的基本参数,右边为传感器坐标设定、试验赛道 生成以及传感器 值的即时显示(试驾时用) 图6:智能车设计操作界面使用者除了可以设定赛车参数外,还可以对所设定好的赛车进行 “ 试驾 ” ,当场检验所设计参数的优劣,并可将赛车信息保存于文件,供仿真时调入使用3. 3 仿真程序设计仿真界面是软件的核心部分,它是模拟智能车的真实赛道运行的环境,包括控制台和显示屏两部分。首先,赛道文件调入程序对赛道数据文件的读取,加载赛道数据到仿真环境,成为智能车仿
29、真运行的基础,然后调入智能车文件程序,程序会根据赛道的起始点自动调整智能车,使其以最佳的姿态停在赛道上2。仿真程序是仿真软件的核心,它主要为模拟传感器检测赛道功节点、控制算法功能节点、智能车运动模型模拟节点和智能车的显示功能节点。仿真程序的设计步骤如图7所示。YN开始调入赛道调入赛车界面显示运动模型控制检测赛道停止保存运行数据结束图7:仿真程序设计步骤仿真程序块的运行流程图如图,程序在赛道和智能车都调入仿真环境中后,主要在赛道检测,得到赛道信息,通过赛道信息和智能车当前的状态控制智能车的运行,根据运动模型的到下一个仿真周期智能车位置,输出显示智能车几个环节中循环,直到完成比赛。数据分析模块是用
30、来完成对仿真数据的后期处理,在实际的仿真运行过程中,虽然可以看见智能车的仿真运行状态,但是,由于智能车的运行速度很快,这些状态在以相当高的频率变化,特别是速度表所指示的速度,和实际测试一样,也不能的对运行过程进行分析,但是,在仿真的结束,可以把仿真数据存放在文件中,这里就是对仿真数据的处理程序5。在完成仿真程序的设计步骤后,剩下的就是利用程序进行仿真,下面给简单介绍了仿真流程。进入仿真加载赛车信息命令设置赛道信息初始化设置显示结果发送命令图8:仿真流程图第四章 利用虚拟仪器平台进行智能车仿真智能车仿真系统的开发主要分为前面板设计和程序框图设计。完成该系统的开发,首先要对系统的功能进行总体分析,
31、罗列出该系统应该具备的功能,然后进行前面板设计,进而完成程序框图设计,最后经过反复的调试和不断的完善,来最终实现该系统。 在智能车仿真系统的软件设计中,仿真的大体流程是:先完成初始化设置,然后设置赛道信息,即黑线数据,加载赛车信息并发送命令,最终在黑线图像上显示结果6。4. 1 初始化程序初始化设置主要包括开关串口,串口的选择,波特率的设定,数据比特的设定,奇偶位选择,停止位的选择。其前面板如图9所示。图9: 初始化设置前面板1. 串口选择是VISA资源的名称指定要打开的资源,该控件也指定了会话句柄和类。2. 波特率是指数据信号对载波的调制速率,它用单位时间内载波调3. 制状态改变的次数来表示
32、,其单位是波特(Baud)。波特率与比特率的关系是比特率=波特率*单个调制状态对应的二进制位数。4. 奇偶校验位是一种校验代码传输正确性的方法。根据被传输的一组二进制代码的数位中“1”的个数是奇数或偶数来进行校验。通常专门设置一个奇偶校验位,用它使这组代码中“1”的个数为奇数或偶数。若用奇校验,则当接收端收到这组代码时,校验“1”的个数是否为奇数,从而确定传输代码的正确性。初始化设置的程序框图如图10所示。 图10: 初始化设置程序框图4. 2 赛道和赛车信息的加载赛道信息即黑线数据,赛道信息在系统显示为黑线数据,这个需要根据自身需要进行设定。主要包括宽度,高度,放大倍数,黑线的掩码和色码。修
33、改黑线的色码后黑线将不再是黑色,而是自己设定的颜色。4.2.1 利用前面板对基本参数的设置赛道信息即黑线数据,赛道信息在系统显示为黑线数据,这个需要根据自身需要进行设定。主要包括宽度,高度,放大倍数,黑线的掩码和色码。修改黑线的色码后黑线将不再是黑色,而是自己设定的颜色。在前面板中可以设定赛道的高度,宽度及图像放大倍数,色码和掩码。其前面板如图11所示。图11: 黑线数据及黑线图像显示的前面板其中:1. 掩码是字节数组,其中的每一位都描述了一个像素的掩码信息,2. 色码表是与数据数组映射的两种颜色。4.2.2 黑线数据及黑线图像显示程序设计黑线数据及黑线图像显示程序框图如图12所示。图12:
34、黑线数据及黑线图像显示程序框图 如下具体介绍了程序的设计步骤:1. 截取字符串图13: 截取字符串的图标字符串是输入字符串;偏移量是起始位置并且必须为数值, 字符串中第一个字符的偏移量为0,如没有连线或小于0,则默认值为0。长度必须为数值。如长度没有连线,则默认值为字符串长度减去偏移量。2. 重排数组维数图14: 重排数组维数图标n维数组可以是任何类型的n维数组;维数大小0.m-1指定m维数组的维数,必须为数字,如维数大小为0,函数将创建空字符串;m维数组的数组大小接线端必须为m,m维数组如维数大小的乘积大于输入数组元素的数量,函数将用n维数组的默认数据类型填充新数组。如维数的乘积小于输入数组
35、元素的数量,函数将对数组进行剪切。3. 捆绑图15: 捆绑图标簇是要改变值的簇。如该输入端没有连线,函数将返回簇。连线簇接线端时,“捆绑”。函数将用元素0.n-1替换簇。输入接线端的数量必须匹配输入簇中元素的数量。元素0.n-1可接收任意类型的数据。输出簇是作为结果的簇。4. 绘制平化像素图图16: 平化像素图图标左上角指定图像左上角在坐标系中的位置。x是右侧增加的水平坐标。y是底部增加的垂直坐标。24位、8位、4位、1位像素图是要转换为图像数据的二维数据数组。图像数据的维数应与数组的维数一致。VI将该数据作为颜色数组的索引。颜色是RGB颜色的数组,与连接至像素图的值对应。连接的像素图可确定L
36、abVIEW如何读取输入的值。掩码该一维数组用于说明每个像素的掩码信息。图像数据返回像素图的信息,可用绘制平化像素图VI将其绘制为图片,或用各种图形格式VI将图像保存至文件。 图17: 添加数据数组的图片图17是要添加数据数组的图片,默认值为空图片;图像数据表明要绘制或操作的图像,图像类型保留以便今后使用;新图片是包含新图像的图片。如将该输出连线至其它图片输入端,可为图片添加更多的绘图指令。绘制平化像素图的程序框图如图19所示。图18: 绘制平化像素图程序框图4.2.3 赛道信息的加载这里的赛车信息必须是已经存在的,在仿真时只需加载上即可。赛车信息加载模块前面板如图19所示。图19: 赛车信息
37、加载前面板加载对话框如图20所示。图20: 赛道加载对话框赛道加载模块的程序框图如图21所示。图21: 赛道加载模块的程序框图4.3 发送命令这是进入仿真的命令,设定好之后即可按照已经设定好的命令进行仿真,并能够在黑线图像上显示出仿真结果。加载完赛车信息后,就可以向系统发送命令以控制赛车在赛道上的运行。其前面板图如22所示。图22: 命令发送前面板发送命令的程序框图如图23所示。图23: 发送命令的程序框图命令显示的程序框图如图24所示。图24: 命令显示程序框图I使用。连接其它数据类型作为输入时,该节点将恢复为原来的函数。如数据类型连接到函数后导致基本数学运算的失败,则该函数将返回空矩阵或N
38、aN。通过复合运算函数可添加两个或多个值。4.4 仿真结果图25为系统动态仿真界面,使用者在加载玩赛道与赛车信息后,即可进行智能车的动态仿真,其中仿真周期表示系统每次计算的时间,可以根据单片机的运算周期进行设定,但值得一提的是,在仿真过程中,真实的仿真周期会因为计算机的性能等因素而不同,但其仿真的结果可以保证确实根据该仿真周期计算而得,从而保证其仿真的可靠性。图25: 动态仿真界面 首先,由于 Plastid 仿真系统还未与实车的仿真进行过深入比较,且开发周期也较短,因此必然留有一些不足之处;其次,在仿真过程中,系统只是根据汽车的运动学模型(将车简化为一四轮刚体来处理)进行计算,并未考虑其侧滑
39、以及路面摩擦力的影响。这将使其仿真结果与实际结果有一定差距,我们将在后续工作中根据实车的情况,不断进行实车试验和对比,从而提高其仿真真实度,使其能尽可能地模拟出实际的情况;最后,计算速度也是系统必须面临的一大问题。对此,我们将优化代码,并裁剪不必要的程序,从而提高系统的仿真速度;综上所述,本系统主要针对本次智能车大赛而开发,将在这一届邀请赛过程中进行不断的优化和改进,争取为广大参赛队伍更好地完成开发任务而服务。结束语:本文基于对智能车大赛的设计过程,并且利用了虚拟仪器软件LabVIEW,为智能车比赛开发了一个比赛仿真以及理论试验平台。但由于研究时间较短和个人能力问题,没有深入此类研究,最终仅是
40、实现了其中的智能车调试系统。软件操作上。由于先前没有接触过LabVIEW,对LabVIEW的掌握不够充分,设计之初遇到了很大的麻烦,但在指导老师的帮助和自己的努力下,慢慢领会到了LabVIEW的精髓,并掌握了其软件开发思想。LabVIEW其实跟C语言在本质上是一样的,只是它们的表现形式不同。虽然已经掌握了C语言的编程技巧和思想,但是不经过细致的学习LabVIEW也无法熟练的运用它进行编程。至今完成某几个功能的实现,但是无法将几个已经编好的程序联系到一起。主要参考文献1王磊,陶梅.精通LabVIEW8.0M.北京:电子工业出版社,2007:65-69.2金维香.图形化程序设计G语言LabVIEW
41、与虚拟仪器J.长沙电力学院学报,2002,17(1):14-17.3LabVIEW User Manual. National Instruments Corporation, 2003.4毕试皓.智能车建模和仿真软件设计D.西安理工大学硕士论文,2007.5董秀成.控制算法的计算机仿真及比较研究 J.电讯技术, 2000, 23(5): 52-56. .6吴旭光,王新民,杨惠珍等.计算机仿真技术M.西安:西北工业大学出版2005:5-9.7金志强,包启亮.一种基于LabVIEW的PID控制器设计的方法J.控制系统,2005 21(6):1-2.致 谢首先衷心感谢廖素引老师的指导,本论文是在她的悉心指导与关怀下完成的。在学习和论文的研究过程中,自始至终得到了她的耐心指导、关心和帮助。无论在学术研究、实际工作,还是在为人处事中,都给我以深深的教益和启迪,在毕业设计期间,遇到种种困难,在指导老师的鼓励和帮助下,我学会了发现问题,探索问题的根源以寻找解决问题的方案,培养了乐观上进、积极进取、团结协作和顽强拼搏的工作精神,在此要向老师表示最衷心的感谢和敬意。最后还要感谢我们此类课题中的每一个成员在本文写作期间的大力帮助!谢玉兴2011-4-20