16噸汽車起重機結(jié)構(gòu)設(shè)計【含CAD圖紙、說明書】
0機械臂控制和裝配計劃相結(jié)合的精密機械臂摘要本文研究了如何實現(xiàn)對兩個手指精密機械手進行自動裝配操作。提出了一個多層次裝配支持系統(tǒng)。在任務規(guī)劃層的基礎(chǔ)上,計算機輔助設(shè)計(CAD)模型、裝配序列最先產(chǎn)生,必要的技能信息也從此分解而得。裝配順序為在技能分解層的機器人技能。這些技能,在機器人控制層進行管理和執(zhí)行。實驗結(jié)果表明了該系統(tǒng)的可行性和有效性。關(guān)鍵詞 機械手 裝配計劃 程序分解 自動裝配1 簡介由于微電子機械系統(tǒng)(HEMS )技術(shù),許多產(chǎn)品都變得非常小而復雜的,如麥克風,微光學元件,微流體生物醫(yī)學設(shè)備,創(chuàng)造增加了對微型零件的自動化精密裝配技術(shù)和系統(tǒng)的需求。在半自動化或自動化裝配中,許多努力都是以微組裝技術(shù)為重點。然而,高靈活性,效率高和可靠性好的微組裝技術(shù),還是有特深入研究。這篇文章研究了如何實現(xiàn)對兩個手指微操作機械手自動裝配操作。提出了一個多層次裝配支持系統(tǒng)。自動裝配是一個復雜的問題,可能涉及許多不同的問題,如任務計劃,裝配順序的產(chǎn)生,執(zhí)行和控制等等。它可以簡單地分為兩個階段:裝配計劃和機器人控制。在裝配計劃階段,生成裝配所需的信息,如裝配順序。在機器人控制階段,由裝配計劃階段產(chǎn)生的信息驅(qū)動機器人,并控制裝配作業(yè)。程序可以作為裝配計劃到機器人控制的接口?;诔绦蚧膸讉€機器人系統(tǒng)己有報道。這些系統(tǒng)背后的基本理論是機器人編程。機器人的動作被指定為技術(shù)單元,在此基礎(chǔ)上,裝配的任務是手動編寫程序。通過這些程序,機器人被控制去自動完成組裝任務。一個以程序為基礎(chǔ)的微操作系統(tǒng)已經(jīng)在作者的實驗室完成,它可以實現(xiàn)許多顯微操作。在該系統(tǒng)中,裝配任務被手動分成技能順序,并且編譯成一個文件。再導入文件到系統(tǒng)中,系統(tǒng)可自動執(zhí)行裝配任務。本文試圖探討一個好用,并且簡單的順序代法,以減輕手工編程的負擔。它是一種有效的方法,從幾何計算機輔助設(shè)計 CAD 模型確定裝配順序。許多方法已經(jīng)被提出。本文采用一種簡單的方法來生成裝配序列。它與低層次的 CAD 數(shù)據(jù)模型結(jié)構(gòu)無關(guān),并且可以與許多商業(yè) CAD 軟件包提供應用程序編程接口(API)相連。在提出的方法中,不同的組件之間的關(guān)系圖是首先通過分析裝配模型而建立,然后,在圖的基礎(chǔ)上搜索可能的順序。根據(jù)某些標準,最終得到最優(yōu)順序。1把裝配順序分解成機器人技術(shù)順序,有些作品被報道。在 Nnaji et al.的作品中,按照事先確定的格式,裝配任務命令被擴展到更詳細的命令,它可以作為機器人技術(shù)出現(xiàn)。Mosemann 和 Wahl 的分解方法是基于自動生成裝配計劃的圖表 AND/OR 的分析.本文提出了一種方法來指導程序分解。零件的裝配過程分成不同的階段,并且部件處于不同的狀態(tài)。具體的工作流程使部件從一個狀態(tài)到另一個狀態(tài)。每個工作流程與一個程序發(fā)生器相連。根據(jù)工作流程不同有開始狀態(tài)和目標狀態(tài),程序生成器產(chǎn)生一系列的命令,使部件進一步到達它的最終狀態(tài)。這里提出了系統(tǒng)的層次結(jié)構(gòu),關(guān)于如何通過多個層次利用機器人組裝產(chǎn)品的轉(zhuǎn)配信息。最上層是裝配任務計劃。任務計劃和命令生成所需要的信息從 CAD 模型中提取,并保存在數(shù)據(jù)庫中。在 CAD 模型的基礎(chǔ)上,裝配任務順序生成。在命令分解層,任務分解為程序序列。生成的程序在機器人控制層管理和執(zhí)行。2 任務計劃程序是不能直接使用在裝配計劃階段,而是使用任務。一個任務可以完成了裝配的一系列操作,例如,從通過移動部件定位一個部件,到和另一個部件進行組裝。換句話說,一個任務包括許多功能,它們可能通過幾個不同程序來完成。一個任務是定義為:T=(基礎(chǔ)部件,組裝部件,操作)Base_Part 和 Assembly_Part 是兩個部件組裝在一起。Base_Part 固定在工作臺上,而Assembly_Part 是通過機器人的抓取,組裝到 Base_Part 上。操作描述了 Assembly_Part與 Base 一 Part 如何組裝。操作Insertion_T, screw_T, align_T,.對微細結(jié)構(gòu)通常是簡單的,他們可以通過實體幾何(CSG)來建立模型。目前,許多商業(yè) CAD 軟件包支持 3D CSG 建模。裝配模型包含兩個部件,具有一定的裝配關(guān)系定義如何將這兩個部件進行組裝。在 CAD 模型中,這種關(guān)系被幾何約束條件限定。幾何信息不能直接用于指導裝配操作,我們能從 CAD 模型裝配操作所需的必要信息。通過搜索裝配 CAD 模型中定義的裝配樹和幾何關(guān)系(配偶關(guān)系),我們可以生成一個零件之間的關(guān)系圖。在圖中,節(jié)點表示零件。如果節(jié)點連接,這意味著在連接的節(jié)點(零件 )有裝配關(guān)系。2. 1 裝配方向在 CSG 中,兩個零件之間的關(guān)系,幾何約束,最終表示為平面與線條之間的關(guān)系,如共線、共面、相切、垂直等。軸與孔的裝配,兩個零件之間的裝配關(guān)系包含兩個約束:軸 Lc_ shaft 的中心線與孔 Lc_hole 的中心線共線,平面 P_Hole 與平面 P_Shaft 共面。裝配方向是一個裝配操作的關(guān)鍵問題。本文采用以下方法在幾何約束的基礎(chǔ)上計2算可能的裝配方向(以圖 3 所示的軸孔操作為例子):1.對關(guān)系圖中的一個零件,計算其每一個幾何約束的剩余自由度,也稱分離度。對于共面,剩余的自由度為 R1 一x ,Y ,ROt z。對于共線,剩余自由度為 R2 一z,ROtz。 R1R2 也可以表示為 R1=1,1,0,0,0,1) R2=0,0,1,0,0,1。在這里,1 表示是有兩部分之間有一個的分離度。R 1R 2=0,0.0,0,0,1,因此,繞 Z 軸旋轉(zhuǎn)的自由度度在下面的步驟將被忽略。還會出現(xiàn)一種循環(huán)關(guān)系在關(guān)系圖中,例如圖中的 part5,part6 和 part7,在計算裝配方向之前,循環(huán)關(guān)系必須打破。假設(shè)在 CAD 模型的各個部分都完全約束,而不是過度約束,采用下面簡單的方法循環(huán)中的 part t,利用公式計算個數(shù)Nti=Ri1R i2R in,這兒的 Rik 是指在零件 Par i 約束下的剩余自由度,舉個例子,Upart5,part7,和 Upart6,part7 中 1s 的個數(shù)分別大于 Upart5,part6,和 Upart6,part5,那么可以認為零件 part7 的位置是由 part5 和 part6 兩部分約束確定的,并且零件 part5 和零件 part6 可以通過它們之間的約束而完全約束。在圖中我們可以把零件 part5 和 part6 結(jié)合到一點,也叫復合節(jié)點。復合節(jié)點將被視為一個單獨的部分,但很明顯,復合節(jié)點意味著裝配順序。2.在關(guān)系圖中為所有節(jié)點的計算裝配方向。再次,舉個例子,軸孔裝配的起始狀態(tài),在一個分離度中以一定的距離分離零件(大于最大公差),然后檢查是否發(fā)生干擾。在 R1 的 x 軸與 y 軸的分離造成軸與孔的干擾。Z 軸正方向的分離不會造成干擾。因此,選擇 z 軸正方向作為裝配方向,就是矢量 M 在裝配坐標系統(tǒng)的測量。應該指出的是,在某些情況下,對于一個零件可能有幾個可能的裝配方向。對于裝配方向即將結(jié)束的裝配操作應該放在首位。裝配狀態(tài)時,在裝配方向上,零件之間發(fā)生接觸,可以通過幾何約束很簡單的檢查出來,最后位置通過壓力傳感器測量,而位置信息作為最終條件3.計算抓的位置。在本文中,是通過兩個獨立探針來抓取操作零件,這將在第四部分進行討論,而且抓取考慮零件的面或邊緣。在這種情況下會有幾個裝配方向,通過 G1 G2Gi 尋找抓取平面,這兒的 Gi 指當零件處于自由狀態(tài)時第 i 個裝配方向上可能的抓取面或邊。例如,在圖 4 中,對面 P1/Pl,P2/P2,和 P3/P3,都可以作為抓取平面,抓取平面為末端執(zhí)行器接近的方向作為抓取平面的法向矢量量。很明顯,并非所有平面上所有點都可以抓取。下面的方法用來確定抓面積。末端執(zhí)行,器用長方體作為模型,首先添加到 CAD 模型中,與抓取平面共面或者相切。一開始在裝配方向上抓取的邊遠離 Base_Part,在裝配方向上沿著抓取平面移動末端執(zhí)行器直到末端執(zhí)行器完全抓取零件,抓取平面與末端執(zhí)行器完全接觸,或發(fā)生碰撞。記下這條邊及移動的距離,兩者都是在零件的坐標系統(tǒng)中測量而得。34.沿著裝配方向逐步分離兩個零件,同時檢查在其他自由度的干擾,直到在其他自由度上沒有干擾發(fā)生。顯然一定的分離距離能保證在每一個自由度都不發(fā)生干擾。這就是所謂的裝配方向上的安全長度。這個長度是用于無碰撞路徑計算,這將在下一節(jié)討論。2. 2 裝配順序有些依據(jù)可用于尋找最佳的裝配順序,如組件的機械穩(wěn)定性,并聯(lián)執(zhí)行的準確度,固定裝置等等。但對于微裝配,在選擇裝配順序時,我們應該注意它的一個重要特征育限的工作空間。微裝配通常顯微鏡下進行控制和監(jiān)測,并且微裝配工作空間非常小。裝配順序給裝配效率帶來很大影響。例如,一個簡單的三個零件的組裝。在方案 a 中,零件 A 首先裝配到 B 上,在這種情況下,因為空間小零件 C 不能與組件 AB 裝配。為了將零件 C 與 AB 組裝,組件 AB 不得不從工作區(qū)卸載。然后,再把 C 的轉(zhuǎn)移和固定到工作區(qū)。之后,組件 AB 重新轉(zhuǎn)移到工作區(qū)。在方案 b 中,沒有卸載任何部件的必要。方案 a 顯然是效率低下并且可能帶來許多不確定性。換言之,在一個裝配順序中,組件的卸載次數(shù)越多,裝配越?jīng)]效率。在本文中,由于微裝配小型工作區(qū),部件的必耍卸載次數(shù)選擇盡可能卸載次數(shù)少的。本文提出以下辦法來尋求裝配順序。裝配關(guān)系圖是用來尋找最佳的裝配順序。采用試探的方法,減少搜索時間:1.檢查與兩個以上節(jié)點連接的節(jié)點.如果它連接節(jié)點的裝配方向不同,把它們標記為非活動節(jié)點,而標記相同裝配方向為活動裝配方向。2.選擇一個不是非活動節(jié)點的節(jié)點。標記當前節(jié)點為基本節(jié)點(零件)。第一個零件固定在與裝配方向相反的工作區(qū)域(這是在 CAB 模型進行 )。把基礎(chǔ)件的尺寸(例如重量或體積) 與它的連接件相比較,這些尺寸可以通過組裝材料清單(BOM)很容易得到。如果基礎(chǔ)件相對非常小,就標記為非活動節(jié)點。3.選擇一個與基本節(jié)點相連的節(jié)點作為裝配節(jié)點(零件).如果基本節(jié)點需要從工作區(qū)卸載就檢查裝配方向。如果需要,更新一個變量,比如 mount+,重新放置元件(注意,不僅有工作區(qū)中基礎(chǔ)零件;也可能有已經(jīng)組裝的其他零件 ),以便裝配方向保持向上4.在 CAD 模型,在可能的裝配方向上,將裝配件移動到基礎(chǔ)件上,同時檢查是否有干擾( 碰撞)發(fā)生。如果發(fā)生干擾,標記這個基本節(jié)點為非活動節(jié)點,接著進入第 2步,根據(jù)零件的幾何特征選擇操作方式。在這一步中,也計算一個。bstacle Box.這個盒子,模擬長一個長方體,包括了工作區(qū)中的所有部件。它是用來計算移動裝配件時的無碰撞路徑,這將在下一節(jié)介紹。這個 Obstacle Box 用一個位置矢量和它的寬度,高度和長度來描述。5.記錄裝配順序,包括操作類型,裝配方向,抓取定位6.如果搜尋所有節(jié)點之后,沒有發(fā)現(xiàn)非活動節(jié)點,就標記第一基本節(jié)點為非活動4節(jié)點,轉(zhuǎn)到步驟 2。如果還沒有,選擇與裝配節(jié)點連接的節(jié)點。標記為一個裝配節(jié)點,把這個裝配節(jié)點作為一個基本節(jié)點。檢查這個裝配節(jié)點是否有一個裝配方向與之前的裝配方向之相同。如果有,在下面的步驟中使用之前的裝配方向,然后轉(zhuǎn)到步驟 3。整個圖形搜索完成后,我們可能有幾個裝配順序。比較 mount 值,選擇一個效率更高的方案。如果一個順序都沒反饋,用戶可能不得不人為選擇一個。如果在圖 2 所示的關(guān)系圖中有 N 個節(jié)點。所有這些都不是非活動節(jié)點,每個節(jié)點可能有 M 個裝配方向,則需耍 MN 次計算找出所有裝配順序。但是,因為通常情況下,一個零件只有一個裝配方向和一些飛活動節(jié)點,計算應少于 MN 次。應該指出的是,在上述計算,涉及幾個坐標系統(tǒng),如裝配順序坐標,基礎(chǔ)零件坐標和裝配坐標。坐標之間由一個 4 4 變換矩陣來表示,這些都是在當我們創(chuàng)建關(guān)系圖時在裝配 CAD 模型的基礎(chǔ)上計算得來。在數(shù)據(jù)庫中矩陣與所有相關(guān)零部件存儲在一起。他們還被用在程序分解。3 程序分解和執(zhí)行3.1 原始程序的定義原始程序使裝配計劃和機器人控制之間得以鏈接。己經(jīng)有一些對于原始程序的定義這些定義之間的根本區(qū)別是技能的復雜性以及它可以實現(xiàn)實現(xiàn)的功能。從裝配計劃的角度看,一個程序可以實現(xiàn)更多的功能顯然更好。然而,對于能實現(xiàn)許多功能的程序的控制可能就會變得復雜。在論文中,用來操作的部分是兩個不同的探針,而不是一個探頭或平行顎爪。即使是抓取操作,控制過程也是不容易的。此外,像移動一個零件可能不僅涉及機械手,還有工作臺。因此,為了簡化控制過程,在論文中定義的程序不包括許多功能。更重要的是,技能應該很容易地應用到各種組裝任務,即一套程序應該一般表達具體的任務。在程序之中不應有重疊。在論文中,對機器人控制技術(shù)的原始程序定義為:Si=Attributes-i,Action-i (Attributes-i),Start-i (Attributes-i),End-i(Attributes-i), Condition-i (Attributes-i)Attributes_ i 要被執(zhí)行的信息。它們可分為必需屬性和選項屬性,或感官屬性和CAD 的模型驅(qū)動的屬性。所代表的屬性通過不同層使用的全局變量表現(xiàn)出來Action_i 機器人的動作,這是基本 sensormotion。在許多行動,如工作臺移動,探針移動,工作臺旋轉(zhuǎn),探針旋轉(zhuǎn),觸摸,插入,攻絲,抓取,對于一個程序,只有一個動作。由于空間有限,行動的細節(jié)將不在論文中討論。Star 七_i Action i 的初始狀態(tài),這是由傳感器測量。End i Action i 的最終狀態(tài),這是由傳感器值計算。Condition i 在何種 Action i 執(zhí)行的條件。從上面的定義我們可能會發(fā)現(xiàn),論文中的程序是在機器人開始狀態(tài)和結(jié)束狀態(tài)的動作,并且它們是在特定條件下執(zhí)行。論文中的裝配計劃生成機器人動作序列,并分5配給這些行動的屬性值。3. 2 程序分解一些方法已經(jīng)被提出用于程序分解。本文提出了一種新的方法來指導程序分解。如上所述,在本文中,一個任務是將 Assembly_Part 與 Base_Part 組裝。我們定義從自由的狀態(tài)的 Assembly_Part 到它與 Base_Part 裝配作為 Assembly_Part 的裝配周期。在裝配周期中,Assembly_Part 可能在不同的裝配狀態(tài)。圖 6 軸顯示為塊插入任務相關(guān)的工作流程。一個工作流程包含一組程序使 Assembly_Par 七從一個狀態(tài)到另一個狀態(tài)。一個工作流程是與一個特定的程序生成器相關(guān)聯(lián),程序生成器是有生成的程序控制。對于不同的裝配任務,可能使用相同的工作流程,但由于不同的任務產(chǎn)生的特殊程序可能會有所不同。該系統(tǒng)提供默認任務模板,其中定義了默認狀態(tài)。在與相應的 Assembly_Part 建立關(guān)系后,這些模板被導入到系統(tǒng)中并實例化。在某些情況下,默認的模板中定義的一些狀態(tài)可能沒有用。例如,如果軸己被放置在工作區(qū),被夾具確定準確位置,那么FREE 和 In_WS 狀態(tài)可以從軸的裝配周期中刪除。該系統(tǒng)為用戶提供了工具來修改這些模板或生成自己的模板。該工具的用戶界面將顯示在圖 7。對于一個工作流程,開始狀態(tài)由感覺值來確定,而目標狀態(tài)在 CAD 模型和感官的基礎(chǔ)上計算得來。根據(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ù)庫中。當任務模板導入,這些值讀入內(nèi)存坐標,進入工作區(qū)的坐標轉(zhuǎn)換。在程序分解中有一個重耍的和必耍的步驟生成一個無碰撞軌跡。在這里,我們使用了直線,簡單并且易于計算。假設(shè) P3 是 Assembly_Part 在 Adjusted 狀態(tài)的位置,P0 是在 Grasped 狀態(tài)的位置。以下方法生成路徑:1、對 Assembly_Part 和裝配方向定位的基礎(chǔ)上,選擇程序 (Rotate_ Table 或Rotate_Probes),調(diào)整零件方向和賦值這些程序?qū)傩浴?、在 Obstacle Box 基礎(chǔ)上,裝配方向,Assembly_Part 的實際位置/ 方向,中間位置P1 和 P2 都需要來被計算。3、對于每段的路徑,驗證是否 Move_Table 程序( 對于一個大范圍) 或 Move_Probe 程序(一個小范圍) 應被使用。4、每個段生成的程序清單和對這些程序進行標記。3.3 程序運行6在一組程序生成之后,這組程序使零件到達特定的狀態(tài),這些程序被轉(zhuǎn)移到技能管理模型。該系統(tǒng)使一個或多個程序進入“正在運行的”程序列表,同時派遣它們到微操作機械手。一旦該程序被機器人運行完成,系統(tǒng)就會將他們從“正在運行的任務”清單中刪除,并將其放在“已完成的任務”列表中。在所有的這些程序都被運行后,零件的狀態(tài)被更新完成。對于一些狀態(tài),程序的運行和程序的產(chǎn)生可同時進行。例如,對于圖 6 中的 Insertion 循環(huán),如果零件的位置信息已知,移動工作流程程序生成可以和程序的生成同時進行。裝配過程對用戶開放。通過目標程序管理表結(jié)構(gòu),用戶可以很容易監(jiān)督和控制裝配過程。例如,用戶可以暫停正在運行的程序,調(diào)整程序或修改錯誤,直接輸入命令或?qū)C器人調(diào)整到手動狀態(tài)。4 實驗4.1 實驗平臺本文使用的實驗平臺對于微裝配操作,需要權(quán)衡精度和工作空間。為了獲得較大的工作空間并且有較高的精度,通常使用兩個階段的控制。這些系統(tǒng)通常是兩類不同的執(zhí)行機構(gòu);略顯不好的是是擁有較大的工作空間,但精度較低,更好的是有小的工作空間,但精度很高。在系統(tǒng)中,一個平面運動單元提供大范圍精度不高的移動操作,以 2 微米的精度在 X 和 Y 方向移動,這是由 NSK 公司生產(chǎn)的線性工作臺控制。這個工作臺也可以提供 Z 軸旋轉(zhuǎn),它是由一個最大分辨率為 0.1/步的步進電機驅(qū)動。在這個機械手中,兩個獨立的探測器,用來操縱微型部件,而不是單一探頭或平行領(lǐng)爪。這兩個探頭固定在兩個最大分辨率為 0.05/步的步進電機上.然后兩臺電機分別固定在平行運動機構(gòu)。這是一個平行六面體的運動鏈和一個平行四邊形的運動鏈的串行聯(lián)接。當 1, 2, 3 足夠小時,最終效應運動可以視為直線運動。勵磁器用來驅(qū)動并聯(lián)機構(gòu),它包括一個空芯線圈和一個永磁體。永磁鐵連接到并行鏈節(jié),線圈固定在底座上。磁懸浮本質(zhì)上是不穩(wěn)定的,因為它是非接觸性運行,很容易受到外部干擾。為了盡量減少來自外部干擾的影響,一個基于觀測干擾的方法來用來控制我們的顯微操作。激光位移傳感器直接用來測量探頭的位置。反射器連接到末端執(zhí)行器。由 BL AUTOTEC 公司生產(chǎn)的納米力傳感器用來測量的力的大小。該微操作機械手的位置分辨率為 1 微米,最高解析度為 0. 8gf,而最大扭矩為 0. 5gfcm。一對機械手機構(gòu)更詳細的解釋中可以在圖16 中找到。所有裝配作業(yè)在由奧林巴斯公司生產(chǎn)的顯微鏡SZCTV B061 下進行。由夏普 GPB 一 KPCI 圖像采集卡采集的圖像信息,它的工作頻率為 25 MHz。4.2 實驗機械手組裝一個有三個組件的裝配件。這是一個在作者實驗室研制的微型機器人的輪子。下面的幾何約束在 CAD 模型中定義:CL_cup 和 CL_axis 共線,CL_gear 和7CL_axis 共線,Plane_cup 和 Plane_gear_1 共面,Plane_gear_1 和 Plane_axis 共面根據(jù)上述幾何約束,三部分構(gòu)成一個循環(huán)關(guān)系圖。隨著商業(yè)軟件 Solidworks2005,創(chuàng)建了 CAD 模型,它的 API 函數(shù)用于開發(fā)裝配計劃模型 Oracle 9.2 用來建立裝配信息數(shù)據(jù)庫。與程序開發(fā)相關(guān)的模型用 Visual Basic 6.0。程序生成模型在 HP 工作站運行在 Windows 2000 上,2. 0G 赫茲的 CPU 和 1. 0 GB 內(nèi)存。假設(shè)零件的位置可用,可事先花了大約 7 分鐘生成的程序順序。生成的裝配順序是將齒輪裝配到軸上,然后將軸套組裝到軸和齒輪上。在裝配操作中,零件被放置在專用夾具中,然后移動到工作區(qū)域,它們的初始位置和方向可以確定。因此,在實驗中,所有的不同零件的程序序列都可以產(chǎn)生,然后轉(zhuǎn)移到程序管理單元。該程序通過 TCP/IP 通信傳輸?shù)轿⒉僮鳈C械手。因為微操作機械手控制器是基于 DOS 運行,WTTCP 工具套件適應 TCP/IP 通信協(xié)議。因為,目前,該裝置自動化控制還沒有實現(xiàn),零件必須手動固定到工作臺。不同的任務( 不同零件的裝配周期)之間的協(xié)調(diào)需要進行手動操作。圖 12 顯示了裝配過程中的一些截圖。a 圖中,軸固定在工作區(qū), b 圖中,齒輪固定在工作區(qū),從 c 到 e,探測器抓取齒輪,移動,并裝配到軸上,f 圖中,軸套固定在工作區(qū),從 g 到 i,軸套與齒輪和軸裝配。可以發(fā)現(xiàn),該系統(tǒng)可以成功進行裝配任務。5 結(jié)論本文介紹了一種以程序為基礎(chǔ)的操縱系統(tǒng)。在計算機輔助設(shè)計(CAD)模型的基礎(chǔ)上生成程序序列。通過尋找裝配關(guān)系,構(gòu)建一幅裝配圖。在幾何約束的基礎(chǔ)上本文提出的方法來得出裝配方向和抓取位置,幾何約束定義了不同零件之間的關(guān)系。因為微操作機器人工作空間非常小,裝配順序會帶來太大的影響?,F(xiàn)在,在工作區(qū)安裝件所需的次數(shù)為標準來選擇最佳的裝配順序。本文介紹方法來指導程序分解。裝配過程被分為不同的階段。在一個階段,零件處于裝配狀態(tài)。一個特定的工作流程使它到達最終的目標狀態(tài),這是裝配周期中的理想狀態(tài)并且是在 CAD 模型的信息和感覺信息的基礎(chǔ)上計算得來。一個特殊的程序生成器,與工作流程相連,產(chǎn)生程序使零件到達它的最終狀態(tài).程序序列生成以后,系統(tǒng)分派他們到機械手的控制器來驅(qū)動機械手。用實驗來驗證所提出的方法,組裝了三個部件。實驗結(jié)果證明了該系統(tǒng)的可行性。該系統(tǒng)已經(jīng)可以進行自動裝配操作。但是,仍然有許多問題需要解決,以實現(xiàn)全自動化裝配例如,目前,零部件的位保證是通過專用夾具來實現(xiàn)?,F(xiàn)在,基于 CAD 下的圖像處理模型正在發(fā)展中。預計,隨著圖像的處理模型的發(fā)展,系統(tǒng)可以處理處于隨機位置和方向的零件。8A mechanical arm control and assembly program combining precision mechanicalAbstractThis 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 assembly1 IntroductionOwing 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 9information 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 10decomposed into skill sequences. The generated skills are managed and executed at the robot control layer.2 Task planningSkills 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 robots 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 assemblys 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 directionIn 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.11For 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. R1R2=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=Ri1R i2R in;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 andy 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 G1G2.Gi, where Gi is possible grasping plane/edge set for the 12ith 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 areGmating_dir1G mating_dir2G mating_dir3=P1/P 1,P2/P 2,P3/P 3P1/P 1, P3/P 3
收藏