【溫馨提示】====設計包含CAD圖紙 和 DOC文檔,均可以在線預覽,所見即所得,,dwg后綴的文件為CAD圖,超高清,可編輯,無任何水印,,充值下載得到【資源目錄】里展示的所有文件======課題帶三維,則表示文件里包含三維源文件,由于三維組成零件數(shù)量較多,為保證預覽的簡潔性,店家將三維文件夾進行了打包。三維預覽圖,均為店主電腦打開軟件進行截圖的,保證能夠打開,下載后解壓即可。======詳情可咨詢QQ:1304139763
機械臂控制和裝配計劃相結合的精密機械臂
摘要
本文研究了如何實現(xiàn)對兩個手指精密機械手進行自動裝配操作。提出了一個多層次裝配支持系統(tǒng)。在任務規(guī)劃層的基礎上,計算機輔助設計(CAD)模型、裝配序列最先產(chǎn)生,必要的技能信息也從此分解而得。裝配順序為在技能分解層的機器人技能。這些技能,在機器人控制層進行管理和執(zhí)行。實驗結果表明了該系統(tǒng)的可行性和有效性。
關鍵詞 機械手 裝配計劃 程序分解 自動裝配
1簡介
由于微電子機械系統(tǒng)(HEMS )技術,許多產(chǎn)品都變得非常小而復雜的,如麥克風,微光學元件,微流體生物醫(yī)學設備,創(chuàng)造增加了對微型零件的自動化精密裝配技術和系統(tǒng)的需求。在半自動化或自動化裝配中,許多努力都是以微組裝技術為重點。然而,高靈活性,效率高和可靠性好的微組裝技術,還是有特深入研究。這篇文章研究了如何實現(xiàn)對兩個手指微操作機械手自動裝配操作。提出了一個多層次裝配支持系統(tǒng)。
自動裝配是一個復雜的問題,可能涉及許多不同的問題,如任務計劃,裝配順序的產(chǎn)生,執(zhí)行和控制等等。它可以簡單地分為兩個階段:裝配計劃和機器人控制。在裝配計劃階段,生成裝配所需的信息,如裝配順序。在機器人控制階段,由裝配計劃階段產(chǎn)生的信息驅動機器人,并控制裝配作業(yè)。程序可以作為裝配計劃到機器人控制的接口?;诔绦蚧膸讉€機器人系統(tǒng)己有報道。這些系統(tǒng)背后的基本理論是機器人編程。機器人的動作被指定為技術單元,在此基礎上,裝配的任務是手動編寫程序。通過這些程序,機器人被控制去自動完成組裝任務。
一個以程序為基礎的微操作系統(tǒng)已經(jīng)在作者的實驗室完成,它可以實現(xiàn)許多顯微操作。在該系統(tǒng)中,裝配任務被手動分成技能順序,并且編譯成一個文件。再導入文件到系統(tǒng)中,系統(tǒng)可自動執(zhí)行裝配任務。本文試圖探討一個好用,并且簡單的順序代法,以減輕手工編程的負擔。
它是一種有效的方法,從幾何計算機輔助設計CAD模型確定裝配順序。許多方法已經(jīng)被提出。本文采用一種簡單的方法來生成裝配序列。它與低層次的CAD數(shù)據(jù)模型結構無關,并且可以與許多商業(yè)CAD軟件包提供應用程序編程接口(API)相連。在提出的方法中,不同的組件之間的關系圖是首先通過分析裝配模型而建立,然后,在圖的基礎上搜索可能的順序。根據(jù)某些標準,最終得到最優(yōu)順序。
把裝配順序分解成機器人技術順序,有些作品被報道。在Nnaji et al.的作品中,按照事先確定的格式,裝配任務命令被擴展到更詳細的命令,它可以作為機器人技術出現(xiàn)。Mosemann和Wahl的分解方法是基于自動生成裝配計劃的圖表AND/OR的分析.本文提出了一種方法來指導程序分解。零件的裝配過程分成不同的階段,并且部件處于不同的狀態(tài)。具體的工作流程使部件從一個狀態(tài)到另一個狀態(tài)。每個工作流程與一個程序發(fā)生器相連。根據(jù)工作流程不同有開始狀態(tài)和目標狀態(tài),程序生成器產(chǎn)生一系列的命令,使部件進一步到達它的最終狀態(tài)。
這里提出了系統(tǒng)的層次結構,關于如何通過多個層次利用機器人組裝產(chǎn)品的轉配信息。最上層是裝配任務計劃。任務計劃和命令生成所需要的信息從CAD模型中提取,并保存在數(shù)據(jù)庫中。在CAD模型的基礎上,裝配任務順序生成。在命令分解層,任務分解為程序序列。生成的程序在機器人控制層管理和執(zhí)行。
2任務計劃
程序是不能直接使用在裝配計劃階段,而是使用任務。一個任務可以完成了裝配的一系列操作,例如,從通過移動部件定位一個部件,到和另一個部件進行組裝。換句話說,一個任務包括許多功能,它們可能通過幾個不同程序來完成。一個任務是定義為:
T=(基礎部件,組裝部件,操作)
Base_Part和Assembly_Part是兩個部件組裝在一起。Base_Part固定在工作臺上,而Assembly_Part是通過機器人的抓取,組裝到Base_Part上。操作描述了Assembly_Part與Base一Part如何組裝。
操作∈{Insertion_T, screw_T, align_T,…}.
對微細結構通常是簡單的,他們可以通過實體幾何((CSG)來建立模型。目前,許多商業(yè)CAD軟件包支持3D CSG建模。裝配模型包含兩個部件,具有一定的裝配關系——定義如何將這兩個部件進行組裝。在CAD模型中,這種關系被幾何約束條件限定。幾何信息不能直接用于指導裝配操作,我們能從CAD模型裝配操作所需的必要信息。
通過搜索裝配CAD模型中定義的裝配樹和幾何關系(配偶關系),我們可以生成一個零件之間的關系圖。在圖中,節(jié)點表示零件。如果節(jié)點連接,這意味著在連接的節(jié)點(零件)有裝配關系。
2. 1裝配方向
在CSG中,兩個零件之間的關系,幾何約束,最終表示為平面與線條之間的關系,如共線、共面、相切、垂直等。軸與孔的裝配,兩個零件之間的裝配關系包含兩個約束:軸Lc_ shaft的中心線與孔Lc_hole的中心線共線,平面P_Hole與平面P_Shaft共面。
裝配方向是一個裝配操作的關鍵問題。本文采用以下方法在幾何約束的基礎上計算可能的裝配方向(以圖3所示的軸孔操作為例子):
1.對關系圖中的一個零件,計算其每一個幾何約束的剩余自由度,也稱分離度。對于共面,剩余的自由度為R1一{x,Y,ROtz}。對于共線,剩余自由度為R2一{z,ROtz}。 R1R2也可以表示為R1={1,1,0,0,0,1) R2={0,0,1,0,0,1}。在這里,1表示是有兩部分之間有一個的分離度。R1∩R2={0,0.0,0,0,1},因此,繞Z軸旋轉的自由度度在下面的步驟將被忽略。
還會出現(xiàn)一種循環(huán)關系在關系圖中,例如圖中的part5,part6和part7,在計算裝配方向之前,循環(huán)關系必須打破。假設在CAD模型的各個部分都完全約束,而不是過度約束,采用下面簡單的方法循環(huán)中的part t,利用公式計算個數(shù)Nti=Ri1∩Ri2∩…∩Rin,這兒的Rik是指在零件Par i約束下的剩余自由度,舉個例子,Upart5,part7,和Upart6,part7中1s的個數(shù)分別大于Upart5,part6,和Upart6,part5,那么可以認為零件part7的位置是由part5和part6兩部分約束確定的,并且零件part5和零件part6可以通過它們之間的約束而完全約束。在圖中我們可以把零件part5和part6結合到一點,也叫復合節(jié)點。復合節(jié)點將被視為一個單獨的部分,但很明顯,復合節(jié)點意味著裝配順序。
2.在關系圖中為所有節(jié)點的計算裝配方向。再次,舉個例子,軸孔裝配的起始狀態(tài),在一個分離度中以一定的距離分離零件(大于最大公差),然后檢查是否發(fā)生干擾。在R1的x軸與y軸的分離造成軸與孔的干擾。Z軸正方向的分離不會造成干擾。因此,選擇z軸正方向作為裝配方向,就是矢量M在裝配坐標系統(tǒng)的測量。應該指出的是,在某些情況下,對于一個零件可能有幾個可能的裝配方向。對于裝配方向即將結束的裝配操作應該放在首位。裝配狀態(tài)時,在裝配方向上,零件之間發(fā)生接觸,可以通過幾何約束很簡單的檢查出來,最后位置通過壓力傳感器測量,而位置信息作為最終條件
3.計算抓的位置。在本文中,是通過兩個獨立探針來抓取操作零件,這將在第四部分進行討論,而且抓取考慮零件的面或邊緣。在這種情況下會有幾個裝配方向,通過G1 ∩G2
∩…∩Gi尋找抓取平面,這兒的Gi指當零件處于自由狀態(tài)時第i個裝配方向上可能的抓取面或邊。例如,在圖4中,對面P1/Pl’,P2/P2’,和P3/P3’,都可以作為抓取平面,抓取平面為末端執(zhí)行器接近的方向作為抓取平面的法向矢量量。很明顯,并非所有平面上所有點都可以抓取。下面的方法用來確定抓面積。末端執(zhí)行,器用長方體作為模型,首先添加到CAD模型中,與抓取平面共面或者相切。一開始在裝配方向上抓取的邊遠離Base_Part,在裝配方向上沿著抓取平面移動末端執(zhí)行器直到末端執(zhí)行器完全抓取零件,抓取平面與末端執(zhí)行器完全接觸,或發(fā)生碰撞。記下這條邊及移動的距離,兩者都是在零件的坐標系統(tǒng)中測量而得。
4.沿著裝配方向逐步分離兩個零件,同時檢查在其他自由度的干擾,直到在其他自由度上沒有干擾發(fā)生。顯然一定的分離距離能保證在每一個自由度都不發(fā)生干擾。這就是所謂的裝配方向上的安全長度。這個長度是用于無碰撞路徑計算,這將在下一節(jié)討論。
2. 2裝配順序
有些依據(jù)可用于尋找最佳的裝配順序,如組件的機械穩(wěn)定性,并聯(lián)執(zhí)行的準確度,固定裝置等等。但對于微裝配,在選擇裝配順序時,我們應該注意它的一個重要特征育限的工作空間。微裝配通常顯微鏡下進行控制和監(jiān)測,并且微裝配工作空間非常小。裝配順序給裝配效率帶來很大影響。例如,一個簡單的三個零件的組裝。在方案a中,零件A首先裝配到B上,在這種情況下,因為空間小零件C不能與組件AB裝配。為了將零件C與AB組裝,組件AB不得不從工作區(qū)卸載。然后,再把C的轉移和固定到工作區(qū)。之后,組件AB重新轉移到工作區(qū)。在方案b中,沒有卸載任何部件的必要。方案a顯然是效率低下并且可能帶來許多不確定性。換言之,在一個裝配順序中,組件的卸載次數(shù)越多,裝配越?jīng)]效率。在本文中,由于微裝配小型工作區(qū),部件的必耍卸載次數(shù)選擇盡可能卸載次數(shù)少的。
本文提出以下辦法來尋求裝配順序。裝配關系圖是用來尋找最佳的裝配順序。采用試探的方法,減少搜索時間:
1.檢查與兩個以上節(jié)點連接的節(jié)點.如果它連接節(jié)點的裝配方向不同,把它們標記為非活動節(jié)點,而標記相同裝配方向為活動裝配方向。
2.選擇一個不是非活動節(jié)點的節(jié)點。標記當前節(jié)點為基本節(jié)點(零件)。第一個零件固定在與裝配方向相反的工作區(qū)域(這是在CAB模型進行)。把基礎件的尺寸(例如重量或體積)與它的連接件相比較,這些尺寸可以通過組裝材料清單((BOM)很容易得到。如果基礎件相對非常小,就標記為非活動節(jié)點。
3.選擇一個與基本節(jié)點相連的節(jié)點作為裝配節(jié)點(零件).如果基本節(jié)點需要從工作區(qū)卸載就檢查裝配方向。如果需要,更新一個變量,比如mount++,重新放置元件(注意,不僅有工作區(qū)中基礎零件;也可能有已經(jīng)組裝的其他零件),以便裝配方向保持向上
4.在CAD模型,在可能的裝配方向上,將裝配件移動到基礎件上,同時檢查是否有干擾(碰撞)發(fā)生。如果發(fā)生干擾,標記這個基本節(jié)點為非活動節(jié)點,接著進入第2步,根據(jù)零件的幾何特征選擇操作方式。在這一步中,也計算一個。bstacle Box.這個盒子,模擬長一個長方體,包括了工作區(qū)中的所有部件。它是用來計算移動裝配件時的無碰撞路徑,這將在下一節(jié)介紹。這個Obstacle Box用一個位置矢量和它的寬度,高度和長度來描述。
5.記錄裝配順序,包括操作類型,裝配方向,抓取定位
6.如果搜尋所有節(jié)點之后,沒有發(fā)現(xiàn)非活動節(jié)點,就標記第一基本節(jié)點為非活動節(jié)點,轉到步驟2。如果還沒有,選擇與裝配節(jié)點連接的節(jié)點。標記為一個裝配節(jié)點,把這個裝配節(jié)點作為一個基本節(jié)點。檢查這個裝配節(jié)點是否有一個裝配方向與之前的裝配方向之相同。如果有,在下面的步驟中使用之前的裝配方向,然后轉到步驟3。
整個圖形搜索完成后,我們可能有幾個裝配順序。比較mount值,選擇一個效率更高的方案。如果一個順序都沒反饋,用戶可能不得不人為選擇一個。如果在圖2所示的關系圖中有N個節(jié)點。所有這些都不是非活動節(jié)點,每個節(jié)點可能有M個裝配方向,則需耍MN次計算找出所有裝配順序。但是,因為通常情況下,一個零件只有一個裝配方向和一些飛活動節(jié)點,計算應少于MN次。
應該指出的是,在上述計算,涉及幾個坐標系統(tǒng),如裝配順序坐標,基礎零件坐標和裝配坐標。坐標之間由一個4 × 4變換矩陣來表示,這些都是在當我們創(chuàng)建關系圖時在裝配CAD模型的基礎上計算得來。在數(shù)據(jù)庫中矩陣與所有相關零部件存儲在一起。他們還被用在程序分解。
3程序分解和執(zhí)行
3.1原始程序的定義
原始程序使裝配計劃和機器人控制之間得以鏈接。己經(jīng)有一些對于原始程序的定義這些定義之間的根本區(qū)別是技能的復雜性以及它可以實現(xiàn)實現(xiàn)的功能。從裝配計劃的角度看,一個程序可以實現(xiàn)更多的功能顯然更好。然而,對于能實現(xiàn)許多功能的程序的控制可能就會變得復雜。在論文中,用來操作的部分是兩個不同的探針,而不是一個探頭或平行顎爪。即使是抓取操作,控制過程也是不容易的。此外,像移動一個零件可能不僅涉及機械手,還有工作臺。因此,為了簡化控制過程,在論文中定義的程序不包括許多功能。更重要的是,技能應該很容易地應用到各種組裝任務,即一套程序應該一般表達具體的任務。在程序之中不應有重疊。在論文中,對機器人控制技術的原始程序定義為:
Si=[Attributes-i,Action-i (Attributes-i),Start-i (Attributes-i),End-i(Attributes-i), Condition-i (Attributes-i)]
Attributes_ i要被執(zhí)行的信息。它們可分為必需屬性和選項屬性,或感官屬性和CAD的模型驅動的屬性。所代表的屬性通過不同層使用的全局變量表現(xiàn)出來
Action_i機器人的動作,這是基本sensormotion。在許多行動,如工作臺移動,探針移動,工作臺旋轉,探針旋轉,觸摸,插入,攻絲,抓取,對于一個程序,只有一個動作。由于空間有限,行動的細節(jié)將不在論文中討論。
Star七_i Action i的初始狀態(tài),這是由傳感器測量。
End i Action i的最終狀態(tài),這是由傳感器值計算。
Condition i在何種Action i執(zhí)行的條件。
從上面的定義我們可能會發(fā)現(xiàn),論文中的程序是在機器人開始狀態(tài)和結束狀態(tài)的動作,并且它們是在特定條件下執(zhí)行。論文中的裝配計劃生成機器人動作序列,并分配給這些行動的屬性值。
3. 2程序分解
一些方法已經(jīng)被提出用于程序分解。本文提出了一種新的方法來指導程序分解。如上所述,在本文中,一個任務是將Assembly_Part與Base_Part組裝。我們定義從自由的狀態(tài)的Assembly_Part到它與Base_Part裝配作為Assembly_Part的裝配周期。在裝配周期中,Assembly_Part可能在不同的裝配狀態(tài)。圖6軸顯示為塊插入任務相關的工作流程。一個工作流程包含一組程序使Assembly_Par七從一個狀態(tài)到另一個狀態(tài)。一個工作流程是與一個特定的程序生成器相關聯(lián),程序生成器是有生成的程序控制。對于不同的裝配任務,可能使用相同的工作流程,但由于不同的任務產(chǎn)生的特殊程序可能會有所不同。
該系統(tǒng)提供默認任務模板,其中定義了默認狀態(tài)。在與相應的Assembly_Part建立關系后,這些模板被導入到系統(tǒng)中并實例化。在某些情況下,默認的模板中定義的一些狀態(tài)可能沒有用。例如,如果軸己被放置在工作區(qū),被夾具確定準確位置,那么FREE和In_WS狀態(tài)可以從軸的裝配周期中刪除。該系統(tǒng)為用戶提供了工具來修改這些模板或生成自己的模板。該工具的用戶界面將顯示在圖7。
對于一個工作流程,開始狀態(tài)由感覺值來確定,而目標狀態(tài)在CAD模型和感官的基礎上計算得來。根據(jù)開始狀態(tài)和目標狀態(tài),程序生成器生成一系列程序。在這里,我們用圖6作為一個例子來說明如何生成程序。
裝配任務(裝配周期)啟動后,模板被讀入Coordinator中。對于Move工作流程,它的啟動狀態(tài)是Grasped,這意味著Assembly_Part是機器人的末端執(zhí)行器抓住,顯然,Assembly_Part位置也被確定。它的目標狀態(tài)是Adjusted,這它與Base_Part裝配前的狀態(tài)Adjusted狀態(tài),對Assembly_Part方向是由裝配方向決定,而Safe Length位置是由長度決定。這些值被放置在任務規(guī)劃層,并存儲在數(shù)據(jù)庫中。當任務模板導入,這些值讀入內存坐標,進入工作區(qū)的坐標轉換。
在程序分解中有一個重耍的和必耍的步驟—生成一個無碰撞軌跡。在這里,我們使用了直線,簡單并且易于計算。假設P3是Assembly_Part在Adjusted狀態(tài)的位置,P0是在Grasped狀態(tài)的位置。以下方法生成路徑:
1、對Assembly_Part和裝配方向定位的基礎上,選擇程序(Rotate_ Table或Rotate_Probes),調整零件方向和賦值這些程序屬性。
2、在Obstacle Box基礎上,裝配方向,Assembly_Part的實際位置/方向,中間位置P1和P2都需要來被計算。
3、對于每段的路徑,驗證是否Move_Table程序(對于一個大范圍)或Move_Probe程序(一個小范圍)應被使用。
4、每個段生成的程序清單和對這些程序進行標記。
3.3程序運行
在一組程序生成之后,這組程序使零件到達特定的狀態(tài),這些程序被轉移到技能管理模型。該系統(tǒng)使一個或多個程序進入“正在運行的”程序列表,同時派遣它們到微操作機械手。一旦該程序被機器人運行完成,系統(tǒng)就會將他們從“正在運行的任務”清單中刪除,并將其放在“已完成的任務”列表中。在所有的這些程序都被運行后,零件的狀態(tài)被更新完成。對于一些狀態(tài),程序的運行和程序的產(chǎn)生可同時進行。例如,對于圖6中的Insertion循環(huán),如果零件的位置信息已知,移動工作流程程序生成可以和程序的生成同時進行。
裝配過程對用戶開放。通過目標程序管理表結構,用戶可以很容易監(jiān)督和控制裝配過程。例如,用戶可以暫停正在運行的程序,調整程序或修改錯誤,直接輸入命令或將機器人調整到手動狀態(tài)。
4實驗
4.1實驗平臺
本文使用的實驗平臺對于微裝配操作,需要權衡精度和工作空間。為了獲得較大的工作空間并且有較高的精度,通常使用兩個階段的控制。這些系統(tǒng)通常是兩類不同的執(zhí)行機構;略顯不好的是是擁有較大的工作空間,但精度較低,更好的是有小的工作空間,但精度很高。在系統(tǒng)中,一個平面運動單元提供大范圍精度不高的移動操作,以2微米的精度在X和Y方向移動,這是由NSK公司生產(chǎn)的線性工作臺控制。這個工作臺也可以提供Z軸旋轉,它是由一個最大分辨率為0.1°/步的步進電機驅動。
在這個機械手中,兩個獨立的探測器,用來操縱微型部件,而不是單一探頭或平行領爪。這兩個探頭固定在兩個最大分辨率為0.05°/步的步進電機上.然后兩臺電機分別固定在平行運動機構。這是一個平行六面體的運動鏈和一個平行四邊形的運動鏈的串行聯(lián)接。當θ1,θ2,θ3足夠小時,最終效應運動可以視為直線運動。
勵磁器用來驅動并聯(lián)機構,它包括一個空芯線圈和一個永磁體。永磁鐵連接到并行鏈節(jié),線圈固定在底座上。磁懸浮本質上是不穩(wěn)定的,因為它是非接觸性運行,很容易受到外部干擾。為了盡量減少來自外部干擾的影響,一個基于觀測干擾的方法來用來控制我們的顯微操作。
激光位移傳感器直接用來測量探頭的位置。反射器連接到末端執(zhí)行器。由BL AUTOTEC公司生產(chǎn)的納米力傳感器用來測量的力的大小。該微操作機械手的位置分辨率為1微米,最高解析度為0. 8gf,而最大扭矩為0. 5gfcm。一對機械手機構更詳細的解釋中可以在圖[16]中找到。所有裝配作業(yè)在由奧林巴斯公司生產(chǎn)的顯微鏡SZCTV B061下進行。由夏普GPB一KPCI圖像采集卡采集的圖像信息,它的工作頻率為25 MHz。
4.2實驗
機械手組裝一個有三個組件的裝配件。這是一個在作者實驗室研制的微型機器人的輪子。下面的幾何約束在CAD模型中定義:CL_cup和CL_axis共線,CL_gear和CL_axis共線,Plane_cup和Plane_gear_1共面,Plane_gear_1和Plane_axis共面根據(jù)上述幾何約束,三部分構成一個循環(huán)關系圖。
隨著商業(yè)軟件Solidworks2005,創(chuàng)建了CAD模型,它的API函數(shù)用于開發(fā)裝配計劃模型Oracle 9.2用來建立裝配信息數(shù)據(jù)庫。與程序開發(fā)相關的模型用Visual Basic 6.0。程序生成模型在HP工作站運行在Windows 2000上,2. 0G赫茲的CPU和1. 0 GB內存。假設零件的位置可用,可事先花了大約7分鐘生成的程序順序。生成的裝配順序是將齒輪裝配到軸上,然后將軸套組裝到軸和齒輪上。
在裝配操作中,零件被放置在專用夾具中,然后移動到工作區(qū)域,它們的初始位置和方向可以確定。因此,在實驗中,所有的不同零件的程序序列都可以產(chǎn)生,然后轉移到程序管理單元。該程序通過TCP/IP通信傳輸?shù)轿⒉僮鳈C械手。因為微操作機械手控制器是基于DOS運行,WTTCP工具套件適應TCP/IP通信協(xié)議。
因為,目前,該裝置自動化控制還沒有實現(xiàn),零件必須手動固定到工作臺。不同的任務(不同零件的裝配周期)之間的協(xié)調需要進行手動操作。圖12顯示了裝配過程中的一些截圖。a圖中,軸固定在工作區(qū),b圖中,齒輪固定在工作區(qū),從c到e,探測器抓取齒輪,移動,并裝配到軸上,f圖中,軸套固定在工作區(qū),從g到i,軸套與齒輪和軸裝配??梢园l(fā)現(xiàn),該系統(tǒng)可以成功進行裝配任務。
5結論
本文介紹了一種以程序為基礎的操縱系統(tǒng)。在計算機輔助設計(CAD)模型的基礎上生成程序序列。通過尋找裝配關系,構建一幅裝配圖。在幾何約束的基礎上本文提出的方法來得出裝配方向和抓取位置,幾何約束定義了不同零件之間的關系。因為微操作機器人工作空間非常小,裝配順序會帶來太大的影響?,F(xiàn)在,在工作區(qū)安裝件所需的次數(shù)為標準來選擇最佳的裝配順序。
本文介紹方法來指導程序分解。裝配過程被分為不同的階段。在一個階段,零件處于裝配狀態(tài)。一個特定的工作流程使它到達最終的目標狀態(tài),這是裝配周期中的理想狀態(tài)并且是在CAD模型的信息和感覺信息的基礎上計算得來。一個特殊的程序生成器,與工作流程相連,產(chǎn)生程序使零件到達它的最終狀態(tài).程序序列生成以后,系統(tǒng)分派他們到機械手的控制器來驅動機械手。
用實驗來驗證所提出的方法,組裝了三個部件。實驗結果證明了該系統(tǒng)的可行性。該系統(tǒng)已經(jīng)可以進行自動裝配操作。但是,仍然有許多問題需要解決,以實現(xiàn)全自動化裝配例如,目前,零部件的位保證是通過專用夾具來實現(xiàn)?,F(xiàn)在,基于CAD下的圖像處理模型正在發(fā)展中。預計,隨著圖像的處理模型的發(fā)展,系統(tǒng)可以處理處于隨機位置和方向的零件。
A mechanical arm control and assembly program combining precision mechanical
Abstract
This paper researches how to realize the automatic assembly operation on a two-finger precision manipulator. A multi-layer assembly support system is proposed. At the task-planning layer, based on the computer-aided design (CAD) model, the assembly sequence is first generated, and the information necessary for skill decomposition is also derived. Then, the assembly sequence is decomposed into robot skills at the skill-decomposition layer. These generated skills are managed and executed at the robot control layer. Experimental results show the feasibility and efficiency of the proposed system.
Keywords Manipulator Assembly planning Skill decomposition Automated assembly
1 Introduction
Owing to the micro-electro-mechanical systems (MEMS) techniques, many products are becoming very small and complex, such as microphones, micro-optical components, and microfluidic biomedical devices, which creates increasing needs for technologies and systems for the automated precision assembly of miniature parts. Many efforts aiming at semi-automated or automated assembly have been focused on microassembly technologies. However, microassembly techniques of high flexibility, efficiency, and reliability still open to further research. Thispaper researches how to realize the automatic assembly operation on a two-finger micromanipulator. A multi-layer assembly support system is proposed.
Automatic assembly is a complex problem which may involve many different issues, such as task planning, assembly sequences generation, execution, and control, etc. It can be simply divided into two phases; the assembly planning and the robot control. At the assembly-planning phase, the information necessary for assembly operations, such as the assembly sequence, is generated. At the robot control phase, the robot is driven based on the information generated at the assembly-planning phase, and the assembly operations are conducted Skill primitives can work as the interface of assembly planning to robot control. Several robot systems based on skill primitives have been reported. The basic idea behind these systems is the robot programming. Robot movements are specified as skill primitives, based on which the assembly task is manually coded into programs. With the programs, the robot is controlled to fulfill assembly tasks automatically.
A skill-based micromauipulation system bas been developed in the authors' lab, and it can realize many micromauipulation operations.hthe system, the assembly task is manually discomposed into skill sequences and compiled into a file. After importing the file into the system, the system can automatically execute the assembly task. This paper attempts to explore a user-friendly, and at the same time easy, sequence-generation method, to relieve the burden of manually programming the skill sequence.
It is an effective method to determine the assembly sequence from geometric computer-aided design (CAD) models. Many approaches have been proposed. This paper applies a simple approach to generate the assembly sequence. It is not involved with the low-level data structure of the CAD model, and can be realized with the application programming interface (API) functions that many commercial CAD software packages provide. In the proposed approach, a relations graph among different components is first constructed by analyzing the assembly model, and then, possible sequences are searched, based on the graph. According to certain criterion, the optimal sequence is finally obtained.
To decompose the assembly sequence into robot skill sequences, some works have been reported. In Nnaji et al.'s work, the assembly task commands are expanded to more detailed commands, which can be seen as robot skills, according to a predefined format. The decomposition approach of Mosemann and Wahl is based on the analysis of hyperarcs of AND/OR graphs representing the automatically generated assembly plans. This paper proposes a method to guide the skill decomposition. The assembly processes of parts are grouped into different phases, and parts are at different states. Specific workflows push forward parts from one state to another state. Each workflow is associated with a skill generator. According to the different start state and target state of the workflow, the skill generator creates a series of skills that can promote the part to its target state.
The hierarchy of the system proposed here ,the assembly information on how to assemble a product is transferred to the robot through multiple layers. The top layer is for the assembly-task planning. The information needed for the task planning and skill generation are extracted from the CAD model and are saved in the database. Based on the CAD model, the assembly task sequences are generated. At the skill-decomposition layer, tasks are decomposed into skill sequences. The generated skills are managed and executed at the robot control layer.
2 Task planning
Skills are not used directly at the assembly-planning phase. Inste,the concept of a task is used. A task can fulfill a series of assembly operations, for example, from locating a part, through moving the part, to fixing it with another part.hother words, one task includes many functions that may be fulfilled by several different skills. A task is defined as:
T = (Base Part; Assembly Part; Operation)
Base Part and Assembly Part are two parts that are assembled together. Basees Part is fixed on the worktable, while Assembly-Part is handled by robot's end-effector and assembled onto the Basees Part. Operation describes how the Assembly-Part is assembled with the Basees Park Operation ∈{Insertion T, screw T,align T,…}.
The structure of microparts is usually uncomplicated, and they can be modeled by the constructive solid geometry (CSG) method. Currently, many commercial CAD software packages can support 3D CSG modeling. The assembly model is represented as an object that consists of two parts with certain assembly relations that define how the parts are to be assembled. In the CAD model, the relations are defined by geometric constraints. The geometric information cannot be used directly to guide the assembly operation-we have to derive the information necessary for assembly operations from the CAD model.
Through searching the assembly tree and geometric relations (mates' relations) defined in the assembly's CAD model, we can generate a relation graph among parts, for example, In the graph, the nodes represent the parts. If nodes are connected, it means that there are assembly relations among these connected nodes (parts).
2.1 Mating direction
In CSG, the relations of two parts, geometric constraints, are finally represented as relations between planes and lines, such as collinear, coplanar, tangential, perpendicular, etc. For example, a shaft is assembled in a hole. The assembly relations between the two parts may consist of such two constraints as collinear between the centerline of shaft Lc_shaft and the centerline of hole Lc_hole and coplanar between the plane P_Shaft and the plane P_Hole. The mating direction is a key issue for an assembly operation. This paper applies the following approach to compute the possible mating direction based on the geometric constraints (the shaft-in-hole operation of Fig. 3 is taken as an example):
1. For a part in the relation graph, calculate its remaining degrees of freedoxn,also called degrees of separation, of each geometric constraint.
For the coplanar constraint, the remaining degrees of freedom are R1={x, y, Rotz}.For the collinear constraint, the remaining degrees of freedom are R2={z,Rotz}.R1 and R2 can also be represented as R1={1,1,0,0,0,1} and R2={0,0,1,0,0,1}. Here, 1 means that there is a degree of separation between the two parts. R1∩R2={0,0.0,0,0,1}, and so, the degree of freedom around the z axis will be ignored in the following steps.
In the case that there is a loop in the relation graph, such as parts Part 5, Part 6, and Part 7 in Fig. 2, the loop has to be broken before the mating direction is calculated. Under the assumption that all parts in the CAD model are fully constrained and not over-constrained, the following simple approach is adopted. For the part tin the loop, calculate the number of is in Nti=Ri1∩Ri2∩…∩Rin;where Rik is the remaining degrees of freedom of constraint k by part i. For example, in Fig. 2, given that the number of is inUpart5,part7 and Upart6,part7 is larger than U part5,part6 and U part6,part5,respectively, then it can be regarded that the position of Part 7 is determined by constraints with both Part 5 and Part 6, while Part 5 and Part 6 can be fu比 constrained by constraints between Part 5 and Part 6. We can unite Part 5 and Part 6 as one node in the relation graph, also called a composite node, as shown in Fig. 2b. The composite node will be regarded as a single part, but it is obvious that the composite node implies an assembly sequence.
2. Calculate mating directions for all nodes in the relation graph. Again, beginning at the state that the shaft and the hole are assembled, separate the part in one degree of separation by a certain distance (larger than the maximum tolerance), and then check if interference occurs. Separation in both ±x axis and±y axis of R1 causes the interference between the shaft and the hole. Separation in the +z direction raises no interference. Then, select the +z direction as the mating direction, which is represented as a vector M measured in the coordinate system of the assembly. It should be noted that, in some cases, there may be several possible mating directions for a part. The condition for assembly operation in the mating direction to be ended should be given. When contact occurs between parts in the mating direction at the assembled state, which can be checked simply with geometric constraints, the end condition is measured by force sensory information, whereas position information is used as an end condition.
3. Calculate the grasping position. In this paper, parts are handled and manipulated with two separate probes, which will be discussed in the Sect. 4, and planes or edges are considered for grasping.hthe case that there are several mating directions, the grasping planes are selected as G1∩G2∩...∩Gi, where Gi is possible grasping plane/edge set for the ith mating direction wher the part is at its free state. For example, in Fig. 4, the pair planes Pl/Pl', P2/P2', and P3/P3' can serve as possible grasping planes, and then the grasping planes are
Gmating_dir1∩Gmating_dir2∩Gmating_dir3=
{P1/P 1',P2/P 2',P3/P 3'}∩{P1/P 1', P3/P 3'}∩{P1/P 1', P2/P 2'}={P1/P 1'}
The approaching direction of the end-effe