張鵬 仲梁維 張澤南
摘? 要:在機(jī)械產(chǎn)品制造過程中,裝配工作占有重要的地位,其成本可以占到制造成本的30%—50%。裝配工作對(duì)產(chǎn)品的最終質(zhì)量也有很大影響。虛擬裝配可以提前模擬裝配過程,對(duì)保障裝配質(zhì)量和最終產(chǎn)品質(zhì)量有著重要的意義,機(jī)械手臂的應(yīng)用也使得裝配工作更可控。本文基于SolidWorks三維模型設(shè)計(jì)軟件,利用SolidWorks提供的API接口,通過.NET編程語言控制機(jī)械手臂,對(duì)產(chǎn)品零件進(jìn)行裝配模擬、碰撞干涉檢查和機(jī)械手臂運(yùn)動(dòng)空間路徑規(guī)劃,最終生成機(jī)械手臂裝配最優(yōu)路徑,大大減少了人工對(duì)機(jī)械手臂運(yùn)動(dòng)的調(diào)試工作,提高了產(chǎn)品的最終質(zhì)量,對(duì)加速制造業(yè)發(fā)展具有重要意義。
關(guān)鍵詞:虛擬裝配;六自由度機(jī)械手臂;包圍盒;蟻群算法
中圖分類號(hào):TP319? ? ?文獻(xiàn)標(biāo)識(shí)碼: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)
在機(jī)械制造等領(lǐng)域,裝配是產(chǎn)品生產(chǎn)過程中必不可少的一步,裝配工藝的把控也直接影響著產(chǎn)品的質(zhì)量以及產(chǎn)品的檢修工作[1]。隨著計(jì)算機(jī)輔助設(shè)計(jì)的發(fā)展,虛擬裝配技術(shù)被廣泛應(yīng)用到生產(chǎn)領(lǐng)域。虛擬裝配可以在實(shí)際生產(chǎn)之前模擬工人對(duì)零件的操作,在虛擬的環(huán)境中通過和計(jì)算機(jī)交互的方式對(duì)零件進(jìn)行安裝檢測(cè),可以極大地減少人力資源成本及實(shí)際裝配過程中的錯(cuò)誤率和故障率,有效提高實(shí)際裝配效率[2]。隨著我國(guó)制造業(yè)的崛起,將手工裝配與機(jī)器人相結(jié)合的裝配車間非常普遍并且已經(jīng)成為制造業(yè)的發(fā)展趨勢(shì)[3]。在航空航天制造領(lǐng)域,生產(chǎn)周期往往會(huì)因?yàn)閺?fù)雜的裝配工作而延期[4]。通過虛擬裝配技術(shù)與機(jī)器人相結(jié)合的方法,可以在產(chǎn)品裝配之前進(jìn)行裝配路線模擬、干涉檢測(cè)等工作,尋找到最優(yōu)的裝配路徑。目前,SolidWorks的運(yùn)動(dòng)仿真及虛擬裝配功能已經(jīng)非常完善,運(yùn)用二次開發(fā)技術(shù),可以實(shí)現(xiàn)特定功能的產(chǎn)品開發(fā),使SolidWorks滿足特定功能的需求。
2? ?系統(tǒng)設(shè)計(jì)(System design)
2.1? ?開發(fā)工具
虛擬路徑規(guī)劃主要有兩個(gè)部分,第一是虛擬三維環(huán)境,第二是機(jī)器手模型和裝配零部件模型。SolidWorks是一款優(yōu)秀的三維建模軟件,能夠提供開發(fā)所需要的三維環(huán)境,且具有界面簡(jiǎn)潔、易于上手、使用方便的特點(diǎn),同時(shí)提供大量的二次開發(fā)接口API函數(shù),支持多種編程語言接口,其中包括C#、VB.net、C++等語言,擴(kuò)展性較好[5],并且還支持外部EXE程序開發(fā)和插件式DLL開發(fā)。為了更好地實(shí)現(xiàn)與SolidWorks的交互,提高程序運(yùn)行效率,本系統(tǒng)在采用DLL插件模式開發(fā)的基礎(chǔ)上,通過WinForm應(yīng)用程序窗口實(shí)現(xiàn)交互功能。
對(duì)于編程語言的選擇,C#語言是一門面向?qū)ο蟮母呒?jí)語言,其對(duì)于Windows編程天生具有其他語言無法替代的優(yōu)越性,是完全契合.Net Framework框架的一門語言。本系統(tǒng)采用C#編程語言,可以大大提高開發(fā)效率和提升程序的性能。
2.2? ?系統(tǒng)輸入與輸出
在整個(gè)路徑規(guī)劃系統(tǒng)設(shè)計(jì)之前,需要對(duì)系統(tǒng)初始部分進(jìn)行分析。系統(tǒng)提供的初始部分有:(1)產(chǎn)品模塊零部件實(shí)體幾何參考模型;(2)產(chǎn)品裝配工藝文件;(3)六自由度機(jī)械手臂實(shí)物。
針對(duì)系統(tǒng)輸入對(duì)象,需要進(jìn)行一定的處理。第一步:將產(chǎn)品零部件模型按照1∶1比例在SolidWorks中測(cè)繪建模。第二步:按照產(chǎn)品安裝工藝文件將零部件模型裝配成產(chǎn)品各模塊。第三步:將六自由度機(jī)械手臂按照1∶1比例建立模型并裝配成裝配體。
經(jīng)過此系統(tǒng)的計(jì)算分析,最終需要得到的數(shù)據(jù)為產(chǎn)品模塊在機(jī)械手臂抓舉下進(jìn)行裝配時(shí)的路徑信息,該路徑信息包括路徑的關(guān)鍵節(jié)點(diǎn)位置和路徑中產(chǎn)品模塊的幾何姿態(tài)信息。其總體分析和對(duì)象處理流程如圖1所示。
2.3? ?系統(tǒng)功能
路徑規(guī)劃的本質(zhì)就是在三維空間中尋找一條將運(yùn)動(dòng)件從起點(diǎn)搬運(yùn)到終點(diǎn)且中間無干涉碰撞的一條路徑。系統(tǒng)功能設(shè)計(jì)包括圖1的系統(tǒng)層和輸出層兩個(gè)層面的功能,這里將系統(tǒng)功能主要分為以下四個(gè)功能模塊來實(shí)現(xiàn)。
第一,六自由度機(jī)械手臂控制功能模塊。此功能模塊是通過算法驅(qū)動(dòng)六自由度機(jī)械手臂在SolidWorks環(huán)境下運(yùn)動(dòng),達(dá)到模擬實(shí)際機(jī)械手臂在實(shí)際生產(chǎn)中運(yùn)動(dòng)的目的。機(jī)械手臂的運(yùn)動(dòng)是整個(gè)系統(tǒng)功能實(shí)現(xiàn)的前提,六自由度機(jī)械手臂控制功能的實(shí)現(xiàn)為后續(xù)路徑規(guī)劃等功能的實(shí)現(xiàn)提供了基礎(chǔ)。
第二,零件運(yùn)動(dòng)控制功能模塊。此功能模塊主要功能是通過程序控制零件模塊在SolidWorks三維空間環(huán)境中進(jìn)行任意方向的移動(dòng)和繞任意軸轉(zhuǎn)動(dòng)。
第三,路徑規(guī)劃算法實(shí)現(xiàn)功能模塊。該模塊主要利用基于蟻群算法思想的貪心算法加動(dòng)態(tài)規(guī)劃來進(jìn)行功能實(shí)現(xiàn),并基于隨機(jī)游走的快速隨機(jī)擴(kuò)展算法加弗洛伊德算法尋求圖節(jié)點(diǎn)中的最短路徑。該模塊也包含裝配過程中的干涉碰撞檢測(cè)算法。
第四,路徑規(guī)劃結(jié)果展示模塊和數(shù)據(jù)導(dǎo)出模塊。結(jié)果展示包括規(guī)劃的三維空間路徑曲線自動(dòng)顯示,數(shù)據(jù)導(dǎo)出主要將三維路徑參數(shù)導(dǎo)出到數(shù)據(jù)庫中。
整體功能框架如圖2所示。
3? ?六自由度機(jī)械手臂控制算法(Control algorithm of six-DOF manipulator)
3.1? ?六自由度機(jī)械手臂建模
如圖3所示的是NACHI六自由度機(jī)器手臂的實(shí)物以及按照1∶1建模的SolidWorks三維模型。按照實(shí)際尺寸將機(jī)器手臂各關(guān)節(jié)零部件建立模型,之后再進(jìn)行裝配。
3.2? ?六自由度機(jī)械手臂逆解
求解逆解就是在已知目標(biāo)點(diǎn)的位置坐標(biāo)和姿態(tài)時(shí)求解機(jī)械手臂六個(gè)關(guān)節(jié)的角度,以使得機(jī)械手臂末端能準(zhǔn)確到達(dá)指定目標(biāo)點(diǎn)。
為了更好地描述機(jī)械手臂,我們先對(duì)機(jī)械手臂的各關(guān)節(jié)規(guī)定運(yùn)動(dòng)正負(fù)方向,如圖4所示。
將機(jī)械手臂基座坐標(biāo)系定為世界坐標(biāo)系,則執(zhí)行件末端可以用表1的各項(xiàng)參數(shù)表示其相對(duì)于世界坐標(biāo)系的位置。
通過觀察六自由度機(jī)械手臂的模型結(jié)構(gòu),可在機(jī)械手臂各關(guān)節(jié)分別建立關(guān)節(jié)坐標(biāo)系。其建立方法是以關(guān)節(jié)旋轉(zhuǎn)中心為Z軸,作相鄰的兩個(gè)關(guān)節(jié)Z軸的公垂線,該公垂線的方向?yàn)樽鴺?biāo)系的X軸,再以右手定則確定Y軸;當(dāng)相鄰兩個(gè)Z軸相交時(shí),沿著第一個(gè)Z軸與下一個(gè)Z軸相交的延長(zhǎng)線為Y軸,再以右手定則確定X軸。坐標(biāo)系如圖5所示,圖中坐標(biāo)系分別表示各軸的正方向。
有了坐標(biāo)系之后,就可以建立六自由度機(jī)械手臂D-H參數(shù)表,其變換規(guī)則如下:
(1)平移以世界坐標(biāo)系為參考取正方向;旋轉(zhuǎn)依據(jù)右手定則判斷正方向:大拇指指向旋轉(zhuǎn)軸正方向,四指旋轉(zhuǎn)方向?yàn)樾D(zhuǎn)的正方向。
(2)繞軸,旋轉(zhuǎn),使得與平行(方向一致)。
(3)沿著軸,平移,使得與共線。
(4)沿著軸,平移,使得與原點(diǎn)重合。
(5)繞軸,旋轉(zhuǎn),使得與共線。
根據(jù)上述變換,可得到機(jī)械手臂D-H表,如表2所示。
正解的求法是已知各關(guān)節(jié)的旋轉(zhuǎn)角度矩陣,即(1,2,3,4,5,6),求解末端位姿矩陣(X,Y,Z,A,B,C),通過各關(guān)節(jié)坐標(biāo)系矩陣變換可以很容易地得到結(jié)果。反向求解和正解正好相反,它是將正解的結(jié)果作為已知條件,將正解的條件作為未知數(shù)進(jìn)行計(jì)算求解。正解的解一定是唯一的,因?yàn)闄C(jī)械手臂的關(guān)節(jié)一旦都已知了,末端的姿態(tài)就固定不變了,但是逆解的計(jì)算就不一樣了,最終解的結(jié)果也不一定唯一,甚至出現(xiàn)多解的情況,一般情況下可以得到八組解[6]。
3.3? ?六自由度機(jī)械手臂運(yùn)動(dòng)控制
機(jī)械手臂姿態(tài)是由六個(gè)旋轉(zhuǎn)關(guān)節(jié)的角度所決定的,所以本質(zhì)上控制機(jī)械手臂的運(yùn)動(dòng)實(shí)際上就是實(shí)現(xiàn)六個(gè)關(guān)節(jié)旋轉(zhuǎn)角度的驅(qū)動(dòng)。在三維模型中通過建模,添加角度配合,已經(jīng)在模型中添加了六個(gè)角度的變量信息,如圖6所示,其角度尺寸對(duì)應(yīng)的參數(shù)如表3所示。
SolidWorks提供了角度變換的API,通過驅(qū)動(dòng)角度變換可實(shí)現(xiàn)對(duì)各關(guān)節(jié)旋轉(zhuǎn)角度的驅(qū)動(dòng)。其具體API函數(shù)為:
//swDis表示IDisplayDimension對(duì)象
swDis=(IDisplayDimension)swMate.DisplayDimension;
swDim=swDis.GetDimension();//swDim表示IDimension對(duì)象
swDim.SystemValue=ang*Math.PI/180;//ang表示要驅(qū)動(dòng)的角度值
swModel.ClearSelection2(true);
通過API驅(qū)動(dòng)再結(jié)合逆解角度的思想,就可以控制機(jī)械手臂的運(yùn)動(dòng)了。為了達(dá)到連續(xù)運(yùn)動(dòng)的目的,程序中需要用到多線程來同時(shí)計(jì)算和驅(qū)動(dòng)。
4? 零件運(yùn)動(dòng)控制算法的實(shí)現(xiàn)(Parts motion control algorithm implementation)
在SolidWorks三維軟件環(huán)境中,零件的位姿矩陣如公式(1)所示[7]。各項(xiàng)參數(shù)的大小決定了當(dāng)前零件的顯示狀態(tài)和位置。同時(shí),SolidWorks也給用戶提供了豐富的API接口,用戶可通過程序調(diào)用函數(shù)的方式修改位姿矩陣的各項(xiàng)參數(shù)來對(duì)零件進(jìn)行操作。
對(duì)于移動(dòng),只需要改變零件位姿矩陣中的j、k、l三個(gè)參數(shù),就可以實(shí)現(xiàn)沿著任意方向的移動(dòng)。對(duì)于旋轉(zhuǎn)操作則是更改a—i這前九個(gè)元素組成的3×3子矩陣。為了方便矩陣的計(jì)算,SolidWorks提供了詳細(xì)的矩陣計(jì)算的API。結(jié)合API函數(shù)對(duì)位姿矩陣的各項(xiàng)參數(shù)進(jìn)行賦值,就可以實(shí)現(xiàn)零件在裝配體世界坐標(biāo)下的移動(dòng)旋轉(zhuǎn)等操作。整體操作邏輯如圖7所示。
按照上述對(duì)零件位姿矩陣的操作可以實(shí)現(xiàn)零件的位姿狀態(tài)變換,但是無法看到實(shí)際用鼠標(biāo)拖曳的中間過程動(dòng)畫。為了實(shí)現(xiàn)動(dòng)畫效果,需要對(duì)整個(gè)矩陣運(yùn)算過程進(jìn)行若干等分,將參數(shù)運(yùn)算分成若干個(gè)步驟,每一步驟刷新一次顯示,就可以實(shí)現(xiàn)動(dòng)畫過程。如果是移動(dòng)變換,以每次移動(dòng)1 mm的間隔進(jìn)行移動(dòng),假設(shè)移動(dòng)方向,以毫米為單位進(jìn)行單位化,記長(zhǎng)度,則可得到單位毫米移動(dòng)矩陣,如公式(2)所示。
結(jié)合鼠標(biāo)的拖動(dòng)事件進(jìn)行循環(huán)拖動(dòng),每次拖動(dòng)后讓程序休眠一定的時(shí)間,如20 ms,這樣就可以看到整個(gè)變換過程是連續(xù)的。旋轉(zhuǎn)變換實(shí)現(xiàn)連續(xù)動(dòng)畫的方法和移動(dòng)變換的方法基本一致。
5? ?路徑規(guī)劃(Path planning)
5.1? ?碰撞干涉檢測(cè)算法
路徑規(guī)劃算法中的碰撞干涉檢測(cè)至關(guān)重要,它在一定程度上決定了整個(gè)路徑規(guī)劃的結(jié)果。
動(dòng)態(tài)路徑規(guī)劃的具體方法是在零件運(yùn)動(dòng)控制算法中加入靜態(tài)干涉算法,即零件在每個(gè)單位化的運(yùn)動(dòng)之后進(jìn)行靜態(tài)干涉檢測(cè),就可以實(shí)現(xiàn)動(dòng)態(tài)檢測(cè)。其動(dòng)態(tài)干涉檢測(cè)流程圖如圖8所示。
下面介紹靜態(tài)干涉檢測(cè)原理。目前,有很多學(xué)者在研究靜態(tài)干涉檢測(cè)方法,運(yùn)用比較廣泛的是空間包圍盒(BoxTree)的思想,但是針對(duì)幾何形狀復(fù)雜的零部件,如具有較多孔洞特征的零部件,普通的包圍盒方法會(huì)產(chǎn)生很大的誤差。對(duì)此本文提出了一種基于有限分割思想的方法,先將零件按照一定單位空間的正方體大小分割成許多單元,然后再按照包圍盒空間檢測(cè)的方法在零件之間進(jìn)行干涉檢測(cè)??臻g長(zhǎng)方體包圍盒存在干涉的條件是:兩個(gè)長(zhǎng)方體中心點(diǎn)之間的距離在X、Y、Z方向上的投影長(zhǎng)度小于X、Y、Z相應(yīng)方向上兩個(gè)長(zhǎng)方體對(duì)應(yīng)邊長(zhǎng)之和的一半,就表示存在干涉。
為了簡(jiǎn)化單元?jiǎng)澐?,在三維場(chǎng)景中利用AABB包圍盒的特點(diǎn)對(duì)幾何零件進(jìn)行三維單元?jiǎng)澐郑鐖D9所示為在SolidWorks中對(duì)零部件進(jìn)行劃分的結(jié)果。
其具體的劃分方法為:以整個(gè)零部件外包圍盒的三個(gè)表面(左、前、上)作為基準(zhǔn)分別建立X、Y、Z朝向的三個(gè)參考平面,參考平面選擇陣列屬性,沿著包圍盒方向陣列,設(shè)置切分單元大小,陣列只達(dá)到另一端為止。而后點(diǎn)擊“插入”,在特征選項(xiàng)中選擇切割特征,選擇切割平面進(jìn)行切割,當(dāng)沿著三個(gè)方向切割后形成如圖9所示的情況,整個(gè)零部件被切割成一個(gè)個(gè)較小的單元。在左側(cè)特征樹中可以看到“實(shí)體”這個(gè)文件夾,里面包含切割的實(shí)體,通過特征樹遍歷可以讀取每個(gè)分割后的實(shí)體包圍盒信息。至此可以完成對(duì)零部件有限分割后求取獨(dú)立的包圍盒信息,更加精確地反映零部件在空間的占用信息。實(shí)體切割流程圖如圖10所示。
在進(jìn)行干涉檢測(cè)前,先采用最大包圍盒空間AABB方法進(jìn)行檢測(cè)[8],排除大量不可能干涉的零部件之間的檢測(cè)。如果這一步檢測(cè)結(jié)果沒有發(fā)生干涉,那么就說明這兩個(gè)幾何體之間無干涉;如果第一步檢測(cè)結(jié)果發(fā)生干涉,則進(jìn)行有限分割的包圍盒按照同樣的方法進(jìn)行檢測(cè)。
5.2? ?路徑規(guī)劃算法
蟻群算法是仿生算法,由大自然的一些規(guī)律衍生而來。該算法是由意大利學(xué)者DORIGO等人在20 世紀(jì)90 年代初期通過模擬螞蟻尋找路徑的行為而提出的一種啟發(fā)式隨機(jī)搜索算法[9]。由于三維空間的復(fù)雜特性,常規(guī)的蟻群算法在三維路徑規(guī)劃中存在許多不合理的地方。本文提出了一種基于單個(gè)螞蟻加上貪心算法[10]的簡(jiǎn)化動(dòng)態(tài)蟻群算法來實(shí)現(xiàn)路徑規(guī)劃。為了更好地說明此算法,下面先定義一些關(guān)鍵變量,如表4所示。
具體步驟如下:
第一步:計(jì)算規(guī)劃空間,得到整個(gè)規(guī)劃空間的可行域的邊界范圍B。
第二步:由起點(diǎn)位姿矩陣s和終點(diǎn)位姿矩陣e計(jì)算移動(dòng)距離D。
判斷中的最大值,確定路徑劃分平面。如:j方向值最大,則采用平行于yoz平面的平面切分路徑。
第三步:按照step將起點(diǎn)到終點(diǎn)進(jìn)行直線位置劃分,劃分成step-1個(gè)點(diǎn),即劃分成step段。假設(shè)劃分的節(jié)點(diǎn)依次記為,按照在第一步中得出的劃分平面,以每個(gè)節(jié)點(diǎn)為中心點(diǎn),按照網(wǎng)格單元大小dis進(jìn)行網(wǎng)格劃分,得到一系列網(wǎng)格劃分節(jié)點(diǎn)。然后對(duì)這些網(wǎng)格點(diǎn)按照如下貪心算法的規(guī)則進(jìn)行排序處理:
(1)計(jì)算每個(gè)網(wǎng)格點(diǎn)到上一步規(guī)劃點(diǎn)的距離和到終點(diǎn)的距離,并求和;
(2)按照上述步驟中計(jì)算的距離進(jìn)行從小到大排序。
第四步:結(jié)合干涉碰撞檢測(cè)算法規(guī)劃路徑。
6? ?結(jié)果展示(Results presentation)
圖11為整個(gè)系統(tǒng)最終結(jié)果圖。圖中有兩個(gè)六自由度機(jī)械手臂、一塊長(zhǎng)方體放物臺(tái)、兩塊板狀零件和五顆螺釘。首先機(jī)械手臂分別將兩塊板狀零件放置在空間指定位置,然后再將螺釘分別放置在指定位置并生成螺釘?shù)倪\(yùn)動(dòng)路徑。右側(cè)為生成路徑的關(guān)鍵點(diǎn)坐標(biāo)結(jié)果。
7? 結(jié)論(Conclusion)
本文針對(duì)產(chǎn)品生產(chǎn)過程中的裝配環(huán)節(jié),結(jié)合SolidWorks三維軟件和二次開發(fā)技術(shù),通過程序?qū)崿F(xiàn)產(chǎn)品裝配環(huán)節(jié)的模擬和路徑尋優(yōu),提高了產(chǎn)品生產(chǎn)過程中裝配環(huán)節(jié)的效率。本文提出的有限分割的方法能夠有效地降低干涉檢測(cè)的錯(cuò)誤率,結(jié)合單個(gè)螞蟻動(dòng)態(tài)貪心算法,可規(guī)劃出較合理的裝配路徑,為實(shí)際裝配過程提供了很好的依據(jù)。
參考文獻(xiàn)(References)
[1] 唐殿容.機(jī)械裝配工藝的關(guān)鍵技術(shù)探究[J].科技創(chuàng)新與應(yīng)用,2020(20):91-92.
[2] 陳瑤瑤,劉永霞,符純明.虛擬裝配技術(shù)的發(fā)展現(xiàn)狀分析[J].機(jī)械工程與自動(dòng)化,2020(06):220-222.
[3] 鄒方.人機(jī)協(xié)作標(biāo)準(zhǔn)及應(yīng)用動(dòng)態(tài)研究[J].航空制造技術(shù),2016? ?(Z2):58-63,76.
[4] 王洪雨,胡溶溶,喻懋林.裝配仿真技術(shù)在衛(wèi)星裝配中的應(yīng)用[J].航空制造技術(shù),2015(21):56-58.
[5] 江洪,魏征,王濤威,等.SolidWorks二次開發(fā)實(shí)例解析[M].北京:機(jī)械工業(yè)出版社,2004:1-9.
[6] 肖振楠,申?duì)D,倪辰旖.六自由度機(jī)械手的運(yùn)動(dòng)軌跡規(guī)劃與仿真[J].機(jī)床與液壓,2018,46(15):58-63.
[7] 張澤南,仲梁維.基于SolidWorks的自動(dòng)焊縫標(biāo)注的二次開發(fā)[J].軟件工程,2020,23(05):17-20.
[8] 楊帆.基于B+樹存儲(chǔ)的AABB包圍盒碰撞檢測(cè)算法[J].計(jì)算機(jī)科學(xué),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] 曾妮,陳俊豪,傅清爽.基于貪心算法的動(dòng)態(tài)規(guī)劃策略[J].電腦知識(shí)與技術(shù),2021,17(20):141-143,152.
作者簡(jiǎn)介:
張? ?鵬(1996-),男,碩士生.研究領(lǐng)域:計(jì)算機(jī)輔助設(shè)計(jì)與智能制造.
仲梁維(1962-),男,碩士,教授.研究領(lǐng)域:計(jì)算機(jī)輔助設(shè)計(jì)與智能制造.
張澤南(1993-),男,碩士生.研究領(lǐng)域:計(jì)算機(jī)輔助設(shè)計(jì)與智能制造.