引 言
2006年8月,清华大学将举办第一届"飞思卡尔"杯全国大学生智能车邀请赛。全国50多所著名高校将参加此项赛事,目前正在积极准备之中。
我们知道,按照传统的开发思想,主要分为制造赛道,硬件布置、控制算法,通过实车的调试再进行相应的修改,如此循环,如图1所示。这种模式具有成本高,开发周期长以及试验无法重现和归档等缺陷。
图1 智能车开发传统模式 |
如果换一种思路,采用虚拟开发模式,先进行虚拟仿真,得到优化的硬件布置和控制算法后,再进行实车开发,这样将大大提高效率和降低成本,见图2。正是在这样的构想下,我们开发了Plastid智能仿真软件。值得一提的是,在韩国4届大赛中,还没有类似软件出现,因此它具有一定的独创性。
图2 智能车开发虚拟模式 |
V型开发模式
软件的开发流程,分为开发平台、仿真内核、操作界面以及匹配标定,由于有"匹配标定"这一个环节,因此我们采取软硬件同步开发的V型开发模式,如图3所示。
图3 V型开发模式 |
我们采用LabVIEW作为软件的开发平台,是因为图形化编程环境LabVIEW,满足建立灵活的可扩展式测试测量和控制应用系统的要求,同时满足以最小成本最快速地开发系统的需求。LabVIEW支持多任务,同时对外设有C语言接口。选用LabVIEW开发还可以提高程序的可靠性。
内核算法涉及汽车专业知识,如图4所示,在每个计算周期中,系统首先计算出传感器输出和赛车车速,输入智能车控制算法中,通过匹配标定单元可得出加速度和前轮转角,在刚体的运动模型算法中得出下一计算周期的车速和赛车坐标。
利用LabVIEW简单易用的GUI控件,可以完全按使用者的需求进行界面的设计。Plastid系统的使用界面做到了美观、大方,简明且操作方便,符合人机工程学。
如图3所示,软件开发的最后环节为匹配标定过程。通过大量的实车试验,我们得到驱动电机Map图,转向性能,加减速性能以及舵机转向性能等实车参数,并将其补充进内核算法中的匹配标定单元(图4)中,从而完善了Plastid。
图4 内核算法图 |
系统构架
图5是整个仿真系统的构架图,主要分为基本模型层、控制算法层、通讯层以及仿真环境层。
图5 Plastid平台构架图 |
基本模型层包括赛车模型与赛道模型,使用者可根据实际情况设定模型参数,它为整个系统提供了底层的驱动,仿真结果都是在这两个模型的基础上计算得来的。
一个具有高级控制策略的智能车应该在不同的赛道上都具有稳定的发挥。在Plastid中很容易解决避免制作很多实际赛道困难,如图6所示,我们可以用点、弧、手绘等方式方便地设计出各种赛道进行仿真使用设计出不同的赛道,并将其保存成文件,在仿真时将其调用即可。
图6 赛道设计界面 |
赛车也是整个仿真的基础模型之一。如图7所示,在赛车参数面板中,左边可以任意设置赛车的几何参数,右边传感器布置区支持各种传感器布置方式的设定。试驾功能可以在设计阶段对赛车的运动和传感器性能进行测试,提高了开发效率。
图7 赛车参数界面 |
控制算法层为使用者提供了3种不同的仿真方案:SubVI、C结点以及单片机在线仿真。使用者可选择其中一个方案输入或移植自己的控制算法。
通讯层只用于单片机的在线仿真,使用CAN模块,可以使单片机与仿真系统进行即时的数据交流,从而实现动态仿真。
首先,最接近于LabVIEW编程环境的即为SubVI方案。此方案对于熟悉LabVIEW G语言编程方法的使用者来说非常简单,但将单片机的控制算法转换为子VI的程序需要一个过程。
其次,C结点方案则更适合于采用C语言编程的使用者们,其程序直接用C语言编写,用Visual Studio IDE将其编译为dll文件,系统在仿真时会自动调用该dll,从而实现与SubVI一样的控制和反馈。
最后,利用CAN或串口模块,系统可以直接与单片机进行直接通讯,并实现在线仿真。单片机方面只需要在其CAN接口或串口即时地传送其控制量,而Plastid则通过模块得到这些量,并传送反馈量给单片机。
动态仿真环境层基于赛车、赛道模型以及控制算法所输出的控制信号(电机控制、转向控制及车速信号等),计算出车的行走路线,并即时地将数据传回控制算法层(其计算周期可调)。
在比赛仿真界面中,通过调用控制算法、赛道、赛车,可以在仿真内核上进行仿真运算(对应调用各个文件)。如图8,界面上实时显示车速、前轮转角等参量的变化。仿真后,可以将仿真过程保存,以供回放时调用。
图8 比赛仿真界面 |
凭借LabVIEW软件的优势,系统可以方便地将仿真过程中的各种变量记录下来,特别是一些实际试验时无法测量的量,保存于文件中。在回放模式中,用户可以调用这些文件,对其仿真结果进行后期分析和处理,从而可以更准确地发现问题,指导赛车设置和控制算法的优化。
成果
通过测试和对比,Plastid智能车仿真平台可以有效地仿真出赛车的实际行驶路线以及直道波动、弯道超调、弯道回转以及交替弯道等现象,具有相当高的仿真精度。
此外,基于LabVIEW的本仿真平台还作为本次智能车大赛的官方软件,与赛车一起配套发布,给其他参赛者们提供了帮助和服务。我们给参赛队提供多次现场培训以及网上在线答疑,使他们能够迅速掌握软件的使用。凭借出色的创意和较高的实用性,Plastid仿真平台在今年清华大学第二届NI杯虚拟仪器设计大赛中获得第一名和最佳创新奖。在清华大学第二十三届"挑战杯"学生课外学术科技作品竞赛中获得了一等奖的殊荣。
综上所述,本仿真平台是在LabVIEW图形化编程环境下开发完成的,并将做不断的优化和改进,为广大参赛队伍更好地完成开发任务而服务。
作者:周斌 蒋荻南 李立国 职务:硕士研究生
学校:清华大学汽车工程系