本技術(shù)一般涉及機械臂防碰撞。更具體地,本技術(shù)涉及一種高通量雙臂物聯(lián)協(xié)作方法及系統(tǒng)。
背景技術(shù):
1、在智能化驗室中以及其他一些自動化水樣檢測設(shè)備中,水樣裝在試劑瓶中放在檢測平臺上,機械臂夾持試劑瓶放到檢測區(qū)檢測,檢測完畢后再使用機械臂將試劑瓶搬運到空瓶區(qū)存放。在檢測平臺面積較大且檢測平臺上試劑瓶的數(shù)量較多的情況下,需要多機械臂聯(lián)合協(xié)作。對于多機械臂聯(lián)合協(xié)作的情景,需要采用防碰撞技術(shù)實現(xiàn)多機械臂更好地協(xié)作。
2、現(xiàn)有技術(shù)中,常規(guī)采用的防碰撞技術(shù)只能針對固定不動的障礙物進行避障路徑生成,且生成的軌跡會導(dǎo)致機械臂運行中抖動嚴重。然而,在實際應(yīng)用過程中,在雙機械臂協(xié)同工作的場景下,一臺機械臂障礙物是另一臺機械臂,另一臺機械臂處于不斷運動的過程當(dāng)中,因此無法實現(xiàn)多個另一臺機械臂更好地協(xié)作。
3、有鑒于此,亟需提供一種雙臂物聯(lián)協(xié)作方案,能夠防止雙機械臂之間發(fā)生碰撞,實現(xiàn)雙機械臂之間的高效率協(xié)作運行。
技術(shù)實現(xiàn)思路
1、為了至少解決如上所提到的一個或多個技術(shù)問題,本技術(shù)在多個方面提出了慣量飛輪系統(tǒng)的容錯運行方案。
2、在第一方面中,本技術(shù)提供一種高通量雙臂物聯(lián)協(xié)作方法,包括:基于所有待夾持的試劑瓶分別構(gòu)建主機械臂的運動路徑與協(xié)作機械臂的運動路徑;構(gòu)建主機械臂的包圍盒模型與協(xié)作機械臂的包圍盒模型,并將主機械臂和協(xié)作機械臂在運動路徑上分別對應(yīng)的包圍盒模型投影在三個主平面上,進而投影在三個主坐標(biāo)軸上;基于主機械臂和協(xié)作機械臂在運動路徑上分別對應(yīng)的包圍盒模型的投影判斷主機械臂與協(xié)作機械臂是否會發(fā)生碰撞;響應(yīng)于主機械臂與協(xié)作機械臂會發(fā)生碰撞,獲取協(xié)作機械臂的延遲運行時間,在主機械臂運行協(xié)作機械臂的延遲運行時間后,協(xié)作機械臂開始運行;響應(yīng)于主機械臂與協(xié)作機械臂不會發(fā)生碰撞,主機械臂與協(xié)作機械臂同時開始運行。
3、在一些實施例中,在將主機械臂和協(xié)作機械臂在運動路徑上分別對應(yīng)的包圍盒模型投影在三個主平面上,進而投影在三個主坐標(biāo)軸上的過程中,執(zhí)行以下步驟:獲取主機械臂與協(xié)作機械臂在運動路徑上的公共空間;將在運動路徑上處于公共空間中的主機械臂和協(xié)作機械臂分別對應(yīng)的包圍盒模型映射到笛卡爾坐標(biāo)系中的各個平面,得到主機械臂的包圍盒模型對應(yīng)的二維投影圖和協(xié)作機械臂的包圍盒模型對應(yīng)的二維投影圖;將主機械臂的包圍盒模型對應(yīng)的二維投影圖和協(xié)作機械臂的包圍盒模型對應(yīng)的二維投影圖映射到笛卡爾坐標(biāo)系中的各個坐標(biāo)軸,得到主機械臂和協(xié)作機械臂在運動路徑上分別對應(yīng)的包圍盒模型在各個坐標(biāo)軸的投影。
4、在一些實施例中,在判斷主機械臂與協(xié)作機械臂是否會發(fā)生碰撞的過程中,執(zhí)行以下步驟:基于主機械臂和協(xié)作機械臂在運動路徑上分別對應(yīng)的包圍盒模型的投影判斷主機械臂與協(xié)作機械臂是否具有碰撞風(fēng)險;響應(yīng)于主機械臂與協(xié)作機械臂不具有碰撞風(fēng)險,判斷主機械臂與協(xié)作機械臂不會發(fā)生碰撞;響應(yīng)于主機械臂與協(xié)作機械臂具有碰撞風(fēng)險,對主機械臂和協(xié)作機械臂在運動路徑上分別對應(yīng)的包圍盒模型進行相交測試,基于相交測試結(jié)果判斷主機械臂與協(xié)作機械臂是否會發(fā)生碰撞。
5、在一些實施例中,當(dāng)主機械臂在運動路徑上對應(yīng)的所有包圍盒模型與協(xié)作機械臂在運動路徑上對應(yīng)的所有包圍盒模型在任一坐標(biāo)軸上分別對應(yīng)的投影之間不具有重疊點時,判斷主機械臂與協(xié)作機械臂不具有碰撞風(fēng)險。
6、在一些實施例中,所述包圍盒模型包括球體模型和膠囊體模型。
7、在一些實施例中,在對主機械臂的球體模型和協(xié)作機械臂的球體模型進行相交測試過程中,執(zhí)行以下步驟:在主機械臂的球體模型球心與協(xié)作機械臂的球體模型球心在相應(yīng)坐標(biāo)軸上分別對應(yīng)的投影之間的距離大于主機械臂的球體模型與協(xié)作機械臂的球體模型的半徑之和時,判斷主機械臂與協(xié)作機械臂不會發(fā)生碰撞;在主機械臂的球體模型球心與協(xié)作機械臂的球體模型球心在相應(yīng)坐標(biāo)軸上分別對應(yīng)的投影之間的距離小于主機械臂的球體模型與協(xié)作機械臂的球體模型的半徑之和時,判斷主機械臂的球體模型球心與協(xié)作機械臂的球體模型球心在其他坐標(biāo)軸上分別對應(yīng)的投影之間的距離是否小于主機械臂的球體模型與協(xié)作機械臂的球體模型的半徑之和;響應(yīng)于主機械臂的球體模型球心與協(xié)作機械臂的球體模型球心在其他坐標(biāo)軸上分別對應(yīng)的投影之間的距離小于主機械臂的球體模型與協(xié)作機械臂的球體模型的半徑之和,判斷主機械臂與協(xié)作機械臂會發(fā)生碰撞;響應(yīng)于主機械臂的球體模型球心與協(xié)作機械臂的球體模型球心在其他任一坐標(biāo)軸上分別對應(yīng)的投影之間的距離不小于主機械臂的球體模型與協(xié)作機械臂的球體模型的半徑之和,判斷主機械臂與協(xié)作機械臂不會發(fā)生碰撞。
8、在一些實施例中,在對主機械臂的球體模型和協(xié)作機械臂的膠囊體模型進行相交測試過程中,或者在對主機械臂的膠囊體模型和協(xié)作機械臂的球體模型進行相交測試過程中,執(zhí)行以下步驟:在主機械臂的球體模型球心與協(xié)作機械臂的膠囊體模型任一端球球心或主機械臂的膠囊體模型任一端球球心與協(xié)作機械臂的球體模型球心在相應(yīng)坐標(biāo)軸上分別對應(yīng)的投影之間的距離大于球體模型的半徑與膠囊體模型的端球的半徑之和時,判斷主機械臂與協(xié)作機械臂不會發(fā)生碰撞;在膠囊體模型存在端球球心與球體模型球心在相應(yīng)坐標(biāo)軸上分別對應(yīng)的投影之間的距離小于球體模型半徑與膠囊體模型的端球半徑之和時,判斷膠囊體模型的相應(yīng)端球球心與球體模型球心在其他坐標(biāo)軸上分別對應(yīng)的投影之間的距離是否小于球體模型半徑與膠囊體模型的相應(yīng)端球的半徑之和;響應(yīng)于膠囊體模型的相應(yīng)端球球心與球體模型球心在其他坐標(biāo)軸上分別對應(yīng)的投影之間的距離小于球體模型半徑與膠囊體模型的端球的半徑之和,判斷主機械臂與協(xié)作機械臂會發(fā)生碰撞;響應(yīng)于膠囊體模型的相應(yīng)端球球心與球體模型球心在其他任一坐標(biāo)軸上分別對應(yīng)的投影之間的距離不小于球體模型半徑與膠囊體模型的端球的半徑之和,判斷主機械臂與協(xié)作機械臂不會發(fā)生碰撞。
9、在一些實施例中,在對主機械臂的膠囊體模型和協(xié)作機械臂的膠囊體模型進行相交測試過程中,執(zhí)行以下步驟:在主機械臂的膠囊體模型與協(xié)作機械臂的膠囊體模型距離較近的兩個端球球心在相應(yīng)坐標(biāo)軸上分別對應(yīng)的投影之間的距離大于主機械臂的膠囊體模型端球與協(xié)作機械臂的膠囊體模型端球的半徑之和時,判斷主機械臂與協(xié)作機械臂不會發(fā)生碰撞;在主機械臂的膠囊體模型與協(xié)作機械臂的膠囊體模型距離較近的兩個端球球心在相應(yīng)坐標(biāo)軸上分別對應(yīng)的投影之間的距離小于主機械臂的膠囊體模型端球與協(xié)作機械臂的膠囊體模型端球的半徑之和時,判斷主機械臂的膠囊體模型與協(xié)作機械臂的膠囊體模型距離較近的兩個端球球心在其他坐標(biāo)軸上分別對應(yīng)的投影之間的距離是否小于主機械臂的膠囊體模型端球與協(xié)作機械臂的膠囊體模型端球的半徑之和;響應(yīng)于主機械臂的膠囊體模型與協(xié)作機械臂的膠囊體模型距離較近的兩個端球球心在其他坐標(biāo)軸上分別對應(yīng)的投影之間的距離小于主機械臂的膠囊體模型端球與協(xié)作機械臂的膠囊體模型端球的半徑之和,判斷主機械臂與協(xié)作機械臂會發(fā)生碰撞;響應(yīng)于主機械臂的膠囊體模型與協(xié)作機械臂的膠囊體模型距離較近的兩個端球球心在其他任一坐標(biāo)軸上分別對應(yīng)的投影之間的距離不小于主機械臂的膠囊體模型端球與協(xié)作機械臂的膠囊體模型端球的半徑之和,判斷主機械臂與協(xié)作機械臂不會發(fā)生碰撞。
10、在一些實施例中,在獲取協(xié)作機械臂的延遲運行時間過程中,執(zhí)行以下步驟:將第一預(yù)設(shè)時間作為當(dāng)前延遲運行時間,判斷當(dāng)前延遲運行時間下主機械臂與協(xié)作機械臂是否會發(fā)生碰撞;響應(yīng)于當(dāng)前延遲運行時間下主機械臂與協(xié)作機械臂不會發(fā)生碰撞,將當(dāng)前延遲運行時間作為協(xié)作機械臂的延遲運行時間;響應(yīng)于主機械臂與協(xié)作機械臂會發(fā)生碰撞,在當(dāng)前延遲運行時間的基礎(chǔ)上加上第二預(yù)設(shè)時間,直至主機械臂與協(xié)作機械臂不會發(fā)生碰撞。
11、在一些實施例中,所述第二預(yù)設(shè)時間大于判斷主機械臂與協(xié)作機械臂是否會發(fā)生碰撞需要采用的時間。
12、在第二方面中,本技術(shù)提供一種高通量雙臂物聯(lián)協(xié)作系統(tǒng),采用如第一方面任一實施例所述的高通量雙臂物聯(lián)協(xié)作方法進行雙臂物聯(lián)協(xié)作,所述系統(tǒng)包括:運動路徑獲取模塊,用于基于所有待夾持的試劑瓶分別構(gòu)建主機械臂的運動路徑與協(xié)作機械臂的運動路徑;包圍盒模型獲取模塊,用于構(gòu)建主機械臂的包圍盒模型與協(xié)作機械臂的包圍盒模型,并將主機械臂和協(xié)作機械臂在運動路徑上分別對應(yīng)的包圍盒模型投影在三個主平面上,進而投影在三個主坐標(biāo)軸上;碰撞判斷模塊,用于基于主機械臂和協(xié)作機械臂在運動路徑上分別對應(yīng)的包圍盒模型的投影判斷主機械臂與協(xié)作機械臂是否會發(fā)生碰撞;運行模塊,用于響應(yīng)于主機械臂與協(xié)作機械臂會發(fā)生碰撞,獲取協(xié)作機械臂的延遲運行時間,在主機械臂運行協(xié)作機械臂的延遲運行時間后,協(xié)作機械臂開始運行;響應(yīng)于主機械臂與協(xié)作機械臂不會發(fā)生碰撞,主機械臂與協(xié)作機械臂同時開始運行。
13、通過如上所提供的雙臂物聯(lián)協(xié)作方案,本技術(shù)實施例通過基于主機械臂和協(xié)作機械臂在運動路徑上分別對應(yīng)的包圍盒模型的投影判斷主機械臂與協(xié)作機械臂是否會發(fā)生碰撞,響應(yīng)于主機械臂與協(xié)作機械臂會發(fā)生碰撞,獲取協(xié)作機械臂的延遲運行時間,在主機械臂運行協(xié)作機械臂的延遲運行時間后,協(xié)作機械臂開始運行,能夠有效避免主機械臂與協(xié)作機械臂之間的碰撞,在確保不會發(fā)生碰撞的前提下,最大化主機械臂和協(xié)作機械臂之間的協(xié)作工作效率。同時,通過調(diào)整協(xié)作機械臂的啟動時機來解決問題,這不僅有助于保持原有的路徑設(shè)計不變,同時也簡化了重新規(guī)劃新路徑的需求,從而提高了整個系統(tǒng)的靈活性。此外,通過對協(xié)作機械臂設(shè)置適當(dāng)?shù)难舆t運行時間,可以在不影響整體作業(yè)進度的情況下,減少了由于突發(fā)狀況而導(dǎo)致的停機時間,確保主機械臂和協(xié)作機械臂之間的協(xié)作安全性和準(zhǔn)確性。