本仿真体系依据LabVIEW虚拟仪器技能开发完结,用于智能车的算法仿真及剖析。
1 根本构架
图1是整个仿真体系的构架图,首要分为根本模型层、操控算法层、通讯层以及仿真环境层。
根本模型层包含赛车模型与赛道模型,运用者可依据实践状况设定模型参数,它为整个体系供给了底层的驱动,仿真成果都是在这两个模型的基础上核算的。
图1 仿真体系构架图
操控算法层为运用者供给了3种不同的仿真计划:SubVI、C结点以及单片机在线仿真,详细在后文将会胪陈。运用者可选择其间一个计划输入或移植自己的操控算法。
通讯层只用于单片机的在线仿真,运用CAN模块,能够使单片机与仿真体系进行即时的数据沟通,然后完成动态仿真。
动态仿真环境依据赛车、赛道模型以及操控算法所输出的操控信号(电机操控、转向操控及车速信号等),核算出车的行走路线,并即时地将数据传回操控算法层(其核算周期可调)。
凭仗软件仿真的优势,在仿真过程中,体系能够便利地将各种变量记录下来,特别是一些实践实验时无法丈量的量(如赛车相关于赛道中心线的偏移量、前向角、加快度等),并保存于文件中。在回放形式中,用户能够调用这些文件,对其仿真成果进行后期剖析和处理,继而改善自己的赛车设置以及操控算法。
2.赛道、赛车、途径辨认模型
咱们知道,一个具有高档操控战略的智能车应该在不同的赛道上都具有安稳的发挥,为了验证这一点,就有必要在不同的赛道上做实验。可是,因为各方面的约束,咱们不行能为赛车制造很多的赛道进行测验。但这个问题却可在Plastid中轻易地得到解决:咱们能够规划出不同的赛道,并将其保存成文件,在仿真时将其调用即可。
图2是Plastid的赛道规划界面,用户能够运用“点”来准确设定赛道曲线的下一点方位,运用“弧”则能够以圆心坐标、视点来制作想要得到的弧线,更能够直接选用“手绘”用鼠标在屏幕上制作赛道或从数据文件中导入曲线。其操作界面友爱,修正便利,且易于上手和操作。
图2 赛道规划界面
为了仿真便利,咱们将赛车简化为一个四轮刚体模型,除了一些根本的尺度参数之外,在前轮转向体系,依据赛车的实践状况,咱们用“转向速度”与“最大转向角”两个参数来模仿。
关于途径辨认体系,Plstid给予运用者至多8个的光感传感器的坐标设定,运用者能够恣意地组织传感器的个数和相关于车的摆放坐标(将传感器组织成一条直线,或许弧线等计划),然后到达自己想要的辨认作用。
关于加快的模仿,现在体系暂时以直接加快度为操控量,在对实车进行测验和剖析后,将构建相应的模型。
图3即赛车规划的操作界面,左面为赛车的根本参数,右边为传感器坐标设定、实验赛道生成以及传感器值的即时显现(试驾时用)。
运用者除了能够设定赛车参数外,还能够对所设定好的赛车进行“试驾”,当场检验所规划参数的好坏,并可将赛车信息保存于文件,供仿真时调入运用。
图3 赛车参数设定界面3.操控算法仿真
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 动态仿真界面
4.缺乏与改善
因为Plastid仿真体系还未与实车的仿真进行过深化比较,且开发周期也较短,因而必定留有一些缺乏之处。
该体系现在还只能用于选用光感传感器途径辨认计划的智能车,关于CCD摄像头技能还不支撑。
其次,在仿真过程中,体系仅仅依据轿车的运动学模型(将车简化为一四轮刚体来处理)进行核算,并未考虑其侧滑以及路面摩擦力的影响。这将使其仿真成果与实践成果有必定距离,咱们将在后续工作中依据实车的状况,不断进行实车实验和比照,然后进步其仿实在在度,使其能尽可能地模仿出实践的状况。
最终,核算速度也是体系有必要面对的一大问题。对此,咱们将优化代码,并裁剪不必要的程序,然后进步体系的仿真速度。