王 康,劉 亮,李慧杰,余志森,龍 飛,蔣 鑫,陳雙葉,白勁松,田悅谷
(1.華北電力科學(xué)研究院有限責(zé)任公司,北京 100045;2.北京工業(yè)大學(xué)人工智能與自動(dòng)化學(xué)院,北京 100124)
為保障國民經(jīng)濟(jì)和社會(huì)持續(xù)發(fā)展,提高配電網(wǎng)絡(luò)的供電能力和供電可靠性,對(duì)高壓配電網(wǎng)帶電作業(yè)檢修提出了更高的要求。一方面要求電力部門提高檢修效率,減少電力故障帶來的損失,另一方面也要努力降低電力檢修成本、減輕檢修人員的勞動(dòng)強(qiáng)度,更重要是要保障檢修人員的生命安全,防止高壓、高空、高勞動(dòng)強(qiáng)度帶來的傷亡事故[1-3]。因此如何利用科技手段提高高壓配電線路帶電作業(yè)的自動(dòng)化水平、減輕帶電作業(yè)勞動(dòng)強(qiáng)度、保障操作人員的人生安全就成為了行業(yè)研究熱點(diǎn)[7-15]。
針對(duì)10 kV配電網(wǎng)帶電作業(yè)的實(shí)際需求,設(shè)計(jì)開發(fā)了雙臂六軸機(jī)器人系統(tǒng)。該機(jī)器人系統(tǒng)采用協(xié)作型六軸機(jī)械臂進(jìn)行擴(kuò)展設(shè)計(jì),在6軸機(jī)械臂末端擴(kuò)展絕緣臂和作業(yè)工具來實(shí)現(xiàn)帶電作業(yè),如斷、接引流線、更換絕緣子。帶電作業(yè)機(jī)器人包含機(jī)械臂、絕緣擴(kuò)展臂、作業(yè)工具、快接裝置、視覺定位系統(tǒng)、遙操作控制盤,帶電作業(yè)機(jī)器人結(jié)合了現(xiàn)代的機(jī)器人技術(shù)、傳感器技術(shù)、視覺圖像處理與定位技術(shù),通訊技術(shù)以及人工智能技術(shù),是一個(gè)集多學(xué)科、多領(lǐng)域技術(shù)的交叉融合的綜合智能系統(tǒng)。
機(jī)器人系統(tǒng)采用wifi和LoRa無線通訊網(wǎng)絡(luò),通過遙操作控制盤,可以實(shí)現(xiàn)對(duì)六軸機(jī)械臂和專用作業(yè)工具的操作控制,可以代替絕大部分人工帶電作業(yè),大大減輕作業(yè)人員的勞動(dòng)強(qiáng)度,同時(shí)也有利于保障作業(yè)人員的人生安全。
高壓帶電作業(yè)雙臂機(jī)器人系統(tǒng)結(jié)構(gòu)如圖1所示,由左、右兩臺(tái)六軸機(jī)械臂、深度相機(jī)、視覺定位系統(tǒng)、路由器、機(jī)器人控制器以及機(jī)械臂末端專用作業(yè)工具構(gòu)成。機(jī)械臂末端專用作業(yè)工具采用快接方式進(jìn)行換裝,不同作業(yè)采用不同的專用工具,專用作業(yè)工具和機(jī)器人本體之間采用600 mm長(zhǎng)高壓絕緣桿連接;兩臺(tái)六軸機(jī)械臂和視覺定位系統(tǒng)通過RJ45連接到路由器,并一起安裝在可升降的移動(dòng)平臺(tái)上,機(jī)器人控制器通過WIFI接入到路由器構(gòu)成的局域網(wǎng),深度相機(jī)通過USB連接到視覺算法計(jì)算機(jī),由視覺算法計(jì)算機(jī)完成目標(biāo)識(shí)別和視覺定位。在該局域網(wǎng)中,兩臺(tái)六軸機(jī)械臂,視覺定位系統(tǒng)均作為TCP SERVER,分別具有不同的IP地址和端口號(hào),機(jī)器人控制器作為TCP CLIENT,可隨時(shí)和服務(wù)器端建立連接,實(shí)現(xiàn)對(duì)雙臂六軸機(jī)器人的操作控制。
圖1 高壓帶電作業(yè)雙臂機(jī)器人
雙臂六軸機(jī)器人系統(tǒng)采用6自由度協(xié)作型機(jī)械臂,包括左機(jī)械臂、右機(jī)械臂以及機(jī)械臂安裝底座,如圖2所示。
圖2 六軸協(xié)作型機(jī)械臂
雙臂機(jī)器人底座安裝在可移動(dòng)式升降機(jī)作業(yè)平臺(tái)上,最大升降高度12米。六自由度協(xié)作型機(jī)械臂模仿人的手臂,共有6個(gè)旋轉(zhuǎn)關(guān)節(jié),每個(gè)關(guān)節(jié)表示一個(gè)自由度,機(jī)械臂關(guān)節(jié)包括2個(gè)肩部,一個(gè)肘部和3個(gè)腕部,每個(gè)關(guān)節(jié)之間都采用臂管連接,控制各個(gè)關(guān)節(jié)轉(zhuǎn)動(dòng),就可以控制機(jī)械臂末端移動(dòng)到不同的位姿。機(jī)械臂大臂長(zhǎng)615 mm,小臂572.5 mm,腕部116.5 mm,臂展1 533 mm。機(jī)械臂工作空間,是一個(gè)半徑為1 304 mm的球體,基座正上方和正下方的圓柱形空間是奇異點(diǎn)區(qū)。奇異點(diǎn)是機(jī)器人因配置或者軌跡的命令速度導(dǎo)致關(guān)節(jié)速度超過安全限制而失去自由度的位置。在對(duì)機(jī)器人進(jìn)行控制時(shí),應(yīng)避免出現(xiàn)奇異點(diǎn),因?yàn)槠娈慄c(diǎn)的出現(xiàn)會(huì)導(dǎo)致機(jī)械臂突然或快速移動(dòng),或者中斷程序?qū)е缕溥^早停止。6軸機(jī)械臂不能連續(xù)旋轉(zhuǎn),只能在指定的范圍內(nèi)工作,除關(guān)節(jié)3的旋轉(zhuǎn)角度在負(fù)168o至正168o,其余關(guān)節(jié)均可在負(fù)360o至正360o范圍內(nèi)工作。
Denavit-Hartenberg參數(shù)或D-H參數(shù)是表示機(jī)器人正向運(yùn)動(dòng)學(xué)模型的傳統(tǒng)方式,用于在給定機(jī)器人各關(guān)節(jié)角度的情況下,在基座坐標(biāo)系中表示工具中心點(diǎn)的坐標(biāo)位置,機(jī)械臂D-H參數(shù)模型如表1所示。
表1 D-H參數(shù)模型
機(jī)械臂的正解函數(shù)可以通過JSON協(xié)議獲得:
{" jsonrpc ":"2.0"," method ":" positiveKinematic ","params ":{" targetPos ":
targetPos },"id":id},通過正解函數(shù),根據(jù)機(jī)械臂關(guān)節(jié)角信息得到對(duì)應(yīng)的位姿信息,參數(shù) targetpos為目標(biāo)關(guān)節(jié)角度信息,機(jī)械臂返回參數(shù)為六軸位姿信息。假設(shè)機(jī)器人ip地址為:192.168.1.200,則通過SOCKET編程獲取機(jī)械臂正解的示例如下:
設(shè)置機(jī)械臂的ip地址
r o b o t _ i p =” 1 9 2. 1 6 8. 1. 2 0 0 ”
建立和機(jī)械臂的通訊連接
conSuc, s o c k = c o n n e c t E T C o n t r o l l e r ( r o b o t _ i p )
獲取機(jī)械臂當(dāng)前的位置信息
i f ( conSuc ) : suc, r e s u l t, i d = sendCMD ( sock, ” g e t R o b o t P o s ” )
向機(jī)械臂發(fā)出JSON指令,等待機(jī)械臂返回由正解函數(shù)得到的6軸位置信息。
suc, r e s u l t, i d =sendCMD ( sock, ” p o s i t i v e K i n e m a t i c ”, { ” t a r g e t P o s ” : r e s u l t} )
獲得機(jī)械臂的逆解函數(shù)的JSON協(xié)議:
{" jsonrpc ":"2.0"," method ":" inverseKinematic ","params ":{" targetPose ":
targetPose },"id":id},逆解函數(shù)根據(jù)位姿信息得到對(duì)應(yīng)的機(jī)械臂關(guān)節(jié)角度信息,targetpose為目標(biāo)位姿信息,機(jī)械臂響應(yīng)返回關(guān)節(jié)角度信息。逆解函數(shù)通訊示例如下:
指定機(jī)械臂ip地址
r o b o t _ i p =” 1 9 2. 1 6 8. 1. 2 0 0 ”
和機(jī)械臂建立通訊連接
conSuc, s o c k = c o n n e c t E T C o n t r o l l e r ( r o b o t _ i p )
獲取機(jī)器人當(dāng)前位姿信息
i f ( conSuc ) :
suc, r e s u l t, i d = sendCMD ( sock, ” g e t R o b o t P o s e ” )
向機(jī)器人發(fā)送JSON協(xié)議指令,得到機(jī)械臂由逆解函數(shù)得到的關(guān)節(jié)角信息。
suc, r e s u l t, i d =sendCMD ( sock, ” i n v e r s e K i n e m a t i c ”, { ” t a r g e t P o s e ” : r e s u l t} )
也可以通過JSON協(xié)議{" jsonrpc ":"2.0"," method ":" inverseKinematic ","params ":{" targetPose ":targetPose," referencePos ":referencePos },"id":id} 得到帶參考點(diǎn)的位置逆解,可以根據(jù)位姿信息得到對(duì)應(yīng)的機(jī)械臂關(guān)節(jié)角信息,參數(shù)targetPose為目標(biāo)位姿信息,referencePos為逆解參考點(diǎn)關(guān)節(jié)角信息。示例代碼如下:
設(shè)置機(jī)器人IP 地址
r o b o t _ i p =” 1 9 2. 1 6 8. 1. 2 0 0 ”
指定參考點(diǎn)
P000 =[ 0, ?90, 90, ?90, 90, 0, 0, 0 ]
和機(jī)械臂建立通訊連接
conSuc, s o c k = c o n n e c t E T C o n t r o l l e r ( r o b o t _ i p )
獲取機(jī)器人當(dāng)前位姿信息
i f ( conSuc ) :
suc,result,i d=sendCMD(sock,”getRobotPose”)
得到帶參考點(diǎn)位置逆解
suc, r e s u l t, i d =sendCMD ( sock, ” i n v e r s e K i n e m a t i c ”, { ” t a r g e t P o s e ” : r e s u l t, ” r e f e r e n c e P o s ” : P000 } )
機(jī)械臂從起始位置運(yùn)動(dòng)到目標(biāo)位需要將其離散成多個(gè)中間目標(biāo)位置,決定中間離散點(diǎn)和離散點(diǎn)之間以何種軌跡運(yùn)動(dòng)的方法稱為插補(bǔ)方法。常用的插補(bǔ)算法有空間直線插補(bǔ)算法和空間圓弧插補(bǔ)算法,插補(bǔ)算法按插補(bǔ)方式又有脈沖增量插補(bǔ)和數(shù)據(jù)采樣插補(bǔ)[25]。采用直線插補(bǔ)算法可以控制機(jī)器人末端工具的端點(diǎn)移動(dòng)路徑為直線,而機(jī)器人手腕則是根據(jù)插補(bǔ)算法得到的插補(bǔ)位置自動(dòng)變化;圓弧插補(bǔ)可以控制機(jī)器人末端工具按指定的圓弧軌跡運(yùn)動(dòng),在圓弧軌跡的運(yùn)動(dòng)過程中,機(jī)器人腕關(guān)節(jié)的運(yùn)動(dòng)控制由圓弧插補(bǔ)算法確定。
機(jī)械臂提供了多個(gè)IO接口以及網(wǎng)絡(luò)通訊接口,利用機(jī)械臂提供的IO接口,可根據(jù)應(yīng)用需求擴(kuò)展機(jī)械臂末端的操作工具,通過網(wǎng)絡(luò)通訊接口,采用SOCKET編程,可實(shí)現(xiàn)對(duì)機(jī)械臂的運(yùn)動(dòng)規(guī)劃和姿態(tài)控制。
軟件設(shè)計(jì)上,通過SOCKET通訊向機(jī)械臂以太網(wǎng)端口發(fā)送指定格式的json字符串來實(shí)現(xiàn)相應(yīng)的功能,采取客戶端/服務(wù)器模型,客戶端主動(dòng)發(fā)送json字符串,服務(wù)器端接收json串并解析,根據(jù)解析結(jié)果返回給客戶端應(yīng)答json串。json通訊協(xié)議如下。
客戶端發(fā)送json字符串:
{“jsonrpc”:“2.0”,“method”:方法名稱,“params”:參數(shù),“id”: id }
機(jī)械臂控制器收json字符串,并解析,若結(jié)果正常,則向客戶端回復(fù)json串:
{“jsonrpc”: “2.0”, “result”: 結(jié)果, “id”: id }
若結(jié)果錯(cuò)誤,則回復(fù)json串:
{“jsonrpc”: “2.0”, “error”: {“code”: 錯(cuò)誤代碼, “message”: 出錯(cuò)信息}, “id”: id }
發(fā)送json 字符串時(shí)的id 和接收結(jié)果時(shí)的id 一致。比如要設(shè)置機(jī)械臂負(fù)載重心,只需要向機(jī)械臂發(fā)送json字符串:
課堂提問比較常見,而要想把課堂提問的有效作用充分發(fā)揮出來,卻是一件非常有技術(shù)含量的事情。作為教師來說,都應(yīng)該明白這個(gè)道理,如果整節(jié)課教師一直在講解而無視學(xué)生的狀態(tài),那么,這節(jié)課的教學(xué)效果肯定不好。因?yàn)檎n堂教學(xué)應(yīng)是師生間的雙邊活動(dòng),講究的是以教師為主導(dǎo),以學(xué)生為主體,學(xué)生才是課堂的主人。
{“jsonrpc”: “2.0”, “method” : “ cmd_set_payload”, “params”:{ “tool_num” : tool_num, “m” :m, “point” : point}, “id” :id}
其中:tool_num:工具號(hào),范圍:0~7,m:負(fù)載重量,單位Kg,范圍:0~12,point:重心,x,y,z,單位毫米,范圍:-5 000~5 000,返回值:成功true,失敗false。
深度相機(jī)采用Intel Realsense D415,由1個(gè)RGB相機(jī),2個(gè)紅外線機(jī)和1個(gè)紅外投影儀組成,其中紅外投影儀負(fù)責(zé)發(fā)射紅外結(jié)構(gòu)光,紅外相機(jī)負(fù)責(zé)接收物體表面反射回來的結(jié)構(gòu)光圖像,根據(jù)三角測(cè)距原理計(jì)算得到物體表面的深度信息。D415可測(cè)量0.3~3 m之間的物體,不受環(huán)境光影響,測(cè)量精度可達(dá)mm級(jí)。視覺定位系統(tǒng)根據(jù)深度相機(jī)采集到的物體表面的深度信息和RGB相機(jī)得到像素坐標(biāo)信息,通過坐標(biāo)旋轉(zhuǎn)、平移和轉(zhuǎn)換,將像素坐標(biāo)和深度信息轉(zhuǎn)換為機(jī)器人坐標(biāo),得到目標(biāo)物體的三維信息,采用聚類和圖像分割算法[11-12],實(shí)現(xiàn)機(jī)器人的視覺目標(biāo)檢測(cè)與定位。
機(jī)器人控制器主要實(shí)現(xiàn)對(duì)機(jī)器人系統(tǒng)的現(xiàn)場(chǎng)操作控制,要求操作時(shí)使用方便,具有友好的人機(jī)交互界面。圖3是雙臂機(jī)器人控制器結(jié)構(gòu)框圖,由工業(yè)平板電腦和機(jī)械鍵盤構(gòu)成,工業(yè)平板電腦主要用于參數(shù)顯示、設(shè)置、通訊協(xié)議轉(zhuǎn)換以及機(jī)械臂控制指令解析,機(jī)械鍵盤主要用于操作控制,它們之間可以采用USB或者無線wifi連接。機(jī)械鍵盤采用ARM嵌入式處理器設(shè)計(jì),由鍵盤、指示燈接口電路、USB接口電路,wifi無線通訊接口電路構(gòu)成,主要實(shí)現(xiàn)鍵盤掃描、組合按鍵編碼、操作控制、數(shù)據(jù)幀構(gòu)造與發(fā)送,用戶使用機(jī)械鍵盤,可以實(shí)現(xiàn)對(duì)機(jī)器人的操作控制。
圖3 雙臂機(jī)器人控制器結(jié)構(gòu)框圖
鍵盤軟件設(shè)計(jì)中定義了不同的功能鍵和組合鍵的按鍵編碼,只要相應(yīng)的功能鍵和組合鍵按下,處理器就將相應(yīng)的按鍵編碼按照通訊協(xié)議規(guī)范發(fā)送給工業(yè)平板電腦做進(jìn)一步的任務(wù)處理,按鍵編碼定義在0x00~0x43區(qū)域內(nèi);如:機(jī)械臂選擇功能鍵,按鍵碼是0x03,長(zhǎng)按該功能鍵5秒以上,轉(zhuǎn)換選擇要操作的機(jī)械臂,并有相應(yīng)的指示燈顯示所選擇的機(jī)械臂;組合按鍵碼0x11,當(dāng)選擇1號(hào)位作業(yè)工具時(shí),長(zhǎng)按工具功能鍵和加號(hào)鍵,處理器就會(huì)產(chǎn)生抓取1號(hào)位作業(yè)工具的按鍵編碼0x11,并根據(jù)操作者的具體操作和機(jī)械臂的運(yùn)行狀態(tài)形成一幀通訊數(shù)據(jù),并將該幀數(shù)據(jù)通過USB或無線通訊接口發(fā)送給工業(yè)平板電腦,工業(yè)平板電腦上的控制軟件通過wifi控制機(jī)械臂執(zhí)行相應(yīng)的動(dòng)作。如通訊數(shù)據(jù)幀:
0x55,0xaa,0x00,0x01,0x01,0x01,0x01,0x01, 0x11,0xaa,0x55
為保障機(jī)器人系統(tǒng)和檢修人員的生命安全,機(jī)器人本體和帶電高壓線纜之間采用高壓絕緣桿隔離。在2臺(tái)6軸機(jī)械臂末端擴(kuò)展了長(zhǎng)600 mm絕緣桿快接頭,可以根據(jù)操作人員操作指令快接和更換作業(yè)工具,完成特定帶電作業(yè)。絕緣桿快接頭和快接作業(yè)工具是根據(jù)特定帶電作業(yè)需求專門設(shè)計(jì)的。國內(nèi)配電網(wǎng)帶電作業(yè)主要是帶電斷、接引流線,帶電更換絕緣子[16-18]。目前設(shè)計(jì)的快接作業(yè)工具有:自動(dòng)剝皮器,引線鎖緊裝置,電動(dòng)扳手,電動(dòng)線鉗,電動(dòng)夾具。由于快接作業(yè)工具和機(jī)械臂本體之間采用絕緣桿隔離,機(jī)器人控制器只能通過無線方式和快接作業(yè)工具連接,結(jié)構(gòu)圖4所示。
圖4 快接作業(yè)工具
機(jī)器人控制器通過WIFI和機(jī)械臂連接,機(jī)械臂RS485接口和LoRa主站模連接,LoRa主站模塊采用定點(diǎn)發(fā)送的方式和LoRa快接作業(yè)工具進(jìn)行無線通訊[20-21],從而可實(shí)現(xiàn)機(jī)器人控制器對(duì)快接作業(yè)工具的通訊控制,操作快接作業(yè)工具完成特定的作業(yè)任務(wù)。
雙臂機(jī)器人系統(tǒng)安裝在可移動(dòng)升降平臺(tái)上,可根據(jù)作業(yè)需求和現(xiàn)場(chǎng)環(huán)境移動(dòng)到指定工作位置,具體作業(yè)實(shí)施則依靠機(jī)械臂及快接作業(yè)工具來完成的。機(jī)械臂作業(yè)過程中,共有6種工作狀態(tài)S0~S5。S0狀態(tài)是機(jī)械臂鎖定狀態(tài),也是機(jī)器人最初開始作業(yè)和作業(yè)結(jié)束返回的狀態(tài),S1狀態(tài)是機(jī)器人復(fù)位狀態(tài),該種狀態(tài)是機(jī)器人從鎖定狀態(tài)解除到準(zhǔn)備就緒,可以開始工作的狀態(tài),S2 狀態(tài)是機(jī)器人從復(fù)位狀態(tài)到取完快接作業(yè)工具以后的一種預(yù)備狀態(tài),S3狀態(tài)是快接完作業(yè)工具到達(dá)預(yù)設(shè)作業(yè)點(diǎn)的狀態(tài),S4是目標(biāo)作業(yè)點(diǎn)狀態(tài),在該狀態(tài)下,作業(yè)工具已處于就緒狀態(tài),機(jī)器人系統(tǒng)給作業(yè)工具發(fā)送操作指令來完成具體作業(yè),如剝皮、夾緊、擰緊螺絲等,S5是機(jī)械臂作業(yè)結(jié)束狀態(tài),在此狀態(tài)下,機(jī)械臂需要回到S2狀態(tài)卸掉作業(yè)工具,再回到S1復(fù)位狀態(tài)。在S1復(fù)位狀態(tài),可控制機(jī)械臂更換其它作業(yè)工具,實(shí)施其它作業(yè)任務(wù),也可以回到S0鎖定狀態(tài),結(jié)束作業(yè)任務(wù)。機(jī)械臂運(yùn)動(dòng)規(guī)劃狀態(tài)機(jī)如圖5所示。
圖5 機(jī)械臂運(yùn)動(dòng)規(guī)劃狀態(tài)機(jī)
通訊方面,機(jī)器人控制器采用client/server方式連接到機(jī)械臂,左右2臺(tái)機(jī)械臂作為服務(wù)器端,它們有各自的IP地址和服務(wù)器端口號(hào),機(jī)器人控制器作為客戶端。開機(jī)后機(jī)械臂處于S0鎖定狀態(tài),通過鍵盤復(fù)位操作,機(jī)械臂運(yùn)行到S1復(fù)位狀態(tài),在S1復(fù)位狀態(tài)下,可以根據(jù)不同的任務(wù)要求,機(jī)器人通過快接方式快接不同的專用作業(yè)工具,并根據(jù)實(shí)際作業(yè)點(diǎn)和預(yù)定的路徑規(guī)劃控制機(jī)械臂工具末端到達(dá)目標(biāo)工作點(diǎn)位,通過LoRa無線通訊控制專用工具執(zhí)行相應(yīng)動(dòng)作,比如螺絲擰緊裝置自動(dòng)緊固螺絲、剝皮器自動(dòng)剝皮等。當(dāng)前作業(yè)工具任務(wù)完成后,機(jī)械臂重新回到S2狀態(tài),自動(dòng)卸載掉作業(yè)工具,回到S1復(fù)位狀態(tài),若需要進(jìn)行下一道工序,則可以再次快接其它作業(yè)工具進(jìn)行作業(yè),若已經(jīng)完成任務(wù),則機(jī)械臂自動(dòng)回到S0鎖定狀態(tài)。
雙臂機(jī)器人控制器通過解析鍵盤發(fā)送過來的數(shù)據(jù)幀或觸摸屏操作按鈕,經(jīng)分析計(jì)算,構(gòu)造JSON格式控制命令,采用SOCKET方式發(fā)送給機(jī)械臂,機(jī)械臂收到命令后執(zhí)行相應(yīng)動(dòng)作,同時(shí)將機(jī)械臂運(yùn)動(dòng)狀態(tài)信息返回給機(jī)器人控制器。雙臂機(jī)器人軟件設(shè)計(jì)包括2部分內(nèi)容:工業(yè)平板電腦上運(yùn)行的機(jī)器人系統(tǒng)控制軟件和嵌入式機(jī)械鍵盤軟件。嵌入式機(jī)械鍵盤軟件主要負(fù)責(zé)機(jī)械鍵盤的鍵值獲取,按鍵組合、工作狀態(tài)獲取,并最終構(gòu)造鍵盤數(shù)據(jù)幀,通過USB或wifi發(fā)送給工業(yè)平板,工業(yè)平板對(duì)收到數(shù)據(jù)幀進(jìn)行解析,控制機(jī)器人進(jìn)行操作。鍵盤通訊數(shù)據(jù)幀協(xié)議如表2所示。
表2 鍵盤數(shù)據(jù)幀協(xié)議
定義0x55,0xaa為鍵盤通訊數(shù)據(jù)幀幀頭的高字節(jié)和低字節(jié),0xaa,0x55為幀尾的高字節(jié)和低字節(jié),定義通訊變量:鍵盤鎖狀態(tài),當(dāng)前選擇的工具,當(dāng)前選擇的預(yù)備位,當(dāng)前選定的機(jī)械臂軸,當(dāng)前選擇的激光打點(diǎn)舵機(jī),當(dāng)前選擇的機(jī)械臂,當(dāng)前的按鍵操作碼。機(jī)器人控制器軟件設(shè)計(jì)流程圖如圖6所示。收到鍵盤發(fā)來的數(shù)據(jù)幀后,首先判斷數(shù)據(jù)幀的幀頭和幀尾是否正確,若不正確,給出數(shù)據(jù)幀校驗(yàn)錯(cuò)誤提示,然后退出本次接收流程;若數(shù)據(jù)校驗(yàn)無誤,進(jìn)一步判斷鍵盤鎖定狀態(tài),若鍵盤鎖,則不響應(yīng)此次的鍵盤操作,退出流程;若鍵盤沒有鎖,則取出通訊變量,保存當(dāng)前要操作的機(jī)械臂、機(jī)械臂軸、當(dāng)前操作的工具號(hào),作業(yè)預(yù)備位、舵機(jī)號(hào)以及本次按鍵操作碼??刂破鲗?duì)收到的按鍵操作碼進(jìn)行判斷,若等于0,則表示此次接收到的數(shù)據(jù)幀是心跳包,無實(shí)際按鍵操作,退出此次流程;若不等于0,則查找機(jī)器人操作碼表,向?qū)?yīng)機(jī)械臂發(fā)送SOCKET控制命令,控制機(jī)械臂執(zhí)行相應(yīng)動(dòng)作。
圖6 機(jī)器人控制軟件流程圖
鍵盤軟件設(shè)計(jì)流程圖如圖7所示。CPU每隔100 ms掃描1次鍵盤,檢測(cè)是否有按鍵按下,若沒有按鍵按下則構(gòu)造鍵盤心跳包,并通過wifi或USB發(fā)送給機(jī)器人控制器,然后結(jié)束本次掃描。若有鍵按下,讀取鍵值判斷是否是功能鍵按下,若是功能鍵按下則設(shè)置功能鍵變量,構(gòu)造鍵盤數(shù)據(jù)幀并通過wifi或USB發(fā)送給控制器;若不是功能鍵按下,則判斷是否是選擇鍵和組合鍵按下,若不是則不做處理,退出鍵盤掃描;若是組合鍵按下,則查表得到機(jī)械臂操作碼并構(gòu)造數(shù)據(jù)幀,通過wifi或USB發(fā)送給機(jī)器人控制器,完成此次鍵盤掃描。
圖7 鍵盤服務(wù)程序流程圖
圖8 機(jī)器人系統(tǒng)實(shí)驗(yàn)現(xiàn)場(chǎng)
圖9 機(jī)器人系統(tǒng)功能測(cè)試
對(duì)高壓帶電作業(yè)雙臂機(jī)器人系統(tǒng)進(jìn)行了綜合試驗(yàn)。
在實(shí)驗(yàn)現(xiàn)場(chǎng),測(cè)試了工業(yè)平板和左右兩臺(tái)6軸機(jī)械臂的網(wǎng)絡(luò)通訊功能,通過SOCKET通訊,實(shí)現(xiàn)了對(duì)6軸機(jī)械臂的運(yùn)動(dòng)規(guī)劃與姿態(tài)控制功能;測(cè)試雙臂機(jī)器人控制器的按鍵操作、網(wǎng)絡(luò)通訊功能,通過鍵盤操作,可以實(shí)現(xiàn)對(duì)機(jī)器人6軸機(jī)械臂的操作控制;測(cè)試了LoRa主站模塊和LoRa工具模塊,LoRa主站模塊通過RS485和機(jī)械臂通訊,通過LoRa定點(diǎn)方式和工具模塊通訊,最終通過腳本變量可以實(shí)現(xiàn)全部工具模塊的通訊控制。
在某培訓(xùn)實(shí)驗(yàn)基地10 kV配電線路上,對(duì)帶電作業(yè)機(jī)器人系統(tǒng)進(jìn)行了實(shí)驗(yàn)驗(yàn)證,能夠完成斷、接引流線、更換絕緣子等作業(yè)任務(wù)。
圖10為機(jī)器人10 kV絕緣導(dǎo)線剝皮實(shí)驗(yàn),導(dǎo)線標(biāo)稱截面為1×120 mm2,絕緣標(biāo)稱厚度3.4 mm,電纜計(jì)算外徑21.3 mm。機(jī)器人從接收到剝皮指令開始到剝皮完成,整個(gè)過程用時(shí)3分20秒。
圖10 機(jī)器人電纜線剝皮實(shí)驗(yàn)
圖11為機(jī)器人接引流線實(shí)驗(yàn),整個(gè)過程用時(shí)2分50秒。
圖11 機(jī)器人接引流線實(shí)驗(yàn)
機(jī)器人系統(tǒng)現(xiàn)場(chǎng)實(shí)驗(yàn)運(yùn)行情況表明,帶電作業(yè)機(jī)器人系統(tǒng)操作方便、性能穩(wěn)定,依靠LoRa無線通訊,不僅實(shí)現(xiàn)了前端操作工具和機(jī)器人本體的高壓絕緣隔離,而且實(shí)現(xiàn)了作業(yè)工具的操作控制,可代替人工完成相應(yīng)的作業(yè)任務(wù)。
高壓帶電作業(yè)機(jī)器人系統(tǒng)主體由12米高液壓升降平臺(tái),左右兩臺(tái)6軸機(jī)械臂構(gòu)成。設(shè)計(jì)開發(fā)了雙臂機(jī)器人控制器硬件、軟件和機(jī)械臂運(yùn)動(dòng)路徑規(guī)劃方法,通過機(jī)械鍵盤或觸摸屏可以實(shí)現(xiàn)對(duì)2臺(tái)機(jī)械臂的有效控制;采用LoRa通訊和組網(wǎng)方式,對(duì)6軸機(jī)械臂進(jìn)行了末端擴(kuò)展,實(shí)現(xiàn)機(jī)器人控制器對(duì)任意專用工具模塊進(jìn)行裝卸;設(shè)計(jì)開發(fā)了LoRa主站模塊和LoRa專用工具模塊,采用LoRa定點(diǎn)掃描通訊方式,實(shí)現(xiàn)了各工具模塊和機(jī)器人控制器的相互通訊;通過現(xiàn)場(chǎng)試驗(yàn),驗(yàn)證了機(jī)器人系統(tǒng)的各項(xiàng)設(shè)計(jì)功能。