国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于改進蟻群算法的打磨機器人路徑規(guī)劃

2022-09-20 05:04蔡改貧陳永康周小云李宇達曾常熙
機床與液壓 2022年9期
關鍵詞:長度節(jié)點螞蟻

蔡改貧,陳永康,周小云,李宇達,曾常熙

(江西理工大學機電工程學院,江西贛州 341000)

0 前言

打磨機器人是從事打磨加工的工業(yè)機器人,在機器人的末端安裝抓取工具,進行運動控制,使抓取的工件可以到達并固定于刀具的特定位置,根據(jù)工件打磨形狀的需要,機器人抓取工件進行相應的軌跡運動,完成工件弧形曲面的加工。打磨機器人路徑規(guī)劃目的是在空間環(huán)境中按照一定的規(guī)則,規(guī)劃出由起點到終點用時最短或最光滑的路徑,有利于深入研究機器人應用領域。

自20世紀以來,路徑規(guī)劃技術的研究已經(jīng)取得了許多重要成果。許多二維路徑規(guī)劃建模方法沿用至今,如網(wǎng)格法、拓撲法、可見圖法等。隨著軌跡規(guī)劃領域不斷發(fā)展,出現(xiàn)了更多復雜的路徑規(guī)劃算法,如Dijkstra算法、Prim算法、模擬退火算法、蟻群算法、A算法、人工勢場法和模糊邏輯控制算法,它們在工程實踐中得到了廣泛應用。其中,蟻群算法是一種分布式智能仿生算法,主要模擬蟻群在尋找食物過程中協(xié)同合作搜尋最佳路徑的過程,搜尋過程具有正反饋性、并行性及較強的魯棒性等優(yōu)點。蟻群算法已廣泛應用于車間調(diào)度、旅行規(guī)劃、網(wǎng)絡路由、機器人路徑規(guī)劃、電力系統(tǒng)、聚類分析、數(shù)據(jù)挖掘和圖像處理等領域。在機器人路徑規(guī)劃領域,LEE等利用遺傳算法優(yōu)化蟻群算法參數(shù),實現(xiàn)動態(tài)路徑規(guī)劃。邱莉莉和鄭建立改進信息素初始化和狀態(tài)轉(zhuǎn)移概率,但該方法只能降低螞蟻陷入死鎖的可能性,不能完全避免死鎖的發(fā)生。趙華東等提出相應的死角表,當螞蟻陷入死鎖時,可以使用罰函數(shù)來更新軌跡。

基于以上分析,根據(jù)打磨機器人工作方法的有效性和實時性的要求,針對具體打磨機器人的構(gòu)型,對機器人進行D-H建模分析,再進行運動學分析與驗證。針對路徑規(guī)劃問題,通過改進蟻群算法的信息素更新方法,將新的自適應計算方法應用于狀態(tài)轉(zhuǎn)移規(guī)則中,并通過引入阻尼系數(shù)改進啟發(fā)式信息函數(shù),在MATLAB中進行模擬實驗,尋找到一條最優(yōu)路徑,驗證該方法的可行性。

1 打磨機器人運動學分析

1.1 正運動學模型分析

當需要確定機器人在空間中的位置關系時,可以在機械手的三維空間中固定一個坐標系,然后分析該坐標系的原點位置與、、軸的位置關系,即建立D-H坐標系,分析得出各個連桿D-H參數(shù);從第一個關節(jié)開始依次進行變換,直到最后一個關節(jié)被確定,這樣就確定了機械手的總變換矩陣。圖1所示為打磨機器人結(jié)構(gòu)簡圖,圖中右側(cè)為打磨刀具。

圖1 打磨機器人模型簡圖

各關節(jié)D-H參數(shù)如表1所示。

表1 各關節(jié)D-H參數(shù)

(=1,2,…,6)表示各個關節(jié)的D-H矩陣,則得出運動學方程如下:

(1)

其中:、、分別表示機械手末端坐標系的3個坐標軸上的單位向量投影到基座坐標系的方向余弦;表示末端坐標原點在基座坐標系的坐標值。

(2)

1.2 逆運動學分析

(3)

(4)

其中:

=sin=cos

=-[(+)-(-)]-

(-)

=[(+)-(-)]-

(-)

=-(+)-(-)

=-(+)-[(+)+

(-)]

=(+)-[(-)+

(+)]

=[(-)+(+)]+

(+)

=(+)-(-)

=--(-)-[(-)-

(+)]

令式(4)左右兩邊(2,3)和(2,4)元素對應相等,則有-=和-=。解該方程組得tan=(-)(-),得的表達式為

=arctan[(-)(-)]

(5)

(6)

=-=

(7)

(8)

(9)

(10)

其中:

=sin(+)=cos(+)

=++-+

=cos==sin=

驗證過程:設連桿參數(shù)=300 mm、=320 mm、=400 mm,并設6個關節(jié)角度均為30°,從而由運動方程求解得:

(11)

則可得、、、、、、、、,將各數(shù)據(jù)代入各關節(jié)角度表達式,使用MATLAB得計算結(jié)果:=30004 9°、=30010 3°、=20931 3°、=29999 8°、=30006 4°、=30006 6°。

2 改進蟻群算法的路徑規(guī)劃

2.1 三維環(huán)境建模

路徑規(guī)劃中傳統(tǒng)的環(huán)境建模方法包括可視圖法、單元樹法和二維柵格法,此類柵格法可推廣到三維空間中。本文作者采用山峰式環(huán)境模型模擬機器人工作環(huán)境,將真實的機器人三維環(huán)境用抽象的山峰圖形表示。為簡化蟻群算法路徑規(guī)劃,以機器人自身基坐標系為基礎,建立環(huán)境模型坐標系-。

實驗環(huán)境是Window 10系統(tǒng)、MATLAB 2016a、RobotStudio6.0、英特奔騰CPU 1.70 GHz,內(nèi)存12 GB,64位操作系統(tǒng)。圖2所示為機器人工作環(huán)境,將工作空間中的其他設備與障礙物以山峰代替。如圖3所示,在MATLAB 2016a中繪制立體抽象的山峰圖形模擬機器人的工作環(huán)境。(0~100 km)軸表示經(jīng)度方向距離,(0~100 km)軸表示緯度方向距離,(0~2 500 m)軸表示海拔高度。地形中的非平面部分可以理解為障礙物,凸起的曲面障礙物為斜坡,凹陷的曲面障礙物為溝渠。

圖2 機器人工作環(huán)境

圖3 三維環(huán)境模型

2.2 蟻群算法介紹

(12)

其中:是下一節(jié)點集合;()是路徑(,)的信息素值;是信息素激勵因子;是期望的啟發(fā)式因子。啟發(fā)式因子計算公式:

(13)

式中:為節(jié)點到目標節(jié)點的歐氏距離。

局部信息素會在螞蟻搜尋下一個節(jié)點時進行更新:

(+1)=(1-)()

(14)

式中:()表示信息素在離散點(,,)上的濃度值;表示更新的次數(shù);(0<<1)為全局信息素更新系數(shù)。

2.3 改進蟻群算法

利用蟻群算法進行路徑規(guī)劃時,要找到全局最優(yōu)路徑,搜索空間必須足夠大,而且該算法搜索機制具有較強的不確定性,特別是在初始階段,隨機搜索使得它不可避免地產(chǎn)生大量的局部交叉路徑、圓形路徑和鋸齒形路徑,得出的規(guī)劃曲線并不能達到預期的效果。對此,作出如下改進:

(1)改進信息素更新規(guī)則

當螞蟻利用公式(14)完成局部信息素更新后,加入全局信息素更新,在已完成搜索的路徑中,只更新最短路徑中節(jié)點的信息素,減少信息素更新時所需的時間,提高了搜索效率。全局信息素更新規(guī)則如下:

(+1)=(1-)()+Δ

(15)

(16)

式中:()表示三維環(huán)境中離散點的信息素濃度;{()}表示螞蟻(=1,2,…,)搜索的路徑長度集;為常數(shù)。

(2)改進狀態(tài)轉(zhuǎn)移規(guī)則

為提高搜索效率和算法質(zhì)量,采用偽隨機狀態(tài)轉(zhuǎn)移規(guī)則。設螞蟻在時位于節(jié)點,則在+1時的位置為

(17)

式中:為過渡比的基準速率,在(0,1)范圍內(nèi);為一個隨機數(shù)。

當<時,下一個節(jié)點直接由信息素濃度的最大值和啟發(fā)式信息的實現(xiàn)決定;然后,采用輪盤賭方式確定節(jié)點。具體實現(xiàn)過程:根據(jù)公式(17)計算出所有允許路徑的轉(zhuǎn)移概率,將轉(zhuǎn)移概率從大到小排序,用輪盤賭選擇方法確定下一個節(jié)點。

(3)改進啟發(fā)式信息函數(shù)

基本蟻群算法的啟發(fā)式信息值與下一個節(jié)點到目標點的距離呈反比,但是在不考慮當前節(jié)點和下一個節(jié)點位置的情況下,選擇的路徑不一定是最短的,在搜索后期,為加快收斂速度,應該弱化啟發(fā)式信息對路徑選擇的影響。為此,提出一種改進啟發(fā)式信息函數(shù)的方法,通過引入阻尼系數(shù),新的啟發(fā)式信息函數(shù)如式(18)所示:

(18)

(19)

其中:為當前節(jié)點與下一節(jié)點之間的歐氏距離;為最大迭代次數(shù);為當前迭代次數(shù)。

2.4 改進蟻群算法步驟

(1)參數(shù)初始化。初始化初始點位置、目標點位置、迭代次數(shù)、螞蟻數(shù)、信息素啟發(fā)式因子、期望啟發(fā)式因子、全局信息素更新系數(shù)和阻尼系數(shù)。

(2)開始迭代,進行路徑探索。發(fā)動螞蟻開始正向搜索,根據(jù)公式和輪盤賭法選擇下一個路徑點。

(3)局部信息素更新。當螞蟻搜尋到某一個點時,先進行局部的信息素更新,進而判斷當前螞蟻是否進入死鎖狀態(tài)。死鎖狀態(tài)時返回上一節(jié)點,更改下一節(jié)點位置;非死鎖時進入下一步驟。

(4)路徑搜索。根據(jù)偽隨機狀態(tài)轉(zhuǎn)移規(guī)則確定節(jié)點后,螞蟻持續(xù)進行搜索,最終判斷當前螞蟻是否完成路徑搜索,若當前螞蟻完成路徑搜索,則下一只螞蟻開始進行搜索。

(5)全局信息素更新。當所有螞蟻完成搜索后,需要找到該迭代過程中所有完整路徑中的最優(yōu)路徑和最差路徑,并根據(jù)公式加強最優(yōu)路徑上的信息素以及減弱最差路徑上的信息素。

(6)搜索結(jié)束。判斷是否滿足結(jié)束條件,如果滿足,則輸出最佳路徑;否則繼續(xù)循環(huán)執(zhí)行,直到滿足結(jié)束條件或達到最大迭代次數(shù)時終止。

圖4 改進算法流程

3 仿真結(jié)果與分析

3.1 算法參數(shù)的選擇與分析

蟻群算法中的參數(shù)選擇對路徑規(guī)劃的效果有很大影響。仿真中采用經(jīng)驗和實驗相結(jié)合的方法,通過設置不同的參數(shù)進行仿真實驗,并分析實驗結(jié)果的優(yōu)缺點,選擇最佳參數(shù)組合。當螞蟻數(shù)量過多時,會削弱信息素濃度的影響。而當算法收斂速度過快時,則將削弱算法對全局搜索能力的影響。因此,在仿真實驗中,在保持其他參數(shù)不變的情況下,不斷比較和分析不同螞蟻數(shù)量得出的仿真運算結(jié)果,最終設置螞蟻數(shù)=100。

、是算法的重要參數(shù),是信息素激勵因子,反映信息素濃度對路徑選擇的重要性,是期望的啟發(fā)式因子,反映啟發(fā)式信息對路徑的重要性。當大于時,經(jīng)驗因素占主導地位,螞蟻可能重復行走路徑,進而削減搜索的隨機性;當小于時,確定性因素占主導地位,螞蟻急于綜合選擇路徑成本最小的路徑,無法實現(xiàn)全局最優(yōu)。同樣,全局信息素更新系數(shù)和阻尼系數(shù)直接關系到全局搜索能力和算法收斂速度。在實際情況下,、、和不是獨立的,而是相互影響、綜合作用的。因此,通過嘗試各種組合模擬,并分析所得結(jié)果,最終設置參數(shù)為=1、=6、=05、=0.8。

3.2 基本蟻群算法與改進蟻群算法的比較仿真

打磨機器人通常運用于大型工件的打磨,并且在實時環(huán)境中隨時需要避開障礙物。因此,在抽象的山峰圖形中模擬機器人的環(huán)境進行仿真實驗時,采用2種蟻群算法對2組不同的初始點和目標點進行實驗,并分析仿真結(jié)果。在實驗1中設置初始點為(0 m,42 km,570 m),目標點為(100 km,39 km,600 m);在實驗2中設置起始點為(20 km,0 m,530 m),目標點為(33 km,100 km,730 m)。圖5—圖8所示為基本蟻群算法和改進蟻群算法的路徑規(guī)劃水平。

圖5 實驗1基本算法路徑

圖6 實驗1改進算法路徑

圖7 實驗2基本算法路徑

圖8 實驗2改進算法路徑

可以直觀地看到:改進的蟻群算法路徑更短,軌跡曲線更平滑。為對仿真結(jié)果作出更全面的分析,分析最佳路徑長度與迭代次數(shù)的關系,結(jié)果如圖9—圖12所示。

圖9 實驗1基本算法最短路徑長度變化曲線 圖10 實驗1改進算法最短路徑長度變化曲線

圖11 實驗2基本算法最短路徑長度變化曲線 圖12 實驗2改進算法最短路徑長度變化曲線

實驗1中,基本蟻群算法在迭代26次時得到最佳路徑長度145 km,改進蟻群算法在迭代10次時得到最佳路徑長度115 km,相比基本蟻群算法,改進蟻群算法迭代次數(shù)減少了61.5%,路徑長度減少20.7%。實驗2中,基本蟻群算法在迭代53次時得到最佳路徑長度128 km,改進蟻群算法在迭代27次時得到最佳路徑長度118 km,改進蟻群算法相比基本蟻群算法,迭代次數(shù)減少了49.1%,路徑長度減少7.8%。由上述數(shù)據(jù)可知,改進后蟻群算法的最短路徑長度平均減少了14.3%,迭代次數(shù)平均減少了55.3%。

由2組實驗結(jié)果可以看出,最佳路徑關系曲線迅速下降到某個最佳值后,迭代次數(shù)增加,最佳路徑長度不變,曲線呈水平趨勢。結(jié)果表明:改進后的蟻群算法能夠在有效避開障礙物的同時縮短迂回路徑;與此同時,搜索策略的改進有效提高了算法搜索能力。該方法可行、有效,具有重要的實際應用意義,可用于打磨機器人的路徑規(guī)劃。

4 結(jié)論

為解決打磨機器人在復雜環(huán)境下的路徑規(guī)劃存在收斂速度慢、準確性低等問題,運用改進蟻群算法進行路徑規(guī)劃。根據(jù)打磨機器人的實際結(jié)構(gòu)建立了其運動學連桿模型;對其進行正逆運動學分析并驗證,改進信息素更新規(guī)則,縮短信息素更新時間,從而有效提高效率;采用偽隨機狀態(tài)轉(zhuǎn)移規(guī)則,將輪盤賭方式確定節(jié)點作為新的自適應計算方法,加快收斂速度進而弱化啟發(fā)式信息對路徑選擇的影響;通過引入阻尼系數(shù)改進啟發(fā)式信息函數(shù)。在MATLAB中進行模擬實驗,得出最佳參數(shù)組合,利用基本和改進蟻群算法進行仿真實驗,得出不同運動路徑。結(jié)果表明:與基本蟻群算法相比,利用所提出的改進蟻群算法能夠得到更短更平滑的運動路徑,最短路徑長度平均減少了14.3%,迭代次數(shù)平均減少了55.3%;結(jié)合打磨機器人刀具位置等特點,可以獲得一條路徑最短且平滑的規(guī)劃曲線,滿足打磨機器人實際應用需求。

猜你喜歡
長度節(jié)點螞蟻
基于移動匯聚節(jié)點和分簇的改進節(jié)能路由算法
CAE軟件操作小百科(48)
基于點權(quán)的混合K-shell關鍵節(jié)點識別方法
愛的長度
我們會“隱身”讓螞蟻來保護自己
螞蟻
特殊長度的測量
長度單位
長度學校里的故事
螞蟻找吃的等
诸暨市| 耒阳市| 阳江市| 荃湾区| 呼图壁县| 漾濞| 泸溪县| 嫩江县| 昭通市| 嘉善县| 罗甸县| 裕民县| 乌拉特中旗| 峨边| 根河市| 阜阳市| 建阳市| 漳州市| 襄汾县| 通州区| 石河子市| 马公市| 塘沽区| 武山县| 临江市| 东乡族自治县| 九龙城区| 延津县| 龙胜| 汉川市| 绥滨县| 宁陵县| 丰原市| 青冈县| 安龙县| 唐海县| 双鸭山市| 万盛区| 和平区| 同心县| 新宾|