付 虹,王國(guó)志,柯 堅(jiān),鄧 斌,吳文海
(西南交通大學(xué)機(jī)械工程學(xué)院,成都 610031)
作為鐵路電力系統(tǒng)的關(guān)鍵組成部分,為預(yù)防污閃事故的發(fā)生,鐵路絕緣子需要定期清洗[1-3]。目前絕大多數(shù)的鐵路絕緣子沖洗車主要依賴于人工操作,人工操作存在沖洗效率低、勞動(dòng)強(qiáng)度大、安全隱患大等諸多問(wèn)題,隨著機(jī)器學(xué)習(xí)和人工智能的高速發(fā)展,研究和開(kāi)發(fā)自動(dòng)化和智能化沖洗設(shè)備成為電力系統(tǒng)清潔行業(yè)的迫切需求和必然趨勢(shì)[4-6]。
目前已有學(xué)者在智能沖洗領(lǐng)域做出了相關(guān)研究,林文文等提出了一種基于絕緣子顏色特征和相關(guān)參照特征的絕緣子識(shí)別方法,該方法可在準(zhǔn)確識(shí)別和定位出鐵路絕緣子基礎(chǔ)上,縮短定位時(shí)間[7]。張雷等提出了一種具有雙臂的鐵路接觸網(wǎng)絕緣子智能清洗設(shè)備,結(jié)合單、雙目系統(tǒng)優(yōu)勢(shì)構(gòu)建一種單雙目結(jié)合的識(shí)別系統(tǒng)[8]。姚波等開(kāi)發(fā)研究出一種實(shí)現(xiàn)絕緣子自動(dòng)識(shí)別和定位的新型絕緣子水沖洗機(jī)器人[9]。李健、蔣超猛等也進(jìn)行了變電站帶電作業(yè)水沖洗機(jī)器人的研制工作[10-11]。孫麗萍等進(jìn)行了變電站帶電水沖洗移動(dòng)機(jī)器人控制系統(tǒng)研究,提出采用工控機(jī)+觸摸屏+運(yùn)動(dòng)控制器的控制方式簡(jiǎn)化機(jī)器人的運(yùn)動(dòng)控制過(guò)程,提高控制精度[12]。楊超杰等基于STM32單片機(jī)和Modbus通信協(xié)議研發(fā)出絕緣子帶電水沖洗裝置前端傳感數(shù)據(jù)采集系統(tǒng)樣機(jī)[13]。
然而,絕緣子帶電水沖洗作業(yè)環(huán)境復(fù)雜,僅僅依靠機(jī)器視覺(jué)和圖像識(shí)別技術(shù)來(lái)研發(fā)沖洗機(jī)器人是遠(yuǎn)遠(yuǎn)不夠的,水沖洗裝置必須具備較高的自主學(xué)習(xí)能力和應(yīng)變能力,才能進(jìn)行安全有效的沖洗作業(yè)。而水沖洗裝置學(xué)習(xí)的關(guān)鍵在于如何防止絕緣子丟失,即如何準(zhǔn)確地定位絕緣子。
本文提出一種基于啟發(fā)式Q(λ)學(xué)習(xí)算法的絕緣子定位、跟蹤方法,該方法結(jié)合電氣化鐵路絕緣子分布特點(diǎn),優(yōu)先檢索支柱,提高了水沖洗裝置的學(xué)習(xí)效果,能夠有效地為水炮提供絕緣子位置信息,提高自動(dòng)沖洗的準(zhǔn)確性、快速性、高效性和智能性。
定位沖洗系統(tǒng)以西南交通大學(xué)新型驅(qū)動(dòng)中心研制的KJ系列帶電水沖洗車為平臺(tái),帶電水沖洗炮可通過(guò)調(diào)整水平和俯仰2個(gè)自由度實(shí)現(xiàn)目標(biāo)絕緣子的對(duì)準(zhǔn)。水炮水平角度可調(diào)整η范圍為0°~360°,俯仰角度可調(diào)整θ范圍為15°~85°[14]。
安裝有2個(gè)CCD相機(jī)、2個(gè)角度傳感器、1個(gè)距離傳感器的水沖洗裝置沖洗過(guò)程如圖1所示。安裝在水沖洗車身上CCD相機(jī)E用來(lái)返回目標(biāo)范圍內(nèi)絕緣子數(shù)目,安裝在水沖洗槍上的CCD相機(jī)D用來(lái)反饋是否沖到絕緣子,角度傳感器B和C分別用來(lái)檢測(cè)水槍水平和俯仰角度,距離傳感器A用來(lái)判斷水沖洗車身位置。
圖1 水沖洗裝置沖洗示意
將絕緣子水沖洗過(guò)程環(huán)境空間轉(zhuǎn)化為由η×θ組成的二維平面,其中η表示偏航角度,θ俯仰角度,則三維空間內(nèi)目標(biāo)絕緣子質(zhì)心位置可轉(zhuǎn)化為二維平面上的目標(biāo)點(diǎn)。本文主要研究的問(wèn)題是如何通過(guò)對(duì)角度的訓(xùn)練和學(xué)習(xí)從而實(shí)現(xiàn)對(duì)目標(biāo)絕緣子的準(zhǔn)確定位。
Watkins提出的Q學(xué)習(xí)是一種與模型無(wú)關(guān)的強(qiáng)化學(xué)習(xí)算法,Q學(xué)習(xí)更新迭代時(shí)采用狀態(tài)-動(dòng)作對(duì)的回報(bào)值Q(s,a)作為估計(jì)函數(shù),智能體每次學(xué)習(xí)時(shí)不僅要考慮狀態(tài),還必須要考慮行為動(dòng)作[15]。Q學(xué)習(xí)算法中智能體獲得立即回報(bào)后僅迭代修改了相鄰狀態(tài)的估計(jì)值,從而導(dǎo)致Q學(xué)習(xí)算法收斂速度較慢。類比于TD(λ)算法,Q(λ)算法的基本形式如公式(1)所示
Q(st,at)=Q(st,at)+
(1)
通過(guò)引入資格跡,賦予發(fā)生過(guò)的動(dòng)作-狀態(tài)對(duì)相應(yīng)的信度,Q(λ)算法可以有效實(shí)現(xiàn)在線、增量式學(xué)習(xí)。其中狀態(tài)動(dòng)作的增量式資格跡e(s,a)定義如公式(2)所示[16]
(2)
在t時(shí)刻,如果狀態(tài)s未被訪問(wèn),則資格跡更新為原跡的γλ倍,反之,則資格跡更新為γλ倍再加1,其中γ為折扣因子,λ為資格跡的衰減系數(shù)。
采用傳統(tǒng)Q(λ)學(xué)習(xí)算法,水沖洗裝置直接在環(huán)境模型中檢索絕緣子,此時(shí)環(huán)境只存在兩種狀態(tài),即水沖洗裝置瞄準(zhǔn)目標(biāo)或者水沖洗裝置丟失目標(biāo),由于絕緣子相對(duì)于整體狀態(tài)空間來(lái)說(shuō)尺寸有限,智能體往往需要花費(fèi)長(zhǎng)時(shí)間大量的時(shí)間遍歷狀態(tài)空間才能確定目標(biāo)絕緣子位置。
而啟發(fā)式Q(λ)學(xué)習(xí)算法,在引入支柱特征后,環(huán)境存在3種可能的狀態(tài),即沖洗裝置瞄準(zhǔn)絕緣子、沖洗裝置瞄準(zhǔn)支柱或者水沖洗裝置丟失目標(biāo)。設(shè)計(jì)傳統(tǒng)Q(λ)學(xué)習(xí)獎(jiǎng)賞函數(shù)rT為
(3)
設(shè)計(jì)啟發(fā)式Q(λ)學(xué)習(xí)獎(jiǎng)賞函數(shù)為rU
(4)
獎(jiǎng)賞函數(shù)rT表明傳統(tǒng)Q(λ)學(xué)習(xí)當(dāng)且僅當(dāng)水炮瞄準(zhǔn)絕緣子時(shí),才能返回最大立即獎(jiǎng)賞;而獎(jiǎng)賞函數(shù)rU表明如果水沖洗裝置在某時(shí)刻t找到支柱,會(huì)返回獎(jiǎng)賞值1,則水沖洗裝置會(huì)更傾向于沿著支柱或在支柱周圍檢索,直到找到目標(biāo)絕緣子獲得最大獎(jiǎng)賞。啟發(fā)式獎(jiǎng)賞函數(shù)的設(shè)計(jì)在一定程度上縮小了有效檢索范圍,有利于提高學(xué)習(xí)過(guò)程的計(jì)算量和收斂速度。
啟發(fā)式策略選擇主要通過(guò)融入先驗(yàn)或領(lǐng)域知識(shí)來(lái)設(shè)計(jì)和優(yōu)化啟發(fā)式獎(jiǎng)賞函數(shù),與原有動(dòng)作策略相結(jié)合,以此來(lái)指導(dǎo)智能體動(dòng)作選擇[17]?;趩l(fā)式策略選擇的強(qiáng)化學(xué)習(xí)系統(tǒng)如圖2所示。
圖2 啟發(fā)式強(qiáng)化學(xué)習(xí)系統(tǒng)原理
相比較傳統(tǒng)Q(λ)學(xué)習(xí)算法而言,啟發(fā)式Q(λ)策略學(xué)習(xí)模塊中的建議動(dòng)作可分為基于規(guī)則和基于啟發(fā)式函數(shù)兩類?;谝?guī)則的啟發(fā)函數(shù)一般直接給出建議動(dòng)作,基于啟發(fā)函數(shù)的則在原有的動(dòng)作基礎(chǔ)上融入啟發(fā)函數(shù)H(s,a),根據(jù)結(jié)合后的動(dòng)作選擇函數(shù)共同指導(dǎo)動(dòng)作選擇。根據(jù)實(shí)際沖洗情況確定基于規(guī)則的啟發(fā)函數(shù)H(s,a)如公式(5)所示
(5)
式中,aθ表示水沖洗裝置沿著支柱方向檢索絕緣子的動(dòng)作集合;aη表示水沖洗裝置沿著回轉(zhuǎn)方向檢索支柱的動(dòng)作集合;smaxh表示沖洗達(dá)到支柱最高點(diǎn)的臨界狀態(tài);Rtotal_rewards表示該學(xué)習(xí)幕數(shù)下的累積立即回報(bào)獎(jiǎng)賞值。
該啟發(fā)式策略函數(shù)的主要作用是在初始階段,指導(dǎo)水沖洗裝置沿著回轉(zhuǎn)方向搜尋支柱,當(dāng)找到支柱后則沿著支柱方向搜尋絕緣子,一旦到達(dá)支柱最高點(diǎn)則按照貪婪策略搜尋目標(biāo)絕緣子。
為保證算法的穩(wěn)定性和收斂性,所設(shè)計(jì)的水沖洗裝置啟發(fā)式策略函數(shù)H(s,a)得到的建議動(dòng)作不直接用于指導(dǎo)水沖洗智能體的行為選擇,而是通過(guò)動(dòng)作融合機(jī)制借助概率形式融合于智能體中[18]。水沖洗智能體融合策略選擇函數(shù)π(s)如公式(6)所示
(6)
式中,rand為每步生成的隨機(jī)數(shù);πQ(s)表示利用Q值的貪婪策略;k表示啟發(fā)式建議策略的概率,且k按照公式(7)取值
(7)
當(dāng)學(xué)習(xí)幕數(shù)小于m時(shí),執(zhí)行貪婪策略選擇動(dòng)作;當(dāng)學(xué)習(xí)幕數(shù)介于m、n之間時(shí),按照一定的概率選擇動(dòng)作策略;當(dāng)學(xué)習(xí)幕數(shù)大于n時(shí),逐步減小啟發(fā)式策略選擇函數(shù)對(duì)學(xué)習(xí)效果的影響,直到學(xué)習(xí)收斂。
圖3 接觸網(wǎng)絕緣子沖洗啟發(fā)式Q(λ)學(xué)習(xí)算法流程
(1)仿真環(huán)境設(shè)置。
算法在Intel(R)Xeon(R)CPU 3.3 GHz 4 GB內(nèi)存的PC機(jī)上進(jìn)行了仿真實(shí)驗(yàn),運(yùn)行環(huán)境為64位Windows 7,編程環(huán)境為Matlab R2014b。
為方便編程與計(jì)算,選取單一目標(biāo)絕緣子作為研究對(duì)象,分別采用Q(λ)學(xué)習(xí)方法和啟發(fā)式Q(λ)學(xué)習(xí)方法,進(jìn)行沖洗仿真實(shí)驗(yàn)。實(shí)驗(yàn)環(huán)境采用20×20二維平面柵格來(lái)模擬,如圖4所示,三角形代表水炮初始位置,五角星代表目標(biāo)絕緣子位置,黑色柵格代表支柱位置。
圖4 仿真環(huán)境:20×20柵格
(2)水沖洗智能體行為與學(xué)習(xí)
水沖洗智能體可采取的動(dòng)作集A為{向上;向下;向左;向右;向左上;向左下;向右上;向右下}。每一幕學(xué)習(xí)起始點(diǎn)為水炮初始狀態(tài)位置,結(jié)束點(diǎn)為目標(biāo)絕緣子位置,如果迭代步數(shù)超出maxsteps設(shè)定值還未找到目標(biāo)位置,則結(jié)束當(dāng)前幕數(shù)的學(xué)習(xí),直到學(xué)習(xí)幕數(shù)再次超過(guò)maxepisode,終止整個(gè)學(xué)習(xí)過(guò)程。仿真過(guò)程中,單位長(zhǎng)度代表角度旋轉(zhuǎn)1°,如果水炮在第i步探索中找到超出邊界的位置,則趨向于朝著遠(yuǎn)離邊界的方向動(dòng)作。
(3)參數(shù)設(shè)置
仿真實(shí)驗(yàn)過(guò)程中,每次訓(xùn)練學(xué)習(xí)中設(shè)定最大幕數(shù)為maxepisode=400,設(shè)定每個(gè)學(xué)習(xí)幕數(shù)最大迭代步數(shù)為maxsteps=200;學(xué)習(xí)因子α=0.4、折扣因子γ=1、貪婪因子ε=0.01和資格跡衰減系數(shù)λ=0.5,對(duì)于啟發(fā)式Q(λ)算法取m=30,n=50;為選取合理的k值使得啟發(fā)式Q(λ)算法學(xué)習(xí)效果最好,分別對(duì)k取0.1、0.2、0.3、0.4、0.5、0.6、0.7、0.8、0.9和1.0進(jìn)行仿真實(shí)驗(yàn),得到收斂幕數(shù)與隨機(jī)數(shù)k的取值關(guān)系如圖5所示。
圖5 不同k值下啟發(fā)式Q(λ)算法收斂幕數(shù)
由圖5可以得到結(jié)論:k值的選取直接影響到啟發(fā)式Q(λ)算法的收斂效果,當(dāng)k>0.5時(shí),啟發(fā)式Q(λ)算法收斂效果逐漸趨于穩(wěn)定,本文取k=0.99進(jìn)行仿真實(shí)驗(yàn)。
Steps分別對(duì)Q(λ)算法和啟發(fā)式Q(λ)算法進(jìn)行仿真實(shí)驗(yàn),通過(guò)每一幕總體獎(jiǎng)賞R、平均迭代步數(shù)Steps兩個(gè)參數(shù)來(lái)描述實(shí)驗(yàn)效果,實(shí)驗(yàn)結(jié)果如圖6、圖7所示。
圖6 Q(λ)算法學(xué)習(xí)效果
圖7 啟發(fā)式Q(λ)算法學(xué)習(xí)效果
由圖6、圖7分析可知:
(1)從仿真結(jié)果可以看出,兩種學(xué)習(xí)算法隨著學(xué)習(xí)幕數(shù)的增加,迭代步數(shù)均逐漸減小,表明水沖洗智能體通過(guò)不斷的訓(xùn)練學(xué)習(xí),最終確定了定位目標(biāo)絕緣子的最優(yōu)策略;相對(duì)于Q(λ)算法,啟發(fā)式Q(λ)可以減少和避免由于貪婪策略引起的學(xué)習(xí)效果波動(dòng);
(2)Q(λ)算法在第173幕的時(shí)候收斂,啟發(fā)式Q(λ)算法在第51幕的時(shí)候基本收斂,收斂速度提高70.5%;
(3)Q(λ)平均迭代步數(shù)為136步,啟發(fā)式Q(λ)算法平均迭代步數(shù)為66步,計(jì)算量減少51.4%,從而驗(yàn)證了算法的正確性和可行性。
為克服人工沖洗弊端,考慮絕緣子水沖洗特殊環(huán)境,提出了一種新的絕緣子定位、跟蹤方法。通過(guò)優(yōu)先檢索支柱特征,進(jìn)行基于啟發(fā)式Q(λ)算法的學(xué)習(xí)和訓(xùn)練,仿真實(shí)驗(yàn)表明,該算法可以實(shí)時(shí)高效地實(shí)現(xiàn)絕緣子定位,為絕緣子智能沖洗提供重要依據(jù)。
參考文獻(xiàn):
[1]孫忠國(guó),張文軒,王衛(wèi)東.電氣化鐵路接觸網(wǎng)絕緣子污閃預(yù)警檢測(cè)技術(shù)綜述[J].中國(guó)鐵路,2016(10):68-72.
[2]夏寶哲.電氣化鐵路接觸網(wǎng)絕緣子人工污穢特性試驗(yàn)研究[J].中國(guó)鐵道科學(xué),1986(1):74-91.
[3]李巖.基于HOG特征和SVM的絕緣子識(shí)別與定位[J].交通運(yùn)輸工程與信息學(xué)報(bào),2015(4):53-60.
[4]王佩.輪式帶電水沖洗車總體方案的研究[D].成都:西南交通大學(xué),2013.
[5]孫麗萍.變電站帶電水沖洗移動(dòng)機(jī)器人控制系統(tǒng)研究[D].濟(jì)南:山東建筑大學(xué),2015.
[6]蔣超猛.變電站水沖洗機(jī)器人關(guān)鍵部件及控制研究[D].成都:西南交通大學(xué),2015.
[7]林文文,鄧斌,于蘭英,等.一種基于顏色和相關(guān)參照特征的鐵路絕緣子識(shí)別方法[J].電瓷避雷器,2016(6):40-44.
[8]張雷.鐵路接觸網(wǎng)絕緣子清潔機(jī)器人關(guān)鍵技術(shù)研究[D].綿陽(yáng):西南科技大學(xué),2016.
[9]姚波.變電所絕緣子水沖洗機(jī)器人結(jié)構(gòu)與視覺(jué)系統(tǒng)研究[D].成都:西南交通大學(xué),2016.
[10] 李健,魯守銀,董旭.變電站帶電作業(yè)水沖洗機(jī)器人的研制[J].制造業(yè)自動(dòng)化,2015(10):67-71.
[11] 蔣超猛,李哲,柯堅(jiān),等.牽引變電站帶電水沖洗機(jī)器人設(shè)計(jì)[J].液壓與氣動(dòng),2015(5):96-99.
[12] 孫麗萍.變電站帶電水沖洗移動(dòng)機(jī)器人控制系統(tǒng)研究[D].山東:山東建筑大學(xué),2015.
[13] 楊超杰,梁鋒,彭盈燦,等.絕緣子帶電水沖洗裝置前端傳感數(shù)據(jù)采集系統(tǒng)的研發(fā)[J].武漢大學(xué)學(xué)報(bào)(工學(xué)版),2014(6):829-832.
[14] 王國(guó)志,王興民,單寶成,等.KJ-A型電氣化鐵道絕緣子帶電水沖洗裝置的研制[J].電氣化道,2003(1):26-28.
[15] R. S. Sutton, A. G. Barto. Reinforcement learning: An introduction[M]. Cambridge: MIT Press, 1998.
[16] 王雪松.強(qiáng)化學(xué)習(xí)原理及其應(yīng)用[M].北京:科學(xué)出版社,2014.
[17] 魏英姿,趙明揚(yáng).強(qiáng)化學(xué)習(xí)算法中啟發(fā)式回報(bào)函數(shù)的設(shè)計(jì)及其收斂性分析[J].計(jì)算機(jī)科學(xué),2005(3):190-193.
[18] 方敏,李浩.基于狀態(tài)回溯代價(jià)分析的啟發(fā)式Q學(xué)習(xí)[J].模式識(shí)別與人工智能,2013(9):838-844.