機(jī)械臂抓取擺放及堆疊物體是智能工廠流水線上常見(jiàn)的工序,可以有效的提升生產(chǎn)效率,本文針對(duì)機(jī)械臂的抓取擺放、抓取堆疊等常見(jiàn)任務(wù),結(jié)合深度強(qiáng)化學(xué)習(xí)及視覺(jué)反饋,采用AprilTag視覺(jué)標(biāo)簽、后視經(jīng)驗(yàn)回放機(jī)制
實(shí)現(xiàn)了稀疏獎(jiǎng)勵(lì)下的機(jī)械臂的抓取任務(wù),并針對(duì)本文的抓取場(chǎng)景提出了結(jié)合深度確定性策略梯度及后視經(jīng)驗(yàn)回放的分段學(xué)習(xí)的算法,相比于傳統(tǒng)控制算法,強(qiáng)化學(xué)習(xí)提高了抓取的準(zhǔn)確度及穩(wěn)定性,在仿真與實(shí)際系統(tǒng)中驗(yàn)證了效果。

一.仿真與物理環(huán)境搭建
本文采用大象機(jī)器人的6自由度的串聯(lián)型機(jī)械手臂myCobot Pro-600,根據(jù)myCobot Pro-600的機(jī)械結(jié)構(gòu),采用標(biāo)準(zhǔn)D-H參數(shù)法建立機(jī)械臂連桿坐標(biāo)系,如圖所示:

根據(jù)上圖建立的機(jī)械臂連桿坐標(biāo)系,得到D-H參數(shù)表:

根據(jù)模型參數(shù),使用Pybullet搭建抓取擺放任務(wù)仿真環(huán)境如下:

在抓取擺放任務(wù)中,機(jī)械臂要實(shí)現(xiàn)的就是抓取紫色的物塊,并穩(wěn)定的放置在綠色的目標(biāo)點(diǎn)處
仿真環(huán)境的狀態(tài)、目標(biāo)、獎(jiǎng)賞和動(dòng)作的設(shè)置如下:
(1) 狀態(tài)(States):包括機(jī)械臂的末端位置、姿態(tài);待抓取物塊位置、姿態(tài)(紫色長(zhǎng)方體);目標(biāo)點(diǎn)位置。
注:仿真環(huán)境中為了減輕算力,沒(méi)有使用AprilTag進(jìn)行姿態(tài)解算,實(shí)物中使用AprilTag來(lái)定位待抓取物塊位置。
(2) 目標(biāo)(Goals)(綠色圓錐區(qū)域):目標(biāo)描述了目標(biāo)的期望位置,具有一定固定的容差,也就是在這個(gè)公式中,表示物體在狀態(tài)s時(shí)的位置。
(3) 獎(jiǎng)賞(Rewards):獎(jiǎng)賞是二進(jìn)制值,即稀疏獎(jiǎng)賞,通過(guò)其中是機(jī)械臂在狀態(tài)s下執(zhí)行動(dòng)作a后的狀態(tài)。
(4) 動(dòng)作(Actions):X(前后),Y(左右),(夾爪旋轉(zhuǎn))方向的運(yùn)動(dòng)速度。Z(高度)由時(shí)間步控制。
二.基于DDPG與HER的機(jī)械臂搬運(yùn)任務(wù)分段學(xué)習(xí)算法
DeepMind在2016年提出深度確定性策略梯度(Deep Deterministic Policy Gradient,DDPG)算法,是結(jié)合了深度學(xué)習(xí)和確定性策略梯度方法的一種算法
DDPG在具有連續(xù)動(dòng)作空間的決策任務(wù)中已經(jīng)成功應(yīng)用,但是對(duì)于一些復(fù)雜的技能學(xué)習(xí)任務(wù),不能設(shè)計(jì)合適的獎(jiǎng)勵(lì)函數(shù),所以不能得到較好的學(xué)習(xí)效果。
然而,將DDPG和HER結(jié)合,可以解決稀疏獎(jiǎng)勵(lì)的不可學(xué)習(xí)問(wèn)題。
HER只通過(guò)改變經(jīng)驗(yàn)池中數(shù)據(jù)的狀態(tài)和獎(jiǎng)勵(lì),增大正向獎(jiǎng)勵(lì)的密度,利用DDPG的主策略網(wǎng)絡(luò)采集完軌跡數(shù)據(jù),再將軌跡數(shù)據(jù)重組為經(jīng)驗(yàn)形式的數(shù)據(jù),利用目標(biāo)選擇策略修改其中的狀態(tài)和獎(jiǎng)勵(lì),最后將經(jīng)驗(yàn)存放在經(jīng)驗(yàn)池中。
在實(shí)際應(yīng)用中,為了減少內(nèi)存需求,則HER的實(shí)施方式也不同,經(jīng)驗(yàn)池中一般存放的是軌跡,只有再采集小批量數(shù)據(jù)更新網(wǎng)絡(luò)或者歸一化器時(shí)才使用目標(biāo)選擇策略。
在抓取任務(wù)中,開始時(shí)DDPG算法在動(dòng)作空間隨機(jī)采樣運(yùn)動(dòng),由于獎(jiǎng)勵(lì)的稀疏,在多次探索后可能仍然無(wú)法獲得獎(jiǎng)勵(lì),而HER加入后,在已經(jīng)探索的軌跡中加入虛擬獎(jiǎng)勵(lì),刺激價(jià)值函數(shù)的增長(zhǎng),以加速?gòu)?qiáng)化學(xué)習(xí)的學(xué)習(xí)速率。

針對(duì)抓取任務(wù),本文采用分段學(xué)習(xí)的技巧,第一階段為接近物塊階段,第二階段為物塊搬運(yùn)階段,有效的消除了傳統(tǒng)HER算法對(duì)不需要獎(jiǎng)勵(lì)的步數(shù)的替換,從而加速了學(xué)習(xí)過(guò)程。
結(jié)合HER的DDPG算法的偽代碼如圖所示:

由于抓取擺放任務(wù)的獎(jiǎng)勵(lì)稀疏性與任務(wù)的層次性,使用傳統(tǒng)的DDPG+HER算法會(huì)引起重疊虛假獎(jiǎng)勵(lì)(OSR)問(wèn)題
如下圖所示,具體來(lái)說(shuō)當(dāng)HER算法將目標(biāo)位置虛擬到與物塊位置相同給與虛擬獎(jiǎng)勵(lì)時(shí),會(huì)引起強(qiáng)化學(xué)習(xí)抓取而不搬運(yùn)的錯(cuò)誤學(xué)習(xí),這會(huì)嚴(yán)重影響學(xué)習(xí)過(guò)程的穩(wěn)定性,導(dǎo)致價(jià)值網(wǎng)絡(luò)不穩(wěn)定甚至無(wú)法收斂。
為了解決此問(wèn)題,本文提出了針對(duì)抓取擺放等分層任務(wù)的分段學(xué)習(xí)算法。

分段學(xué)習(xí)是指通過(guò)將問(wèn)題分解成多個(gè)子問(wèn)題,并針對(duì)每個(gè)子問(wèn)題獨(dú)立地解決,從而提高了算法的效率和魯棒性。分段學(xué)習(xí)是將原問(wèn)題分解成若干個(gè)子問(wèn)題,每個(gè)子問(wèn)題對(duì)應(yīng)一個(gè)狀態(tài)空間和一個(gè)動(dòng)作空間。
然后,針對(duì)每個(gè)子問(wèn)題,使用強(qiáng)化學(xué)習(xí)算法進(jìn)行學(xué)習(xí)和探索,以得到最優(yōu)的策略。
最后,將所有子問(wèn)題的策略組合起來(lái),得到解決原問(wèn)題的最優(yōu)策略。分段學(xué)習(xí)算法的優(yōu)點(diǎn)在于,它可以針對(duì)復(fù)雜的大規(guī)模問(wèn)題進(jìn)行分解,從而使得每個(gè)子問(wèn)題的狀態(tài)空間和動(dòng)作空間更小,更易于學(xué)習(xí)和探索。
此外,由于子問(wèn)題之間是獨(dú)立的,因此分段學(xué)習(xí)算法具有很好的可擴(kuò)展性和可并行性。
針對(duì)抓取擺放任務(wù),利用分段學(xué)習(xí)將任務(wù)分為抓取階段與擺放階段,下圖為抓取擺放任務(wù)分段學(xué)習(xí)過(guò)程示意圖,抓取階段與擺放階段各自采用DDPG+HER進(jìn)行訓(xùn)練,抓取階段以抓取到物塊作為獎(jiǎng)勵(lì)
擺放階段以正確擺放作為獎(jiǎng)勵(lì),最終得到抓取決策1與擺放決策2,使用機(jī)械爪是否抓取到物塊作為策略的切換標(biāo)志,最終完成了機(jī)械臂靠近物塊(決策1),機(jī)械爪夾取物塊,機(jī)械臂擺放物塊(決策2)的任務(wù)。

三.基于AprilTag的視覺(jué)識(shí)別與定位
AprilTag是一個(gè)基準(zhǔn)視覺(jué)庫(kù),通過(guò)在物體上粘貼Apriltag標(biāo)簽,利用識(shí)別算法,確定標(biāo)簽坐標(biāo)系和攝像頭坐標(biāo)系的關(guān)系,即可得到物體的位姿,在增強(qiáng)實(shí)現(xiàn)、機(jī)器人和相機(jī)校準(zhǔn)等領(lǐng)域廣泛使用。
AprilTag視覺(jué)標(biāo)簽與二維碼有相似之處,但是降低了視覺(jué)標(biāo)簽的復(fù)雜度,抗光和抗遮擋性能比較好,能夠快速的檢測(cè)視覺(jué)標(biāo)簽信息,并計(jì)算相機(jī)與標(biāo)識(shí)碼之間的相對(duì)位置。
AprilTag的特點(diǎn)是高速、高精度、高穩(wěn)定性。它的高速性表現(xiàn)在在實(shí)時(shí)應(yīng)用中,AprilTag可以快速地識(shí)別目標(biāo),并輸出其位姿信息,響應(yīng)速度可以達(dá)到幾十毫秒。
常用的AprilTag視覺(jué)標(biāo)簽有以下幾個(gè)族:Tag16h5、Tag25h9和Tag36h11,如下所示。
從圖中,我們可以看到Tag16h5族的數(shù)量相對(duì)比較少,當(dāng)處于光照較強(qiáng)的環(huán)境中或者被遮擋時(shí)容易被誤識(shí)別,但在遠(yuǎn)距離定位中有較高的精度。
Tag36h11與Tag16h5對(duì)比,其族數(shù)量較多,應(yīng)用在復(fù)雜環(huán)境時(shí)魯棒性較強(qiáng),但是在遠(yuǎn)距離定位中精度較低。

這里通過(guò)AprilTagROS庫(kù)來(lái)進(jìn)行定位與目標(biāo)姿態(tài)解算

通過(guò)深度相機(jī)經(jīng)過(guò)目標(biāo)物塊Tag的檢測(cè)與世界坐標(biāo)系下的映射,可以得出待抓取物塊的位置坐標(biāo)和姿態(tài)信息,此時(shí)將該目標(biāo)位姿作為所提決策算法的輸入
經(jīng)過(guò)機(jī)械臂板載計(jì)算機(jī)的計(jì)算輸出各關(guān)節(jié)動(dòng)作,該動(dòng)作經(jīng)過(guò)機(jī)械臂逆運(yùn)動(dòng)學(xué)的解算映射成機(jī)械臂末端位置到達(dá)目標(biāo)物塊位置實(shí)現(xiàn)一次的抓取動(dòng)作
在運(yùn)行該決策流程時(shí),目標(biāo)位置可隨時(shí)變化,深度相機(jī)再次解算目標(biāo)物塊變化之后的位姿并輸入給決策算法,如此循環(huán),直到終止程序。視覺(jué)反饋系統(tǒng)工作流程圖如下所示。

四.機(jī)械臂抓取仿真與物理實(shí)驗(yàn)
仿真實(shí)驗(yàn)
在仿真中采用結(jié)合HER的DDPG算法,其網(wǎng)絡(luò)設(shè)計(jì)如下。DDPG有策略網(wǎng)絡(luò)和值網(wǎng)絡(luò)兩種。
策略網(wǎng)絡(luò)是以輸入作為狀態(tài),輸出作為動(dòng)作;而值網(wǎng)絡(luò)的輸入是狀態(tài)-動(dòng)作對(duì),輸出的是一維的Q值,在引入HER后,狀態(tài)則變?yōu)榱藸顟B(tài)-目標(biāo)對(duì)。
在此次實(shí)驗(yàn)中,所用到的狀態(tài)信息主要是機(jī)械臂和目標(biāo)物等的狀態(tài)信息,所以網(wǎng)絡(luò)結(jié)構(gòu)只包含全連接層,策略網(wǎng)絡(luò)的輸出層的激活函數(shù)選擇雙曲正切函數(shù)
則動(dòng)作值的映射區(qū)間為-1到1,其余的各層激活函數(shù)用修正線性單元(Recitified Linear Unit,ReLU)。策略網(wǎng)絡(luò)和值網(wǎng)絡(luò)的結(jié)構(gòu)如表所示。

在學(xué)習(xí)和策略更新中使用的學(xué)習(xí)率為0.001。使用Adam優(yōu)化器訓(xùn)練網(wǎng)絡(luò),學(xué)習(xí)率為2.5e-4,訓(xùn)練批次大小是256。后視經(jīng)驗(yàn)的回放策略為未來(lái)策略(future)。
使用百度飛槳(PaddlePaddle)深度學(xué)習(xí)框架進(jìn)行訓(xùn)練,在16GB內(nèi)存,8核心i7-7700處理器,Tesla V100顯卡的Linux的系統(tǒng)下進(jìn)行訓(xùn)練,訓(xùn)練輪數(shù)為2000,單個(gè)算法的運(yùn)行時(shí)間10小時(shí),仿真訓(xùn)練效果如圖所示,截取訓(xùn)練次數(shù)在第200、440、680和840次的效果。

從圖的仿真結(jié)果可以看到,在訓(xùn)練200、440次的時(shí)候,機(jī)械臂能夠成功抓取b并放置在目標(biāo)點(diǎn)的成功率并不高,隨著訓(xùn)練次數(shù)的增加,對(duì)于隨機(jī)的物塊放置位置,機(jī)械臂成功抓取并放置的概率越來(lái)越大。

(1) 深度確定性策略梯度算法在抓取擺放任務(wù)環(huán)境中并不收斂,成功率一直為0。說(shuō)明在沒(méi)有后視經(jīng)驗(yàn)回放(HER)的機(jī)制下算法很難探索到目標(biāo)區(qū)域,經(jīng)驗(yàn)池中有限的目標(biāo)點(diǎn)不足以支持算法的計(jì)算收斂。
(2) 在兩個(gè)算法中DDPG+HER相比于DDPG收斂速度更快,成功率更高,說(shuō)明本文提出針對(duì)機(jī)械臂抓取任務(wù)分段學(xué)習(xí)的后視回放機(jī)制算法相比于傳統(tǒng)的強(qiáng)化學(xué)習(xí)算法性能有了較大提升。
物理實(shí)驗(yàn)
為了將仿真訓(xùn)練的網(wǎng)絡(luò)能夠用于實(shí)際機(jī)械臂系統(tǒng),本文搭建了和仿真中較為一致的抓取實(shí)驗(yàn)平臺(tái)。采用的是大象機(jī)器人的myCobot Pro600協(xié)作機(jī)械臂,其采用樹莓派微處理器,內(nèi)嵌robotFlow可視化編程軟件,操作簡(jiǎn)單。
上位機(jī)采用的是ThinkPad T490筆記本電腦。在硬件方面,采用D435i的RGBD相機(jī)作為手眼相機(jī),D435i結(jié)合了寬視場(chǎng)和全局快門傳感器,在機(jī)器人導(dǎo)航和物體識(shí)別等領(lǐng)域廣泛應(yīng)用。
在軟件方面,在Windows10系統(tǒng)中使用Python3.6、paddlepaddle2.3.0版本搭建神經(jīng)網(wǎng)絡(luò),與訓(xùn)練時(shí)配置一致,則可以直接載入訓(xùn)練好的模型參數(shù)運(yùn)行控制程序。

在機(jī)械臂的抓取放置實(shí)驗(yàn)中,抓取物為一個(gè)長(zhǎng)方體的物塊,在該物塊上粘貼AprilTag碼,實(shí)驗(yàn)?zāi)繕?biāo)是將該物塊放置到目標(biāo)位置的盒子中:

機(jī)械臂抓取堆疊的任務(wù)是將兩個(gè)相同的物塊堆疊放置,即將白色的物塊安全的放置在藍(lán)色物塊上,在白色和藍(lán)色物塊上貼有不同的AprilTag碼,實(shí)現(xiàn)過(guò)程如圖所示:

通過(guò)物理實(shí)驗(yàn)驗(yàn)證了強(qiáng)化學(xué)習(xí)算法的有效性,在實(shí)物上實(shí)現(xiàn)了與仿真相同的效果,能夠?qū)崿F(xiàn)將物塊穩(wěn)定的堆疊放置在另一個(gè)物塊上,具體實(shí)驗(yàn)效果視頻請(qǐng)查看。

審核編輯:湯梓紅
-
機(jī)器人
+關(guān)注
關(guān)注
213文章
30312瀏覽量
218464 -
機(jī)械臂
+關(guān)注
關(guān)注
13文章
570瀏覽量
25877 -
智能工廠
+關(guān)注
關(guān)注
3文章
1129瀏覽量
43867 -
深度強(qiáng)化學(xué)習(xí)
+關(guān)注
關(guān)注
0文章
14瀏覽量
2447
原文標(biāo)題:基于深度強(qiáng)化學(xué)習(xí)的視覺(jué)反饋機(jī)械臂抓取系統(tǒng)
文章出處:【微信號(hào):vision263com,微信公眾號(hào):新機(jī)器視覺(jué)】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
使用Isaac Gym 來(lái)強(qiáng)化學(xué)習(xí)mycobot 抓取任務(wù)
什么是深度強(qiáng)化學(xué)習(xí)?深度強(qiáng)化學(xué)習(xí)算法應(yīng)用分析
什么是相機(jī)標(biāo)定?視覺(jué)機(jī)械臂自主抓取全流程
【瑞芯微RK1808計(jì)算棒試用申請(qǐng)】基于機(jī)器學(xué)習(xí)的視覺(jué)機(jī)械臂研究與設(shè)計(jì)
深度強(qiáng)化學(xué)習(xí)實(shí)戰(zhàn)
將深度學(xué)習(xí)和強(qiáng)化學(xué)習(xí)相結(jié)合的深度強(qiáng)化學(xué)習(xí)DRL
薩頓科普了強(qiáng)化學(xué)習(xí)、深度強(qiáng)化學(xué)習(xí),并談到了這項(xiàng)技術(shù)的潛力和發(fā)展方向
深度強(qiáng)化學(xué)習(xí)將如何控制機(jī)械臂的靈活動(dòng)作
如何使用深度強(qiáng)化學(xué)習(xí)進(jìn)行機(jī)械臂視覺(jué)抓取控制的優(yōu)化方法概述
83篇文獻(xiàn)、萬(wàn)字總結(jié)強(qiáng)化學(xué)習(xí)之路
基于深度強(qiáng)化學(xué)習(xí)仿真集成的壓邊力控制模型
基于深度強(qiáng)化學(xué)習(xí)的無(wú)人機(jī)控制律設(shè)計(jì)方法
《自動(dòng)化學(xué)報(bào)》—多Agent深度強(qiáng)化學(xué)習(xí)綜述
ESP32上的深度強(qiáng)化學(xué)習(xí)
模擬矩陣在深度強(qiáng)化學(xué)習(xí)智能控制系統(tǒng)中的應(yīng)用

基于深度強(qiáng)化學(xué)習(xí)的視覺(jué)反饋機(jī)械臂抓取系統(tǒng)
評(píng)論