劉景亞
(中冶賽迪技術(shù)研究中心有限公司智能機(jī)器人技術(shù)研究所,重慶,401122)
目前鋼鐵冶金行業(yè)面臨資源和環(huán)境約束不斷加強(qiáng)、人口老齡化、勞動(dòng)力等生產(chǎn)要素成本不斷上升等問題,各鋼鐵企業(yè)對(duì)降本、提質(zhì)、增效需求迫切。工業(yè)機(jī)器人在鋼鐵冶金領(lǐng)域的應(yīng)用有利于降低企業(yè)人力成本、生產(chǎn)維護(hù)成本和安全事故的發(fā)生,提高生產(chǎn)效率、工藝穩(wěn)定性和產(chǎn)品質(zhì)量。由于鋼鐵冶金流程非結(jié)構(gòu)化的工作環(huán)境不確定性因素較多,故要求工業(yè)機(jī)器人具有更多的自主性和智能化程度。
增強(qiáng)學(xué)習(xí)是機(jī)器學(xué)習(xí)和智能控制領(lǐng)域的主要方法之一,關(guān)注的是智能體如何在環(huán)境中采取一系列行為從而獲得最大的累積回報(bào),是一種提高智能體的自主性和對(duì)環(huán)境適應(yīng)能力的有效方法[1]。近年來,增強(qiáng)學(xué)習(xí)正在被越來越廣泛地應(yīng)用到機(jī)器人研究領(lǐng)域,如移動(dòng)機(jī)器人路徑搜索[2]、人形機(jī)器人步態(tài)規(guī)劃[3]和多關(guān)節(jié)機(jī)器人控制[4]等。K.Shibata[5-7]等利用基于增強(qiáng)學(xué)習(xí)的TS算法,將視覺信號(hào)輸入到神經(jīng)網(wǎng)絡(luò),針對(duì)二自由度的機(jī)械臂進(jìn)行了研究;A.A.Jafari[8]等將增強(qiáng)學(xué)習(xí)和自組織映射應(yīng)用到機(jī)器人控制中,對(duì)二自由度機(jī)械臂的路徑規(guī)劃進(jìn)行了研究;J.A.Martin和D.Maravall等[9-10]利用進(jìn)化理論和增強(qiáng)學(xué)習(xí)建立了自主機(jī)器人通用的控制器,并且對(duì)多連桿機(jī)器人的運(yùn)動(dòng)學(xué)逆解問題進(jìn)行了研究。
本文基于增強(qiáng)學(xué)習(xí)的Sarsa算法對(duì)應(yīng)用在鋼鐵冶金領(lǐng)域的平面三自由度工業(yè)機(jī)器人進(jìn)行研究,目的在于實(shí)現(xiàn)工業(yè)機(jī)器人的運(yùn)動(dòng)自主規(guī)劃和在不確定工作環(huán)境中的自適應(yīng)。首先,筆者建立了機(jī)器人自主運(yùn)動(dòng)規(guī)劃模型;其次,研究了增強(qiáng)學(xué)習(xí)的Sarsa算法并編程實(shí)現(xiàn);最后,利用仿真實(shí)驗(yàn)對(duì)模型進(jìn)行了驗(yàn)證。
工業(yè)機(jī)器人在鋼鐵冶金領(lǐng)域具有十分廣泛的應(yīng)用,其運(yùn)動(dòng)規(guī)劃功能在執(zhí)行搬運(yùn)、抓取等動(dòng)作時(shí)尤為重要。傳統(tǒng)的機(jī)器人運(yùn)動(dòng)規(guī)劃通過人工示教或逆運(yùn)動(dòng)學(xué)計(jì)算求解。由于鋼鐵冶金環(huán)境的特殊性和任務(wù)可重復(fù)性不強(qiáng),機(jī)器人在冶金流程應(yīng)用時(shí),傳統(tǒng)運(yùn)動(dòng)規(guī)劃方法效率低下且編程任務(wù)繁重。因此實(shí)現(xiàn)工業(yè)機(jī)器人的運(yùn)動(dòng)自規(guī)劃和對(duì)不確定工作環(huán)境的自適應(yīng),將有利于機(jī)器人應(yīng)用的推廣。
本文研究中,機(jī)器人的任務(wù)可概括為以下兩點(diǎn):
1)在工作空間給定固定的目標(biāo)點(diǎn),機(jī)器人不依賴于人工示教和編程,通過自學(xué)習(xí)的方式到達(dá)目標(biāo)點(diǎn),實(shí)現(xiàn)運(yùn)動(dòng)路徑的自主規(guī)劃;
2)在工作空間隨機(jī)給定目標(biāo)點(diǎn),機(jī)器人仍可通過自主規(guī)劃的方式到達(dá)目標(biāo)點(diǎn)。
平面三自由度工業(yè)機(jī)器人的機(jī)構(gòu)運(yùn)動(dòng)模型如圖1所示。以工業(yè)機(jī)器人的底座中心O為原點(diǎn),建立直角坐標(biāo)系XOY。簡(jiǎn)化的運(yùn)動(dòng)模型中,機(jī)器人由連桿OA、連桿AB和連桿BC組成,假設(shè)三個(gè)連桿的桿長(zhǎng)分別為L(zhǎng)1、L2和L3,三個(gè)連桿之間的夾角分別為θ1、θ2和θ3,末端執(zhí)行器的位置和姿態(tài)由C點(diǎn)坐標(biāo)(xT,yT)和向量BC與X軸正方向的夾角φT來表示。
圖1 機(jī)構(gòu)運(yùn)動(dòng)模型
運(yùn)動(dòng)規(guī)劃的目的為,已知目標(biāo)點(diǎn)的位置,求解一系列滿足期望要求的θ1、θ2和θ3,以使末端執(zhí)行器到達(dá)目標(biāo)位置。
根據(jù)幾何關(guān)系,則有:
根據(jù)馬爾科夫決策過程的特點(diǎn),筆者建立的自主運(yùn)動(dòng)規(guī)劃模型如圖2所示。
圖2 自主運(yùn)動(dòng)規(guī)劃模型
當(dāng)目標(biāo)位置給定后,自主規(guī)劃模型根據(jù)當(dāng)前的狀態(tài)s和任意初始化的動(dòng)作值函數(shù)Q選擇動(dòng)作a;該動(dòng)作驅(qū)動(dòng)機(jī)器人運(yùn)動(dòng);外部環(huán)境對(duì)機(jī)器人的動(dòng)作進(jìn)行評(píng)價(jià),給出回報(bào)函數(shù)r,同時(shí)改變狀態(tài)s;根據(jù)回報(bào)函數(shù)r和更新的狀態(tài)值對(duì)動(dòng)作值函數(shù)進(jìn)行更新;根據(jù)更新的狀態(tài)s和動(dòng)作值函數(shù)Q,再選擇動(dòng)作a。
上述過程進(jìn)行迭代循環(huán),使機(jī)器人采取一系列行為,從而獲得最大的累積回報(bào),并選擇最優(yōu)的策略使機(jī)器人自主到達(dá)目標(biāo)位置。
上述建立的自主運(yùn)動(dòng)規(guī)劃模型采用Sarsa算法實(shí)現(xiàn),該算法是增強(qiáng)學(xué)習(xí)中的常用算法,經(jīng)常用于決策控制問題中。該算法估計(jì)的是動(dòng)作值函數(shù),在下面任意狀態(tài)s上所有可執(zhí)行的動(dòng)作a的動(dòng)作值函數(shù)Q(s,a)。對(duì)于每個(gè)非終止的狀態(tài)st,在達(dá)到下一個(gè)狀態(tài)后,根據(jù)公式更新動(dòng)作值函數(shù)Q(st,at),最終得到所有“狀態(tài)—?jiǎng)幼鳌睂?duì)的動(dòng)作值函數(shù),并根據(jù)得到的動(dòng)作值函數(shù)輸出最優(yōu)策略π。
動(dòng)作值函數(shù)的更新公式如下:
Sarsa算法的流程如圖3所示。其中,Epsiode表示學(xué)習(xí)次數(shù),MaxEpsiodes表示最大學(xué)習(xí)次數(shù),Step表示學(xué)習(xí)中的迭代步數(shù),MaxSteps表示學(xué)習(xí)中的最大迭代步數(shù)。
圖3 算法流程圖
筆者針對(duì)一個(gè)具體的算例進(jìn)行仿真,對(duì)自主運(yùn)動(dòng)規(guī)劃模型進(jìn)行驗(yàn)證。平面三自由度工業(yè)機(jī)器人的具體幾何參數(shù)如下:L1=8.625cm;L2=8.625cm;L3=6.125cm。
下面是仿真結(jié)果及分析。
圖4和圖5是目標(biāo)位置固定的情況,機(jī)器人末端執(zhí)行器的起始點(diǎn)坐標(biāo)為(0,23.4),目標(biāo)點(diǎn)坐標(biāo)為(20,3)。圖6、圖7和圖8是目標(biāo)點(diǎn)為隨機(jī)位置的情況,機(jī)器人末端執(zhí)行器的起始點(diǎn)坐標(biāo)仍為(0,23.4),目標(biāo)點(diǎn)位置每次學(xué)習(xí)中隨機(jī)確定。
圖4 固定目標(biāo)學(xué)習(xí)結(jié)果
圖5 固定目標(biāo)學(xué)習(xí)步數(shù)
圖6 隨機(jī)目標(biāo)學(xué)習(xí)步數(shù)
圖7 隨機(jī)目標(biāo)學(xué)習(xí)結(jié)果
圖8 隨機(jī)目標(biāo)學(xué)習(xí)效果對(duì)比
圖4是目標(biāo)位置固定時(shí)不同學(xué)習(xí)次數(shù)的學(xué)習(xí)結(jié)果。圖4(a)為經(jīng)過1次學(xué)習(xí)的情況,可以看出運(yùn)動(dòng)路徑曲折,繞過目標(biāo)點(diǎn)后再折回,并且在臨近目標(biāo)位置時(shí)存在振動(dòng);圖4(b)為經(jīng)過10次學(xué)習(xí)的情況,可以看出運(yùn)動(dòng)路徑已經(jīng)比較光滑柔順,但在臨近目標(biāo)位置時(shí)仍存在振動(dòng);圖4(c)為經(jīng)過100次學(xué)習(xí)的情況,可以看出運(yùn)動(dòng)路徑已經(jīng)非常光滑并且運(yùn)動(dòng)軌跡也有優(yōu)化,在臨近目標(biāo)位置時(shí)振動(dòng)已經(jīng)完全消除。
圖5為經(jīng)過不同的學(xué)習(xí)次數(shù)達(dá)到固定目標(biāo)位置所用的步數(shù)。由圖5可以看出,隨著學(xué)習(xí)次數(shù)的增多,達(dá)到目標(biāo)位置所需的步數(shù)越來越少。在開始階段,經(jīng)過400步還沒達(dá)到目標(biāo)位置,學(xué)習(xí)是失敗的;隨著學(xué)習(xí)的進(jìn)行,都可以在400步以內(nèi)達(dá)到目標(biāo)位置,學(xué)習(xí)能夠成功,但所需要的步數(shù)還較多;經(jīng)過300次學(xué)習(xí)以后,穩(wěn)定在41步即可學(xué)習(xí)成功,達(dá)到目標(biāo)位置。
由圖4和圖5可知,機(jī)器人可以根據(jù)自主運(yùn)動(dòng)規(guī)劃模型,通過自學(xué)習(xí)和不斷試錯(cuò)的方式達(dá)到固定的目標(biāo)點(diǎn)。
圖6為經(jīng)過不同的學(xué)習(xí)次數(shù)達(dá)到隨機(jī)目標(biāo)位置所用的步數(shù)。由圖6可以看出,在1-220次的學(xué)習(xí)過程中,要達(dá)到目標(biāo)位置所需的步數(shù)較多,其中很多未能在400步以內(nèi)達(dá)到目標(biāo)位置,學(xué)習(xí)失??;在221-500次的學(xué)習(xí)過程中,達(dá)到目標(biāo)位置所需的步數(shù)變小,每次都可以學(xué)習(xí)成功,達(dá)到目標(biāo)位置的步數(shù)在100步以內(nèi)。
圖7是隨機(jī)目標(biāo)位置學(xué)習(xí)結(jié)果圖,圖7(a)是1-220次學(xué)習(xí)過程中機(jī)器人達(dá)到位置與目標(biāo)位置的對(duì)比圖,圖7(b)是221-500次學(xué)習(xí)過程中機(jī)器人達(dá)到位置與目標(biāo)位置的對(duì)比圖。由圖7(a)可知,到達(dá)位置與目標(biāo)位置重合度不高,且部分的到達(dá)位置與目標(biāo)位置相距較遠(yuǎn);根據(jù)計(jì)算結(jié)果,距離偏差值從0.05cm到32.61cm,中值為2.52cm,標(biāo)準(zhǔn)差為6.70cm。由圖7(b)可知,到達(dá)位置與目標(biāo)位置重合度非常高;根據(jù)計(jì)算結(jié)果,距離偏差值從0.04cm到1.00cm,中值為0.84cm,標(biāo)準(zhǔn)差為0.18cm。即經(jīng)過不斷學(xué)習(xí),機(jī)器人都可以在較少的步數(shù)內(nèi)到達(dá)目標(biāo)位置,實(shí)現(xiàn)成功學(xué)習(xí)。
圖8是隨機(jī)目標(biāo)學(xué)習(xí)效果對(duì)比圖,圖8(a)和(c)是1-220次學(xué)習(xí)過程中機(jī)器人到達(dá)位置和目標(biāo)位置的X和Y坐標(biāo)圖,圖8(b)和(d)是221-500次學(xué)習(xí)過程中機(jī)器人到達(dá)位置和目標(biāo)位置的X和Y坐標(biāo)圖,在上述圖中如果到達(dá)位置和目標(biāo)位置重合,圖中的標(biāo)記點(diǎn)應(yīng)該分布在對(duì)角直線上。
在1-220次的學(xué)習(xí)過程中,根據(jù)仿真計(jì)算結(jié)果目標(biāo)位置與實(shí)際到達(dá)位置X坐標(biāo)的偏差值從-10.82cm到32.61cm,中值為-0.22cm,標(biāo)準(zhǔn)差為6.49cm;Y坐標(biāo)的偏差值從-15.96cm到19.67cm,中值為-0.71cm,標(biāo)準(zhǔn)差為5.15cm;由圖8可知,無論是X坐標(biāo)圖還是Y坐標(biāo)圖都比較離散,表明機(jī)器人到達(dá)位置和目標(biāo)位置重合度較低。
在221-500次的學(xué)習(xí)過程中,根據(jù)仿真計(jì)算結(jié)果,目標(biāo)位置與實(shí)際到達(dá)位置X坐標(biāo)的偏差值從-0.99cm到0.55cm,中值為-0.44cm,標(biāo)準(zhǔn)差為0.26cm;Y坐標(biāo)的偏差值從-0.99cm到0.52cm,中值為-0.64cm,標(biāo)準(zhǔn)差為0.28cm;由圖8可知,無論是X坐標(biāo)圖還是Y坐標(biāo)圖都比較集中,密集分布在對(duì)角直線上,表明機(jī)器人到達(dá)位置和目標(biāo)位置重合,說明機(jī)器人經(jīng)過學(xué)習(xí),在不斷地自我進(jìn)化,逐漸掌握運(yùn)動(dòng)自主規(guī)劃的能力。
由圖6、圖7和圖8可知,當(dāng)目標(biāo)點(diǎn)為隨機(jī)值時(shí),機(jī)器人仍可根據(jù)自主運(yùn)動(dòng)規(guī)劃模型達(dá)到目標(biāo)點(diǎn),所需要的學(xué)習(xí)迭代次數(shù)比固定目標(biāo)位置時(shí)多。
基于增強(qiáng)學(xué)習(xí)的Sarsa算法,本文首先根據(jù)工作任務(wù)要求,建立了平面三自由度工業(yè)機(jī)器人的自主運(yùn)動(dòng)規(guī)劃模型。其次,本文利用仿真實(shí)驗(yàn)對(duì)自主運(yùn)動(dòng)規(guī)劃模型進(jìn)行了驗(yàn)證:當(dāng)目標(biāo)點(diǎn)為固定值時(shí),機(jī)器人可以通過自學(xué)習(xí)、不斷試錯(cuò)的方式到達(dá)目標(biāo)點(diǎn);當(dāng)目標(biāo)點(diǎn)為隨機(jī)值時(shí),機(jī)器人仍可以通過自主規(guī)劃方式到達(dá)目標(biāo)點(diǎn),所需要的學(xué)習(xí)迭代次數(shù)比固定目標(biāo)位置多。
研究結(jié)果表明,基于增強(qiáng)學(xué)習(xí),工業(yè)機(jī)器人可以實(shí)現(xiàn)在不確定工作環(huán)境中的自規(guī)劃和自適應(yīng),這將有利于工業(yè)機(jī)器人在鋼鐵冶金等非結(jié)構(gòu)工作環(huán)境中的應(yīng)用。