本發(fā)明涉及燃料電池,具體是面向車載多核控制器的燃料電池自學(xué)習(xí)控制方法。
背景技術(shù):
1、燃料電池作為一種新興的發(fā)電技術(shù),具有能量效率高、零噪聲、低排放等特點(diǎn),這也決定了在能源與環(huán)境危機(jī)日益嚴(yán)重的今天,其在新能源汽車領(lǐng)域具有廣泛的應(yīng)用前景。質(zhì)子交換膜燃料電池(pemfc)作為汽車上應(yīng)用最廣泛的一種燃料電池,其工作原理在于:以氫氣和氧氣作為原料發(fā)生電化學(xué)反應(yīng),將化學(xué)能直接轉(zhuǎn)化為電能,從而源源不斷地產(chǎn)生電流。燃料電池高效安全地工作離不開輔助系統(tǒng)的運(yùn)行,其中燃料電池系統(tǒng)扮演了極為重要的角色。
2、燃料電池系統(tǒng)具有高度非線性、強(qiáng)耦合的特點(diǎn),涉及到眾多部件的協(xié)同工作。有效地對(duì)燃料電池系統(tǒng)的結(jié)構(gòu)和性能進(jìn)行描述和研究,離不開對(duì)其內(nèi)部動(dòng)態(tài)系統(tǒng)的精確建模。然而,由于部件繁多、工作機(jī)理復(fù)雜,相應(yīng)地燃料電池系統(tǒng)建模難度也大大提高。此外,隨著燃料電池的運(yùn)行,燃料電池的健康狀態(tài)會(huì)逐漸發(fā)生變化,會(huì)造成燃料電池系統(tǒng)發(fā)生時(shí)變,導(dǎo)致燃料電池系統(tǒng)建模難度進(jìn)一步加大。為同時(shí)兼顧建模難度和模型精度,變參數(shù)模型在面向控制模型結(jié)構(gòu)上通過(guò)參數(shù)迭代算法使得模型具有良好的精度,可以適應(yīng)不同的工況條件同時(shí)適應(yīng)燃料電池系統(tǒng)長(zhǎng)生命周期內(nèi)的動(dòng)態(tài)特性。
3、另一方面,由于工況的不斷變化和外部擾動(dòng)的存在,單一控制器很難保持寬運(yùn)行工況范圍內(nèi)控制精度,可能在某些工況下取得較高的控制精度,但在另一工況下出現(xiàn)嚴(yán)重偏差。
4、此外,燃料電池系統(tǒng)時(shí)變多以天、周、月變化,而系統(tǒng)動(dòng)態(tài)響應(yīng)時(shí)間為百毫米級(jí)、控制器時(shí)間步長(zhǎng)十毫米級(jí),如何開發(fā)適應(yīng)系統(tǒng)時(shí)變的控制系統(tǒng)同時(shí)處理好多時(shí)間尺度引入的控制系統(tǒng)設(shè)計(jì)復(fù)雜的問(wèn)題。
5、對(duì)此,本發(fā)明提出自學(xué)習(xí)控制策略,實(shí)現(xiàn)寬工況范圍和長(zhǎng)生命周期內(nèi)的燃料電池系統(tǒng)精確控制。然而,所述自學(xué)習(xí)控制策略,需要分別采用自學(xué)習(xí)優(yōu)化算法對(duì)模型和控制器進(jìn)行實(shí)時(shí)優(yōu)化,但多種優(yōu)化自學(xué)習(xí)算法的運(yùn)行,會(huì)極大地消耗車載控制器的算力,導(dǎo)致運(yùn)行緩慢甚至運(yùn)行崩潰,不利于在車載控制器上實(shí)時(shí)運(yùn)行。因此,本發(fā)明在提出自學(xué)習(xí)控制策略的基礎(chǔ)上,面向車載多核控制器,開發(fā)基于多核芯片的并行自學(xué)習(xí)控制策略,降低多任務(wù)計(jì)算負(fù)擔(dān)的同時(shí),通過(guò)設(shè)計(jì)多核優(yōu)化策略解決多時(shí)間尺度學(xué)習(xí)與控制協(xié)調(diào)的難題。
技術(shù)實(shí)現(xiàn)思路
1、針對(duì)上述存在的問(wèn)題,本發(fā)明提出面向車載多核控制器的燃料電池自學(xué)習(xí)控制方法。
2、為實(shí)現(xiàn)上述目的,本發(fā)明提供如下技術(shù)方案:
3、面向車載多核控制器的燃料電池自學(xué)習(xí)控制方法,所述方法包括:
4、s01、基于燃料電池機(jī)理研究建立燃料電池系統(tǒng)機(jī)理模型,再根據(jù)若干合理假設(shè)將該模型簡(jiǎn)化,得到燃料電池系統(tǒng)面向控制的模型,用于計(jì)算燃料電池系統(tǒng)的狀態(tài)變量和控制目標(biāo);其中控制目標(biāo)由狀態(tài)變量和模型參數(shù)計(jì)算得到,用于表征燃料電池系統(tǒng)的工作狀態(tài);
5、s02、設(shè)計(jì)控制器對(duì)燃料電池系統(tǒng)進(jìn)行控制,使其能夠始終處于安全、高效的最佳工作狀態(tài);
6、s03、采用模型參數(shù)自學(xué)習(xí)算法,根據(jù)同一時(shí)刻的燃料電池系統(tǒng)狀態(tài)變量和輸入變量真實(shí)值,計(jì)算出下一時(shí)刻的模型參數(shù),代入到模型中計(jì)算出下一時(shí)刻的控制目標(biāo)和狀態(tài)變量,與下一時(shí)刻測(cè)量的狀態(tài)變量真實(shí)值作對(duì)比,用以驗(yàn)證模型參數(shù)自學(xué)習(xí)的效果;
7、s04、采用控制器自學(xué)習(xí)算法對(duì)控制器參數(shù)進(jìn)行實(shí)時(shí)更新;
8、s05、使用多核處理器,將燃料電池系統(tǒng)自學(xué)習(xí)控制任務(wù)分配到處理器的各個(gè)核中,以并行方式執(zhí)行,可以同步實(shí)現(xiàn)模型優(yōu)化、控制器優(yōu)化和對(duì)燃料電池系統(tǒng)的實(shí)時(shí)控制,減少控制器的負(fù)載,減少算法運(yùn)行的時(shí)間,保證了控制的實(shí)時(shí)性和精確性。
9、作為本發(fā)明進(jìn)一步的技術(shù)方案,在步驟s01中,燃料電池系統(tǒng)為燃料電池空氣系統(tǒng)時(shí),其狀態(tài)變量包括但不限于陰極壓力、入堆壓力等,控制目標(biāo)包括但不限于過(guò)氧比等;于是,與、存在如下關(guān)系:
10、;
11、其中,為常數(shù),可由模型參數(shù)計(jì)算得到。為電堆單體數(shù),為電堆電流;
12、同時(shí),將模型用于燃料電池系統(tǒng)的前饋控制,以提升控制的響應(yīng)速度,提高控制品質(zhì)。將模型重構(gòu)為如下形式:
13、;
14、式中,為與模型相關(guān)的參數(shù);
15、令,則有前饋輸入:
16、。
17、作為本發(fā)明進(jìn)一步的技術(shù)方案,在步驟s02中,以空氣系統(tǒng)為例,存在一個(gè)期望過(guò)氧比使得燃料電池空氣系統(tǒng)處于最佳工作狀態(tài),設(shè)計(jì)控制器對(duì)過(guò)氧比進(jìn)行跟蹤控制;其中,控制器由三個(gè)部分組成:反饋控制律、擾動(dòng)觀測(cè)器和前饋控制;反饋控制律用于實(shí)現(xiàn)對(duì)系統(tǒng)狀態(tài)變量期望值的跟蹤控制,使得燃料電池系統(tǒng)處于最佳工作狀態(tài);擾動(dòng)觀測(cè)器用于估計(jì)燃料電池系統(tǒng)運(yùn)行過(guò)程中的擾動(dòng),補(bǔ)償?shù)教摂M輸入中,增強(qiáng)控制的魯棒性;前饋控制使得控制器的響應(yīng)速度更快,提高控制品質(zhì);
18、前饋控制:以基于模型的前饋為例,
19、反饋控制律:以pi反饋控制為例,反饋輸入為:
20、;
21、擾動(dòng)觀測(cè)器:以擴(kuò)張狀態(tài)觀測(cè)器為例,用以估計(jì)系統(tǒng)擾動(dòng):
22、;
23、式中,為系統(tǒng)輸入變量,為輸入增益,為觀測(cè)器增益,為系統(tǒng)狀態(tài)變量觀測(cè)值;
24、于是,控制器的總控制律為:
25、。
26、作為本發(fā)明進(jìn)一步的技術(shù)方案,在步驟s03中,設(shè)模型自變量為、因變量為,模型參數(shù)為;現(xiàn)有的參數(shù)自學(xué)系算法主要有基于誤差的自學(xué)習(xí)和基于概率的自學(xué)習(xí),其原理在于以估計(jì)誤差或概率密度函數(shù)為目標(biāo)函數(shù),即求解優(yōu)化問(wèn)題或,得到最優(yōu)解,即為模型參數(shù)的最優(yōu)值。
27、作為本發(fā)明進(jìn)一步的技術(shù)方案,所述參數(shù)自學(xué)習(xí)算法采用貝葉斯估計(jì):
28、將燃料電池系統(tǒng)模型視為高斯噪聲模型,將模型的輸入變量和狀態(tài)變量設(shè)為,輸出變量設(shè)為,模型參數(shù)設(shè)為,其等價(jià)的向量表達(dá)式為:
29、;
30、為模型的噪聲,滿足均值為0,方差為的高斯分布:;
31、將模型參數(shù)視為服從高斯分布的隨機(jī)變量,即,假設(shè)已知模型參數(shù)和噪聲的先驗(yàn)概率,根據(jù)貝葉斯公式計(jì)算后驗(yàn)概率,再將計(jì)算的后驗(yàn)概率作為下一次迭代的先驗(yàn)概率,循環(huán)往復(fù),則有迭代公式:
32、;
33、;
34、其中,為上一時(shí)刻的協(xié)方差矩陣,為此時(shí)刻的協(xié)方差矩陣,為上一時(shí)刻的數(shù)學(xué)期望,為此時(shí)刻的數(shù)學(xué)期望,即此時(shí)刻模型參數(shù)最優(yōu)值。
35、作為本發(fā)明進(jìn)一步的技術(shù)方案,在步驟s04中,設(shè)計(jì)評(píng)價(jià)指標(biāo),其中,為手動(dòng)設(shè)置的權(quán)重參數(shù),需滿足:;為誤差,為超調(diào)量,為時(shí)間;構(gòu)造目標(biāo)函數(shù),求解優(yōu)化問(wèn)題,得到最優(yōu)解,即為控制器參數(shù)最優(yōu)值。
36、由帶寬法,反饋控制律和擾動(dòng)觀測(cè)器參數(shù)可分別由控制器帶寬和觀測(cè)器帶寬調(diào)節(jié),即:,,,,;控制器參數(shù)為。
37、作為本發(fā)明進(jìn)一步的技術(shù)方案,所述控制器自學(xué)習(xí)算法選取鵜鶘優(yōu)化算法;
38、1)構(gòu)造目標(biāo)函數(shù),須為單調(diào)遞減函數(shù);
39、2)初始化每個(gè)種群成員的位置;
40、;
41、為第個(gè)鵜鶘的位置,即第個(gè)候選解中第個(gè)變量的值,和分別為第個(gè)下界和上界,表示0到1之間的隨機(jī)向量;
42、3)追趕階段:
43、;
44、式中表示第只鵜鶘在第維追趕階段的新位置;表示一個(gè)等于1或2的隨機(jī)數(shù);為第個(gè)獵物的位置;為第只鵜鶘的最佳目標(biāo)函數(shù)值;為第只鵜鶘的目標(biāo)函數(shù)值,當(dāng)時(shí),鵜鶘將產(chǎn)生更多的位移來(lái)增強(qiáng)勘探;
45、為了防止鵜鶘移動(dòng)到次優(yōu)區(qū)域,設(shè)計(jì)如下判定條件:
46、;
47、4)攻擊階段;
48、;
49、式中表示第只鵜鶘根據(jù)攻擊階段在第j維的新位置,表示的鄰域半徑,其中和分別是當(dāng)前迭代和最大迭代;
50、5)輸出結(jié)果:將最優(yōu)種群成員位置為控制器參數(shù)最優(yōu)值。
51、作為本發(fā)明進(jìn)一步的技術(shù)方案,在步驟s05中,將步驟s01和s02中的燃料電池系統(tǒng)模型及控制器求解任務(wù)分配到多核控制器的第一個(gè)核cpu0,以并行方式執(zhí)行,燃料電池系統(tǒng)模型及控制器求解任務(wù)在cpu0中的執(zhí)行過(guò)程如下:
52、燃料電池開始工作,cpu0第一次循環(huán),設(shè)置模型和控制器參數(shù)、狀態(tài)變量、輸入變量的初值,進(jìn)行模型和控制器求解,產(chǎn)生第一組系統(tǒng)的超調(diào)量和誤差數(shù)據(jù),將該數(shù)據(jù)發(fā)送到共享存儲(chǔ)器中儲(chǔ)存,供cpu1和cpu2調(diào)用,進(jìn)行下一次循環(huán);
53、在cpu0之后的循環(huán)中,采用不同的計(jì)算流程:
54、從共享存儲(chǔ)器讀取cpu2發(fā)送的控制器參數(shù)最優(yōu)值,代入到控制器中;從共享存儲(chǔ)器中讀取cpu1發(fā)送的模型參數(shù)最優(yōu)值,代入到模型中;
55、根據(jù)更新后的參數(shù),控制器計(jì)算出系統(tǒng)所需的控制輸入,將其發(fā)送到執(zhí)行器中,實(shí)現(xiàn)對(duì)燃料電池系統(tǒng)的控制,并將控制輸入代入模型中計(jì)算得到新的系統(tǒng)超調(diào)量與誤差,發(fā)送到共享存儲(chǔ)器中,供cpu1和cpu2讀取,進(jìn)行下一次循環(huán)。
56、作為本發(fā)明進(jìn)一步的技術(shù)方案,在步驟s05中,將步驟s03中的燃料電池系統(tǒng)模型參數(shù)自學(xué)習(xí)任務(wù)分配到多核控制器的第二個(gè)核cpu1,以并行方式執(zhí)行,執(zhí)行過(guò)程如下:
57、從共享存儲(chǔ)器中讀取cpu0發(fā)送的系統(tǒng)誤差,若誤差小于閾值,則采用上一次的模型參數(shù),將其發(fā)送到共享存儲(chǔ)器,供cpu0讀取,進(jìn)行下一次循環(huán);若誤差大于等于閾值,則讀取通過(guò)傳感器測(cè)量的此刻燃料電池系統(tǒng)的狀態(tài)變量和輸入變量,基于讀取的數(shù)據(jù)進(jìn)行模型參數(shù)自學(xué)習(xí);
58、將更新后的模型參數(shù)發(fā)送到共享存儲(chǔ)器中,供cpu0讀取,并進(jìn)行下一次循環(huán)。
59、作為本發(fā)明進(jìn)一步的技術(shù)方案,在步驟s05中,將步驟s04中的控制器參數(shù)自學(xué)習(xí)任務(wù)分配到多核控制器的第三個(gè)核cpu2,以并行方式執(zhí)行,執(zhí)行過(guò)程如下:
60、從共享存儲(chǔ)器中讀取cpu0發(fā)送的系統(tǒng)誤差與超調(diào)量,以二者加權(quán)值為評(píng)價(jià)指標(biāo),加權(quán)系數(shù)手動(dòng)設(shè)置;
61、若評(píng)價(jià)指標(biāo)小于閾值,則將上一次的控制器參數(shù)發(fā)送到共享存儲(chǔ)器中,供cpu0讀取,進(jìn)行下一次循環(huán);若評(píng)價(jià)指標(biāo)大于等于閾值,則啟動(dòng)控制器參數(shù)自學(xué)習(xí);
62、將控制器參數(shù)最優(yōu)值發(fā)送到共享存儲(chǔ)器中,供cpu0讀取,進(jìn)行下一次循環(huán)。
63、與現(xiàn)有技術(shù)相比,本發(fā)明的有益效果是:
64、本發(fā)明提出了結(jié)合模型和控制器實(shí)時(shí)更新的燃料電池系統(tǒng)參數(shù)自學(xué)習(xí)控制方法,可以消除工況變化和燃料電池老化衰退造成的模型不準(zhǔn)和控制器不適配問(wèn)題,提高燃料電池系統(tǒng)的工況適應(yīng)范圍,提高燃料電池系統(tǒng)的模型及控制精度;
65、本發(fā)明提出了對(duì)燃料電池系統(tǒng)利用多核控制器來(lái)實(shí)現(xiàn)任務(wù)并行的方法,解決了多時(shí)間尺度學(xué)習(xí)與控制協(xié)調(diào)的難題,減少了程序運(yùn)行的時(shí)間,可以在車載控制器上實(shí)時(shí)運(yùn)行。