基于視覺跟蹤的delta機器人控制系統(tǒng)和方法
【技術領域】
[0001]本發(fā)明涉及工業(yè)機器人領域,尤其是基于視覺跟蹤的DELTA機器人控制系統(tǒng)和方法。
【背景技術】
[0002]DELTA機器人是并聯(lián)機器人的一種,DELTA機器人通過外轉動副驅動3條平行四邊形支鏈,再加上中間一根旋轉驅動軸,可實現(xiàn)其末端執(zhí)行器的空間四維運動,配置視覺系統(tǒng)后,在電子、輕工、食品及醫(yī)藥等領域的分揀包裝中廣泛應用。
[0003]目前現(xiàn)有的各個廠家DELTA機器人的控制系統(tǒng)是采用其自身的專用機器人控制器來構建的機器人控制系統(tǒng),這種采用專用控制器的控制系統(tǒng)系統(tǒng)通用性不好。一般的DELTA機器人控制系統(tǒng)是由控制器、伺服系統(tǒng)、視覺跟蹤系統(tǒng)和輸送帶跟蹤系統(tǒng)組成,但是其控制系統(tǒng)的各部件的拓撲連接方式千差萬別,其內部核心控制算法和跟蹤算法也是不一樣的,因此通用性不高。比較簡單的跟蹤系統(tǒng)是采用光電傳感器和編碼器來進行跟蹤,而復雜一些的跟蹤系統(tǒng)則是采用視覺系統(tǒng)、光電傳感器和編碼器來進行跟蹤。在軌跡規(guī)劃方面,各個機器人廠家的軌跡規(guī)劃方式也各不相同。
【發(fā)明內容】
[0004]為了解決上述技術問題,本發(fā)明的目的是:提供一種基于視覺跟蹤實現(xiàn)的通用性高、設置簡單、調試方便的DELTA機器人控制系統(tǒng)。
[0005]為了解決上述技術問題,本發(fā)明的另一目的是:提供一種基于視覺跟蹤實現(xiàn)快速準確分揀目標對象DELTA機器人控制方法。
[0006]本發(fā)明所采用的技術方案是:基于視覺跟蹤的DELTA機器人控制系統(tǒng),包括有運動控制器、視覺系統(tǒng)、輸送帶編碼器和兩臺DELTA機器人,所述兩臺DELTA機器人均包括有四個伺服驅動器和四個驅動軸,每臺驅動軸通過一個伺服驅動器控制;上述所有伺服驅動器串聯(lián)連接,并由第一個伺服驅動器與運動控制器連接;所述視覺系統(tǒng)和輸送帶編碼器均與運動控制器連接。
[0007]進一步,所述伺服驅動器之間、伺服啟動器與運動控制器之間通過EtherCAT總線串聯(lián)。
[0008]本發(fā)明所采用的另一技術方案是:一種應用上述控制系統(tǒng)的基于視覺跟蹤的DELTA機器人控制方法,包括以下步驟:
Al、運動控制器控制兩臺DELTA機器人中的第一臺DELTA機器人對輸送帶上的物料進行快速抓??;
A2、根據(jù)視覺系統(tǒng)和輸送帶編碼器采集的數(shù)據(jù),計算漏抓的物料數(shù)據(jù)并發(fā)送至運動控制器;
A3、所述運動控制器根據(jù)漏抓的物料數(shù)據(jù)控制第二臺DELTA機器人進行抓取操作。
[0009]進一步,包括以下步驟: B1、視覺系統(tǒng)根據(jù)采集的數(shù)據(jù)對抓取對象進行編號;
B2、對抓取對象的編號進行奇偶判斷并將采集的數(shù)據(jù)發(fā)送至運動控制器;
B3、運動控制器將判斷為奇數(shù)編號的抓取對象的數(shù)據(jù)發(fā)送至第一臺DELTA機器人并控制器進行抓取操作;運動控制器將判斷為偶數(shù)編號的抓取對象的數(shù)據(jù)發(fā)送至第二臺DELTA機器人并控制其進行抓取操作。
[0010]進一步,包括以下步驟:
Cl、視覺系統(tǒng)根據(jù)采集的數(shù)據(jù)對抓取對象的屬性進行分類;
C2、根據(jù)分類結果將采集的抓取對象的數(shù)據(jù)發(fā)送至運動控制器;
C3、運動控制器根據(jù)抓取對象的屬性的分類將采集的數(shù)據(jù)分別發(fā)送至第一臺DELTA機器人和第二臺DELTA機器人并控制其進行抓取操作。
[0011]進一步,所述DELTA機器人的抓取操作包括有以下步驟:
51、獲取抓取對象的抓取點位置以及放置點位置;
52、將抓取點位置和放置點位置轉換成同一坐標系下的位置坐標;
53、根據(jù)給定的高度參數(shù)和上述位置坐標計算弧形軌跡;
54、運動控制器控制DELTA機器人按照上述計算得到的弧形軌跡進行抓取操作。
[0012]進一步,所述步驟S3具體為:
531、根據(jù)高度參數(shù)、抓取點位置的位置坐標和放置點位置的位置坐標計算弧形軌跡的頂點位置坐標,所述頂點與位置坐標均位于與坐標系水平面垂直的平面上,所述頂點與位置坐標在垂直方向上的距離即為高度參數(shù)的值;
532、根據(jù)頂點的位置坐標、抓取點位置的位置坐標和放置點位置的位置坐標計算通過上述三個坐標的弧形軌跡。
[0013]本發(fā)明的有益效果是:本發(fā)明系統(tǒng)實現(xiàn)了雙DELTA機器人的協(xié)作控制系統(tǒng),提高了系統(tǒng)的通用性;系統(tǒng)中輸送帶編碼器數(shù)據(jù)直接接入運動控制器,視覺系統(tǒng)采用相機自動觸發(fā)的方式來進行拍照處理,伺服驅動器之間是通過總線串聯(lián)進行通信和數(shù)據(jù)傳輸并與運動控制器進行通信和數(shù)據(jù)傳輸,因此其設置簡單、便于調試。
[0014]本發(fā)明的另一有益效果是:本發(fā)明方法基于雙DELTA機器人實現(xiàn)多種協(xié)同控制方式,適用于不同的工作環(huán)境,通用性高且漏揀率低;同時通過運動軌跡優(yōu)化使得機器人分揀目標對象的速度和準確性進一步提高,提高其工作效率。
【附圖說明】
[0015]圖1為本發(fā)明系統(tǒng)的結構框圖;
圖2為本發(fā)明方法的補漏分配步驟流程圖;
圖3為本發(fā)明方法的奇偶分配步驟流程圖;
圖4為本發(fā)明方法的分類分配步驟流程圖;
圖5為本發(fā)明方法的運動軌跡計算步驟流程圖;
圖6為本發(fā)明方法的運動軌跡計算示意圖。
【具體實施方式】
[0016]下面結合附圖對本發(fā)明的【具體實施方式】作進一步說明: 參照圖1,基于視覺跟蹤的DELTA機器人控制系統(tǒng),包括有運動控制器、視覺系統(tǒng)、輸送帶編碼器和兩臺DELTA機器人,所述兩臺DELTA機器人均包括有四個伺服驅動器和四個驅動軸,每臺驅動軸通過一個伺服驅動器控制;上述所有伺服驅動器串聯(lián)連接,并由第一個伺服驅動器與運動控制器連接;所述視覺系統(tǒng)和輸送帶編碼器均與運動控制器連接。
[0017]本系統(tǒng)中具體可采用基于Sanmot1n運動控制器和SANYO DENKI的伺服驅動系統(tǒng)實現(xiàn),一個Sanmot1n運動控制器帶兩臺DELTA機器人,每臺DELTA機器人有四個驅動軸,且兩臺DELTA機器人共用一個視覺系統(tǒng)的位置數(shù)據(jù)。DELTA機器人根據(jù)視覺系統(tǒng)的位置數(shù)據(jù)和輸送帶編碼器的數(shù)據(jù)來確定其抓取位置。對于現(xiàn)有技術的一般系統(tǒng),是將輸送帶編碼器數(shù)據(jù)接入視覺系統(tǒng),而視覺系統(tǒng)則根據(jù)輸送帶編碼器的數(shù)據(jù)來進行拍照獲取目標對象的坐標值,在本發(fā)明中,輸送帶編碼器數(shù)據(jù)直接接入運動控制器,視覺系統(tǒng)采用相機自動觸發(fā)的方式來進行拍照處理。
[0018]進一步作為優(yōu)選的實施方式,所述伺服驅動器之間、伺服啟動器與運動控制器之間通過EtherCAT總線串聯(lián)。
[0019]參照圖2,一種應用上述控制系統(tǒng)的基于視覺跟蹤的DELTA機器人控制方法,采用補漏分配的任務分配方法,包括以下步驟:
Al、運動控制器控制兩臺DELTA機器人中的第一臺DELTA機器人對輸送帶上的物料進行快速抓??;
A2、根據(jù)視覺系統(tǒng)和輸送帶編碼器采集的數(shù)據(jù),計算漏抓的物料數(shù)據(jù)并發(fā)送至運動控制器;
A3、所述運動控制器根據(jù)漏抓的物料數(shù)據(jù)控制第二臺DELTA機器人進行抓取操作。
[0020]補漏分配算法的核心是將第一臺DELTA機器人所漏抓目標位置發(fā)送給第二臺DELTA機器人,然后由第二臺DELTA機器人進行抓取。
[0021]對于視覺系統(tǒng)捕捉到的目標發(fā)送到機器人的目標對象緩存列表(BUFFER LIST)中,其經過運算后,參照如下代碼段,目標對象的狀態(tài)有如下12種:
TYPE TRCTR_ObjectState:eRCTR_0bjectStateUnknown:= 0,eRCTR_0bjectStateFinished:= I,eRCTR_0bjectStateFailed:= 2,eRCTR_0bjectStateMissed:= 3,eRCTR_0bjectStateRejected:= 4,eRCTR_0bjectStateProcessed:= 11,eRCTR_0bjectStateFailure:= 12,eRCTR_0bjectStateLeftArea:= 13,eRCTR_0bjectStateUnprocessed:= 14,eRCTR_0bjectStateffaiting:= 20,
eRCTR_0bjectStateActive:= 21, eRCTR_ObjectStateInRestrArea:= 22 END_TYPE
選取在第一臺DELTA機器人的目標緩存中標記為eRCTR_0bjectStateFailed和eRCTR_ObjectStateMissed的目標,將其發(fā)送給第二臺機