国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于深度神經網絡的直線二級倒立擺控制器設計

2022-05-31 17:09韓治國林煜張今淡春喬李偉
技術與創(chuàng)新管理 2022年3期
關鍵詞:Matlab仿真

韓治國 林煜 張今 淡春喬 李偉

摘 要:針對直線二級倒立擺抗干擾控制器設計問題,研究了基于深度神經網絡的智能控制方法。首先介紹了BP神經網絡和深度神經網絡模型及優(yōu)化算法,并且根據直線二級倒立擺狀態(tài)方程,研究了基于深度神經網絡的直線二級倒立擺控制算法。然后設計了一個六輸入單輸出的深度神經網絡控制器模型,并利用Pytorch框架,以LQR作為導師進行神經網絡的訓練,訓練完成后利用

MATLAB軟件對訓練后的神經網絡進行仿真實驗驗證,并與BP神經網絡控制器進行對比,最后在直線二級倒立擺實驗平臺上進行實驗驗證。仿真與實驗表明,所設計的深度神經網絡控制器能夠實現(xiàn)直線二級倒立擺的良好抗干擾控制,從而證明了該研究設計方法的合理性和有效性。

關鍵詞:深度神經網絡;直線二級倒立擺;LQR控制;MATLAB仿真

中圖分類號:TP 273

文獻標識碼:A 文章編號:1672-7312(2022)03-0298-08

Controller Design of Linear Two-stage Inverted Pendulum

Based on Deep Neural Network

HAN Zhiguo,LIN Yu,ZHANG Jin,DAN Chunqiao,LI Wei

(School of Aeronautics,Northwestern Polytechnical University,Xi’an 710072,China)

Abstract:Aiming at the design of anti-jamming controller for linear two-stage inverted pendulum,

an intelligent control method based on deep neural network is studied.In this paper,BP neural

network and deep neural network models and optimization algorithms are introduced.According to

the state equation of linear two-level inverted pendulum,the control algorithm of linear

two-level inverted pendulum based on deep neural network is studied.By designing a deep neural

network controller model with six inputs and one output,the Pytorch framework is used to train

the neural network with LQR as a mentor.The network controller is compared,and finally the

experimental verification is carried out on the linear two-stage inverted pendulum experimental

platform.Simulation and experiments show that the designed deep neural network controller can

achieve good anti-interference control of the linear two-stage inverted pendulum,which proves

the rationality and effectiveness of the design method in this paper.

Key words:deep neural network;linear two-stage inverted pendulum;LQR control;MATLAB

simulation

0 引言

直線型二級倒立擺實驗系統(tǒng)具有非線性、不穩(wěn)定、多變量和強耦合等特點,又因為其結構簡單、成本較低,是開展控制理論教學和實驗的理想平臺[1-2]。因為擺桿和滑塊的穩(wěn)定性可以直觀地體現(xiàn)出控制策略的效果,所以通過倒立擺實驗系統(tǒng)可以驗證新設計的控制方法的穩(wěn)定性、抗干擾能力和魯棒性等特性,并且倒立擺的相關控制算法已應用于機器人、航天、軍工以及一般工業(yè)生產過程等諸多領域。因此,對直線二級倒立擺系統(tǒng)的控制方法研究具有重要的實際和理論意義。

智能控制是控制理論發(fā)展的高級階段,是人工智能和控制理論結合的產物,主要用于解決用傳統(tǒng)控制方法難以解決的復雜非線性系統(tǒng)控制問題[3]。人工神經網絡是人工智能領域的研究熱點之一,它通過將人腦的神經元網絡抽象,建立某種數(shù)學模型模擬神經元的活動,以達到某種信息處理的功能。BP神經網絡是一種基于誤差反向傳播神經網絡算法的多層前饋神經網絡,具有很強的非線性映射能力,主要應用在分類問題、函數(shù)擬合和模式識別等方面。

為此,首先介紹BP神經網絡和深度神經網絡模型及優(yōu)化算法,分析直線二級倒立擺的狀態(tài)空間方程,并在此基礎上研究深度神經網絡的二級倒立擺控制算法,設計一個六輸入單輸出的三隱層神經網絡控制器。然后通過Pytorch框架以LQR作為導師進行神經網絡的訓練,訓練完成后利用MATLAB軟件對訓練后的神經網絡進行仿真實驗驗證,并與BP神經網絡控制器進行對比,最后在前海格致直線二級倒立擺實物進行驗證,以驗證深度神經網絡的在二級倒立擺控制中的有效性和優(yōu)越性。

1 神經網絡模型及優(yōu)化方法

1.1 BP神經網絡

BP(back-propagation)神經網絡是一種傳統(tǒng)的神經網絡,其主要特點是信號前向傳遞和誤差反向傳播。信號通過輸入層、隱含層的處理,從輸出層輸出,并將輸出和期望輸出的誤差反向傳播,調整網絡的參數(shù),使其不斷逼近期望輸出[4]。

設神經網絡的輸入為x=(x1,x2,…,xn)T,隱含層有m個節(jié)點,隱含層的激活函數(shù)為g,于是可得隱含層的輸出為

式中:x′i為隱含層第i個節(jié)點的輸出;wij為輸入層第j個節(jié)點與隱含層第i個節(jié)點的連接權值;bj為隱含層第i個節(jié)點的偏置。

BP神經網絡中信號的前向傳遞以上述方式進行,并在輸出層得到輸出。設輸出層有k個節(jié)點,第i個節(jié)點的輸出為yi,期望輸出為i,則網絡輸出與期望輸出的均方誤差為

為了使均方誤差ε盡可能小,最常用的方法為梯度下降法。因為梯度指向函數(shù)值增長最快的方向,所以負梯度方向指向函數(shù)值減小最快的方向。取步長α,每次沿負梯度方向將可訓練參數(shù)調整α個單位,即

式中:α為學習率;ω為連接權值??梢宰C明,選擇適當?shù)膶W習率,BP神經網絡的誤差會逐漸減小。

1.2 深度神經網絡

神經網絡(neural network,NN)起源于感知機模型,隱含層的加入和激活函數(shù)的擴展是神經網絡能夠學習復雜非線性模型的基礎。傳統(tǒng)的機器學習結構一般只有單隱層,而深度神經網絡(deep neural network,DNN)是具有多個隱含層結構的神經網絡。理論上,單隱層的神經網絡就可以擬合任何連續(xù)函數(shù),但在大部分情況下,單隱層結構需要比多隱層結構更多隱含層節(jié)點,換句話說,網絡表現(xiàn)能力與隱含層節(jié)點數(shù)在寬度上呈線性關系,而在深度上呈指數(shù)型關系,所以“深網絡”往往比“寬網絡”的效率更高[5]。從另一個角度來看,DNN的多隱層結構可以通過對原始數(shù)據的逐層特征提取使神經網絡對數(shù)據的抽象程度提高,令具有更強的學習能力和泛化能力[6-7]。圖1是DNN的基本結構。

訓練DNN時,當激活函數(shù)梯度小于1,誤差反向傳播時穿越的隱含層越多梯度就會越小,這導致靠近輸入層的隱含層訓練的很慢(梯度大于1則會導致梯度爆炸,從而使網絡不穩(wěn)定),需要采取殘差結構、Relu激活函數(shù)等方法提高神經網絡的訓練效率[8-9]。DNN還容易引起過擬合問題,即神經網絡在訓練過程中受到噪聲、訓練樣本不足等因素的影響導致其復雜度高于實際模型的復雜度,這將降低模型的泛化能力,表現(xiàn)為DNN在測試集上的表現(xiàn)遠不如其在訓練集上的表現(xiàn),通常可以采取增加樣本數(shù)量、正則化、Dropout、提前終止訓練等方法避免過擬合的發(fā)生[10]。

1.3 梯度下降算法

深度學習中常用的梯度下降算法有SGD,Momentum,RMSprop,Adam等。Momentum算法模擬了動量的概念,積累歷史的梯度來代替當前的真實梯度,這種算法在前期能較好的加速,在后期能一定程度上抑制振蕩。RMSprop算法能使在參數(shù)空間較為平緩的方向上的學習加快,而較為陡峭的方向上的學習減緩[11]。Adam算法為結合了RMSProp算法和Momentum的梯度下降算法,并增加了偏差修正,故2.3節(jié)中選擇了Pytorch中的Adam算法,具體計算過程見式(4)

2 基于深度神經網絡的控制算法實現(xiàn)

2.1 直線二級倒立擺模型構建

在忽略空氣阻力和所有的摩擦力并將兩級擺桿均視為剛體的情況下,可以將整個直線型二級倒立擺系統(tǒng)抽象簡化為由小車、兩級擺桿和兩級擺桿連接處的質量塊組成的剛性系統(tǒng)。在慣性坐標系內采用Lagrange方法建立二級倒立擺的動力學方程,建模所涉及的系統(tǒng)參數(shù)見表1,二級倒立擺動力學方程組見式(5)。

2.2 訓練數(shù)據生成

由于采用人工神經網絡監(jiān)督學習的學習方式,且線性二次型最優(yōu)控制器(LQR)在二級倒立擺的控制問題上表現(xiàn)較好[12-16],所以選擇LQR作為學習對象。根據二級倒立擺系統(tǒng)的線性化狀態(tài)空間方程,可利用MATLAB中的lqr函數(shù)求出最優(yōu)的反饋增益矩陣K

式中:矩陣Q和R分別是對系統(tǒng)狀態(tài)變量和輸入的加權矩陣,用以構成二次型目標函數(shù),取

Q=diag(10,150,200,5,30,15),R=1。

在控制過程中采集二級倒立擺系統(tǒng)的輸出值和控制器的輸出值作為訓練樣本。

在人工神經網絡的訓練中,數(shù)據分布會對訓練產生影響,神經網絡的輸入數(shù)據范圍較大會導致神經網絡收斂慢、訓練時間長。同時,在深度神經網絡中,數(shù)據在經過上一層網絡的變換后,其分布會發(fā)生變化,這會給下一層網絡學習帶來困難,同時在誤差反向傳播過程中,可能會出現(xiàn)梯度消失的問題,也會導致收斂慢。因此,需要在神經網絡中增加數(shù)據處理的過程。歸一化是一種常用的數(shù)據處理方式,但將數(shù)據處理成標準正態(tài)分布會導致神經網絡學習不到輸入數(shù)據的特征,所以在歸一化中加入了可訓練的偏移量和縮放量[17],使數(shù)據保留原始的特征,計算過程為

式中:xi為批量數(shù)據中第i個數(shù)據;μB為批量數(shù)據的均值;σ2B為批量數(shù)據的方差;yi是第i個數(shù)據的處理結果。

這種數(shù)據處理方式還可以應用在隱含層之間,提高DNN的訓練速度,降低過擬合。

2.3 深度神經網絡構建與訓練

Pytorch是一種深度學習框架,提供了GPU加速的張量計算和包含自動求導系統(tǒng)的深度神經網絡。使用Pytorch框架搭建的全連接神經網絡如圖2所示。

其中,二級倒立擺系統(tǒng)的6個狀態(tài)變量作為輸入,3個隱含層均有9個節(jié)點,激活函數(shù)選擇1.2節(jié)提到的Relu激活函數(shù)的變體ELU函數(shù),其公式為

使用ELU函數(shù)能使激活函數(shù)在x>0時導數(shù)為1,能一定程度上解決誤差反向傳播時的梯度消失問題。

考慮到輸出量u為正和為負的概率相等,所以設最后一層網絡的偏置為0,并且二級倒立擺系統(tǒng)的狀態(tài)變量平均值應該為0,故第一次數(shù)據標準化處理時將偏移量β恒取為零。

損失函數(shù)設計為1.1節(jié)中介紹的均方誤差損失函數(shù)加上偏差與期望比值的絕對值,即

設計右式第二項的目的是當被控系統(tǒng)接近穩(wěn)定時(即控制器輸出較小時),神經網絡的輸出能更接近期望輸出。優(yōu)化器選擇Adam優(yōu)化器,具體算法流程在1.3節(jié)有所介紹。

在pytorch中實現(xiàn)深度神經網絡的流程如圖3所示。

基于Pytorch的深度神經網絡訓練程序核心內容為

使用tensorboard工具包觀察神經網絡的訓練過程,神經網絡的輸出與期望輸出的均方誤差變化曲線如圖4所示。

可以看出,損失函數(shù)值隨迭代次數(shù)增加而不斷減小,最終收斂到小于0.1。

2.4 倒立擺控制仿真

根據倒立擺數(shù)學模型和訓練完成的DNN控制器在MATLAB中搭建二級倒立擺控制系統(tǒng)仿真模型,運行仿真模型,并與單隱層神經網絡控制器性能進行對比。圖5~圖7給出了二級倒立擺小車位移s、下擺桿偏離鉛垂線的角度θ1和上擺桿偏離鉛垂線的角度θ2的仿真曲線。

可以看出,DNN的二級倒立擺控制器能實現(xiàn)對二級倒立擺的穩(wěn)定控制,并且在下擺桿角度和上擺桿角度的控制性能明顯好于單隱層控制器,并且控制消耗的能量也少于單隱層控制器(約為單隱層控制器的80%),但在小車位移的控制上要差于單隱層控制器。

在仿真進行10 s后增加一個擾動,DNN控制器和單隱層神經網絡控制器仿真控制曲線如圖8~圖12所示??梢钥闯觯诩尤胂嗤臄_動后,DNN控制出現(xiàn)的波動小于單隱層控制。說明了該控制方法的有效性和可行性。

為了驗證被控系統(tǒng)參數(shù)具有偏差時DNN控制器的魯棒性,對仿真時被控系統(tǒng)參數(shù)做出如下調整

DNN控制器和單隱層控制器的參數(shù)不變,對比仿真結果如圖13~圖16所示。

可以看出,在被控系統(tǒng)參數(shù)存在相同的偏差時,DNN控制器的控制效果好于單隱層控制器,說明了DNN控制器具有較強的魯棒性。

2.5 二級倒立擺實物控制

由前海格致直線二級倒立擺實物進行實物驗證。運行直線二級倒立擺VC實時控制程序,將上下兩擺桿同時提升至平衡位置附近后松手,當擺角均小于14°時觸發(fā)平衡控制程序。運行中的二級倒立擺系統(tǒng)實物如圖17所示。

程序運行后,上下擺桿能保持較穩(wěn)定的直立狀態(tài),小車在一定范圍內左右運動,并且給擺桿施加一個合適的小擾動后,該系統(tǒng)也能很快恢復平衡狀態(tài)。實驗證明了DNN控制器設計的有效性和魯棒性。

3 結論

1)構建了深度神經網絡模型與直線二級倒立擺數(shù)學模型,利用LQR控制作為深度神經網絡訓練導師,實現(xiàn)對深度神經網絡訓練與優(yōu)化。

2)針對構建的神經網絡控制器,通過仿真與實驗驗證了深度神經網絡控制器設計方法在直線二級倒立擺控制中的有效性和合理性。同時,通過增加擾動的仿真實驗,驗證了深度神經網絡控制器的魯棒性和穩(wěn)定性。

參考文獻:

[1] 鄧曉剛,楊明輝.面向現(xiàn)代控制理論實驗教學的倒立擺虛擬仿真系統(tǒng)[J].實驗室研究與探索,2017,36(05):79-83.

[2]孫蓉,李冰,陳美遠,等.基于環(huán)形倒立擺的綜合實訓平臺[J].實驗技術與管理,2014,31(09):87-90.

[3]NORIEGA J R,WANG H.A direct adaptive neural-network control for unknown nonlinear systems and its application[J].IEEE Transactions on Neural Networks,1998,9(01):27-34.

[4]KUPERSTEIN M.Neural controller for adaptive sensory-motor coordination[J].Neural Networks,1991,4(02):131-145.

[5]BATENI S,JENG D,MELVILLE B.Bayesian neural networks for prediction of equilibrium and time-dependent scour depth around bridge piers[J].Advances in Engineering Software,2007,38(02):102-111.

[6]YAROTSKY D.Error bounds for approximations with deep ReLU networks[J].Neural Networks,2017,94:103-114.

[7]ZHANG C,BENGIO S,HARDT M,et al.Understanding deep learning(still)requires rethinking generalization[J].Communications of the ACM,2021,64(03):107-115.

[8]牟晉娟.深度神經網絡中激活函數(shù)的研究[J].電腦編程技巧與維護,2019(12):59-61.

[9]PATEL V,GEORGE N V.Nonlinear active noise control using spline adaptive filters[J].Applied Acoustics,2015,93(07):38-43.

[10]NJOCK P G A,SHEN S L,ZHOU A N,et al.Artificial neural network optimized by differential evolution for predicting diameters of jet grouted columns[J].Journal of Rock Mechanics and Geotechnical Engineering,2021,13(06):1500-1512.

[11]TONG Y Q,CHENG B J,MIAO Y Q,et al.Analysis and elimination of tri-band beacon interference with the fluxgate sensors onboard CSES[J].Science China(Technological Sciences),2021,64(10):2328-2336.

[12]馬婷婷.基于直線二級倒立擺穩(wěn)定控制方法的研究[D].西安:西安電子科技大學,2014.

[13]任祖華.倒立擺系統(tǒng)的智能控制研究[D].武漢:華中科技大學,2006.

[14]孫大衛(wèi),曾靜,張國良.基于卡爾曼濾波的一級倒立擺LQR控制研究[J].實驗技術與管理,2007,24(02):37-40.

[15]韓亞軍.基于線性二次最優(yōu)LQR的直線倒立擺控制系統(tǒng)研究分析[J].電氣傳動自動化,2012,34(03):22-25.

[16]高巖,雍容.倒立擺控制實驗系統(tǒng)中的算法研究[J].實驗技術與管理,2005,22(05):20-24.

[17]CAO K,HUANG B,WANG S W,et al.Sustainable land use optimization using Boundary-based Fast Genetic Algorithm-Science Direct[J].Computers,Environment and Urban Systems,2012,36(03):257-269.

(責任編輯:張 江)

收稿日期:2022-02-17

基金項目:航空科學基金項目(20180153002,20200001053001)

作者簡介:韓治國(1986—),男,陜西西安人,博士,副研究員,主要從事控制系統(tǒng)設計方面的研究工作。

猜你喜歡
Matlab仿真
微信網絡的信息傳播模型研究
常規(guī)PID控制和常規(guī)模糊控制的比較
感應電機低速運行時自適應狀態(tài)觀測器研究
人工神經網絡的改進及其在入侵檢測中的應用
基于相關分析法的系統(tǒng)辨識算法對比及仿真
MATLAB仿真在《控制工程基礎》教學中的應用
基于相似度算法的偽碼起始位置變步長估計
基于運動單站的多觀測點交叉角無源定位技術
基于FPGA實現(xiàn)直接數(shù)字頻率合成脈沖線性調頻信號
小波變換在信號奇異性特征檢測中的應用
永顺县| 岗巴县| 库伦旗| 沁源县| 吉水县| 龙岩市| 兰溪市| 水富县| 山东省| 小金县| 如东县| 江油市| 苗栗市| 瑞安市| 岳阳市| 子长县| 屏东县| 同仁县| 山东| 和林格尔县| 边坝县| 镇巴县| 汕头市| 长沙县| 桑植县| 当涂县| 唐海县| 鹤山市| 太谷县| 红原县| 安图县| 西乡县| 东辽县| 巴南区| 三都| 漳平市| 石屏县| 涿鹿县| 绥芬河市| 神农架林区| 梓潼县|