技术领域
[0001] 本发明属于隧道风雪防护技术领域,具体涉及一种高寒山区交通隧道风吹雪智能防护系统及其防护方法。
相关背景技术
[0002] 塔吉克斯坦中塔公路二期部分关键路段项目的起点位于卡勒洪姆区,终点位于鲁尚区边界,其沿既有中塔公路改建扩建。隧址区地貌属高山地貌,洞体横贯山脊,整体地形中部高、两端低。地面标高在1300~2220m之间,地势高低错落、隧道进出口处地势险峻,坡度达40°以上,埋藏深度最大的隧道约880m。隧道现场区域特殊——高原、严寒、多雪,有效施工时间短,生态脆弱,隧址区域进入10月后开始下雪,直到来年的4月或5月,隧道雪害严重,有效施工时间短。其中,隧道施工及运营过程中,隧道洞口主要存在以下安全问题:
[0003] (1)施工过程中,隧道处于高寒山区,施工条件差、工期短;
[0004] (2)隧道出入口在风吹雪作用下极易造成雪的堆积,成灾严重;
[0005] (3)受海拔及气候的影响,高寒山区隧道降雪频繁,且风速风向时常改变;
[0006] 综上所述,高寒山区隧道施工及运营阶段面临风吹雪灾害严重,且现有防护措施无法有效防治高寒山区风吹雪带来的灾害。
具体实施方式
[0046] 下面将结合本发明实施例的图1至图9,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0047] 实施例1
[0048] 如图1至图8所示,本发明实施例提供了一种高寒山区交通隧道风吹雪智能防护系统,具体包括防雪棚1、导风板群组2和中央控制单元,所述防雪棚1设置于隧道洞口处,具体为防雪棚1布置于隧道洞口向外延伸处;导风板群组2设置于隧道顶部的山体上,中央控制单元与导风板群组2连接。
[0049] 导风板群组2包含多个间隔设置于隧道顶部山体上的导风组件,本发明实施例中的多个导风组件具体是按Ansys Fluent软件数值模拟结果在隧道顶部山体上进行布设,每个导风组件包含固定机构、角度调节机构、导风板3、太阳能板4和监控感应单元10,本发明实施例中的监控感应单元10采用FT‑WQX2S风速传感器;所述角度调节机构设置于固定机构的上方,导风板3与角度调节机构连接,太阳能板4和监控感应单元10均与导风板3连接,本发明实施例中的导风板3具体采用的是钢板,太阳能板4为本发明实施例中的第一高度调节组件9和第二高度调节组件6、监控感应单元10和中央处理单元进行供能,监控感应单元10用于监测风速与风向,本发明实施例中在第一安装座81的内部设置有蓄电池,蓄电池与太阳能板、液压杆、监控感应单元和中央处理单元均电性连接,且监控感应单元10与中央控制单元电性连接。
[0050] 具体的,本发明实施例中的固定机构包含第一固定组件11和第二固定组件12,角度调节机构分别与第一固定组件11和第二固定组件12的顶部连接,在具体设计时,本发明实施例中的第一固定组件11和第二固定组件12优选为钢管桩,且第一固定组件11和第二固定组件12底部均为倒锥形结构,通过这样结构的设计能够便于将第一固定组件11和第二固定组件12插入固定在山体内部且通过将其设置为钢管桩能够提高其固定支撑的稳固性。
[0051] 具体的,本发明实施例中的角度调节机构包含旋转调节机构8、滑动旋转调节机构7、第一高度调节组件9和第二高度调节组件6,旋转调节机构8和滑动旋转调节机构7分别设置于第一固定组件11和第二固定组件12的顶部,第一高度调节组件9和第二高度调节组件6的底部分别与旋转调节机构8和滑动旋转调节机构7连接,第一高度调节组件9的顶部与导风板3底部连接,第二高度调节组件6通过连接件5与导风板3连接,本发明实施例中的一高度调节组件9的顶部与导风板3底部焊接,连接件5具体为两个插板,两个插板相邻设置于导风板3上设置有太阳能板4的一面相对的侧面上,第二高度调节组件6的顶部插设于两个插板之间,且第二高度调节组件6通过销轴与连接件5转动连接,在本发明实施例中,为了实现智能控制,第一高度调节组件9和第二高度调节组件6优选为液压杆,在实际设计时也可以选择其他的电动升降杆,例如电动推杆等。
[0052] 具体的,本发明实施例中的旋转调节机构8包含第一安装座81和第一U型连接座82,第一安装座81设置于第一固定组件11的顶部,第一U型连接座82与第一安装座81的顶部转动连接,第一高度调节组件9的底部与第一U型连接座82转动连接,在具体设计时,本发明实施例中的第一安装座81焊接设置于第一固定组件11的顶部,第一U型连接座82与第一安装座81的顶部通过轴承83转动连接,第一高度调节组件9的底部通过插销与第一U型连接座
82转动连接,。
[0053] 具体的,本发明实施例中的滑动旋转调节机构7包含第二安装座71、第二U型连接座74、滑动座72和滑动槽73,第二安装座71设置于第二固定组件12的顶部,滑动槽73开设于第二安装座71的顶部,滑动座72与滑动槽73滑动连接,第二U型连接座74与滑动座72的顶部转动连接,第二高度调节组件6的底部与第二U型连接座74转动连接,在具体设计时,本发明实施例中的第二安装座7焊接设置于第二固定组件12的顶部,滑动座72与滑动槽73通过滑块滑动连接,为了能够实现滑动座72与滑动槽73的稳定滑动功能,可进一步将滑动槽设置为倒T型结构的滑动槽,而滑块匹配设置为倒T型结构的滑块,这样通过滑动槽对滑块的限位,能够避免滑块在滑动槽73滑动过程中,与滑动槽73相分离,第二U型连接座74与滑动座72的顶部通过轴承转动连接。
[0054] 本发明实施例中的中央控制单元包含微控制器和PID控制器,PID控制器分别与监控感应单元10和微控制器电性连接,微控制器分别与第一高度调节组件9和第二高度调节组件6电性连接,微控制器具体采用STM32芯片。
[0055] 实施例2
[0056] 如图9所示,本发明实施例提供了一种高寒山区交通隧道风吹雪智能防护方法,该方法应用如实施例1所述的高寒山区交通隧道风吹雪智能防护系统,具体包括以下步骤:
[0057] S1、多个监控感应单元10分别对监控感应单元10附近的风速和风向数据进行采集,并将采集到风速和风向数据发送至PID控制器;
[0058] S2、PID控制器接收步骤S1发送的风速和风向数据,并判断风速和风向数据是否在安全范围内,若在安全范围,PID控制器将风速和风向数据发送至隧道养护站,若不在安全范围,PID控制器根据风速和风向数据对导风板3的角度进行计算,得到最优PID参数,PID控制器将最优PID参数输出至微控制器;
[0059] 本发明实施例通过PID控制器内部的模糊逻辑的控制算法实现对风速和风向数据的分析以及对最优PID参数的计算,这个算法假设已经拥有风速风向传感器,并且已经对风速风向数据进行了处理,以获得稳定的风速和风向值,从而能够通过算法实现对挡风板角度及倾角的控制。
[0060] 基于PID控制器和模糊逻辑的控制算法,系统采用位置式PID算法与模糊算法相结合;位置式PID算法如下式所示:
[0061]
[0062] 其中,u(k)为执行机构的实际位置;比例项e(k)为用户设定的目标值;积分项∑e(n)为误差的累加值;微分项e(k)‑e(k‑1)为当前误差与上次误差的差值,Kp为比例系数、Ki为积分系数和Kd为微分系数。
[0063] 上述最优PID参数通过以下方法计算得到:
[0064] S21、将风速误差e和风速误差变化率ec分别经量化因子作用后得到模糊化风速误差E和模糊化风速误差变化率Ec,并将模糊化风速误差E和模糊化风速误差变化率Ec作为PID控制器的输入变量,输入到PID控制器,输出变量ΔKP,ΔKI,ΔKd;
[0065] S22、对步骤S21的PID控制器的输入变量和输出变量的模糊论域以及隶属函数进行确定,并根据系统响应前和响应过程中模糊PID参数整定原则,结合实验调整参数的经验(即实际工程或者模拟中多次大量的实验积累经验),得到PID控制中的比例系数Kp、积分系数Ki和微分系数Kd的模糊规则表,将比例系数Kp、积分系数Ki和微分系数Kd的模糊规则表经过模糊推理、反模糊化后得到比例系数Kp、积分系数Ki和微分系数Kd的输出模糊值;
[0066] 所述Kp第一条模糊规则的隶属度函数如下式所示:
[0067] mkp1=mNB(E)·mNB(Ec)
[0068] 其中,mkp1为第一条模糊规则的隶属度函数,mNB(E)为输入值E对应的隶属函数,mNB(Ec)为EC对应的隶属函数;
[0069] 所述Ki第一条模糊规则的隶属度函数如下式所示:
[0070] mki1=mNB(E)·mNB(Ec)
[0071] 其中,mki1为第一条模糊规则的隶属度函数,mNB(E)为输入值E对应的隶属函数,mNB(Ec)为EC对应的隶属函数;
[0072] 所述Kd第一条模糊规则的隶属度函数如下式所示:
[0073] mkd1=mNB(E)·mNB(Ec)
[0074] 其中,mkd1为第一条模糊规则的隶属度函数,mNB(E)为输入值E对应的隶属函数,mNB(Ec)为EC对应的隶属函数;
[0075] 然后根据不同的输入值E、EC对应的隶属函数,可求出Kp、Ki和Kd所对应的不同风速误差和风速误差变化率下的所有模糊规则的隶属度,根据重心法解模糊化得到比例系数Kp、积分系数Ki和微分系数Kd的输出模糊,比例系数Kp、积分系数Ki和微分系数Kd的输出模糊值计算公式分别如下式所示:
[0076]
[0077] 其中,ΔKp、ΔKi和ΔKd分别为输出模糊值,kpj、kij和kdj分别为隶属函数的横坐标,mkpj、mkij和mkdj分别为隶属函数j,kp、ki和kd分别为初值;
[0078] S23、分别对步骤S22得到的比例系数Kp、积分系数Ki和微分系数Kd的输出模糊值进行自整定,分别得到修正后的比例系数Kp、积分系数Ki和微分系数Kd,比例系数Kp、积分系数Ki和微分系数Kd的输出模糊值的自整定公式分别如下式所示:
[0079] Kp=kp+Qp·ΔKp
[0080] Ki=ki+Qi·ΔKi
[0081] Kd=kd+Qd·ΔKd
[0082] 其中,Kp、Ki、Kd为修正后的值,kp、ki和kd分别为初值,Qp、Qi、Qd为比例系数,ΔKp、ΔKi、ΔKd为输出模糊值;
[0083] S24、通过退火算法对步骤S23得到的修正后的比例系数Kp、积分系数Ki和微分系数Kd进行进一步优化,得到最优PID参数。
[0084] 下面给出一个可行的程序语言:
[0085] 首先,需要导入相关的库并定义模糊逻辑变量、模糊集合和PID控制器:
[0086] import numpy as np
[0087] import skfuzzy as fuzz
[0088] from skfuzzy import control as ctrl
[0089] #定义模糊逻辑控制器的输入和输出变量
[0090] wind_speed=ctrl.Antecedent(np.arange(0,101,1),'wind_speed')
[0091] wind_direction=ctrl.Antecedent(np.arange(0,361,1),'wind_direction')[0092] angle=ctrl.Consequent(np.arange(0,91,1),'angle')
[0093] #设定风速的模糊集合和隶属函数
[0094] wind_speed['low']=fuzz.trimf(wind_speed.universe,[0,0,50])
[0095] wind_speed['medium']=fuzz.trimf(wind_speed.universe,[20,50,80])[0096] wind_speed['high']=fuzz.trimf(wind_speed.universe,[50,100,100])[0097] #设定风向的模糊集合和隶属函数
[0098] wind_direction['north']=fuzz.trimf(wind_direction.universe,[0,0,180])
[0099] wind_direction['south']=fuzz.trimf(wind_direction.universe,[180,360,360])
[0100] #设定导风板角度的模糊集合和隶属函数
[0101] angle['small']=fuzz.trimf(angle.universe,[0,0,45])
[0102] angle['medium']=fuzz.trimf(angle.universe,[15,45,75])
[0103] angle['large']=fuzz.trimf(angle.universe,[45,90,90])
[0104] #设定PID控制器的参数
[0105] Kp=1
[0106] Ki=0.1
[0107] Kd=0.1然后,定义模糊规则和PID控制器:
[0108] #设定模糊规则
[0109] rule1=ctrl.Rule(wind_speed['low']&wind_direction['north'],angle['small'])
[0110] rule2=ctrl.Rule(wind_speed['medium']&wind_direction['south'],angle['medium'])rule3=ctrl.Rule(wind_speed['high'],angle['large'])
[0111] #创建模糊逻辑控制系统
[0112] system=ctrl.ControlSystem([rule1,rule2,rule3])
[0113] #创建模糊逻辑控制器
[0114] controller=ctrl.ControlSystemSimulation(system)
[0115] #定义PID控制器
[0116] defcalculate_pid_output(setpoint,process_variable,integral_prior,error_prior):
[0117] error=setpoint‑process_variable
[0118] integral=integral_prior+error
[0119] derivative=error‑error_prior
[0120] output=Kp*error+Ki*integral+Kd*derivative
[0121] return output,integral,error
[0122] 最后,编写一个循环来不断更新风速风向数据,并使用PID控制器和模糊逻辑来计算导风板的角度:
[0123] #循环更新风速风向数据,并计算导风板的角度
[0124] while True:
[0125] #获取风速风向数据
[0126] current_wind_speed=get_current_wind_speed()
[0127] current_wind_direction=get_current_wind_direction()
[0128] #设置模糊逻辑控制器的输入
[0129] controller.input['wind_speed']=current_wind_speed
[0130] controller.input['wind_direction']=current_wind_direction
[0131] #计算模糊逻辑控制器的输出
[0132] controller.compute()
[0133] fuzzy_output=controller.output['angle']
[0134] #获取PID控制器的输入和输出
[0135] setpoint=fuzzy_output
[0136] process_variable=get_current_angle()
[0137] integral_prior=0
[0138] error_prior=0
[0139] #计算PID控制器的输出
[0140] pid_output,integral,error=calculate_pid_output(setpoint,process_variable,integral_prior,error_prior)
[0141] #将PID控制器的输出应用到导风板
[0142] apply_output_to_wind_vane(pid_output)
[0143] #更新PID控制器的状态
[0144] integral_prior=integral
[0145] error_prior=error
[0146] S3、微控制器根据接收到的步骤S2得到的最优PID参数对第一高度调节组件9和第二高度调节组件6的长度和方向进行调整,实现对导向板3的角度与倾角调整;
[0147] S4、重复步骤S1‑S3,直至风速和风向数据在安全范围,PID控制器将风速和风向数据发送至隧道养护站;
[0148] S5、利用导向板3将吹到隧道顶部山体上的风吹雪顺着导向板3的导向重新落到远离隧道顶部山体和隧道洞口的一侧,避免落到隧道顶部山体和隧道洞口。
[0149] 尽管已经示出和描述了本发明的实施例,本领域的普通技术人员可以理解:在不脱离本发明的原理和宗旨的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由权利要求及其等同物限定。