新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > 基于VI的智能车仿真系统设计

基于VI的智能车仿真系统设计

作者:时间:2012-02-10来源:网络收藏

1 引言

全国高等学校自动化专业教学指导分委员会受国家教育部委托,举办第一届“飞思卡尔”杯大学生邀请赛。为了给参加本次邀请赛的各支队伍提供一个可离线/在线仿真的平台以及理论试验平台,我们开发了基于虚拟仪器技术的仿真系统Plastid(以下简称Plastid)。

本仿真系统基于虚拟仪器技术开发完成,用于智能车的算法仿真及分析。主要有以下几大特点:

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 赛车参数设定界面


上一页 1 2 下一页

评论


相关推荐

技术专区

关闭