石建剛,任帥
(國能鐵路裝備有限責(zé)任公司包頭車輛維修分公司,內(nèi)蒙古包頭 014000)
隨著工業(yè)技術(shù)的不斷自動化和信息化,機器視覺與機器人開始發(fā)揮越來越大的作用。鐵路貨車作為貨物陸路運輸?shù)闹匾ぞ?,在運營過程中需要按規(guī)程進行專門檢修和維護,車鉤拆裝便是其中重要的內(nèi)容之一。鉤托板螺栓拆卸與緊固是車鉤拆裝檢修任務(wù)的必要環(huán)節(jié),目前完全采用人工操作風(fēng)動扳手進行拆卸安裝,存在安全隱患、勞動強度大和鉤擰緊力矩難以嚴(yán)格控制等問題,制約了鐵路貨車檢修效率與質(zhì)量的提升,迫切需要自動化和智能化專用檢修裝備[1]。
目前,市場上沒有成熟可用的該類產(chǎn)品,相關(guān)研究成果較少,僅有少量相關(guān)專利,例如李大鋒申請的“一種鐵路貨車鉤尾框托板螺栓組裝拆卸裝置”實用新型專利[2]。該專利設(shè)計了一種鉤托板螺栓組裝拆卸裝置,智能化程度有限,不涉及到螺栓的視覺定位系統(tǒng)。
鉤托板螺栓自動拆裝的關(guān)鍵技術(shù)之一是在復(fù)雜場景下實現(xiàn)對螺栓的自動精確定位,涉及到機器視覺和機器學(xué)習(xí)技術(shù)。隨著深度學(xué)習(xí)技術(shù)的不斷發(fā)展,各種基于深度學(xué)習(xí)的目標(biāo)檢測算法被提出。以應(yīng)用比較廣泛的目標(biāo)檢測算法為例,可以大致分為兩類:(1)two-stage目標(biāo)檢測算法,例如Fast R-CNN、Faster R-CNN、Mask R-CNN等[3]。這些算法都是分為兩個階段,即先使用目標(biāo)區(qū)域候選網(wǎng)絡(luò)(RPN)來得到相關(guān)信息,再利用提取到的信息實現(xiàn)對候選目標(biāo)的預(yù)測和識別。這類算法一般精確度較高,但效率相對低下[4]。(2)one-stage目標(biāo)檢測算法,例如YOLO、SSD等。這些算法僅進行一步,是一種端到端的目標(biāo)檢測算法,因此檢測速度也相對較快,適合在實際應(yīng)用比如實時檢測中使用[5]。因此利用YOLO實現(xiàn)智能化具有顯著的優(yōu)勢[6-7]。
基于現(xiàn)場調(diào)查和文獻調(diào)研分析,作者設(shè)計了鉤托板智能拆裝機器人,利用扭矩控制技術(shù)、機器人視覺伺服技術(shù)、深度學(xué)習(xí)目標(biāo)檢測技術(shù)、AGV導(dǎo)航技術(shù)、工業(yè)自動化技術(shù)和機械設(shè)計技術(shù)進行集成創(chuàng)新,解決裝備作業(yè)過程中的螺栓定位、扭矩高效精確控制和螺母套筒柔順性等關(guān)鍵技術(shù)。首先介紹了智能拆裝機器人總體方案,然后介紹了各關(guān)鍵組成模塊,最后重點介紹了視覺定位系統(tǒng)設(shè)計以及定位性能試驗與結(jié)果分析。
鐵路貨車車型種類較多,鉤托板型號不同,對應(yīng)的螺栓螺母布局與規(guī)格也存在差異。某型號貨車鉤托板實物如圖1所示。
圖1 鉤托板實物
分析圖1可知:鉤托板的螺栓數(shù)量、規(guī)格和布局存在差異,需要拆裝機器人能夠自動定位不同空間位置的螺栓螺母,控制扭矩套筒能夠可靠套在螺母上。同時,不同車型鉤托板的對地高度存在差異,定位和伺服控制系統(tǒng)應(yīng)該具有對地面高度和不平度等誤差的魯棒性。
根據(jù)鉤托板的結(jié)構(gòu)特點和現(xiàn)場作業(yè)實際需求,鉤托板智能拆裝機器人裝備應(yīng)滿足如下要求:
(1)裝備能夠自動完成拆裝,工人不與工件直接接觸,避免安全事故的發(fā)生;拆卸和緊固螺栓時的噪聲較小,不對人體健康產(chǎn)生影響。
(2)裝備能自動在緊固螺母過程中實時控制螺母預(yù)緊扭矩,提高效率和裝配質(zhì)量。
(3)裝備能夠根據(jù)輸入的貨車型號自動判斷各鉤托板相應(yīng)的螺母大小,以此為依據(jù)自動更換拆裝套筒。
(4)裝備結(jié)構(gòu)小巧緊湊,能夠在車廂下方通過自主導(dǎo)航或者遙控等方式穿行。
針對以上要求,利用機械原理、機械設(shè)計、自動控制和機器人學(xué)等設(shè)計出鉤托板智能拆裝機器人的總體結(jié)構(gòu)方案,如圖2所示。
圖2 鉤托板智能拆裝機器人總體方案
由圖2可知,該機器人裝備由智能移動小車、智能扭矩扳手、視覺定位系統(tǒng)、坐標(biāo)機器人和電控系統(tǒng)等構(gòu)成。裝備的運動流程說明如下。
(1)操作人員遙控智能移動小車到鉤托板下方初始待機位置。
(2)視覺定位系統(tǒng)自動識別螺栓空間坐標(biāo)位置,然后把信息傳送到控制系統(tǒng),引導(dǎo)智能扭矩扳手固定螺帽后通過套筒自動緊固或拆卸螺母。
(3)車廂一端所有鉤托板螺母緊固或拆卸完成后,遙控智能移動小車行駛到車廂另一端,然后重復(fù)拆卸或緊固作業(yè)。
(4)真實情況下鉤托板螺栓螺母大多銹蝕嚴(yán)重或者遇到底部結(jié)構(gòu)復(fù)雜、鉤托板螺栓所在環(huán)境狹窄的情況時,需要切換到人機協(xié)作模式,由作業(yè)人員配合機器人進行螺帽卡緊防轉(zhuǎn),通過人機協(xié)作完成螺栓拆卸任務(wù)。
鉤托板的連接螺栓數(shù)量較多,螺母緊固時需要控制預(yù)緊扭矩大小,因此扳手需要在空間3個方向具有移動控制功能[8]。智能扭矩扳手總體結(jié)構(gòu)如圖3所示。
圖3 智能扭矩扳手
由圖3可知,智能扭矩扳手由螺母套筒、螺帽套筒、螺母收集盒和坐標(biāo)機器人等組成。坐標(biāo)機器人帶動螺母和螺帽套筒在空間3個方向上進行平移,實現(xiàn)對每顆螺母的定位與套夾。智能扭矩扳手的工作流程如下:
(1)智能扭矩電動扳手通過機器視覺和視覺伺服技術(shù)引導(dǎo)至螺母正下方,然后螺母套筒上升。
(2)螺母套筒上升的同時,螺帽套筒上升并調(diào)整姿態(tài)定位好螺帽后卡住螺帽。
(3)螺母套筒套上螺母后,扳手工作在高速低力矩模式,快速讓螺母沿螺桿上升接觸到鉤托板,然后切換到低速大扭矩模式緊固螺母并對預(yù)緊力矩進行精確控制。
(4)緊固完成后,扳手復(fù)位,機器人移出工作區(qū)域,返回待機位置。
(5)拆卸螺母的流程與緊固幾乎相同,額外增加了螺母收集功能。拆卸下每顆螺母后,通過專用裝置進行集中收集。
為了實現(xiàn)對多顆螺栓的自動定位以及提高機器人的作業(yè)效率,設(shè)計了專門的機構(gòu)驅(qū)動相機進行拍照。視覺定位機構(gòu)總體結(jié)構(gòu)如圖4所示。
圖4 視覺定位機構(gòu)
由圖4可知,視覺定位機構(gòu)由直角坐標(biāo)機器人、套筒更換機構(gòu)和工業(yè)相機等組成。工業(yè)相機拍攝的場景照片引導(dǎo)直角坐標(biāo)機器人運動,依次對各個螺母位置進行定位。
考慮到拆裝機器人的移動需求,設(shè)計了專用的智能移動底盤,如圖5所示。
由圖5可知,智能移動底盤主要由AGV小車和頂升裝置組成。AGV小車采用磁導(dǎo)航方式進行導(dǎo)航,結(jié)合遙控到達(dá)指定工作區(qū)域[9]。頂升裝置保證機器人裝備在拆裝螺母時不發(fā)生偏移;同時,增加裝備的作業(yè)高度,移動時又可收回,使其能通過較低的狹窄空間,具有更強的靈活性。
圖5 智能移動底盤
采用機器視覺方法實現(xiàn)螺栓的自動定位,通過定位機構(gòu)帶動相機對螺栓進行拍照,利用YOLOv5目標(biāo)檢測算法對照片進行定位模型訓(xùn)練,獲取螺栓的準(zhǔn)確位置。
YOLO是一種采用回歸策略的端到端目標(biāo)檢測算法。該算法舍棄了生成候選框,通過僅“看一眼”就可以獲得回歸位置信息和類別信息。YOLO的實現(xiàn)原理是:假設(shè)將一幅圖像劃分為S×S個網(wǎng)格,如果檢測目標(biāo)的中心落在網(wǎng)格中,則需要對檢測目標(biāo)所在的具體位置進行估計[10]。
如今,YOLO算法經(jīng)過YOLOv1、YOLOv2和YOLOv3等一系列提升,在保留原有優(yōu)點的基礎(chǔ)上進行了一系列的創(chuàng)新優(yōu)化[11]。YOLOv5作為第5代算法,借鑒了CutMix方法,采用Mosaic數(shù)據(jù)增強方式有效解決了小目標(biāo)檢測的難題,在小目標(biāo)檢測的訓(xùn)練結(jié)果上,精確度增加,降低了誤檢率和漏檢率。
YOLOv5還是沿用v3、v4的總體布局,將整個網(wǎng)絡(luò)結(jié)構(gòu)分成Input、Backbone、Neck和Output等4個模塊[12]。具體介紹如下:
(1)Input模塊自適應(yīng)縮放圖片,采用Mosaic數(shù)據(jù)增強方式,自適應(yīng)地計算不同訓(xùn)練集中的最佳錨框值。
(2)Backbone模塊包含F(xiàn)ocus結(jié)構(gòu)和CSPNetCrossStage Partial Networks,跨階段局部融合網(wǎng)絡(luò)。
(3)Neck模塊包含PANet和SPP模塊。
(4)Output模塊使用GIOULoss代替YOLOv3的IOU_Loss作為Boundingbox的損失函數(shù),緩解了IOU_Loss無法優(yōu)化兩個框相交的情況[13]。
YOLOv5網(wǎng)絡(luò)結(jié)構(gòu)如圖6所示。
圖6 YOLOv5s網(wǎng)絡(luò)結(jié)構(gòu)
同時在目標(biāo)框的篩選上采用了加權(quán)NMS,相對于YOLOv4,在不增加計算成本的前提下,優(yōu)化了遮擋重疊目標(biāo)的檢測。
YOLOv5還通過改變網(wǎng)絡(luò)結(jié)構(gòu)的深度參數(shù)depth_multiple和寬度參數(shù)width_multiple提供了YOLOv5s、YOLOv5m、YOLOv5l和YOLOv5x四個模型,滿足了對于體積大小和準(zhǔn)確度的不同需求。經(jīng)過對比分析,本文作者選用YOLOv5m作為螺栓檢測的模型,在自制的螺栓檢測數(shù)據(jù)集上對該模型進行訓(xùn)練,利用訓(xùn)練好的YOLOv5s網(wǎng)絡(luò)實現(xiàn)螺栓的識別及定位。
目標(biāo)檢測模型的訓(xùn)練采用自制的數(shù)據(jù)集,包括不同背景、不同角度下拍攝的1 000張螺栓螺母照片,螺栓的顏色、損傷情況各異,型號、數(shù)量也各異。利用圖片標(biāo)注工具Labelimg對訓(xùn)練數(shù)據(jù)集中的圖像進行逐一標(biāo)注,并將標(biāo)注結(jié)果作為YOLOv5模型的訓(xùn)練樣本。部分帶標(biāo)注的螺栓螺母圖像如圖7所示。
圖7 螺栓螺母圖像(已標(biāo)注)
模型訓(xùn)練在工作站上進行,工作站主要配置:CPU使用i9-10900K,GPU使用GeForceGTX2080ti,內(nèi)存為16 GB,安裝CUDA10.1版,開發(fā)語言使用Python,框架使用Pytorch。將訓(xùn)練所得的檢測模型用于視覺伺服過程中的實時目標(biāo)定位。
3.3.1 算法性能對比
由于檢測對象為螺母,因此可以使用模板匹配算法。模板匹配是一種最基本的模式識別方法,將一幅模板圖像匹配在另一幅圖像最相似的位置,在OpenCV中通過matchTemplate()函數(shù)實現(xiàn),共有6種匹配模式。這種算法的局限性是只能進行平行移動,若原圖像中的匹配目標(biāo)發(fā)生了位姿或大小的變化,該算法容易失效。
由于螺母都具有圓形這一特征,因此霍夫圓檢測也是可用的算法?;舴驁A檢測就是檢測哪些前景或邊緣像素點在同一個圓上,并給出對應(yīng)圓的圓心坐標(biāo)及圓的半徑,在OpenCV中通過HoughCircles()函數(shù)實現(xiàn)基于梯度的霍夫圓檢測。該算法的缺點是在不知道一些先驗知識的情況下,需要多次調(diào)整參數(shù)才有可能得到想要的結(jié)果,魯棒性較差[14]。
為了驗證不同算法對鉤托板螺栓螺母的適應(yīng)性,采用模板匹配、霍夫圓檢測和YOLOv5三種算法對螺栓螺母進行識別與檢測。
3.3.2 結(jié)果分析
試驗平臺由直角坐標(biāo)機器人、hikvision工業(yè)相機、環(huán)形光圈、螺母套筒、PLC控制系統(tǒng)和鉤托板樣件等組成,如圖8所示。
圖8 試驗平臺 圖9 螺栓螺母定位場景照片
試驗時,通過PLC控制三坐標(biāo)機器人帶動相機依次對螺栓拍照。以3顆螺栓一組、兩側(cè)各一組螺栓的鉤托板為例進行動作說明:
(1)坐標(biāo)機器人先沿著一側(cè)直線運動,相機視野中出現(xiàn)螺栓時開始降低速度,直到視野中3顆螺栓全部出現(xiàn);
(2)相機開始對3顆螺栓位置進行逐一識別與定位,把位置坐標(biāo)傳輸給PLC,控制套筒運動將其套在螺母上,實現(xiàn)力矩扳手的準(zhǔn)確作業(yè)定位;
(3)一側(cè)的3顆螺栓定位完成后,坐標(biāo)機器人沿水平面第二坐標(biāo)方向移動,重復(fù)相同動作,完成另外一側(cè)3顆螺栓的識別與定位。
試驗結(jié)果表明套筒能夠可靠準(zhǔn)確套在每顆螺栓螺母上。定位完成的場景照片如圖9所示。
視覺定位系統(tǒng)成功的關(guān)鍵是對螺栓螺母的形狀進行準(zhǔn)確識別和測量。分別以霍夫圓檢測、模板匹配及YOLOv5算法進行訓(xùn)練,觀察相同條件下螺栓檢測的查全度以及精確度,結(jié)果如圖10所示。
圖10 不同算法的檢測效果
由圖10(a)(b)可知,模板匹配以及霍夫圓變換對于螺栓特征識別的魯棒性不足。由于地面不平整導(dǎo)致攝像頭與螺栓距離不相同,模板匹配算法也會由于成像大小不同導(dǎo)致特征匹配失敗,在與螺栓螺母非垂直的情況下也因特征變?yōu)闄E圓而無法匹配?;舴驁A檢測算法也出現(xiàn)了相同現(xiàn)象,并將其他圓形特征納入檢測,出現(xiàn)誤檢情況。由圖10(c)可知:相同情況下,YOLOv5算法保持了對于螺栓檢測的穩(wěn)定性與準(zhǔn)確性,效果最理想。
(1)針對鐵路貨車鉤托板人工拆裝螺栓存在的高強度、安全隱患和緊固力矩難以準(zhǔn)確控制等問題,設(shè)計了一種專用螺栓智能拆裝機器人,能夠自動對螺栓位置進行識別與定位,并且可以對擰緊力矩大小進行精確控制。
(2)鉤托板螺栓智能拆裝機器人主要包括智能移動底盤、智能扭矩電動扳手、視覺定位系統(tǒng)與電控系統(tǒng)等,具有智能程度高、集成度高和適應(yīng)能力強等特點。
(3)基于YOLOv5算法在自制螺栓檢測數(shù)據(jù)集上進行訓(xùn)練,把識別與檢測結(jié)果用于螺栓的精確定位。試驗結(jié)果表明:與霍夫圓檢測和模板匹配算法相比,基于YOLOv5算法的螺栓檢測模型具有檢測精度高、魯棒性好、體積小和速度快等優(yōu)點,能有效解決螺栓的自動定位與拆裝。