王雯,吳娟,金書奎,邱建都
(1.太原理工大學(xué)機械工程學(xué)院,山西太原 030024;2.礦山流體控制國家地方聯(lián)合工程實驗室,山西太原 030024)
煤礦運輸分為主運輸和輔助運輸[1]。輔助運輸承擔(dān)著人員、設(shè)備和材料等運輸?shù)闹匾蝿?wù)。我國西部部分礦區(qū)地質(zhì)構(gòu)造異常復(fù)雜,巷道斷面為10~15 m2,采煤工作面推進長度短,一般為400~600 m,一個采區(qū)每年搬家倒面3-4次,輔助運輸線路隨工作地點延伸或遷移頻繁。巷道運輸路線錯綜復(fù)雜、變坡及拐彎多,輔助運輸轉(zhuǎn)載環(huán)節(jié)多,單軌吊車與礦用平板車間轉(zhuǎn)載環(huán)節(jié)的自動化水平仍不夠完善,需人工手動操作完成起吊轉(zhuǎn)載作業(yè),耗時耗力,安全性不高,嚴重制約了煤礦輔助運輸智能化發(fā)展。
為實現(xiàn)煤礦輔助運輸智能化,2019年1月國家煤礦安全監(jiān)察局發(fā)布的《煤礦機器人重點研發(fā)目錄》明確提出:重點研發(fā)煤礦運輸類機器人(無人駕駛運輸車、搬運機器人等)。
陳楊陽等[4]提出我國煤礦運輸機器人發(fā)展趨勢及關(guān)鍵技術(shù),闡述了機械臂類、清理類、無人車等機器人的應(yīng)用場景,初步判斷這3類方向是煤礦運輸機器人的發(fā)展趨勢。
本文作者提出一種采用煤礦輔助運輸轉(zhuǎn)載機器人實現(xiàn)容器自動化轉(zhuǎn)載的控制方案,重點研究輔助運輸轉(zhuǎn)載機器人在轉(zhuǎn)載過程中各子系統(tǒng)(單軌吊車、轉(zhuǎn)載機械臂、平板車、鎖具)協(xié)同工作的運動控制策略,最后借助機器人操作系統(tǒng)(Robot Operating System,ROS)進行轉(zhuǎn)載仿真實驗,進而驗證該方法的合理性。
為提高輔助運輸效率和安全性,文中提出采用輔助運輸轉(zhuǎn)載機器人協(xié)助工人完成轉(zhuǎn)載工作,如圖1所示,轉(zhuǎn)載機器人主要包括單軌吊車、機械臂、平板車、轉(zhuǎn)載容器和鎖具。鎖具安裝在平板車車板四角位置,與轉(zhuǎn)載容器角座位置相對應(yīng)。單軌吊車沿著巷道頂部固定的軌道運動,機械臂底座安裝在單軌吊車的車廂頂部,機械臂抓取轉(zhuǎn)載容器,將裝有不同物料的轉(zhuǎn)載容器搬運至單軌吊車上,實現(xiàn)物料的裝載。單軌吊車到達指定位置后由機械臂將裝有物料的轉(zhuǎn)載容器放置在平板車上,實現(xiàn)物料的轉(zhuǎn)載。
圖1 轉(zhuǎn)載機器人
輔助運輸轉(zhuǎn)載控制主要是實現(xiàn)轉(zhuǎn)載過程中單軌吊車、轉(zhuǎn)載機械臂、鎖具和平板車之間的協(xié)同工作,保證轉(zhuǎn)載的每一環(huán)節(jié)都能順利完成。文中給出的轉(zhuǎn)載控制實施方案如下:首先工人通過上位機監(jiān)控單軌吊車和平板車的運動,當(dāng)其到達指定的轉(zhuǎn)載點位置時,輸入指令控制單軌吊車和平板車停止運動。接著工人輸入轉(zhuǎn)載指令,系統(tǒng)切換到機械臂工作模式,機械臂先回初始位置,自檢成功后通過機器視覺算法實現(xiàn)轉(zhuǎn)載容器的種類及坐標位置的檢測,當(dāng)容器的種類符合轉(zhuǎn)載要求時,平板車上的鎖具解鎖,機械臂開始抓取,實時根據(jù)容器當(dāng)前在機械臂坐標系下的位姿計算機械臂各關(guān)節(jié)角度和夾爪開度,將數(shù)據(jù)發(fā)送至PLC控制器,驅(qū)動機械臂運動實現(xiàn)對轉(zhuǎn)載容器的抓取,抓取成功后將轉(zhuǎn)載容器放置在平板車上,機械臂重新回到初始位置。最后工人輸入平板車運動指令,系統(tǒng)切換到平板車工作模式,鎖具上鎖后,平板車開始運動,至此完成了容器的轉(zhuǎn)載工作。
根據(jù)上述轉(zhuǎn)載控制實施方案,文中設(shè)計了輔助運輸轉(zhuǎn)載控制系統(tǒng)框架,分為上中下3層,分別為上位機監(jiān)控層、核心算法層和轉(zhuǎn)載驅(qū)動層,如圖2所示。
圖2 轉(zhuǎn)載控制系統(tǒng)框架
上層為上位機監(jiān)控層,由PC機和工業(yè)路由器組成。PC機和工控機接入煤礦井上和井下由工業(yè)路由器建立的局域網(wǎng)中,在PC機上運行輔助運輸轉(zhuǎn)載控制相關(guān)軟件,軟件功能主要包括單軌吊車的調(diào)度、轉(zhuǎn)載現(xiàn)場視頻監(jiān)控、人工轉(zhuǎn)載控制和平板車的調(diào)度等。
中層是轉(zhuǎn)載控制核心算法層,其硬件主要由工控機和工業(yè)攝像頭組成。工業(yè)攝像頭采集轉(zhuǎn)載容器圖像數(shù)據(jù),工控機內(nèi)部對圖像數(shù)據(jù)進行處理,通過運行目標檢測、識別和定位算法得到容器種類數(shù)據(jù)和容器位姿數(shù)據(jù)。將容器種類和位姿數(shù)據(jù)打包,通過機械臂抓取參數(shù)估計獲得機械臂各關(guān)節(jié)角度、機械臂夾爪姿態(tài)和夾爪開度等數(shù)據(jù),經(jīng)LAN網(wǎng)發(fā)送至轉(zhuǎn)載驅(qū)動層。
下層為轉(zhuǎn)載驅(qū)動層,通過防爆PLC控制器實現(xiàn)對單軌吊車、轉(zhuǎn)載機械臂、鎖具和平板車的控制,所有控制程序燒錄到防爆PLC控制器內(nèi),根據(jù)上層下達的控制指令統(tǒng)一執(zhí)行。
基于轉(zhuǎn)載控制系統(tǒng)框架,選用合適的硬件實現(xiàn)轉(zhuǎn)載控制的自動化,文中主要對機械臂和鎖具控制的硬件連接進行研究。轉(zhuǎn)載機械臂的底座關(guān)節(jié)和末端夾爪姿態(tài)調(diào)整關(guān)節(jié)都采用液壓馬達作為關(guān)節(jié)旋轉(zhuǎn)驅(qū)動源,剩余的連桿關(guān)節(jié)采用液壓缸作為關(guān)節(jié)旋轉(zhuǎn)驅(qū)動源,夾爪開度控制采用液壓缸作為驅(qū)動源。鎖具鎖桿旋轉(zhuǎn)帶動鎖頭轉(zhuǎn)動,其驅(qū)動源采用扭轉(zhuǎn)油缸,配合防松油缸使得鎖頭能夠固定在指定旋轉(zhuǎn)角度。
控制系統(tǒng)硬件連接如圖3所示,控制臺A為防爆計算機,輸入指令可人工控制轉(zhuǎn)載過程,且人工控制優(yōu)先于其他通信控制。鎖具控制和轉(zhuǎn)載機械臂運動控制分別采用獨立PLC控制器,鎖具控制采用2個二位二通電磁閥分別控制鎖頭旋轉(zhuǎn)和鎖緊。轉(zhuǎn)載機械臂運動控制采用3個三位四通換向閥分別控制機械臂底座旋轉(zhuǎn)關(guān)節(jié)和兩連桿旋轉(zhuǎn)關(guān)節(jié),實現(xiàn)機械臂末端在XY平面上的調(diào)整;采用1個三位四通換向閥控制末端旋轉(zhuǎn)關(guān)節(jié),實現(xiàn)機械臂末端夾具姿態(tài)的調(diào)整;采用1個三位四通換向閥控制夾緊油缸,實現(xiàn)夾爪開度的調(diào)整。2個PLC控制器分別接收各自執(zhí)行端反饋的信號,通過PID算法對實際裝載過程中產(chǎn)生的偏差進行調(diào)整。
圖3 輔助運輸轉(zhuǎn)載控制硬件連接示意
工業(yè)攝像頭通過USB接口連接工控機,其采集的圖像數(shù)據(jù)作為工控機內(nèi)部核心算法的輸入,PLC控制器E在接收到工控機計算得到的轉(zhuǎn)載容器位姿、機械臂各關(guān)節(jié)的旋轉(zhuǎn)角度、夾爪的開度等數(shù)據(jù)后,開啟油泵2,驅(qū)動各關(guān)節(jié)電磁閥工作,實現(xiàn)轉(zhuǎn)載機械臂抓取的控制。PLC控制器B在接收轉(zhuǎn)載機械臂抓取狀態(tài)信號后,開啟油泵1,當(dāng)機械臂從平板車上抓取轉(zhuǎn)載容器時,PLC控制器B關(guān)閉防松電磁閥,使得鎖頭可以相對于鎖具底座轉(zhuǎn)動,打開扭鎖電磁閥,將鎖頭旋轉(zhuǎn)90°,實現(xiàn)轉(zhuǎn)載容器與平板車解鎖。當(dāng)機械臂把轉(zhuǎn)載容器放置在平板車上后,PLC控制器B打開扭鎖電磁閥,將鎖頭再次旋轉(zhuǎn)90°,實現(xiàn)轉(zhuǎn)載容器與平板車上鎖固定,打開防松電磁閥,將鎖頭固定在當(dāng)前角度,防止鎖頭意外旋轉(zhuǎn)使得容器與平板車固定失效。兩PLC控制器互為冗余,與工控機、本地WiFi基站間通過LAN線進行數(shù)據(jù)傳輸,采用備用電源應(yīng)急,保證了輔助運輸轉(zhuǎn)載控制的安全性能。
煤礦輔助運輸轉(zhuǎn)載需要單軌吊車、平板車、鎖具、轉(zhuǎn)載機器人之間協(xié)同工作,各個子系統(tǒng)之間不是相互獨立運行的,其運行的時間和順序需要一個總的控制系統(tǒng)進行統(tǒng)一管理,文中以此為基礎(chǔ)建立了輔助運輸轉(zhuǎn)載控制系統(tǒng)模型,如圖4所示。
圖4 煤礦輔助運輸轉(zhuǎn)載控制系統(tǒng)模型
該模型主要包括一個系統(tǒng)任務(wù)切換狀態(tài)機、機械臂抓取控制子系統(tǒng)、平板車運動控制子系統(tǒng)、鎖具運動控制子系統(tǒng)和單軌吊車運動控制子系統(tǒng)。其中系統(tǒng)任務(wù)切換狀態(tài)機根據(jù)輸入的用戶指令結(jié)合各個子系統(tǒng)的當(dāng)前狀態(tài),對下一步的工作做出判斷。當(dāng)系統(tǒng)狀態(tài)切換到機械臂抓取控制子系統(tǒng)時,用戶可以手動輸入機械臂4個關(guān)節(jié)旋轉(zhuǎn)角度和夾爪開度來控制機械臂完成轉(zhuǎn)載;也可使機械臂根據(jù)傳入的圖像數(shù)據(jù),經(jīng)過轉(zhuǎn)載容器目標檢測、圖像處理和機械臂抓取參數(shù)估計后自主獲得機械臂各關(guān)節(jié)旋轉(zhuǎn)角度和夾爪開度信息,完成容器的轉(zhuǎn)載。當(dāng)系統(tǒng)狀態(tài)切換到鎖具控制子系統(tǒng)時,根據(jù)用戶輸入的指令和機械臂抓取的狀態(tài)完成鎖具的解鎖和上鎖。
文中通過系統(tǒng)狀態(tài)機實現(xiàn)各子系統(tǒng)協(xié)同工作,使得輔助運輸轉(zhuǎn)載能夠安全進行,圖5所示為文中設(shè)計的輔助運輸轉(zhuǎn)載任務(wù)切換狀態(tài)機,主要包括初始化狀態(tài)、單股吊車運動控制狀態(tài)、平板車運動控制狀態(tài)和機械臂抓取控制狀態(tài)四部分。
圖5 煤礦輔助運輸轉(zhuǎn)載系統(tǒng)狀態(tài)機
圖6所示為初始化狀態(tài)的詳細框圖,系統(tǒng)進入初始化狀態(tài)后,各個子系統(tǒng)的運動狀態(tài)位全部停止,使得系統(tǒng)在一個安全的狀態(tài)下運行。
圖6 初始化狀態(tài)框圖
圖7所示為從初始化狀態(tài)切換到單軌吊車運動控制狀態(tài)的詳細框圖。系統(tǒng)完成初始化后,通過輸入用戶指令單軌吊車運動,在判斷機械臂是否處于回中位狀態(tài)后,觸發(fā)狀態(tài)切換,系統(tǒng)由初始化狀態(tài)切換到單軌吊車運動控制狀態(tài),在該控制狀態(tài)下又包含單軌吊運動和停止2個子模塊。當(dāng)進入單軌吊車控制子系統(tǒng)后,首先使單軌吊車控制開啟,通過用戶輸入指令使得單軌吊車運動控制關(guān)閉或返回到開啟狀態(tài)。
圖7 單軌吊車運動控制狀態(tài)框圖
圖8所示為從初始化狀態(tài)切換到平板車運動控制狀態(tài)的詳細框圖,由于和單軌吊車運動控制過程相似,文中不再進行說明。
圖8 平板車運動控制狀態(tài)框圖
圖9所示為機械臂抓取控制狀態(tài)框圖,將機械臂抓取控制狀態(tài)分為回中位、開始抓取和結(jié)束抓取3個環(huán)節(jié)。首次進入機械臂抓取控制狀態(tài),機械臂先回到中位,如果機械臂當(dāng)前的狀態(tài)為已經(jīng)回到中位,則進入機械臂開始抓取狀態(tài),同時使得鎖具控制狀態(tài)位解鎖;此時若抓取成功,則進入結(jié)束抓取狀態(tài),若用戶輸入指令結(jié)束機械臂抓取,則機械臂又重新回到中位,當(dāng)接收到控制其他子系統(tǒng)的用戶指令后,進入對應(yīng)的子系統(tǒng)狀態(tài)。
圖9 機械臂抓取控制狀態(tài)框圖
系統(tǒng)狀態(tài)機跳轉(zhuǎn)和各子系統(tǒng)間工作控制都是通過信號傳遞實現(xiàn)的,文中把系統(tǒng)中傳遞的信號分為用戶指令信號、運動狀態(tài)反饋信號和控制位信號三大類,具體信號內(nèi)容如表1所示。
將需要輸入的用戶指令信號和傳感器信號寫入Signal Builder子模塊中,觸發(fā)狀態(tài)機協(xié)調(diào)各個子系統(tǒng)工作。圖10所示為建立的轉(zhuǎn)載控制系統(tǒng)仿真環(huán)境。
圖10 轉(zhuǎn)載控制系統(tǒng)仿真環(huán)境
在Signal Builder子模塊中模擬用戶輸入自動轉(zhuǎn)載指令,系統(tǒng)狀態(tài)機根據(jù)當(dāng)前各子系統(tǒng)狀態(tài)反饋類信號和用戶指令信號對輔助運輸轉(zhuǎn)載進行控制,其輸入和輸出的信號時序如圖11所示。
圖11 輔助運輸轉(zhuǎn)載控制時序
用戶輸入自動轉(zhuǎn)載指令后,系統(tǒng)狀態(tài)機判斷平板車和單軌吊車都處于靜止?fàn)顟B(tài),機械臂控制位置1,機械臂抓取子系統(tǒng)狀態(tài)開始運行,機械臂反饋狀態(tài)為開始抓取,此時鎖具控制位置1。鎖具開鎖完成后,機械臂進行轉(zhuǎn)載容器的抓取,機械臂的反饋狀態(tài)為抓取中,當(dāng)用戶觀測到機械臂反饋狀態(tài)為完成抓取時,輸入終止轉(zhuǎn)載指令,此時機械臂控制位置0,機械臂由完成抓取狀態(tài)進入回中位狀態(tài),機械臂反饋狀態(tài)位回中位后,鎖具控制位置0,鎖具上鎖。用戶輸入平板車運動指令,平板車控制位置1,平板車反饋狀態(tài)為開始運動后,用戶輸入單軌吊車運動指令,單軌吊車控制位置1,單軌吊車反饋狀態(tài)為開始運動,至此容器的自動轉(zhuǎn)載工作已完成。
在系統(tǒng)狀態(tài)機的協(xié)同控制下,嚴格把控各子系統(tǒng)工作順序和時間,避免由于系統(tǒng)工作時序混亂引發(fā)的轉(zhuǎn)載安全事故。
在ROS中建立了轉(zhuǎn)載機械臂抓取仿真環(huán)境,工業(yè)相機安裝在兩指夾爪上端,加載Gazebo仿真環(huán)境,機械臂前端放置一張實驗桌,桌子上散亂擺放著不同類別轉(zhuǎn)載容器和抓取后放置的箱子,如圖12所示。將該機械臂接入系統(tǒng)狀態(tài)機,在外部模擬平板車、單軌吊、鎖具的狀態(tài)信號。通過系統(tǒng)狀態(tài)機控制機械臂完成容器的抓取和搬運。
圖12 機械臂實驗場景
在機械臂抓取控制子系統(tǒng)中包括了機械臂完成抓取所需要的目標檢測、目標位姿獲取和抓取放置相關(guān)算法,啟動機械臂抓取控制子系統(tǒng),機械臂回到程序設(shè)定的初始位置。此時,工業(yè)相機與桌面平行,工業(yè)相機獲取轉(zhuǎn)載容器圖像信息并輸入到事先訓(xùn)練好的模型,輸出識別到的容器檢測結(jié)果和對應(yīng)的三維空間位姿。將準備抓取的容器位姿輸入到抓取參數(shù)估計算法中,輸出置信度最優(yōu)的夾爪旋轉(zhuǎn)角度和夾爪抓取寬度,然后打包成消息發(fā)送給機械臂控制節(jié)點。機械臂接收到目標抓取容器信息后,夾爪中心運動到模型輸出的最優(yōu)抓取點位置,然后閉合夾爪實施抓取,夾取容器后機械臂重新回到初始位置,運動規(guī)劃到平板車上方并松開夾爪,容器放置到箱子后,機械臂重新回到初始位置準備下次抓取。在抓取過程中,機械臂時刻向系統(tǒng)狀態(tài)機反饋當(dāng)前的工作狀態(tài)。機械臂抓取過程如圖13所示。
圖13 機械臂抓取過程
一次成功抓取的標準為機械臂抓取容器到箱子上方的整個過程中不出現(xiàn)掉落,以該標準對轉(zhuǎn)載容器進行20次抓取實驗,結(jié)果如表2所示。
表2 抓取實驗結(jié)果
由表2可以看出:在Gazebo環(huán)境中機械臂抓取物體的成功率可以達到80%以上,由于夾爪閉合時,物體和夾爪會產(chǎn)生碰撞和摩擦,可能會造成“空抓”現(xiàn)象。
文中主要對輔助運輸轉(zhuǎn)載自動化控制系統(tǒng)展開研究。首先概述了輔助運輸轉(zhuǎn)載機器人的組成及工作原理;然后設(shè)計了輔助運輸轉(zhuǎn)載控制系統(tǒng)框架,并在此框架基礎(chǔ)上建立了轉(zhuǎn)載控制系統(tǒng)模型,在MATLAB中搭建了轉(zhuǎn)載控制系統(tǒng)模型的仿真環(huán)境,生成系統(tǒng)信號列表,對自動轉(zhuǎn)載控制過程進行仿真分析;最后在ROS中建立了轉(zhuǎn)載機械臂抓取仿真實驗環(huán)境,將Gazebo中的機械臂接入系統(tǒng)狀態(tài)機,在外部模擬平板車、單軌吊、鎖具的狀態(tài)信號,通過系統(tǒng)狀態(tài)機控制機械臂完成容器的抓取和搬運。在Gazebo中仿真轉(zhuǎn)載容器抓取實驗,不同位置下抓取的成功率均在80%以上。