史大威 楊 肖 蔡德恒 牟治宇 劉 蔚 紀立農(nóng)
糖尿病是一種以高血糖為特征的代謝性疾病,可能會導(dǎo)致神經(jīng)病變、心血管疾病、慢性腎病、視網(wǎng)膜病變等嚴重長期并發(fā)癥.中國擁有全世界最多的糖尿病患者,在預(yù)防和控制糖尿病方面面臨巨大的挑戰(zhàn)[1-4].因而,研究開發(fā)適合我國糖尿病患者的先進治療技術(shù)具有重要意義.
人工胰腺系統(tǒng)是一類新型閉環(huán)給藥智能系統(tǒng),可以為糖尿病患者提供閉環(huán)血糖調(diào)節(jié)有效手段[5-10].該系統(tǒng)主要由三部分組成:動態(tài)葡萄糖監(jiān)控傳感器(Continuous glucose monitor,CGM)、胰島素泵(Pump)以及基于實時血糖測量信息對胰島素輸注量進行調(diào)節(jié)的控制器.其中,人工胰腺控制器設(shè)計至關(guān)重要,對實現(xiàn)安全有效的血糖控制有著重要影響,近年來受到學(xué)術(shù)界廣泛關(guān)注.
目前,廣泛應(yīng)用在臨床試驗中的控制算法主要包括PID (Proportional-integral-derivative)控制算法[11-12]和模型預(yù)測控制(Model predictive control,MPC)算法[13-16].PID 控制算法作為工業(yè)中簡單實用的控制算法,較早地應(yīng)用于人工胰腺控制算法設(shè)計.文獻[17]針對可移植人工胰腺系統(tǒng),設(shè)計了一種具有胰島素反饋和抗積分飽和策略的魯棒PID 控制器.MPC 可以將控制器設(shè)計問題轉(zhuǎn)化為約束優(yōu)化問題進行在線求解,廣泛應(yīng)用于各個領(lǐng)域[18-20],近年來也在人工胰腺系統(tǒng)中進行相關(guān)研究.文獻[21]利用具有非對稱代價函數(shù)和時變參考信號的自適應(yīng)MPC 控制算法進行血糖控制,文獻[22]將積分項引入到代價函數(shù)中來消除無約束MPC 算法所帶來的靜態(tài)誤差.
然而,現(xiàn)有的控制器基本都依賴于胰島素基礎(chǔ)率進行設(shè)計,得到的胰島素輸注量實際上為以胰島素基礎(chǔ)率為基準的調(diào)整值.由于患者本身胰島素基礎(chǔ)率是變化且難以準確估計的,估計偏差的存在必然導(dǎo)致血糖控制性能的降低[23].針對這一問題,現(xiàn)有文獻中主要考慮人工胰腺參數(shù)自適應(yīng)方法.例如,文獻[24]利用稀疏的血糖值運用Run-to-Run 的方法來自適應(yīng)調(diào)節(jié)患者胰島素基礎(chǔ)率和餐前大劑量胰島素輸注參數(shù).文獻[25]在文獻[24]的基礎(chǔ)上提出利用CGM 的血糖測量值,運用基于Run-to-Run的自適應(yīng)MPC 算法進行參數(shù)調(diào)整,提高血糖控制水平.文獻[26]運用兩階段貝葉斯優(yōu)化輔助參數(shù)學(xué)習(xí)算法,利用患者長時間數(shù)據(jù)進行學(xué)習(xí),實現(xiàn)人工胰腺自適應(yīng),調(diào)整人工胰腺胰島素基礎(chǔ)率等參數(shù),改善血糖管理.文獻[27]提出模型預(yù)測迭代學(xué)習(xí)控制(Model predictive iterative learning control,MPILC)算法,從個人的生活方式中進行學(xué)習(xí),得到適用于血糖調(diào)節(jié)的閉環(huán)控制器參數(shù),從而改善控制性能,并且此算法在文獻[28]中得到了臨床驗證.以上提高血糖控制性能的方法一般建立在大量數(shù)據(jù)的基礎(chǔ)上,參數(shù)適應(yīng)過程一般較長,不利于實現(xiàn)短時間內(nèi)血糖管理水平的有效改善.
另外,由于人體結(jié)構(gòu)比較復(fù)雜,建立精確的血糖代謝模型較為困難,因此本文將自抗擾控制作為控制器設(shè)計的主題框架.自抗擾控制算法具有在不確定強擾動、不確定模型和非線性作用下仍然保持良好控制性能的特點[29],并已在多個工程領(lǐng)域成功應(yīng)用[30-31],近年來在國內(nèi)外引起了廣泛關(guān)注[32-35].例如,文獻[36]提出了一種新的設(shè)定線性擴張狀態(tài)觀測器(Extended state observer,ESO)系數(shù)的方法,通過調(diào)整帶寬優(yōu)化觀測效果.文獻[37]提出了一種觀測器增益隨時間變化的自適應(yīng)ESO,結(jié)合了常規(guī)線性ESO和常規(guī)非線性ESO 的優(yōu)點,擴展了自抗擾控制算法在非線性擾動系統(tǒng)中的應(yīng)用.文獻[38]證明了一類具有大范圍不確定性的多輸入多輸出非線性系統(tǒng)中自抗擾控制的全局和半全局穩(wěn)定性.對自抗擾控制發(fā)展的詳細介紹可參考文獻[32-35].
基于以上考慮,本文提出一種具備關(guān)鍵參數(shù)自適應(yīng)能力的自抗擾血糖閉環(huán)控制算法,依據(jù)血糖數(shù)據(jù)動態(tài)估計胰島素基礎(chǔ)率,并據(jù)此通過具有參數(shù)適應(yīng)功能的反饋控制方法完成胰島素劑量的動態(tài)計算,可利用相對較少數(shù)據(jù)實現(xiàn)無需胰島素基礎(chǔ)率準確信息的血糖閉環(huán)控制.為了保證控制算法的安全性,引入具備動態(tài)放縮能力的胰島素輸注約束對閉環(huán)血糖控制提供實時安全保護.本文中控制器能夠及時調(diào)整患者的胰島素基礎(chǔ)率,減小與患者實際值的偏差,實現(xiàn)對患者血糖更加安全有效的控制.本文使用美國食品藥品監(jiān)督管理局(Food and Drug Administration,FDA)接受的UVA/Padova T1DM血糖代謝仿真器對所設(shè)計的控制器進行仿真驗證.
此外,考慮到人工胰腺系統(tǒng)的可移動、家用化、便攜式趨勢[39-41],本文設(shè)計開發(fā)了一款基于移動設(shè)備的人工胰腺軟件系統(tǒng),通過藍牙模塊與UVA/Padova T1DM 血糖代謝仿真器無線連接,實現(xiàn)控制算法的仿真測試,完成閉環(huán)血糖控制,實時顯示和管理血糖及胰島素輸注數(shù)據(jù),提供良好的用戶交互體驗,為后續(xù)臨床試驗開展打下良好的平臺基礎(chǔ).
本文中的控制器結(jié)構(gòu)如圖1 所示,其由信號濾波模塊、ESO 模塊、線性反饋模塊及系統(tǒng)運行安全約束模塊組成.線性反饋模塊中的參數(shù)根據(jù)患者血糖濃度與血糖變化率情況進行設(shè)計,約束模塊包括對體內(nèi)殘余活性胰島素(Insulin on board,IOB)約束的自適應(yīng)動態(tài)設(shè)計及非負和最大值限制.另外,本控制器具備每24 小時自動調(diào)整胰島素基礎(chǔ)率的功能.
圖1 控制器結(jié)構(gòu)圖Fig.1 Block diagram of the proposed controller
由于人體生理系統(tǒng)的復(fù)雜性,糖代謝過程涉及多個作用環(huán)節(jié),包括胃腸道消化作用、肝臟代謝系統(tǒng)、肌肉組織代謝過程、血糖系統(tǒng)、胰島素系統(tǒng)和胰高血糖素系統(tǒng)等,使得控制對象模型具有多變量、時變和非線性強等特點.以美國FDA 接受的T1DM血糖代謝仿真器建立的生理模型[42](見圖2)為例,該模型由十幾個耦合的微分方程組成,變量繁多且包含大量個體化參數(shù),這類復(fù)雜模型往往難以用于控制策略的設(shè)計.針對這一問題,人工胰腺控制器設(shè)計通常著重考慮關(guān)鍵的血糖控制信息(例如血糖濃度和血糖變化率),來建立與控制相關(guān)的近似模型(Control relevant model),設(shè)計匹配的控制算法實現(xiàn)良好的血糖控制[21,43-44].基于以上考慮,本文重點關(guān)注血糖濃度和血糖變化率信息,將控制對象近似描述為以下結(jié)構(gòu)的動力學(xué)系統(tǒng)[45]:
圖2 血糖代謝過程生理模型Fig.2 Physiological model of glucose metabolism
CGM 采樣時間一般為5 min,為了便于控制器設(shè)計,我們對模型進行離散化,并將采樣周期設(shè)置為T=5 min.
定義 x1=G,將式(1)中的不確定因素看作總干擾,并當作一個擴張的狀態(tài)變量 x3,即
來估計并給予補償.
本文采用離散ESO,其具體形式[46]為
其中,i 表示當前時刻,z1和 z2分別表示血糖濃度濾波值 y 及其血糖變化率的觀測值,z3為總干擾f(G,的觀測值,β1,β2和 β3為離散觀測器參數(shù)[45].
由于CGM 的測量值會有一定的噪聲,為了ESO 得到比較準確的干擾觀測值,需要進行一定的濾波處理[46].本文通過卡爾曼濾波器對血糖測量信號進行濾波,去除一定的噪聲干擾,得到血糖濃度濾波信號 y .卡爾曼濾波器具體形式可參考文獻[43,47],預(yù)測協(xié)方差矩陣 Q 及觀測噪聲方差R的值通過UVA/Pavoda T1DM 血糖代謝仿真器和臨床經(jīng)驗調(diào)整得到(Q=1 000I3,R=1 000).
根據(jù)ESO 提供的觀測值,反饋控制律設(shè)計如下:
其中,Gr=110 mg/dL 為血糖濃度設(shè)定值,血糖變化率設(shè)定值e1,e2為誤差信號.k1(y(i))和 k2(y(i))通過當前 y 分別來調(diào)整血糖偏移值及變化率的權(quán)重,同時也決定了控制器對血糖偏移程度及其變化率的敏感性.k3表示控制器對干擾的補償程度.參數(shù) k1(y),k2(y)和 k3的設(shè)置,要實現(xiàn)一方面在血糖上升階段,充分注射胰島素,當血糖上升到較大值時,保守注射胰島素,防止低血糖的發(fā)生;另一方面,在血糖下降階段,適當注射胰島素,同時保證算法安全性.為了在未來更好地應(yīng)用于臨床試驗,本控制算法盡量設(shè)計簡單的參數(shù),減少參數(shù)不準確對控制性能帶來的影響.以下分別討論不同情形下的參數(shù)自適應(yīng)律設(shè)計方法,具體設(shè)計結(jié)果見表1.
表1 線性反饋參數(shù)設(shè)計Table 1 Parameter design for linear feedback
在血糖上升階段胰島素注射遵循以下原則:當y 較低時,胰島素輸注應(yīng)該隨著 y 的增加而增加,但y高于一定血糖值時,胰島素輸注增加的程度應(yīng)隨著 y 的增加而逐漸降低,以避免過量使用胰島素(因為在血糖濃度上升期間可能已經(jīng)輸注了適量的胰島素);當 y 低于正常范圍時,胰島素輸注隨著 y 的減小而減小.
根據(jù)這一原理及臨床數(shù)據(jù)分析得出:1)當血糖濃度低于或等于275 mg/dL 時,在保證安全性的情況下,血糖濃度越高,則注射的胰島素相應(yīng)更多.參數(shù) k1(y),k2(y)隨著血糖的升高而增大,參數(shù) k3設(shè)置為固定值1,對干擾進行全部補償.同時放寬約束,在血糖上升階段注射適量胰島素.2)在血糖濃度高于275 mg/dL 時,改變 k1(y)隨著血糖的升高而減小,并且根據(jù)仿真器數(shù)據(jù)得出此時干擾值較大,則只對干擾進行部分補償,參數(shù) k3設(shè)置為0.15.
血糖濃度處于下降階段時,血糖變化率為負值,控制器應(yīng)適量注射胰島素,同時避免低血糖.參數(shù)k1(y),k2(y)隨著血糖濃度的降低而減小,參數(shù)k3設(shè)置為固定值1,對干擾進行全部補償.同時在血糖值極高或較低時縮緊約束,注射適量胰島素.
本文通過在反饋模塊輸出端增加一定的自適應(yīng)約束,保證算法安全性.約束模塊包括非負和最大值限制及IOB 自適應(yīng)約束.
胰島素注射量非負和最大值限制用于保證胰島素注射量在合理范圍,具體形式如下所示:
其中,μmax表示允許胰島素泵輸注的最大值.
IOB 是指上次給藥一段時間后在體內(nèi)仍然殘留的有降糖作用的胰島素,用來約束當前胰島素輸注以防止過量注射胰島素導(dǎo)致低血糖.IOB 的估算值計算如下[44]:
式中,CF,i[mg/dL/U]為校正因子,且滿足CF,i>0,ΛBASAL∈R8×60/T為過去8 小時內(nèi)由泵注射入人體內(nèi)胰島素劑量相對當前胰島素基礎(chǔ)率 ubasal的偏移量的歷史數(shù)據(jù),ΛMEAL∈R8×60/T為餐前大劑量胰島素注射的8 小時歷史數(shù)據(jù).θi,θMEAL為遺忘系數(shù),具體計算方法參見文獻[44].
控制器要注射的胰島素 uIN(i)的值對于當前i時刻應(yīng)滿足
式中,r 為自適應(yīng)放縮比例參數(shù).
為了確定安全有效的IOB 動態(tài)約束值,根據(jù)兩個小時內(nèi)的血糖濃度與血糖變化率情況對動態(tài)約束值進行放縮,從而進一步改善對患者的血糖控制.具體的,在一段時間內(nèi),若 y相對于 Gr一直偏高,同時考慮血糖變化率因素,將胰島素輸注約束適當放寬,使參數(shù) r 大于1,為防止過量注射胰島素,參數(shù) r 設(shè)定最大值限制.由于高低血糖的不對稱風(fēng)險,在一定時間內(nèi),若 y相對于 Gr部分偏低,不再考慮血糖變化率因素,直接將胰島素輸注約束適當縮緊,使參數(shù) r 小于1,減小發(fā)生低血糖事件,同時也對其設(shè)定最小值限制.已知控制器采樣周期 T=5 min,故在兩小時內(nèi),y 及血糖變化率分別具有24 個數(shù)據(jù)點.
具體的,本文利用FDA 接受的T1DM 血糖代謝仿真平臺對IOB 約束中自適應(yīng)參數(shù)進行選取確定.在參數(shù)具體選擇的過程中,首先選取一位患者進行12 小時的仿真.模擬仿真從早上7:00 開始,攝入一次餐前無補充大劑量胰島素的進食,患者在8:00 進食75 g 碳水化合物.通過在此仿真環(huán)境下對自適應(yīng)約束的參數(shù)進行調(diào)整,得到較好的參數(shù)組,滿足在正常血糖范圍(70~ 180 mg/dL)內(nèi)的時間最長,平均血糖值最低,且不增加低血糖風(fēng)險.利用相同的參數(shù)組再進行一次補充大劑量胰島素的進食,確保參數(shù)組安全有效.對于以上得到的參數(shù)組,同時根據(jù)臨床經(jīng)驗考慮其是否符合人體血糖代謝實際情況,最后加以確定.
據(jù)此,IOB 約束中自適應(yīng)放縮比例參數(shù) r 設(shè)計如下:
1)放寬約束.若兩小時內(nèi) y 全部高于或等于Gx且血糖變化率的個數(shù)多于 1/2為正時,為了使 y 盡可能地接近 Gr,控制器可以適當加大胰島素的注射量,放寬胰島素輸注約束.在此時間段內(nèi)越大,說明需要注射越多劑量的胰島素使血糖濃度下降,因此 r 隨著兩小時內(nèi)血糖均值的增大而增大,同時利用 y 進行微調(diào).為了保證控制器安全性,動態(tài)約束的 r 不超過1.3.
2)縮緊約束.因為高低血糖的不對稱風(fēng)險,為了防止低血糖的發(fā)生,此時間段內(nèi) 5/6 的 y 低于或等于 Gm時,為了使血糖濃度盡可能地接近參考值,保守注射胰島素,縮緊胰島素輸注約束,且隨著兩小時內(nèi)的減小而減小,到一定值時,r 保持0.5 不變.此時間段內(nèi)另有3 個數(shù)據(jù)大于 Gm,但因為血糖濃度值是連續(xù)的,不會發(fā)生突變,因此兩小時內(nèi)的必定小于 Gr,r 必小于1.
胰島素基礎(chǔ)率對控制器調(diào)節(jié)患者血糖性能有較大的影響.在本控制器中胰島素基礎(chǔ)率影響其IOB 約束的值,進而也會決定胰島素輸注量,影響控制器對患者的血糖控制性能.為解決這一問題,本控制器每24 小時利用固定時間段內(nèi)的歷史胰島素輸注數(shù)據(jù)重新對胰島素基礎(chǔ)率進行估計,以防止胰島素基礎(chǔ)率設(shè)定值與患者實際水平相差較大而引起控制器性能降低.對于糖尿病患者來說,進食和運動對血糖控制有強干擾的作用,因此本文利用患者不會進行運動、進食等活動的時間(每天夜間22:00 至次日早上6:00)的歷史胰島素輸注數(shù)據(jù),在次日早上6:00 對患者胰島素基礎(chǔ)率進行自動自適應(yīng)調(diào)整
其中,ubasal,q為第 q次調(diào)整后的胰島素基礎(chǔ)率,γ為縮放參數(shù),可根據(jù)實際情況進行相應(yīng)調(diào)整,N 為此時間段內(nèi)胰島素輸注數(shù)據(jù)的個數(shù),uj為此時間段內(nèi)第 j 次注射的胰島素劑量.在調(diào)整胰島素基礎(chǔ)率的時間段內(nèi)干擾較小,將 γ 取為1.同時為了保證控制器安全性,調(diào)整后的胰島素基礎(chǔ)率要在調(diào)整前的0.5 倍到2 倍之間,即
考慮到胰島素泵的注射精度問題,在控制算法確定當前采樣周期輸注的胰島素量 uIN后,將此值向下取整到泵的分辨率的整數(shù)倍[44],該過程可表示為
其中,ucarry,i為上一采樣周期內(nèi)由于向下取整而少輸注的劑量,δ 為胰島素泵分辨率(如0.05U),為最終指示胰島素泵通過皮下向人體輸注的胰島素量.
目前,便攜式人工胰腺系統(tǒng)已在國外應(yīng)用到臨床治療中,但在我國普及度不高且價格十分昂貴.為了在我國盡快實現(xiàn)便攜式人工胰腺系統(tǒng),增加患者舒適度,本文設(shè)計了基于移動設(shè)備的人工胰腺系統(tǒng)仿真平臺.
基于移動設(shè)備的人工胰腺系統(tǒng)仿真平臺包括安裝有UVA/Padova T1DM 血糖代謝仿真器的電腦端,兩個HC-05 藍牙模塊和嵌入控制算法的APP手機端,其數(shù)據(jù)傳輸示意圖如圖3 所示.
圖3 人工胰腺系統(tǒng)仿真平臺數(shù)據(jù)傳輸示意圖Fig.3 Schematic diagram of data transmission in the artificial pancreas simulation platform
仿真器利用藍牙模塊與APP 建立無線連接.電腦端UVA/Padova T1DM 血糖代謝仿真器模擬真實糖尿病患者血糖代謝過程,同時包括CGM 與Pump 相應(yīng)功能,每隔5 min 通過藍牙向手機端發(fā)送血糖數(shù)據(jù),APP 內(nèi)嵌的控制算法在線確定需注射的胰島素劑量,通過另一個藍牙發(fā)送給電腦端,指導(dǎo)仿真Pump 進行注射,從而形成閉環(huán)控制,控制血糖水平.
本文針對閉環(huán)血糖控制器設(shè)計了一款A(yù)PP 應(yīng)用軟件.此APP 為用戶提供了友好的可視化交互界面,界面主要分為三個部分:“主頁”、“歷史”和“我的”,如圖4 所示.針對患者是否進行餐前大劑量胰島素輸注,APP 設(shè)計了如圖4 所示主頁中“能量管理”部分,可以根據(jù)患者攝入的碳水化合物含量,按照一定比例轉(zhuǎn)換為相應(yīng)劑量的胰島素,指導(dǎo)控制算法進行輸注,并且患者可以根據(jù)自己的經(jīng)驗在一定范圍內(nèi)對劑量進行干預(yù)調(diào)整.為了符合我國習(xí)慣,APP 中血糖濃度單位設(shè)置為mmol/L (1 mmol/L=18 mg/dL).
圖4 APP 用戶圖形界面:“主頁”、“能量管理”、“歷史”和“我的”Fig.4 User interface of the APP:“Homepage”,“Energy management”,“History”and“User”
本文將本算法嵌入以上設(shè)計開發(fā)的APP,使仿真器利用兩個HC-05 藍牙模塊與APP 無線連接,完成基于移動設(shè)備的人工胰腺系統(tǒng)仿真驗證.圖5分別展示了在血糖平穩(wěn)、上升、下降及餐前補充大劑量胰島素狀態(tài)下,y 及對應(yīng)胰島素輸注數(shù)據(jù)的實時傳輸及顯示.
圖5 在血糖平穩(wěn)、上升、下降及餐前補充大劑量胰島素狀態(tài)下,血糖及胰島素輸注數(shù)據(jù)的實時傳輸及顯示Fig.5 Real-time transmission and visualization of blood glucose and insulin infusion data for steady,ascending and descending blood glucose traces,and announced meals
通過圖5 可以看出,y 在平穩(wěn)狀態(tài)下,胰島素輸注量接近其胰島素基礎(chǔ)率的值;y 處于上升階段時,上升初期注射適量胰島素,當 y 上升到一定值時,保守注射胰島素,防止發(fā)生低血糖;y 處于下降階段時,由于上升階段可能已經(jīng)注射了適量胰島素,為了保證安全性,及時關(guān)停胰島素輸注;患者需要進食碳水化合物量60 g 時,可以在APP 的能量管理模塊輸入進食量,算法自動計算得出所需要注射的大劑量胰島素的量,此時患者可以基于自己的經(jīng)驗對此值進行一定范圍內(nèi)的調(diào)整,圖5 中三角形的標注4U 為最后所注射的餐前大劑量胰島素劑量,在進行大劑量胰島素注射后,控制器為保證安全,胰島素輸注較為保守.
此外,本文控制算法還利用FDA 接受的UVA/Padova T1DM 血糖代謝仿真器進行性能評估,并將本文算法與文獻[23]中自適應(yīng)區(qū)域模型預(yù)測控制算法(記為“zMPC”)進行比較.為了保證比較的客觀性,兩種控制算法的比較結(jié)果全部由MATLAB 仿真得出.兩種控制算法基于以下場景進行仿真驗證.模擬仿真從早上7:00 開始,每天三次用餐,進餐時間在每天的8:00、12:00和19:00,所用膳食含碳水化合物量分別為50 g、75 g和75 g.利用模擬器中的成年患者組(內(nèi)含10 個模擬成年人),分別基于餐前補充大劑量胰島素和餐前無補充大劑量胰島素,并將仿真器中的random seed 按順序從1變到10,實現(xiàn)重復(fù)進行10 次基于不同的CGM 測量噪聲的仿真驗證.
仿真器基于以上場景分別在正常胰島素基礎(chǔ)率、0.5 倍正常胰島素基礎(chǔ)率和2 倍正常胰島素基礎(chǔ)率這三種情況下對本控制算法與zMPC 進行仿真,對于仿真結(jié)果主要使用正常血糖(70~ 180 mg/dL)時間比率、低血糖(低于70 mg/dL)時間比率、嚴重低血糖(低于54 mg/dL)時間比率、高血糖(高于250 mg/dL)時間比率及血糖濃度平均值大小等如表2~ 4 所示的7 種評價指標對控制器性能進行評估.
1)正常胰島素基礎(chǔ)率
仿真器模擬從早上7:00 時開始,共進行48 小時,與zMPC 控制算法進行比較的統(tǒng)計結(jié)果如表2 所示.
在胰島素基礎(chǔ)率正常的情況下,通過表2 發(fā)現(xiàn),本控制算法在餐前補充大劑量胰島素及未補充大劑量胰島素的血糖濃度值在正常血糖70~ 180 mg/dL的時間比率分別為92.5%及71.8%,與zMPC 的92.4%及72.4%相似.本控制算法血糖平均值分別為133.9 mg/dL 及152.2 mg/dL,與zMPC 135.4 mg/dL及151.7 mg/dL 結(jié)果相近.兩種控制算法都未出現(xiàn)低血糖情況.
表2 正常胰島素基礎(chǔ)率下本控制算法與zMPC 控制算法的評估結(jié)果Table 2 Evaluation results of the proposed controller and the zMPC controller at normal insulin basal rate
2)胰島素基礎(chǔ)率是正常胰島素基礎(chǔ)率的0.5 倍
本情形用于測試算法在胰島素基礎(chǔ)率設(shè)置偏低時是否可快速、安全、有效地改善患者出現(xiàn)的高血糖情況.仿真器模擬從早上7:00 時開始,共進行96小時.在餐前補充大劑量胰島素和未補充大劑量胰島素下,本文設(shè)計的控制算法與zMPC 在血糖調(diào)節(jié)方面的比較結(jié)果分別如圖6和圖7 所示,其中包括5%、25%、75%和95% 的四分位數(shù)曲線以及中位數(shù)曲線.
通過圖6和圖7 可以看出,進行仿真的第1 天本控制算法與zMPC 曲線有相應(yīng)的重合,但本控制算法經(jīng)過第1 天胰島素基礎(chǔ)率的調(diào)整,第2 天血糖濃度有一定的下降,第3 天和第4 天保持較好的血糖控制效果,而zMPC 四天的血糖濃度一直偏高.為了更加直觀地表現(xiàn)本控制算法在胰島素基礎(chǔ)率偏低情況下,對血糖控制效果的提升,截取第4 天的仿真數(shù)據(jù)進行比較,如表3 所示.
表3 0.5 倍正常胰島素基礎(chǔ)率下本控制算法與zMPC 控制算法的評估結(jié)果Table 3 Evaluation results of the proposed controller and the zMPC controller at 0.5 times of normal insulin basal rate
圖6 在胰島素基礎(chǔ)率偏低情況下,餐前補充大劑量胰島素時,本控制算法和zMPC 控制算法在血糖調(diào)節(jié)和胰島素輸注方面的表現(xiàn)Fig.6 Performance comparison of the proposed controller and the zMPC controller for announced meals in terms of glucose regulation and insulin deliver action for the case of under-estimated basal rate
圖7 在胰島素基礎(chǔ)率偏低情況下,餐前未補充大劑量胰島素時,本控制算法和zMPC 控制算法在血糖調(diào)節(jié)和胰島素輸注方面的表現(xiàn)Fig.7 Performance comparison of the proposed controller and the zMPC controller for unannounced meals in terms of glucose regulation and insulin deliver action for the case of under-estimated basal rate
本算法通過每天調(diào)整胰島素基礎(chǔ)率,在餐前補充大劑量胰島素及未補充大劑量胰島素的情況下,正常血糖70~ 180 mg/dL 的時間比率分別為92.0%及69.6%,高血糖高于250 mg/dL 的時間比率分別為0.0 及5.0%,血糖平均值為135.5 mg/dL及159.8 mg/dL,而zMPC 得到的結(jié)果正常血糖范圍內(nèi)比率分別為66.6%及38.5%,高血糖高于250 mg/dL的時間比率分別為0.0 及18.5%,平均值為171.8 mg/dL及204.9 mg/dL,zMPC 在未補充大劑量胰島素情況下高血糖嚴重,相較于正常情況下控制性能大大降低.兩種控制算法都沒有出現(xiàn)低血糖情況.
3)胰島素基礎(chǔ)率是正常胰島素基礎(chǔ)率的2 倍
本情形用于測試算法在胰島素基礎(chǔ)率設(shè)置偏高時是否可快速、安全、有效地緩解患者出現(xiàn)的低血糖情況.仿真器模擬從早上7:00 時開始,共進行96小時.在餐前補充大劑量胰島素和未補充大劑量胰島素下,本文算法與zMPC 控制算法在血糖調(diào)節(jié)方面的比較結(jié)果分別如圖8和圖9 所示,其中包括5%、25%、75%和95%的四分位數(shù)曲線以及中位數(shù)曲線.
圖8 在胰島素基礎(chǔ)率偏高情況下,餐前補充大劑量胰島素時,本控制算法和zMPC 控制算法在血糖調(diào)節(jié)和胰島素輸注方面的表現(xiàn)Fig.8 Performance comparison of the proposed controller and the zMPC controller for announced meals in terms of glucose regulation and insulin deliver action for the case of over-estimated basal rate
圖9 在胰島素基礎(chǔ)率偏高情況下,餐前未補充大劑量胰島素時,本控制算法和zMPC 控制算法在血糖調(diào)節(jié)和胰島素輸注方面的表現(xiàn)Fig.9 Performance comparison of the proposed controller and the zMPC controller for unannounced meals in terms of glucose regulation and insulin deliver action for the case of over-estimated basal rate
胰島素基礎(chǔ)率偏高的情況下,與上一種情況相似,在本控制算法未調(diào)整胰島素基礎(chǔ)率之前,仿真結(jié)果與zMPC 相似,經(jīng)過調(diào)整之后,本控制算法仿真結(jié)果得到改善.截取第4 天的仿真數(shù)據(jù)進行比較,如表4 所示.
表4 2 倍正常胰島素基礎(chǔ)率下本控制算法與zMPC 控制算法的評估結(jié)果Table 4 Evaluation results of the proposed controller and the zMPC controller at 2 times of normal insulin basal rate
本文算法通過每天調(diào)整胰島素基礎(chǔ)率,在餐前補充大劑量胰島素及未補充大劑量胰島素的情況下,正常血糖70~ 180 mg/dL 的時間比率分別為93.4%及74.4%,血糖平均值為130.2 mg/dL 及149.5 mg/dL,低血糖情況基本沒有出現(xiàn).而zMPC 在正常血糖范圍內(nèi)的時間比率分別為77.4%及67.8%,低血糖情況(低于70 mg/dL)下的時間比率分別為19.9%及18.4%;嚴重低血糖情況(低于54 mg/dL)下的時間比率分別為7.9%及7.8%.zMPC 低血糖情況嚴重,相較于正常情況下的zMPC控制性能大大降低.
通過表2~ 4和圖6~ 9 得出:正常胰島素基礎(chǔ)率下,本文算法與zMPC 在正常血糖范圍、低血糖和高血糖的時間比率及血糖平均值相差不大;胰島素基礎(chǔ)率偏低時,本文算法正常血糖范圍內(nèi)的時間比率要高于zMPC,高血糖的時間比率及血糖平均值都低于zMPC.兩種控制算法都未出現(xiàn)低血糖;胰島素基礎(chǔ)率偏高時,本文算法在正常血糖范圍內(nèi)的時間比率要高于zMPC,同時低血糖的時間比率較低.仿真結(jié)果表明本文算法的血糖控制性能較好.
進一步地,為了分析自適應(yīng)調(diào)整線性反饋策略和ESO 對血糖控制效果的影響,本文利用仿真測試分別將本文算法與無自適應(yīng)線性反饋、無ESO干擾補償?shù)目刂菩ЧM行比較.具體的,選取仿真器中一位患者分別在以上三種控制算法情況下進行24 小時仿真.模擬仿真從早上7:00 開始,一天三次進餐,患者在8:00、13:00和19:00 分別進食45 g,70 g和75 g 碳水化合物.為了更好地體現(xiàn)出控制算法的調(diào)節(jié)作用,以上三種算法都未補充餐前大劑量胰島素,得到的結(jié)果如圖10 所示.
從圖10 可以看出,本文算法血糖控制效果優(yōu)于無自適應(yīng)和無補償?shù)那闆r,可有效降低高血糖持續(xù)時間以及低血糖情況的發(fā)生.具體的,與本文算法胰島素輸注相比,無自適應(yīng)環(huán)節(jié)的控制策略在患者餐后注射了較多的胰島素,導(dǎo)致后續(xù)低血糖情況嚴重;無干擾補償控制策略在患者餐后血糖上升階段注射了相對較少的胰島素,導(dǎo)致餐后高血糖持續(xù)時間較長,在血糖下降階段注射過量的胰島素,導(dǎo)致低血糖情況嚴重.
圖10 三種控制策略下的仿真對比圖Fig.10 Comparison diagram of simulations under three control strategies
另外,為了評估本文算法中ESO 的觀測效果,選取仿真器中另一位患者進行24 小時仿真,仿真條件與以上相同.得到其觀測值 z1與 y 的對比如圖11所示;觀測值 z2與血糖變化率(根據(jù)文獻[46]中的跟蹤微分器得到)對比如圖12 所示;未知干擾觀測值 z3如圖13 所示.通過圖11和圖12 可以看出,觀測值 z1,z2分別與 y、血糖變化率基本一致,相差不大.從圖13 可以看出,系統(tǒng)干擾觀測值 z3與血糖變化率及其觀測值密切相關(guān);通過對 z3進行補償,可實現(xiàn)對血糖變化中的擾動作用的進一步超前補償,從而有助于血糖控制效果的改善.
圖11 觀測值 z1與 y 的對比圖Fig.11 Comparison diagram of observations z1and y
圖12 觀測值 z2 與血糖變化率對比圖Fig.12 Comparison diagram of observations z2 and glucose change rate
圖13 系統(tǒng)干擾觀測值 z3 示意圖Fig.13 System disturbance observations z3
如上文所述,人體糖代謝過程具有復(fù)雜非線性、難以精確建模的特點,且受多源內(nèi)部、外界擾動的影響,因而人工胰腺系統(tǒng)閉環(huán)穩(wěn)定性分析具有很強的挑戰(zhàn)性.另一方面,由于被控對象為人體本身,人工胰腺系統(tǒng)在設(shè)計和實際臨床使用過程中具有明顯特殊性,致使該系統(tǒng)的穩(wěn)定性要求和分析方法有別于一般控制系統(tǒng).目前,在算法設(shè)計和已知美國FDA 臨床試驗前IDE (Investigational device exemption)申請中,一般通過在FDA 接受的血糖代謝仿真平臺上開展大量虛擬試驗的方式來驗證算法的穩(wěn)定性[23,43-44].然而,考慮到穩(wěn)定性對系統(tǒng)安全性和算法有效性的影響,本文提出的算法在設(shè)計過程中也對確保系統(tǒng)穩(wěn)定性進行了充分考慮,具體討論如下.
人工胰腺系統(tǒng)一般采用手動餐前劑量注射的方式來減小食物攝入對餐后血糖的影響;在實際臨床應(yīng)用中,人工胰腺系統(tǒng)將在血糖過高或血糖過低等危險情形下自動轉(zhuǎn)入開環(huán)狀態(tài),按照預(yù)先設(shè)定的胰島素基礎(chǔ)率注射,以最大限度確?;颊甙踩?基于以上考慮,在算法設(shè)計時,我們對控制算法穩(wěn)定性的關(guān)注首先集中在固定胰島素基礎(chǔ)率下血糖在基準值附近波動且控制器增益 k1,k2取固定基準值的情形.在此情形下,控制量在胰島素基礎(chǔ)率附近變化,胰島素輸注約束處于松弛狀態(tài).
具體的,若定義系統(tǒng)控制誤差為s=x-GR,式中那么血糖控制誤差系統(tǒng)可描述為
在干擾進行全部補償,即 k3=1 時,若定義觀測誤差為則 u 可進一步寫成
在文獻[46]中,作者討論了式(3)ESO 觀測誤差的有界性.因此,本文根據(jù)文獻[46]選取適當?shù)摩?,β2和 β3,使得確保觀測誤差有界,并記觀測誤差上界為M1,即滿足設(shè) k1和 k2固定取值為正數(shù) a0和b0,此時滿足 下述矩陣 K 是Hurwitz矩陣
因此,存在一個正定的矩陣 L,使得LK+KTL=-I.定義Lyapunov 函數(shù)為V(s)=sTLs,按照與文獻[48-49]類似的處理,整理得到
式中,M2與觀測誤差上界 M1及控制律中 k1和k2固定取值 a0和 b0有關(guān),這樣當時,V˙≤0,因此說明了固定基準增益下系統(tǒng)的穩(wěn)定性.
在此基礎(chǔ)上,我們根據(jù)臨床治療經(jīng)驗,使 k1和k2在其基準值附近根據(jù)血糖值適當范圍動態(tài)調(diào)整.由于 V為關(guān)于 k1和 k2的連續(xù)函數(shù),當 k1和 k2適當幅度變化時不會對系統(tǒng)穩(wěn)定性產(chǎn)生較大影響,因而引入適當自適應(yīng)律可在保持系統(tǒng)穩(wěn)定的同時盡量改善血糖控制效果.同時為進一步提升算法的安全性和有效性,我們對控制算法施加IOB 自適應(yīng)約束和胰島素基礎(chǔ)率自適應(yīng)調(diào)整.IOB 自適應(yīng)約束可根據(jù)近期血糖控制情況,適當放寬或收緊胰島素輸注約束,糾正控制器過保守或過激烈行為;胰島素基礎(chǔ)率自適應(yīng)調(diào)整可利用近期胰島素輸注歷史確定合適的基礎(chǔ)率.兩者參數(shù)調(diào)整范圍都根據(jù)臨床經(jīng)驗設(shè)置上下界限,保證自適應(yīng)過程的穩(wěn)定性和安全性.最后,我們根據(jù)美國FDA IDE 申請的要求利用FDA接受且可替代動物試驗的UVA/Padova T1DM 血糖代謝仿真平臺在不同場景對觀測器的觀測性能,以及包含參數(shù)自適應(yīng)律和胰島素輸注安全約束整體算法進行了大量測試,以進一步確保整體算法的安全性和穩(wěn)定性.
本文設(shè)計了一種基于胰島素基礎(chǔ)率動態(tài)估計的人工胰腺自抗擾控制方法.此控制算法通過自動調(diào)整胰島素基礎(chǔ)率,減小與患者實際胰島素基礎(chǔ)率的偏差,從而使控制算法對患者的血糖調(diào)節(jié)達到良好的效果.仿真結(jié)果表明,在胰島素基礎(chǔ)率正常時,本控制算法與zMPC 控制算法達到了相似的效果;但在胰島素基礎(chǔ)率偏差較大時,本控制算法得到了優(yōu)于zMPC 控制算法的血糖控制效果.此外,本文開發(fā)了基于移動設(shè)備的人工胰腺系統(tǒng),在智能手機中嵌入控制算法實現(xiàn)對患者的血糖控制,對國內(nèi)外便攜式人工胰腺系統(tǒng)的發(fā)展及改善糖尿病患者生活都具有一定意義.