您当前的位置:五五电子网电子知识单片机-工控设备DSP/FPGA技术基于NiosⅡ的单点自适应控制器分析 正文
基于NiosⅡ的单点自适应控制器分析

基于NiosⅡ的单点自适应控制器分析

点击数:7639 次   录入时间:03-04 12:03:00   整理:http://www.55dianzi.com   DSP/FPGA技术

    内容摘要:为了提高道路交叉口通行能力,设计了一种单点交叉口自适应控制系统。系统采用SOPC方案,利用具有NiosⅡ软核的FPGA芯片设计了控制器的硬件,井利用遗传算法建立了信号配时优化模型、VHDL语言进行了遗传算法的硬件化、C语言编写了单点自适应控制器的程序。以成都市温江区南熏-光华大道路口的实测数据为例,进行软硬件系统联调的仿真实验,获得了交叉路口的信号配时优化方案。仿真结果表明,通过采用优化的方案进行交叉口信号配时后,各进口的车辆排队为零。验证了基于NiosⅡ单点在线自适应控制器的设计是有效的。

    目前,解决城市交通拥堵,提高区域效益的重要手段之一是采用城市交通控制系统。单点交叉口控制是交通信号控制系统的最小单元,也是干线交叉口交通信息协调控制和区域交通信号控制系统的基础。单点交叉口的在线式自适应控制能根据前端检测器得到的实时交通信息,自动对交通信号控制的关键参数进行调整,以达到改善交通通行状况的目的,该方式将成为信号控制研究的主流。现代电子系统设计的主要方向之一是采用SOPC(System on a Programmable Chip)实现,SOPC技术的实现方式有3种,其中一种是用含有NiosⅡ软核的FPGA芯片实现。因此,本文对基于NiosⅡ的单点自适应控制器设计开展了研究。

    1 单点自适应控制研究

    单交叉路口信号配时方案的基本内容是信号相位方案和信号基本控制参数,本文侧重于对信号相位方案进行优化。

    1.1 自适应信号机控制策略

    本文用交叉口饱和度s作为选择控制策略的参数,将s分为(0,0.8),[0.8,0.9),[0.9,∞),3个区间,制定本自适应信号机的控制策略。

    当车辆检测器系统出现故障时执行固定周期信号控制。若交叉口饱和度s的值为(0,0.8)就执行感应控制。若交叉口饱和度s的值为[0.8,0.9),就执行单点在线的实时自适应控制。若交叉口饱和度s为[0.9,∞)时,交叉口已处于饱和,应改善交叉口几何条件及交通条件。

    1.2 系统功能分析与整体设计

    设计的信号机控制器模块是交叉口信号灯控制系统的控制核心,其将控制信号灯控制及驱动模块、人机接口模块、通信模块、交通数据采集模块和数据存储模块。

    1.3 车辆检测器安装及作用

    设计在一个交叉路口的每个进口车道安装基于电磁感应原理的车辆检测设备。当有车经过环形地感线圈时,线圈的磁通量会发生变化,车辆检测器将磁通量变化转化为表示线圈上方有车存在或通过的开关信号。每条进口车道埋设两个线圈,一个在停车线后100 m处,称作上游线圈。另一个在停车线前面2~4 m处,称作下游线圈。通过该方式可采集到交通流量、车辆的平均到达率和离开率等交通数据。

    由上游车辆检测器得到的车辆数可计算出一个信号周期内的车辆平均到达率,而从下游车辆检测器得到的车辆数可计算出一个信号周期内的车辆平均离开率。

    2 单点实时自适应控制器设计

    选用ALTEra的FPGA器件CycloneⅡ系列EP2C35F672C8芯片为核心进行了基于NiosⅡ的单点自适应控制器设计研究。使用的软件有QUARTus Ⅱ7.2和NiosⅡ7.2IDE,采用VHDL语言来实现遗传算法的各个模块,然后将遗传算法生成一个Symbol后,结合Quartus内的SOPC Builder来产生一个SOPC,随后在Nios内搭建一个软件系统来控制遗传算法、各交通灯和计时数码管的工作,并结合实验开发板,得到预期结果。

    2.1 单点自适应控制信号机硬件构成

    一套完整的单点自适应控制信号机应具备电源模块、交通数据采集模块、信号机控制器模块、信号灯控制及驱动模块及通信模块等,其连接关系如图1所示。

基于NiosⅡ的单点自适应控制器设计研究

    2.2 遗传算法优化模块设计

    本文提出的单点自适应控制是以各路口车辆滞留数总和最小情况下为各相位配时,基于车辆检测器来测量每个相位在各自周期的到达车辆数和离开车辆数,以此来计算出各相位的到达率和离开率,再结合分配的时间就可预测出下一周期各相位时间的具体分配,利用遗传算法来进行配时方案的最优化处理。

    2.2.1 遗传算法配时优化模型

    以单个交叉路口4个相位配时时间t1、t2、t3、t4这4个变量的优化为例,介绍了优化模型的建立。

    为简化问题,可将4变量求极小值的问题简化为3变量求极小值问题。即以t1、t2、t3为自变量,将问题化为以下3个变量极小值问题

基于NiosⅡ的单点自适应控制器设计研究

    其中,i=1,2,3,4;j=1,2,3,4;k=1,2,3。当i=1时,

基于NiosⅡ的单点自适应控制器设计研究

    为第x-1个周期、第j个方向、第k个车道、第4相位滞留的车辆数;ti为交叉路口各相位的配时,T=t1+t2+t3+t4;rijk表示第i个相位、第j个方向、第k个车道的车辆到达率;dijk表示在绿灯期间内,放行车辆在第i个相位、第j个方向、第k个车道驶离路口的离开率;Pijk表示车辆通行状态,Pijk=1表示第i相位、第j方向、第k车道车辆放行,Pijk=0表示第i相位、第j方向、第k车道车辆禁止放行。

    采用遗传算法做最优化求解,需将极小值问题转化为极大值问题。所以,将目标函数进行变换得到适应度函数如下

基于NiosⅡ的单点自适应控制器设计研究

    其中,S是滞留路口车辆数。在求解过程中,需对每个个体进行适应度计算,其适应度值越高则个体越优。

    2.2.2 遗传算法优化配时程序设计

    遗传算法的基本步骤包括编码、产生初始种群、计算适应度、选择、单点交叉和基本位变异等;按此设计出遗传算法优化配时程序的流程如图2所示。



www.55dianzi.com
基于NiosⅡ的单点自适应控制器设计研究

    2.2.3 遗传算法硬件化

    虽然遗传算法具有诸多优点,且在众多优化问题中均有成功应用,但基本遗传算法本身存在着不足。例如局部搜索能力差、存在未成熟收敛和随机漫游等现象,导致算法的收敛性能差,需较长时间才能找到最优解。尤其是在一些对实时性要求较高的场合,遗传算法的运行时间成为了一个致命的缺点。遗传算法的运行时间受到适应度函数和本质是串行计算的计算机限制。

    所以,本质是并行运行的FPGA在实现遗传算法时就具有较大优势。遗传算法的硬件化和遗传算法的本质思想一致,其包含初始化模块、适应度模块、随机数模块、选择模块、交叉模块和变异模块。此外,还添加了存储个体及个体适应度值的存储模块,地址产生模块和控制算法在选择、交叉、变异循环执行的控制模块等。利于VHDL语言编写程序实现如下模块:

    (1)初始化模块。在接收到系统复位信号结束后,就初始化个体,产生个体及存储个体的存储器地址,本系统里是每次初始化后产生64个个体及相应的64个地址。

    (2)适应度模块。即计算每个个体的适应度值,并输出到存储模块。

    (3)存储模块。分别为存储个体的RAM1和存储适应度值的RAM2,RAM的容量为个体的一倍,即128,因为初始化产生的父代为64个,经变异后的子代也会有64个,然后通过存储地址在一定规律的变化下,新的子代不停替换父代来求得最优解。RAM直接调用QUARTusⅡ内的IP核。

    (4)选择模块。为选择出输入到选择模块中适应度较小的个体和其适应度,输入的个体为随机产生的地址在RAM中随机选择的个体,输出的个体按适应度的大小来比较后产生并输出。

    (5)交叉模块。为了将输入的两个个体按照产生的随机数来进行交叉,如产生的随机数为4,则个体1和个体2的后5位互相交叉,以此来产生新个体。因实际中最大值限制为31,所以每个个体的第7至第5位不进行交叉。选择的概率为0.875,即二进制的11100000,当小于其就进行交叉,否则不交叉。

    (6)变异模块。即将输入的两个个体按照设置好的变异准则变异,本文的变异规则为,在小于变异概率0.0703,即00010010,个体的第4位和第1位取反。当大于变异概率时则不变异。

[1] [2]  下一页


本文关键字:控制器  DSP/FPGA技术单片机-工控设备 - DSP/FPGA技术