999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于SolidWorks的虛擬裝配路徑規劃研究

2022-03-07 06:12:37張鵬仲梁維張澤南
軟件工程 2022年3期

張鵬 仲梁維 張澤南

摘? 要:在機械產品制造過程中,裝配工作占有重要的地位,其成本可以占到制造成本的30%—50%。裝配工作對產品的最終質量也有很大影響。虛擬裝配可以提前模擬裝配過程,對保障裝配質量和最終產品質量有著重要的意義,機械手臂的應用也使得裝配工作更可控。本文基于SolidWorks三維模型設計軟件,利用SolidWorks提供的API接口,通過.NET編程語言控制機械手臂,對產品零件進行裝配模擬、碰撞干涉檢查和機械手臂運動空間路徑規劃,最終生成機械手臂裝配最優路徑,大大減少了人工對機械手臂運動的調試工作,提高了產品的最終質量,對加速制造業發展具有重要意義。

關鍵詞:虛擬裝配;六自由度機械手臂;包圍盒;蟻群算法

中圖分類號:TP319? ? ?文獻標識碼:A

Research of Virtual Assembly Path Planning based on SolidWorks

ZHANG Peng, ZHONG Liangwei, ZHANG Zenan

(School of Mechanical Engineering, University of Shanghai for Science and Technology, Shanghai 200093, China)

hefengzxp@163.com; zlvcad@126.com; 1727358290@qq.com

Abstract: In the manufacturing process of mechanical products, assembly work plays an important role, and its cost can account for 30% to 50% of the manufacturing cost. Assembly work also has a great impact on the final quality of products, as it can simulate assembly process in advance, which is of great significance to ensure assembly quality and final product quality. The application of manipulator also makes the assembly work more controllable. Based on SolidWorks 3D model design software and its API interface, this paper proposes to use .NET programming language to control the manipulator, and conduct assembly simulation of product parts, collision interference inspection and manipulator movement space path planning. Finally, the optimal path for the manipulator assembly is generated. It greatly reduces the manual adjustment of the movement of the manipulator, improves the final quality of the product, and is of great significance for accelerating the development of the manufacturing industry.

Keywords: virtual assembly; six-degree-of-freedom (six-DOF) manipulator; bounding box; ant colony algorithm

1? ?引言(Introduction)

在機械制造等領域,裝配是產品生產過程中必不可少的一步,裝配工藝的把控也直接影響著產品的質量以及產品的檢修工作[1]。隨著計算機輔助設計的發展,虛擬裝配技術被廣泛應用到生產領域。虛擬裝配可以在實際生產之前模擬工人對零件的操作,在虛擬的環境中通過和計算機交互的方式對零件進行安裝檢測,可以極大地減少人力資源成本及實際裝配過程中的錯誤率和故障率,有效提高實際裝配效率[2]。隨著我國制造業的崛起,將手工裝配與機器人相結合的裝配車間非常普遍并且已經成為制造業的發展趨勢[3]。在航空航天制造領域,生產周期往往會因為復雜的裝配工作而延期[4]。通過虛擬裝配技術與機器人相結合的方法,可以在產品裝配之前進行裝配路線模擬、干涉檢測等工作,尋找到最優的裝配路徑。目前,SolidWorks的運動仿真及虛擬裝配功能已經非常完善,運用二次開發技術,可以實現特定功能的產品開發,使SolidWorks滿足特定功能的需求。

2? ?系統設計(System design)

2.1? ?開發工具

虛擬路徑規劃主要有兩個部分,第一是虛擬三維環境,第二是機器手模型和裝配零部件模型。SolidWorks是一款優秀的三維建模軟件,能夠提供開發所需要的三維環境,且具有界面簡潔、易于上手、使用方便的特點,同時提供大量的二次開發接口API函數,支持多種編程語言接口,其中包括C#、VB.net、C++等語言,擴展性較好[5],并且還支持外部EXE程序開發和插件式DLL開發。為了更好地實現與SolidWorks的交互,提高程序運行效率,本系統在采用DLL插件模式開發的基礎上,通過WinForm應用程序窗口實現交互功能。

對于編程語言的選擇,C#語言是一門面向對象的高級語言,其對于Windows編程天生具有其他語言無法替代的優越性,是完全契合.Net Framework框架的一門語言。本系統采用C#編程語言,可以大大提高開發效率和提升程序的性能。

2.2? ?系統輸入與輸出

在整個路徑規劃系統設計之前,需要對系統初始部分進行分析。系統提供的初始部分有:(1)產品模塊零部件實體幾何參考模型;(2)產品裝配工藝文件;(3)六自由度機械手臂實物。

針對系統輸入對象,需要進行一定的處理。第一步:將產品零部件模型按照1∶1比例在SolidWorks中測繪建模。第二步:按照產品安裝工藝文件將零部件模型裝配成產品各模塊。第三步:將六自由度機械手臂按照1∶1比例建立模型并裝配成裝配體。

經過此系統的計算分析,最終需要得到的數據為產品模塊在機械手臂抓舉下進行裝配時的路徑信息,該路徑信息包括路徑的關鍵節點位置和路徑中產品模塊的幾何姿態信息。其總體分析和對象處理流程如圖1所示。

2.3? ?系統功能

路徑規劃的本質就是在三維空間中尋找一條將運動件從起點搬運到終點且中間無干涉碰撞的一條路徑。系統功能設計包括圖1的系統層和輸出層兩個層面的功能,這里將系統功能主要分為以下四個功能模塊來實現。

第一,六自由度機械手臂控制功能模塊。此功能模塊是通過算法驅動六自由度機械手臂在SolidWorks環境下運動,達到模擬實際機械手臂在實際生產中運動的目的。機械手臂的運動是整個系統功能實現的前提,六自由度機械手臂控制功能的實現為后續路徑規劃等功能的實現提供了基礎。

第二,零件運動控制功能模塊。此功能模塊主要功能是通過程序控制零件模塊在SolidWorks三維空間環境中進行任意方向的移動和繞任意軸轉動。

第三,路徑規劃算法實現功能模塊。該模塊主要利用基于蟻群算法思想的貪心算法加動態規劃來進行功能實現,并基于隨機游走的快速隨機擴展算法加弗洛伊德算法尋求圖節點中的最短路徑。該模塊也包含裝配過程中的干涉碰撞檢測算法。

第四,路徑規劃結果展示模塊和數據導出模塊。結果展示包括規劃的三維空間路徑曲線自動顯示,數據導出主要將三維路徑參數導出到數據庫中。

整體功能框架如圖2所示。

3? ?六自由度機械手臂控制算法(Control algorithm of six-DOF manipulator)

3.1? ?六自由度機械手臂建模

如圖3所示的是NACHI六自由度機器手臂的實物以及按照1∶1建模的SolidWorks三維模型。按照實際尺寸將機器手臂各關節零部件建立模型,之后再進行裝配。

3.2? ?六自由度機械手臂逆解

求解逆解就是在已知目標點的位置坐標和姿態時求解機械手臂六個關節的角度,以使得機械手臂末端能準確到達指定目標點。

為了更好地描述機械手臂,我們先對機械手臂的各關節規定運動正負方向,如圖4所示。

將機械手臂基座坐標系定為世界坐標系,則執行件末端可以用表1的各項參數表示其相對于世界坐標系的位置。

通過觀察六自由度機械手臂的模型結構,可在機械手臂各關節分別建立關節坐標系。其建立方法是以關節旋轉中心為Z軸,作相鄰的兩個關節Z軸的公垂線,該公垂線的方向為坐標系的X軸,再以右手定則確定Y軸;當相鄰兩個Z軸相交時,沿著第一個Z軸與下一個Z軸相交的延長線為Y軸,再以右手定則確定X軸。坐標系如圖5所示,圖中坐標系分別表示各軸的正方向。

有了坐標系之后,就可以建立六自由度機械手臂D-H參數表,其變換規則如下:

(1)平移以世界坐標系為參考取正方向;旋轉依據右手定則判斷正方向:大拇指指向旋轉軸正方向,四指旋轉方向為旋轉的正方向。

(2)繞軸,旋轉,使得與平行(方向一致)。

(3)沿著軸,平移,使得與共線。

(4)沿著軸,平移,使得與原點重合。

(5)繞軸,旋轉,使得與共線。

根據上述變換,可得到機械手臂D-H表,如表2所示。

正解的求法是已知各關節的旋轉角度矩陣,即(1,2,3,4,5,6),求解末端位姿矩陣(X,Y,Z,A,B,C),通過各關節坐標系矩陣變換可以很容易地得到結果。反向求解和正解正好相反,它是將正解的結果作為已知條件,將正解的條件作為未知數進行計算求解。正解的解一定是唯一的,因為機械手臂的關節一旦都已知了,末端的姿態就固定不變了,但是逆解的計算就不一樣了,最終解的結果也不一定唯一,甚至出現多解的情況,一般情況下可以得到八組解[6]。

3.3? ?六自由度機械手臂運動控制

機械手臂姿態是由六個旋轉關節的角度所決定的,所以本質上控制機械手臂的運動實際上就是實現六個關節旋轉角度的驅動。在三維模型中通過建模,添加角度配合,已經在模型中添加了六個角度的變量信息,如圖6所示,其角度尺寸對應的參數如表3所示。

SolidWorks提供了角度變換的API,通過驅動角度變換可實現對各關節旋轉角度的驅動。其具體API函數為:

//swDis表示IDisplayDimension對象

swDis=(IDisplayDimension)swMate.DisplayDimension;

swDim=swDis.GetDimension();//swDim表示IDimension對象

swDim.SystemValue=ang*Math.PI/180;//ang表示要驅動的角度值

swModel.ClearSelection2(true);

通過API驅動再結合逆解角度的思想,就可以控制機械手臂的運動了。為了達到連續運動的目的,程序中需要用到多線程來同時計算和驅動。

4? 零件運動控制算法的實現(Parts motion control algorithm implementation)

在SolidWorks三維軟件環境中,零件的位姿矩陣如公式(1)所示[7]。各項參數的大小決定了當前零件的顯示狀態和位置。同時,SolidWorks也給用戶提供了豐富的API接口,用戶可通過程序調用函數的方式修改位姿矩陣的各項參數來對零件進行操作。

對于移動,只需要改變零件位姿矩陣中的j、k、l三個參數,就可以實現沿著任意方向的移動。對于旋轉操作則是更改a—i這前九個元素組成的3×3子矩陣。為了方便矩陣的計算,SolidWorks提供了詳細的矩陣計算的API。結合API函數對位姿矩陣的各項參數進行賦值,就可以實現零件在裝配體世界坐標下的移動旋轉等操作。整體操作邏輯如圖7所示。

按照上述對零件位姿矩陣的操作可以實現零件的位姿狀態變換,但是無法看到實際用鼠標拖曳的中間過程動畫。為了實現動畫效果,需要對整個矩陣運算過程進行若干等分,將參數運算分成若干個步驟,每一步驟刷新一次顯示,就可以實現動畫過程。如果是移動變換,以每次移動1 mm的間隔進行移動,假設移動方向,以毫米為單位進行單位化,記長度,則可得到單位毫米移動矩陣,如公式(2)所示。

結合鼠標的拖動事件進行循環拖動,每次拖動后讓程序休眠一定的時間,如20 ms,這樣就可以看到整個變換過程是連續的。旋轉變換實現連續動畫的方法和移動變換的方法基本一致。

5? ?路徑規劃(Path planning)

5.1? ?碰撞干涉檢測算法

路徑規劃算法中的碰撞干涉檢測至關重要,它在一定程度上決定了整個路徑規劃的結果。

動態路徑規劃的具體方法是在零件運動控制算法中加入靜態干涉算法,即零件在每個單位化的運動之后進行靜態干涉檢測,就可以實現動態檢測。其動態干涉檢測流程圖如圖8所示。

下面介紹靜態干涉檢測原理。目前,有很多學者在研究靜態干涉檢測方法,運用比較廣泛的是空間包圍盒(BoxTree)的思想,但是針對幾何形狀復雜的零部件,如具有較多孔洞特征的零部件,普通的包圍盒方法會產生很大的誤差。對此本文提出了一種基于有限分割思想的方法,先將零件按照一定單位空間的正方體大小分割成許多單元,然后再按照包圍盒空間檢測的方法在零件之間進行干涉檢測。空間長方體包圍盒存在干涉的條件是:兩個長方體中心點之間的距離在X、Y、Z方向上的投影長度小于X、Y、Z相應方向上兩個長方體對應邊長之和的一半,就表示存在干涉。

為了簡化單元劃分,在三維場景中利用AABB包圍盒的特點對幾何零件進行三維單元劃分,如圖9所示為在SolidWorks中對零部件進行劃分的結果。

其具體的劃分方法為:以整個零部件外包圍盒的三個表面(左、前、上)作為基準分別建立X、Y、Z朝向的三個參考平面,參考平面選擇陣列屬性,沿著包圍盒方向陣列,設置切分單元大小,陣列只達到另一端為止。而后點擊“插入”,在特征選項中選擇切割特征,選擇切割平面進行切割,當沿著三個方向切割后形成如圖9所示的情況,整個零部件被切割成一個個較小的單元。在左側特征樹中可以看到“實體”這個文件夾,里面包含切割的實體,通過特征樹遍歷可以讀取每個分割后的實體包圍盒信息。至此可以完成對零部件有限分割后求取獨立的包圍盒信息,更加精確地反映零部件在空間的占用信息。實體切割流程圖如圖10所示。

在進行干涉檢測前,先采用最大包圍盒空間AABB方法進行檢測[8],排除大量不可能干涉的零部件之間的檢測。如果這一步檢測結果沒有發生干涉,那么就說明這兩個幾何體之間無干涉;如果第一步檢測結果發生干涉,則進行有限分割的包圍盒按照同樣的方法進行檢測。

5.2? ?路徑規劃算法

蟻群算法是仿生算法,由大自然的一些規律衍生而來。該算法是由意大利學者DORIGO等人在20 世紀90 年代初期通過模擬螞蟻尋找路徑的行為而提出的一種啟發式隨機搜索算法[9]。由于三維空間的復雜特性,常規的蟻群算法在三維路徑規劃中存在許多不合理的地方。本文提出了一種基于單個螞蟻加上貪心算法[10]的簡化動態蟻群算法來實現路徑規劃。為了更好地說明此算法,下面先定義一些關鍵變量,如表4所示。

具體步驟如下:

第一步:計算規劃空間,得到整個規劃空間的可行域的邊界范圍B。

第二步:由起點位姿矩陣s和終點位姿矩陣e計算移動距離D。

判斷中的最大值,確定路徑劃分平面。如:j方向值最大,則采用平行于yoz平面的平面切分路徑。

第三步:按照step將起點到終點進行直線位置劃分,劃分成step-1個點,即劃分成step段。假設劃分的節點依次記為,按照在第一步中得出的劃分平面,以每個節點為中心點,按照網格單元大小dis進行網格劃分,得到一系列網格劃分節點。然后對這些網格點按照如下貪心算法的規則進行排序處理:

(1)計算每個網格點到上一步規劃點的距離和到終點的距離,并求和;

(2)按照上述步驟中計算的距離進行從小到大排序。

第四步:結合干涉碰撞檢測算法規劃路徑。

6? ?結果展示(Results presentation)

圖11為整個系統最終結果圖。圖中有兩個六自由度機械手臂、一塊長方體放物臺、兩塊板狀零件和五顆螺釘。首先機械手臂分別將兩塊板狀零件放置在空間指定位置,然后再將螺釘分別放置在指定位置并生成螺釘的運動路徑。右側為生成路徑的關鍵點坐標結果。

7? 結論(Conclusion)

本文針對產品生產過程中的裝配環節,結合SolidWorks三維軟件和二次開發技術,通過程序實現產品裝配環節的模擬和路徑尋優,提高了產品生產過程中裝配環節的效率。本文提出的有限分割的方法能夠有效地降低干涉檢測的錯誤率,結合單個螞蟻動態貪心算法,可規劃出較合理的裝配路徑,為實際裝配過程提供了很好的依據。

參考文獻(References)

[1] 唐殿容.機械裝配工藝的關鍵技術探究[J].科技創新與應用,2020(20):91-92.

[2] 陳瑤瑤,劉永霞,符純明.虛擬裝配技術的發展現狀分析[J].機械工程與自動化,2020(06):220-222.

[3] 鄒方.人機協作標準及應用動態研究[J].航空制造技術,2016? ?(Z2):58-63,76.

[4] 王洪雨,胡溶溶,喻懋林.裝配仿真技術在衛星裝配中的應用[J].航空制造技術,2015(21):56-58.

[5] 江洪,魏征,王濤威,等.SolidWorks二次開發實例解析[M].北京:機械工業出版社,2004:1-9.

[6] 肖振楠,申燚,倪辰旖.六自由度機械手的運動軌跡規劃與仿真[J].機床與液壓,2018,46(15):58-63.

[7] 張澤南,仲梁維.基于SolidWorks的自動焊縫標注的二次開發[J].軟件工程,2020,23(05):17-20.

[8] 楊帆.基于B+樹存儲的AABB包圍盒碰撞檢測算法[J].計算機科學,2021,48(S1):331-333,348.

[9] DORIGO M, MANIEZZO V, COLORNI A. Ant system: Optimization by a colony of cooperating agents[J].IEEE Transaction on Systems, Man and Cybernetics-Part B,? ?1996, 26(1):29-41.

[10] 曾妮,陳俊豪,傅清爽.基于貪心算法的動態規劃策略[J].電腦知識與技術,2021,17(20):141-143,152.

作者簡介:

張? ?鵬(1996-),男,碩士生.研究領域:計算機輔助設計與智能制造.

仲梁維(1962-),男,碩士,教授.研究領域:計算機輔助設計與智能制造.

張澤南(1993-),男,碩士生.研究領域:計算機輔助設計與智能制造.

主站蜘蛛池模板: 中文字幕人妻av一区二区| 国产成人综合久久精品尤物| 亚洲成a人片在线观看88| 日本一本正道综合久久dvd| 亚洲中文字幕久久精品无码一区| 亚洲天堂伊人| 91麻豆国产精品91久久久| 91区国产福利在线观看午夜| 激情六月丁香婷婷四房播| 99re视频在线| 国产无码网站在线观看| 久久人搡人人玩人妻精品一| 日本久久久久久免费网络| 99久久99这里只有免费的精品| 久久久精品国产SM调教网站| 午夜福利亚洲精品| 中文无码精品A∨在线观看不卡| 欧美日韩福利| 奇米影视狠狠精品7777| 久久久久88色偷偷| 日本高清有码人妻| 亚洲天堂网2014| 久久久久国产一级毛片高清板| 国产精品微拍| 日本AⅤ精品一区二区三区日| 午夜啪啪福利| 久久久久无码精品国产免费| 国产无人区一区二区三区| 久久a毛片| 国产成人永久免费视频| 日韩东京热无码人妻| 国产一在线观看| 国产午夜无码片在线观看网站| 欧洲欧美人成免费全部视频 | 亚洲中文久久精品无玛| 国产精品人人做人人爽人人添| 久久久久九九精品影院| 欧美一区日韩一区中文字幕页| 99人妻碰碰碰久久久久禁片| 一区二区午夜| 波多野结衣无码视频在线观看| Aⅴ无码专区在线观看| 一本久道久综合久久鬼色| 日本人真淫视频一区二区三区| 婷婷色一区二区三区| 国产成年女人特黄特色大片免费| 精品福利国产| 国产成人高清精品免费5388| 欧美在线网| 亚洲青涩在线| 国内老司机精品视频在线播出| 免费又黄又爽又猛大片午夜| 在线观看热码亚洲av每日更新| 婷婷久久综合九色综合88| 色婷婷国产精品视频| 91精品国产福利| 亚洲香蕉伊综合在人在线| 99久久这里只精品麻豆| 国产精品刺激对白在线| 欧美成在线视频| 另类综合视频| 久久国产黑丝袜视频| 一本大道香蕉中文日本不卡高清二区 | 极品私人尤物在线精品首页| 亚洲欧洲国产成人综合不卡| 欧美精品亚洲日韩a| 欧美色丁香| 九九免费观看全部免费视频| 国产办公室秘书无码精品| 91丝袜美腿高跟国产极品老师| 2021国产精品自产拍在线| 直接黄91麻豆网站| 在线看片免费人成视久网下载| 亚洲国产精品一区二区高清无码久久| 国产欧美在线观看视频| 欧美日韩理论| 黄色成年视频| 亚洲侵犯无码网址在线观看| 国产成人福利在线| 在线观看无码a∨| 国产精品视频猛进猛出| 成人福利在线看|