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

?

基于改進蝙蝠算法的機械臂時間最優(yōu)軌跡規(guī)劃

2022-04-22 09:51:38李帥帥王雙園張吳飛李嘉成
輕工機械 2022年2期
關鍵詞:蝙蝠獵物插值

李帥帥,王雙園,張吳飛,李嘉成

(上海理工大學 機械工程學院,上海 200093)

隨著工業(yè)機器人技術的快速發(fā)展以及自動化水平的大幅度提高,越來越多的機械臂被應用于不同的場景之中。而機器人的軌跡運動是主要的關注點之一。目前針對軌跡規(guī)劃主要從2個方面進行考慮:一是從時間方面進行優(yōu)化;二是從力矩方面優(yōu)化。課題組準備從時間方面對機械臂的軌跡進行優(yōu)化。時間最優(yōu)軌跡規(guī)劃不僅可以縮短機械臂按照預定路徑運動的時間,還可以大大提高機械臂的工作效率。目前關于時間最優(yōu)軌跡規(guī)劃的研究有很多。Papadopoulos等[1]利用多項式函數(shù)對關節(jié)的軌跡進行跟蹤,此方法可以讓機械臂的運動軌跡曲線相對平滑,但是效果不夠理想;Wei等[2]利用遺傳算法對機械臂的軌跡進行最優(yōu)化求解,但是該方法的迭代過程比較復雜,最優(yōu)解找到之后還需要對最優(yōu)解進行一系列的操作,比如編碼和解碼等;Chen等[3]利用一種新的算法即和聲搜索算法對機械臂時間求解最優(yōu)解,但是該算法在參數(shù)值以及聲記憶庫的取值方面和概率微調(diào)方面存在著一定的不足;Kim等[4]采用了一種標準化步長將粒子群進行初始化的方法,該算法雖然優(yōu)化效果相對較好,但是隨著迭代次數(shù)的增加,出現(xiàn)了局部收斂;南文虎等[5]把機械臂的最大速度曲線進行多重約束,然后利用修型/射靶算法對偏離實際的最大速度曲線進行矯正,從而得到時間最優(yōu)軌跡;蔡永超[6]采用膜計算-粒子群算法對機械臂的關節(jié)空間軌跡進行規(guī)劃求解。

在眾多軌跡規(guī)劃方法中,插值法因為其計算簡單,使用范圍最為廣泛。方健等[7]利用三次樣條插值法對機械臂的軌跡進行優(yōu)化求解;朱世強等[8]利用七次樣條曲線法對機械臂軌跡進行插值,該方法使得機械臂脈沖取得連續(xù)最優(yōu)。雖然高階多項式插值在機械臂的速度、加速度等方面取得比較好的效果,但是由于高階多項式計算相對復雜,同時對機械臂的硬件要求相對較高,實用性較低,所以有人提出用分段的方式對機械臂進行插值。李林升[9]采用5-5-7-5分段多項式對機械臂進行插值計算并利用懲罰函數(shù)取得最優(yōu)值;江鴻懷等[10]利用五次非均勻 樣條法對機械臂進行插值計算并結(jié)合粒子群算法求解最優(yōu)解。

以上算法大都存在局部或全局最優(yōu)解的問題,導致搜索能力難以平衡,穩(wěn)定性較差。故課題組采用改進的蝙蝠算法,把時間最短作為優(yōu)化的目標,然后約束機械臂的速度和加速度,采用3-5-5-3分段多項式對機械臂軌跡進行插值,該方法在全局以及局部的搜索平衡方面具有明顯的改善,而且該算法的參數(shù)較少,計算相對簡單,與傳統(tǒng)的蝙蝠算法相比收斂性更好,優(yōu)化效果明顯改善。

1 構(gòu)造分段多項式

在構(gòu)造函數(shù)的過程中若插值函數(shù)階數(shù)過高會導致凸包性較差,而且計算復雜[11-13];如果階數(shù)過低會導致速度和加速度曲線不平滑,產(chǎn)生突變,所以課題組采用3-5-5-3次多項式函數(shù)既可以解決凸包性差的問題也可以解決速度和加速度曲線變化不平滑的問題。

3-5-5-3分段多項式的通用公式為:

(1)

式中:θi1(t)為第i個關節(jié)第1段的三次多項式;θi2(t)為第i個關節(jié)第2段的五次多項式;θi3(t)為第i個關節(jié)第3段的五次多項式;θi4(t)為第i個關節(jié)第4段的三次多項式;ai1n,ai2n,ai3n和ai4n表示第i個軌跡的第1段、第2段、第3段和第4段多項式的第n個系數(shù),t為時間。

4段分別對應的時間段為t0~t1,t1~t2,t2~t3,t3~t4。

分段多項式中的三次多項式起點和終點軌跡函數(shù)方程為:

(2)

由式(2)和機械臂的速度、加速度為0的位置以及機械臂速度和加速度連續(xù)等約束條件,可以得出區(qū)間1和區(qū)間4在三次插值的軌跡函數(shù)方程的系數(shù)。同理,區(qū)間2和區(qū)間3中的軌跡函數(shù)的系數(shù)可由五次多項式函數(shù)方程解出,五次多項式的軌跡函數(shù)如式(3)所示。

(3)

2 蝙蝠算法及其改進

2.1 算法的基本原理

蝙蝠在尋找獵物時根據(jù)回聲定位來檢測獵物的存在。在尋找獵物時通常會以110 dB/s的聲強釋放大約10~20個超聲波脈沖,在狩獵時音強會保持最大值;一旦發(fā)現(xiàn)獵物,蝙蝠就會向獵物靠近,在靠近的過程中該脈沖就會隨之距離的靠近而減小,此時,脈沖的頻度就會增加,通常會達到200個/s。超聲波的傳輸與脈沖音強呈正相關,脈沖音強越大,傳播距離越遠,頻率就越高,從而提高蝙蝠捕食的效率。

在2010年Yang根據(jù)蝙蝠的回聲定位系統(tǒng)提出了一種仿生模擬蝙蝠獵食行為的群智能搜索算法,即蝙蝠算法[14]。蝙蝠算法把搜索空間中的各點當成是蝙蝠個體,把蝙蝠捕食時的搜索獵物和向獵物移動的過程當作搜索和優(yōu)化的過程,把蝙蝠所在的位置好壞當作是求解目標的適應度值。在該算法中,如果蝙蝠想要準確無誤地識別障礙物,并精準地捕捉獵物,就需要對蝙蝠算法做理想假設[15]:

1)蝙蝠捕食時利用回聲定位來感知獵物與自身之間的距離,并且在障礙物識別中有著自己的獨特方式。

2)蝙蝠在空間Xi中并以速度vi隨機飛行,同時在固定頻率fmin,可變波長λ以及音量A0下進行搜索獵物;蝙蝠會根據(jù)自身與獵物之間的距離來調(diào)整脈沖波長和頻率,以更好地識別和捕獲獵物,脈沖發(fā)射率γ是[0,1]之間的隨機數(shù)。

3)假設在蝙蝠算法中,音量從最大值A0變化到一個固定值Amin。

fi=fmin+(fmax-fmin)β;

(4)

(5)

(6)

式中:fi為第i只蝙蝠發(fā)出的聲波頻率;fmax為第i只蝙蝠發(fā)出的頻率最大值;fmin為第i只蝙蝠發(fā)出的頻率最小值,即固定頻率;x*為蝙蝠當前所處的最優(yōu)位置;β為[0,1]之間的隨機數(shù)。

在局部搜索中,如果一個蝙蝠選擇了一個最優(yōu)解,此時該蝙蝠將在此最優(yōu)解的附近產(chǎn)生一個新的解:

xnew=xold+εAt。

(7)

式中:xold為從當前最優(yōu)解中所選擇的一個最優(yōu)解;At為在t時刻所有蝙蝠響度的平均值;ε為[0,1]之間的隨機數(shù)。

蝙蝠在搜尋獵物時會依據(jù)自身與獵物之間的距離隨時調(diào)節(jié)超聲波的響度以及頻度,用來提高捕食的效率。蝙蝠的脈沖響度Ai和脈沖頻率ri公式為:

(8)

(9)

式中:α為蝙蝠聲波強度的衰減系數(shù),0<α<1;γ為蝙蝠脈沖頻度的增強系數(shù),γ>0。

2.2 算法的基本流程

蝙蝠算法的具體流程:

1)初始化參數(shù)——最大脈沖響度A0、最大脈沖速率r0,脈沖頻率范圍,聲波強度衰減系數(shù)α,脈沖頻度增強系數(shù)γ,最大迭代次數(shù)M以及目標函數(shù)f(x)。

2)隨機分布蝙蝠的位置Xi,計算當前位置的適應度值并進行比較,從而尋找最優(yōu)解X*。

3)根據(jù)式(4)~(6)更新并計算蝙蝠的脈沖頻率、位置和速度。

4)生成均勻分布的隨機數(shù)d1,如果d1>ri,則隨機擾動當前位置上的蝙蝠,讓其產(chǎn)生新解。

5)生成均勻分布的隨機數(shù)d2,若d2

6)對所有位置上蝙蝠的適應度值進行比較,找出最優(yōu)解和最優(yōu)值。

7)若在當前位置不是最優(yōu)解則重復步驟2)~5),直至找出最優(yōu)解。

蝙蝠算法的流程圖如圖1所示。

圖1 蝙蝠算法流程圖

2.3 蝙蝠算法的改進

蝙蝠算法雖然構(gòu)造模型比較簡單,參數(shù)設置較少,但是很容易在迭代后期進入局部最優(yōu)解,影響種群的多樣性。所以為了解決傳統(tǒng)蝙蝠算法的缺點,就需要對此算法進行改進。謝健等[16]提出了一種帶Lévy飛行特征的蝙蝠算法,在該算法中用式(10)來替換蝙蝠算法中的位置更新公式。

(10)

式中Levv(λ)為蝙蝠跳躍的步長。

但是步長的控制不易確定,如果步長太小則改進沒有意義,如果步長太大,則蝙蝠可能跳躍到很遠的位置,所以在此基礎之上對步長做出改進。在蝙蝠的步長中引入一個非線性因子η,該非線性因子可以擴大蝙蝠的搜索范圍,以此可以保證在迭代后期蝙蝠種群的多樣性。

(11)

η=xy-0.5x;

(12)

(13)

式中:y為[0,1]上的隨機數(shù),p為當前的迭代次數(shù),Tm為最大的迭代次數(shù),e為自然常數(shù),x為收斂因子。

從式(13)可以得出隨著迭代次數(shù)的增加,x呈非線性遞減。在迭代初期,x遞減速度較慢,蝙蝠可以以較大的步幅向獵物移動;在接近獵物時,收斂因子衰減速度增加,此時步幅減小,從而可以更加準確地捕捉獵物,尋找最優(yōu)解,可以有效地平衡全局與局部的搜索能力。

在求解機械臂時間最優(yōu)軌跡時,課題組采用的3-5-5-3分段多項式法的求解與插值時間間隔t1,t2,t3和t4有關。在滿足速度、加速度的前提下以時間最短為優(yōu)化目標,若要使機械臂的末端快速到達某一點,就需要所有關節(jié)同時運動并同時到達某一點。優(yōu)化每個關節(jié)時,應選擇每一段所花費的最大時間,這樣才可以保證每個關節(jié)同時到達所對應的角度。目標函數(shù)與約束條件為:

(14)

max {|Vi|}≤Vimax。

(15)

式中:Vi為第i個關節(jié)角速度的值,Vimax為第i個關節(jié)角速度所允許的最大值。

3 MATLAB仿真

課題組以6自由度SCARA機械臂為研究對象,設置蝙蝠的數(shù)量為30只,最大迭代次數(shù)設置為50,音量衰減系數(shù)α=0.8,速率增強系數(shù)γ=0.3,聲波響度A0=0.5,脈沖發(fā)射速率r0=0.25。選取5個路徑點作為插值點,然后通過運動學逆解,將5個插值點從笛卡爾空間變換到關節(jié)空間,如表1所示。

表1 機械臂關節(jié)空間插值點

根據(jù)蝙蝠算法的步驟,限制關節(jié)的最大運行速度為1.5 rad/s,把5個插值點帶入到改進的蝙蝠算法中可以得到機械臂6個關節(jié)的最優(yōu)時間,如表2所示。

表2 機械臂各關節(jié)的最優(yōu)時間

如果使得各關節(jié)同時到達某一點,則需要選取各關節(jié)每段插值中的最大值,所以ti1=0.354 6 s,ti2=0.427 6 s,ti3=0.526 8 s,ti4=0.570 9 s。經(jīng)過改進的蝙蝠算法對3-5-5-3多項式插值之后,可以得到各關節(jié)的適應度曲線以及位置進化曲線,從圖2中可以看出改進的蝙蝠算法在收斂性以及優(yōu)化效果都比傳統(tǒng)的蝙蝠算法效果要好。圖3~5表示的是機械臂前3個關節(jié)的位置進化曲線圖,關節(jié)1 的位置進化大概從第18次迭代開始收斂,關節(jié)2 的位置進化大概從第20次迭代開始收斂,關節(jié)3 的位置進化大概從第22次迭代開始收斂。

圖2 適應度值曲線圖

圖3 關節(jié)1位置進化曲線

圖4 關節(jié)2位置進化曲線

圖5 關節(jié)3位置進化曲線

機械臂的角度、角速度和角加速度的變化曲線如圖6~8所示。從圖中可以看出各曲線變化相對平滑,而且曲線連續(xù),沒有發(fā)生突變。從圖7可以看出機械臂的所有關節(jié)角速度均小于1.5 rad/s;圖8中的關節(jié)起始加速度和終止加速度均為0,符合約束條件。

圖6 角位移曲線

圖7 角速度曲線

圖8 角加速度曲線

4 結(jié)論

課題組以SCARA 6自由度機械臂為研究對象,在關節(jié)空間下采用3-5-5-3多項式插值方法,并采用改進的蝙蝠算法求解機械臂的時間最優(yōu)軌跡。利用MATLAB仿真模擬,從蝙蝠的位置進化曲線以及適應度值的對比可以看出,改進后的蝙蝠算法在收斂性以及優(yōu)化性方面均遠遠優(yōu)于傳統(tǒng)的蝙蝠算法;從機械臂的角位移、角速度和角加速度曲線可以看出,曲線變化平穩(wěn),無突變,進一步證實了該算法的可行性。

猜你喜歡
蝙蝠獵物插值
蟒蛇為什么不會被獵物噎死
可怕的殺手角鼻龍
基于Sinc插值與相關譜的縱橫波速度比掃描方法
霸王龍的第一只大型獵物
蝙蝠
你是創(chuàng)業(yè)圈的獵人還是獵物
一種改進FFT多譜線插值諧波分析方法
基于四項最低旁瓣Nuttall窗的插值FFT諧波分析
蝙蝠女
蝙蝠在黑暗處如何捕食
墨玉县| 江陵县| 乳山市| 辉县市| 左权县| 九龙坡区| 崇明县| 两当县| 万安县| 措美县| 青岛市| 龙里县| 安新县| 辽源市| 固镇县| 青州市| 彭泽县| 浦城县| 定南县| 广丰县| 朔州市| 陕西省| 华宁县| 荆门市| 呼伦贝尔市| 淮安市| 嘉黎县| 凤城市| 北海市| 昌吉市| 师宗县| 兴海县| 隆昌县| 清水河县| 成武县| 姚安县| 土默特左旗| 双峰县| 无棣县| 监利县| 宜宾县|