作者简介:
周斌(1981 -),男(汉),硕士,主要研究方向:动力装置测试与控制
基于虚拟仪器技术的智能车仿真系统
周斌,蒋荻南,黄开胜
(清华大学 汽车安全与节能国家重点实验室 北京 100084)
摘要:针对“飞思卡尔”杯全国大学生智能车邀请赛,本文开发了基于 LabVIEW 虚拟仪器技
术的 Plastid 仿真系统,该系统可针对不同的赛车、赛道、路径识别
、控制策略等
,
进行相关分析,大大提高智能车开发效率。
关键词:智能车,仿真,LabVIEW
Intelligent Vehicle Simulation System Based on VI-Technology
Zhou bin, Jiang dinan, Huang kaisheng
(The State Key Laboratory of Automotive Safety and Energy Conservation, Tsinghua University,
Beijing 100084)
ABSTRACT: This paper introduces the “Plastid” simulation system , which is developed based on
Labview VI-Technology for the 1st Intelligent – Vehicle Contest, and analyses the modelization of
vehicles , paths , control strategy, and so on.
KEY WORDS: intelligent vehicle; simulation; LabVIEW
1 引言
全国高等学校自动化专业教学指导分
委员会受国家教育部委托,举办第一届“飞
思卡尔”杯大学生智能车邀请赛。为了给参
加本次智能车邀请赛的各支队伍提供一个
可离线/在线仿真的平台以及理论试验平
台,我们开发了基于 LabVIEW 虚拟仪器技术
的智能车仿真系统 Plastid(以下简称
Plastid)。
本仿真系统基于LabVIEW虚拟仪器技术
开发完成,用于智能车的算法仿真及分析。
主要有以下几大特点:
1. 赛道与赛车环境模拟
系统对赛道与赛车分别建立了模型,使
用者可以按照指示方便地自行
赛道以
及赛车,将赛道设计成各种各样的直路、弯
路、坡路,将赛车设计成各种尺寸、形状,
从而使得系统的适用性更广泛。另一方面,
本软件更适用于没有条件制作试验赛道的
参赛队伍,他们可以在该系统中检测控制算
法。
2. 控制算法的仿真验证
系统可提供三种不同的控制算法仿真
的方案:子 VI(SubVI)算法仿真、C 结点
算法仿真以及单片机在线仿真。使用者可以
选择其中最适合自己的仿真方法,对自己的
控制算法在系统的环境中进行验证。
3. 路径识别的方案分析
系统提供了采用光感电路来识别路径
的模型,使用者可以按照自己的想法设定传
感器的个数、排列的位置,在 Plastid 上反
复作仿真试验,从而定性得出哪种光感电路
的排列效果较好。由于实地试验时要更换传
感器排列较为耗时,因此本系统给予了此种
定性分析一个极其方便的试验平台。
4. 离线/在线仿真相结合
系统不仅可以离线仿真,还可以通过
CAN 通讯与单片机系统相连,对系统进行虚
拟赛道环境的在线仿真。
使用者通过该仿真系统可以反复对原
始设计方案进行研究,得到近似最优方案
后,再进行实车设计和实际赛道试验,从而
减少了开发的费用和时间成本,大大提高智
能车开发效率。
2 基本构架
图 1 是整个仿真系统的构架图,主要分
为基本模型层、控制算法层、通讯层以及仿
真环境层。
基本模型层包括赛车模型与赛道模型,
使用者可根据实际情况设定模型参数,它为
整个系统提供了底层的驱动,仿真结果都是
在这两个模型的基础上计算得来的。
图 1 仿真系统构架图
控制算法层为使用者提供了3种不同的
仿真方案:SubVI、C 结点以及单片机在线仿
真,具体在后文将会详述。使用者可选择其
中一个方案输入或移植自己的控制算法。
通讯层只用于单片机的在线仿真,使用
CAN 模块,可以使单片机与仿真系统进行即
时的数据交流,从而实现动态仿真。
动态仿真环境基于赛车、赛道模型以及
控制算法所输出的控制信号(电机控制、转
向控制及车速信号等),计算出车的行走路
线,并即时地将数据传回控制算法层(其计
算周期可调)。
凭借软件仿真的优势,在仿真过程中,
系统可以方便地将各种变量
下来,特别
是一些实际试验时无法测量的量(如赛车相
对于赛道中心线的偏移量、前向角、加速度
等),并保存于文件中。在回放模式中,用
户可以调用这些文件,对其仿真结果进行后
期分析和处理,继而改进自己的赛车设置以
及控制算法。
3 赛道、赛车、路径识别模型
我们知道,一个具有高级控制策略的智
能车应该在不同的赛道上都具有稳定的发
挥,为了验证这一点,就必须在不同的赛道
上做试验。然而,由于各方面的限制,我们
不可能为赛车制作无数的赛道进行测试。但
这个问题却可在 Plastid 中轻易地得到解
决:我们可以设计出不同的赛道,并将其保
存成文件,在仿真时将其调用即可。
图 2 是 Plastid 的赛道设计界面,用
户可以使用“点”来精确设定赛道曲线的下
一点位置,使用“弧”则可以以圆心坐标、
角度来绘制想要得到的弧线,更可以直接采
用“手绘”用鼠标在屏幕上绘制赛道或从数
据文件中导入曲线。其操作界面友好,修改
方便,且易于上手和操作。图 2 中的赛道即
根据韩国汉阳大学 2004 年智能车大赛采用
的赛道设计而成。
图 2 赛道设计界面
为了仿真方便,我们将赛车简化为一个
四轮刚体模型,除了一些基本的尺寸参数之
外,在前轮转向系统,根据赛车的实际情况,
我们用“转向速度”与“最大转向角”两个
参数来模拟。
对于路径识别系统,Plstid 给予使用者
至多 8 个的光感传感器的坐标设定,使用者
可以任意地安排传感器的个数和相对于车
的排列坐标(将传感器安排成一条直线,或
者弧线等方案),从而达到自己想要的识别
效果。
对于加速的模拟,目前系统暂时以直接
加速度为控制量,在对实车进行测试和分析
后,将构建相应的模型。
图 3 即赛车设计的操作界面,左边为赛
车的基本参数,右边为传感器坐标设定、试
验赛道生成以及传感器值的即时显示(试驾
时用)。
使用者除了可以设定赛车参数外,还可
以对所设定好的赛车进行“试驾”,当场检
验所设计参数的优劣,并可将赛车信息保存
于文件,供仿真时调入使用。
图 3 赛车参数设定界面
4 控制算法仿真
Plastid 针对不同的使用者提供了三种
不同的控制算法仿真方案:子 VI(SubVI)、
C 结点以及单片机的在线仿真。
首先,最接近于 LabVIEW 编程环境的即
为 SubVI 方案。用户将自己的控制算法,移
植为 LabVIEW 的 SubVI,Plastid 在仿真时
即时地给该 SubVI 输入变量(车速、传感器
值等),SubVI 通过计算得出控制量并输送给
Plastid 仿真循环。SubVI 方案对于熟悉
LabVIEW G 语言编程方法的使用者来说非常
简单,但它的缺点是移植性较差,由于 C 语
言和 G 语言的差别较大,因此将单片机的控
制算法转换为子 VI 的程序需要一定的工作
量。
其次,C 结点方案则更适合于采用 C 语
言编程的使用者们,其原理与 SubVI 方案类
似,但是其程序则可直接用 C 语言编写,用
Visual Studio IDE 将其编译为 dll 文件,
系统在仿真时会自动调用该 dll,从而实现
与 SubVI 一样的控制和反馈。对于本方案,
使用者可以将其单片机的程序进行适当的
修改后即可使用,因此移植性较高。
最后,利用 CAN 模块,系统可以直接与
单片机进行直接通讯,并实现在线仿真。单
片机方面只需要在其CAN接口即时地传送其
控制量(这在程序中很容易添加相应程序),
而 Plastid 则通过 CAN 模块得到这些量,并
传送反馈量给单片机。在这一方案,单片机
的程序修改不大,但需要有 CAN 模块等硬件
支持。
图 4 为系统动态仿真的界面,使用者在
加载完赛道与赛车文件后,即可进行动态的
仿真。其中仿真周期表示系统每一次计算的
时间,可以根据单片机的运算周期进行设
定,但值得一提的是,在仿真过程中,其真
实的仿真周期会根据计算机的性能等因素
而不同,但其仿真的结果可以保证确实根据
该仿真周期计算而得,从而保证其仿真的可
靠性。
图 4 动态仿真界面
5 不足与改进
由于Plastid仿真系统还未与实车的仿
真进行过深入比较,且开发周期也较短,因
此必然留有一些不足之处。
该系统目前还只能用于采用光感传感
器路径识别方案的智能车,对于 CCD 摄像头
技术还不支持。
其次,在仿真过程中,系统只是根据汽
车的运动学模型(将车简化为一四轮刚体来
处理)进行计算,并未考虑其侧滑以及路面
摩擦力的影响。这将使其仿真结果与实际结
果有一定差距,我们将在后续工作中根据实
车的情况,不断进行实车试验和对比,从而
提高其仿真真实度,使其能尽可能地模拟出
实际的情况。
最后,计算速度也是系统必须面临的一
大问题。对此,我们将优化代码,并裁剪不
必要的程序,从而提高系统的仿真速度。
综上所述,本系统主要针对本次智能车
大赛而开发,将在这一届邀请赛过程中进行
不断的优化和改进,争取为广大参赛队伍更
好地完成开发任务而服务。