一種計算機輔助產品裝配序列生成方法
2023-05-28 22:11:26 1
專利名稱:一種計算機輔助產品裝配序列生成方法
技術領域:
本發明屬於計算機輔助製造技術領域,尤其涉及一種計算機輔助產品裝配序列的生成方法。
背景技術:
裝配是產品製造過程中的重要環節,裝配的效率和質量對產品的製造成本
和最終質量有著極大的影響。產品裝配序列的自動生成(ASP)是計算機輔助裝配規劃(CAAP)的重要任務之一。由於ASP問題屬NP難問題,近年來國內外對此技術的研究十分活躍。
智能規劃(AI Planning)是人工智慧研究的重要而活躍的分支,旨在以智能化的方法自動或半自動地生成滿足要求的動作序列(稱為一個計劃或規劃)。智能規劃在交通與物流、智能製造、太空飛行器運行、機器人運動、建築工程、工業生產調度等眾多領域具有廣泛的應用前景(參考文獻宋涇舸,査建中,陸一平.智能規劃研究綜述一一個面向應用的視角.智能系統學報,2007, 2 (2))。層次任務網(Hierarchical Task Network,簡稱HTN)規劃是智能規劃的一種基本規劃框架,是面向工程實際提出的技術。HTN規劃通過對目標任務的層次分解形成由底層操作構成的規劃,適用於大規模、層次任務環境中的工作計劃與流程的計算機輔助制定。
任務的層次結構和分解策略的設計是HTN規劃方法的關鍵。然而,由於ASP
問題中系統的初始狀態通常是一些未組裝成的零散部件,缺少層次結構,而目前智能規劃領域的主流建模語言PDDL又缺少層次描述能力,HTN規劃在ASP問題中應用較少。
發明內容
為了發揮HTN規劃方法的優勢,針對以上不足,本發明以產品層次描述為 基礎,提出了一種裝配序列生成的方法,為解決大規模、複雜產品裝配序列生 成問題提供了一種新的技術途徑。
本發明採取的技術方案是
一種計算機輔助產品裝配序列的生成方法,包括-
(1) 基於層次任務網規劃方法,構建產品裝配知識庫結構;
(2) 虛擬裝配體綁定過程,即以虛擬裝配體的層次結構和零部件的連接結構 為指導,將實際零部件綁定到虛擬裝配體的相應虛擬零部件上;
(3) 生成基於虛擬裝配體綁定的產品裝配序列。
其中,基於層次任務網規劃方法構建而成的知識庫結構,包括:零部件集合、
裝配體層次結構、任務層次及任務分解策略四個知識模塊。
所述基於虛擬裝配體綁定的產品裝配序列生成方法,是將產品層次結構視 為一個虛擬裝配體,裝配序列的生成過程就是將實際零部件綁定到虛擬裝配體 的相應虛擬零部件上的過程。零件的綁定是以虛擬裝配體的層次結構和零部件
的連接結構為指導的。任務層次的制定是以裝配體的層次結構為依據的;任務 分解策略是沿裝配體層次結構自頂向下不斷細化,並自下向上逐層綁定的過程。
所述任務層次的知識模塊,是裝配任務類型根據裝配體的結構層次從上至 下分四類,依次是頂層任務、子任務、底層任務、裝配操作。裝配操作的形式 按所述基於虛擬裝配體綁定的產品裝配序列生成方法設計。
本發明取得的有益效果是能夠使產品裝配序列規劃的知識庫構建變得結 構清晰、易理解,任務的層次設計和分解策略制定更有條理和針對性,由此提高產品裝配序列生成的靈活性和效率,推動ASP技術在智能製造領域中的應用。
圖l是裝配序列生成方法流程圖; 圖2是產品裝配知識庫結構示意圖; 圖3 (a)、 (b)、 (c)是虛擬裝配體綁定過程示意圖; 圖4是電動自行車層次結構圖。
具體實施例方式
下面結合實施例和附圖對本發明做進一步描述
圖1是本發明提出的一種計算機輔助產品裝配序列生成方法的流程圖,包
括
步驟l,基於層次任務網規劃方法,構建產品裝配知識庫結構; 步驟2,虛擬裝配體綁定過程,以虛擬裝配體的層次結構和零部件的連接結 構為指導,將實際零部件綁定到虛擬裝配體的相應虛擬零部件上; 步驟3,生成基於虛擬裝配體綁定的產品裝配序列。
圖2是產品裝配知識庫的結構示意圖,在圖2中,產品裝配知識庫的結構 由零部件集合、裝配體層次結構、任務層次、任務分解策略四部分構成。零部 件集合包括按部件類型分類的零部件的集合;裝配體層次結構根據裝配體的結 構特徵形成層次化的子裝配體,最底層是零件,這一裝配體層次結構在裝配序 列生成的過程初始階段實例化為一個或多個虛擬裝配體,供裝配不同數量的產 品使用。因此虛擬裝配體的知識模塊包含裝配體層次結構中已預定的產品層次 結構和部件裝配結構的知識描述,其中所有部件都是由虛擬的零部件構成的, 虛擬的零部件有形狀,有類型,佔有一定空間,具有與裝配體結構對應的唯一 名稱,不能重複,虛擬部件是不可裝配和拆卸的;任務層次根據裝配體層次結構中的子裝配體層次設計,最底層是裝配操作;任務分解策略根據任務細化的 層次逐層設計。
任務層次從上至下分四類,依次是
(1) 頂層任務就是裝配目標產品,其形式可表示為
其中pw(i是產品名禾爾,owewWe—ajww/w"是頂層^f壬務名。
(2) 子任務就是裝配某個零部件或子裝配體。這裡有兩種情況, 一種是 子裝配體本身的組裝,其任務形式可表示為
其中咖emWe是裝配任務名,so是虛擬裝配體或虛擬子裝配體名。如組裝一 個車前輪。
另一種是將一個零部件或子裝配體安裝到一個裝配體的某個部位,其任務形 式可表示為
其中fl^ew6/e—compowe"f是任務名,vo是要安裝的虛擬部件或虛擬子裝配 體。由於裝配體結構已確定,安裝位置由虛擬裝配體中的部件連接關係確定, 故任務形式中不顯示描述裝配位置。如'安裝中軸'就是將中軸安裝到車架的 指定位置。
(3) 底層任務是直接針對裝配操作的任務,其形式與裝配操作形式相近, 表示為
其中wse附We—flWo"是任務名,o是待裝零部件,^是安裝位置,f/是裝配工 具。如用扳手將鞍座裝到車架的指定位置。(4)裝配操作就是將零部件綁定到虛擬零部件或子裝配體,其任務形式
為
: a ,a^附Wed(o,w》
(co朋e"(V(9p^), (cw we"(o,Oj), a^附6/e6 (o,wJ))
其中COM"e"是表示某種連接關係的謂詞,VO;是待裝零部件O對應的虛擬零部
件,w是要安裝的位置。狀態描述owem6/^^,vo"用來表示待裝零部件o已與虛 擬零部件vo;綁定,即已經安裝,綁定過程見後面圖3的說明。這樣可以從零部件 和裝配體兩個側面反映裝配情況,為後續推理提供信息。
在這一框架下,裝配操作可理解為一種最底層的任務,故將其放在任務層 的最底層,但裝配操作仍可在其他任務層中使用。
任務分解策略通過不同類型子任務的相互嵌套實現裝配體和零部件裝配的 逐層展開。以7^任務的分解為例,在不考慮部件裝配的順序約束的情況下,可 以採用如下深度優先的遞歸分解策略
(1) 若oe&6且O是一個子裝配體,則用7^裝配該子裝配體;遞歸執行任
務;
(2) 若。esw且o是一個零件,則用r,。裝配這個零件;遞歸執行任務7; 6;
(3) 任務分解結束。
該策略體現了 "先局部後整體"的常用裝配順序。事實上,根據不同裝配
體的特點制定相應的局部裝配順序可以有效降低問題求解的複雜度,這是HTN 規劃的特點所在。
圖3 (a)、 (b)、 (c)是裝配過程中的虛擬裝配體綁定過程示意圖。圖3 (a) 是沒有開始裝配前的描述,左邊的零部件集合是實的,右邊的虛擬裝配體是虛 的,它們彼此沒有關聯;圖3 (b)是裝配中的描述,這是有部分零部件與虛擬產品中的相應虛擬部件建立了聯繫,即形成了裝配;圖3 (c)是完全裝配完成 後的描述,這時虛擬裝配體的所有部件都已實化,裝配因此完成。虛擬部件實 化的序列l-2-3-4-5-6即為產品裝配的序列。
下面以電動自行車(簡稱電動車)裝配序列的生成為例對本發明作進一步 說明。知識庫採用MIPL語言構建,該語言支持層次系統下的HTN規劃知識的構建 (參考文獻Song Jingge, Cha J, Lu Y, A Hierarchical System Modelling Mechanism for Planning in Transportation and Logistics, Proceedings of IEEE/SILO,08, Beijing, China. 2008,)。為簡便起見,這裡忽略了如螺絲之 類的細小零部件。
圖3是電動車層次結構圖。電動車的零部件通常包括車架、前叉、前輪、後 輪、橫臥、鞍座、控制器、驅動電機等。這些部件可以按層次劃分,形成電動 車的層次結構。
電動車裝配體零部件裝配的連接關系列表如下所示
零部件連接關係MIPL表達
鬆散連接loose—in C o, Sol)
緊密的平滑連結tight_inC o, " ol)
螺紋連接screwed_at( o, ol)
在裝配線上online C o, 7)
該表列出了一些典型連接關係的MIPL語言描述形式,包括鬆散連接、緊密 的平滑連結、螺紋連接。
電動車裝配操作列表如下所示裝配操作MIPL表達
插入!plug—in( o, ol)
敲入!hamnier—inC o, 7o"
擰入! screwJ;o一with(" o, 701, * tl)
裝配體上線!put—on」ine(" o)
連接!link一with( o, ol, tl)
測試!test( o)
該表列出了所採用的一些典型裝配操作的MIPL語言描述及說明,包括插入、 擰上、敲入等。
如下是採用本發明所述方法生成的一個電動車裝配序列的實例。
1: !put_on」ine( c_frame bicycle—1) 2: !screw—to_with( c一axisl c—framel.locl scwl) 3: !screw—to_with( c_chainwheell c_axisl scwl) 4: !hammer一in( c—bracel c—axisl hammerl) 5: !hammer_in( c_brace2 c_axisl h咖merl) 6: !plug一in( c_frontforkl c_ftamel.loc3 hand)
19: !test( bicycle_l.s_bodywork)
20: !link」vith( c一motorlinel c一motorl hand)
21: !plug一in( c—controllerl s—leftdecumbencel hand)
22: !link_with( c—brakecabel s一thrilll hand)
23: !screw—to_with( c一basketl s_frontforkl scwl)
24: !screw_to_with( c一backlightl s—backfenderl scwl)
25: !test( bicycle—1)
〃車架上線
〃裝中軸
〃裝鏈輪
〃敲入左曲柄
〃敲入右曲柄
〃插入前叉
〃測試車體子裝配體
〃連接電機線
〃裝入控制器
〃裝閘線
//裝車筐
〃裝後車燈
〃整車測試
該序列是在上述知識庫描述以及虛擬裝配體綁定方法的基礎上,採用發明
人自主研製的基於順序任務分解(參考文獻Nau D, Cao Y, et al. SHOP and M-SH0P: Planning with Ordered Task Decomposition. Technical Report CSTR 4157, University of Maryland, 2000.)的HTN規劃系統生成的。該序列 的生成初始零部件條件是車架子裝配體未裝配但零件充足,而橫臥、車把、 鞍座、電池盒、前後輪等子裝配體已預裝好。根據不同的零部件狀態,該方法 可以靈活地生成相應的裝配序列。
權利要求
1.一種計算機輔助產品裝配序列生成方法,其特徵在於,該方法包括步驟1,基於層次任務網規劃方法,構建產品裝配知識庫結構;步驟2,虛擬裝配體綁定過程,以虛擬裝配體的層次結構和零部件的連接結構為指導,將實際零部件綁定到虛擬裝配體的相應虛擬零部件上;步驟3,生成基於虛擬裝配體綁定的產品裝配序列。
2. 根據權利要求1所述的一種計算機輔助產品裝配序列生成方法,其特徵在 於,步驟1所述的產品裝配知識庫結構包括零部件集合、裝配體層次結構、任 務層次及任務分解策略四個模塊。
3. 根據權利要求2所述的一種計算機輔助產品裝配序列生成方法,其特徵 在於,所述裝配體層次結構模塊包含預定的產品層次結構和部件裝配結構的知 識描述。
4. 根據權利要求2所述的一種計算機輔助產品裝配序列生成方法,其特徵 在於,所述任務層次根據裝配體的層次結構進行設計,從上至下分四類,依次 是頂層任務、子任務、底層任務、裝配操作。
全文摘要
本發明公開了一種計算機輔助產品裝配序列的生成方法,屬於計算機輔助製造技術領域,首先是基於層次任務網規劃方法,構建產品裝配知識庫結構;其次是虛擬裝配體綁定過程,即以虛擬裝配體的層次結構和零部件的連接結構為指導,將實際零部件綁定到虛擬裝配體的相應虛擬零部件上;最後生成基於虛擬裝配體綁定的產品裝配序列。其中,上述產品裝配知識庫結構包括零部件集合、裝配體層次結構、任務層次及任務分解策略四個知識模塊。本發明能夠使產品裝配序列規劃知識庫的構建變得結構清晰、易理解,任務的層次設計和分解策略制定更有條理和針對性,由此提高產品裝配序列生成的靈活性和效率,推動計算機輔助裝配序列技術在智能製造領域中的應用。
文檔編號G06F17/50GK101645102SQ200910092388
公開日2010年2月10日 申請日期2009年9月11日 優先權日2009年9月11日
發明者宋涇舸 申請人:北京交通大學