基于VI的智能车仿真系统设计
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摄像头技术还不支持。
其次,在仿真过程中,系统只是根据汽车的运动学模型(将车简化为一四轮刚体来处理)进行计算,并未考虑其侧滑以及路面摩擦力的影响。这将使其仿真结果与实际结果有一定差距,我们将在后续工作中根据实车的情况,不断进行实车试验和对比,从而提高其仿真真实度,使其能尽可能地模拟出实际的情况。
最后,计算速度也是系统必须面临的一大问题。对此,我们将优化代码,并裁剪不必要的程序,从而提高系统的仿真速度。
综上所述,本系统主要针对本次智能车大赛而开发,将在这一届邀请赛过程中进行不断的优化和改进,争取为广大参赛队伍更好地完成开发任务而服务。
- FPGA技术在汽车电子中的应用(11-26)
- 汽车发动机管理模块测试系统的设计(02-19)
- 基于LabVIEW的汽车助力转向控制系统设计(09-11)
- 电动汽车分布式电机驱动测试系统研究与应用(07-02)
- 基于虚拟仪器技术的汽车尾气检测系统(01-10)
- 基于LabVIEW和PXI的汽车数字仪表测控系统(02-17)