一種基于bp神經(jīng)網(wǎng)絡(luò)調(diào)節(jié)pi控制器參數(shù)的電路及方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明設(shè)計一種電機控制領(lǐng)域電機速度調(diào)節(jié)問題,涉及一種基于BP神經(jīng)網(wǎng)絡(luò)整 定PI參數(shù)的電路實現(xiàn)方法。
【背景技術(shù)】 [0002] 在電機控制領(lǐng)域的實際應(yīng)用中,被控對象具有非線性、時變不確定性、滯 后性等特點,尤其是在噪聲、負載擾動等因素的影響下,控制過程的參數(shù)甚至模型結(jié)構(gòu)均會 隨時間推移受工作環(huán)境的變化而變化,而普通的控制方法不能很好的適應(yīng)這種復雜多變的 控制過程的變化而導致無法實現(xiàn)精確,快速地控制。
[0003] 傳統(tǒng)的電機控制算法在速度控制環(huán)節(jié)采用的是傳統(tǒng)的PID控制算法(比例積分微 分控制算法Proportion Integration Differentiation),而傳統(tǒng)的PID算法的存在參數(shù)自 整定難,且對于無精確的數(shù)學模型和非線性場合,不能達到理想的控制效果。
[0004] BP神經(jīng)網(wǎng)絡(luò)(Back Propagation),作為一種并行的計算模型,具有傳統(tǒng)建模方法 所不具有的優(yōu)勢:極佳的非線性映射能力,它一般無需預知被建模對象的結(jié)構(gòu)、參數(shù)、動態(tài) 特性等知識,只需給出被控對象的輸入、輸出數(shù)據(jù),就可以通過網(wǎng)絡(luò)自身的學習實現(xiàn)輸入與 輸出變量的動態(tài)調(diào)節(jié),使實際值與理論值的誤差達到最小?;谝陨蟽?yōu)點,神經(jīng)網(wǎng)絡(luò)算法在 智能控制領(lǐng)域具有很大的發(fā)展?jié)摿Α?br>[0005] 目前對于BP神經(jīng)網(wǎng)絡(luò)調(diào)節(jié)PI參數(shù)的應(yīng)用都停留在軟件層面的仿真與編程,處理 速度慢,無法滿足實時性需求,且占用大量的CPU資源,從根本上失去了神經(jīng)網(wǎng)絡(luò)大量并行 計算,分布式存儲的優(yōu)點,在實時控制領(lǐng)域存在很大的局限性。再者,由于純軟件方式意味 著較高軟件維護成本,其代碼可靠性很大程度上依賴于編程以及測試人員的經(jīng)驗和專業(yè) 性,不容易把控。如果能采用集成電路的數(shù)字實現(xiàn)方法,能夠有效的克服以上問題,充分發(fā) 揮神經(jīng)網(wǎng)絡(luò)并行處理,和分布式存儲的優(yōu)勢,從而使神經(jīng)網(wǎng)絡(luò)的功能達到最佳。同時,對算 法進行優(yōu)化,節(jié)省了大量的硬件資源,且可通過編程配置神經(jīng)元的個數(shù),大大提高了其靈活 性和適用性。
[0006] 將BP神經(jīng)網(wǎng)絡(luò)整定PI參數(shù)硬件化,作為微處理器的一個外設(shè),開發(fā)人員只需配置 相應(yīng)的參數(shù),無需編程就可實現(xiàn)BP神經(jīng)網(wǎng)絡(luò)整定PI參數(shù)算法的應(yīng)用,極大地降低技術(shù)門 檻,無需精通BP神經(jīng)網(wǎng)絡(luò)等智能控制,縮短了開發(fā)周期,可靠性也更容易得到保證。硬件化 還帶來一個好處,幾乎沒有軟件維護成本。
[0007] 因此,提供一種基于BP神經(jīng)網(wǎng)絡(luò)數(shù)字電路,已成為本領(lǐng)域技術(shù)人員亟待解決的技 術(shù)難題。
【發(fā)明內(nèi)容】
[0008] 為了克服現(xiàn)有技術(shù)中存在的缺陷,本發(fā)明提供一種通過硬件電路來實現(xiàn)的基于BP 神經(jīng)網(wǎng)絡(luò)調(diào)節(jié)PI控制器參數(shù)的電路,以及一種基于BP神經(jīng)網(wǎng)絡(luò)調(diào)節(jié)PI控制器參數(shù)的方 法。
[0009] 為了實現(xiàn)上述發(fā)明目的,本發(fā)明公開一種基于BP神經(jīng)網(wǎng)絡(luò)調(diào)節(jié)PI控制器參數(shù)的 電路,用于根據(jù)一狀態(tài)參數(shù)輸出該PI控制器的輸入?yún)?shù),包括:一輸入層單元,用于根據(jù)該 狀態(tài)參數(shù)生成一輸入層輸出;一隱含層單元,用于根據(jù)該輸入層輸出以及一輸入-隱含權(quán) 值生成一隱含層輸出;一輸出層單元,用于根據(jù)該隱含層輸出以及一隱含-輸出權(quán)值生成 該PI控制器的輸入?yún)?shù);一隱含-輸出權(quán)值調(diào)整單元,用于根據(jù)該隱含層輸出、該PI控制 器的輸入?yún)?shù)以及該狀態(tài)參數(shù)生成該隱含-輸出權(quán)值;一輸入-隱含權(quán)值調(diào)整單元,用于根 據(jù)該輸入層輸出、該隱含層輸出以及該隱含-輸出權(quán)值生成該輸入-隱含權(quán)值。
[0010] 更進一步地,該狀態(tài)參數(shù)為輸入量、輸出量、誤差量和反饋量。
[0011] 更進一步地,該隱含層單元包括一計數(shù)器、一乘法器、累加器,以及一 CORDIC運算 單元,該輸入層輸出以及該輸入-隱含權(quán)值作為該乘法器的輸入值,該乘法器的輸出值經(jīng) 該累加器累加后進入該CORDIC運算單元以生成該隱含層輸出。
[0012] 更進一步地,該輸出層單元包括一計數(shù)器、一乘法器、累加器,以及一 CORDIC運算 單元,該隱含層輸出以及該隱含-輸出權(quán)值作為該乘法器的輸入值,該乘法器的輸出值經(jīng) 該累加器累加后進入該CORDIC運算單元以生成該輸出層輸出;或該輸出層單元包括一計 數(shù)器、一乘法器、累加器,該隱含層輸出以及該隱含-輸出權(quán)值作為該乘法器的輸入值,該 乘法器的輸出值經(jīng)該累加器累加后輸出。
[0013] 更進一步地,該隱含-輸出權(quán)值調(diào)整單元包括一符號檢測單元、計數(shù)器、第一、第 二減法器、第一第二乘法器以及第一第二加法器,該符號檢測單元的輸出連接該第一乘法 器的輸入,該狀態(tài)參數(shù)的反饋量經(jīng)該第一減法器輸出至該第一乘法器,該PI控制器的輸入 參數(shù)經(jīng)該第二減法器輸出至該第一乘法器,該隱含層輸出與該第一乘法器的輸出作為該第 二乘法器的輸入,該第二乘法器的輸出值作為該第一加法器的輸入值,該第一加法器的輸 出值返回至該第一乘法器,該第一加法器的輸出值作為該第二加法器的累加值,直至生成 該隱含-輸出權(quán)值。
[0014] 更進一步地,該隱含-輸出權(quán)值調(diào)整單元還包括一慣性系數(shù)和/或?qū)W習速率,該慣 性系數(shù)和/或?qū)W習速率作為該第二乘法器的輸入值。
[0015] 更進一步地,該輸入-隱含權(quán)值調(diào)整單元包括一計數(shù)器、第一、第二、第三乘法器、 第一、第二加法器、第一減法器以及第一、第二累加器,該隱含-輸出權(quán)值為該第一乘法器 的輸入值,該第一乘法器的輸出值經(jīng)該第一累加器累加后至該第二乘法器;該隱含層輸出 分別經(jīng)該第一加法器相加,該第一減法器相減后作為該第二乘法器的輸入;該第二乘法器 的輸出及該輸入層輸出作為第三乘法器的輸入值;該第三乘法器的輸出值作為該第二加法 器的輸入值;該第二加法器的輸出值返回至第三乘法器作為輸入;該第二加法器的輸出值 經(jīng)該第二累加器累加直至生成該輸入-隱含權(quán)值。
[0016] 更進一步地,該輸入-隱含權(quán)值調(diào)整單元還包括一慣性系數(shù)和/或?qū)W習速率,該慣 性系數(shù)和/或?qū)W習速率作為該第三乘法器的輸入值。
[0017] 更進一步地,該PI控制器包括一減法器、一乘法器以及加法器,該狀態(tài)參數(shù)的誤 差量經(jīng)該減法器輸出至該乘法器,該PI控制器的輸入?yún)?shù)作為該乘法器的另一輸入值,該 乘法器的輸出值經(jīng)該加法器相加后輸出。
[0018] 本發(fā)明同時公開一種基于BP神經(jīng)網(wǎng)絡(luò)調(diào)節(jié)PI控制器參數(shù)的方法,用于根據(jù)一狀 態(tài)參數(shù)輸出該PI控制器的輸入?yún)?shù)Ki,Kp,包括:步驟一、根據(jù)該狀態(tài)參數(shù)生成一輸入層輸 出Oi ;步驟二、根據(jù)該輸入層輸出Oi和一輸入-隱含權(quán)值Wji生成一隱含層輸出Oj ;步驟 三、根據(jù)該隱含層輸出Oj以及一隱含-輸出權(quán)值Wli生成該PI控制器的輸入?yún)?shù)Ki,Kp ; 隱含-輸出權(quán)值Wli由該隱含層輸出Oj、該PI控制器的輸入?yún)?shù)Ki,Kp以及該狀態(tài)參數(shù)生 成,該輸入-隱含權(quán)值Wji由輸入層輸出Oi、該隱含層輸出Oj以及該隱含-輸出權(quán)值Wli 生成。
[0019] 更進一步地,包括:該狀態(tài)參數(shù)為輸入量r(t)、輸出量Λ (U)、誤差量e(k)和反饋 量y。
[0020] 與現(xiàn)有技術(shù)相比較,本發(fā)明的優(yōu)點如下:第一本發(fā)明是通過數(shù)字電路的方式,利用 硬件設(shè)備實現(xiàn)神經(jīng)網(wǎng)絡(luò)的大量并行計算,實現(xiàn)分布式存儲的優(yōu)點。第二、本發(fā)明處理速度 快,能充分利用BP神經(jīng)網(wǎng)絡(luò)優(yōu)良的非線性函數(shù)逼近能力以及并行計算分布式存儲的優(yōu)點, 在復雜多變的應(yīng)用環(huán)境下,對電機速度進行實時控制,從而獲得更好的控制效果。
【附圖說明】
[0021] 關(guān)于本發(fā)明的優(yōu)點與精神可以通過以下的發(fā)明詳述及所附圖得到進一步的了解。
[0022] 圖1為本發(fā)明的基于BP神經(jīng)網(wǎng)絡(luò)調(diào)節(jié)PI參數(shù)的結(jié)構(gòu)圖;
[0023] 圖2為本發(fā)明的基于BP神經(jīng)網(wǎng)絡(luò)調(diào)節(jié)PI參數(shù)的整體硬件架構(gòu)圖;
[0024] 圖3為本發(fā)明的基于BP神經(jīng)網(wǎng)絡(luò)調(diào)節(jié)PI參數(shù)的隱含層單元結(jié)構(gòu)圖;
[0025] 圖4為本發(fā)明的基于BP神經(jīng)網(wǎng)絡(luò)調(diào)節(jié)PI參數(shù)的隱含層單元具體實例結(jié)構(gòu)圖;
[0026] 圖5為本發(fā)明的基于BP神經(jīng)網(wǎng)絡(luò)調(diào)節(jié)PI參數(shù)的輸出層單元具體實例結(jié)構(gòu)圖;
[0027] 圖6為本發(fā)明的基于BP神經(jīng)網(wǎng)絡(luò)調(diào)節(jié)PI參數(shù)的輸出層單元結(jié)構(gòu)圖;
[0028] 圖7為本發(fā)明的基于BP神經(jīng)網(wǎng)絡(luò)調(diào)節(jié)PI參數(shù)的隱含-輸出權(quán)值調(diào)整單元結(jié)構(gòu) 圖;
[0029] 圖8為本發(fā)明的基于BP神經(jīng)網(wǎng)絡(luò)調(diào)節(jié)PI參數(shù)的輸入-隱含權(quán)值調(diào)整單元結(jié)構(gòu) 圖;
[0030] 圖9為本發(fā)明的基于BP神經(jīng)網(wǎng)絡(luò)調(diào)節(jié)PI參數(shù)的PI單元結(jié)構(gòu)圖;
[0031] 圖10為三層BP神經(jīng)網(wǎng)絡(luò)的基本結(jié)構(gòu)圖。
【具體實施方式】
[0032] 下面結(jié)合附圖詳細說明本發(fā)明的具體實施例。
[0033] 對于BP神經(jīng)網(wǎng)絡(luò),理論上已經(jīng)證明,三層BP神經(jīng)網(wǎng)絡(luò)可以逼近任意復雜的非線性 函數(shù),因此本設(shè)計也為三層BP神經(jīng)網(wǎng)絡(luò)。請參看圖10,為三層BP神經(jīng)網(wǎng)絡(luò)的基本結(jié)構(gòu)圖, 包含輸入層,隱含層,輸出層三個單元。其中,輸入層、隱含層、輸出層神經(jīng)元個數(shù)分別為M, P,Q0
[0034